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