freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于tic6416dsk的tlv320aic23音頻編解碼芯片驅(qū)動(dòng)的一般實(shí)現(xiàn)(已改無(wú)錯(cuò)字)

2022-12-30 21:45:43 本頁(yè)面
  

【正文】 制器是基于 RAM結(jié)構(gòu)的, EDMA通道被構(gòu)建在一個(gè)參數(shù)表中,此表是 EDMA內(nèi)部參數(shù) RAM 中的一個(gè) 2K 字節(jié)的塊。 每一個(gè) EDMA 事件參數(shù)入口由 6個(gè) 32位的字組成。如 下表 所示: 縮寫(xiě) 參數(shù)名稱(chēng) OPT EDMA 通道選擇參數(shù) SRC EDMA 通道源地址參數(shù) CNT EDMA 通道傳輸計(jì)數(shù)參數(shù) DST EDMA 通道目的地址參數(shù) IDX EDMA 通道索引參數(shù) RLD EDMA 通道計(jì)數(shù)重載 /鏈接地址參數(shù) 通道選擇參數(shù)( OPT) 主要用于控制 EDMA 事件優(yōu)先級(jí), 數(shù)據(jù)單元大小 , 源地第三章 編解碼芯片驅(qū)動(dòng)的硬件接口設(shè)計(jì) 19 址 /目的地址變更模式 , 傳輸 完成碼, 是否使能鏈接 功能 , 同步傳輸方式等。 通道源地址參數(shù)( SRC) 和 通道目的地址參數(shù)( DST) 用于存放 EDMA 訪問(wèn)的源地址 /目的地址。 傳輸計(jì)數(shù)參數(shù)( CNT)用于單元計(jì)數(shù)和幀 /陣列計(jì)數(shù)。一組單元組成一個(gè)幀,一個(gè)幀中的單元可以使離散的也可以使連續(xù)的,一幀既可以同步傳輸也可以不同步傳輸。單元計(jì)數(shù)( ELECNT)為一個(gè) 16位無(wú)符號(hào)值,這個(gè)值為一幀中的單元個(gè)數(shù)或一個(gè)陣列中的單元個(gè)數(shù)。單元計(jì)數(shù)的有效值為 1~為 0則 EDMA 不執(zhí)行傳輸。幀 /陣列計(jì)數(shù)同樣為一個(gè) 16 位無(wú)符號(hào)值,它確定一個(gè)一維塊中幀的個(gè)數(shù)或二維塊中陣列的個(gè)數(shù),幀計(jì)數(shù)應(yīng)用于一維傳輸而陣列計(jì)數(shù)應(yīng)用于二維傳輸。每個(gè)幀中 傳輸?shù)膸?/ 陣列的最大值為 65536。 通道索引參數(shù)( IDX) 包括 單元索引參數(shù)( ELEIDX)和幀 /陣列索引參數(shù)( FRMIDX)段的 16位有符號(hào)值用來(lái)改變地址。依據(jù)傳輸?shù)念?lèi)型, EDMA 使用這些段更新地址。幀索引用于一維傳輸而陣列索引用于二維傳輸。 SRC 和 DST 地址由一個(gè)索引值改變更新,單元索引為一幀中的下一個(gè)單元提供地址偏移量。單元索引僅用于一維傳輸,因?yàn)槎S傳輸不允許單元之間有間距,因此陣列被用來(lái)定義一組連續(xù)的的單元。幀 /陣列提供一塊中下一幀的偏移量。 計(jì)數(shù)重載和鏈接地址參數(shù)( RLD) , 當(dāng)一幀中的最后一個(gè) 單元被傳輸后, 16 位無(wú)符號(hào)單元計(jì)數(shù)重載值被用來(lái)重載單元計(jì)數(shù)段。因?yàn)?EDMA 需要使用單元計(jì)數(shù)跟蹤下一個(gè)單元的 地址,所以這個(gè)段僅用于一維單元同步傳輸。在偵數(shù)值大于 0的多幀 EDMA 傳輸時(shí)這是必需的。 EDMA 控制器提供一個(gè)鏈接 EDMA 傳輸?shù)臋C(jī)制, EDMA 參數(shù) RAM 中的 16 位鏈接地址定義了 EDMA 載入或重載下一個(gè)傳輸參數(shù)在參數(shù) RAM 中的低 16位的入口地址。 的傳輸 與 EDMA 中斷 EDMA 初始化的數(shù)據(jù)傳輸方式有兩種,一種是 CPU 初始化的 EDMA,第二種是事件觸發(fā)的 EDMA。在使用 EDMA 時(shí),后一 種是更典型的方式,這使得傳輸請(qǐng)求的提交是基于系統(tǒng)事件,而不需要 CPU 的參與。 QDMA(快速 DMA)傳輸時(shí)發(fā)出 CPU 同步數(shù)據(jù)基于 C6416DSK 的音頻編解碼芯片驅(qū)動(dòng)程序開(kāi)發(fā) 20 傳輸?shù)淖罴逊绞?。每個(gè) EDMA 通道均可以單獨(dú)啟動(dòng), CPU 也可以通過(guò)禁止與 EDMA 通道相關(guān)聯(lián)的事件而禁止該通道。 CPU 可以寫(xiě)入 ESR 以啟動(dòng)一個(gè) EDMA 傳輸。寫(xiě)一個(gè) 1到 ESR 相應(yīng)的事件位觸發(fā)一個(gè) EDMA 通道事件。與通常的事件相同, EDMA 蠶食 RAM中對(duì)應(yīng)于此事件的傳輸參數(shù)傳遞到地址產(chǎn)生硬件單元,從而執(zhí)行訪問(wèn) EMIF, L2 存儲(chǔ)器或外設(shè)的請(qǐng)求。 CPU初始化的 EDMA 傳輸為非同步數(shù)據(jù)傳輸,對(duì)于 CPU 初始化的 EDMA 傳輸,這些事件使能位不需要在 EER 中設(shè)置,這是因?yàn)?CPU 寫(xiě)入 ESR 是作為實(shí)時(shí)事件處理的。 根據(jù)時(shí)間寄存器 ER 中的使能的事件,由時(shí)間按觸發(fā)的 EDMA 傳輸,通過(guò)事件編碼器使它的傳輸參數(shù)傳至地址產(chǎn)生單元,執(zhí)行所請(qǐng)求的訪問(wèn)。盡管事件引起這個(gè)傳輸,但要知道事件本身是由 CPU 使能的,寫(xiě) 1到 EER 相應(yīng)的事件位使能事件。而且,即使在 EER 中的響應(yīng)使能位為 0,一個(gè)時(shí)間仍舊被鎖存在 ER 寄存器中。一旦一個(gè)事件在 EER 中使能,相對(duì)于這個(gè)事件的 EDMA 傳輸就會(huì)發(fā)生??紤]到 EER中的事件使能,通過(guò)連接和設(shè)置 CCER 寄 存器,一次傳輸?shù)耐瓿煽梢猿霭l(fā)下一次 EDMA傳輸。 所有 EDMA 通道均與一個(gè)特定的同步時(shí)間按想對(duì)應(yīng),如外圍設(shè)備事件,外部硬件中斷或 EDMA 傳輸完成時(shí)間均可以用來(lái)同步觸發(fā) EDMA 傳輸。當(dāng)通道接受到它的同步事件或者 CPU 手動(dòng)同步此通道時(shí),通道只請(qǐng)求一次數(shù)據(jù)傳輸。被傳輸?shù)臄?shù)據(jù)量由通道的參數(shù)設(shè)置所決定。 EDMA 提供兩種類(lèi)型的傳輸:一維傳輸和二維傳輸,由事件選項(xiàng)參數(shù)中的 2DD和 2DS 位進(jìn)行選擇。 2DD 設(shè)置為 1 時(shí)表示對(duì)目的地址的二維傳輸,當(dāng) 2DS 為 1時(shí)表示為對(duì)源地址的二維傳輸。 EDMA 控制器所提供的傳輸連接這種傳輸方 式尤其適用于復(fù)雜的分編,循環(huán)緩存等應(yīng)用領(lǐng)域。當(dāng) LINK=1 時(shí),每完成一個(gè)傳輸, EDMA 鏈接功能用 16 位鏈接地址指向的參數(shù)更新當(dāng)前的傳輸參數(shù)。由于整個(gè) EDMA 參數(shù) RAM 位于 0x01A0xxxxh 區(qū)域內(nèi),因此 16 位鏈接地址對(duì)應(yīng)于低 16 位的物理地址,可以確定段內(nèi)下一個(gè)傳輸參數(shù)入口的地址位置。 只有當(dāng) LINK=1,并且事件的當(dāng)前參數(shù)無(wú)效時(shí),鏈接地址才能變?yōu)橛行顟B(tài)。當(dāng) EDMA 控制器完成關(guān)聯(lián)的請(qǐng)求時(shí),一個(gè)事件的傳輸參數(shù)被設(shè)為無(wú)效態(tài)。 如果將一個(gè)傳輸參數(shù)入口鏈接到其本身,則可以重復(fù)地自動(dòng)裝載,從而能夠循環(huán)緩存和重復(fù)傳輸 。在一個(gè) EDMA 通道當(dāng)前傳輸參數(shù)無(wú)效后,傳輸參數(shù)被重載,第三章 編解碼芯片驅(qū)動(dòng)的硬件接口設(shè)計(jì) 21 傳輸重新開(kāi)始。 一旦相對(duì)于一個(gè)事件的通道完成條件滿(mǎn)足,位于鏈接地址的傳輸參數(shù)被讀入16個(gè)事件參數(shù)空間中的對(duì)應(yīng)事件的傳輸參數(shù)入口,此時(shí) EDMA為下次傳輸準(zhǔn)備就緒。為了消除在參數(shù)重載過(guò)程中可能產(chǎn)生的時(shí)延, EDMA 控制器不在此時(shí)對(duì)事件寄存器監(jiān)控。但是,事件仍被 ER獲取,在參數(shù)重載完成后被處理。 EDMA 控制器負(fù)責(zé)向 CPU 產(chǎn)生數(shù)據(jù)傳輸完成的中斷, C6416 的 EDMA 向 CPU 只產(chǎn)生一個(gè)中斷,它代表所有 64 個(gè)通道的中斷。 當(dāng)一個(gè) EDMA 通道選項(xiàng)參數(shù) OPT 中的 TCINT 位設(shè)置為 1并且設(shè)定了某個(gè)傳輸完成碼,那么 EDMA 控制器就會(huì)設(shè)置通道中斷掛起寄存器 CIPR 中的一個(gè)相應(yīng)位, C6416有兩個(gè)通道中斷掛起寄存器,通道中斷掛起低位寄存器和通道中斷掛起高位寄存器。為了向 CPU 產(chǎn)生一個(gè) EDMA_INT 中斷,在通道中斷使能寄存器中設(shè)置相應(yīng)的中斷使能位。對(duì)于任何一個(gè)通道,為了配置 EDMA 能夠中斷 CPU,在 CIER 寄存器中應(yīng)設(shè)置 CIEn 為 1,在選項(xiàng)參數(shù) OPT 中設(shè)置 TCINT 為 1。 方式的優(yōu)點(diǎn) 增強(qiáng)型直接存儲(chǔ)器訪問(wèn) EDMA ( Enhanced Direct Memory Access)可以在沒(méi)有CPU 參與的情況下,由 EDMA控制器完成 DSP存儲(chǔ)空間的數(shù)據(jù)搬移。數(shù)據(jù)搬移的源和目的可以是片內(nèi)存儲(chǔ)器、片內(nèi)外設(shè)或外部器件。因此 EDMA是外圍器件與片內(nèi)存儲(chǔ)器傳輸數(shù)據(jù)的主要通道。 C64x DSP有 64個(gè)通道,每個(gè)通道都有一個(gè)事件與之關(guān)聯(lián),每個(gè)事件相當(dāng)于一個(gè)同步信號(hào),由事件觸發(fā)相應(yīng)通道的數(shù)據(jù)傳輸。 64個(gè)通道 EDMA可以保持 64個(gè)獨(dú)立傳輸?shù)牟僮鳡顟B(tài),同時(shí)每個(gè) EDMA通道都能夠與一個(gè)后續(xù)傳輸鏈接,以備在本次操作完成后執(zhí)行。 EDMA方式與程序控制方式的數(shù)據(jù)傳輸相比,具有明顯的優(yōu)點(diǎn) :首先,數(shù)據(jù)傳輸?shù)穆窂礁静煌?。程序控制下的?shù)據(jù)傳送必須經(jīng)過(guò) CPU內(nèi)部的寄存器中轉(zhuǎn),而EDMA方式的數(shù)據(jù)傳輸是在兩個(gè)存儲(chǔ)介質(zhì)之間進(jìn)行,無(wú)須經(jīng)過(guò) CPU;其次,數(shù)據(jù)傳送的控制源不一樣。程序控制的數(shù)據(jù)傳送是以 CPU為中心,始終受 CPU的控制,每傳基于 C6416DSK 的音頻編解碼芯片驅(qū)動(dòng)程序開(kāi)發(fā) 22 送一個(gè)字節(jié), CPU要執(zhí)行多條指令,而采用 EDMA方式的數(shù)據(jù)傳輸,使用 EDMA控制器的硬件代替原來(lái)的軟件來(lái)控制數(shù)據(jù)的傳輸,這就顯著提高了傳輸速度,大大減輕了 CPU負(fù)擔(dān)。另外, I/O設(shè)備對(duì)響應(yīng)速度造成的影響也很大。當(dāng)用程序控制傳送時(shí),從 I/O設(shè)備向 CPU發(fā)出數(shù)據(jù)傳送請(qǐng)求,令 CPU響應(yīng)并開(kāi)始傳送數(shù)據(jù),中間等待時(shí)間較長(zhǎng)。而 EDMA傳送時(shí)不須使用 CPU內(nèi)部的寄存器,所以 EDMA方式的響應(yīng)時(shí)間明顯縮短。 第四章 編解碼芯片驅(qū)動(dòng)的軟件實(shí)現(xiàn) 23 第四章 編解碼芯片驅(qū)動(dòng) 的軟件實(shí)現(xiàn) 集成開(kāi)發(fā)環(huán)境 CCS 簡(jiǎn)介 Code Composer Studio(以下簡(jiǎn)稱(chēng) CCS)是 TI 公司為其高端產(chǎn)品 C6000 和高性能 C5000 而推出的軟件工具。 CCS 將代碼生成工具和調(diào)試工具集成在一起,并提供了基于可視化鏈接和剖析的編譯功能。它能在一個(gè)控制窗口內(nèi)使用所有的工具,而不需像其它開(kāi)發(fā)系統(tǒng)那樣在幾個(gè) 不同的應(yīng)用程序之間切換,因而使客戶(hù)能夠開(kāi)發(fā)出更可靠的應(yīng)用系統(tǒng),縮短產(chǎn)品上市時(shí)間。 CCS內(nèi)部集成了以下軟件工具: Code Composer(包括編輯,調(diào)試,項(xiàng)目管理,代碼性能測(cè)試和實(shí)時(shí)調(diào)查); (包括 C編譯器,匯編優(yōu)化器,匯編器和連接器); ( Simulator) ; ( RTDX) ( realtime analysis)和數(shù)據(jù)可視化( data visualization)軟件。 在 DSP 應(yīng)用系 統(tǒng)中,一般會(huì)涉及大量對(duì) DSP 外設(shè)如 McBSP, EMIF,AIC23 等的變成處理工作,在開(kāi)發(fā)時(shí)會(huì)消耗大量的事件和精力。在 CCS 集成開(kāi)發(fā)環(huán)境中,提供了 CSL,BSL,RTDX 等組件,可以很快地完成對(duì) DSP 片內(nèi)外設(shè)的配置和編程工作,從而縮短開(kāi)發(fā)時(shí)間。 DSP/BIOS是一個(gè)尺寸可伸縮的實(shí)時(shí)內(nèi)核,它是為那些需要實(shí)時(shí)線程調(diào)度與同步 , 主機(jī)與目標(biāo) DSP間通信或?qū)崟r(shí)監(jiān)測(cè)的應(yīng)用而設(shè)計(jì)的。它只占用很少的 DSP資源,可以滿(mǎn)足 DSP實(shí)時(shí)運(yùn)行時(shí)的調(diào)度性能分析。 DSP/BIOS提供了搶占式多線程 , 硬件抽象 , 實(shí)時(shí)分析和配置工具。可以利用 配置工具設(shè)置復(fù)雜的寄存器的初始化 , 利用實(shí)時(shí)分析 工具幫助分析算法實(shí)時(shí)運(yùn)行情況 , 利用芯片支持庫(kù)幫助管理外設(shè)資源等 。 以下介紹 DSP/BIOS的各個(gè)功能模塊 : (System) DSP/BIOS提供一個(gè)可視化的編輯器來(lái)定義目標(biāo)應(yīng)用的全局屬性、系統(tǒng)內(nèi)存設(shè)基于 C6416DSK 的音頻編解碼芯片驅(qū)動(dòng)程序開(kāi)發(fā) 24 置、鎖相環(huán)設(shè)置和中斷向量入口等,通過(guò) API調(diào)用對(duì)內(nèi)存進(jìn)行動(dòng)態(tài)的分配和回收。 (Instrumentation) 日志記錄 (LOG)模塊可以提供調(diào)試信息,特別是針對(duì)實(shí)時(shí)操作優(yōu)化。對(duì) C6000系列的 DSP來(lái)說(shuō),在開(kāi)發(fā)時(shí)通常需要顯示當(dāng)前狀態(tài) , LOG_printf()對(duì)于實(shí)時(shí)地顯示一些運(yùn)行狀態(tài)是非常有用的。另外在實(shí)時(shí)運(yùn)行的 DSP環(huán)境中使用 profile,相當(dāng)于加入了多個(gè)程序斷點(diǎn),同時(shí) profile還必須調(diào)用輸出模塊向主機(jī)傳遞時(shí)間信息,在這種情況下,不能保證做到實(shí)時(shí)運(yùn)行,因此引入了一個(gè)統(tǒng)計(jì)目標(biāo)管理模塊 STS。 STS對(duì)象的執(zhí)行時(shí)間也只有幾十個(gè)指令周期。 (Scheduling) 它包括定時(shí)器 , 周期器 , 軟硬件中斷管理 , 任務(wù)調(diào)度和空閑任務(wù)函數(shù)。在DSP/BIOS中,任務(wù)的調(diào)度主要是通過(guò) HWI, SWI和 TSK三個(gè)模塊來(lái)實(shí)現(xiàn)的。 HWI模塊管 理硬件中斷,優(yōu)先級(jí)最高,利用配置工具為每個(gè)硬件中斷設(shè)置中斷標(biāo)志寄存器位 (IFR)。 HWI不引起任務(wù)調(diào)度,它在處理完數(shù)據(jù)的輸入 /輸出后,調(diào)用 SWI_post()等 API函數(shù)來(lái)調(diào)用相應(yīng)的軟件中斷 SWI,完成數(shù)據(jù)處理工作。 DSP/BIOS提供兩類(lèi)優(yōu)先線程: SWI和 TSK模塊。 SWI任務(wù)是搶斷式的,高優(yōu)先級(jí)的任務(wù)可以搶斷低優(yōu)先級(jí)的任務(wù),所有 SWI任務(wù)都共享一個(gè)堆棧。 SWI任務(wù)只能在程序中預(yù)先定義。 DSP/BIOS中對(duì)任務(wù)的動(dòng)態(tài)產(chǎn)生是通過(guò) TSK模塊來(lái)實(shí)現(xiàn)的, TSK也是可以搶斷的,但每個(gè) TSK任務(wù)使用的是獨(dú)立的堆棧。 (Synchronization) 協(xié)調(diào)同步工作的常用方法有信號(hào)量 , 郵箱 , 原子量和鎖。分別通過(guò)模塊 SEM,MBX, QUE和 LCK來(lái)對(duì)系統(tǒng)多個(gè)任務(wù)之間進(jìn)行協(xié)調(diào)同步工作。其中,主要是信號(hào)量,任務(wù)使用信號(hào)量同步對(duì)資源進(jìn)行訪問(wèn)。 /輸出模塊 (Input/Output) 在 DSP運(yùn)行時(shí), DSP/BIOS提供了 DSP與主機(jī)及外設(shè)多種方式的數(shù)據(jù)交換。其中PIP和 SIO模塊負(fù)責(zé)管理目標(biāo)應(yīng)用程序的數(shù)據(jù)傳輸。 PIP是可以快速的在讀寫(xiě)線程之間傳遞數(shù)據(jù)的通用組件,具有靈活 性 。 SIO模塊還有一個(gè)設(shè)備驅(qū)動(dòng)模塊 DEV。該模塊與 SIO模塊配合完成數(shù)據(jù)的輸入 /輸出工作, SIO的操作是應(yīng)用程序同設(shè)備驅(qū)動(dòng)程序之間數(shù)據(jù)地址的直接交換,具有很高的效率。 DSP/BIOS還提供用于主機(jī)與目標(biāo)應(yīng)用程序之間的數(shù)據(jù)傳輸?shù)哪K HPI。可以根據(jù)具體要求選擇其中的一種方法。 (CSL) 第四章 編解碼芯片驅(qū)動(dòng)的軟件實(shí)現(xiàn) 25 針對(duì)不同的 DSP 芯片,配置不同的外設(shè)資源。芯片支持庫(kù)提供了配置和控制片上外圍設(shè)備的 C 語(yǔ)言接口。該配置工具用于對(duì)片上外圍設(shè)備進(jìn)行編程,如 EDMA, 多
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1