當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]摘要:為了方便對(duì)1553B設(shè)備進(jìn)行測(cè)試,介紹了一種基于ARM9平臺(tái)和FPGA的1553B總線測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)以LPC3250作為微處理器,以CYCLONE I系列的EP1C6Q240C8芯片實(shí)現(xiàn)ARM與1553B協(xié)議芯片的接口邏輯。在Li

摘要:為了方便對(duì)1553B設(shè)備進(jìn)行測(cè)試,介紹了一種基于ARM9平臺(tái)和FPGA的1553B總線測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)以LPC3250作為微處理器,以CYCLONE I系列的EP1C6Q240C8芯片實(shí)現(xiàn)ARM與1553B協(xié)議芯片的接口邏輯。在Linux操作系統(tǒng)2.6內(nèi)核下實(shí)現(xiàn)1553B的驅(qū)動(dòng)程序。15 53B協(xié)議芯片采用BU-64843T8,以實(shí)現(xiàn)系統(tǒng)的便攜性。

隨著航空電子系統(tǒng)的發(fā)展,多路數(shù)據(jù)傳輸數(shù)據(jù)總線在航空電子系統(tǒng)中起著越來(lái)越重要的作用,其主要特點(diǎn)是集中控制、實(shí)時(shí)性要求高、分布處理。1553B總線以其具有較高的可靠性和靈活性,廣泛應(yīng)用于軍事、航空航天系統(tǒng)。傳統(tǒng)的1553B測(cè)試設(shè)備采用普通計(jì)算機(jī)或工控機(jī)作為測(cè)試平臺(tái),通過(guò)PCI總線與被測(cè)設(shè)備通信,這對(duì)測(cè)試設(shè)備的攜帶造成極大不便。本文所闡述的測(cè)試系統(tǒng)以ARM9作為中央處理器,以DDC的BU-64843T7作為1553B協(xié)議芯片,從而實(shí)現(xiàn)系統(tǒng)的小型化和便攜化,應(yīng)用FPGA實(shí)現(xiàn)ARM時(shí)序與1553B時(shí)序的轉(zhuǎn)換,并采用Linux操作系統(tǒng)以確保系統(tǒng)穩(wěn)定可靠。

1 ARM與FPGA數(shù)據(jù)通信接口設(shè)計(jì)

1. 1 系統(tǒng)硬件介紹

該系統(tǒng)硬件由LPC3250核心板、外擴(kuò)接口電路、FPGA和1553B協(xié)議芯片組成組成。系統(tǒng)架構(gòu)如圖1所示。

LPC3250微處理器面向低功耗、高性能的應(yīng)用,采用ARM926EJ-S CPU內(nèi)核,實(shí)現(xiàn)5級(jí)流水處理并采用哈佛結(jié)構(gòu),可工作在266 MHz的頻率下,數(shù)據(jù)處理能力強(qiáng)大。

本系統(tǒng)外擴(kuò)USB、RS232和網(wǎng)絡(luò)接口,用于操作系統(tǒng)的燒寫(xiě)和驅(qū)動(dòng)程序、應(yīng)用程序的調(diào)試,并且配備實(shí)時(shí)時(shí)鐘,可以掉電保持。為增加其可靠性,本系統(tǒng)在多處增加ESD芯片,以增強(qiáng)系統(tǒng)的抗靜電能力。

FPGA采用Altera公司的Cyclone I系列的EP1C6Q240C8芯片,該系列芯片具有20 060個(gè)邏輯單元以及288 kb RAM,支持3.3V LVTTL/CM OS IO標(biāo)準(zhǔn),可直接與ARM通信,無(wú)需進(jìn)行電平轉(zhuǎn)換。

1553B協(xié)議芯片選擇DDC公司的BU-64843T8芯片。該芯片是世界上第一個(gè)將1553B協(xié)議芯片和隔離變壓器集成到一體的芯片。因此,在布PCB時(shí),會(huì)節(jié)省很大空間,從而使系統(tǒng)小巧,方便攜帶。

1.2 接口電路設(shè)計(jì)

LPC3250包括3個(gè)外部存儲(chǔ)器接口,分別是NAND Flash控制器、Secure Digital控制器和外部存儲(chǔ)器控制器(External memory controll er,簡(jiǎn)稱為EMC)。EMC提供了系統(tǒng)總線與片外存儲(chǔ)設(shè)備之間的接口功能,可實(shí)現(xiàn)與SDRAM、DDR SDRAM和SRAM設(shè)備的通信。該系統(tǒng)采用EMC的靜態(tài)RAM接口與FPGA進(jìn)行通信,該接口具有時(shí)序操作簡(jiǎn)單,接口速度快等特點(diǎn)。利用FPGA模擬靜態(tài)RAM,并進(jìn)行時(shí)序轉(zhuǎn)換,從而實(shí)現(xiàn)ARM對(duì)1553B芯片的訪問(wèn)。圖2為ARM與FPGA的接口電路圖,由于1553B芯片內(nèi)部RAM為4K*16bit,因此數(shù)據(jù)線選用16位,地址線選用12位。通過(guò)EMC靜態(tài)存儲(chǔ)器控制器的配置寄存器,可將數(shù)據(jù)總線分別設(shè)置為8位、16位、32位。該系統(tǒng)需將配置寄存器的低兩位設(shè)置為01,即16位總線。其他控制信號(hào)說(shuō)明見(jiàn)表1所示。

1. 3 FPGA邏輯設(shè)計(jì)

若想成功訪問(wèn)1553B設(shè)備,必須嚴(yán)格按照1553B時(shí)序進(jìn)行操作,然而EMC的時(shí)序與1553B的時(shí)序差異很大,因此需要進(jìn)行時(shí)序轉(zhuǎn)換,這通過(guò)一片F(xiàn)PGA來(lái)實(shí)現(xiàn)。BU-64843T8的控制信號(hào)主要包括,TRANSPARENT/BUFFERED*、STRBD*、SELECT*、RD/WR*、MEM/REG*、IOEN*、READYD*、ADDR_LAT/MEMOE*.RT_AD_LAT*,INT*等信號(hào)。

TRANSPARENT/BUFFERED*信號(hào)用于設(shè)定芯片工作在透明模式還是緩沖模式,該系統(tǒng)的1553B不需外擴(kuò)存儲(chǔ)器,工作在緩沖模式下即可,因此MEMOE*等信號(hào)可以不做考慮;STRBD*和SELECT*可接到一起,作為芯片的片選信號(hào);RD/WR*為讀寫(xiě)信號(hào);MEM/REG*用來(lái)區(qū)分訪問(wèn)內(nèi)部4K存儲(chǔ)器資源還是寄存器資源;IOEN*有效時(shí),標(biāo)志芯片正在處理外部的訪問(wèn);READYD*信號(hào)在本系統(tǒng)中十分重要,當(dāng)ARM寫(xiě)時(shí),READYD*有效表示數(shù)據(jù)成功寫(xiě)入芯片中,當(dāng)ARM讀時(shí),READYD*有效表示數(shù)據(jù)線上的數(shù)據(jù)有效,可以使用;ADDR_LAT為地址鎖存信號(hào),對(duì)于總線未復(fù)用的處理器,該信號(hào)置為高;RT_AD_LAT*信號(hào)為RT地址鎖存信號(hào),該信號(hào)出現(xiàn)上升沿,即可將RT地址上的數(shù)據(jù)鎖存到芯片內(nèi)部,因此RT地址無(wú)需一直保持著。INT*信號(hào)用于中斷ARM,該信號(hào)經(jīng)過(guò)FPGA與ARM的GPIO引腳相連,相應(yīng)的GPIO引腳被配置為外部中斷引腳。

FPCA的邏輯設(shè)計(jì)采用鎖存的方式,即所有的地址信號(hào)、數(shù)據(jù)信號(hào)、讀寫(xiě)、片選、EME/REG*信號(hào)通過(guò)鎖存器直接打到總線上,這些信號(hào)在ARM訪問(wèn)期間一直有效。因此ARM需要進(jìn)行多次寫(xiě)操作:先把要寫(xiě)的數(shù)據(jù)送出,再把要訪問(wèn)的地址和控制信息送出,之后循環(huán)讀取READYD*信號(hào),直到其有效,再進(jìn)行下一次讀寫(xiě)操作。相關(guān)的VHDL代碼如下:

2 1553B驅(qū)動(dòng)程序的開(kāi)發(fā)原理與實(shí)現(xiàn)

2.1 文件操作接口

設(shè)備驅(qū)動(dòng)程序在Linux內(nèi)核中扮演著特殊的角色。它們是獨(dú)立的模塊,使某個(gè)特定的硬件響應(yīng)一個(gè)定義良好的內(nèi)部編程接口,用戶的操作通過(guò)一組標(biāo)準(zhǔn)化的調(diào)用執(zhí)行,而這些調(diào)用獨(dú)立于特定的驅(qū)動(dòng)程序。將這些調(diào)用映射到作用于實(shí)際硬件的設(shè)備特有操作上,則是設(shè)備驅(qū)動(dòng)程序的任務(wù)。系統(tǒng)軟件架構(gòu)如圖3所示。

Linux驅(qū)動(dòng)程序支持3種類(lèi)型的設(shè)備:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。字符設(shè)備是個(gè)能夠像字節(jié)流一樣被訪問(wèn)的設(shè)備。字符設(shè)備驅(qū)動(dòng)程序通常要實(shí)現(xiàn)open、close、read、write系統(tǒng)調(diào)用。本系統(tǒng)的1553B設(shè)備屬于字符設(shè)備,它的驅(qū)動(dòng)程序主要包括以下幾個(gè)模塊:初始化模塊、打開(kāi)關(guān)閉模塊、讀寫(xiě)模塊、中斷處理模塊。

驅(qū)動(dòng)程序與應(yīng)用程序的通信主要通過(guò)系統(tǒng)函數(shù)調(diào)用,Linux為所有設(shè)備文件提供統(tǒng)一的操作函數(shù)接口,我們的驅(qū)動(dòng)程序中只需實(shí)現(xiàn)struct file_operations中相應(yīng)的函數(shù)即可,主要包括ioctl、read、write、open、release、fasync函數(shù)。具體C語(yǔ)言代碼如下所示:

當(dāng)用戶加載驅(qū)動(dòng)模塊時(shí),一系列初始化工作在static int_init xc1553_init(void)函數(shù)中完成,包括設(shè)備注冊(cè),物理地址到虛擬地址的映射,EMC模式的配置,中斷處理函數(shù)的注冊(cè)。

當(dāng)用戶卸載驅(qū)動(dòng)模塊時(shí),需要在static void_exitxc1553_exit(void)函數(shù)中進(jìn)行驅(qū)動(dòng)模塊和設(shè)備的卸載,以及中斷號(hào)的釋放。

2.2 中斷處理模塊的實(shí)現(xiàn)

當(dāng)1553B產(chǎn)生中斷時(shí),由xc1553_init函數(shù)中注冊(cè)的中斷處理函數(shù)進(jìn)行處理,并且通知上層應(yīng)用程序進(jìn)行讀寫(xiě)操作。驅(qū)動(dòng)程序與應(yīng)用程序的通信通過(guò)異步通知的方式實(shí)現(xiàn)。為了實(shí)現(xiàn)異步通知,在驅(qū)動(dòng)程序中需要實(shí)現(xiàn)int fasync_helper(int fd,struct file*filp,int mode,stru ct fasync_struct**fa)和voidkill_fasync(struct fasync_struct**fa,int sig,int band)函數(shù)。

fasync_helper函數(shù)在xc1553_fasync中實(shí)現(xiàn),作用是為當(dāng)前進(jìn)程創(chuàng)建一個(gè)fasync_struct結(jié)構(gòu)體,然后掛入目標(biāo)設(shè)備的fasync隊(duì)列,最后在設(shè)備驅(qū)動(dòng)的中斷處理程序中,使用kill_fasync函數(shù)向該隊(duì)列發(fā)送信號(hào),通知上層應(yīng)用程序。

xc1553_fasync函數(shù)實(shí)現(xiàn)如下:

3 結(jié)束語(yǔ)

1553B總線廣泛應(yīng)用于航空領(lǐng)域,基于1553B總線的測(cè)控設(shè)備普遍體積大,攜帶不方便,本文所闡述的測(cè)試系統(tǒng)完全能夠?qū)崿F(xiàn)傳統(tǒng)測(cè)控設(shè)備的功能,并且極大的縮小了設(shè)備的體積,方便攜帶。經(jīng)過(guò)測(cè)試,該系統(tǒng)實(shí)時(shí)性高、工作穩(wěn)定,能夠滿足軍工要求。

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉