專(zhuān)利名稱(chēng):基于Nios軟核處理器的蓄電池電壓數(shù)據(jù)采集裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型屬于自動(dòng)化與信息技術(shù)領(lǐng)域,具體涉及基于Nios軟核CPU的蓄 電池電壓數(shù)據(jù)采集裝置。
背景技術(shù):
蓄電池廣泛應(yīng)用于汽車(chē)、軌道交通等領(lǐng)域,需要實(shí)時(shí)測(cè)量蓄電池電壓值,以 提供當(dāng)前電壓情況。目前在蓄電池電壓測(cè)量領(lǐng)域通常采用專(zhuān)門(mén)儀器,使用獨(dú)立的 CPU,獨(dú)立的RAM和RS232芯片完成連續(xù)蓄電池電壓數(shù)據(jù)的采集功能。這樣就造 成資源浪費(fèi)和成本增加,不利于系統(tǒng)集成,降低系統(tǒng)可靠性。
實(shí)用新型內(nèi)容
本實(shí)用新型的目的就是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于Nios軟核處理 器的蓄電池電壓數(shù)據(jù)采集裝置來(lái)實(shí)現(xiàn)蓄電池電壓數(shù)據(jù)的采集,通過(guò)該裝置可以大 大提高系統(tǒng)集成度、可靠性和可重配置性,降低硬件復(fù)雜度和成本。
本實(shí)用新型采取的具體技術(shù)方案如下
一種基于Nios軟核處理器的蓄電池電壓數(shù)據(jù)采集裝置,包括FPGA芯片和蓄 電池電壓采集卡,其中FPGA芯片包含一個(gè)雙口 RAM, —個(gè)Nios軟核CPU和一個(gè) RS232接口電路,雙口 RAM的一端與主控CPU連接,另一端與Nios軟核CPU連 接,Nios軟核CPU與RS232接口電路連接,RS232接口電路與蓄電池電壓采集卡 的RS232串行總線連接。FPGA硬件電路是選用Altera公司的Cyclone系列芯片,雖然只有一個(gè)芯片, 但其中卻集成了很多電路用以完成電壓數(shù)據(jù)的采集功能,并且,芯片硬件是可重
配置的。
Altera公司的Nios軟核嵌入式處理器是一種可特許的通用RISC處理器, 也就是說(shuō),Altera公司以IP核的方式將它提供給設(shè)計(jì)者。
基于Nios軟核的蓄電池電壓數(shù)據(jù)采集裝置便是嵌入式技術(shù)與數(shù)據(jù)采集技術(shù) 結(jié)合的產(chǎn)物。它是利用系統(tǒng)中的FPGA芯片,構(gòu)造RS232串口,并使用嵌入式的 Nios軟核,對(duì)由RS232串口來(lái)的蓄電壓數(shù)據(jù)進(jìn)行采集。這樣可以省去原來(lái)獨(dú)立 的RAM模塊,CPU模塊和RS232電路模塊,大大提供了系統(tǒng)的集成度。并且軟核 處理器是可以重配置的,可根據(jù)實(shí)際的需要重新定制處理器的指令,提高系統(tǒng)的 靈活性。
蓄電池電壓數(shù)據(jù)采集功能控制軟件,由Nios軟核CPU完成。由于蓄電池電 壓數(shù)據(jù)總共6個(gè)字節(jié),其軟件實(shí)現(xiàn)的步驟如下
1) 主程序等待RS232串口中斷。中斷到達(dá),串口 (UART)數(shù)據(jù)采集模塊 開(kāi)始,關(guān)串口中斷;
2) 判斷UART計(jì)數(shù)器是否等于0;
3) 如果UART計(jì)數(shù)器等于0,開(kāi)始接收數(shù)據(jù)頭。然后判斷接收到的數(shù)據(jù)頭 是否為0xffff。如果是,將0xffff存入內(nèi)部緩存區(qū),同時(shí)將UART計(jì) 數(shù)器置為4。完成上述工作后,跳出循環(huán),等待下一次中斷。如果數(shù) 據(jù)頭不是0xffff,直接跳出循環(huán),等待下一次中斷;
4) 如果UART計(jì)數(shù)器不等于0, UART計(jì)數(shù)器先減1。然后存儲(chǔ)串口數(shù)據(jù)到 內(nèi)部緩存區(qū),接著判斷UART計(jì)數(shù)器是否等于O。如果為0,說(shuō)明6個(gè)字節(jié)的串行數(shù)據(jù)接收完畢,將內(nèi)部緩存區(qū)的數(shù)據(jù)移送到雙口 RAM,然 后跳出循環(huán),等待下一次中斷;如果不為0,直接跳出循環(huán),等待下 一次中斷。
圖l是本發(fā)明基于Nios軟核的蓄電池電壓數(shù)據(jù)采集裝置的硬件結(jié)構(gòu)方框圖。 圖2是電壓數(shù)據(jù)采集程序。
具體實(shí)施方式
如圖1所示,本實(shí)用新型所述的基于Nios軟核處理器的蓄電池電壓數(shù)據(jù)采 集裝置包括FPGA芯片和蓄電池電壓采集卡,其中FPGA芯片包含一個(gè)雙口 RAM, 一個(gè)Nios軟核CPU和一個(gè)RS232接口電路,雙口 RAM的一端與主控CPU連接, 另一端與Nios軟核CPU連接,Nios軟核CPU與RS232接口電路連接,RS232接 口電路與蓄電池電壓采集卡的RS232串行總線連接。蓄電池電壓采集卡用模擬電 壓信號(hào),D/A轉(zhuǎn)換后再處理成RS232串行格式進(jìn)行發(fā)送。
圖2是由Nios軟核處理器執(zhí)行的蓄電池電壓數(shù)據(jù)采集控制軟件程序。步驟 21是主程序等待RS232串口中斷,中斷到達(dá)后,步驟22進(jìn)入串口 (UART)數(shù)據(jù) 采集模塊,接著步驟23關(guān)串口中斷,步驟24判斷UART計(jì)數(shù)器是否等于0。
如果UART計(jì)數(shù)器等于O,開(kāi)始步驟25接收數(shù)據(jù)頭。步驟26判斷接收到的數(shù) 據(jù)頭是否為0xffff。如果是,步驟27將0xffff存入內(nèi)部緩存區(qū),接著步驟28 將UART計(jì)數(shù)器置為4。完成上述工作后,運(yùn)行步驟213跳出循環(huán),等待下一次 中斷;如果數(shù)據(jù)頭不是Oxffff,直接運(yùn)行步驟213跳出循環(huán),等待下一次中斷。如果UART計(jì)數(shù)器不等于O,步驟29將UART計(jì)數(shù)器先減1,然后步驟210存 儲(chǔ)本次接收的串口數(shù)據(jù)到內(nèi)部緩存區(qū)。接著步驟211判斷UART計(jì)數(shù)器是否等于 O.如果為O,說(shuō)明6字節(jié)的串口數(shù)據(jù)接收完畢,步驟212將內(nèi)部緩存區(qū)的數(shù)據(jù)移 送到雙口RAM,然后運(yùn)行步驟213跳出循環(huán),等待下一次中斷,如果不為0,直 接運(yùn)行步驟213跳出循環(huán),等待下一次中斷。
權(quán)利要求1. 一種基于Nios軟核處理器的蓄電池電壓數(shù)據(jù)采集裝置,包括FPGA芯片和蓄電池電壓采集卡,其特征在于FPGA芯片包含一個(gè)雙口RAM,一個(gè)Nios軟核CPU和一個(gè)RS232接口電路,雙口RAM的一端與主控CPU連接,另一端與Nios軟核CPU連接,Nios軟核CPU與RS232接口電路連接,RS232接口電路與蓄電池電壓采集卡的RS232串行總線連接。
專(zhuān)利摘要本實(shí)用新型涉及蓄電池電壓數(shù)據(jù)采集裝置。本實(shí)用新型所述的基于Nios軟核處理器的蓄電池電壓數(shù)據(jù)采集裝置包括FPGA芯片和蓄電池電壓采集卡,其中FPGA芯片包含一個(gè)雙口RAM,一個(gè)Nios軟核CPU和一個(gè)RS232接口電路,雙口RAM的一端與主控CPU連接,另一端與Nios軟核CPU連接,Nios軟核CPU與RS232接口電路連接,RS232接口電路與蓄電池電壓采集卡的RS232串行總線連接。本實(shí)用新型將直流電壓數(shù)據(jù)采集模塊與Nios軟核CPU相連,省去了原來(lái)獨(dú)立的電壓數(shù)據(jù)測(cè)量?jī)x器,提高了系統(tǒng)的集成度和可重構(gòu)性。
文檔編號(hào)G01R31/36GK201289520SQ20082015423
公開(kāi)日2009年8月12日 申請(qǐng)日期2008年10月21日 優(yōu)先權(quán)日2008年10月21日
發(fā)明者林 陳 申請(qǐng)人:上海第二工業(yè)大學(xué)