當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1 引言ARINC429 總線是廣泛應(yīng)用在航空電子系統(tǒng)中的一種通訊總線。PCMCIA/JEIDA接口是一種廣泛應(yīng)用在數(shù)碼電子產(chǎn)品和便攜式計(jì)算機(jī)上的PC 卡接口規(guī)范。在航空通信系統(tǒng)中使用便

1 引言

ARINC429 總線是廣泛應(yīng)用在航空電子系統(tǒng)中的一種通訊總線。PCMCIA/JEIDA接口是一種廣泛應(yīng)用在數(shù)碼電子產(chǎn)品和便攜式計(jì)算機(jī)上的PC 卡接口規(guī)范。在航空通信系統(tǒng)中使用便攜式計(jì)算機(jī)進(jìn)行通信調(diào)試,應(yīng)用FPGA 來(lái)實(shí)現(xiàn)PCMCIA 規(guī)范接口并完成通信,使板卡具有體積小、性能高、可靠性好的特點(diǎn)。板卡在航空領(lǐng)域應(yīng)用,方便了現(xiàn)場(chǎng)調(diào)試。

2 設(shè)計(jì)思路

2. 1 通信卡總體結(jié)構(gòu)設(shè)計(jì)

通信板卡功能的實(shí)現(xiàn)核心是FPGA 內(nèi)部電路的設(shè)計(jì),圖1 就是FPGA 內(nèi)部設(shè)計(jì)圖梗概。設(shè)計(jì)采用PCMACIA 接口的16 根數(shù)據(jù)線與16 根地址線,可用存儲(chǔ)空間達(dá)64KB,但使用的只是其中一小部分。

PCMCIA 規(guī)范規(guī)定16 位PC 卡有兩種模式,MEMORYONLY 模式和I /O AND memory 模式,MEMORYONLY 模式只適用于純粹做存儲(chǔ)卡的PC 卡設(shè)備。設(shè)計(jì)采用I /O AND MEMORY 模式,但采用的只是MEMORY 操作,這相當(dāng)于在MEMORY 空間里實(shí)現(xiàn)了一個(gè)設(shè)備,這個(gè)設(shè)備用來(lái)完成PCMCIA 主機(jī)和ARINC429 芯片的通信。

FPGA 內(nèi)部要實(shí)現(xiàn)與HOST 主機(jī)連接的PCMCIA接口邏輯。PCMCIA 規(guī)范將卡的存儲(chǔ)空間分為ATTRIBUTE MEMORY 和COMMON MEMORY 兩部分,ATTRIBUTE MEMORY 主要用來(lái)實(shí)現(xiàn)卡的配置,在這里邊實(shí)現(xiàn)了卡信息結(jié)構(gòu),以及配置寄存器,而在COMMON MEMORY 實(shí)現(xiàn)了用于與DEI1016 通信的設(shè)備。

在 FPGA 內(nèi)部實(shí)現(xiàn)邏輯時(shí),PCMCIA 接口部分相當(dāng)于主設(shè)備,而內(nèi)部的寄存器、ARINC429 設(shè)備都是從設(shè)備,在FPGA 內(nèi)部必須實(shí)現(xiàn)對(duì)寄存器讀寫(xiě),對(duì)ARINC429 通信控制信號(hào)的時(shí)序,對(duì)ARINC429 接口的讀寫(xiě)時(shí)序的實(shí)現(xiàn)是個(gè)重點(diǎn)。為了實(shí)現(xiàn)從DEI1016芯片接收數(shù)據(jù),在FPGA 內(nèi)部實(shí)現(xiàn)了一個(gè)64* 16bit的FIFO,待FIFO 半滿時(shí)向PCMCIA 主機(jī)發(fā)出中斷信號(hào),主機(jī)從FIFO 中讀走數(shù)據(jù)。由于從接受ARINC429 接口接收數(shù)據(jù)的時(shí)序比較復(fù)雜,采用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)。向DEI1016 發(fā)送數(shù)據(jù)時(shí),由于DEI1016 內(nèi)部有一個(gè)8* 32bit 的FIFO,PCMCIA 的數(shù)據(jù)線和ARINC429 的數(shù)據(jù)線都是16 位的,可以直接發(fā)送,一些控制信號(hào)可以通過(guò)寄存器操作或MEMORY 地址操作實(shí)現(xiàn)。

 


圖1 通信卡總體結(jié)構(gòu)框圖

2. 2 PCMCIA 接口設(shè)計(jì)

2. 2. 1 PCMCIA/JEIDA 規(guī)范

PCMCIA/JEIDA 是由個(gè)人電腦存儲(chǔ)卡國(guó)際組織和日本電氣工業(yè)協(xié)會(huì)提出并推廣的一個(gè)便攜式卡接口規(guī)范。其特性如下:

( 1) 16 /32 位數(shù)據(jù)線

( 2) 20MB /S( 132MB /S) 速率,寬度周期100NS

( 3) 支持8 位/16 位DMA 操作

( 4) 兼容PCMCIA2. 1 /JEIDA4. 2 以及更早的版本,兼容32 位卡插槽

( 5) 硬件探測(cè)卡電壓需求可以是5V,3. 3V,或更低

( 6) 支持多功能卡

( 7) 利用卡信息結(jié)構(gòu)的擴(kuò)展能力,可以確定卡功能和數(shù)據(jù)格式

2. 2. 2 卡信息結(jié)構(gòu)和配置寄存器的設(shè)計(jì)

卡信息結(jié)構(gòu),簡(jiǎn)稱CIS,是在卡的ATTRIBUTEMEMORY 空間里實(shí)現(xiàn)對(duì)卡進(jìn)行配置的結(jié)構(gòu),相當(dāng)于一個(gè)ROM 結(jié)構(gòu),主機(jī)通過(guò)讀它來(lái)對(duì)卡進(jìn)行配置,它必須從ATTRIBUTE MEMEORY 空間的00H 地址開(kāi)始。它由很多的TUPLE 組成,每個(gè)TUPLE 有一定的結(jié)構(gòu),由若干字節(jié)組成,這些字節(jié)信息只存在于偶數(shù)字節(jié)地址空間,每個(gè)TUPLE 都固定的含有一個(gè)TUPLE 特有的序號(hào)和相對(duì)于下一個(gè)TUPLE 的偏移量,以及TUPLE 體,表明了一定的配置信息,或者功能說(shuō)明。這些TUPLE 連成鏈,用結(jié)束TUPLE( 序號(hào)FFH) 表明鏈的結(jié)束。16 位PC 卡的TUPLE 最多257 個(gè)字節(jié): 一個(gè)字節(jié)的TUPLE 號(hào)+ 一個(gè)字節(jié)的TUPLE 鏈域+ FFH 的TUPLE 體。一個(gè)鏈最多有256 個(gè)TUPLE。

必須要實(shí)現(xiàn)的TUPLE 有:

CISTPL - DEVICE: 5V 設(shè)備信息TUPLE,包含卡設(shè)備的信息。因?yàn)橛玫亩际谴鎯?chǔ)器操作,實(shí)現(xiàn)接口功能,設(shè)備速度是200NS,設(shè)備大小是兩個(gè)512 字節(jié)的塊,共1M 空間。序號(hào)是17H; CISTPL - CONFIG:

給出了ATTRIBUTE MEMORY 空間里配置寄存器的基地址0200H,給出了最后一個(gè)ENTRY TUPLE的序號(hào)是01H,以及配置寄存器的個(gè)數(shù)是1,就是配置選項(xiàng)寄存器,序號(hào)是1AH; CISTPL - CFTABLE -ENTRY: 配置入口TUPLE 明確了每一個(gè)需要的功能,不同的功能被不同的ENTRY TUPLE 區(qū)分,它被自己的配置入口序號(hào)所標(biāo)記。在設(shè)計(jì)中選擇I /OAND MEMORY 接口,使用的是MEMORY 映射I /O方式實(shí)現(xiàn); 中斷方式是脈沖中斷; 使用的commonmemory 空間從0300H 開(kāi)始,1K 大小,TUPLE 序號(hào)是1BH; CISTPL - VERS - 1: 這是卡制造商信息TUPLE,用PCMCIA2. 1 /JEIDA4. 2 版本,序號(hào)是15H; CISTPL - END: 鏈結(jié)束TUPLE,序號(hào)是FFH。

在卡的ATTRIBUTE MEMORY 空間里可有一個(gè)配置寄存器組,這些配置寄存器都是可讀可寫(xiě)的,為了簡(jiǎn)化設(shè)計(jì),一些可選寄存器都沒(méi)有實(shí)現(xiàn),只實(shí)現(xiàn)了必備的配置選項(xiàng)寄存器COR。這個(gè)配置選項(xiàng)寄存器的地址是在CIS 結(jié)構(gòu)中給出的,在0200H 地址單元。一個(gè)8 位的寄存器。結(jié)構(gòu)如下:

表1 配置選項(xiàng)寄存器

 


由主機(jī)寫(xiě)入該寄存器的內(nèi)容,實(shí)現(xiàn)第7 位寫(xiě)1,卡被復(fù)位,第6 位寫(xiě)1 是電平中斷模式,0是脈沖中斷模式,后6 位寫(xiě)入CIS 結(jié)構(gòu)中entry tuple 的序號(hào),實(shí)現(xiàn)該入口對(duì)應(yīng)的配置功能。只實(shí)現(xiàn)了一個(gè)entrytuple,是設(shè)置了一個(gè)common memory 設(shè)備( 也是存儲(chǔ)空間) : 基地址0300 的1KB 空間。

在接口模塊的MEMORY 讀寫(xiě)操作中,配置空間的CIS 是只讀的,COR 是可讀可寫(xiě)的。16 位PC卡的讀寫(xiě)操作屬于異步時(shí)序,沒(méi)有同步時(shí)鐘。

2. 3 ARINC429 通信設(shè)計(jì)

2. 3. 1 DEI1016 接收數(shù)據(jù)時(shí)控制信號(hào)的實(shí)現(xiàn)

采用DEI1016和BD429來(lái)實(shí)現(xiàn)ARINC429數(shù)據(jù)的收發(fā)。HOST 向DEI1016 發(fā)送數(shù)據(jù)時(shí),由于內(nèi)部自帶FIFO,可直接發(fā)送,但要區(qū)分發(fā)送的是WORD1 還是WORD2,還是控制寄存器數(shù)據(jù)。

HOST 從DEI1016 接收數(shù)據(jù)時(shí),用有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)讀取控制信號(hào)時(shí)序,這一過(guò)程完成一個(gè)32 位字的接收,即一次DR1 或DR2 有效,兩次OE1 或OE2 為低,兩次16 位字的接收,實(shí)現(xiàn)過(guò)程如圖2。其中OE1# /OE2#: 讀出接收通道的數(shù)據(jù); DR1# /DR2#: 該通道接收到了數(shù)據(jù); SEL: 字選擇信號(hào)。[!--empirenews.page--]

 


圖2 讀取控制信號(hào)狀態(tài)機(jī)

2. 3. 2 FPGA 內(nèi)部接收FIFO 設(shè)計(jì)

當(dāng)從DEI1016 接收數(shù)據(jù)時(shí),在FPGA 內(nèi)部實(shí)現(xiàn)了一個(gè)64* 16bit 的FIFO,該FIFO 從DEI1016 接收數(shù)據(jù)并緩存,PCMCIA 接口接收數(shù)據(jù)時(shí)只與FIFO進(jìn)行通信。

當(dāng)FIFO 從DEI1016 接收數(shù)據(jù)時(shí),將FIFO 的寫(xiě)時(shí)鐘信號(hào)和ARINC429 接口的通道1 或2 的讀信號(hào)連接在一起,用ARINC429 的讀信號(hào)做FIFO 的寫(xiě)時(shí)鐘,而將FIFO 的寫(xiě)允許信號(hào)始終置為有效‘1’,當(dāng)oe1 /oe2 的上升沿來(lái)臨時(shí),就對(duì)FIFO 進(jìn)行寫(xiě)操作。

當(dāng)PCMCIA 接口從FIFO 接收數(shù)據(jù)時(shí),因?yàn)橹鳈C(jī)讀信號(hào)是低有效的,所以用PCMCIA 接口的讀信號(hào)下降沿做FIFO 的讀時(shí)鐘信號(hào),而將讀允許信號(hào)始終置為允許‘1’。

給FIFO 的發(fā)送端口固定的地址是0300H,主機(jī)從FIFO 中接收數(shù)據(jù)相當(dāng)于對(duì)0300H 地址進(jìn)行讀操作。另外用FIFO 的半滿信號(hào)做中斷信號(hào),即當(dāng)FIFO 中存在32 個(gè)字時(shí)。FIFO 的接收數(shù)據(jù)線與DEI1016 的16 根數(shù)據(jù)線相連,發(fā)送數(shù)據(jù)線與PCMCIA接口的16 位數(shù)據(jù)線相連。

2. 3. 3 寄存器設(shè)計(jì)

為了便于對(duì)一些信號(hào)的控制以及上層軟件訪問(wèn)的便利,在PCMCIA 規(guī)范規(guī)定的common memory 空間里實(shí)現(xiàn)了一個(gè)狀態(tài)寄存器( SR) 和一個(gè)控制寄存器( CR) ,將一些控制和狀態(tài)信號(hào)裝入寄存器中固定的某位,以便上層軟件的控制訪問(wèn)。

在common memory 的0308H 地址單元實(shí)現(xiàn)了一個(gè)狀態(tài)寄存器,它是只讀寄存器。第0 位是TXR信號(hào)量,為1 表示DEI1016 內(nèi)部的FIFO 是空的,可以裝入數(shù)據(jù); 第1 位是FPGA 內(nèi)部FIFO 空信號(hào),為高表示空; 第3 位是FPGA 內(nèi)部FIFO 滿信號(hào),為低表示滿。

在common memory 的0310H 地址單元實(shí)現(xiàn)了一個(gè)控制寄存器,它是可讀可寫(xiě)寄存器。第0 位是ENTX 信號(hào),是DEI1016 發(fā)送數(shù)據(jù)允許信號(hào),為1 表示允許發(fā)送; 第1 位是DEI1016 復(fù)位信號(hào)MR,低有效。

上層軟件在控制向DEI1016 的發(fā)送緩沖區(qū)( FIFO) 寫(xiě)數(shù)據(jù)時(shí),應(yīng)先讀出SR 的TXR 位,F(xiàn)IFO 為空時(shí)即TXR 為1 時(shí)才能讓主機(jī)向FIFO 中寫(xiě)入數(shù)據(jù)。而用CR 的ENTX 位控制DEI1016 是否能發(fā)送數(shù)據(jù)時(shí)也應(yīng)該先判斷TXR,TXR 為高時(shí),即發(fā)送FIFO 為空時(shí),DEI1016 是不能發(fā)送數(shù)據(jù)的,只有為低時(shí)才能發(fā)送; 當(dāng)TXR 為低時(shí),也不能強(qiáng)行拉低ENTX,即發(fā)送FIFO 中有數(shù)據(jù)時(shí),不能強(qiáng)行禁止發(fā)送,因?yàn)檫@樣破壞了原有數(shù)據(jù)的完整性。

同樣可以通過(guò)common memory 中的FIFO -EMPTY 信號(hào)控制主機(jī)從接收FIFO 中取數(shù)據(jù); 還可以寫(xiě)DEI1016 的復(fù)位信號(hào)。

2. 4 存儲(chǔ)空間設(shè)計(jì)概括

卡剛插入筆記本卡插槽的時(shí)候,主機(jī)主動(dòng)讀CIS 內(nèi)容,然后可以寫(xiě)COR,進(jìn)行配置。對(duì)DEI1016操作之前,要先寫(xiě)控制寄存器里的MR 信號(hào),使DEI1016 復(fù)位后,再寫(xiě)入DEI1016 的控制寄存器,然后才可以進(jìn)行數(shù)據(jù)的收發(fā)操作。接收數(shù)據(jù)就是響應(yīng)中斷信號(hào)( FIFO 的半滿信號(hào)) ,從FIFO 中讀取數(shù)據(jù),直到判斷出FIFO - EMPRY 信號(hào)有效。發(fā)送數(shù)據(jù)時(shí),要先判斷SR 里邊的TXR 信號(hào),當(dāng)DEI1016 里的FIFO 為空時(shí),再向FIFO 里發(fā)送數(shù)據(jù),發(fā)送總字?jǐn)?shù)不定,但不能超過(guò)DEI1016 內(nèi)部FIFO 的容量8*32bit,發(fā)送之前拉低ENTX,且每次是先發(fā)送字一,再發(fā)送字二,字一,字二必須成對(duì)發(fā)送,發(fā)送完后拉高ENTX,允許DEI1016 發(fā)送數(shù)據(jù)。

在FPGA 內(nèi)部實(shí)現(xiàn)可利用的存儲(chǔ)區(qū)域概括起來(lái)如下:

表2 存儲(chǔ)區(qū)域使用表

 


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

介紹了應(yīng)用FPGA 完成PCMCIA 接口的ARINC429 通信卡的設(shè)計(jì)方案和其中的難點(diǎn),通過(guò)本次設(shè)計(jì)也為其它應(yīng)用FPGA 完成PCMCIA 接口的PC卡的設(shè)計(jì)提供了可借鑒方案。除了上述之外,上層應(yīng)用程序和板卡的配合也是值得注意的。

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

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

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

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

關(guān)鍵字: 汽車 人工智能 智能驅(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)閉