SOPC實(shí)現(xiàn)的PCI總線(xiàn)高速數(shù)據(jù)傳輸系統(tǒng)
本文提出一種采用可編程片上系統(tǒng)(SySTem-On-Programmable-Chip,SOPC)實(shí)現(xiàn)偵察接收機(jī)PCI總線(xiàn)高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案,并采用直接存儲(chǔ)器訪問(wèn)(DIRect Memory Access,DMA)傳輸方式來(lái)提高數(shù)據(jù)傳輸速率。
1 PCI總線(xiàn)接口方案設(shè)計(jì)
在PCI總線(xiàn)接口標(biāo)準(zhǔn)中,根據(jù)數(shù)據(jù)傳輸?shù)陌l(fā)起者所在位置,PCI接口有從模式和主模式兩種工作模式。根據(jù)工作方式的不同,DMA傳輸方式可分為連續(xù)式DMA (Continuous DMA)和集散式DMA(Scatter-Gather DMA)兩種。
1.1 PCI模式的選擇
PCI總線(xiàn)標(biāo)準(zhǔn)中,由PC發(fā)起數(shù)據(jù)傳輸、讀/寫(xiě)PCI接口卡的模式稱(chēng)為從模式。這種模式只要求PCI接口設(shè)備具備PCI從設(shè)備的功能,接口邏輯相對(duì)較簡(jiǎn)單;主模式是由PCI接口卡主動(dòng)讀寫(xiě)PC內(nèi)存,PCI接口的邏輯相對(duì)復(fù)雜。頻繁地要求PC發(fā)起數(shù)據(jù)傳輸會(huì)占用PC的資源,為了減少PC的負(fù)擔(dān),使其有更多的資源用于后續(xù)的數(shù)字信號(hào)處理,在偵察接收系統(tǒng)中,PCI接口卡的傳輸模式選擇主傳輸模式。
1.2 DMA傳輸方式的選擇
DMA是提高數(shù)據(jù)傳輸速率和微處理器使用效率的一種數(shù)據(jù)傳輸機(jī)制。連續(xù)式DMA用于實(shí)現(xiàn)連續(xù)數(shù)據(jù)塊的傳輸,即在一次DMA傳輸中設(shè)備端讀/寫(xiě)物理地址連續(xù)變化(讀存儲(chǔ)器空間)或不變化(讀IO口),PC端的物理存儲(chǔ)地址連續(xù)變化。集散式DMA用于實(shí)現(xiàn)不連續(xù)數(shù)據(jù)塊的傳輸,各傳輸數(shù)據(jù)塊的起始讀/寫(xiě)地址和長(zhǎng)度都可以不同,它采用一個(gè)寄存器鏈表存儲(chǔ)每個(gè)數(shù)據(jù)塊的讀/寫(xiě)起始地址和長(zhǎng)度,DMA傳輸過(guò)程中自動(dòng)從該鏈表加載地址和長(zhǎng)度信息。集散模式DMA應(yīng)用靈活,其缺點(diǎn)是在傳輸完一個(gè)數(shù)據(jù)塊之后要重新配置DMA控制寄存器的值,速度比連續(xù)模式稍慢。在偵察接收系統(tǒng)中,DMA傳輸模式選擇連續(xù)式傳輸模式。
1.3 PCI總線(xiàn)DMA傳輸方案設(shè)計(jì)
PCI接口總體結(jié)構(gòu)框圖如圖1所示。數(shù)據(jù)輸入到乒乓RAM緩沖區(qū),乒乓切換信號(hào)通知CPU數(shù)據(jù)準(zhǔn)備好,CPU通過(guò)PCI橋的控制狀態(tài)寄存器判斷PC端是否備妥,如PC備妥則配置并啟動(dòng)DMA控制器,DMA控制器讀口從乒乓RAM中讀數(shù)據(jù),寫(xiě)口將數(shù)據(jù)寫(xiě)至PCI總線(xiàn)訪問(wèn)端,PCI總線(xiàn)接口單元申請(qǐng)并獲得PCI總線(xiàn)訪問(wèn)權(quán),將數(shù)據(jù)送上PCI總線(xiàn)。
2 PCI總線(xiàn)接口的SOPC實(shí)現(xiàn)
SOPC是Ahera公司提出的一種靈活、高效的片上系統(tǒng)解決方案,它將處理器、存儲(chǔ)器、I/O口以及一些通用的功能模塊集成在一個(gè)PLD器件上,構(gòu)成一個(gè)可編程的片上系統(tǒng)。利用SOPC開(kāi)發(fā)偵察接收機(jī)中的PCI總線(xiàn)接口,具有開(kāi)發(fā)周期短、系統(tǒng)穩(wěn)定性好的優(yōu)點(diǎn)。
2.1 系統(tǒng)實(shí)現(xiàn)
PCI總線(xiàn)接口的SOPC內(nèi)部結(jié)構(gòu)如圖2所示。實(shí)現(xiàn)PCI總線(xiàn)DMA傳輸系統(tǒng)使用到4類(lèi)功能模塊,分別是實(shí)現(xiàn)PCI橋邏輯的pci_comiler組件(pci_c ompiler)、負(fù)責(zé)數(shù)據(jù)傳輸?shù)腄MA控制器(dma)、控制整個(gè)SOPC的NiosII處理器(cpu)及其數(shù)據(jù)程序存儲(chǔ)器(onchip_mem),以及SOPC和外部用戶(hù)邏輯通信的接口模塊(BA1、DMARD和datardy),上述組件通過(guò)avalon總線(xiàn)連接在一起組成SOPC。
評(píng)論