• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于PCI/PCIX 總線實現(xiàn)寬帶數(shù)據(jù)高速傳輸

      2012-03-18 08:10:30李燕斌
      電訊技術(shù) 2012年8期
      關(guān)鍵詞:數(shù)傳內(nèi)核寬帶

      張 峰,李燕斌

      (中國西南電子技術(shù)研究所, 成都610036)

      1 引 言

      寬帶數(shù)傳通常用于空地或空空的實時預(yù)警監(jiān)視圖像信息傳輸,目前的ISR 圖像正朝著高幀頻、高分辨率方向發(fā)展,這種海量數(shù)據(jù)是否能夠高速傳輸,逐漸成為限制寬帶數(shù)傳終端發(fā)展的瓶頸。傳統(tǒng)數(shù)傳終端采用PCI 專用芯片(PCI9054、PCI9656 等)實現(xiàn)PCI協(xié)議[1-3],這種實現(xiàn)方式存在傳輸速度低、配置靈活性差等缺點。針對這些缺點,本文通過VHDL 語言在FPGA 內(nèi)實現(xiàn)PCI/PCIX 總線協(xié)議,實現(xiàn)了寬帶數(shù)據(jù)高速傳輸。PCI/PCIX 總線采用66 M/64 bit模式,突發(fā)長度為 512 byte, 利用率可達 80%, 即420 Mbyte/s,實驗表明,此通信方式穩(wěn)定可靠,且易于擴展,是寬帶高速數(shù)傳終端的一種理想選擇。

      2 PCI/PCIX 協(xié)議簡析

      PCI 總線標準于1993 年首次提出,版本幾經(jīng)更新,帶寬 由33 M/32 bit 發(fā) 展到66 M/64 bit 后, 升 至PCIX 標準的133 M/64 bit模式。PCI/PCIX 總線可同時支持多個功能模塊,并不受限于處理器結(jié)構(gòu),可作為處理器和高速外圍功能模塊的橋梁。

      PCI/PCIX 總線可采用5 V或3.3 V兩種供電環(huán)境,但不能混合使用。其信號線為CMOS 電平,靜態(tài)電流小,可考慮在FPGA 內(nèi)直接實現(xiàn)PCI/PCIX 的IP核,相對于采用PCI9054 等芯片方式,采用IP 核的方式能夠減少PCB 布板面積,降低工程成本,簡化數(shù)據(jù)流向,且具有易于升級、擴展等功能。

      3 基于FPGA 實現(xiàn)PCI/PCIX 總線IP 核

      寬帶數(shù)傳終端模塊硬件結(jié)構(gòu)框圖如圖1 所示。模塊可認為由采集子單元和主控子單元構(gòu)成。采集子單元主要由FPGA 及其相連的外圍芯片組成,CCD相機數(shù)據(jù)通過Cameralink 接口進入到FPGA,由FPGA 完成對相機數(shù)據(jù)的采集,并通過SDRAM 乒乓緩存,緩存后的數(shù)據(jù)通過PCI/PCI 總線與主控子單元相連。主控子單元主要由PowerPC 及其相連的外圍芯片組成,內(nèi)存由512 Mbyte的DDR 存儲器組成,外置Flash 芯片用于存儲操作系統(tǒng)信息,通過網(wǎng)絡(luò)物理層芯片實現(xiàn)了網(wǎng)絡(luò)通信功能,用于與上位機進行數(shù)據(jù)交互,主控單元作為PCI/PCIX 總線的主設(shè)備,通過點對點通信,與作為從設(shè)備的FPGA 相連。

      圖1 基于PCI/PCI 總線的寬帶數(shù)傳框圖Fig.1 The wideband data transport structure based on PCI/PCIX

      寬帶數(shù)傳終端模塊軟件主要涉及在FPGA 內(nèi)實現(xiàn)PCI/PCIX 協(xié)議,利用中斷和主控單元實現(xiàn)基于PCI/PCIX 的數(shù)據(jù)交互。PowerPC 加載操作系統(tǒng)及PCI 設(shè)備驅(qū)動,實現(xiàn)PCI/PCIX 數(shù)據(jù)交互。其關(guān)鍵技術(shù)和實現(xiàn)難點在于如何在FPGA 內(nèi)通過VHDL 語言實現(xiàn)PCI/PCIX 協(xié)議及在PowerPC440 下Linux 操作系統(tǒng)的移植。

      根據(jù)PCI/PCIX 協(xié)議,在FPGA 內(nèi)實現(xiàn)此IP 核,可考慮將PCI/PCIX IP 核劃分為6 個單元,即PCI I/O 接口單元、極性產(chǎn)生/判別單元、發(fā)送單元、接收單元、配置空間單元和用戶應(yīng)用接口,如圖2 所示。

      圖2 PCI/PCIX 結(jié)構(gòu)框圖Fig.2 PCI/PCIX IP core structure

      PCI I/O 接口模塊用于PCI/PCIX IP 核的對外接口信號,通常通過“金手指”與PCI 插槽相連。

      極性產(chǎn)生/判別模塊對地址數(shù)據(jù)AD 信號,字節(jié)使能CBE 信號R 進行奇偶校驗,并通過PERR 信號和SERR 信號上報結(jié)果。

      發(fā)送模塊根據(jù)用戶應(yīng)用需要產(chǎn)生發(fā)送數(shù)據(jù)狀態(tài)機,發(fā)送PCI/PCIX 數(shù)據(jù), 支持的數(shù)據(jù)讀寫方式有PIO 32 位、PIO 64 位以及突發(fā)32 位、突發(fā)64 位。

      接收模塊根據(jù)用戶應(yīng)用需要產(chǎn)生接收數(shù)據(jù)狀態(tài)機,接收PCI/PCIX 數(shù)據(jù)。

      配置空間模塊用于配置PCI/PCIX 配置空間中的3 個基址寄存器、命令/狀態(tài)寄存器、中斷線以及Device ID 和Vendor ID 等。

      用戶應(yīng)用接口是PCI/PCIX 總線IP 核最重要的邏輯接口,它控制發(fā)送狀態(tài)機發(fā)送數(shù)據(jù),并對接收到的數(shù)據(jù)進行判斷,同時對中斷進行控制和處理等。

      實際工程中,將配置空間中的Device ID 和Vendor ID 分別設(shè)置為0x1000、0x10ee,以在PowerPC440加載操作系統(tǒng)時加以探測并區(qū)分。將基址寄存器0配置為I/O 空間,256 byte大小,并使能BAR0。BAR2配置為Memory 空間,64 Mbyte,64 bit寬?;芳拇嫫? 映射為64 Mbyte空間,是根據(jù)FPGA 外接的64 Mbyte 的SDRAM 的尋址范圍確定的,如圖1 所示。

      在用戶應(yīng)用接口,配置PCI/PCIX IP 核為64 bit突發(fā)寫模式,FPGA 發(fā)起數(shù)據(jù)傳輸, 將數(shù)據(jù)寫入到PCI 的基址寄存器BAR2,寫完64 Mbyte數(shù)據(jù),產(chǎn)生中斷信號,通知處理器PowerPC440 進行數(shù)據(jù)處理。中斷信號由FPGA 產(chǎn)生,通過INTA 信號接口,連接到PowerPC440 的中斷控制器上。

      4 PowerPC440 加載PCI/PCIX 驅(qū)動

      本文選擇在PowerPC440 處理器上運行Linux 操作系統(tǒng)[4]。

      嵌入式Linux 操作系統(tǒng)的移植分為四步:第一步,做嵌入式處理器的引導(dǎo)程序bootloader,這一部分相當于PC 機的BIOS,即需要嵌入式處理器完成一個上電自啟動;第二步,裁減Linux 內(nèi)核,需要嵌入式處理器自啟動后加載定制的Linux 內(nèi)核,將PCI 編譯成內(nèi)核的一個模塊;第三步,建立文件系統(tǒng),Linux 通過文件系統(tǒng)對文件及設(shè)備進行管理,需要文件系統(tǒng)對PCI 進行管理、控制;第四步,編寫應(yīng)用層程序,通過應(yīng)用層程序,發(fā)起PCI 操作,完成數(shù)據(jù)傳輸。

      由于FPGA 本身不是標準的PCI 接口,在Linux操作系統(tǒng)中并不存在相應(yīng)的驅(qū)動,因此需要單獨開發(fā)基于FPGA 實現(xiàn)的PCI/PCIX IP 核驅(qū)動[4]。首先在內(nèi)核中注冊一個PCI 設(shè)備,將FPGA 作為一個塊設(shè)備注冊(在Linux 下,塊設(shè)備比字符設(shè)備具有更大的數(shù)據(jù)吞吐速率);在Linux 內(nèi)核中調(diào)用pci-enabledevice()函數(shù)探測并激活FPGA。當PowerPC440 處理器探測到Device ID 和VendorID 分別為0x1000、0x10ee 時,即為發(fā)現(xiàn)PCI 設(shè)備FPGA,發(fā)起數(shù)據(jù)傳輸操作。

      數(shù)據(jù)傳輸采用DMA 方式,與配置的PCI/PCIX突發(fā)模式對應(yīng)。

      5 測試結(jié)果

      將PCI/PCIX 驅(qū)動程序采用insmod 命令編譯進Linux 內(nèi)核,加載網(wǎng)絡(luò)文件系統(tǒng)后, 在應(yīng)用層發(fā)起PCI/PCIX 傳輸操作,將SDRAM 中的64 Mbyte數(shù)據(jù)由FPGA 經(jīng)PCI/PCIX 寫入到PowerPC440 的內(nèi)存,通過示波器測PCI/PCIX 的FRAME 信號,FRAME 為幀周期信號,表示一次訪問的開始和持續(xù)時間。

      實驗條件如下:CPU 為Pentium(R)Dual -CoreE5200@2.5GHz;內(nèi)存2 Gbyte;操作系統(tǒng)為Windows XP Professinal Service Pack 3;ISE 版本:10.1.03;Linux 內(nèi)核版本:2.6.26.1;示波器:Agilent Oscilloscope DSO5034A。實驗結(jié)果如表1 所示。

      表1 PCI/PCIX IP 核傳輸速率Table 1 The transmission speed for PCI/PCIX

      實驗表明,基于FPGA 實現(xiàn)的PCI/PCIX IP 核在66 M/64 bit,以突發(fā)長度為512 byte的條件下,傳輸速度可穩(wěn)定在420 Mbyte/s以上,總線利用率在80%左右,性能超過目前常用的RapidIO(3.125 Gbit/s)總線以及PCIE(2.5 Gbit/s)總線,考慮到PCI/PCIX 總線在嵌入式系統(tǒng)設(shè)計中的通用性及實現(xiàn)難度, 這種傳輸方式將會得到廣泛應(yīng)用,且已在某寬帶項目中得到驗證。

      6 結(jié)束語

      傳統(tǒng)寬帶數(shù)傳通過采用PCI9054、PCI9656 等外圍芯片實現(xiàn)PCI 總線協(xié)議,這種方式增加了PCB 板的面積與功耗,及系統(tǒng)復(fù)雜性,而采用FPGA 通過VHDL 硬件語言實現(xiàn)PCI/PCIX 協(xié)議,將PCI/PCIX 作成一個通用的IP 核,增加了程序的通用性或移植性,為寬帶數(shù)據(jù)處理終端提供了一種靈活的數(shù)據(jù)傳輸方式,是利用FPGA 實現(xiàn)高速數(shù)傳的一種有效嘗試。目前,PCI/PCIX 總線是66 M/64 bit傳輸方式,下一步考慮升級為133 M/64 bit傳輸方式,以增加系統(tǒng)帶寬,實現(xiàn)更高速度的寬帶數(shù)傳。

      [1] 楊茂, 戴紫彬.基于PCI9656 設(shè)備驅(qū)動程序的linux2.6內(nèi)核研究[ J] .微計算機信息,2006,22(1):126-128.

      YANG Mao,DAI Zi-bin.Research of linux 2.6 kernel based on devic driver of PCI9656[ J] .Information of Micor-Computer,2006, 22(1):126-128.(in Chinese)

      [2] 曹琦,畢篤彥,王洪迅.基于PCI 總線的高速CCD 圖像存儲系統(tǒng)設(shè)計[J] .微計算機信息,2007,23(19):169-171.

      CAO Qi, BI Du-yan,WANG Hong-xun.High-speed CCD image storage system desiging based on PCI bus[J] .Information of Micor-Computer,2007,23(19):169-171.(in Chinese)

      [3] 周磊, 胡學龍.基于linux 平臺的PCI 數(shù)據(jù)接口卡驅(qū)動設(shè)計[ J] .國外電子測量技術(shù),2006,25(12):16-19.

      ZHOU Lei,HU Xue-long.Design of PCI data interface card driver based on linux[ J] .Foreign Electronic Measurement Techmology,2006,25(12):16-19.(in Chinese)

      [4] Corbet J, Rubini A,Kroah-Hartman G.LINUX 設(shè)備驅(qū)動程序[M] .魏永明, 耿岳,鐘書毅, 譯.北京:中國電力出版社, 2007.

      Corbet J,Rubini A,Kroah-Hartman G.linux device driver[M] .Translated by WEI Yong-ming,GENG Yue,ZHONG Shu-yi.Beijing:China Electric Power Press,2007.(in Chinese)

      猜你喜歡
      數(shù)傳內(nèi)核寬帶
      萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
      基于數(shù)傳電臺的靶彈測控系統(tǒng)設(shè)計
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      裝寬帶的人
      文苑(2020年7期)2020-08-12 09:36:04
      嫦娥衛(wèi)星數(shù)傳副瓣信號的干涉測量研究與精度驗證
      載人航天(2019年1期)2019-03-07 01:41:02
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護機制研究
      一種新穎的寬帶大功率分配器
      高速數(shù)傳電纜散射參數(shù)的測試及半實物仿真的分析與研究
      電子器件(2015年5期)2015-12-29 08:43:30
      可否把寬帶作為社會福利
      巩义市| 远安县| 嵩明县| 峨山| 五原县| 唐河县| 尚义县| 德格县| 东山县| 杂多县| 明星| 泰宁县| 德阳市| 宁明县| 胶南市| 绥中县| 民县| 锡林浩特市| 凌源市| 尉犁县| 思南县| 长子县| 彝良县| 徐州市| 安龙县| 资源县| 庆阳市| 来凤县| 和政县| 堆龙德庆县| 曲麻莱县| 黄石市| 宁安市| 攀枝花市| 郁南县| 扎兰屯市| 八宿县| 凤城市| 临湘市| 宁晋县| 海阳市|