2025.7.22 經(jīng)驗分享會
2025年7月22日下午,上海實邦電子科技有限公司開展了一次經(jīng)驗交流會,由劉工和陳工一起分享了他們在工作中積累的一些經(jīng)驗。
首先是劉工分享了----AT32圖形工具
STM32可使用圖形工具,通過鼠標點擊,配置相應的功能,減少重復工作,節(jié)約開發(fā)周期。一些項目,由于各種限制,在使用國產(chǎn)單片機時,就需要工程師自己從相應的例程,提取相應的驅(qū)動,放到自己的項目中。這個過程需要工程師眼明心細,一不小心,配置錯誤,還要回過頭來一點一點的找問題。
其實國產(chǎn)單片機也有自己的圖形工具,接下來,我向大家介紹一款國產(chǎn)圖形工具,基于AT32(雅特力半導體)。
AT32-work_bench(下載連接:https://www.arterytek.com/cn/product/AT32F403A.jsp#Resource)
這個流程是比較清晰的:選擇單片機型號-->新建(打開)
接下來就是配置相應的功能,和STM32圖形工具差不多,多了一個代碼預覽,配置完成后,可以先看看都生成了哪些文件,以及代碼內(nèi)容。
這個流程也是比較清晰的:配置時鐘-->配置下載口-->配置相應的功能-->生成相應的代碼
1、配置1ms定時器
2、配置收發(fā)雙向,波特率115200串口
3、配置SPI
4、配置ADC
5、配置DMA
注意:其他外設配置后可直接使用,DMA配置后程序要做相應的修改
陳工分享了-----影子寄存器
1. 基本概念
CCR 寄存器:用戶可直接訪問的寄存器,用于設置 PWM 的比較值(決定占空比)或捕獲觸發(fā)閾值。
影子寄存器:CCR 對應的硬件緩沖寄存器,不可直接訪問,用于暫存 CCR 的新值,并在特定時機同步到實際工作電路中。
簡單來說,影子寄存器相當于 CCR 的 "緩沖區(qū)",確保新的比較值不會立即生效,而是在當前 PWM 周期結(jié)束后才更新,避免波形畸變。
2. 工作機制
寫入階段:當用戶修改 CCR 的值時,數(shù)據(jù)首先存入 "預裝載寄存器"(即用戶可見的 CCR)。
同步階段:若影子寄存器功能開啟,預裝載寄存器的值會在定時器更新事件(如計數(shù)器溢出、特定觸發(fā)信號)時,被自動同步到影子寄存器。
生效階段:影子寄存器的值直接作用于 PWM 生成電路,決定下一個周期的波形參數(shù)(如占空比)。
這個過程保證了 PWM 波形的連續(xù)性 —— 當前周期仍按舊參數(shù)運行,下一個周期無縫切換到新參數(shù)。
3. 控制方式(關鍵寄存器位)
CCR 影子寄存器的開關由捕獲 / 比較模式寄存器(TIMx_CCMR1/2) 中的OCxPE位(Output Compare x Preload Enable)控制:
OCxPE=0:關閉影子寄存器(預裝載功能禁用)。此時寫入 CCR 的值會立即生效,可能導致當前周期波形被截斷或出現(xiàn)異常脈沖。
OCxPE=1:開啟影子寄存器(預裝載功能使能)。此時 CCR 的新值會暫存在預裝載寄存器,等待更新事件(如計數(shù)器溢出)時同步到影子寄存器,下一個周期生效。
注意:OCxPE位的默認值因 STM32 型號而異(多數(shù)型號默認 0,即關閉),實際開發(fā)中需顯式配置為 1 以啟用影子寄存器。
4. 與更新事件的關聯(lián)
影子寄存器的同步時機嚴格依賴定時器的更新事件(Update Event),該事件通常由以下情況觸發(fā):
計數(shù)器(CNT)從最大值溢出到 0(向上計數(shù)模式)。
計數(shù)器從 0 計數(shù)到最大值(向下計數(shù)模式)。
軟件強制觸發(fā)(通過TIMx_EGR寄存器的UG位)。
只有當更新事件發(fā)生時,預裝載寄存器(CCR)的值才會同步到影子寄存器,確保參數(shù)在周期邊界處更新。
5. 應用場景與注意事項
必須開啟的場景:
電機控制、電源管理等對 PWM 波形連續(xù)性要求高的場景,避免參數(shù)突變導致的電流 / 電壓波動。
多通道 PWM 同步(如三相電機驅(qū)動),確保各通道參數(shù)同時更新,維持相位關系。
可關閉的場景:
對實時性要求極高,允許波形短暫畸變的場景(如快速響應外部觸發(fā))。
注意事項:
若同時開啟 ARR(自動重裝載寄存器)和 CCR 的影子寄存器,兩者會在同一更新事件同步,保證周期和占空比參數(shù)協(xié)同更新。
關閉影子寄存器時,修改 CCR 可能導致單個周期內(nèi)出現(xiàn)兩個不同的占空比,引發(fā)波形毛刺。
總結(jié)
CCR 的影子寄存器是通過 "預裝載 - 同步" 機制實現(xiàn) PWM 參數(shù)平滑更新的核心,其開啟狀態(tài)由OCxPE位控制。在絕大多數(shù)需要穩(wěn)定波形的場景(如電機驅(qū)動、精密控制),建議顯式開啟該功能,確保參數(shù)在周期邊界處生效,避免異常波形。實際開發(fā)中需結(jié)合具體型號的數(shù)據(jù)手冊,確認OCxPE位的默認值并正確配置。

- 上一篇:三種方法教你玩轉(zhuǎn) Allegro到Sigrity 的文件格式 2025/8/12
- 下一篇:何時使用負載開關取代分立MOSFET 2025/7/16
