《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP-dMAX的嵌入式FIFO 數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
基于DSP-dMAX的嵌入式FIFO 數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
摘要: dMAX的特有結(jié)構(gòu)使得其可以實(shí)現(xiàn)嵌入式FIFO。本文介紹了基于C6727B的dMAX的基本結(jié)構(gòu)以及基于dMAX的嵌入式FIFO軟硬件設(shè)計(jì),設(shè)置通用GPIO引腳作為中斷,為了加快FIFO的傳輸速率,使用突發(fā)讀寫方式進(jìn)行數(shù)據(jù)傳輸。嵌入式FIFO的實(shí)現(xiàn),使得DSP和外部設(shè)備的通信更加方便和快捷,而且不需要CPU的參與,減輕了CPU的負(fù)擔(dān),CPU可以專注于復(fù)雜的算法處理。
關(guān)鍵詞: DSP FIFO 數(shù)據(jù)傳輸 C6727B
Abstract:
Key words :

    嵌入式設(shè)備由于具有硬件可在線配置,實(shí)現(xiàn)靈活等特點(diǎn),使得其應(yīng)用越來越廣泛。尤其在基于FPGA的硬件系統(tǒng)中應(yīng)用較多,目前在許多產(chǎn)品中實(shí)現(xiàn)了嵌入式網(wǎng)口、嵌入式PCI/PCI-E、嵌入式USB等各種模塊。但在DSP中實(shí)現(xiàn)嵌入式設(shè)備還比較少,一般DSP都直接集成這些設(shè)備模塊,用戶選擇不同型號的DSP芯片以滿足產(chǎn)品應(yīng)用要求。但對于一些較為特殊的嵌入式設(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,外部存儲器接口)可以實(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)先級和低優(yōu)先級兩個(gè)相互獨(dú)立的模塊,各自有獨(dú)立的事件入口和事件參數(shù)表,和CPU有獨(dú)立的接口。使得dMAX可以同時(shí)處理兩個(gè)不同的事件。當(dāng)訪問CPU端口時(shí),MAX0的優(yōu)先級高,MAX1的優(yōu)先級低。dMAX能夠通過執(zhí)行先進(jìn)的一維、二維與三維數(shù)據(jù)的存儲器傳輸工作,從而使DSP得以專注于信號處理任務(wù),顯著提高系統(tǒng)性能。適合圖像的子幀提取或者語音信號的子信道提取。

    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開銷,在很多高速的數(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后臺運(yùn)行,這樣將大大降低整個(gè)系統(tǒng)數(shù)據(jù)讀寫的開銷,從而可以實(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)鍵字:DSP-dMAX FIFO 數(shù)據(jù)傳輸

 

    基地址和空間大小用于規(guī)劃出一段內(nèi)存空間,該內(nèi)存空間用于FIFO設(shè)備,并被FIFO設(shè)備保護(hù)起來,使得其他設(shè)備和程序不能訪問該空間。為了便于操作方便,空間大小一般為2的整數(shù)次冪,但不做要求。具體到C6727B型號的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。基地址和空間大小的特殊要求避免訪問時(shí)的地址跨越多頁問題,可以提高FIFO的訪問速度。

    空標(biāo)志和滿標(biāo)志用于表示FIFO的存儲狀態(tài)。讀指針和寫指針用于表示讀寫的當(dāng)前地址。錯(cuò)誤標(biāo)志表示對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)需要對輸入信號進(jìn)行濾波處理時(shí)候,每次希望從FIFO讀取一段窗口的數(shù)據(jù),進(jìn)行濾波處理,數(shù)據(jù)窗口仍然只移動一個(gè)數(shù)據(jù)。在標(biāo)準(zhǔn)操作情況下,如果讀取一段窗口的數(shù)據(jù),F(xiàn)IFO則將該段窗口的數(shù)據(jù)全部彈出。多階延遲操作則只彈出一個(gè)數(shù)據(jù)。該操作方法對語音或者AD采樣數(shù)據(jù)的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數(shù)據(jù)窗大小需要設(shè)置,如果FIFO存儲的數(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配合使用,通過寄存器的設(shè)置將GPIO引腳配置成外部中斷引腳。本文為了實(shí)現(xiàn)FIFO的實(shí)時(shí)操作,一旦外設(shè)向FIFO寫入數(shù)據(jù),即發(fā)出中斷信號到DSP的CPU,通知CPU讀取數(shù)據(jù)。為此,需要使用1個(gè)外部中斷引腳,將C6727B的音頻串口的AXR[8]配置成通用的GPIO引腳,并在dMAX中設(shè)置成中斷引腳。此時(shí)需要將音頻串口的CONFIGMACSP0寄存器設(shè)置為0x0001,如圖3所示。此時(shí)音頻串口不能再作為普通的音頻口使用,而是配置成IO接口。

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


    從圖3中可以看出,配置好音頻串口后,一旦AXR[8]引腳有上升沿到,則McASP0激活dMAX的事件26,向CPU發(fā)送內(nèi)部中斷13。McASP的與中斷相關(guān)的寄存器配置是實(shí)現(xiàn)以上方案的重點(diǎn)。使用PFUNC寄存器將其配置成通用IO引腳;PDIR寄存器控制IO引腳的方向;如果是輸出引腳則由POUT引腳輸出高低電平,如果是輸入引腳,則由PDIN寄存器讀出該引腳的狀態(tài);此外,可以使用PDCLR和PSET寄存器清除或者設(shè)置輸出引腳的狀態(tài)。

 

關(guān)鍵字:DSP-dMAX FIFO 數(shù)據(jù)傳輸

 

    系統(tǒng)軟件設(shè)計(jì)

    系統(tǒng)軟件設(shè)計(jì)主要包括McASP的初始化、dMAX的初始化、FIFO的初始化、中斷使能等。系統(tǒng)主程序只需要等待中斷進(jìn)行相應(yīng)的處理,主要的數(shù)據(jù)傳輸工作都是dMAX按照軟件配置自動完成,不需要CPU參與。圖4是實(shí)現(xiàn)由外設(shè)寫FIFO,DSP讀取FIFO數(shù)據(jù)的流程。圖中虛線部分表示由dMAX獨(dú)立完成的工作,實(shí)線部分表示由CPU完成的工作。兩者之間通過內(nèi)部中斷方式實(shí)現(xiàn)狀態(tài)的交流。

圖4 系統(tǒng)軟件流程


    為了提高FIFO的讀寫速率,一般采用突發(fā)方式進(jìn)行讀寫。突發(fā)方式的讀時(shí)序如圖5所示。寫時(shí)序和讀時(shí)序類似。突發(fā)方式一次最多只能讀寫8個(gè)數(shù)據(jù),也可以一次突發(fā)讀寫4個(gè)或者2個(gè)數(shù)據(jù)。突發(fā)讀寫時(shí)數(shù)據(jù)的建立和保持時(shí)間最少可以設(shè)置成1個(gè)時(shí)鐘周期,如圖中所示。但為了通信可靠,一般采用2個(gè)時(shí)鐘周期。突發(fā)方式最大的節(jié)省時(shí)間是連續(xù)的其他數(shù)據(jù)將不再需要建立和保持周期,而是直接進(jìn)行讀寫,一般只需要兩個(gè)時(shí)鐘周期就可以完成一個(gè)數(shù)據(jù)的讀寫。最快情況下,突發(fā)讀寫8個(gè)數(shù)據(jù)只需要20個(gè)時(shí)鐘周期,讀寫速率達(dá)到53.2M×32b/s,滿足大部分設(shè)備的要求。

圖5 突發(fā)讀時(shí)序圖
 

    總結(jié)

    dMAX的特有結(jié)構(gòu)使得其可以實(shí)現(xiàn)嵌入式FIFO。本文介紹了基于C6727B的dMAX的基本結(jié)構(gòu)以及基于dMAX的嵌入式FIFO軟硬件設(shè)計(jì),設(shè)置通用GPIO引腳作為中斷,為了加快FIFO的傳輸速率,使用突發(fā)讀寫方式進(jìn)行數(shù)據(jù)傳輸。嵌入式FIFO的實(shí)現(xiàn),使得DSP和外部設(shè)備的通信更加方便和快捷,而且不需要CPU的參與,減輕了CPU的負(fù)擔(dān),CPU可以專注于復(fù)雜的算法處理。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品国产日韩| 欧美在线免费观看| 国产日产欧产精品推荐色 | 亚洲欧美日韩天堂| 一区二区三区欧美视频| 亚洲精品午夜精品| 亚洲欧洲日韩在线| 亚洲人成毛片在线播放女女| 亚洲人成网在线播放| 亚洲欧洲日夜超级视频| 亚洲黄色免费网站| 亚洲人午夜精品| 日韩视频国产视频| av成人动漫| 亚洲性感激情| 亚洲字幕在线观看| 亚洲综合欧美日韩| 亚洲欧美国产视频| 欧美一区二区三区在线看| 欧美一区二区三区在线看| 欧美在线观看一区| 久久久久久**毛片大全| 久久亚洲高清| 欧美高清在线| 欧美日韩三级电影在线| 国产精品v日韩精品v欧美精品网站| 欧美性猛交xxxx免费看久久久| 欧美日本中文字幕| 国产精品福利片| 国产乱理伦片在线观看夜一区| 国产女人水真多18毛片18精品视频| 国产精品蜜臀在线观看| 国产欧美一区二区精品秋霞影院 | 欧美一级片一区| 久久国产成人| 亚洲精品资源| 亚洲欧美电影院| 久久蜜桃资源一区二区老牛 | 另类天堂视频在线观看| 欧美国产日韩亚洲一区| 欧美日精品一区视频| 国产精品久久久久久久久久妞妞| 国产亚洲精品v| 亚洲国产成人高清精品| 99精品视频免费观看视频| 亚洲欧美日韩天堂| 亚洲欧洲精品一区二区三区| 亚洲一二三区在线观看| 久久精品亚洲精品国产欧美kt∨| 在线精品国精品国产尤物884a| 在线不卡中文字幕播放| 99国产精品99久久久久久粉嫩| 亚洲免费综合| 91久久国产自产拍夜夜嗨| 亚洲天天影视| 久久久91精品| 欧美日韩精品三区| 国产手机视频精品| 亚洲欧洲在线免费| 亚洲欧美国产va在线影院| 亚洲精品久久嫩草网站秘色| 午夜视频久久久| 欧美91视频| 国产伦精品一区二区三区高清版 | 亚洲一卡二卡三卡四卡五卡| 亚洲电影有码| 亚洲欧美日韩精品综合在线观看| 久久亚洲一区二区三区四区| 欧美日韩中文精品| 国内激情久久| 一区二区三区回区在观看免费视频| 久久av一区| 亚洲综合欧美| 欧美国产亚洲视频| 国产亚洲欧美激情| 一级日韩一区在线观看| 亚洲激情欧美| 久久精品国产一区二区三区| 小嫩嫩精品导航| 欧美1区视频| 国产午夜精品美女毛片视频| 艳女tv在线观看国产一区| 亚洲成色最大综合在线| 亚洲缚视频在线观看| 亚洲免费在线视频| 欧美—级在线免费片| 韩国精品一区二区三区| 亚洲性人人天天夜夜摸| 日韩视频专区| 免费视频亚洲| 国产综合色产在线精品| 亚洲一区二区影院| 亚洲午夜激情网页| 欧美母乳在线| 在线日韩视频| 久久精品国产在热久久| 午夜影院日韩| 国产精品爱啪在线线免费观看| 亚洲国产精品日韩| 亚洲国产精品悠悠久久琪琪| 久久国产精品久久精品国产 | 在线电影欧美日韩一区二区私密| 亚洲欧美另类国产| 亚洲综合日韩| 欧美视频在线观看免费| 亚洲人妖在线| 日韩视频中文字幕| 欧美大片国产精品| 在线日韩成人| 亚洲黄一区二区| 久久一区二区三区av| 国产亚洲va综合人人澡精品| 亚洲在线视频观看| 午夜在线播放视频欧美| 国产精品久久久久久久app | 亚洲一区二区三| 亚洲综合视频一区| 国产精品xxx在线观看www| 一区二区三区精品视频| 夜夜夜久久久| 欧美日本国产在线| 国产日韩亚洲欧美综合| 亚洲综合色在线| 亚洲一区二区免费| 欧美私人网站| 亚洲小说欧美另类社区| 亚洲综合精品一区二区| 国产精品国产三级国产专区53| 一区二区电影免费观看| 亚洲欧美国产另类| 国产精品视频区| 香蕉av福利精品导航| 欧美一级视频精品观看| 国产精品一区二区三区久久久| 亚洲你懂的在线视频| 久久精品91久久久久久再现| 国产欧美日韩在线观看| 久久aⅴ国产紧身牛仔裤| 久久精品卡一| 激情久久影院| 日韩视频在线一区二区| 欧美特黄一级大片| 亚洲欧美日本日韩| 久久亚洲不卡| 亚洲精品日韩一| 亚洲男女自偷自拍图片另类| 国产精品一区二区久久| 欧美有码视频| 欧美国产日韩在线| 在线亚洲精品福利网址导航| 午夜精品久久久久久99热| 国产亚洲欧美一区| 亚洲精品女av网站| 欧美日韩免费| 亚洲欧美另类国产| 久热精品视频| av成人毛片| 久久国产精品99精品国产| 亚洲国产成人久久综合| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲精品乱码久久久久| 欧美三级特黄| 欧美一区三区二区在线观看| 欧美插天视频在线播放| 99在线|亚洲一区二区| 欧美在线看片a免费观看| 1024日韩| 新67194成人永久网站| 一区在线播放视频| 一本色道久久88综合日韩精品 | 亚洲精品一区二区在线观看| 午夜日韩电影| 亚洲高清二区| 欧美亚洲一区二区三区| 在线播放国产一区中文字幕剧情欧美| 一本色道久久综合亚洲精品不| 国产日韩欧美91| 亚洲最新在线| 国产曰批免费观看久久久| 夜夜嗨av色一区二区不卡| 国产欧美日韩一区二区三区| 亚洲美洲欧洲综合国产一区| 国产精品视频自拍| 亚洲区中文字幕| 国产精品一页| 夜夜爽www精品| 精久久久久久| 午夜天堂精品久久久久| 亚洲国产一区二区在线| 欧美中文字幕视频| 99精品国产高清一区二区| 久久亚洲免费| 亚洲一级在线观看| 欧美巨乳在线| 亚洲国产日韩欧美综合久久 | 日韩视频久久| 美女精品在线| 欧美在线一二三四区| 国产精品久久久久9999吃药| 亚洲精品久久久久久久久|