基於dMAX的C6727B並行資料傳輸設計

2022-11-19 03:48:05 字數 3011 閱讀 6256

引言dsp(數字訊號處理器)和fpga(現場可程式設計門陣列)一直是數字訊號處理的兩個核心處理單元。目前的無線通訊、影象系統、語音系統都是以這兩類晶元為核心,配置必要的外圍電路來組成整個系統。dsp的主要優點是演算法處理能力強,而fpga的主要優點則是並行處理。

隨著電子技術和晶元技術的發展,dsp和fpga逐漸融合,目前一般的fpga晶元都提供數字演算法處理ip核,可以在fpga上完成fft、濾波等傳統意義上屬於dsp的工作。這些核的主要缺點是演算法固定,只提供成熟的演算法,演算法處理的靈活性較低。經過長期的發展,dsp的片內外設逐漸豐富,但一直很難觸及fpga的並行處理。

ti公司推出的c6727b晶元其片內整合了最新的dmax(dual data movement accelerator,雙向資料傳輸加速器)模組,使得並行資料傳輸成為可能。其實現並行資料傳輸的本質就是相當於在片內整合2個edma(en—hanced direct memory access,增強的直接儲存器訪問)模組,實現資料在無需cpu參與情況下的並行雙路傳輸。本文以hpi和emif介面的資料傳輸為例,介紹dmax的結構、配置及其使用方法。

1 dmax及其結構

c6727b是在c671x基礎上發展的浮點型dsp,其最高工作頻率達到350 mhz。單個指令週期可以執行6個浮點資料運算,最高達到2 100mflops;片內具有256kb的ram,片內外設有。emif、uhpi、音訊串列埠、dmax、定時器以及i2c、spi介面等。

dmax模組是c672x系列dsp所特有的資料傳輸模組,可以實現內部儲存器、片內外設和外部儲存器兩兩之間的資料傳輸。其內部結構如圖1所示。

**看不清楚?請點選這裡檢視原圖(大圖)。

從圖中可以看出,dmax主要由事件和中斷處理模組、事件編碼器、事件參數列、事件的位址生成硬體等組成。事件模組分成高優先順序和低優先順序兩個相互獨立的模組,各自有獨立的事件入口和事件參數列,和cpu有獨立的介面,使得dmax可以同時處理兩個不同的事件。當訪問cpu埠時,max0的優先順序高,maxl的優先順序低。

dmax可以使使用者定義的資料在內部資料儲存器與外設之間移動,dmax能夠移動資料到任意能夠定址的儲存器空間,包括內部儲存器、外設儲存器空間、擴充套件記憶體。dmax能夠同時處理2個資料轉移請求,而且dmax能夠通過執行先進的一維、二維與三維資料的儲存器傳輸工作,從而使dsp得以專注於訊號處理任務,顯著提高系統效能,適合影象的子幀提取或者語音頻號的子通道提取。

為了方便cpu直接控制dmax,c6727b還有2個專門的暫存器負責cpu與dmax的通訊,分別為detr與desr暫存器,cpu通過對這兩個暫存器的讀寫就可以控制dmax的操作。

2 系統硬體結構

c6727b和其他dsp有乙個較大的區別就是,c6727b不再提供專門的外部中斷引腳,而是使用一些gpio引腳與dmax配合使用,通過暫存器的設定將gpio引腳配置成外部中斷引腳。為了實現並行的資料傳輸,需要使用2個外部中斷引腳。為此,使用c6727b的音訊串列埠的axr[8]和axr[9]作為通用i/o引腳,,如圖2所示。

此時音訊串列埠不能再作為普通的音訊口使用,而是配置成i/0介面。

從圖2可以看出,配置好音訊串列埠後,一旦axr[8]和axr[9]引腳有上公升沿到,則mcasp0和mcasp1啟用dmax的事件26和事件27。這兩個事件分別連線到dmax的低優先順序和高優先順序模組。即使兩個中斷同時發生,dmax也可以同時響應事件,並處理相應的資料傳輸。

**看不清楚?請點選這裡檢視原圖(大圖)。

為了實現並行資料傳輸,必須將事件26的引數設定成與emif介面通訊,同時需要將傳輸資料的源位址,目的位址,資料個數和資料增加方式(不變、加1、減1等)在初始化時寫入dmax(lo)的引數中。這樣,一旦事件26觸發,dmax(lo)將自動傳輸資料;資料傳輸結束後,可以根據需要將dmax(lo)配置為向cpu傳送內部中斷14。同樣,對於事件27,配置dmax(hi)的引數就可以完成對hpi介面的資料傳輸,也可以根據需要將dmax(hi)配置為向cpu傳送內部中斷13。

mcasp與中斷相關的暫存器配置是實現以上方案的重點,其中斷配置框圖如圖3所示。從圖中可以看出,使用pfunc暫存器將其配置成通用i/0引腳;pdir暫存器控制i/o引腳的方向,若是輸出引腳則由pout引腳輸出高低電平,若是輸入引腳則由pdin暫存器讀出該引腳的狀態;此外,可以使用pdclr和pset暫存器清除或者設定輸出引腳的狀態。

**看不清楚?請點選這裡檢視原圖(大圖)。

3 系統軟體設計

系統軟體設計主要包括mcasp、dmax、hpi和emif的初始化,以及中斷使能等。系統主程式只需要等待中斷進行相應的處理,主要的資料傳輸工作都是由dmax按照軟體配置自動完成,不需要cpu參與。系統軟體流程如圖4所示。

圖中,虛線部分表示由dmax獨立完成的工作,實線部分表示由cpu完成的工作。兩者之間通過內部中斷方式實現狀態的交流。

**看不清楚?請點選這裡檢視原圖(大圖)。

當有2個以上傳輸事件發生,尤其是多個事件都在同乙個dmax優先順序完成時,事件仲裁就變得很重要。圖5是多個dmax事件進行資料傳輸的例子。圖中,事件a為dmax(hi)資料傳輸;事件0~2為dmax(lo)資料傳輸。

在dmax(lo)中,設定事件o優先順序最高,事件2優先順序最低。

**看不清楚?請點選這裡檢視原圖(大圖)。

事件a和事件0同時發生,將分別觸發dmax(hi)和dmax(lo)進行資料傳輸。在之後的時鐘週期內,dmax(hi)不再有其他事件發生,將穩定、持續地進行事件a的資料傳輸,直到傳輸結束,如圖5中最後一行所示。

對於dmax(lo),在傳輸了事件0的乙個資料後,事件2發生。雖然事件2的優先順序低於事件o,但dmax(lo)仍然會響應事件2,並且會傳輸乙個事件2的資料,如圖中第5行的e2/qo。此時,dmax(lo)就存在2個啟用的事件——事件o和事件2。

之後的資料傳輸dmax(lo)進行優先順序判斷,將優先傳輸事件o的資料,而將事件2掛起,直到事件o結束後才開始處理事件2的資料傳輸。

4 總結

dmax使用2路獨立的傳輸通道從而實現並行資料傳輸,其本質是採用了獨立的物理通道,這與fpga實現並行處理基本一致。本文介紹了基於c6727b的dmax的基本結構以及軟硬體設計,使用事件優先順序控制區分多個事件的資料傳輸。由於可以並行傳輸資料,使得dsp與外部裝置的通訊更加方便和快捷,而且不需要cpu的參與,減輕了cpu的負擔,使cpu可以專注於複雜的演算法處理。

基於Profile base的定性分析 C

左鍵點選 選擇雙擊開啟 右鍵點選 apply remove 右鍵點選 如下圖general reset 點選reset,恢復到預設 的設定 元素資訊的設定介面 元素的指定是通過雙擊在週期表上來完成 advanced reset 點選ok實行檢索 rutile和hematite 前打勾登入 沒有鑑定的...

基於聲譽的C2C電子商務信任評估模型

摘要 隨著網際網路技術的快速發展,基於c2c模式的電子商務平台也得到爆發式發展,電子商務平台具有便利 高效 開放的特點,目前由於電子商務平台的信任機制的不健全,增加了監管交易參與者的難度,交易的風險也比較大。通過分析和驗證表明 基於聲譽的電子商務信任評估模型,在c2c電子商務系統中作用明顯,在最終 ...

基於89C51的自動收費系統

工程技術 謝俐俐 常州輕工職業技術學院江蘇常州 摘要 介紹所設計的乙個基於 及 的臨時停車場自動收費系統,試系統通過微控制器 控制虹外接收端和計 收費 端,較為理想的解決了臨時停車門禁 計費及收費的功能。關鍵詞 收費系統紅外中圖分類號 文獻標識碼 文章編號一 我們所設計的基於 的紅外全自 動停車收費...