《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于CPCI總線多DSP系統的高速主機接口設計

基于CPCI總線多DSP系統的高速主機接口設計

2008-07-18
作者:張 騁,蔡惠智,何國建

??? 摘 要: CPCI總線是一種成熟全面的計算機總線,通過它主機可以方便地為DSP加載程序,進行調試和監控工作;另外還能在主機和DSP系統間完成高速數據傳輸工作。本文結合一個已經成功應用的設計,闡述了基于雙狀態機+Cache結構的主機接口設計" title="接口設計">接口設計,并給出了邏輯框圖。利用PLX公司的PCI9656接口芯片" title="接口芯片">接口芯片,FPGA提供了高達90MB/s的主機訪問DSP和SDRAM的速度。
??? 關鍵詞: CPCI總線? FPGA? DSP? SDRAM? Cache

?

??? 在現代通信、雷達和聲納系統中,隨著實時處理要求的不斷提高,對數字信號處理系統也提出了更高的要求。板載多片高性能的DSP芯片,配合大容量" title="大容量">大容量的SDRAM,可以很好地滿足上述要求,并且已經成為了數字信號處理系統發展的趨勢。采用CPCI總線集成系統,可以方便主機進行調試,控制和管理DSP系統。系統中的主機接口可以使主機通過CPCI總線訪問板上的DSP和SDRAM芯片,這是多DSP系統設計的關鍵點之一。
??? 不同于以往簡單地使用一個CPLD進行粘合邏輯設計" title="邏輯設計">邏輯設計,本文提出了一種基于雙狀態機+Cache,預存預取的主機接口設計結構。在主機接口中設立了一個Cache,降低了CPCI總線與板上DSP和SDRAM芯片的耦合度,并且設計了兩個獨立狀態機分別進行控制。這顯著提高了主機訪問DSP和SDRAM的速度,為DSP系統的應用提供了更廣闊的平臺。本文詳細闡述了如何完成CPCI總線和DSP、SDRAM芯片間的數據傳輸,分析了設計難點,并給出了邏輯框圖。
1 系統設計方案
??? 圖1是系統設計框圖,系統采用PLX公司的PCI9656接口芯片,它可以很方便地將時序相對復雜的PCI協議轉化為相對簡單的局部端訪問協議。在基本不損失性能的同時,簡化了邏輯設計要求,使開發者可以更為關注后端數據接口問題。

????????????????????????
??? FPGA采用Xilinx公司的X2V1000,它有近100萬門的邏輯資源和720KB的BlockRAM,可以靈活搭建控制邏輯和Cache緩存。
??? DSP采用ADI公司的ADSP-TS201S,共有4片,工作頻率是600MHz,總共可以提供14.4GFLOPS的運算能力[1]
??? SDRAM采用Hynix公司的HY57V561620C,容量共有128MB,可以基本滿足數據存儲的要求。
2 FPGA的接口設計
2.1 FPGA在系統中的作用

??? FPGA主要實現如下功能接口:(1)DSP接口。提供一個PCI Local總線到DSP共享總線的界面,完成兩套總線之間的邏輯仲裁及讀寫控制信號等;(2)SDRAM接口。提供一個PCI Local總線到SDRAM總線的界面;(3)FLASH接口;(4)鏈路口;(5)Register管理模塊。圖2給出了FPGA的各種接口與系統其他部分的關系圖。本文將重點討論主機和DSP、SDRAM間的訪問。

???????????????????????????
2.2 設計思想
?? ?PCI局部端的時鐘是66MHz,而DSP共享總線為100MHz,時鐘的不匹配會給邏輯設計提出很多時序方面的問題。另外,PCI局部端數據總線是32位,而SDRAM數據總線是64位,如何匹配數據寬度也是一個問題。而且PCI局部端和DSP、SDRAM在控制時序上也有很大差別。
??? 圖1中顯示的是共享總線結構,DSP、SDRAM和FPGA都掛在DSP的外部總線上。DSP之間的通訊可以使用DSP總線;各個DSP訪問SDRAM時,也要選擇DSP總線;而且當主機訪問DSP通訊時,也會不可避免地使用DSP總線。因此不難得出這樣的結論:DSP總線將可能成為系統的瓶頸所在。所以在設計主機接口時,必須提高總線的使用效率,減少申請DSP總線的次數,每次申請使用DSP總線時都要盡可能多地傳輸數據。
??? 在微處理器設計中,Cache被用來緩存數據、解決高速CPU訪問低速存儲器時的瓶頸問題。為了解決上述兩大問題,在FPGA的設計中也采用了類似Cache的結構來隔離不同總線間的傳輸。在Cache的兩邊有兩個狀態機來控制Cache的讀寫和總線數據的訪問。使用Cache后,DSP共享總線和PCI局部端總線將被去耦合,這樣可以使兩級總線的數據吞吐量都盡量達到自己的峰值速度。FPGA內部有豐富的存儲資源,大塊的BlockRAM可以方便地搭建成Cache;而且Cache越大,越能提高主機訪問DSP和SDRAM的效率,減小占用DSP總線的時間,從而可以縮短DSP間通過DSP總線互訪時的等待時間。
??? 圖3是DSP/SDRAM接口框圖,都是基于雙狀態機加上Cache結構[2]。兩個狀態機同時監測Cache當前空、滿或是數據個數等狀態,以決定其動作;另外狀態機間還有命令通道,局部端狀態機用它向DSP/SDRAM端狀態機發出命令。由于這部分跨越了兩個不同頻率的時鐘域,因此必須加上同步電路以防止寄存器不定態的產生。

????????????????????????????????
??? SDRAM接口與DSP接口不同處是它還有一個標準的SDRAM控制器,負責將自定義的SDRAM讀寫命令翻譯成SDRAM控制信號線RAS#、CAS#和WE#的組合。將SDRAM控制器獨立出來可以使得設計更加模塊化,避免SDRAM端狀態機過于龐大[3]
2.3 DSP/SDRAM接口的實現
??? 主機訪問DSP時,必須遵守DSP的流水線協議,其中重要的是讀寫時的流水深度:讀操作時流水深度始終為四個周期,寫操作時流水深度始終為一個周期。主機執行來自或去往DSP的突發操作時,支持超過四字的連續突發操作。當主機發出突發首地址,只要BRST#信號有效,DSP就在內部對地址累加。首次傳送的起始地址和最后一次傳送的結束地址必須四字對齊。這里只支持DSP端4字突發。
??? SDRAM的訪問協議很常見,限于篇幅,不再贅述。
??? 每次主機開始訪問DSP/SDRAM時,PCI局部端使用LHOLD和ADS#來啟動一次傳輸,LWR=0表明是讀過程。局部端狀態機向DSP/SDRAM端狀態機發出start命令。開始時Cache為空,而且DSP/SDRAM提供數據要超過一段時間,所以在讀操作的開始階段要無效ready_n使局部端等待。DSP/SDRAM端狀態機接收到局部端狀態機的start信號后,開始從DSP/SDRAM讀出數據,填入Cache中。
??? 當預定義的數目被滿足后,局部端狀態機使ready_n有效以允許當前的讀操作。DSP/SDRAM端將會根據用戶設定是否突發讀寫DSP/SDRAM的方式,一直連續地讀DSP/SDRAM數據,寫入Cache中。除非接收到stop命令才回到IDLE狀態,或是在Cache快要填滿進入等待狀態,放棄DSP共享總線,這樣可以使4片DSP之間的數據傳輸盡可能少地被干擾。每次主機讀DSP/SDRAM時,都會直接從這個Cache中讀出數據。如果Cache中的數據少于預定義的數目,則ready_n將被無效,以使當前的數據傳送等待。一旦LHOLD信號無效(當前這段PCI傳送結束)或是局部端地址不連續了(局部端有一個地址寄存器,它標志Cache中下一個數據的地址,如果它和當前局部端地址不同表示預取的Cache已經無效),局部端狀態機就向DSP/SDRAM端狀態機發出stop命令。DSP/SDRAM端狀態機清空Cache,準備下一次訪問。讀SDRAM的同時開啟一個定時器,一定的時間間隔內要在讀命令中插入刷新命令,防止數據丟失。
??? 主機寫DSP/SDRAM的操作過程因為有Cache的存在顯得很簡單[4]。因為局部端和DSP/SDRAM端之間有Cache完全隔離,所以局部端狀態機只要判斷Cache中還有足夠的空余位置就開始往Cache中分別寫入地址和數據(兩者是一一對應的)。局部端狀態機在寫的過程中,根據PCI9656的blast#信號來判斷單次還是突發以及突發是否結束;如果Cache中空余位置少于4個則進入等待狀態。DSP/SDRAM端狀態機一旦看到Cache不為空,便從Cache中讀出地址和數據,整合了一段數據后開始申請DSP共享總線,按照協議規定的時序要求將數據寫到DSP/SDRAM中。對DSP的寫操作就像寫SRAM一樣簡單方便;寫SDRAM稍微復雜一些,除了要像讀一樣插入刷新命令外,每次寫SDRAM到了頁末時必須及時發出預充電命令,防止地址錯誤地回轉到頁首;另外每次寫完SDRAM后同樣發出預充電命令,關閉本頁,防止在同一個Bank內打開兩頁。
2.4 DSP/SDRAM接口性能
??? 33MHz、32位的PCI總線理論極限速度是132MB/s,實際速度要有一些折扣。由于FPGA訪問DSP和SDRAM理論帶寬分別有300MB/s和600MB/s,因此DSP/SDRAM接口的瓶頸在PCI端。在研華MIC3358主板上,主機無其他任務,重復訪問DSP內部一段64KB數據的測試環境下,接口的DMA讀速度有90MB/s,DMA寫有38MB/s。與此同時,Bittware的同類型板卡Tiger-6U-cPCI的DMA讀速度是86MB/s,DMA寫速度最高可以達到40MB/s。兩者的DSP接口訪問速度基本相同,但是在Bittware的設計里,主機要訪問SDRAM,必須要借助DSP的SDRAM控制器,占用DSP的一個FLYBY通道,會影響DSP的正常運轉。本系統提供了一個主機直接訪問SDRAM的接口。
??? 本文首先提出了一個通用DSP系統的設計方案,主要給出了FPGA在系統中的位置和作用。然后簡要介紹了FPGA的各個功能模塊,著重針對DSP和SDRAM接口進行了討論,針對數據寬度和時鐘速率不匹配的特點,提出雙狀態機+Cache的設計結構,給出相應的FPGA設計框圖和設計思路。比較國際上知名的其他板卡,本系統的DSP接口的訪問速度已經達到了較高水平;一個高訪問速率的主機接口的建立,可以使得系統運行中的主機控制DSP過程盡可能少地影響DSP系統的運行。而一個高訪問速率的SDRAM接口的建立,也為主機和處理板間大容量數據交換提供了可能,這一點在進行數據存儲和雷達信號處理中尤其有用。該設計已經被應用于某大型信號處理系統,取得了良好的效果。
參考文獻
[1] 劉書明,羅勇江.ADSP TS20XS系列DSP原理與應用設計.北京:電子工業" title="電子工業">電子工業出版社,2007.
[2] GOLSON S.State machine design techniques for Verilog?and VHDL.Synopsys Journal of High-Level Design,1994,(9):1-48.
[3] Altera.SDR SDRAM Controller White Paper V1.1.2002,5.
[4] 楊宗凱.數字專用集成電路的設計與驗證.北京:電子工業出版社,2004.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩国产精品成人| 国产视频欧美| 久久高清一区| 亚洲欧美成人一区二区三区| 99成人在线| 日韩午夜在线视频| 亚洲精品乱码久久久久| 亚洲国产免费| 亚洲丁香婷深爱综合| 欧美专区在线观看一区| 欧美一区二区观看视频| 欧美亚洲专区| 欧美一级专区| 欧美一区二区三区久久精品茉莉花| 亚洲一区二区三区四区五区午夜| 一区二区三区高清不卡| 中文网丁香综合网| 中日韩视频在线观看| 一本色道久久| 亚洲尤物精选| 午夜欧美理论片| 午夜视频久久久| 欧美一区二区国产| 久久精品国产亚洲一区二区三区| 欧美怡红院视频| 亚洲电影中文字幕| 亚洲精品视频在线看| 亚洲免费观看高清完整版在线观看| 亚洲精品黄色| 一区二区日韩| 亚洲欧美春色| 欧美在线免费一级片| 久久久久久久一区二区三区| 久久综合五月| 欧美激情女人20p| 欧美涩涩视频| 国产精品一区二区三区成人| 国产日韩欧美精品| 有码中文亚洲精品| 亚洲精品日韩在线| 亚洲午夜久久久| 欧美淫片网站| 日韩午夜激情电影| 亚洲欧美日韩精品一区二区| 久久精品国产精品亚洲| 欧美va亚洲va国产综合| 欧美日韩亚洲一区二区三区在线 | 日韩亚洲视频| 亚洲自拍偷拍色片视频| 欧美在线视频在线播放完整版免费观看| 亚洲电影第1页| 中文亚洲免费| 久久黄金**| 欧美激情精品久久久久久蜜臀| 欧美性猛交xxxx乱大交退制版| 国产美女搞久久| 亚洲二区在线观看| 亚洲色图制服丝袜| 亚洲福利在线看| 亚洲私人影院在线观看| 久久久久一区二区三区四区| 欧美剧在线免费观看网站| 国产精品一区二区你懂得| 亚洲国产日韩一级| 亚洲欧美日韩久久精品| 日韩视频精品| 久久av最新网址| 欧美日本国产一区| 国产亚洲一区精品| 99国内精品久久| 久久激情视频免费观看| 亚洲一区免费视频| 快射av在线播放一区| 欧美性大战xxxxx久久久| 一区二区在线观看视频| 亚洲图片欧美日产| 亚洲精品乱码久久久久久| 欧美一级大片在线观看| 欧美久久成人| 国内精品福利| 亚洲一区二区三区三| 99视频在线精品国自产拍免费观看| 欧美中文在线观看| 欧美视频第二页| 亚洲国产精品成人一区二区 | 久久精品1区| 国产精品扒开腿爽爽爽视频 | 欧美日一区二区在线观看| 国户精品久久久久久久久久久不卡| avtt综合网| 日韩视频免费| 久久夜色撩人精品| 国产精品一区二区三区观看 | 91久久久国产精品| 久久久久欧美| 国产欧美日韩不卡| 99精品99| 9久re热视频在线精品| 免费在线欧美视频| 韩国三级在线一区| 篠田优中文在线播放第一区| 亚洲一区二区在线视频 | 亚洲伦理在线免费看| 亚洲黑丝在线| 久久久久久久久综合| 国产私拍一区| 西瓜成人精品人成网站| 午夜免费日韩视频| 国产精品xvideos88| 一区二区三区你懂的| 在线一区二区三区四区| 欧美国内亚洲| 亚洲国产精品电影在线观看| 亚洲国产精品电影在线观看| 久久精品欧洲| 国产主播喷水一区二区| 欧美伊人久久久久久午夜久久久久| 欧美一区二区视频观看视频| 国产精品久久久久久久第一福利| 99综合在线| 亚洲免费在线观看| 国产精品久久久久久久久动漫 | 亚洲欧美区自拍先锋| 国产精品久久久久久福利一牛影视| 夜夜嗨av一区二区三区中文字幕 | 欧美性猛交xxxx乱大交蜜桃| 这里只有视频精品| 午夜精品久久久久久久久久久久 | 日韩视频一区二区三区| 一本色道88久久加勒比精品 | 国产乱子伦一区二区三区国色天香| 亚洲视频一区在线| 午夜精品久久99蜜桃的功能介绍| 国产精品理论片在线观看| 亚洲午夜激情网页| 欧美一区高清| 影院欧美亚洲| 一本色道久久综合亚洲精品婷婷| 欧美视频不卡中文| 亚洲男女自偷自拍图片另类| 久久不见久久见免费视频1| 国产一区二区三区在线观看视频| 久久国产精品网站| 欧美69wwwcom| 日韩一区二区精品葵司在线| 亚洲欧美日本伦理| 国产午夜亚洲精品羞羞网站| 亚洲国产99| 欧美另类专区| 国产精品99久久99久久久二8 | 欧美一区视频在线| 激情懂色av一区av二区av| 91久久久国产精品| 欧美视频导航| 久久电影一区| 欧美国产乱视频| 亚洲一区二区三区三| 久久久久久网站| 亚洲区一区二区三区| 亚洲女与黑人做爰| 韩国av一区二区三区在线观看| 亚洲精品一区二区网址| 欧美色中文字幕| 久久国产视频网站| 欧美日韩国产成人精品| 亚洲综合视频在线| 男女激情久久| 亚洲午夜电影网| 可以免费看不卡的av网站| 日韩视频在线免费| 久久精品一区二区国产| 亚洲精品国产精品国自产观看浪潮| 亚洲免费在线播放| 亚洲动漫精品| 校园春色综合网| 亚洲黄色天堂| 欧美中文字幕视频| 亚洲美女区一区| 久久久水蜜桃av免费网站| 亚洲免费av片| 久久久综合免费视频| 亚洲最新在线视频| 久久欧美肥婆一二区| 99精品视频免费| 久久亚洲欧美国产精品乐播| 99这里有精品| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲天堂免费观看| 欧美大秀在线观看| 午夜精品久久久久久99热| 欧美精品一区二区三区久久久竹菊| 性色av一区二区三区| 欧美日韩国产影院| 久久精品毛片| 国产精品你懂的在线欣赏| 亚洲精品资源美女情侣酒店| 国产午夜精品一区理论片飘花| 亚洲四色影视在线观看| 亚洲国产成人久久综合| 久久久久久网址|