《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 用雙端口RAM實現與PCI總線接口的數據通訊

用雙端口RAM實現與PCI總線接口的數據通訊

2008-05-09
作者:姚利民,孫逢春,李軍求,張承寧

  摘 要: 采用雙端口" title="雙端口">雙端口RAM實現DSP與PCI總線芯片之間的數據交換接口電路。提出了一種使用CPLD解決雙端口RAM地址譯碼和PCI接口芯片" title="接口芯片">接口芯片局部總線" title="局部總線">局部總線仲裁的的硬件設計方案,并給出了PCI總線接口芯片寄存器配置實例,介紹了軟件包WinDriver開發設備驅動程序" title="設備驅動程序">設備驅動程序的具體過程。
  關鍵詞: PCI總線 雙端口RAM CPLD 設備驅動


  隨著計算機技術的不斷發展,為滿足外設間以及外設與主機間的高速數據傳輸,Intel公司于1991年提出了PCI總線概念。PCI總線是一種能為主CPU及外設提供高性能數據通訊的總線,其局部總線在33MHz總線時鐘、32位數據通路時,數據傳輸速率最高可達133Mbps。實際應用中,可通過PCI總線實現主機與外部設備的高速數據傳輸,有效解決數據的實時傳輸和存儲問題,為信號的實時處理打下良好基礎。
  本文主要提供一種基于PCI總線的數據傳輸系統設計方案,其中雙口" title="雙口">雙口RAM起橋梁作用,完成上位機與外圍主控單元之間的數據握手。
1 雙端口RAM實現PCI總線接口方案
  本系統主要用于解決上位機與外圍控制單元的數據傳輸問題。上位機運行信息診斷程序,通過PCI總線與外圍控制單元以一定速率傳輸數據,在主機中實時監控并保存數據。由于實現高速實時數據傳輸,數據量大,所以在PCI局部總線上插入一個高速雙端口RAM。雙端口RAM一端作為PCI總線接口的本地端存儲器,一端作為DSP目標存儲器。需要傳輸保存的數據經DSP處理后借助雙端口RAM和PCI總線接口完成了上位機與DSP的數據握手。本文提出的雙端口RAM實現PCI總線接口方案如圖1。


  考慮到PCI總線接口對局部總線的控制時序比較復雜,需要譯碼和控制電路來實現局部總線的訪問及控制。本系統使用CPLD解決雙口RAM的地址訪問競爭沖突問題。需解決的主要問題有:①PCI接口電路設計;②CPLD地址譯碼和總線仲裁;③PCI總線驅動程序開發。
2 PCI接口電路設計
  PCI卡的設計一般采用兩種方案。一種是根據PCI協議在FPGA或CPLD中實現PCI總線接口控制器,但是由于PCI協議的復雜性,使得開發難度大、周期長;另一種使用現成的PCI接口芯片,用戶開發難度降低,只把重點放在PCI接口芯片局部總線的接口設計和PCI總線配置空間的初始化,而不用速度考慮PCI總線規范上眾多的協議規范,加快了開發時間。
  本數據傳輸系統使用PLX公司的PCI 9030總線接口芯片,以CPLD完成邏輯控制及與外設的連接,整個系統的硬件框圖如圖 2。其中雙端口RAM采用IDT71V321,CPLD選用XILINX公司的XC9536CPLD芯片,EEPROM選用NS公司的93CS56,控制單元DSP選用TMS 320LF2407A。
2.1 PCI 9030內部結構及其數據傳輸
  PCI 9030是PLX公司開發的PCI總線目標接口芯片。其特點:低功耗,PQFP176針封裝,符合PCI V2.2規范;在PCI總線上是從設備,但在局部總線上是主設備;PCI 9030支持突發傳輸,有5個PCI總線到局部總線地址空間,9個可編程的通用I/O,4個可編程的片選,支持熱插拔。PCI 9030主要由PCI總線接口邏輯、局部總線接口邏輯、串行E2PROM接口邏輯和內部邏輯組成,結構框圖見圖3。

?


  PCI 9030支持PCI主設備直接訪問局部總線上的設備,數據傳輸方式分為內存映射的突發傳輸和I/O映射的單次傳輸,并且由PCI基址寄存器設置在PCI內存和I/O空間中的合適位置,另外局部映射寄存器允許PCI地址空間轉換到局部地址空間。
2.2 配置實例
  系統訪問的雙口RAM存儲空間為2KB,要求將這個存儲器空間映射到局部地址空間0,采用內存方式映射,存儲器的數據寬度為 8位,并且不采用突發傳輸,讀寫時不可預取。下面介紹這個地址空間各個寄存器的具體配置過程。
  (1)配置地址范圍寄存器
  根據PCI配置寄存器與LAS0RR的對應關系以及雙口RAM的地址空間800H,取7FFH的補碼得到FFFFF800H。又因為按照設計要求,要映射到內存空間的任何位置并且設置為不可預取的,這樣LASORR寄存器后3位應該為000H。所以LAS0RR的值應該最終確定為FFFFF800H。
  (2)配置基址寄存器
  該寄存器的基址必須是地址空間范圍的整數倍,在本例中必須是2K的整數倍,可將基地址定為 00004000H,又由于基址寄存器位0為空間使能位,所以應將這一位設置1;至于位 2、位3,由于是映射到內存空間,設為00H即可。所以LAS0BA的值最終被確定為00004001H。
  (3)配置片選信號控制寄存器
  該寄存器的地址范圍和基地址必須與LAS0RR或LAS0BA所定義的范圍和空間相對應。可根據PCI 9030提供的配置寄存器的方法確定CS0BASE的數值:板卡的2KB空間可以用十六進制表示為800H,將800H右移一位得到400H,然后將基地址加到400H左邊的任何一位中。因為所采用的基地址為00004000H,所以得到的值為00004400H;又因為第1位為片選使能位,應該設置為1。所以最終確定的數值為00004401H。
  由于局部總線采用8位的寬度,將工作方式定義在不使能突發,不預取,配置總線區域描述寄存器的數值確定為400140A2H。另外,還要根據要求設置CNTRL寄存器控制PCI 9030的工作狀態,確定為18784500H。當所有這些數據都配置完成后,便可將這些數據按照加載順序寫入串行E2PROM中,從而完成整個系統的配置。
  通過這幾個寄存器的配置,一個局部地址空間便可以確定下來。在系統上電后,系統BIOS根據這幾個寄存器的內容將板卡上2KB的RAM空間重映射到PCI空間中,使主機可以像訪問自己的地址空間一樣訪問板卡上的RAM。
2.3 CPLD控制邏輯
  對于雙口RAM同一個地址單元,不能同時進行讀或寫操作,但兩邊連接的主控芯片,都可以對其進行讀、寫操作,因此必須解決地址競爭問題。本系統中,使用XILINX公司的XC9536CPLD芯片完成PCI局部總線的譯碼和控制電路。由于系統控制計算主要在DSP中完成,上位機只起監控和數據保存作用,因此規定對雙口RAM的操作DSP優先于PCI 9030;同時CPLD也參與了DSP片外程序存儲器Flash和數據存儲器RAM的地址譯碼,控制邏輯用公式表示為:
  
3 設備驅動程序設計
  設備驅動程序開發工具通常有DDK、VtoolsD、WinDrvr等。為加快開發速度,采用JUNDO公司的WinDrvr開發設備驅動程序。其使用簡單,支持多種操作系統。
  采用Windrvr開發PCI橋接設備的驅動程序有兩種方法。一種Wizard開發向導是自動生成驅動程序框架代碼,然后根據實際需要,加入定制功能。這種方法生成的代碼較多,程序較復雜。另一種是在Vc++創建工程中直接利用Windrvr的API函數生成驅動程序,比在Wizard生成的框架代碼上修改更為靈活。本文采用后一種方法。以下是用Windrvr開發PCI9030橋芯片的驅動代碼,只要稍加改動就可以作為其他PCI芯片驅動程序的一部分,例如PCI9050、PCI9052等。程序中出現的變量名都由其名稱反映含義,具體可以參見Windrvr設計文檔說明。
  PCI9030_RegisterWinDrvr();         //注冊WinDrvr
  hWD=W_Open();                //打開Windrv設備,每次使用前要調用
  pciSan.searchId.dwVendoId=0x10b5;      //供貨號
  pciSan.searchId.dwDevice.Id=0x9030;     //設備號
  WD_pciScanCards(hWD,&pciScan);       //枚舉設備
  pciSlot=pciScan.cardSlot[0];         //得到設備槽號
  pciCardInfo.pciSlot=pciSlot;
  WD_PciGetCardInfo(hWD,&pciCardInfo);     //得到設備槽上的設備信息
  Card=pciCardInfo.Card;            //PCI卡上資源結構
  cardReg.Card=Card;
  WD_CardRegister(hWD,&cardReg)        //鎖定卡上資源
  Item=Card.Item[2];              //資源賦給Item
  If(Item.item==ITEM>MEM0RY)
  { regAddr=Item.I.Mem.dwUserDirectAddr;
                          //得到PCI卡上內存映射到用戶態地址
  }
  至此獲得了本地端映射到用戶的內存地址,調用讀寫函數就可以對本地芯片進行操作。
參考文獻
1 鄧曉勇,韓 燮,毛 明.利用FPGA實現與PCI總線接口的數據通信[J].華北工學院學報,2002;23(6):436~439
2 陳利學,孫 彪,趙玉連等.微機總線與接口設計[M].成都:電子科技大學出版社,1998
3 PLX公司.PCI 9030 Data Book.Version 1.4.May,2002
4 劉 巍.一種快速開發PCI橋設備驅動程序的方法.現代雷達,2002;(2):39~40
5 黃 殉,孫政順.利用WinDriver開發PCI設備驅動程序.電子技術應用,2001;27(3):15~16

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲日本aⅴ片在线观看香蕉| 亚洲一区二区免费看| 欧美精品少妇一区二区三区| 久久午夜av| 久久精品国产亚洲a| 欧美亚洲网站| 亚洲欧洲av一区二区三区久久| 一区二区三区日韩欧美| 91久久午夜| 亚洲人成在线观看一区二区| 最新国产精品拍自在线播放| 亚洲国产裸拍裸体视频在线观看乱了| 欧美女同视频| 欧美成人按摩| 欧美国产亚洲精品久久久8v| 久久影院午夜论| 久久综合影视| 欧美大片国产精品| 欧美精品日韩一本| 欧美日韩精品高清| 欧美性一区二区| 国产精品久久久久一区二区| 国产精品日韩欧美一区二区| 国产欧美一级| 红桃视频国产精品| 在线观看欧美日韩国产| 亚洲国产精品成人精品| 亚洲精品五月天| 一区二区冒白浆视频| 亚洲深爱激情| 亚洲欧美激情一区| 欧美一区二区三区免费观看视频| 99成人精品| 99视频一区| 亚洲欧洲av一区二区| 欧美中文字幕在线观看| 亚洲黄色一区| 夜夜狂射影院欧美极品| 亚洲图片在线观看| 午夜国产精品视频免费体验区| 亚洲激情在线观看视频免费| 日韩小视频在线观看专区| 中文亚洲字幕| 欧美在线3区| 免费看精品久久片| 欧美视频不卡中文| 国产美女精品免费电影| 国产自产2019最新不卡| 亚洲国产日韩欧美在线动漫| 中文欧美在线视频| 久久精品国产清高在天天线| 99精品视频一区| 午夜宅男欧美| 蜜桃av噜噜一区| 欧美日韩一区在线播放| 国产日韩欧美一区| 亚洲日韩欧美视频| 午夜免费在线观看精品视频| 亚洲欧洲另类| 香蕉久久a毛片| 免费观看国产成人| 国产精品久久一区二区三区| 激情六月婷婷综合| 在线亚洲高清视频| 亚洲黄色高清| 午夜精品久久久久久久99热浪潮 | 亚洲三级影院| 亚洲最新色图| 久久成人免费视频| 欧美日韩国产综合视频在线| 国产午夜精品全部视频在线播放| 国产免费观看久久| 亚洲国产毛片完整版 | 国产精品伦一区| 国产亚洲激情视频在线| 亚洲精品一区二区三区蜜桃久 | 亚洲毛片在线观看.| 亚洲一区二区三区777| 亚洲级视频在线观看免费1级| 亚洲激情啪啪| 性感少妇一区| 欧美精品一区二区三区蜜臀| 国产伦理一区| 99香蕉国产精品偷在线观看| 亚洲国产欧美一区二区三区久久| 亚洲欧洲一区二区三区| 亚洲男人的天堂在线观看| 欧美电影在线免费观看网站| 国产日本欧美在线观看| 一区二区三区**美女毛片| 最新国产精品拍自在线播放| 欧美在线一二三区| 欧美日韩精品一区二区在线播放 | 国产精品欧美日韩久久| 揄拍成人国产精品视频| 亚洲欧美在线免费观看| 在线一区二区日韩| 欧美不卡视频一区| 国产原创一区二区| 午夜一级在线看亚洲| 在线亚洲免费视频| 欧美激情综合五月色丁香| 在线日本成人| 久久精品视频在线观看| 久久久久高清| 国产亚洲精品激情久久| 亚洲欧美另类在线观看| 亚洲图片自拍偷拍| 欧美午夜免费| 一本色道精品久久一区二区三区 | 国内一区二区在线视频观看| 亚洲欧美美女| 亚洲小说春色综合另类电影| 欧美人与禽猛交乱配视频| 亚洲国产毛片完整版| 亚洲激情影视| 女女同性女同一区二区三区91| 国产精品成人v| 亚洲精品在线观看免费| 亚洲精品一二区| 欧美成人午夜| 亚洲国产精品毛片| 日韩视频一区二区三区| 欧美激情一区二区| 亚洲人永久免费| 国产精品一区免费视频| 亚洲高清资源| 久久爱另类一区二区小说| 亚洲国产一区二区三区在线播 | 亚洲夜间福利| 欧美日本韩国| 99成人精品| 午夜精品久久久久久久99水蜜桃| 免费亚洲电影| 在线观看国产成人av片| 亚洲欧洲在线免费| 欧美黄色视屏| 日韩视频免费看| 一区二区三区日韩| 国产精品成人国产乱一区| 亚洲一区二区三区午夜| 欧美一区二区三区的| 国产日韩欧美在线一区| 久久精彩免费视频| 欧美大片免费| 夜夜嗨一区二区| 亚洲一区二区在线播放| 国产欧美精品在线播放| 欧美专区中文字幕| 欧美顶级少妇做爰| 一区二区激情| 久久精品国产69国产精品亚洲 | 亚洲成人在线网| 日韩亚洲欧美成人一区| 国产精品红桃| 新片速递亚洲合集欧美合集| 久久综合网络一区二区| 亚洲精品视频在线播放| 午夜精品www| 狠狠色2019综合网| 亚洲免费高清| 国产精品视频免费| 亚洲激情啪啪| 国产精品红桃| 亚洲国产二区| 欧美视频免费| 欧美一区视频| 欧美日韩国产色视频| 亚洲欧美伊人| 欧美韩日亚洲| 亚洲欧美日韩国产精品| 欧美a级理论片| 亚洲综合999| 欧美精品在线一区二区| 亚洲宅男天堂在线观看无病毒| 亚洲视频图片小说| 国产亚洲欧美另类中文 | 先锋影音久久久| 欧美a一区二区| 亚洲在线视频免费观看| 欧美成人官网二区| 午夜精品福利视频| 欧美精品免费播放| 久久成人18免费观看| 欧美日韩性视频在线| 久久国产欧美日韩精品| 欧美日一区二区三区在线观看国产免| 亚洲电影免费观看高清完整版在线 | 一区二区三区高清在线| 国产一区二区三区日韩欧美| 日韩特黄影片| 国产一区二区欧美| 亚洲一级在线| 亚洲福利视频一区| 久久久91精品| 中文欧美在线视频| 欧美精品一区三区在线观看| 欧美一区二区视频免费观看| 欧美视频在线免费看| 亚洲区国产区|