用雙端口RAM實(shí)現與PCI總線(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。
評論