前言 基于學(xué)習的目的,詳細講解關(guān)于 Cube 庫中的 DAC 的功能。本次介紹 DAC。
一、示例詳解 基于硬件平臺:STM32F10C-EVAL,MCU 的型號是 STM32F107VCT6。 軟件則是其 Cube 庫,路徑: STM32Cube\Repository\STM32Cube_FW_F1_V1.3.0\Projects\STM3210C_EVAL\Examples\DAC\DAC_SignalsGeneration 。 1、主程序 軟件配置,運行程序可以發(fā)現,系統時(shí)鐘設置為 72MHz,定時(shí)器使用到的是 TIM6;
根據時(shí)鐘樹(shù)的圖譜及其程序, 該示例選擇的是內部時(shí)鐘源作為定時(shí)器的時(shí)鐘源;TIM6 的時(shí)鐘源來(lái)自 APB1 的分頻。
AHB 時(shí)鐘 (HCLK)在 RCC_CFGR 寄存器中的分頻系數 HPRE 的值為 0,即 SYSCLK not divided,即/1,所以 HCLK 就是72MHz; APB1 的 prescaler 的系數是 PPRE1:0x4,HCLK divided 2,即/2,APB1CLK 為 36MHz;由于 APB1 的 prescaler 系數部 分頻,即/4,所以倍頻器起作用,即為上圖中的 TIMxCLK = 72Mhz。 2、 定時(shí)器 Tim6
設置的是向上計數,周期是 0x7FF(2047),從 0 開(kāi)始計數到 2047,所以該定時(shí)器的更新周期:(2047+1)/72 = 28us,
所以傳輸的 6 個(gè)數值:
對于8位的DAC,程序中設定的是右對齊, 所以,對應的DOR分別為
0x000(0), 0x330(816), 0x660(1632), 0x990(2448), 0xCC0(3264), 0xFF0(4080) ;
而 Vref = 3.3V, 所以:
Vdac 分別等于:也是約在 0V; 0.66V; 1.32V; 1.98V; 2.64V; 3.3V 之間;
3、階梯波形
對于階梯波形比較簡(jiǎn)單: 就是上述的 6 個(gè)數值每個(gè) 28us 觸發(fā) DMA 傳輸一次到 DOR 的寄存器;
所以測得的實(shí)際波形(6 個(gè)梯階,電壓分別 0V; 0.66V; 1.32V; 1.98V; 2.64V; 3.3V; 周期 28*6 = 168us);
重要通知 - 請仔細閱讀 意法半導體公司及其子公司(“ST”)保留隨時(shí)對ST 產(chǎn)品和/ 或本文檔進(jìn)行變更、更正、增強、修改和改進(jìn)的權利,恕不另行通知。買(mǎi)方訂貨之前應獲取關(guān)于ST 產(chǎn)品的最新信息。ST 產(chǎn)品的銷(xiāo)售依照訂單確認時(shí)的相關(guān)ST 銷(xiāo)售條款。 買(mǎi)方自行負責對ST 產(chǎn)品的選擇和使用, ST 概不承擔與應用協(xié)助或買(mǎi)方產(chǎn)品設計相關(guān)的任何責任。 ST 不對任何知識產(chǎn)權進(jìn)行任何明示或默示的授權或許可。 轉售的ST 產(chǎn)品如有不同于此處提供的信息的規定,將導致ST 針對該產(chǎn)品授予的任何保證失效。 ST 和ST 徽標是ST 的商標。所有其他產(chǎn)品或服務(wù)名稱(chēng)均為其各自所有者的財產(chǎn)。 本文檔中的信息取代本文檔所有早期版本中提供的信息。
|