日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于NIOSⅡ的聲納主機與顯控臺之間的RS232通信協(xié)議

  聲納設備一般由換能器(信號轉(zhuǎn)換、收發(fā)設備)、信號處理主機(DSP等)和顯示控制分機(簡稱顯控臺)三部分構(gòu)成。顯控臺和主機之間的通信非常重要[1]。
    顯控臺和主機之間的通信距離較遠,對通信的可靠性和安全性要求高,但是對通信速度要求不高。所以通信方式可以選擇串口通信協(xié)議RS232[2]。
    顯控臺上諸多的旋鈕、開關以及指示燈、數(shù)碼管等設備需要豐富的外圍接口。這些接口之間具有復雜的邏輯關系。選用FPGA作為顯控臺主芯片可以滿足這些要求。以ALTERA公司的CycloneⅡ開發(fā)板為例,其主芯片EP2C8Q208C最多可提供182個用戶I/O口,可以滿足外圍接口要求[3]。在ALTERA公司提供的硬件開發(fā)環(huán)境Quartus和片上系統(tǒng)開發(fā)環(huán)境SoPC下,可以非常方便地進行控制模塊的開發(fā)。也可以構(gòu)建NIOSⅡ處理器,以及配置NIOS系統(tǒng)自帶的硬核,如串口通信模塊UART、儲存模塊Serial Flash等[4]。
    本文利用FPGA芯片設計了一套顯示控制分機系統(tǒng),并且以聲納訓練靶為應用背景編制了串口通信協(xié)議。
1 利用SoPC Builder構(gòu)建顯控臺的片上系統(tǒng)
    SoPC Builder是ALTERA公司提供的片上系統(tǒng)(SoC)開發(fā)工具,它可以配合QuartusII完成FPGA芯片的CPU以及外圍設備的配置工作。
1.1 片上系統(tǒng)的構(gòu)建
    在SoPC Builder的開發(fā)環(huán)境下,選擇ALTERA公司開發(fā)的32位RISC 處理器NIOSⅡ。標準型的處理器NIOSⅡ/s可以運行在100 MHz的系統(tǒng)時鐘下,運算速度超過50 DMIPS[2]。再構(gòu)建配套的數(shù)據(jù)存儲器SDRAM、程序存儲器Serial Flash、系統(tǒng)地址管理器(System ID Peripheral)、編程調(diào)試接口(JTAG_UART)以及數(shù)碼管(SEG)、顯示和旋鈕(KNOB)、按鍵(KEYS)等PIO接口。
1.2 RS232 Serial Port的結(jié)構(gòu)
    對UART的控制主要通過編程寄存器來實現(xiàn)[2]。根據(jù)UART的寄存器結(jié)構(gòu),在SoPC對應的軟件開發(fā)環(huán)境NIOSⅡIDE下建立C語言的結(jié)構(gòu)體UART_ST,代碼如下:
/*--------------UART------------*/
typedef struct
{
    union{
        struct{
            volatile unsigned long int RECEIVE_DATA :8;
            volatile unsigned long int NC:24;
        }BITS;
        volatile unsigned long int WORD;
    }RXDATA;
    union{
        struct{
            volatile unsigned long int TRANSMIT_DATA:8;
            volatile unsigned long int NC:24;           
        }BITS;
        volatile unsigned long int WORD;
    }TXDATA;
    union{
        struct{
            volatile unsigned long int PE:1;
            …其他狀態(tài)寄存器
        } BITS;
        volatile unsigned long int WORD;
    }STATUS;
    union{
        struct{
            volatile unsigned long int IFE:1;
                 …其他控制寄存器
            }BITS;
            volatile unsigned long int WORD;
    }CONTROL;
    union{
        struct{
volatile unsigned long int BAUDRATE_DIVISOR:16;
volatile unsigned long int NC:16;           
        }BITS;
        volatile unsigned  int WORD;
    }DIVISOR;
}UART_ST;
 

 

2 顯控臺與主機之間的通信
    聲納設備有兩種工作狀態(tài)——設置和工作。在這兩種狀態(tài)下,顯控臺與主機的通信方式有三種,分別如圖1~3所示。

[!--empirenews.page--]


    在聲納設備工作之前,操作員在顯控臺要完成開機與參數(shù)設置等動作。此時,開關等外圍設備會觸發(fā)處理器的中斷處理程序,完成參數(shù)設置和顯示。這些參數(shù)不僅要在顯控臺顯示,還得通過UART發(fā)送到主機(DSP),作為主機信號處理運算的某些參數(shù)。因為是通過串口發(fā)送,所以這些數(shù)據(jù)要進行適當?shù)姆指钆c編碼,并加上地址信息等。
    在主機(DSP)接收到開始工作的指令后,主機會把處理過程中或者處理后的數(shù)據(jù)通過UART發(fā)送到顯控臺,方便操作員實時了解設備的工作狀態(tài)和工作結(jié)果。
3 在NIOSⅡIDE上實現(xiàn)串口通信協(xié)議
    NIOSⅡIDE是ALTERA公司開發(fā)套件中用來進行嵌入式開發(fā)的平臺。所有軟件開發(fā)任務都可以在NIOSⅡIDE下完成,包括編輯、編譯和調(diào)試程序。它支持C/C++語言編程,可以根據(jù)SoPC建立的SoC,生成相應makefile,在編譯時,又可以根據(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ù)類型。在庫文件中,這種數(shù)據(jù)類型被定義為alt_u8。指令的前4位為0,后4位為指令內(nèi)容。數(shù)據(jù)前4位為數(shù)據(jù)的地址信息,后4位為數(shù)據(jù)內(nèi)容。
    顯控臺與主機所有通信數(shù)據(jù)和指令分為三種:(1)顯控臺處理器發(fā)送到主機(DSP)的指令,取值范圍為0x00~0x0f。典型的如0x00為開始工作指令,0x0f為停止工作指令,0x01~0x07為通信檢查指令。(2)顯控臺處理器發(fā)送到主機(DSP)的數(shù)據(jù),取值范圍為0x1x~0xfx。典型的如0x9x和0xax,分別為多普勒頻移的低4位數(shù)據(jù)和高4位數(shù)據(jù)。(3)主機(DSP)發(fā)送到顯控臺處理器的數(shù)據(jù),取值范圍為0x0x~0xfx。典型的如0x5x噪聲級別。
3.2 程序設計
    根據(jù)以上分析,以聲納訓練靶為例,設計C語言程序??驁D如圖4所示。

    NIOSⅡ嵌入式編程可以直接調(diào)用ALTERA的庫函數(shù)進行操作。例如對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),通過對結(jié)構(gòu)實例化的操作,同樣可以方便地編程。本設計中結(jié)合了這兩種編程的優(yōu)勢,對于結(jié)構(gòu)復雜,操作要求簡單的硬件,采用庫函數(shù)的操作方法,如Flash;對結(jié)構(gòu)較為簡單、操作較為細化的硬件,采用寄存器結(jié)構(gòu)化的操作方法,如UART。
    本文利用FPGA芯片構(gòu)建了聲納設備的顯示控制分機?;贏LTERA公司的 NIOSⅡ嵌入式處理器,建立了片上系統(tǒng),實現(xiàn)了顯示控制分機和主機(DSP)之間的RS232通信協(xié)議。在以EP2C8Q208C為主芯片的FPGA開發(fā)板上,實現(xiàn)了硬件系統(tǒng)的構(gòu)建和軟件編程以及下載。此顯示控制分機應用在一體化聲靶中,工作穩(wěn)定可靠。由于片上系統(tǒng)構(gòu)建的靈活性,所以這種顯示控制方案在聲納設備中具有很好的可擴展性,便于維護和升級。
參考文獻
[1] 蔣均齊.魚雷聲靶技術(shù)研究[D].長沙:國防科技大學,2006:8-9.
[2] 李金力,劉文怡,彭旭峰.基于FPGA的RS232異步串行口IP核設計[J].電子設計工程,2009,17(8):31-35.
[3] Altera Corporation.Cyclone II Device Handbook[S].2007(1):12-34.
[4] 張新喜,許軍,楊雨迎,等.基于SoPC技術(shù)的戰(zhàn)車綜合顯控終端設計[J].火力與指揮控制,2008,33(增刊):109-112.
[5] 洪勝峰.基于嵌入式技術(shù)的軍用車輛車載顯控終端的研制[D].青島:中國海洋大學,2007:25-26.

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

隨著環(huán)保意識的增強和對可持續(xù)能源的追求,電動汽車(EV)作為一種清潔能源交通工具,正逐漸成為汽車行業(yè)發(fā)展的主流趨勢。電動汽車的核心部件之一是充電機,它負責將外部電能轉(zhuǎn)化為電池可存儲的能量。而 CAN(Controller...

關鍵字: 電動汽車 通信協(xié)議 充電機

在工業(yè)自動化、汽車電子等領域,CAN(Controller Area Network)總線憑借其高可靠性、多主通信、高速傳輸以及連接節(jié)點眾多等優(yōu)勢,成為了應用極為廣泛的通信協(xié)議。然而,實際應用環(huán)境往往十分復雜,存在諸如電...

關鍵字: 總線 通信協(xié)議 隔離技術(shù)

隨著物聯(lián)網(wǎng)(IoT)技術(shù)的飛速發(fā)展,萬物互聯(lián)的時代已經(jīng)到來。然而,地面網(wǎng)絡的覆蓋范圍和穩(wěn)定性在某些極端環(huán)境下仍存在局限性。為了克服這些挑戰(zhàn),衛(wèi)星物聯(lián)網(wǎng)(NTN,Non-Terrestrial Network)技術(shù)應運而生...

關鍵字: 衛(wèi)星物聯(lián)網(wǎng) NTN 通信協(xié)議

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)通信協(xié)議是嵌入式系統(tǒng)中廣泛應用的通信協(xié)議之一。它以其簡單、可靠和靈活的特性,成為連接微控制器、傳感器、...

關鍵字: 嵌入式系統(tǒng) UART 通信協(xié)議

在數(shù)字通信領域,二進制通信協(xié)議扮演著至關重要的角色。它們不僅決定了數(shù)據(jù)如何在不同系統(tǒng)或設備間高效、準確地傳輸,還直接影響到通信的實時性、可靠性和資源利用率。本文將深入探討二進制通信協(xié)議的序列化與解析過程,并通過實例代碼展...

關鍵字: 二進制 通信協(xié)議 序列化

控制器局域網(wǎng) (CAN) 總線由博世于 20 世紀 80 年代開發(fā),是工業(yè)和汽車應用中常用的通信協(xié)議。它的開發(fā)是為了改善電子控制單元 (ECU) 之間的數(shù)據(jù)交換,從而提高車輛的系統(tǒng)效率。

關鍵字: CAN總線 通信協(xié)議

在現(xiàn)代汽車電子、工業(yè)自動化等領域,CAN(Controller Area Network)總線作為一種高效、可靠的通信協(xié)議,扮演著至關重要的角色。它以多主、去中心化的方式連接各個設備,實現(xiàn)了數(shù)據(jù)的高速、實時傳輸。然而,當...

關鍵字: CAN總線 通信協(xié)議

在通信技術(shù)日益發(fā)展的今天,AT命令作為一種古老但依舊強大的通信協(xié)議,依然廣泛應用于調(diào)制解調(diào)器、移動通信設備、藍牙模塊、GPS模塊等多種設備中。AT命令(Attention Command)源于早期調(diào)制解調(diào)器制造商的引入,...

關鍵字: AT命令 通信技術(shù) 通信協(xié)議

隨著汽車電子技術(shù)的快速發(fā)展,汽車內(nèi)部通信協(xié)議的選擇變得尤為重要。在眾多的通信協(xié)議中,容錯CAN(Controller Area Network)和高速CAN(High-Speed CAN)作為兩種常見的協(xié)議,被廣泛應用于...

關鍵字: 汽車電子 容錯CAN 通信協(xié)議

隨著電子技術(shù)的飛速發(fā)展,串行RapidIO(SRIO)作為一種高效、靈活的通信協(xié)議,在嵌入式系統(tǒng)、數(shù)據(jù)中心和通信網(wǎng)絡中得到了廣泛應用。SRIO 2.0作為SRIO協(xié)議的新一代標準,對阻抗要求有著更為嚴格的規(guī)定。本文詳細論...

關鍵字: 串行RapidIO 通信協(xié)議 通信網(wǎng)絡
關閉