ARM與FPGA通信接口板設(shè)計(jì)._第1頁(yè)
ARM與FPGA通信接口板設(shè)計(jì)._第2頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM 與 FPGA!信接口板設(shè)計(jì)關(guān)鍵詞:雙口 RAM 乒乓操作;流控機(jī)制 1 概述某項(xiàng)目中需設(shè)計(jì)一塊通信接口板,實(shí)現(xiàn) ARM 2440 核心板和 FPGA 言號(hào)處理板之 間的通信,因該板交換速率達(dá)到 10Mbps 要求不能頻繁中斷 ARh 處理器,且具 備流控機(jī)制,設(shè)計(jì)上有一定難度,基于雙口RAM 設(shè)計(jì)了乒乓操作機(jī)制和流控機(jī)制,有效地降低了系統(tǒng)負(fù)荷。2 電路及驅(qū)動(dòng)設(shè)計(jì)2.1 接口板電路設(shè)計(jì) 接口板基于兩片雙口 RAM 芯片 IDT CY7C007AV 實(shí)現(xiàn),電路示意圖如圖 1 所示。 每片 CY7C007AV 有 8KB 的存儲(chǔ)空間,12 位地址總線,8 位數(shù)據(jù)總線。為提高端 口讀寫效率,F(xiàn)

2、PGA 寸 ARM 發(fā)送時(shí)采用乒乓操作方式,ARM 寸 FPGA 發(fā)送時(shí)采用流 控方式。由于核心板擴(kuò)展槽的地址總線和數(shù)據(jù)總線位寬限制,采用兩片雙口RAM 一片供 FPGA 向 ARM 發(fā)送數(shù)據(jù)用,另一片供 ARM 向 FPGA 發(fā)送數(shù)據(jù)用,以下分別建成 上部雙口 RAM 和下部雙口 RAM 上部雙口 RAM 分為兩部分,供 FPGA 采用乒乓操 作方式寫入數(shù)據(jù),F(xiàn)PGA 寫完上半部后通過(guò)在 EINT5 上產(chǎn)生上升沿中斷通知 ARM 寫完下半部后通過(guò)通過(guò)在 EINT6 上產(chǎn)生上升沿中斷通知 ARM 下部雙口 RAM 供 ARM 向 FPGAf入數(shù)據(jù),其接線方式與上部雙口 RAM 類似。兩塊雙口

3、RAM 勺電路采用對(duì)稱方式,其電路如圖 2 所示。兩片雙口 RAM 可以互 換,下部雙口 RAM 也可供 FPGA 寫入數(shù)據(jù),而 ARM 則寫入上部雙口 RAM 在實(shí)際 測(cè)試中,兩種方式均測(cè)試過(guò)。ARMW 雙口 RAM 連接時(shí),采用 SRAh 時(shí)序,為避免/減弱二次反射,ARMW 總線驅(qū) 動(dòng)之間加 33 歐的串聯(lián)匹配電阻,匹配電阻靠近擴(kuò)展槽的近端。FPGA 端對(duì)雙口RAM 勺讀寫也采用 SRAh 時(shí)序,在與雙口 RAM 連接時(shí)均串了 33 歐姆的匹配電 阻。由于核心板上 ARM 處理器距離接口板較遠(yuǎn),接近十厘米,且核心板為四層板, 總線驅(qū)動(dòng)能力較弱,在 ARM 處理器和雙口 RAM 之間添加四

4、片總線驅(qū)動(dòng)芯片,除 增加總線驅(qū)動(dòng)能力外還可通過(guò)關(guān)斷總線驅(qū)動(dòng)芯片,避免接口板噪聲干擾核心 板。ARM 勺 8 位數(shù)據(jù)線通過(guò) 245 總線驅(qū)動(dòng)芯片引出,其方向由 LnOE 讀信號(hào)控制,地 址總線則采用 244 和 541 芯片實(shí)現(xiàn)。ARM 賣時(shí),數(shù)據(jù)由 245 流向 ARMM, ARM 寫 時(shí),數(shù)據(jù)由 245 流向雙口 RAMH側(cè)。中斷信號(hào)線連接在 244 芯片上,數(shù)據(jù)線連 接在 245 芯片上,二者均采用 Ngcs4 作為片選線,在ARM 一端將 Ngcs4 定義為 GPIQ 拉低則選中兩塊芯片。245 驅(qū)動(dòng)接口電路如圖 3 所示。2.2 接口板驅(qū)動(dòng)設(shè)計(jì)1)虛擬網(wǎng)卡驅(qū)動(dòng)由于 ARM 核心板采用

5、VxWorks 操作系統(tǒng),接口板作為 ARM 板的外設(shè),驅(qū)動(dòng)程序 參照VxWorks 下網(wǎng)卡驅(qū)動(dòng)格式編制,稱為虛擬網(wǎng)卡驅(qū)動(dòng)。在實(shí)際網(wǎng)卡中,物理層包括曼徹斯特編解碼和鏈路層的CSMA/C 協(xié)議,但虛擬網(wǎng)卡無(wú)需實(shí)現(xiàn)上述功能,物理層的調(diào)制和解調(diào)交由FPGA 言號(hào)處理板實(shí)現(xiàn),鏈路層的接入?yún)f(xié)議由 ARM 核心板按組網(wǎng)協(xié)議控制收發(fā)時(shí)機(jī)即可。接口板唯一需要實(shí) 現(xiàn)的是按照 VxWorks 的網(wǎng)卡驅(qū)動(dòng)格式實(shí)現(xiàn)接口板初始化、數(shù)據(jù)收發(fā)和中斷控制 等操作。首先,接口板需要初始化板上的兩片雙口RAM 雙口 RAM 一片被映射到0 x8000000,另一片被映射到 0 x10000000,均采用 SRAh 時(shí)序,需要配置

6、 BWSCON 寄存器,BANKCON 和 BANKCON2 對(duì)應(yīng)的時(shí)序?yàn)椋篢acs=1,對(duì)應(yīng) 1 個(gè)時(shí)鐘周期;Tcos=1,對(duì)應(yīng) 4 個(gè)時(shí)鐘周期;Tacc=1,對(duì)應(yīng) 2 個(gè)時(shí)鐘周期;Tcoh=1,對(duì)應(yīng) 1 個(gè) 時(shí)鐘周期;Tcah=1,對(duì)應(yīng) 1 個(gè)時(shí)鐘周期;Tacp=1,對(duì)應(yīng) 3 個(gè)時(shí)鐘周期。完成雙口 RAM 初始化后,需要初始化對(duì)應(yīng)的中斷線和GPIO 線,ARMi 理器與PowerPC 處理器類似,存在大量的復(fù)用信號(hào)線,此時(shí)需要將EINT5/6/8 定義為中斷線, 而將 EINT7 定義為 GPIO 線; 同樣要將 nGCS4/5 定義為 GPIO 線, 而 nGCS1/2則默認(rèn)為片選線。驅(qū)

7、動(dòng)程序參照 VxWorks 下 END Driver 規(guī)范撰寫,對(duì)外提供 NET_FUNC 結(jié)構(gòu)的接口函數(shù)列表,在啟動(dòng)函數(shù)中使能設(shè)備,掛載中斷服務(wù)程序;在發(fā)送函數(shù)中先向 雙口 RAM填寫包長(zhǎng)字段,而后將整個(gè)數(shù)據(jù)包拷貝入雙口RAM 接收函數(shù)由中斷啟動(dòng),先讀包長(zhǎng),再偏移指針,從雙口RAM 中讀取相應(yīng)長(zhǎng)度的數(shù)據(jù)。2) 乒乓操作機(jī)制將雙口 RAM 分為上半部和下半部,每部分大小為 2048 字節(jié)。當(dāng) FPGA 將 1500 字 節(jié)寫完上半部雙口 RAM!,通過(guò)在 EINT5 上產(chǎn)生上升沿中斷通知 ARM 處理器, 讀取上半部雙口 RAM 數(shù)據(jù);同時(shí)將后續(xù)數(shù)據(jù)寫入下半部雙口RAM 寫完后,通過(guò)在 EIN

8、T6 上產(chǎn)生上升沿中斷通知 ARM 賣下半部雙口 RAM 這樣,就形成了乒 乓操作,既提高了讀寫的連續(xù)性,又保證了不頻繁中斷ARM 處理器。FPGA 端發(fā)送數(shù)據(jù)時(shí)采用乒乓操作,不需設(shè)置流控。3) 流控機(jī)制ARM 端發(fā)送時(shí),需采用流控協(xié)議,ARM 端有 64M 字節(jié)內(nèi)存,可以進(jìn)行 IP 包的緩 存,ARMS 以太網(wǎng)速率可達(dá) 100Mbps 而 FPGA 端最大速率為 10Mbps 凈用戶速 率不到10Mbps 因此必須設(shè)置流控。ARM 寫滿 1536 字節(jié)后,通過(guò) EINT7 發(fā)送沿 中斷給 FPGA采用下降沿形式;FPGA 賣完內(nèi)存后,通過(guò) EINT8 發(fā)上升沿中斷給 ARM ARMfc果沒(méi)有

9、收到 FPGA 勺中斷,不再寫入雙口 RAM為進(jìn)一步提高效率同時(shí)也為了方便 FPGA 編程,ARM 發(fā)送數(shù)據(jù)到雙口 RAM 寸,在 數(shù)據(jù)頭部放置兩字節(jié)的長(zhǎng)度字段,ARM 從網(wǎng)卡收到的數(shù)據(jù)可為 42 字節(jié)的 ARP 包,也可為1500 字節(jié)的 IP 包,ARM 艮據(jù)網(wǎng)絡(luò)層下傳的字長(zhǎng),填充長(zhǎng)度字段, 將長(zhǎng)度和數(shù)據(jù)包放入雙口 RAM 而后通過(guò)中斷線通知 FPGA 賣雙口 RAM FPGA 固 定讀 2048 字節(jié)的數(shù)據(jù),發(fā)送時(shí)也發(fā)送 2048 字節(jié)數(shù)據(jù)到遠(yuǎn)端。遠(yuǎn)端解調(diào)譯碼 后,仍然將 2048 字節(jié)寫入接收端的雙口 RAM ARM 賣雙口 RAM 時(shí),首先讀取開 頭的兩個(gè)字節(jié)長(zhǎng)度字段,而后指針偏移兩個(gè)字節(jié),根據(jù)長(zhǎng)度字段讀取對(duì)應(yīng)長(zhǎng)度 的數(shù)據(jù),交給 IP 層通過(guò)網(wǎng)卡轉(zhuǎn)發(fā)給用戶。3 總結(jié)介紹了 ARM 主控板與 FPGA 言號(hào)處理板間通信接口板的電路設(shè)計(jì)和驅(qū)動(dòng)設(shè)計(jì),重 點(diǎn)對(duì)虛擬網(wǎng)卡驅(qū)動(dòng)、乒乓操作機(jī)制和流控機(jī)制進(jìn)行了闡述。參考文獻(xiàn):1崔俊杰、郭宏,基于 FPGA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論