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