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

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

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

0引言

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

1 多功能通信卡總體方案

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

001.jpg

2 硬件設(shè)計(jì)

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

  本設(shè)計(jì)中FPGA微處理器通過CPCI總線實(shí)現(xiàn)RS232串行通信、RS422串行通信,、脈沖計(jì)數(shù),、數(shù)字輸出等多種功能,綜合考慮FPGA內(nèi)部存儲(chǔ)單元數(shù)量,、I/O引腳數(shù)量等因素,,選擇Altera公司的EP3C40F324用于功能模塊開發(fā)。EP3C40F324為FPGA封裝,,內(nèi)部LE 39 600個(gè),,M9K 126個(gè),RAM總量為1 161 216 bit,,18×18的乘法器126個(gè),鎖相環(huán)4個(gè),,全局時(shí)鐘網(wǎng)絡(luò)20個(gè),,可用I/O口195個(gè),可用差分通道61個(gè),,可以滿足系統(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è)計(jì)中,,充分考慮到芯片功耗問題,內(nèi)核及PLL的數(shù)字供電特采用TI公司的TPS74401電源芯片將+3.3 V轉(zhuǎn)換為+1.2 V,,其輸出電流為3 A,,保證了電源功率。

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

002.jpg

  2.2 總線接口設(shè)計(jì)

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

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

  2.3 脈沖信號(hào)處理電路設(shè)計(jì)

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

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

003.jpg

  2.4 差分接口設(shè)計(jì)

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

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

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

004.jpg

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

005.jpg

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

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

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

006.jpg

3 FPGA程序設(shè)計(jì)

007.jpg

  本采集卡FPGA邏輯設(shè)計(jì)采用Verilog代碼[5]實(shí)現(xiàn),,主要實(shí)現(xiàn)數(shù)據(jù)采集,、存儲(chǔ)、讀寫等命令控制,,其主流程圖如圖7所示,。FPGA主要實(shí)現(xiàn)CPCI接口到RS232、RS422等接口轉(zhuǎn)換,,以及422電平輸入輸出,、數(shù)字輸出、脈沖計(jì)數(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ù)字輸出仿真。由實(shí)驗(yàn)結(jié)果可知,,該I/O卡在進(jìn)行數(shù)據(jù)通信時(shí),,無(wú)論是串口內(nèi)部的環(huán)回通信,還是PCI總線上的通信,,讀寫信息一致,,沒有產(chǎn)生通信錯(cuò)誤。同時(shí),,6路數(shù)字輸出量也有由默認(rèn)低電平到輸出高電平的跳變,,完成了相應(yīng)的數(shù)字控制功能,。可見,,該I/O通信卡成功實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)采集,、處理、上傳等功能,,目前已投入實(shí)際應(yīng)用之中,,具有較高的使用價(jià)值。

參考文獻(xiàn)

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

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

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

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

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


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