航順芯片HK32F103x/C/D/E-TIM1的應用及注意事項
HK32F103x/C/D/E是航順推出的中大容量的103系列芯片。作為32位MCU常用的外設TIM1是高級控制定時器(TIM1 和TIM8)由一個16 位的自動裝載計數(shù)器組成,它由一個可編程的預分頻器驅(qū)動。它適合多種用途,包含測量輸入信號的脈沖寬度(輸入捕獲),或者產(chǎn)生輸出波形(輸出比較、PWM、嵌入死區(qū)時間的互補PWM 等)。使用定時器預分頻器和RCC 時鐘控制預分頻器,可以實現(xiàn)脈沖寬度和波形周期從幾個微秒到幾個毫秒的調(diào)節(jié)。高級控制定時器(TIM1 和TIM8)和通用定時器(TIMx)是完全獨立的,它們不共享任何資源。它們可以同步操作每個定時器都是完全獨立的,沒有互相共享任何資源。
TIM1主要功能
TIM1 和TIM8 定時器的功能包括:1)、DAC 觸發(fā)功能
2)、四路輸入通道都新增下降沿觸發(fā),和雙沿觸發(fā)功能3)、16 位向上、向下、向上/下自動裝載計數(shù)器
4)、16 位可編程(可以實時修改)預分頻器,計數(shù)器時鐘頻率的分頻系數(shù)為1~65535 之間的任意數(shù)值
5)、多達4 個獨立通道:─ 輸入捕獲
─ 輸出比較
─ PWM 生成(邊緣或中間對齊模式)
─ 單脈沖模式輸出
6)、死區(qū)時間可編程的互補輸出
7)、使用外部信號控制定時器和定時器互聯(lián)的同步電路
8)、允許在指定數(shù)目的計數(shù)器周期之后更新定時器寄存器的重復計數(shù)器
9)、剎車輸入信號可以將定時器輸出信號置于復位狀態(tài)或者一個已知狀態(tài)
10)、如下事件發(fā)生時產(chǎn)生中斷/DMA:
─ 更新:計數(shù)器向上溢出/向下溢出,計數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā))
─ 觸發(fā)事件(計數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計數(shù))
─ 輸入捕獲
─ 輸出比較
─ 剎車信號輸入
11)、支持針對定位的增量(正交)編碼器和霍爾傳感器電路
12)、觸發(fā)輸入作為外部時鐘或者按周期的電流管理
TIM1 trigger 觸發(fā)ADC轉(zhuǎn)換
轉(zhuǎn)換可以由外部事件觸發(fā)(例如定時器捕獲,EXTI 線)。如果設置了EXTTRIG 控制位,則外部事件就能夠觸發(fā)轉(zhuǎn)換。EXTSEL[2:0]和JEXTSEL2:0]控制位允許應用程序選擇8 個可能的事件中的某一個,可以觸發(fā)規(guī)則和注入組的采樣。
注意:當外部觸發(fā)信號被選為ADC 規(guī)則或注入轉(zhuǎn)換時,只有它的上升沿可以啟動轉(zhuǎn)換。
操作TIM1 trigger觸發(fā)ADC轉(zhuǎn)換需要注意
用戶在使用HK32F103xC/D/E的ADC注入通道配置為外部事件觸發(fā)轉(zhuǎn)換方式,當選擇定時器觸發(fā)時(比如TIM1的CC4事件觸發(fā)),只要TIM1的Counter Enable,CC4E不置1,MOE也不置1,我們的芯片就能觸發(fā)ADC轉(zhuǎn)換了,而S**T芯片必須是CC4E置1,MOE也置1才能觸發(fā)ADC轉(zhuǎn)換,這說明我們芯片TIMER的trigger信號只要TIM1的Counter enable就輸出了,而S**T芯片要CC4E置1,MOE也置1才輸出trigger信號。
如果ADC的轉(zhuǎn)換數(shù)據(jù)一直在有效使用的情況下,(比如說一直用 DMA把數(shù)據(jù)搬運到有效參與系統(tǒng)運行的場合)如果這樣配置我們芯片會在被認為是TIMER不觸發(fā)轉(zhuǎn)換的時候(CC4E置0,MOE也置0)產(chǎn)生很多無效的數(shù)據(jù) 影響系統(tǒng)正常運行。
如果遇到上面的問題時,在不使用ADC轉(zhuǎn)換數(shù)據(jù)時要將TIMER的 Counter Disable。要正常使用時再Enable TIMER Counter。
以上有關寄存器的介紹可以參考我們HK的HK32F103xC/D/E的應用手冊。
如需要了解更多航順MCU產(chǎn)品,請聯(lián)系航順核心代理商,穎特新科技,或者掃碼聯(lián)系我們!
在之前的介紹中,我們也為大家介紹了《航順芯片HK32F103系列的flash讀保護應用及注意事項》,也是目前我們主推的非常成熟的解決方案!
編輯:zzy 最后修改時間:2022-05-30