基于學習的目的,詳細講解關于 Cube 庫中的 DAC 的功能。本次介紹 DAC。
基于硬件平臺:STM32F10C-EVAL,MCU 的型號是 STM32F107VCT6。
軟件則是其 Cube 庫,路徑:
軟件配置,運行程序可以發現,系統時鐘設置為 72MHz,定時器使用到的是 TIM6;
根據時鐘樹的圖譜及其程序, 該示例選擇的是內部時鐘源作為定時器的時鐘源;TIM6 的時鐘源來自 APB1 的分頻。
AHB 時鐘 (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。
設置的是向上計數,周期是 0x7FF(2047),從 0 開始計數到 2047,所以該定時器的更新周期:(2047+1)/72 = 28us,
對于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、階梯波形
對于階梯波形比較簡單:
就是上述的 6 個數值每個 28us 觸發 DMA 傳輸一次到 DOR 的寄存器;
所以測得的實際波形(6 個梯階,電壓分別 0V; 0.66V; 1.32V; 1.98V; 2.64V; 3.3V; 周期 28*6 = 168us);
歡迎光臨 電子工程網 (http://m.qingdxww.cn/) | Powered by Discuz! X3.4 |