HK32F103x/C/D/E是深圳市航順芯片技術研發有限公司推出的中大容量的103系列芯片。作為32位MCU常用的外設TIM1是高級控制定時器(TIM1 和TIM8)由一個16 位的自動裝載計數器組成,它由一個可編程的預分頻器驅動。它適合多種用途,包含測量輸入信號的脈沖寬度(輸入捕獲),或者產生輸出波形(輸出比較、PWM、嵌入死區時間的互補PWM 等)。使用定時器預分頻器和RCC 時鐘控制預分頻器,可以實現脈沖寬度和波形周期從幾個微秒到幾個毫秒的調節。高級控制定時器(TIM1 和TIM8)和通用定時器(TIMx)是完全獨立的,它們不共享任何資源。它們可以同步操作每個定時器都是完全獨立的,沒有互相共享任何資源。
01、TIM1主要功能
TIM1 和TIM8 定時器的功能包括:
1)、DAC 觸發功能
2)、四路輸入通道都新增下降沿觸發,和雙沿觸發功能
3)、16 位向上、向下、向上/下自動裝載計數器
4)、16 位可編程(可以實時修改)預分頻器,計數器時鐘頻率的分頻系數為1~65535 之間的任意數值
5)、多達4 個獨立通道:
─ 輸入捕獲
─ 輸出比較
─ PWM 生成(邊緣或中間對齊模式)
─ 單脈沖模式輸出
6)、死區時間可編程的互補輸出
7)、使用外部信號控制定時器和定時器互聯的同步電路
8)、允許在指定數目的計數器周期之后更新定時器寄存器的重復計數器
9)、剎車輸入信號可以將定時器輸出信號置于復位狀態或者一個已知狀態
10)、如下事件發生時產生中斷/DMA:
─ 更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發)
─ 觸發事件(計數器啟動、停止、初始化或者由內部/外部觸發計數)
─ 輸入捕獲
─ 輸出比較
─ 剎車信號輸入
12)、觸發輸入作為外部時鐘或者按周期的電流管理
02、TIM1 trigger 觸發ADC轉換
轉換可以由外部事件觸發(例如定時器捕獲,EXTI 線)。如果設置了EXTTRIG 控制位,則外部事件就能夠觸發轉換。EXTSEL[2:0]和JEXTSEL2:0]控制位允許應用程序選擇8 個可能的事件中的某一個,可以觸發規則和注入組的采樣。
注意:當外部觸發信號被選為ADC 規則或注入轉換時,只有它的上升沿可以啟動轉換。
軟件觸發事件可以通過對寄存器ADC_CR2 的SWSTART 或JSWSTART 位置’1’產生。規則組的轉換可以被注入觸發打斷。
03、操作TIM1 trigger觸發ADC轉換需要注意
用戶在使用HK32F103xC/D/E的ADC注入通道配置為外部事件觸發轉換方式,當選擇定時器觸發時(比如TIM1的CC4事件觸發),只要TIM1的Counter Enable,CC4E不置1,MOE也不置1,我們的芯片就能觸發ADC轉換了,而S**T芯片必須是CC4E置1,MOE也置1才能觸發ADC轉換,這說明我們芯片TIMER的trigger信號只要TIM1的Counter enable就輸出了,而S**T芯片要CC4E置1,MOE也置1才輸出trigger信號。
如果ADC的轉換數據一直在有效使用的情況下,(比如說一直用 DMA把數據搬運到有效參與系統運行的場合)如果這樣配置我們芯片會在被認為是TIMER不觸發轉換的時候(CC4E置0,MOE也置0)產生很多無效的數據 影響系統正常運行。
如果遇到上面的問題時,在不使用ADC轉換數據時要將TIMER的 Counter Disable。要正常使用時再Enable TIMER Counter。
以上有關寄存器的介紹可以參考我們HK的HK32F103xC/D/E的應用手冊。
來源: 航順芯片(作者:yongfeng)
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17312瀏覽量
352208 -
寄存器
+關注
關注
31文章
5363瀏覽量
120926 -
航順芯片
+關注
關注
1文章
109瀏覽量
22839
發布評論請先 登錄
相關推薦
評論