高速便攜式RS 232/422信號模擬器設(shè)計
2. 2 電源管理電路模塊設(shè)計
信號模擬器既有USB接口供電,也有AC/DC適配器供電,同時還有著電池供電,這里供電電源的管理顯得異常重要。在電源管理電路的設(shè)計中,首先要有電源排序和自動切換電路,當同時存在這三個電路供電時,要求能自動切斷AC/DC和電池供電,無縫的轉(zhuǎn)向USB供電。當USB接口不供電時,轉(zhuǎn)向了AC/DC適配器供電,最后才是電池供電。整個過程的供電順序是USB供電→AC/DC供電→電池;其次是要求能夠?qū)╇婋娐返臓顟B(tài)和信息進行監(jiān)控。電源管理電路模塊要求能提供供電是來自USB接口、AC/DC適配器或是電池的信息,當是電池供電時,還需要提供電池的電量信息,即電池還剩余多少電量;最后,還要有鋰離子充電電池的放電和充電的管理。為保護鋰離子電池因過度放電而無法再次使用,當電池放電到終止電壓時,自動切斷供電電路,使電池供電電路處于斷開狀態(tài)。當插入AC/DC適配器和USB接口供電時,電源管理電路模塊可以對電池進行充電,同時,電池的放電是一個電源逐漸衰減的過程,還需要對電源進行穩(wěn)壓。鑒于這些原因,電源管理電路模塊的設(shè)計是本文的重難點之一。本系統(tǒng)中電源管理電路模塊原理圖如圖3所示。本文引用地址:http://butianyuan.cn/article/185416.htm
2. 3 FPGA核心控制電路模塊設(shè)計
FPGA核心控制電路監(jiān)控以上各電路模塊的工作狀態(tài),隨時準備接收來自它們的數(shù)據(jù)和命令,并進行相應(yīng)的控制。它包括了控制部分和串行數(shù)據(jù)生成部分,控制部分是在FPGA芯片內(nèi)部嵌入Alter公司提供的NIOSⅡ的處理器IP軟核,利用QuartusⅡ軟件內(nèi)部的SOPC工具生成FPGA內(nèi)部的控制電路。串行數(shù)據(jù)生成部分利用VHDL硬件編程語言編制了波特率發(fā)生器和并串轉(zhuǎn)換模塊生成RS 232/422串行信號數(shù)據(jù)。所有的控制電路都是通過軟件定制在一片F(xiàn)PGA芯片內(nèi),外圍電路比較簡單,除了正常的程序加載電路和程序存儲芯片,僅需要一片時鐘芯片即可。FPGA核心控制電路原理圖如圖4所示。
3 系統(tǒng)軟件設(shè)計
3.1 波特率和串行數(shù)據(jù)產(chǎn)生模塊設(shè)計
串行數(shù)據(jù)產(chǎn)生模塊負責生成符合格式設(shè)置要求的串行數(shù)據(jù),如起始位,數(shù)據(jù)位,效驗位,停止位等。它主要是把控制器發(fā)送的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并根據(jù)控制器發(fā)送的效驗位,停止位等設(shè)置命令來設(shè)置數(shù)據(jù)的格式,以來自波特率產(chǎn)生模塊的16倍的波特率作為全局時鐘,生成要模擬的RS 232/422信號數(shù)據(jù)。
波特率產(chǎn)生模塊根據(jù)控制器發(fā)送的命令數(shù)據(jù)來產(chǎn)生符合要求的波特率。在本系統(tǒng)中,要求產(chǎn)生24種標準和非標準的波特率,其中標準的波特率16種,非標準波特率8種,最高的波特率達到1 Mb/s,這樣利用常規(guī)的分頻器不能滿足要求。
依據(jù)DDS(直接數(shù)字頻率合成)的原理,結(jié)合積分分頻電路,設(shè)計了頻率字累加器,通過從NIOSⅡ控制器輸入的頻率字來控制累加器的累加步長,將累加器輸出的最高位作為輸出的時鐘信號的方法實現(xiàn)所需要的波特率時鐘,此時輸出的時鐘即可作為串行數(shù)據(jù)產(chǎn)生模塊的全局時鐘,也就是16倍的波特率。同時為了提高時鐘的精確度,降低誤碼率,在系統(tǒng)時鐘(這里采用的是22 11 8 4 MHz)進入分頻器以前,利用PLL倍頻電路提高時鐘的頻率。
波特率和串行數(shù)據(jù)產(chǎn)生模塊在FPGA內(nèi)部的原理實現(xiàn)框圖如5圖所示。它的實現(xiàn)是采用VHDL硬件描述語言實現(xiàn)的,框圖中每個小的模塊代表VHDL語言編制的模塊程序。
評論