PCI9656實現(xiàn)與CPCI總線通信的雷達信號處理板
本文在詳細(xì)闡述處理板的整體結(jié)構(gòu)和DSP與PCI9656的接口電路設(shè)計原理的基礎(chǔ)上,提出一種ADSP—TS201基于橋芯片PCI9656實現(xiàn)與CPCI總線通信的雷達信號處理板的設(shè)計方案,實現(xiàn)RocketIO到DSP數(shù)據(jù)的高速傳輸,它克服了傳統(tǒng)雷達信號處理板通用性差的缺點。
引 言
隨著科學(xué)技術(shù)的發(fā)展,傳統(tǒng)的雷達信號處理系統(tǒng)由于專用性強,兼容性差,影響了系統(tǒng)的通用性和其擴展能力,不能滿足現(xiàn)代雷達實時高速的信號處理需求。該設(shè)計針對傳統(tǒng)雷達信號處理系統(tǒng)通用性和擴展能力差提出一種ADSP—TS201基于PCI9656橋芯片實現(xiàn)與CPCI總線通信的高速、通用性強的信號處理系統(tǒng),并介紹一種DSP與PCI9656的接口電路設(shè)計。
1 器件介紹
1.1 ADSP—TS201
ADSP—TS201是ADI公司TigerSHARC系列中集成了定點和浮點計算功能的高速DSP。ADSP—TS201內(nèi)部4條相互獨立的128位寬度的內(nèi)部數(shù)據(jù)總線,每條連接6個2 Mb內(nèi)部存儲區(qū)塊中的一個,提供各自數(shù)據(jù)、指令集I/O訪問和28 GB/s的內(nèi)部存儲器寬帶;處理器內(nèi)核最高可工作在600 MHz,單周期能執(zhí)行4條指令,每秒能進行3.4億次乘累加和2.8億次浮點操作,是面向通信和視頻領(lǐng)域的高端DSP。ADSP—TS201有14通道的DMA控制器;4個鏈路口可用于與其他DSP進行無縫聯(lián)接,實現(xiàn)高速度高數(shù)據(jù)吞吐率。鏈路口可以4位并行方式傳輸,也可以編碼為1位傳輸方式。通常以4位并行方式傳輸,當(dāng)處理器核工作在500 MHz時,鏈路口也可工作在500 MHz,每個鏈路口的雙向數(shù)據(jù)吞吐率可達1 000 MB/s,4個鏈路口合起來數(shù)據(jù)吞吐率可達4 GB/s;集成SDRAM控制器最大支持256 M×32 b的內(nèi)存容量,方便與外部SDRAM連接。ADSP—TS201適合對大數(shù)據(jù)量數(shù)據(jù)處理實時性要求高的應(yīng)用領(lǐng)域。TigerSHARC系列的DSP接口豐富,外部設(shè)備接口包括SDRAM控制器、EPRoM接口、主機接口、多處理器接口;其引導(dǎo)程序的加載方法也非常靈活,可根據(jù)實際系統(tǒng)設(shè)計的需要靈活選用。
1.2 PCI9656
PCI9656是PLX公司推出的與PCI9054相兼容的、能提供混合高性能PCI總線的接口控制芯片,采用了業(yè)界領(lǐng)先的數(shù)據(jù)流水線架構(gòu)技術(shù),符合PCI V2.2規(guī)范。PCI9656的工作狀態(tài)包括以下兩個方面:工作方式和局部總線操作模式。PCI9656的工作方式包括直接主模式、直接從模式和DMA模式,它的局部總線操作模式有M模式、C模式和J模式。它具有64位數(shù)據(jù)線66 MHz時鐘的PCI總線接口和32位數(shù)據(jù)總線66 MHz時鐘的Loeal端接口;配有的DMA引擎可實現(xiàn)數(shù)據(jù)的高速傳輸;具有PCI優(yōu)先判決器,支持7個外部主控制器;可以通過消息管理I/O,提供兩種方式選擇,一是通過郵箱寄存器和門鈴寄存器;二是通過所提供的I2O接口。它有64 b/66 MHz PCI性能,符合PCIV2.2規(guī)范,采用數(shù)據(jù)。設(shè)計者可以將芯片32 b,66 MHz局部總線與各類高速設(shè)備,如DSP、存儲器、自定義ASIC和FPGA連接,通過PCI9656數(shù)據(jù)流水架構(gòu)使其局部端連接設(shè)備具有64 b/66 MHz的PCII/O性能。
2 系統(tǒng)工作原理
信號處理板上DSP的工作與主機相對獨立,主機通過CPCI總線給信號處理板傳送加載程序和一些控制信息,并監(jiān)控信號處理板。采集數(shù)據(jù)通過4路全雙工Rocket_IO口發(fā)送給信號處理板。系統(tǒng)的整體結(jié)構(gòu)如圖1所示。
2.1 DSP的電路設(shè)計
信號處理板中DSP對來自板外的采樣數(shù)據(jù)進行數(shù)據(jù)整理、相參積累和脈沖壓縮。4片DSP之間采用鏈路口方式實現(xiàn)點對點的通信。DSP采用主機與EPROM方式引導(dǎo)和加載程序,先通過FLASH將加載程序?qū)隓SPl,然后用主機引導(dǎo)方式將傳入DSP1內(nèi)的加載程序依次傳輸給其他3片DSP。由于DSP有專用的SDRAM尋址空間和外圍接口,DSP與SDRAM之間能實現(xiàn)無縫連接。該設(shè)計中每片DSP外掛1片256 Mb的SDRAM,保證了DSP足夠的存儲空間。[!--empirenews.page--]2.2 PCI9656與DSP連接設(shè)計
由于PCI9656與DSP接口不兼容,所以用邏輯轉(zhuǎn)換器件FPGAl實現(xiàn)它們之間的連接。FPGAl中設(shè)計有一個能與ADSP—TS201S直接通信的主機接口模塊,將ADSP-TS201S主機接口與FPGAl內(nèi)的主機接口直接相連。PCI9656通過FPGAl內(nèi)主機接口間接訪問ADSP—TS201S。FPGAl中設(shè)計16 K×32 b的雙口RAM,用于緩存PCI9656與DSP之間讀寫數(shù)據(jù)。FPGAl一端與4片DSP相連,另一端與PCI9656局部端相連。當(dāng)出現(xiàn)多個DSP同時請求與PCI9656通信時,F(xiàn)PGAl內(nèi)DSP開關(guān)選擇模塊對其進行仲裁。PCI9656根據(jù)主機的要求可以訪問任意一片DSP。PCI9656對信號處理板上4片SDRAM的訪問有2種方式。第一,通過DSP來間接的訪問SDRAM,DSP先將SDRAM中數(shù)據(jù)讀到其內(nèi)部存儲區(qū),然后PCI9656通過訪問DSP訪問SDRAM;第二,在FPGAl內(nèi)設(shè)計SDRAM控制器,通過FPGAl內(nèi)控制器直接訪問SDRAM。
2.3 PCI9656與CPCI總線連接設(shè)計
設(shè)計中信號處理板是6U規(guī)格,可與J1至J5五個連接頭相連。J1是32位PCI總線,J2用于64位PCI總線或用戶自定義I/O口;J3,J4和J5是用戶自定義I/O口。為了保證信號處理板的通用性和可擴展性,J1與J2連接頭作為64位數(shù)據(jù)寬度的CPCI總線。PCI9656一端與FPGAl相連另一端分別與兒和J2連接頭相連。需要注意的是PCI9656與CPCI連接的引腳必須插入10 Ω的匹配電阻,以降低對背板的干擾。
2.4 Rocket_IO與DSP的連接設(shè)計
信號處理板通過全雙工Rocket_IO口接收板外的采集數(shù)據(jù),數(shù)據(jù)吞吐率可達1.25 Gb/s。FPGA2實現(xiàn)Rocket_IO與DSP的LinkPort之間的接口轉(zhuǎn)換,其一端連接4路Rocket_IO口相連另一端連接每片DSP的1路LinkPort,即4路鏈路口。
DSP的每路鏈路口數(shù)據(jù)吞吐率可達,1 GB/s。FPGA2對.Rocket_IO口送入的數(shù)據(jù)整理后,利用鏈路口傳輸給相應(yīng)的DSP。任意一路LinkPort能與任意一路的Rocket_IO口通信,當(dāng)多路LinkPort爭用一路Rocket_IO口或多路Rocket_IO口爭用一路LinkPort時,F(xiàn)PGA2內(nèi)的總線開關(guān)模塊實現(xiàn)它們之間的仲裁。設(shè)計中信號處理板可以選用任意用戶自定義IO口作為Rocket_IO通道。
3 PCI9656與DSP的接口設(shè)計
PCI9656的局部端采用C模式,32位數(shù)據(jù)和32位地址線。PCI9656配置為直接從模式,即只有主機可以通過PCI9656申請局部端總線控制權(quán)訪問DSP。4片DSP與FPGAl連接方式相同,這里只給出1片DSP與PCI9656之間的接1:3邏輯轉(zhuǎn)換。DSP和PCI9656的連接如圖2所示。
PCI9656對DSP的訪問通過FPGAl間接實現(xiàn),F(xiàn)PGAl內(nèi)設(shè)計有實現(xiàn)邏輯轉(zhuǎn)換的主機接口模塊、用于數(shù)據(jù)緩存的雙口RAM模塊和DSP開關(guān)選擇模塊。
3.1 PCI9656讀DSP
(1)PCI9656使LHOLD變高申請局部總線控制權(quán);FPGA檢測到后,立即使LHOLDA變高,告知PCI9656局部總線申請成功。PCI9656使ADS和一LW/R變低,然后發(fā)送主機地址;FPGAl依據(jù)高位地址譯碼生成DSP片選信號,根據(jù)LW/R將主機接口配置為讀方式,同時使PCI9656的READY信號無效。
(2)FPGAl向相應(yīng)的DSP發(fā)HBR和RD申請總線控制權(quán)并請求讀數(shù)據(jù);DSP檢測到HBR后返回HBG和ACK。FPGAl檢測ACK到信號后,接收數(shù)據(jù)并緩存至雙口RAM。當(dāng)數(shù)據(jù)傳輸完畢時DSP使RD和ACK無效,撤銷HBG,F(xiàn)PGAl接著撤銷HBR。
(3)FPGAl使READY有效,PCI9656檢測到該信號后,開始讀取雙口RAM中的數(shù)據(jù)。數(shù)據(jù)傳輸完畢后FPGAl使READY無效并收回LHOLDA,PCI9656接著撤消LHOLD,此次讀操作結(jié)束。[!--empirenews.page--]3.2 PCI9656寫DSP
(1)PCI9656使LHOLD變高申請局部總線控制權(quán);FPGA檢測到后,立即回應(yīng)使LHOLDA變高告知PCI9656局部總線申請成功。PCI9656使ADS變低、LW/R變高,然后發(fā)送主機地址;FPGAl根據(jù)高位地址譯碼生成DSP片選信號,根據(jù)LW/R將主機接口配置為寫方式,同時使能PCI9656的READY。
(2)PCI9656檢測到READY后,將數(shù)據(jù)寫入雙口RAM。數(shù)據(jù)傳輸完畢后PCI9656使READY無效,收回LHOLD;FPGAl接著撤消LHOLDA。
(3)FPGAl向相應(yīng)的DSP發(fā)出HBR和WRL申請總線控制權(quán)并請求對DSP寫數(shù)據(jù)操作,DSP檢測到信號返回HBG和ACK。FPGAl檢測到ACK信號后,開始將雙口RAM中的數(shù)據(jù)發(fā)送給DSP。數(shù)據(jù)傳輸完畢后FPGA使WRL無效,撤銷HBR;DSP接著撤銷HBG和ACK。此次寫操作完成。
4 結(jié) 語
提出的基于CPCI總線的高速通用雷達信號處理板設(shè)計,繼承了CPCI總線可靠、可擴展、通用性強的特點。PCI9656橋芯片和FPGAl邏輯轉(zhuǎn)換芯片實現(xiàn)板外主機對DSP的訪問。通過FPGA2將Rocket_IO口與DSP的LinkPort口互聯(lián)實現(xiàn)數(shù)據(jù)的高速傳輸。