基于 DSP-dMAX 的嵌入式 FIFO 數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

相關(guān)專題: 芯片

嵌入式設(shè)備由于具有硬件可在線配置,實(shí)現(xiàn)靈活等特點(diǎn),使得其應(yīng)用越來(lái)越廣泛。尤其在基于FPGA的硬件系統(tǒng)中應(yīng)用較多,目前在許多產(chǎn)品中實(shí)現(xiàn)了嵌入式網(wǎng)口、嵌入式PCI/PCI-E、嵌入式USB等各種模塊。但在DSP中實(shí)現(xiàn)嵌入式設(shè)備還比較少,一般DSP都直接集成這些設(shè)備模塊,用戶選擇不同型號(hào)的DSP芯片以滿足產(chǎn)品應(yīng)用要求。但對(duì)于一些較為特殊的嵌入式設(shè)備,DSP也可以實(shí)現(xiàn)該功能。

TI公司的DSP芯片C6727B,由于其片內(nèi)集成dMAX模塊,使得實(shí)現(xiàn)嵌入式FIFO成為可能。其實(shí)現(xiàn)嵌入式FIFO的本質(zhì)就是將DSP的片內(nèi)一段RAM空間設(shè)置成FIFO空間,F(xiàn)IFO和外部設(shè)備的數(shù)據(jù)交換由EMIF接口完成。該FIFO的數(shù)據(jù)讀寫不需要DSP的CPU參與,從而提高整個(gè)系統(tǒng)性能,實(shí)現(xiàn)數(shù)據(jù)交換和數(shù)據(jù)處理的同時(shí)進(jìn)行。本文以dMAX和EMIF接口的數(shù)據(jù)傳輸為例,介紹嵌入式FIFO的設(shè)計(jì)、配置及其使用。

dMAX及其結(jié)構(gòu)

dMAX(Dual Data Movement Accelerator,雙向數(shù)據(jù)傳輸加速器)是TI公司的DSP芯片C6727B特有的一種片內(nèi)設(shè)備。應(yīng)用dMAX和EMIF(External Memory Interface,外部存儲(chǔ)器接口)可以實(shí)現(xiàn)片內(nèi)RAM、片內(nèi)和片外設(shè)備以及兩個(gè)片外設(shè)備之間的數(shù)據(jù)傳輸。dMAX模塊的內(nèi)部結(jié)構(gòu)如圖1所示。

圖1 dMAX內(nèi)部結(jié)構(gòu)圖

從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、傳輸事件模塊等組成。事件模塊分成高優(yōu)先級(jí)和低優(yōu)先級(jí)兩個(gè)相互獨(dú)立的模塊,各自有獨(dú)立的事件入口和事件參數(shù)表,和CPU有獨(dú)立的接口。使得dMAX可以同時(shí)處理兩個(gè)不同的事件。當(dāng)訪問(wèn)CPU端口時(shí),MAX0的優(yōu)先級(jí)高,MAX1的優(yōu)先級(jí)低。dMAX能夠通過(guò)執(zhí)行先進(jìn)的一維、二維與三維數(shù)據(jù)的存儲(chǔ)器傳輸工作,從而使DSP得以專注于信號(hào)處理任務(wù),顯著提高系統(tǒng)性能。適合圖像的子幀提取或者語(yǔ)音信號(hào)的子信道提取。

DSP內(nèi)部的數(shù)據(jù)交換中心在dMAX的控制下,可以實(shí)現(xiàn)片內(nèi)RAM、EMIF以及HPI接口之間的數(shù)據(jù)交換。本文介紹在dMAX控制下,實(shí)現(xiàn)片內(nèi)RAM和EMIF接口之間的數(shù)據(jù)交換。如果DSP采用普通的異步接口方式,數(shù)據(jù)傳輸需要建立、選通和保持3個(gè)階段,最少需要5個(gè)EMIF時(shí)鐘(建立和保持各1個(gè)時(shí)鐘,選通3個(gè)時(shí)鐘)。為了保證通信的可靠性,一般采用10個(gè)EMIF時(shí)鐘(建立3個(gè)時(shí)鐘,保持2個(gè)時(shí)鐘,選通5個(gè)時(shí)鐘)。而EMIF時(shí)鐘最快為133MHz;這樣,采用異步接口的通信速率一般為13.3M×32b/s(采用32位數(shù)據(jù)總線寬度)。此外,異步接口數(shù)據(jù)傳輸必須在CPU的參與下,使用指令實(shí)現(xiàn)數(shù)據(jù)搬移。將占用大量的CPU開(kāi)銷,在很多高速的數(shù)據(jù)采集和處理中,將降低系統(tǒng)的整體性能。為此,采用dMAX實(shí)現(xiàn)嵌入式FIFO數(shù)據(jù)傳輸克服異步傳輸?shù)娜秉c(diǎn),其傳輸采用突發(fā)讀寫方式進(jìn)行,可以連續(xù)突發(fā)讀寫8個(gè)數(shù)據(jù),一共只需要20個(gè)時(shí)鐘,通信速率提高為53.2M×32b/s,提高4倍讀寫速率。還可以采用和DMA后臺(tái)運(yùn)行,這樣將大大降低整個(gè)系統(tǒng)數(shù)據(jù)讀寫的開(kāi)銷,從而可以實(shí)現(xiàn)更加復(fù)雜和可靠的算法處理。

嵌入式FIFO設(shè)計(jì)

嵌入式FIFO的設(shè)計(jì)主要就是控制FIFO的7個(gè)參數(shù)。這7個(gè)參數(shù)分別為基地址、空間大小、空標(biāo)志、滿標(biāo)志、錯(cuò)誤標(biāo)志、讀指針和寫指針。它們之間的關(guān)系如圖2所示。

圖2 FIFO結(jié)構(gòu)示意圖

基地址和空間大小用于規(guī)劃出一段內(nèi)存空間,該內(nèi)存空間用于FIFO設(shè)備,并被FIFO設(shè)備保護(hù)起來(lái),使得其他設(shè)備和程序不能訪問(wèn)該空間。為了便于操作方便,空間大小一般為2的整數(shù)次冪,但不做要求。具體到C6727B型號(hào)的DSP,空間大小最大為1M個(gè)元素,元素大小可以是8位、16位或者32位數(shù)據(jù),不能為其他類型的數(shù)據(jù)。基地址可以為內(nèi)存空間的任何一個(gè)地址,同樣為了操作方便,一般為空間大小的邊界點(diǎn)。例如,8個(gè)元素的FIFO,其基地址一般為XXXXX000b,也就是地址的低3位為0,基地址就肯定為8的整數(shù)次。同樣,64個(gè)元素的FIFO,其低6位為0;刂泛涂臻g大小的特殊要求避免訪問(wèn)時(shí)的地址跨越多頁(yè)問(wèn)題,可以提高FIFO的訪問(wèn)速度。

空標(biāo)志和滿標(biāo)志用于表示FIFO的存儲(chǔ)狀態(tài)。讀指針和寫指針用于表示讀寫的當(dāng)前地址。錯(cuò)誤標(biāo)志表示對(duì)FIFO的錯(cuò)誤操作。當(dāng)FIFO處于滿標(biāo)志情況下仍然寫FIFO,或者FIFO處于空標(biāo)志情況下仍然讀FIFO,F(xiàn)IFO都將終止當(dāng)前操作,并將錯(cuò)誤標(biāo)志置位。

FIFO的寫操作只有一種工作方式,即每次寫一個(gè)新的數(shù)據(jù),寫指針加1,直到寫滿。而FIFO讀操作有兩種工作方式,分別為標(biāo)準(zhǔn)操作和多階延遲(Multi-tap Delay Transfer)操作。標(biāo)準(zhǔn)操作和寫操作一樣。多階延遲操作一般用于濾波處理,當(dāng)需要對(duì)輸入信號(hào)進(jìn)行濾波處理時(shí)候,每次希望從FIFO讀取一段窗口的數(shù)據(jù),進(jìn)行濾波處理,數(shù)據(jù)窗口仍然只移動(dòng)一個(gè)數(shù)據(jù)。在標(biāo)準(zhǔn)操作情況下,如果讀取一段窗口的數(shù)據(jù),F(xiàn)IFO則將該段窗口的數(shù)據(jù)全部彈出。多階延遲操作則只彈出一個(gè)數(shù)據(jù)。該操作方法對(duì)語(yǔ)音或者AD采樣數(shù)據(jù)的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數(shù)據(jù)窗大小需要設(shè)置,如果FIFO存儲(chǔ)的數(shù)據(jù)個(gè)數(shù)小于數(shù)據(jù)窗,F(xiàn)IFO則終止當(dāng)前操作,并給出錯(cuò)誤標(biāo)志。

系統(tǒng)硬件結(jié)構(gòu)

C6727B和其他DSP有一個(gè)較大的區(qū)別,就是C6727B不再提供專門的外部中斷引腳,而是采用GPIO引腳和dMAX配合使用,通過(guò)寄存器的設(shè)置將GPIO引腳配置成外部中斷引腳。本文為了實(shí)現(xiàn)FIFO的實(shí)時(shí)操作,一旦外設(shè)向FIFO寫入數(shù)據(jù),即發(fā)出中斷信號(hào)到DSP的CPU,通知CPU讀取數(shù)據(jù)。為此,需要使用1個(gè)外部中斷引腳,將C6727B的音頻串口的AXR[8]配置成通用的GPIO引腳,并在dMAX中設(shè)置成中斷引腳。此時(shí)需要將音頻串口的CONFIGMACSP0寄存器設(shè)置為0x0001,如圖3所示。此時(shí)音頻串口不能再作為普通的音頻口使用,而是配置成IO接口。

圖3 中斷功能設(shè)置框圖

作者:付河 邱景鑫 來(lái)源:今日電子


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息