新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PCIE總線的多DSP系統(tǒng)接口設(shè)計和驅(qū)動開發(fā)

基于PCIE總線的多DSP系統(tǒng)接口設(shè)計和驅(qū)動開發(fā)

作者: 時間:2012-07-13 來源:網(wǎng)絡(luò) 收藏

2 DSP與FPGA互連接口設(shè)計
2.1 互連及數(shù)據(jù)通信方法
首先,采用DSP高速鏈路口實現(xiàn)DSP點對點連接,TS201芯片采用全雙工模式,當(dāng)處理器內(nèi)核工作在500 MHz時,鏈路口最高也可工作在500 MHz,每個鏈路口的雙向吞吐率可以達(dá)到1 GB/s,實現(xiàn)了點對點的高速傳輸。任意兩片DSP之間都通過鏈路口連接,使得DSP之間傳遞數(shù)據(jù)變得靈活,使程序設(shè)計變得簡單。另外,每塊DSP通過一個鏈路口與FPGA互連,在數(shù)據(jù)傳輸不沖突的情況下,F(xiàn)PGA可以同時與多片DSP通信,實現(xiàn)FPGA和DSP的高速數(shù)據(jù)交換。
2.2 接口設(shè)計原理與實現(xiàn)
由于系統(tǒng)中DSP之間實現(xiàn)了點對點互連,接口的設(shè)計主要涉及到DSP和FPGA之間的時序電路開發(fā)。TS201有4個鏈路口,鏈路口采用全雙工模式,每個鏈路口有兩個獨立的DMA通道可以同時進(jìn)行通信。每個通道用LxCLKOUTP/N,LxACKI,LxCLKINP/N和LxACKO控制數(shù)據(jù)傳輸,LxBCM PI和LxBCMP用于指示現(xiàn)行緩沖器發(fā)送是否完成。利用鏈路口傳輸數(shù)據(jù)時,數(shù)據(jù)幀的開始是由時鐘的上升沿來指示的,在時鐘上升沿和下降沿分別傳送數(shù)據(jù)。由于鏈路口具有收發(fā)兩個模塊,所以FPGA需要在內(nèi)部實現(xiàn)收發(fā)兩個模塊來與DSP的兩個模塊相對應(yīng)。
依照鏈路口通信協(xié)議,F(xiàn)PGA向DSP發(fā)送數(shù)據(jù)時的鏈路口發(fā)送時鐘是由內(nèi)部鎖相環(huán)產(chǎn)生的,接收DSP傳送的數(shù)據(jù)時的接收時鐘由DSP的隨路時鐘提供。鏈路口時鐘、數(shù)據(jù)信號線均使用LVDS電平標(biāo)準(zhǔn)進(jìn)行連接,ACK和BCMP信號則采用單端的方式連接至FPGA。
FPGA內(nèi)部邏輯主要包括接收/發(fā)送模塊和接收/發(fā)送緩沖。接收模塊與DSP的鏈路口發(fā)送端連接,發(fā)送模塊與DSP的接收端連接,在FPGA和DSP通信時這兩個模塊可以對數(shù)據(jù)分別進(jìn)行打包和拆包處理。接收/發(fā)送緩沖則用來配合接收/發(fā)送模塊,在傳輸數(shù)據(jù)時用來緩沖數(shù)據(jù)。

b.JPG


FPGA與DSP之間傳輸數(shù)據(jù)時發(fā)送方先要將數(shù)據(jù)傳送給鏈路口發(fā)送模塊緩沖(一個異步FIFO),接收方控制模塊檢測到LxACKI為高并且FIFO內(nèi)至少有一個4字?jǐn)?shù)據(jù)塊的數(shù)據(jù)時,雙方握手完成,啟動數(shù)據(jù)傳輸,否則繼續(xù)等待。一個數(shù)據(jù)移位控制模塊使數(shù)據(jù)按照鏈路口通信協(xié)議的標(biāo)準(zhǔn)進(jìn)行排列后傳送給DDIO模塊產(chǎn)生DDR數(shù)據(jù),另一個DDIO宏單元則是用來產(chǎn)生同步的時鐘。發(fā)送模塊的仿真波形如圖2所示。

3 PCIE驅(qū)動程序開發(fā)
3.1 驅(qū)動程序的開發(fā)介紹
是微軟全力推出的一種設(shè)備驅(qū)動程序模型,相對于KDM(Kernel Driver Model),增加了對即插即用(pnp)、電源管理等新的硬件標(biāo)準(zhǔn)的支持。
WDM的分層結(jié)構(gòu)有利于系統(tǒng)的設(shè)計、擴(kuò)展和驅(qū)動程序的開發(fā)。采用DriverStudio來開發(fā)運行在Windows XP下的WDM模式PCIE設(shè)備驅(qū)動程序(用DriverWorks編寫代碼,用DriverMonitor和SoftlCE調(diào)試驅(qū)動。Drive/Works對WindowsDDK的類進(jìn)行了很好的封裝,因此在開發(fā)WDM驅(qū)動程序時,DriverWorks向?qū)Мa(chǎn)生驅(qū)動框架,開發(fā)人員只需選擇合適的例程即可,因此可以在較短的時間內(nèi)開發(fā)出效率較高的驅(qū)動程序。
一個WDM驅(qū)動程序的功能模塊一般由初始化、創(chuàng)建和刪除設(shè)備、即插即用處理、訪問硬件、處理Win32 I/O及控制請求、調(diào)用其他驅(qū)動程序等組成。



關(guān)鍵詞: PCIE總線 DSP系統(tǒng) WDM

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉