基于CPLD的電動自行車充電系統(tǒng)的研究設(shè)計
2.2 語音播放程序設(shè)計
SPCE061A的D/A轉(zhuǎn)換通道的硬件實現(xiàn)大致有兩種方式,一種是直接采用數(shù)/模轉(zhuǎn)換器DAC方式,另一種是采用脈寬調(diào)制PWM驅(qū)動方式。SPCE061A音頻輸出的結(jié)構(gòu)就是由兩個DAC通道或一個PWM驅(qū)動通道構(gòu)成。這兩種實現(xiàn)方式實質(zhì)都為數(shù)/模轉(zhuǎn)換,都是將數(shù)字信號轉(zhuǎn)換為電流模擬信號輸出。SPCE061A的音頻輸出采用雙通道模/數(shù)轉(zhuǎn)換方式,即數(shù)字信號通過10位DAC轉(zhuǎn)換成3mA驅(qū)動的電流模擬信號輸出。語音提示輸出直接采用DAC通道,經(jīng)信號放大后,由揚(yáng)聲器輸出。語音播放流程圖如圖4所示。
2.3 CPLD程序設(shè)計
VerilogHDL語言是硬件描述語言,是描述硬件電路的功能、信號連接關(guān)系及定時關(guān)系的語言,通過語言編程來表示邏輯器件及系統(tǒng)的功能和行為。其具有設(shè)計技術(shù)齊全、方法靈活、支持廣泛、硬件描述能力強(qiáng)、與器件工藝無關(guān)、易于共享和復(fù)用等優(yōu)點(diǎn)。與VHDL相比,VerilogHDL是一種非常容易掌握的硬件描述語言,而掌握VHDL設(shè)計技術(shù)就比較困難。故采用VerilogHDL語言來設(shè)計接口電路,能充分利用VerilogHDL語言在系統(tǒng)級硬件描述上的優(yōu)點(diǎn)。
CPLD實現(xiàn)兩個多路選擇器和一個鍵盤掃描電路功能。程序各端口功能如表1所示。datain1由datain1[0]......datain1[17] 18位輸入端口組成,分為6組,每組3個端口。rs由rs[0]、rs[1]、rs[2]3位端口組成,最多可以表示8個2進(jìn)制數(shù)(本設(shè)計用到其中的6個)來表示端口選擇位。dataout1由 dataout1[0]、dataout1[1]、dataout1[2]3位組成,表示輸出端口。datain1、dataout1、rs組成一個多路選擇器,實現(xiàn)選擇輸入功能,rs的值決定選擇datain1的哪一組信號送給dataout1,由dataout1輸出。datain2由datain2[0]、 datain2[1]組成,表示輸入端口。dataout2由dataout2[0]......dataout2[11]12位輸出端口組成,分成6組,每組2位。同理,datain2、 dataout2、rs組成另一個多路選擇器,實現(xiàn)選擇輸出功能,rs的值決定選擇datain2的2位信號從dataout2的哪一組輸出。rt為控制脈沖,當(dāng)為上升沿時實現(xiàn)選擇輸入功能,當(dāng)為下降沿時實現(xiàn)選擇輸出功能。datain3為16位按鍵輸入口(低電平有效),每位代表一個按鍵。dataout3為4位按鍵值輸出端口,當(dāng)有按鍵按下時,經(jīng)CPLD內(nèi)部狀態(tài)發(fā)生改變,按鍵彈起后,內(nèi)部狀態(tài)經(jīng)CPLD自動處理轉(zhuǎn)化為相應(yīng)的鍵值從dataout3輸出(高電平有效)。如當(dāng)datain3位為1111111111111101時,表示2號鍵按下,dataout3將輸出0010,表示按鍵值為2。
光電開關(guān)相關(guān)文章:光電開關(guān)原理
評論