1 dMAX及其結構
C6727B是在C671x基礎上發(fā)展的浮點型DSP,其最高工作頻率達到350 MHz。單個指令周期可以執(zhí)行6個浮點數(shù)據(jù)運算,最高達到2 100MFLOPS;片內具有256KB的RAM,片內外設有。EMIF、UHPI、音頻串口、dMAX、定時器以及I2C、SPI接口等。
dMAx模塊是C672x系列DSP所特有的數(shù)據(jù)傳輸模塊,可以實現(xiàn)內部存儲器、片內外設和外部存儲器兩兩之間的數(shù)據(jù)傳輸。其內部結構如圖1所示。
從圖中可以看出,dMAX主要由事件和中斷處理模塊、事件編碼器、事件參數(shù)表、事件的地址生成硬件等組成。事件模塊分成高優(yōu)先級和低優(yōu)先級兩個相互獨立的模塊,各自有獨立的事件入口和事件參數(shù)表,和CPU有獨立的接口,使得dMAX可以同時處理兩個不同的事件。當訪問CPU端口時,MAX0的優(yōu)先級高,MAXl的優(yōu)先級低。
dMAX可以使用戶定義的數(shù)據(jù)在內部數(shù)據(jù)存儲器與外設之間移動,dMAX能夠移動數(shù)據(jù)到任意能夠尋址的存儲器空間,包括內部存儲器、外設存儲器空間、擴展內存。dMAx能夠同時處理2個數(shù)據(jù)轉移請求,而且dMAX能夠通過執(zhí)行先進的一維、二維與三維數(shù)據(jù)的存儲器傳輸工作,從而使DSP得以專注于信號處理任務,顯著提高系統(tǒng)性能,適合圖像的子幀提取或者語音信號的子信道提取。
為了方便CPU直接控制dMAX,C6727B還有2個專門的寄存器負責CPU與dMAX的通信,分別為DETR與DESR寄存器,CPU通過對這兩個寄存器的讀寫就可以控制dMAX的操作。
2 系統(tǒng)硬件結構
C6727B和其他DSP有一個較大的區(qū)別就是,C6727B不再提供專門的外部中斷引腳,而是使用一些GPIO引腳與dMAX配合使用,通過寄存器的設置將GPIO引腳配置成外部中斷引腳。為了實現(xiàn)并行的數(shù)據(jù)傳輸,需要使用2個外部中斷引腳。為此,使用C6727B的音頻串口的AXR[8]和AXR[9]作為通用I/O引腳,同時需要將音頻串口的CONFIGMCASP0和CONFIGMCASP1分別配置成Ox0001和0x0002,如圖2所示。此時音頻串口不能再作為普通的音頻口使用,而是配置成I/0接口。
從圖2可以看出,配置好音頻串口后,一旦AXR[8]和AXR[9]引腳有上升沿到,則McASP0和McASP1激活dMAX的事件26和事件27。這兩個事件分別連接到dMAX的低優(yōu)先級和高優(yōu)先級模塊。即使兩個中斷同時發(fā)生,dMAX也可以同時響應事件,并處理相應的數(shù)據(jù)傳輸。
[!--empirenews.page--]
為了實現(xiàn)并行數(shù)據(jù)傳輸,必須將事件26的參數(shù)設置成與EMIF接口通信,同時需要將傳輸數(shù)據(jù)的源地址,目的地址,數(shù)據(jù)個數(shù)和數(shù)據(jù)增加方式(不變、加1、減1等)在初始化時寫入dMAx(Lo)的參數(shù)中。這樣,一旦事件26觸發(fā),dMAX(Lo)將自動傳輸數(shù)據(jù);數(shù)據(jù)傳輸結束后,可以根據(jù)需要將dMAX(Lo)配置為向CPU發(fā)送內部中斷14。同樣,對于事件27,配置dMAX(Hi)的參數(shù)就可以完成對HPI接口的數(shù)據(jù)傳輸,也可以根據(jù)需要將dMAX(Hi)配置為向CPU發(fā)送內部中斷13。
McASP與中斷相關的寄存器配置是實現(xiàn)以上方案的重點,其中斷配置框圖如圖3所示。從圖中可以看出,使用PFUNC寄存器將其配置成通用I/0引腳;PDIR寄存器控制I/O引腳的方向,若是輸出引腳則由POUT引腳輸出高低電平,若是輸入引腳則由PDIN寄存器讀出該引腳的狀態(tài);此外,可以使用PDCLR和PSET寄存器清除或者設置輸出引腳的狀態(tài)。
3 系統(tǒng)軟件設計
系統(tǒng)軟件設計主要包括McASP、dMAX、HPI和EMIF的初始化,以及中斷使能等。系統(tǒng)主程序只需要等待中斷進行相應的處理,主要的數(shù)據(jù)傳輸工作都是由dMAX按照軟件配置自動完成,不需要CPU參與。系統(tǒng)軟件流程如圖4所示。圖中,虛線部分表示由dMAX獨立完成的工作,實線部分表示由CPU完成的工作。兩者之間通過內部中斷方式實現(xiàn)狀態(tài)的交流。
當有2個以上傳輸事件發(fā)生,尤其是多個事件都在同一個dMAX優(yōu)先級完成時,事件仲裁就變得很重要。圖5是多個dMAX事件進行數(shù)據(jù)傳輸?shù)睦?。圖中,事件A為dMAX(Hi)數(shù)據(jù)傳輸;事件0~2為dMAX(Lo)數(shù)據(jù)傳輸。在dMAX(Lo)中,設定事件O優(yōu)先級最高,事件2優(yōu)先級最低。
事件A和事件0同時發(fā)生,將分別觸發(fā)dMAX(Hi)和dMAX(Lo)進行數(shù)據(jù)傳輸。在之后的時鐘周期內,dMAX(Hi)不再有其他事件發(fā)生,將穩(wěn)定、持續(xù)地進行事件A的數(shù)據(jù)傳輸,直到傳輸結束,如圖5中最后一行所示。
對于dMAX(Lo),在傳輸了事件0的一個數(shù)據(jù)后,事件2發(fā)生。雖然事件2的優(yōu)先級低于事件O,但dMAX(Lo)仍然會響應事件2,并且會傳輸一個事件2的數(shù)據(jù),如圖中第5行的E2/QO。此時,dMAX(Lo)就存在2個激活的事件——事件O和事件2。之后的數(shù)據(jù)傳輸dMAX(Lo)進行優(yōu)先級判斷,將優(yōu)先傳輸事件O的數(shù)據(jù),而將事件2掛起,直到事件O結束后才開始處理事件2的數(shù)據(jù)傳輸。
4 總 結
dMAX使用2路獨立的傳輸通道從而實現(xiàn)并行數(shù)據(jù)傳輸,其本質是采用了獨立的物理通道,這與FPGA實現(xiàn)并行處理基本一致。本文介紹了基于C6727B的dMAX的基本結構以及軟硬件設計,使用事件優(yōu)先級控制區(qū)分多個事件的數(shù)據(jù)傳輸。由于可以并行傳輸數(shù)據(jù),使得DSP與外部設備的通信更加方便和快捷,而且不需要CPU的參與,減輕了CPU的負擔,使CPU可以專注于復雜的算法處理。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心標普500指數(shù)今年迄今為止下跌22.7%,但高盛(Goldman Sachs)策略師認為估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management稱,面對高通脹環(huán)境下的利率大幅上升,股...
關鍵字: DMA MANAGEMENT 高通 ST