《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的CPCI總線多功能通信卡的設(shè)計
基于FPGA的CPCI總線多功能通信卡的設(shè)計
2015年微型機與應(yīng)用第4期
李 猛1,崔迎煒2
(1.沈陽航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136; 2.北京方天長久科技有限公司,北京 100084)
摘要: 為了提高航空航天領(lǐng)域?qū)π盘柼幚?、傳輸?shù)膶崟r性及可靠性,以Cyclone III系列EP3C40F324I7為核心處理器,設(shè)計了一種基于CPCI總線的多功能通信卡。結(jié)合高效的FPGA算法,設(shè)計出一款實時性強、可靠性高的多功能通信卡。經(jīng)測試使用,該多功能通信卡各項性能指標均達到要求,已投入實際應(yīng)用中。
關(guān)鍵詞: EP3C40F324I7 CPCI總線 FPGA 通信
Abstract:
Key words :

  摘  要: 為了提高航空航天領(lǐng)域?qū)π盘柼幚?、傳輸?shù)膶崟r性及可靠性,以Cyclone III系列EP3C40F324I7為核心處理器,設(shè)計了一種基于CPCI總線的多功能通信卡。結(jié)合高效的FPGA算法,設(shè)計出一款實時性強、可靠性高的多功能通信卡。經(jīng)測試使用,該多功能通信卡各項性能指標均達到要求,已投入實際應(yīng)用中。

  關(guān)鍵詞: EP3C40F324I7;CPCI總線;FPGA;通信;多功能

0引言

  CPCI總線[1]是由PCI總線發(fā)展而來的一種緊湊型32/64 bit局部總線,最高帶寬可達512 MB/s。因其具有高開放性、高可靠性、可熱插拔等優(yōu)點,被廣泛應(yīng)用于航空航天、信息通信、工業(yè)控制、數(shù)據(jù)采集等領(lǐng)域。相對于傳統(tǒng)的以單片機、MCU為核心的數(shù)據(jù)處理系統(tǒng),現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)以其高速、靈活、高集成度、高性能、抗干擾、現(xiàn)場可編程等優(yōu)點,在上述領(lǐng)域中得到了廣泛應(yīng)用[2]。本設(shè)計將CPCI總線技術(shù)與FPGA技術(shù)巧妙結(jié)合,以Altera公司的高性能芯片EP3C40F324I7為核心處理器,根據(jù)應(yīng)用需求,研制開發(fā)了一款實時性強、可靠性高的多功能通信卡。

1 多功能通信卡總體方案

  FPGA核心處理器EP3C40F324I7通過CPCI總線與主機進行信息交互,主要實現(xiàn)各模塊信號采集、處理、傳輸?shù)裙δ堋V鳈C通過CPCI總線發(fā)送命令、數(shù)據(jù),F(xiàn)PGA微處理器接到指令后,對相關(guān)信號進行處理,將處理結(jié)果通過CPCI總線反饋給主機,并通過標準的通信接口外接引出,從而進行分析、計算。該多功能通信卡總體方案如圖1所示。

001.jpg

2 硬件設(shè)計

  2.1 FPGA芯片選型與設(shè)計

  本設(shè)計中FPGA微處理器通過CPCI總線實現(xiàn)RS232串行通信、RS422串行通信、脈沖計數(shù)、數(shù)字輸出等多種功能,綜合考慮FPGA內(nèi)部存儲單元數(shù)量、I/O引腳數(shù)量等因素,選擇Altera公司的EP3C40F324用于功能模塊開發(fā)。EP3C40F324為FPGA封裝,內(nèi)部LE 39 600個,M9K 126個,RAM總量為1 161 216 bit,18×18的乘法器126個,鎖相環(huán)4個,全局時鐘網(wǎng)絡(luò)20個,可用I/O口195個,可用差分通道61個,可以滿足系統(tǒng)開發(fā)需求。

  EP3C40F324需3種供電電壓,I/O供電電壓為+3.3 V,PLL的模擬供電電壓為+2.5 V,內(nèi)核及PLL的數(shù)字供電電壓均為+1.2 V。其中,+3.3 V由背板經(jīng)CPCI J1直接供給,+2.5 V通過電源芯片LT1963AES8由+3.3 V轉(zhuǎn)換而得,+1.2 V通過電源芯片TPS74401由+3.3 V轉(zhuǎn)換而得。設(shè)計中,充分考慮到芯片功耗問題,內(nèi)核及PLL的數(shù)字供電特采用TI公司的TPS74401電源芯片將+3.3 V轉(zhuǎn)換為+1.2 V,其輸出電流為3 A,保證了電源功率。

  FPGA的輸入時鐘由背板經(jīng)CPCI J1提供,使CPCI總線頻率穩(wěn)定在33 MHz。FPGA的上電復(fù)位模式選擇AS Standard POR。采用增強型配置芯片EPCS16對FPGA進行了主動串行(AS)配置,同時利用微處理器本身進行了基于JTAG的配置。兩種配置方案,保證了FPGA程序燒錄的可靠性、穩(wěn)定性。FPGA芯片設(shè)計如圖2所示。

002.jpg

  2.2 總線接口設(shè)計

  本設(shè)計中采用32 bit/33 MHz CPCI總線接口,其傳輸率可達133 MB/s,實現(xiàn)了設(shè)備之間的高速通信。通過CPCI連接器,CPCI總線信號與FPGA的I/O口互連。

  FPGA微處理器通過地址和數(shù)據(jù)信號AD[31..00]、總線命令和字節(jié)使能信號C/BE[3..0]#與主機進行I/O地址的選擇,以及數(shù)據(jù)、命令的傳輸。FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#、IDSEL等接口控制信號用于設(shè)備選擇、讀寫控制。FPGA微處理器如需占用總線,則需向主機發(fā)出總線占用請求信號REQ#,主機收到總線占用請求信號后,通過仲裁向FPGA微處理器發(fā)送總線占用允許信號GNT#。由于總線上沒有掛接其他設(shè)備,故總線的使用由FPGA微處理器獨占。INTA#用于向總線進行中斷請求,以實現(xiàn)中斷功能。通信過程中如有錯誤發(fā)生,則FPGA微處理器通過PERR#、SERR#與主機進行錯誤報告,以保證數(shù)據(jù)傳輸可靠、完整[3]。

  2.3 脈沖信號處理電路設(shè)計

  被測設(shè)備的脈沖信號通過CPCI J4連接器進入板卡。利用光電耦合器GH137對脈沖進行光電隔離,以減少板上其他信號的干擾,提高脈沖數(shù)字信號的抗干擾能力。經(jīng)過光耦隔離的脈沖數(shù)字信號,由TI公司的SN54AHC14W進行波形整形。SN54AHC14W是帶有施密特觸發(fā)的6路反相器。施密特觸發(fā)器是脈沖波形變換中經(jīng)常使用的一種電路,不僅能將邊沿變化緩慢的信號波形整形為邊沿陡峭的矩形波,而且可以將疊加在矩形脈沖高、低電平上的噪聲有效地清除。故經(jīng)過SN54AHC14W整形的脈沖數(shù)字信號波形更加理想,易于FPGA微處理器進行處理、計數(shù)。

  高穩(wěn)定度溫度補償晶體振蕩器Osc-TCXO4產(chǎn)生的1 024 kHz時鐘脈沖,經(jīng)SN54AHC14W整形后送入FPGA,供脈沖計數(shù)使用。由于本板卡應(yīng)用于軍工、國防領(lǐng)域,需要非常穩(wěn)定的晶振,故采用溫度補償晶體振蕩器。TCXO溫度補償通過改變振蕩回路中負載電容,使其隨溫度變化來補償由于環(huán)境溫度變化產(chǎn)生的頻率漂移,從而產(chǎn)生精度非常高的時鐘,提高脈沖計數(shù)精度。脈沖信號處理電路如圖3所示。

003.jpg

  2.4 差分接口設(shè)計

  本設(shè)計中有2路RS232串口,4路RS422串口,最高傳輸率分別為115.2 kb/s、921.6 kb/s。由于應(yīng)用條件嚴苛,設(shè)計中選用了電磁隔離器件,大大提高了通信的可靠性。RS232收發(fā)器選用AD公司的ADM3251E,其數(shù)據(jù)傳輸率最高可達460 kb/s。RS422收發(fā)器選用AD公司的ADM2582E,其數(shù)據(jù)傳輸率最高可達16 Mb/s。二者均在器件內(nèi)部集成了DC-DC轉(zhuǎn)換器,有效地降低了干擾,且其傳輸速率也滿足使用需求。同時,由于主機串口傳輸率為9 600 b/s,故選擇22.118 4 MHz的晶振為串行通信提供穩(wěn)定時鐘。

  被測設(shè)備將周期5 ms和10 ms的時鐘信號輸出給板卡,作為測試儀周期中斷信號。時鐘接口電路采用422差分協(xié)議,電平采用422電平。時鐘信號經(jīng)CPCI J5連接器進入板卡,接收器采用NS公司的4路差分接收器DS26LS32,以滿足422電平標準。調(diào)理之后的422電平信號經(jīng)光電耦合器GH137加以隔離,以減少其他信號的干擾。

  由于DS26LS32、GH137內(nèi)部未集成DC-DC轉(zhuǎn)換功能,故需要有單獨的DC-DC電源模塊將板上電源進行隔離,以給二者供電。此處選用了TI公司的DCR01系列芯片完成隔離電源供電的功能。測試儀周期中斷信號電路設(shè)計如圖4所示。

004.jpg

  測試儀向被測設(shè)備發(fā)送RS422差分信號作為被測設(shè)備同步信號。同步信號接口電路采用422差分協(xié)議,電平采用422電平。同步脈沖從FPGA微處理器送出后,經(jīng)光電耦合器GH137隔離,進入MAXIM公司的MAX3491收發(fā)器。MAX3491的數(shù)據(jù)傳輸速率可達10 Mb/s,滿足傳輸要求。信號經(jīng)CPCI J5連接器外送至被測設(shè)備,以校準時差,實現(xiàn)被測設(shè)備同步功能。同時,為減少其他信號的干擾,將對時脈沖采取隔離措施,由TI公司的DCR01系列電源芯片單獨供電。由于MAX3491與GH137的供電電壓不同,故通過二極管串聯(lián)電壓鉗位的方式獲得合適的供電電壓為GH137供電,有效解決了隔離供電問題。被測設(shè)備同步信號電路設(shè)計如圖5所示。

005.jpg

  2.5 數(shù)字輸出電路設(shè)計

  測試儀的I/O功能由數(shù)字輸出量來實現(xiàn)。FPGA通過設(shè)置寄存器方式向外輸出高低電平,以實現(xiàn)復(fù)位、控制等功能。高低電平從FPGA發(fā)出,經(jīng)光電耦合器GH137隔離,提高信號抗干擾性能。經(jīng)隔離的信號進入FAIRCHILD公司的FDS9945作為電平控制信號。

  FDS9945內(nèi)部為N溝道MOSFET,電平控制信號連接于場效應(yīng)管的柵極G(Gate),場效應(yīng)管的源極S(Source)接隔離地,漏極D(Drain)的輸出可作為復(fù)位、控制信號。漏極D的輸出電平經(jīng)CPCI J5連接器外送至被控制的對象。利用MOS管的開關(guān)特性,通過改變柵極G的電平來控制場效應(yīng)管源極S、漏極D的通斷,從而實現(xiàn)復(fù)位、控制等功能[4]。數(shù)字輸出電路設(shè)計如圖6所示。

006.jpg

3 FPGA程序設(shè)計

007.jpg

  本采集卡FPGA邏輯設(shè)計采用Verilog代碼[5]實現(xiàn),主要實現(xiàn)數(shù)據(jù)采集、存儲、讀寫等命令控制,其主流程圖如圖7所示。FPGA主要實現(xiàn)CPCI接口到RS232、RS422等接口轉(zhuǎn)換,以及422電平輸入輸出、數(shù)字輸出、脈沖計數(shù)等功能。PCI BAR0映射為8 KB IO空間,BAR1映射為1 MB Memory空間。PCI采用中斷復(fù)用,通過使能中斷寄存器而觸發(fā)不同協(xié)議的中斷,如RS232、RS422通信等,從而分別調(diào)用相應(yīng)的中斷服務(wù)程序完成通信任務(wù)。

4 結(jié)果分析

008.jpg

  圖8為串口內(nèi)部數(shù)據(jù)收發(fā)仿真,圖9為總線上數(shù)據(jù)收發(fā)仿真,圖10為數(shù)字輸出仿真。由實驗結(jié)果可知,該I/O卡在進行數(shù)據(jù)通信時,無論是串口內(nèi)部的環(huán)回通信,還是PCI總線上的通信,讀寫信息一致,沒有產(chǎn)生通信錯誤。同時,6路數(shù)字輸出量也有由默認低電平到輸出高電平的跳變,完成了相應(yīng)的數(shù)字控制功能??梢姡揑/O通信卡成功實現(xiàn)了數(shù)據(jù)的實時采集、處理、上傳等功能,目前已投入實際應(yīng)用之中,具有較高的使用價值。

參考文獻

  [1] PICMG. Compact PCI specification 2.0 R3.0[S]. 1999.

  [2] 羅苑棠.CPLD/FPGA常用模塊與綜合系統(tǒng)設(shè)計實例精講[M].北京:電子工業(yè)出版社,2007.

  [3] 李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.

  [4] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,2004.

  [5] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2009.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。