用雙端口RAM實(shí)現與PCI總線(xiàn)接口數據通訊

發(fā)布時(shí)間:2010-11-9 11:54    發(fā)布者:techshare
關(guān)鍵詞: PCI , RAM , 數據通訊 , 雙端口 , 總線(xiàn)接口
采用雙端口RAM實(shí)現DSP與PCI總線(xiàn)芯片之間的數據交換接口電路。

提出了一種使用CPLD解決雙端口RAM地址譯碼和PCI接口芯片局部總線(xiàn)仲裁的的硬件設計方案,并給出了PCI總線(xiàn)接口芯片寄存器配置實(shí)例,介紹了軟件包WinDriver開(kāi)發(fā)設備驅動(dòng)程序的具體過(guò)程。

隨著(zhù)計算機技術(shù)的不斷發(fā)展,為滿(mǎn)足外設間以及外設與主機間的高速數據傳輸,Intel公司于1991年提出了PCI總線(xiàn)概念。PCI總線(xiàn)是一種能為主CPU及外設提供高性能數據通訊的總線(xiàn),其局部總線(xiàn)在33MHz總線(xiàn)時(shí)鐘、32位數據通路時(shí),數據傳輸速率最高可達133Mbps。實(shí)際應用中,可通過(guò)PCI總線(xiàn)實(shí)現主機與外部設備的高速數據傳輸,有效解決數據的實(shí)時(shí)傳輸和存儲問(wèn)題,為信號的實(shí)時(shí)處理打下良好基礎。

本文主要提供一種基于PCI總線(xiàn)的數據傳輸系統設計方案,其中雙口RAM起橋梁作用,完成上位機與外圍主控單元之間的數據握手。

1 雙端口RAM實(shí)現PCI總線(xiàn)接口方案

本系統主要用于解決上位機與外圍控制單元的數據傳輸問(wèn)題。上位機運行信息診斷程序,通過(guò)PCI總線(xiàn)與外圍控制單元以一定速率傳輸數據,在主機中實(shí)時(shí)監控并保存數據。由于實(shí)現高速實(shí)時(shí)數據傳輸,數據量大,所以在PCI局部總線(xiàn)上插入一個(gè)高速雙端口RAM。雙端口RAM一端作為PCI總線(xiàn)接口的本地端存儲器,一端作為DSP目標存儲器。需要傳輸保存的數據經(jīng)DSP處理后借助雙端口RAM和PCI總線(xiàn)接口完成了上位機與DSP的數據握手。本文提出的雙端口RAM實(shí)現PCI總線(xiàn)接口方案如圖1。





考慮到PCI總線(xiàn)接口對局部總線(xiàn)的控制時(shí)序比較復雜,需要譯碼和控制電路來(lái)實(shí)現局部總線(xiàn)的訪(fǎng)問(wèn)及控制。本系統使用CPLD解決雙口RAM的地址訪(fǎng)問(wèn)競爭沖突問(wèn)題。需解決的主要問(wèn)題有:①PCI接口電路設計;②CPLD地址譯碼和總線(xiàn)仲裁;③PCI總線(xiàn)驅動(dòng)程序開(kāi)發(fā)。

2 PCI接口電路設計

PCI卡的設計一般采用兩種方案。一種是根據PCI協(xié)議在FPGA或CPLD中實(shí)現PCI總線(xiàn)接口控制器,但是由于PCI協(xié)議的復雜性,使得開(kāi)發(fā)難度大、周期長(cháng);另一種使用現成的PCI接口芯片,用戶(hù)開(kāi)發(fā)難度降低,只把重點(diǎn)放在PCI接口芯片局部總線(xiàn)的接口設計和PCI總線(xiàn)配置空間的初始化,而不用速度考慮PCI總線(xiàn)規范上眾多的協(xié)議規范,加快了開(kāi)發(fā)時(shí)間。

本數據傳輸系統使用PLX公司的PCI9030總線(xiàn)接口芯片,以CPLD完成邏輯控制及與外設的連接,整個(gè)系統的硬件框圖如圖2。其中雙端口RAM采用IDT71V321,CPLD選用XILINX公司的XC9536CPLD芯片,EEPROM選用NS公司的93CS56,控制單元DSP選用TMS320LF2407A。




2.1PCI9030內部結構及其數據傳輸

PCI9030是PLX公司開(kāi)發(fā)的PCI總線(xiàn)目標接口芯片。其特點(diǎn):低功耗,PQFP176針?lè )庋b,符合PCIV2.2規范;在PCI總線(xiàn)上是從設備,但在局部總線(xiàn)上是主設備;PCI9030支持突發(fā)傳輸,有5個(gè)PCI總線(xiàn)到局部總線(xiàn)地址空間,9個(gè)可編程的通用I/O,4個(gè)可編程的片選,支持熱插拔。PCI 9030主要由PCI總線(xiàn)接口邏輯、局部總線(xiàn)接口邏輯、串行E2PROM接口邏輯和內部邏輯組成,結構框圖見(jiàn)圖3。





PCI9030支持PCI主設備直接訪(fǎng)問(wèn)局部總線(xiàn)上的設備,數據傳輸方式分為內存映射的突發(fā)傳輸和I/O映射的單次傳輸,并且由PCI基址寄存器設置在PCI內存和I/O空間中的合適位置,另外局部映射寄存器允許PCI地址空間轉換到局部地址空間。

2.2配置實(shí)例

系統訪(fǎng)問(wèn)的雙口RAM存儲空間為2KB,要求將這個(gè)存儲器空間映射到局部地址空間0,采用內存方式映射,存儲器的數據寬度為8位,并且不采用突發(fā)傳輸,讀寫(xiě)時(shí)不可預取。下面介紹這個(gè)地址空間各個(gè)寄存器的具體配置過(guò)程。

(1)配置地址范圍寄存器

根據PCI配置寄存器與LAS0RR的對應關(guān)系以及雙口RAM的地址空間800H,取7FFH的補碼得到FFFFF800H。又因為按照設計要求,要映射到內存空間的任何位置并且設置為不可預取的,這樣LASORR寄存器后3位應該為000H。所以L(fǎng)AS0RR的值應該最終確定為FFFFF800H。

(2)配置基址寄存器

該寄存器的基址必須是地址空間范圍的整數倍,在本例中必須是2K的整數倍,可將基地址定為00004000H,又由于基址寄存器位0為空間使能位,所以應將這一位設置1;至于位2、位3,由于是映射到內存空間,設為00H即可。所以L(fǎng)AS0BA的值最終被確定為00004001H。

(3)配置片選信號控制寄存器

該寄存器的地址范圍和基地址必須與LAS0RR或LAS0BA所定義的范圍和空間相對應?筛鶕⺁CI9030提供的配置寄存器的方法確定CS0BASE的數值:板卡的2KB空間可以用十六進(jìn)制表示為800H,將800H右移一位得到400H,然后將基地址加到400H左邊的任何一位中。因為所采用的基地址為00004000H,所以得到的值為00004400H;又因為第1位為片選使能位,應該設置為1。所以最終確定的數值為00004401H。

由于局部總線(xiàn)采用8位的寬度,將工作方式定義在不使能突發(fā),不預取,配置總線(xiàn)區域描述寄存器的數值確定為400140A2H。另外,還要根據要求設置CNTRL寄存器控制PCI9030的工作狀態(tài),確定為18784500H。當所有這些數據都配置完成后,便可將這些數據按照加載順序寫(xiě)入串行E2PROM中,從而完成整個(gè)系統的配置。

通過(guò)這幾個(gè)寄存器的配置,一個(gè)局部地址空間便可以確定下來(lái)。在系統上電后,系統BIOS根據這幾個(gè)寄存器的內容將板卡上2KB的RAM空間重映射到PCI空間中,使主機可以像訪(fǎng)問(wèn)自己的地址空間一樣訪(fǎng)問(wèn)板卡上的RAM。  

2.3CPLD控制邏輯

對于雙口RAM同一個(gè)地址單元,不能同時(shí)進(jìn)行讀或寫(xiě)操作,但兩邊連接的主控芯片,都可以對其進(jìn)行讀、寫(xiě)操作,因此必須解決地址競爭問(wèn)題。本系統中,使用XILINX公司的XC9536CPLD芯片完成PCI局部總線(xiàn)的譯碼和控制電路。由于系統控制計算主要在DSP中完成,上位機只起監控和數據保存作用,因此規定對雙口RAM的操作DSP優(yōu)先于PCI9030;同時(shí)CPLD也參與了DSP片外程序存儲器Flash和數據存儲器RAM的地址譯碼,控制邏輯用公式表示為:





3設備驅動(dòng)程序設計

設備驅動(dòng)程序開(kāi)發(fā)工具通常有DDK、VtoolsD、WinDrvr等。為加快開(kāi)發(fā)速度,采用JUNDO公司的WinDrvr開(kāi)發(fā)設備驅動(dòng)程序。其使用簡(jiǎn)單,支持多種操作系統。

采用Windrvr開(kāi)發(fā)PCI橋接設備的驅動(dòng)程序有兩種方法。一種Wizard開(kāi)發(fā)向導是自動(dòng)生成驅動(dòng)程序框架代碼,然后根據實(shí)際需要,加入定制功能。這種方法生成的代碼較多,程序較復雜。另一種是在Vc++創(chuàng )建工程中直接利用Windrvr的API函數生成驅動(dòng)程序,比在Wizard生成的框架代碼上修改更為靈活。本文采用后一種方法。以下是用Windrvr開(kāi)發(fā)PCI9030橋芯片的驅動(dòng)代碼,只要稍加改動(dòng)就可以作為其他PCI芯片驅動(dòng)程序的一部分,例如PCI9050、PCI9052等。程序中出現的變量名都由其名稱(chēng)反映含義,具體可以參見(jiàn)Windrvr設計文檔說(shuō)明。

至此獲得了本地端映射到用戶(hù)的內存地址,調用讀寫(xiě)函數就可以對本地芯片進(jìn)行操作。
本文地址:http://selenalain.com/thread-37640-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页