基于ARM的分布式干擾機(jī)控制單元設(shè)計(jì)
目前常見的干擾機(jī)一般都采用上位機(jī)作為控制單元,優(yōu)點(diǎn)是接口和整個(gè)單元開發(fā)均較為方便,但缺點(diǎn)是無法脫離計(jì)算機(jī)獨(dú)立工作。本文采用ARM及大尺寸觸摸屏作為平臺開發(fā)的分布式干擾機(jī)控制單元,ARM與干擾機(jī)可集成為一體,具有攜帶方便、穩(wěn)定性高、成本低、功耗小、可移植性好等優(yōu)點(diǎn)。
本文引用地址:http://m.butianyuan.cn/article/201609/303796.htm設(shè)計(jì)的分布式干擾機(jī)由兩套干擾機(jī)構(gòu)成,實(shí)現(xiàn)對雷達(dá)的分布式協(xié)同相干和非相干干擾。兩套干擾機(jī)在軟硬件上均采用相同的設(shè)計(jì),其組成結(jié)構(gòu)如圖1所示。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 硬件平臺的選擇
如圖1中,ARM控制單元所用平臺為友善之臂公司推出的Miero2440開發(fā)板,特點(diǎn)如下:
(1)采用Samsung S3C2440為微處理器,主頻400 MHz,并采用專業(yè)穩(wěn)定的CPU內(nèi)核電源芯片和復(fù)位芯片來保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。
(2)支持Thumb/ARM雙指令集,能很好地兼容8位/16位器件,大量使用寄存器,尋址方式靈活簡單、指令執(zhí)行速度更快、效率更高。
(3)是第一款統(tǒng)一采用支持EABI標(biāo)準(zhǔn)交叉編譯器的開發(fā)板(EABI是ARM結(jié)構(gòu)下的一個(gè)編譯規(guī)范和標(biāo)準(zhǔn),而只有符合EABI標(biāo)準(zhǔn)的編譯工具編譯出來的目標(biāo)文件才是互相融合的,這對于后期開發(fā)程序進(jìn)行交叉編譯以及移植尤為重要),而其他同類開發(fā)板仍在使用拼湊的各個(gè)版本的編譯器,會(huì)導(dǎo)致開發(fā)效率不高,可移植性不好。
(4)擁有4個(gè)通過USB HUB芯片擴(kuò)展的USBHost以及1個(gè)USB Slave。其中4個(gè)USB Host接口和普通PC的USB接口相同,可以接常見的USB外設(shè),這對于開發(fā)過程中需要暫時(shí)外接鍵盤鼠標(biāo)進(jìn)行系統(tǒng)測試提供了便利;而USB Slave的主要作用是下載Linux內(nèi)核至開發(fā)板中,以及系統(tǒng)一但崩潰可通過其進(jìn)行快速恢復(fù)。
綜上所述,Micro2440是一款實(shí)用的ARM9開發(fā)板,系統(tǒng)穩(wěn)定性好、主頻高、運(yùn)行速度快,可減少軟件開發(fā)時(shí)間,外圍設(shè)備資源豐富,從而降低系統(tǒng)的復(fù)雜度、減少系統(tǒng)成本。所以最終選擇Micro2440作為系統(tǒng)的硬件平臺。
1.2 SPI驅(qū)動(dòng)的開發(fā)
設(shè)備驅(qū)動(dòng)是操作系統(tǒng)的一部分,一般情況下操作系統(tǒng)并未給各種類型的硬件提供設(shè)備驅(qū)動(dòng)程序,而操作系統(tǒng)在無設(shè)備驅(qū)動(dòng)的支持下無法正常控制硬件。所以要結(jié)合系統(tǒng)具體的硬件情況開發(fā)設(shè)備驅(qū)動(dòng)。
Micro2440的SPI接口可以進(jìn)行串行數(shù)據(jù)傳輸,它包含SPIO和SPI1兩個(gè)SPI接口,每個(gè)接口分別有兩個(gè)8位數(shù)據(jù)移位器用于數(shù)據(jù)的接收和發(fā)送,數(shù)據(jù)同時(shí)進(jìn)行發(fā)送和接收。SPI驅(qū)動(dòng)的添加通過編譯內(nèi)核實(shí)現(xiàn),它與內(nèi)核一同啟動(dòng)。SPI驅(qū)動(dòng)在被加載時(shí),先調(diào)用init_module(),該入口點(diǎn)函數(shù)用來初始化設(shè)備驅(qū)動(dòng)程序,其一個(gè)重要功能是往內(nèi)核中注冊此設(shè)備,完成注冊則需要調(diào)用register_chrdev()。
該設(shè)備成功注冊后,會(huì)得到自定義的次設(shè)備號以及系統(tǒng)為之分配好的主設(shè)備號,其中,主設(shè)備號用來反映設(shè)備類型,次設(shè)備號則用于區(qū)分同類型的設(shè)備,同時(shí)和文件系統(tǒng)建立聯(lián)系。嵌入式設(shè)備驅(qū)動(dòng)程序在卸載時(shí),要回收系統(tǒng)相應(yīng)資源,這里調(diào)用unregister_chrdev()來復(fù)位設(shè)備的相應(yīng)寄存器,同時(shí)從內(nèi)核中注銷此設(shè)備。而系統(tǒng)調(diào)用就是對相應(yīng)設(shè)備進(jìn)行操作,如調(diào)用open、read、write以及ioctl等,以供用戶應(yīng)用程序使用。圖2描述了嵌入式設(shè)備SPI驅(qū)動(dòng)程序在內(nèi)核中的注冊、卸載與系統(tǒng)調(diào)用的全過程。
一般SPI驅(qū)動(dòng)可分為:設(shè)備的注冊與注銷、打開與釋放、讀寫、控制以及中斷和輪詢處理等一系列操作?;镜腟PI驅(qū)動(dòng)主要操作是一個(gè)內(nèi)核數(shù)據(jù)結(jié)構(gòu)file_operations,通過該結(jié)構(gòu)為文件系統(tǒng)提供入口點(diǎn)函數(shù),即訪問設(shè)備驅(qū)動(dòng)程序的函數(shù),該結(jié)構(gòu)在
1.3 RS232接口設(shè)計(jì)
S3C2440集成了3個(gè)串口UART0、1、2,文中用到的是UART0。UART0作為標(biāo)準(zhǔn)串口通信,與主機(jī)相連用于系統(tǒng)調(diào)試、超級終端控制和文件收發(fā)。圖3為S3C2440與RS232信號連接圖,其中MAX3232SOP作為串口UART0使用。
1.4 SD卡接口電路設(shè)計(jì)
SD卡有兩種總線模式,即SD模式和SPI模式。SD模式采用4根數(shù)據(jù)線傳輸數(shù)據(jù),數(shù)據(jù)傳輸快,但協(xié)議相對復(fù)雜。SPI模式采用1根數(shù)據(jù)線傳輸數(shù)據(jù),傳輸速度相對較慢,但傳輸協(xié)議與操作簡單。系統(tǒng)采用SD模式進(jìn)行數(shù)據(jù)傳輸。SD模式下,SD卡的9個(gè)引腳分別是命令、時(shí)鐘、3個(gè)電源以及4個(gè)數(shù)據(jù)輸入輸出引腳。SD卡通過卡座與主控制器相連,由于S3C24 40提供了專用的多媒體卡接口,簡化了SD卡與S3C2440的硬件連接。具體的信號連接圖如圖4所示。
2 Qt界面設(shè)計(jì)
在Qt3.3.8版本下,根據(jù)分布式干擾機(jī)的功能需求,以及ARM開發(fā)板觸摸屏的尺寸綜合進(jìn)行設(shè)計(jì)??紤]到顯示屏大小的限制,以及各功能模塊的區(qū)分,設(shè)計(jì)了轉(zhuǎn)發(fā)控制、顯示控制和調(diào)相控制3個(gè)選項(xiàng)卡,每個(gè)選項(xiàng)卡中的編輯項(xiàng)與顯示項(xiàng)相互獨(dú)立。其中轉(zhuǎn)發(fā)控制選項(xiàng)卡中主要是ARM控制系統(tǒng)對分布式干擾機(jī)的配置參數(shù),如圖5所示。顯示控制則主要用于顯示干擾機(jī)測量或計(jì)算出的內(nèi)容,調(diào)相控制是對多個(gè)假目標(biāo)角度的配置,這里只截取了轉(zhuǎn)發(fā)控制選項(xiàng)卡的界面截圖。而對于加密方案配置項(xiàng),一直需要顯示的主機(jī)號項(xiàng),以及隨時(shí)可能操作的設(shè)置及退出按鈕,獨(dú)立于3個(gè)選項(xiàng)卡之外,會(huì)始終顯示在界面上。
評論