国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的可編程函數(shù)信號(hào)發(fā)生器設(shè)計(jì)

2014-04-29 07:39石孟楠蔡坤陳鳴鳩李光智
電子世界 2014年17期

石孟楠 蔡坤 陳鳴鳩 李光智

【摘要】該文設(shè)計(jì)了一種基于STM32和DAC8871的可編程函數(shù)信號(hào)發(fā)生器。該裝置由STM32子系統(tǒng)、DA轉(zhuǎn)換電路、電壓基準(zhǔn)電路、Flash存儲(chǔ)電路、波形選擇電路及顯示電路六大部分組成。該裝置采用SPI通信方式,可同時(shí)產(chǎn)生六種幅值可調(diào)(可達(dá)±15V)、頻率可變的不規(guī)則波形信號(hào)。

【關(guān)鍵詞】STM32;DA轉(zhuǎn)換;不規(guī)則波形;函數(shù)信號(hào)發(fā)生器

引言

函數(shù)信號(hào)發(fā)生器是電子測(cè)量、電子設(shè)備開(kāi)發(fā)及電子工程相關(guān)課程實(shí)驗(yàn)必備的儀器設(shè)備之一,除供通信,儀表和信號(hào)采集處理,自動(dòng)控制系統(tǒng)測(cè)試用外,還廣泛用于其他非電測(cè)量領(lǐng)域。不過(guò),現(xiàn)今多數(shù)函數(shù)信號(hào)發(fā)生器僅能產(chǎn)生固定的常規(guī)波形信號(hào),如:三角波、階梯波、方波及正弦波等。為此,筆者提出一種基于STM32的可編程函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)方法。該方法以STM32單片機(jī)為核心,從Flash芯片讀取波形信息,通過(guò)DAC8871進(jìn)行DA轉(zhuǎn)換,得到各種非常規(guī)波形,并可通過(guò)外部中斷口實(shí)現(xiàn)不同波形的選擇,而且可通過(guò)電壓基準(zhǔn)電路調(diào)節(jié)和末端運(yùn)放調(diào)節(jié)輸出信號(hào)的增益來(lái)實(shí)現(xiàn)波形幅度的調(diào)節(jié),能滿(mǎn)足產(chǎn)生任意波形的需求。

1.系統(tǒng)總體結(jié)構(gòu)

本裝置的總體結(jié)構(gòu)圖如圖1所示。本系統(tǒng)主要分為STM32子系統(tǒng)、DA轉(zhuǎn)換電路、電壓基準(zhǔn)電路、Flash存儲(chǔ)電路、波形選擇電路以及顯示電路六大部分。首先,系統(tǒng)從Flash芯片中讀取不規(guī)則波形數(shù)組信息,通過(guò)SPI2口傳送入STM32,由外部中斷口檢測(cè)波形的選擇,再通過(guò)SPI1口將波形數(shù)字信號(hào)傳送到DAC8871進(jìn)行DA轉(zhuǎn)換,經(jīng)過(guò)電壓基準(zhǔn)電路以及運(yùn)放電路對(duì)其幅度的調(diào)節(jié)后,最終輸出不規(guī)則的模擬信號(hào)波形。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

2.硬件設(shè)計(jì)

2.1 STM32子系統(tǒng)及Flash存儲(chǔ)電路

STM32子系統(tǒng)及Flash存儲(chǔ)電路圖如圖2所示。STM32子系統(tǒng)以意法半導(dǎo)體(ST)公司生產(chǎn)的32位中容量ARM芯片STM32F103RBT6[1]為核心,結(jié)合復(fù)位電路、晶振電路、PL2303接口轉(zhuǎn)換電路及電源電路構(gòu)成。Flash存儲(chǔ)電路主要由一款8MB存儲(chǔ)容量的Flash芯片W25Q64BVSIG[2]組成,采用SPI串行通信模式。如圖2所示,STM32子系統(tǒng)與Flash存儲(chǔ)電路將通過(guò)SPI2口進(jìn)行通信。圖2中key1—key6分別為波形選擇按鍵,該裝置采用外部中斷觸發(fā)方式進(jìn)行輸出波形的選擇切換。該裝置顯示器采用LCD1602,如圖1中RB[0..7]為數(shù)據(jù)端,RS、RW、E分別為顯示器讀寫(xiě)控制端和使能端。

圖2 STM32子系統(tǒng)及Flash存儲(chǔ)電路

2.2 DA轉(zhuǎn)換電路

DA轉(zhuǎn)換電路可分為DAC8871[3]轉(zhuǎn)換電路部分和運(yùn)算放大器電路部分,如圖3所示。DAC8871是一款由TI公司生產(chǎn)的16位單通道高精度數(shù)模轉(zhuǎn)換芯片,采用SPI串行通信方式。/RST為復(fù)位控制端,低電平有效。RSTSEL為上電復(fù)位選擇控制端,決定芯片在上電復(fù)位后輸出Vout的大小。/CS為片選端,低電平有效,SCLK為DAC8871數(shù)據(jù)端口時(shí)鐘,SDI為串行數(shù)據(jù)通信口,以幀為單位,16位數(shù)據(jù)為一幀。/LDAC是很重要的控制引腳,它決定了DAC8871的工作模式,當(dāng)其為低電平時(shí),DAC8871將處于實(shí)時(shí)更新數(shù)據(jù)的狀態(tài);當(dāng)其為高電平時(shí),必須在/CS置高的前提下,將/LDAC拉低至少30ns才能更新DAC8871寄存器里的數(shù)據(jù)。Vcc和Vss為DA芯片工作提供±15V的雙電源,Vrefh_F、Vrefh_S、Vrefl_F、Vrefl_S引腳分別接由電壓基準(zhǔn)電路輸出的精密正負(fù)電壓源,為DAC8871提供數(shù)模轉(zhuǎn)換所需參考電壓。DAC8871為電壓輸出型,輸出阻抗為6.2k?,輸出無(wú)緩沖,因此,該DA輸出需要外接外部緩沖放大器。該裝置中,選擇了OPA2604作為DA輸出的外接運(yùn)放,該運(yùn)放具有大于1MHz的3dB帶寬,從而增加了輸出的穩(wěn)定時(shí)間。其中,R30為反饋電阻,也為匹配電阻,起到匹配DA芯片輸出阻抗作用。

圖3 DA轉(zhuǎn)換電路

2.3 電壓基準(zhǔn)電路

本方案電壓基準(zhǔn)電路是基于L7805數(shù)據(jù)手冊(cè)[4]中一種方案的創(chuàng)新應(yīng)用,用一款可控精密穩(wěn)壓源TL431[5]代替其中的L78XX系列芯片,原理圖如圖4所示。三極管Q3、Q4起到開(kāi)關(guān)和電流放大作用,U13為10K電阻器,通過(guò)其調(diào)節(jié)輸出電壓大小。R27、R28為匹配電阻,將決定基準(zhǔn)電壓輸出的精密性,因此均需采用大小為4.7k?的色環(huán)電阻。末端采用T型LC低通濾波電路,濾除高頻分量。V+、V-分別為正負(fù)基準(zhǔn)電壓源輸出端,作為DAC8871參考電壓。

圖4 電壓基準(zhǔn)電路

3.軟件設(shè)計(jì)

本方案中,STM32子系統(tǒng)與DA轉(zhuǎn)換電路及Flash存儲(chǔ)電路分別通過(guò)SPI1和SPI2口進(jìn)行SPI串行通信。時(shí)鐘頻率設(shè)置為10MHz,SPI1設(shè)置為單線(xiàn)單向只發(fā)送的主模式,SPI2設(shè)置為雙線(xiàn)全雙工模式。非常規(guī)波形數(shù)據(jù)將通過(guò)SPI2存入Flash中,進(jìn)而再通過(guò)SPI2調(diào)用波形數(shù)據(jù),最后通過(guò)SPI1傳輸?shù)紻AC8871進(jìn)行數(shù)模轉(zhuǎn)換,輸出信號(hào)。

3.1 數(shù)據(jù)計(jì)算

波形數(shù)據(jù)將以十六進(jìn)制數(shù)組的形式存入Flash芯片中,下述公式可將由MATLAB生成的十進(jìn)制波形數(shù)據(jù)轉(zhuǎn)換成實(shí)際DA芯片所能識(shí)別讀取的十六進(jìn)制數(shù)據(jù):

[3]

3.2 程序流程圖

圖5 系統(tǒng)程序流程圖

4.實(shí)驗(yàn)結(jié)果

如圖6.1和圖6.2所示,分別為信號(hào)源產(chǎn)生的兩種非常規(guī)波形,由數(shù)字示波器測(cè)量可得到波形詳細(xì)的參數(shù)。以圖6.1波形為例,其峰峰值、周期、頻率、占空比分別為:15.8V、1.760ms、568.2Hz、67.4%。信號(hào)穩(wěn)定不失真,且幅度可進(jìn)行實(shí)時(shí)調(diào)節(jié),最大正電壓值可達(dá)+15V。

圖6.1 信號(hào)源波形Ⅰ

圖6.2 信號(hào)源波形Ⅱ

5.結(jié)語(yǔ)

本文以不規(guī)則波形信號(hào)發(fā)生器為研究對(duì)象,基于STM32完成了一種操作簡(jiǎn)單的可編程函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)。所設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器可產(chǎn)生各種常規(guī)及非常規(guī)波形信號(hào),每周期512個(gè)采樣點(diǎn),信號(hào)幅度可調(diào)節(jié),在-15V~+15V之間,頻率可調(diào)節(jié)。是一款實(shí)用性強(qiáng)、可調(diào)節(jié)范圍大、精度高、信號(hào)穩(wěn)定、可編程的函數(shù)信號(hào)發(fā)生器,可用于多種需要信號(hào)源的場(chǎng)合。

參考文獻(xiàn)

[1]STMicroelectronics.STM32RB datasheet [EB/OL].http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf

[2] Winbond.W25Q64BV datasheet [EB/OL].http://www.winbond.com/NR/rdonlyres/591A37FF-007C-4E99-956C-F7EE4A6D9A8F/0/W25Q64BV.pdf

[3]Texas Instruments.DAC8871 datasheet [EB/OL].http://www.ti.com/lit/ds/symlink/dac8871.pdf

[4]STMicroelectronics.L7805 datasheet [EB/OL].http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00000444.pdf

[5]Texas Instruments.TL431 datasheet [EB/OL].http://www.ti.com/lit/ds/symlink/tl431.pdf

作者簡(jiǎn)介:石孟楠(1992—),廣東汕頭人,大學(xué)本科,現(xiàn)就讀于華南農(nóng)業(yè)大學(xué)。