基于NIOSⅡ的聲納主機(jī)與顯控臺(tái)之間的RS232通信協(xié)議
在聲納設(shè)備工作之前,操作員在顯控臺(tái)要完成開機(jī)與參數(shù)設(shè)置等動(dòng)作。此時(shí),開關(guān)等外圍設(shè)備會(huì)觸發(fā)處理器的中斷處理程序,完成參數(shù)設(shè)置和顯示。這些參數(shù)不僅要在顯控臺(tái)顯示,還得通過UART發(fā)送到主機(jī)(DSP),作為主機(jī)信號(hào)處理運(yùn)算的某些參數(shù)。因?yàn)槭峭ㄟ^串口發(fā)送,所以這些數(shù)據(jù)要進(jìn)行適當(dāng)?shù)姆指钆c編碼,并加上地址信息等。
在主機(jī)(DSP)接收到開始工作的指令后,主機(jī)會(huì)把處理過程中或者處理后的數(shù)據(jù)通過UART發(fā)送到顯控臺(tái),方便操作員實(shí)時(shí)了解設(shè)備的工作狀態(tài)和工作結(jié)果。
3 在NIOSⅡIDE上實(shí)現(xiàn)串口通信協(xié)議
NIOSⅡIDE是ALTERA公司開發(fā)套件中用來進(jìn)行嵌入式開發(fā)的平臺(tái)。所有軟件開發(fā)任務(wù)都可以在NIOSⅡIDE下完成,包括編輯、編譯和調(diào)試程序。它支持C/C++語言編程,可以根據(jù)SoPC建立的SoC,生成相應(yīng)makefile,在編譯時(shí),又可以根據(jù)makefile生成系統(tǒng)頭文件system.h,從而把軟硬件隔離開來[5]。
3.1 串口通信協(xié)議
在NIOSⅡIDE下用C語言開發(fā)通信協(xié)議較為方便。由于RS232每幀數(shù)據(jù)有效數(shù)據(jù)位為8 bit,所以將unsigned char 作為協(xié)議中的基本數(shù)據(jù)類型。在庫(kù)文件中,這種數(shù)據(jù)類型被定義為alt_u8。指令的前4位為0,后4位為指令內(nèi)容。數(shù)據(jù)前4位為數(shù)據(jù)的地址信息,后4位為數(shù)據(jù)內(nèi)容。
顯控臺(tái)與主機(jī)所有通信數(shù)據(jù)和指令分為三種:(1)顯控臺(tái)處理器發(fā)送到主機(jī)(DSP)的指令,取值范圍為0x00~0x0f。典型的如0x00為開始工作指令,0x0f為停止工作指令,0x01~0x07為通信檢查指令。(2)顯控臺(tái)處理器發(fā)送到主機(jī)(DSP)的數(shù)據(jù),取值范圍為0x1x~0xfx。典型的如0x9x和0xax,分別為多普勒頻移的低4位數(shù)據(jù)和高4位數(shù)據(jù)。(3)主機(jī)(DSP)發(fā)送到顯控臺(tái)處理器的數(shù)據(jù),取值范圍為0x0x~0xfx。典型的如0x5x噪聲級(jí)別。
3.2 程序設(shè)計(jì)
根據(jù)以上分析,以聲納訓(xùn)練靶為例,設(shè)計(jì)C語言程序??驁D如圖4所示。
NIOSⅡ嵌入式編程可以直接調(diào)用ALTERA的庫(kù)函數(shù)進(jìn)行操作。例如對(duì)PIO的操作函數(shù):IOWR_ALTERA_AVALON_PIO_DATA(BASE,DATA)(寫IO函數(shù)),IOWR_
ALTERA_AVALON_PIO_DATA(BASE,DATA)(讀IO函數(shù))。也可以構(gòu)建硬件寄存器的結(jié)構(gòu),例如UART_ST這樣的結(jié)構(gòu),通過對(duì)結(jié)構(gòu)實(shí)例化的操作,同樣可以方便地編程。本設(shè)計(jì)中結(jié)合了這兩種編程的優(yōu)勢(shì),對(duì)于結(jié)構(gòu)復(fù)雜,操作要求簡(jiǎn)單的硬件,采用庫(kù)函數(shù)的操作方法,如Flash;對(duì)結(jié)構(gòu)較為簡(jiǎn)單、操作較為細(xì)化的硬件,采用寄存器結(jié)構(gòu)化的操作方法,如UART。
本文利用FPGA芯片構(gòu)建了聲納設(shè)備的顯示控制分機(jī)。基于ALTERA公司的 NIOSⅡ嵌入式處理器,建立了片上系統(tǒng),實(shí)現(xiàn)了顯示控制分機(jī)和主機(jī)(DSP)之間的RS232通信協(xié)議。在以EP2C8Q208C為主芯片的FPGA開發(fā)板上,實(shí)現(xiàn)了硬件系統(tǒng)的構(gòu)建和軟件編程以及下載。此顯示控制分機(jī)應(yīng)用在一體化聲靶中,工作穩(wěn)定可靠。由于片上系統(tǒng)構(gòu)建的靈活性,所以這種顯示控制方案在聲納設(shè)備中具有很好的可擴(kuò)展性,便于維護(hù)和升級(jí)。
參考文獻(xiàn)
[1] 蔣均齊.魚雷聲靶技術(shù)研究[D].長(zhǎng)沙:國(guó)防科技大學(xué),2006:8-9.
[2] 李金力,劉文怡,彭旭峰.基于FPGA的RS232異步串行口IP核設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(8):31-35.
[3] Altera Corporation.Cyclone II Device Handbook[S].2007(1):12-34.
[4] 張新喜,許軍,楊雨迎,等.基于SoPC技術(shù)的戰(zhàn)車綜合顯控終端設(shè)計(jì)[J].火力與指揮控制,2008,33(增刊):109-112.
[5] 洪勝峰.基于嵌入式技術(shù)的軍用車輛車載顯控終端的研制[D].青島:中國(guó)海洋大學(xué),2007:25-26.
評(píng)論