基于STM32開發簡易運動控制卡 開發者:JasonLin 日期:2014/8/2 STM32定時器功能介紹
定時器 | 計數分辨率 | 計數類型 | 預分頻系數 | DMA請求 | 捕獲/比較通道 | 編碼器 接口 | PWM 生成 | TIM1 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM8 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM2 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM3 | 16位 | up/down/ both | 1-65536 | yes | 4 | yes | yes | TIM4 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM5 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM6 | 16位 | up | 1-65536 | yes | 0 | no | no | TIM7 | 16位 | up | 1-65536 | yes | 0 | no | no | TIM1和TIM8為高級定時器
TIM6和TIM7為基本定時器
TIM2、TIM3、TIM4和TIM5為通用定時器
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
STM32定時器的通道/引腳分配
定時器 | TIM1 | TIM2 | TIM3 | TIM4 | TIM5 | TIM8 | CH1引腳 | PA8 | PA0 | PA6 | PB6 | PA0 | PC6 | CH2引腳 | PA9 | PA1 | PA7 | PB7 | PA1 | PC7 | CH3引腳 | PA10 | PA2 | PB0 | PB8 | PA2 | PC8 | CH4引腳 | PA11 | PA3 | PB1 | PB9 | PA3 | PC9 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
STM32定時器的通道/引腳重映射
file:///Z:\TEMP\msohtmlclip1\01\clip_image002.jpg
file:///Z:\TEMP\msohtmlclip1\01\clip_image004.jpg
file:///Z:\TEMP\msohtmlclip1\01\clip_image006.jpg
file:///Z:\TEMP\msohtmlclip1\01\clip_image008.jpg
file:///Z:\TEMP\msohtmlclip1\01\clip_image010.jpg
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TIM1和TIM8定時器的功能包括:
● 16位向上、向下、向上/下自動裝載計數器
● 16位可編程(可以實時修改)預分頻器,計數器時鐘頻率的分頻系數為1~65535之間的任意數值
● 4個獨立通道: ─輸入捕獲 ─ 輸出比較 ─ PWM生成(邊緣或中間對齊模式) ─ 單脈沖模式輸出
● 死區時間可編程的互補輸出
● 使用外部信號控制定時器和定時器互聯的同步電路
● 允許在指定數目的計數器周期之后更新定時器寄存器的重復計數器
● 剎車輸入信號可以將定時器輸出信號置于復位狀態或者一個已知狀態
● 如下事件發生時產生中斷/DMA: ─更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發) ─ 觸發事件(計數器啟動、停止、初始化或者由內部/外部觸發計數) ─ 輸入捕獲 ─ 輸出比較 ─ 剎車信號輸入
● 支持針對定位的增量(正交)編碼器和霍爾傳感器電路
● 觸發輸入作為外部時鐘或者按周期的電流管理
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TIM2、TIM3、TIM4和TIM5定時器功能包括:
● 16位向上、向下、向上/向下自動裝載計數器 ● 16位可編程(可以實時修改)預分頻器,計數器時鐘頻率的分頻系數為1~65536之間的任意數值 ● 4個獨立通道: ─ 輸入捕獲 ─ 輸出比較 ─ PWM生成(邊緣或中間對齊模式)─ 單脈沖模式輸出 ● 使用外部信號控制定時器和定時器互連的同步電路 ● 如下事件發生時產生中斷/DMA: ─ 更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發) ─ 觸發事件(計數器啟動、停止、初始化或者由內部/外部觸發計數) ─ 輸入捕獲 ─ 輸出比較 ● 支持針對定位的增量(正交)編碼器和霍爾傳感器電路 ● 觸發輸入作為外部時鐘或者按周期的電流管理 為1~65536之間的任意數值
● 使用外部信號控制定時器和定時器互連的同步電路
● 觸發輸入作為外部時鐘或者按周期的電流管理 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TIM6和TIM7定時器的主要功能包括:
● 16位自動重裝載累加計數器
● 16位可編程(可實時修改)預分頻器,用于對輸入的時鐘按系數為1~65536之間的任意數值分頻
● 觸發DAC的同步電路 注:此項是TIM6/7獨有功能
● 在更新事件(計數器溢出)時產生中斷/DMA請求 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發目標1:TIM1的4個通道生成PWM,CH1—PWM1 CH2—PWM2 CH3—PWM3 CH4—PWM4 TIM8的4個通道生成PWM,CH1—PWM5 CH2—PWM6 CH3—PWM7 CH4—PWM8 注:PWM1—PWM2 為一組,控制直流減速電機1 PWM3—PWM4 為一組,控制直流減速電機2 PWM5—PWM6 為一組,控制直流減速電機3 PWM7—PWM8 為一組,控制直流減速電機4 (PWM1、PWM3、PWM5、PWM7作為電機正向脈沖輸出,占空比為萬分比) (PWM2、PWM4、PWM6、PWM8作為電機反向脈沖輸出,占空比為萬分比) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發目標2:TIM7作為定時器中斷,產生固定的時間間隔,便于計算電機及落地碼盤的速度(單位時間間隔脈沖增量) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發目標3:TIM2、TIM3、TIM4、TIM5作為編碼器接口,讀取編碼器的旋轉產生的脈沖數 TIM2的CH1作為編碼器1的A相的輸入,CH2作為編碼器1的B相的輸入 TIM3的CH1作為編碼器2的A相的輸入,CH2作為編碼器2的B相的輸入 TIM4的CH1作為編碼器3的A相的輸入,CH2作為編碼器3的B相的輸入 TIM5的CH1作為編碼器4的A相的輸入,CH2作為編碼器4的B相的輸入 (由于TIM2和TIM5的CH1和CH2共用引腳PA0和PA1,所以需要把TIM2 的CH1和CH2重映射到引腳PA15和PB3) (PA15和PB3是JTAG接口中的兩只引腳 ,重映射前先把JTAG口關閉 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE)//關閉JTAG GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, DISABLE)//打開JTAG GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable ,ENABLE);//關閉JTAG 同時打開SWD) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發目標4:用2.3寸TFT液晶顯示屏顯示電機或碼盤的速度(單位時間間隔的脈沖增量)和碼盤脈沖總數 未完待續、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
|