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