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