亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于S3C6410的DMA數(shù)據(jù)跟蹤技術(shù)在TD-LTE中的實(shí)現(xiàn)*

        2012-02-06 07:02:58陳安地李小文
        電子技術(shù)應(yīng)用 2012年5期
        關(guān)鍵詞:原語外設(shè)數(shù)據(jù)量

        陳安地,李小文

        (重慶郵電大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065)

        原語是從物理層到非接入層各層間的通信數(shù)據(jù),這些數(shù)據(jù)包含帶有大量標(biāo)識(shí)信息的頭。在TD-LTE無線綜合測(cè)試儀表數(shù)據(jù)傳輸過程中,從最上端非接入層開始向下逐層將數(shù)據(jù)加頭并加入本層的有效數(shù)據(jù),到物理層后向上反饋并逐層解析頭提取本層所需數(shù)據(jù)。這些數(shù)據(jù)的正確性是確保整個(gè)通信系統(tǒng)正常運(yùn)作的關(guān)鍵所在,因此,在系統(tǒng)設(shè)計(jì)與調(diào)試過程中對(duì)這些數(shù)據(jù)的實(shí)時(shí)跟蹤檢測(cè)十分必要。

        本文介紹了在TD-LTE中基于三星ARM1176JZF芯片S3C6410的DMA技術(shù)的具體應(yīng)用實(shí)現(xiàn) (即原語跟蹤技術(shù)),以及在具體環(huán)境中不同技術(shù)方案的對(duì)比分析。最終的設(shè)計(jì)方案充分利用了DMA在基帶芯片中的可用性與占用CPU資源小的優(yōu)勢(shì)[1],實(shí)現(xiàn)了高效實(shí)時(shí)可靠的原語跟蹤。

        1 S3C6410中DMA控制器特性

        S3C6410包含4個(gè)DMA控制器,每個(gè)DMA控制器由8個(gè)傳輸通道組成。DMA控制器的每個(gè)通道能在主AXI(Advanced Extensible Interface)總線的設(shè)備和外部 AXI總線之間通過AHB(Advanced High performance Bus)到AXI進(jìn)行單向數(shù)據(jù)傳輸。DMA控制器結(jié)構(gòu)框圖如圖1所示,每個(gè)控制器提供16個(gè)外設(shè)DMA請(qǐng)求,并且DMA控制器支持外部中斷響應(yīng),即每個(gè)通道可以支持從內(nèi)存到外設(shè)、從內(nèi)存到內(nèi)存、從外設(shè)到內(nèi)存、從外設(shè)到外設(shè)4種模式的數(shù)據(jù)傳輸。在TD-LTE系統(tǒng)中,原語跟蹤使用的是內(nèi)存到外設(shè)模式,每個(gè)外設(shè)連接到DMA控制器,可以產(chǎn)生DMA脈沖請(qǐng)求或是單一DMA請(qǐng)求,脈沖大小可編程。DMA內(nèi)部有4個(gè)字的 FIFO通道,支持8 bit、16 bit、32 bit寬度處理。由于原語跟蹤采用的外設(shè)是UART支持的8 bit輸出,故本文在設(shè)計(jì)中DMA也采用8 bit處理[2]。

        2 DMA信號(hào)處理流程與跟蹤步驟

        數(shù)據(jù)跟蹤的基本機(jī)制如下:首先為各層的數(shù)據(jù)在內(nèi)存中開辟存儲(chǔ)空間,將數(shù)據(jù)存儲(chǔ)到指定緩存中,再由DMA實(shí)現(xiàn)內(nèi)存到外設(shè)的數(shù)據(jù)搬移。本文的外設(shè)是UART,將數(shù)據(jù)搬移到UART的輸出緩存區(qū)以實(shí)現(xiàn)數(shù)據(jù)跟蹤。DMA控制器和外設(shè)的信號(hào)交互如圖2所示。

        當(dāng)請(qǐng)求被允許且剩余數(shù)據(jù)量大于脈沖大小時(shí),DMA控制器發(fā)送全部數(shù)據(jù)脈沖;而剩余數(shù)據(jù)量小于脈沖大小時(shí),DMA控制器將再次監(jiān)控請(qǐng)求信號(hào)等待下次傳輸[3]。本文在數(shù)據(jù)跟蹤時(shí)將脈沖設(shè)置為1以滿足數(shù)據(jù)跟蹤實(shí)時(shí)性的要求。此外,由于單次數(shù)據(jù)量并不是很大(最大不過字節(jié)單位的數(shù)據(jù)量),因此沒有采用鏈表模式來傳輸數(shù)據(jù)。整個(gè)跟蹤過程主要包括以下幾個(gè)步驟:首先DMA接收到外設(shè)驅(qū)動(dòng)初始化完畢后發(fā)送的DMA請(qǐng)求;然后DMA控制器請(qǐng)求CPU將數(shù)據(jù)搬移到需要使用的總線交給DMA控制,將數(shù)據(jù)預(yù)讀取到DMA-FIFO中(即DMA數(shù)據(jù)搬移內(nèi)部過程);最后打開DMA通道將DMA-FIFO中的數(shù)據(jù)傳輸?shù)経ART的輸出緩存中,輸出到顯示設(shè)備。其中只有驅(qū)動(dòng)初始化和總線釋放過程有CPU參與,而驅(qū)動(dòng)初始化過程是一次性的,之后的步驟都由DMA單獨(dú)控制從而釋放CPU資源以繼續(xù)執(zhí)行系統(tǒng)的其他工作。工作中會(huì)產(chǎn)生更多的原語需要DMA反復(fù)運(yùn)行支持實(shí)時(shí)跟蹤,圖3為數(shù)據(jù)跟蹤基本設(shè)計(jì)流程。

        3 DMA跟蹤數(shù)據(jù)方案設(shè)計(jì)與分析

        數(shù)據(jù)在內(nèi)存中的緩存處理方案是:根據(jù)TD-LTE無線綜合測(cè)試儀表系統(tǒng)單次跟蹤的數(shù)據(jù)量大小以及原語產(chǎn)生地址與時(shí)間的隨機(jī)不連續(xù)性,DMA搬移數(shù)據(jù)時(shí)設(shè)置了100 KB的數(shù)據(jù)緩存區(qū),以統(tǒng)一數(shù)據(jù)地址提高跟蹤效率[4],從而在合理利用存儲(chǔ)空間的同時(shí)也保證了數(shù)據(jù)在傳輸過程中的高效與完整性,設(shè)計(jì)中采用起始地址和結(jié)束地址標(biāo)志相減的方式判斷單次數(shù)據(jù)量大小。當(dāng)數(shù)據(jù)存儲(chǔ)到100 KB緩存邊界緩存溢出時(shí),需要采用一定的數(shù)據(jù)處理機(jī)制來做溢出判斷,其處理方式如圖4所示。將本次的數(shù)據(jù)量分成A、B兩塊,分兩次分別傳輸,A部分是本次數(shù)據(jù)搬移起始位置到100 KB邊界位置的數(shù)據(jù)量,B部分是當(dāng)前數(shù)據(jù)總量減去A部分?jǐn)?shù)據(jù)后的剩余數(shù)據(jù)量。這里要注意的是:A部分?jǐn)?shù)據(jù)傳輸完成后,系統(tǒng)可能又產(chǎn)生了新的原語數(shù)據(jù)塊C,因此設(shè)計(jì)中,在傳輸數(shù)據(jù)塊B時(shí)要重新讀取數(shù)據(jù)的終止標(biāo)志位加上后面產(chǎn)生的新的數(shù)據(jù)塊C,以保證數(shù)據(jù)的實(shí)時(shí)性與完整性。

        在TD-LTE無線綜合測(cè)試儀表系統(tǒng)中,原語是單條產(chǎn)生的,并帶有一定的時(shí)間間隔。為滿足系統(tǒng)對(duì)實(shí)現(xiàn)數(shù)據(jù)跟蹤的實(shí)時(shí)性要求,在跟蹤數(shù)據(jù)時(shí)也是單條實(shí)時(shí)顯示。這就要求在設(shè)計(jì)中判定DMA在每次傳輸是否完成,避免本次傳輸還未完成而下一次傳輸已經(jīng)開始,導(dǎo)致本次傳輸數(shù)據(jù)不完整。因此在設(shè)計(jì)過程中,采用了中斷判斷模式和中斷標(biāo)志位判斷模式兩種方案來判定傳輸是否完成并獲取總線來執(zhí)行下一次數(shù)據(jù)搬移。

        3.1 中斷判定模式

        根據(jù)S3C6410中DMA控制器特性,DMA在數(shù)據(jù)搬移結(jié)束時(shí)可以產(chǎn)生數(shù)據(jù)計(jì)數(shù)中斷或數(shù)據(jù)錯(cuò)誤中斷兩種中斷。設(shè)計(jì)中打開DMA對(duì)應(yīng)的GPIO(General Purpose Input Output)口并初始化相對(duì)應(yīng)的 41號(hào) VIC(Vectored Interrupt Controllers)中斷向量,就可以利用數(shù)據(jù)計(jì)數(shù)中斷來完成系統(tǒng)的外部中斷響應(yīng),進(jìn)入中斷函數(shù),在中斷函數(shù)中再次調(diào)用DMA以此完成多次數(shù)據(jù)搬移[4]。在使能DMA通道并且數(shù)據(jù)傳輸完成后由硬件自動(dòng)響應(yīng)中斷,有效避免了DMA設(shè)備在傳輸過程中被下一次傳輸請(qǐng)求打斷,而搬移數(shù)據(jù)和系統(tǒng)其他程序的執(zhí)行完全互不干擾。這種模式可以在各種數(shù)據(jù)量大小的數(shù)據(jù)搬移過程中最大限度地利用CPU資源。但是,由于采用了上述的數(shù)據(jù)緩存機(jī)制,而且在TD-LTE系統(tǒng)中斷處理中比DMA計(jì)數(shù)中斷優(yōu)先級(jí)高的中斷還有很多,因此采用中斷模式在實(shí)際運(yùn)用中會(huì)出現(xiàn)以下三種典型不穩(wěn)定的情況及所采取的措施:

        (1)在CPU向緩存中搬移數(shù)據(jù)過程中產(chǎn)生了中斷,此時(shí)會(huì)出現(xiàn)當(dāng)前一次要搬移的數(shù)據(jù)在內(nèi)存中不完整或標(biāo)志位混亂的情況,因此,在設(shè)計(jì)時(shí)搬移數(shù)據(jù)前還需要增加內(nèi)存數(shù)據(jù)是否存儲(chǔ)完成的標(biāo)志位判定。由于中斷類型眾多,設(shè)計(jì)有一定難度。

        (2)最后幾條原語數(shù)據(jù)在存入內(nèi)存緩存區(qū)后,若前面的搬移數(shù)據(jù)還沒有完成,則無法獲取總線,則會(huì)導(dǎo)致最后幾條原語無法跟蹤。因此,需要在原語全部發(fā)送完畢后在系統(tǒng)程序靠后的固定位置添加一條空的原語跟蹤語句來跟蹤最后幾條。

        (3)當(dāng)出現(xiàn)較大數(shù)據(jù)量搬移時(shí)耗時(shí)較長(zhǎng),可能超過上層系統(tǒng)原語發(fā)送的間隔時(shí)間,后面幾條原語將堆積到緩存中,等待下一次DMA總線獲取后,一次性搬出,這樣會(huì)導(dǎo)致下一次數(shù)據(jù)搬移時(shí)間的延長(zhǎng)。這一條是基于機(jī)制的本質(zhì)問題,實(shí)時(shí)性和數(shù)據(jù)完整性預(yù)計(jì)會(huì)受到較大影響。

        3.2 中斷標(biāo)志位判定模式

        這種方案的基本思路與中斷模式相似,也需要解決DMA反復(fù)獲取總線的問題。方案中屏蔽了DMA控制器在ARM中的中斷響應(yīng),在每次系統(tǒng)上層調(diào)用數(shù)據(jù)緩存的過程中加入了DMA接口函數(shù),以這種方式在系統(tǒng)上層作為數(shù)據(jù)緩存時(shí)主動(dòng)獲取總線[5]。采用軟件的方式編程判斷DMA數(shù)據(jù)計(jì)數(shù)中斷標(biāo)志位(在DMACIntTCStatus寄存器中)是否拉高置 1,然后以消耗 CPU資源為代價(jià)來等待傳輸完成或是傳輸完成后直接進(jìn)行下一次DMA總線獲取。這種模式以軟件方式代替硬件中斷響應(yīng),可以保證每一條原語在數(shù)據(jù)緩存后的及時(shí)跟蹤,也能滿足實(shí)時(shí)性與數(shù)據(jù)完整性的要求。但該方案也存在機(jī)制上的缺陷,其表現(xiàn)為在連續(xù)大數(shù)據(jù)量跟蹤時(shí)會(huì)出現(xiàn)持續(xù)消耗CPU、等待DMA數(shù)據(jù)搬移完成的情況,從而影響系統(tǒng)運(yùn)行效率。

        4 方案性能對(duì)比分析

        由于兩種方案各有優(yōu)缺點(diǎn),在調(diào)試過程中對(duì)兩種方案做了詳細(xì)的對(duì)比與分析,最后根據(jù)TD-LTE無線綜合測(cè)試儀表系統(tǒng)的具體特性與應(yīng)用要求選擇了較優(yōu)的中斷標(biāo)志位判定模式。

        首先,根據(jù)設(shè)計(jì)原理和調(diào)試中呈現(xiàn)的不穩(wěn)定情況,通過對(duì)兩種方案進(jìn)行資源占用時(shí)間分析,了解它們對(duì)系統(tǒng)的影響,圖5中分別列出了兩種方案中正常情況和不穩(wěn)定狀態(tài)下的典型資源占用時(shí)間情況。

        由圖 5(a)可以看出,采用中斷模式(方案 1)出現(xiàn)不穩(wěn)定情況時(shí),在下次跟蹤時(shí)會(huì)累計(jì)更多條原語從而使DMA占用更多時(shí)間,雖然CPU資源利用率較高,但是會(huì)產(chǎn)生惡性循環(huán),導(dǎo)致最后大量數(shù)據(jù)無法輸出,破壞數(shù)據(jù)完整性,同時(shí)也降低了數(shù)據(jù)跟蹤的實(shí)時(shí)性。圖5(b)中采用中斷標(biāo)志位判定模式(方案2),在出現(xiàn)不穩(wěn)定情況時(shí),由于各條原語跟蹤相對(duì)獨(dú)立,僅在當(dāng)前一條的原語跟蹤后出現(xiàn)對(duì)CPU資源占用,雖然對(duì)系統(tǒng)總體CPU利用率產(chǎn)生影響,但是不會(huì)對(duì)后面的原語跟蹤產(chǎn)生任何影響。

        其次,對(duì)兩種方案中不穩(wěn)定情況在TD-LTE無線綜合測(cè)試儀表系統(tǒng)中發(fā)生的可能性進(jìn)行分析,主要需要考慮系統(tǒng)產(chǎn)生原語數(shù)據(jù)量的大小以及產(chǎn)生時(shí)間間隔這兩個(gè)參數(shù)。在整個(gè)調(diào)試流程中UART波特率為56000baud/s,系統(tǒng)時(shí)鐘ARMCLK為667MHz、PCLK為66.7MHz、HCLK為133MHz,產(chǎn)生原語平均大小為128B(其中大部分原語數(shù)據(jù)量小于這個(gè)值,由于個(gè)別數(shù)據(jù)量較大而將平均值拉大)。通過示波器分析可以看出,在單次跟蹤數(shù)據(jù)量為128 B、總次數(shù)為10次的數(shù)據(jù)跟蹤條件下,平均時(shí)間間隔(每次產(chǎn)生數(shù)據(jù)跟蹤間隔的時(shí)間)與小時(shí)間間隔(產(chǎn)生數(shù)據(jù)跟蹤間隔的時(shí)間小于數(shù)據(jù)跟蹤所需時(shí)間)時(shí)兩種方案的測(cè)試情況,其波形與時(shí)間分析如圖6所示。圖6中,A波形為128 B原語數(shù)據(jù)單次跟蹤波形,△X為所需要的時(shí)間;B波形為正常時(shí)間間隔下連續(xù)10次、128 B數(shù)據(jù)量原語跟蹤,其中的間隔時(shí)間△X內(nèi)CPU仍然在運(yùn)行,中斷模式與中斷標(biāo)志位判定模式在A、B兩種情況下的輸出占用時(shí)間大體相同。C波形是中斷標(biāo)志位判定模式下小時(shí)間間隔10次、128 B數(shù)據(jù)量原語跟蹤所輸出的波形,在沒有原語跟蹤的情況下CPU執(zhí)行時(shí)間在190 ms,而這里消耗了227 ms,跟蹤數(shù)據(jù)正常,只是多占用了37 ms的CPU資源。D波形為中斷模式下小時(shí)間間隔10次、128 B數(shù)據(jù)量原語跟蹤所輸出的波形,根據(jù)波形輸出情況可以斷定發(fā)生了圖5中數(shù)據(jù)積累情況,導(dǎo)致后面有兩條原語在跟蹤時(shí)由于DMA沒有獲取到總線而沒有輸出,對(duì)數(shù)據(jù)跟蹤的實(shí)時(shí)性和完整性影響頗大。

        本文介紹的兩種DMA原語跟蹤方案已經(jīng)在ARM Workbench IDE v4.0與RealView Debugger v4.0上編譯調(diào)試,并通過了測(cè)試板驗(yàn)證和聯(lián)機(jī)驗(yàn)證。在反復(fù)驗(yàn)證后,采取了中斷標(biāo)志位判定模式來實(shí)現(xiàn)跟蹤。該方案的運(yùn)行結(jié)果與理論值一致,不受系統(tǒng)中其他諸如DSP數(shù)據(jù)中斷、FPGA指針中斷等高優(yōu)先級(jí)中斷的干擾[4],具有較強(qiáng)的獨(dú)立性和穩(wěn)定性,優(yōu)化了系統(tǒng)CPU資源利用率,實(shí)現(xiàn)了DMA數(shù)據(jù)跟蹤的高強(qiáng)度反復(fù)穩(wěn)定運(yùn)行。

        [1]Tang Dan,Bao Yungang,Hu Weiwu,et al.DMA cache:using on-chip storage to architecturally separate I/O data from CPU data for improving I/O performance[C].High Performance Computer Architecture(HPCA),2010 IEEE 16th International Symposium.Bangalore,India.January 9-14.2010:1-12.

        [2]唐中燕.DMA技術(shù)在嵌入式現(xiàn)場(chǎng)前端設(shè)備中的應(yīng)用[J].電測(cè)與儀表,2006,43(483):60-61.

        [3]Samsung Electronics.S3C6410X RISC microprocessor user's manual[R].2008.

        [4]HESSEL S,SZCZESNY D,BRUNS F,et al.Architectural analysis of a smart DMA controller for protocol stack acceleration in LTE terminals[C].The Sixteenth IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.Macau,China.Aug 23-25,2010:309-315.

        [5]DASYGENIS M,BROCKMEYER E,DURINCK B,et al.A combined DMA and application-specific prefetching approach for tackling the memory latency bottleneck[J].Very Large Scale Integration(VLSI)Systems.2006,14(3):279-291.

        猜你喜歡
        原語外設(shè)數(shù)據(jù)量
        測(cè)試原語:存儲(chǔ)器故障最小檢測(cè)序列的統(tǒng)一特征
        基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
        計(jì)算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
        高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
        寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
        電子制作(2019年13期)2020-01-14 03:15:18
        密碼消息原語通信協(xié)議介紹及安全分析
        Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
        基于原語自動(dòng)生成的安全協(xié)議組合設(shè)計(jì)策略及應(yīng)用研究
        貼身呵護(hù) 必不可少的PSP外設(shè)
        “原語效應(yīng)”在漢英口譯中的運(yùn)用及局限性研究
        久久久无码人妻精品无码| 日韩亚洲在线观看视频| 日韩中文字幕在线观看一区 | 国产一区二区三区在线av| 日本在线免费精品视频| 国产精品美女主播一区二区| 亚洲av色欲色欲www| 亚洲日韩欧洲无码av夜夜摸| 久久久国产精品福利免费| 国产91成人自拍视频| 亚洲av天堂在线视频| 九九久久精品无码专区| 久久半精品国产99精品国产| 91精品啪在线观看国产色| 亚洲国产精品无码一线岛国| 性色av无码久久一区二区三区| 国产精品无码无片在线观看3D| 国产一区二区三区免费在线播放| 久久久久亚洲av无码a片| 人妻丰满熟妇av无码片| 精品国产福利久久久| 日本午夜伦理享色视频| 成人艳情一二三区| 亚洲日韩精品欧美一区二区| 人妻少妇精品无码专区app| 你懂的视频网站亚洲视频 | 日本人妻97中文字幕| 欧美人牲交| 欧美va免费精品高清在线| 在线看不卡的国产视频| 亚洲一区毛片在线观看| 亚洲成a∨人片在无码2023| 偷拍网日本一区二区三区| 丝袜美腿亚洲综合第一页| 欧美狠狠入鲁的视频777色| 亚洲国产精品自拍一区| av手机天堂在线观看| 亚洲av无码无线在线观看| 国产乱子伦精品免费无码专区| 国产熟女自拍视频网站| 精品福利一区二区三区蜜桃|