基于FIFO的DDC與DSP高速數(shù)據(jù)傳輸實(shí)現(xiàn)
2.2 FIFO與DSP EMIF接口
TMS320C6201的外部存儲(chǔ)器接口(EMIF)是32位接口,HSP50214B的AOUT和BOUT兩路16位分別經(jīng)兩FIFO的低16位與EMIF的 32位接口連接,DSP同時(shí)讀取AOUT和BOUT兩路數(shù)據(jù)存放于內(nèi)部存儲(chǔ)器,數(shù)據(jù)在存儲(chǔ)器中奇偶分離,可以采用32位或16位的訪問方式存取數(shù)據(jù),這樣充分利用DSP的硬件資源,保證了數(shù)據(jù)的高速傳輸。由于TMS320C6201只有一個(gè)外部總線接口,FIFO與DSP通過EMIF相連接,所以必須注意數(shù)據(jù)采集與連接到外部總線上的其他外部設(shè)備或存儲(chǔ)器對(duì)使用總線的沖突,要保證沒有其他外圍設(shè)備長(zhǎng)時(shí)間占用外部總線,否則發(fā)生總線使用沖突時(shí)將導(dǎo)致采集數(shù)據(jù)丟失。
對(duì)于讀FIFO的讀操作,這里用到EMIF異步存儲(chǔ)器控制信號(hào):輸出使能(/AOE)和讀使能(/ARE)以及外部空間選擇信號(hào)(/CE0)。DDC、FIFO、DSP間的接口電路如圖2所示。從圖2中邏輯關(guān)系可看出,當(dāng)/AOE與/CEn都有效時(shí),OE有效,片選使能兩個(gè)FIFO。當(dāng)/CEn和/ARE同時(shí)低電平有效時(shí),UNCK無效,待讀出的數(shù)據(jù)在此時(shí)進(jìn)行初始化,隨后ARE會(huì)跳變?yōu)檎娖?,使UNCK產(chǎn)生上升沿,F(xiàn)IFO中數(shù)據(jù)被讀出。圖2中兩個(gè)FIFO的半滿信號(hào)HF經(jīng)過一個(gè)“與”門連接至DSP外部中斷引腳EXT-INT5。當(dāng)兩個(gè)FIFO皆達(dá)到半滿時(shí)“與”門輸出由低變高,上升沿觸發(fā)DSP外部中斷EXT-INT5,DSP啟動(dòng)DMA(直接存儲(chǔ)器存?。┮酝话l(fā)的方式讀取FIFO數(shù)據(jù)。FIFO1中數(shù)據(jù)作為低16位,F(xiàn)IFO2中數(shù)據(jù)作為高16位,合并為32位數(shù)據(jù)讀入DSP內(nèi)部存儲(chǔ)空間。
本文引用地址:http://m.butianyuan.cn/article/158169.htm
3 接口時(shí)序
設(shè)計(jì)中,F(xiàn)IFO采用半滿信號(hào)。若FIFO使用滿(/FULL)狀態(tài)信號(hào),則滿(/FULL)狀態(tài)位有效時(shí),觸發(fā)DMA開始數(shù)據(jù)傳輸;如在滿信號(hào)和DMA傳輸之間仍有數(shù)據(jù)出現(xiàn)在數(shù)據(jù)線上,則因?yàn)榇藭r(shí)LDCK對(duì)FIFO無效,待DMA開始數(shù)據(jù)傳輸時(shí)才允許數(shù)據(jù)寫入,所以可能丟失采集數(shù)據(jù)。本設(shè)計(jì)中采用半滿(HF)信號(hào)作為標(biāo)志位,在半滿時(shí),開始DMA傳輸,不中斷數(shù)據(jù)寫入FIFO。由于ADC數(shù)據(jù)寫入FIFO速度小于EMIF讀出速度,所以后續(xù)數(shù)據(jù)不會(huì)覆蓋原來的有效數(shù)據(jù),采樣數(shù)據(jù)不會(huì)丟失。
EMIF讀FIFO邏輯關(guān)系如下:UNCK=/CE+/ARE,LDCK=/CE+/AWE,OE=/CE+/AOE,讀FIFO時(shí)序如圖3所示。
本設(shè)計(jì)利用雙FIFO結(jié)構(gòu)實(shí)現(xiàn)DDC與DSP間的32位數(shù)據(jù)緩沖,保證了數(shù)據(jù)的高速有效傳輸。FIFO與DSP采用32位的接口方式,DSP EMIF讀取FIFO采用DMA的數(shù)據(jù)傳輸方式,充分利用了DSP的硬件資源以提高系統(tǒng)實(shí)時(shí)處理能力,能夠滿足軟件無線電的中頻數(shù)字信號(hào)處理要求。
評(píng)論