www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式 FIFO 數(shù)據(jù)傳輸系統(tǒng)設(shè)計

嵌入式設(shè)備在DSP中實現(xiàn)嵌入式設(shè)備還比較少,一般DSP都直接集成這些設(shè)備模塊,用戶選擇不同型號的DSP芯片以滿足產(chǎn)品應(yīng)用要求。但對于一些較為特殊的嵌入式設(shè)備,DSP也可以實現(xiàn)該功能。本文以dMAX和EMIF接口的數(shù)據(jù)傳輸為例,介紹嵌入式FIFO的設(shè)計、配置及其使用。


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

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


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


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

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

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


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


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


FIFO的寫操作只有一種工作方式,即每次寫一個新的數(shù)據(jù),寫指針加1,直到寫滿。而FIFO讀操作有兩種工作方式,分別為標(biāo)準(zhǔn)操作和多階延遲(Multi-tap Delay Transfer)操作。標(biāo)準(zhǔn)操作和寫操作一樣。多階延遲操作一般用于濾波處理,當(dāng)需要對輸入信號進(jìn)行濾波處理時候,每次希望從FIFO讀取一段窗口的數(shù)據(jù),進(jìn)行濾波處理,數(shù)據(jù)窗口仍然只移動一個數(shù)據(jù)。在標(biāo)準(zhǔn)操作情況下,如果讀取一段窗口的數(shù)據(jù),F(xiàn)IFO則將該段窗口的數(shù)據(jù)全部彈出。多階延遲操作則只彈出一個數(shù)據(jù)。該操作方法對語音或者AD采樣數(shù)據(jù)的平滑、FIR等濾波非常適用。需要注意的是,多階延遲操作的數(shù)據(jù)窗大小需要設(shè)置,如果FIFO存儲的數(shù)據(jù)個數(shù)小于數(shù)據(jù)窗,F(xiàn)IFO則終止當(dāng)前操作,并給出錯誤標(biāo)志。[!--empirenews.page--]系統(tǒng)硬件結(jié)構(gòu)
C6727B和其他DSP有一個較大的區(qū)別,就是C6727B不再提供專門的外部中斷引腳,而是采用GPIO引腳和dMAX配合使用,通過寄存器的設(shè)置將GPIO引腳配置成外部中斷引腳。本文為了實現(xiàn)FIFO的實時操作,一旦外設(shè)向FIFO寫入數(shù)據(jù),即發(fā)出中斷信號到DSP的CPU,通知CPU讀取數(shù)據(jù)。為此,需要使用1個外部中斷引腳,將C6727B的音頻串口的AXR[8]配置成通用的GPIO引腳,并在dMAX中設(shè)置成中斷引腳。此時需要將音頻串口的CONFIGMACSP0寄存器設(shè)置為0x0001,如圖3所示。此時音頻串口不能再作為普通的音頻口使用,而是配置成IO接口。

 

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


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

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

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


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

圖5 突發(fā)讀時序圖
 
總結(jié)
dMAX的特有結(jié)構(gòu)使得其可以實現(xiàn)嵌入式FIFO。本文介紹了基于C6727B的dMAX的基本結(jié)構(gòu)以及基于dMAX的嵌入式FIFO軟硬件設(shè)計,設(shè)置通用GPIO引腳作為中斷,為了加快FIFO的傳輸速率,使用突發(fā)讀寫方式進(jìn)行數(shù)據(jù)傳輸。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

德國康佳特亮相上海工博會,展示多款應(yīng)用就緒的嵌入式解決方案平臺

關(guān)鍵字: 嵌入式 傳感器 處理器

雙方攜手為客戶打造以存儲為核心的模塊化基礎(chǔ)架構(gòu),支持先進(jìn)的多裸片架構(gòu)設(shè)計

關(guān)鍵字: 非易失性存儲 半導(dǎo)體 嵌入式

本屆年會將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

上海2025年9月5日 /美通社/ -- 由紐倫堡會展(上海)有限公司舉辦的上海國際嵌入式會議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會議將由三個版塊組成:嵌入式技術(shù)會議、汽...

關(guān)鍵字: 嵌入式 CE CHINA EMBEDDED

從外部看,電子系統(tǒng)仿佛一個統(tǒng)一的學(xué)科或設(shè)備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內(nèi)在卻是另一番景象:一個碎片化、多層次的世界——其中每一層都獨立且復(fù)雜,衍生出各自特有的工具、專家、工作流程,甚至哲學(xué)體系。

關(guān)鍵字: 嵌入式 電子系統(tǒng) 半導(dǎo)體

8位單片機(jī)在嵌入式設(shè)計領(lǐng)域已經(jīng)成為半個多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國際電子展盛大啟幕。本屆大會以"All for AI"為主題,深圳市德...

關(guān)鍵字: AI 工業(yè)級 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術(shù)領(lǐng)域的專業(yè)大展,本屆展會...

關(guān)鍵字: 嵌入式 電子 高通 AI

模塊化設(shè)計作為一種將系統(tǒng)拆分為獨立、可復(fù)用組件的方法,能夠在低代碼平臺中實現(xiàn)功能的靈活組合,并最大限度地提升系統(tǒng)性能。本文將探討如何通過模塊化設(shè)計,使得低代碼平臺既能快速適應(yīng)變化,又能保持高效穩(wěn)定的運(yùn)行。

關(guān)鍵字: 模塊化設(shè)計 嵌入式

CPU親和度通過限制進(jìn)程或線程可以運(yùn)行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關(guān)鍵字: Linux 嵌入式
關(guān)閉