• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      TI C66X多核DSP的PCIe接口程序設(shè)計(jì)

      2017-03-06 20:26白軼榮李偉劉寶東丁建崠
      計(jì)算機(jī)時(shí)代 2017年2期

      白軼榮++李偉++劉寶東+丁建崠

      摘 要: TI的C66X多核DSP擁有豐富的接口資源,單片集成了高速串行接口AIF2、SGMIL、PCIe和SRIO等,能夠非常方便地進(jìn)行高速數(shù)據(jù)傳輸和系統(tǒng)擴(kuò)展,其中PCIe接口應(yīng)用最廣,它廣泛地應(yīng)用在信號(hào)處理、通信、醫(yī)療、自動(dòng)化等領(lǐng)域。本文闡述了PCIe接口的Inbound和Outbound地址映射寄存器配置方法、PCIe的中斷安裝過程和EDMA的傳輸配置與實(shí)現(xiàn)過程。用該方法可快速完成多核DSP的PCIe接口配置與編程,方便PCIe接口的推廣和應(yīng)用。

      關(guān)鍵詞: 多核DSP; PCIe; EDMA; Inbound; Outbound

      中圖分類號(hào):TP315 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)02-16-04

      0 引言

      TI的C66X多核DSP擁有豐富的接口資源,單片集成了高速串行接口AIF2、SGMIL、PCIe和SRIO等,能夠非常方便地進(jìn)行高速數(shù)據(jù)傳輸和系統(tǒng)擴(kuò)展,其中PCIe接口應(yīng)用最廣,它廣泛地應(yīng)用在信號(hào)處理、通信、醫(yī)療、自動(dòng)化等領(lǐng)域。

      本文主要研究多核DSP的PCIe接口程序設(shè)計(jì),首先概述PCIe模塊,其次闡述了PCIe接口的Inbound和Outbound地址映射寄存器配置方法、PCIe的中斷安裝過程和EDMA的傳輸配置與實(shí)現(xiàn)過程,最后對(duì)本文作出總結(jié)。

      1 PCIe模塊概述

      TI C66系列DSP集成了二個(gè)通道PCIe模塊。該模塊主要具備以下特征:支持兩種工作模式:RC和EP;支持Genl(2.5Gbps)和Gen2(5.0Gbps)兩種鏈路速率;用戶可以選擇使能一個(gè)或兩個(gè)通道,當(dāng)使用雙通道時(shí),需配置為相同的鏈路速率;支持的最大輸出凈荷大小為128字節(jié),最大輸入凈荷大小為256字節(jié);支持動(dòng)態(tài)的帶寬切換等[1]。

      PCIe設(shè)備需要使用PCIe地址經(jīng)PCIe數(shù)據(jù)鏈發(fā)送數(shù)據(jù)包,地址翻譯單元ATU(Address Translation Unit)將設(shè)備內(nèi)部地址翻譯為PCIe地址,反之亦然。PCIe地址可以是32-bit或64-bit。

      2 PCIe地址翻譯

      對(duì)于輸出處理,Outbound ATU把設(shè)備內(nèi)部地址翻譯成PCIe地址,然后含PCIe地址的數(shù)據(jù)包經(jīng)PCIe鏈路被傳輸?shù)狡渌O(shè)備。

      對(duì)于輸入處理,PCIe模塊的基址寄存器BAR (Base Address Register)只接收特定PCIe地址的數(shù)據(jù)包,這些數(shù)據(jù)包進(jìn)入Inbound ATU,經(jīng)地址翻譯后被送至相應(yīng)的內(nèi)存空間。C66X DSP的PCIe地址翻譯原理圖如圖1所示[4]。

      ⑴ 輸出地址翻譯

      TI C66設(shè)備中有特定的PCIe數(shù)據(jù)空間0x60000000-0x6FFFFFFF,專門用于收發(fā)PCIe數(shù)據(jù)。對(duì)于輸出傳輸,通過Outbound ATU的配置使該空間與另一側(cè)設(shè)備地址空間建立對(duì)應(yīng)關(guān)系,再使用EDMA把設(shè)備內(nèi)存數(shù)據(jù)搬移到PCIe數(shù)據(jù)空間,這樣數(shù)據(jù)就可以通過PCIe鏈發(fā)送出去。

      輸出地址翻譯主要通過以下寄存器的配置來實(shí)現(xiàn)。

      OB_SIZE:設(shè)定32個(gè)等長的翻譯區(qū)的大小,它們可以為1MB、2MB、4MB、8MB。

      OB_OFFSET_INDEXn:代表PCIe地址的bit[31:20],具體哪些位有效需根據(jù)OB_SIZE來確定,bit[0]使能輸出region。

      OB_OFFSETn_HI:代表64位PCIe地址的bit[63:32],使用32-bit地址模式時(shí)該寄存器為0。

      由于存在32個(gè)翻譯區(qū)域,所以需要根據(jù)內(nèi)部地址的5bits來決定使用哪個(gè)區(qū)域進(jìn)行映射。PCIe輸出地址翻譯示意圖如圖2所示[4]。

      ⑵ 輸入地址翻譯

      Inbound ATU用于將外部設(shè)備輸入的訪問地址重定位到DSP片內(nèi)地址。C66設(shè)備的PCIe模塊有兩個(gè)內(nèi)部地址空間:Address Space 0和Space 1。前者用于本地應(yīng)用寄存器和配置空間,占用連續(xù)的16KB,其中4KB用于配置空間;后者用于數(shù)據(jù)傳輸,容量大,可以不連續(xù),為了將PCIe地址映射到該空間,需使用4個(gè)區(qū)域(region0-3)來協(xié)助完成。

      PCIe輸入地址翻譯通過配置寄存器IB_BARn、IB_STARTn_HI、IB_STARTn_LO和IB_OFFSETn來實(shí)現(xiàn),Inbound ATU將PCIe地址映射到內(nèi)部地址的過程如下[5]。

      ① 分離偏移值:

      Offset=PCIe address-(IB_STARTn_HI:IB_STARTn_LO)

      ② 計(jì)算內(nèi)部地址:

      Internal address=IB_OFFSETn+offset

      PCIe輸入地址翻譯示意圖如圖3所示。

      3 PCIe中斷

      PCIe中斷控制器包括核級(jí)中斷控制器和片級(jí)中斷控制器CIC,中斷的路由可概括為:系統(tǒng)中斷先通過CIC映射到主機(jī)中斷上,主機(jī)中斷再由核級(jí)INTC的事件組合器、中斷選擇器等寄存器映射到CPU的12個(gè)可屏蔽的中斷上。CPU的12個(gè)可屏蔽的中斷也就是HWI可以為其指定ISR。在ISR中查詢相關(guān)狀態(tài)寄存器可以確定中斷〔

      OPT參數(shù)可以設(shè)置對(duì)應(yīng)通道的優(yōu)先級(jí)、同步方式、傳輸方式等。SRC/DST用于存放EDMA傳輸?shù)脑吹刂泛湍康牡刂?。SRCBIDX/DSTBIDX指示傳輸幀中數(shù)據(jù)陣列array的間隔。LINK指明EDMA的參數(shù)鏈接地址。SRCCIDX/DSTCIDX指示傳輸塊中幀間間隔。CCNT表示傳輸幀數(shù)。

      傳輸參數(shù)的鏈接由Param的Link位進(jìn)行控制,Link可以鏈接到256個(gè)參數(shù)中的任何一個(gè)或者自身,鏈接參數(shù)的最后一個(gè)參數(shù)為NULL參數(shù)。同時(shí)EDMA還支持通道鏈接Chain傳輸,允許由一個(gè)EDMA傳輸通道的完成觸發(fā)另一個(gè)傳輸通道的開始,組成一個(gè)傳輸鏈。需注意參數(shù)鏈接和通道鏈接有著本質(zhì)區(qū)別,參數(shù)鏈接是指將多組參數(shù)加載到某一EDMA通道,而鏈接傳輸不修改任何傳輸參數(shù),其可以通過一個(gè)事件同步所有的通道傳輸。

      OPT的設(shè)置有:TCINTEN(1,傳輸完成產(chǎn)生中斷)、TCC(傳輸完成碼為0,在IPR的最低位產(chǎn)生中斷)、TCCMODE(0,正常傳輸完成)、STATIC(1,參數(shù)集是靜態(tài)的不自動(dòng)更新)、SYNCDIM(1,AB同步傳輸)、DAM/SAM(0,源和目的地址自動(dòng)更新)。

      啟動(dòng)EDMA傳輸?shù)姆绞接卸喾N,最常用的是Manual Trigger,我們通過寫ESR中的某一位可以啟動(dòng)其對(duì)應(yīng)的通道提交傳輸請(qǐng)求事件,這個(gè)事件經(jīng)過優(yōu)先級(jí)的過慮后,會(huì)發(fā)送到一個(gè)事件隊(duì)列中,這里可以通過設(shè)置DMA Channel Queue n Number Registers (DMAQNUMn)寄存器將通道提交的傳輸請(qǐng)求事件派發(fā)到指定的事件隊(duì)列中。

      使用EDMA3進(jìn)行讀的過程如下(寫的過程類似,區(qū)別在于源與目的地址不一樣) [3]:

      ⑴ 配置Outbound,將主機(jī)的PCIe域地址映射到DSP的PCIe data space address(0x6000_0000~0x6FFF_FFFF);

      ⑵ 設(shè)置通道0使用事件隊(duì)列0也就是使用TC0;

      ⑶ 使能IER;

      ⑷ 清除ICR;

      ⑸ 設(shè)置傳輸屬性寄存器;

      ⑹ 將主機(jī)端具體的PCIe域地址,轉(zhuǎn)換成DSP端的PCIe data spaceaddress(0x6000_0000~0x6FFF_FFFF)范圍內(nèi)的地址;

      ⑺ 設(shè)置PaRAM的其他域,包括ACNT、BCNT、SRC、DST、LIKE等;

      ⑻ 啟動(dòng)EDMA3傳輸。

      5 結(jié)論

      本文詳細(xì)介紹了PCIe接口的Inbound和Outbound地址映射寄存器配置方法,以及PCIe的中斷安裝過程和EDMA的傳輸配置與實(shí)現(xiàn)過程。通過本文方法可快速完成基于多核DSP的PCIe接口配置與編程。由于TI公司的C66x系列DSP定位于各行各業(yè)的開發(fā)應(yīng)用,因此本文方法可為通信領(lǐng)域、航空電子、實(shí)時(shí)檢測、生物識(shí)別、醫(yī)療診斷、視頻監(jiān)控以及音頻處理等系統(tǒng)的PCIe接口程序設(shè)計(jì)提供參考。

      參考文獻(xiàn)(References):

      [1] 王齊.PCI Express體系結(jié)構(gòu)導(dǎo)讀[M].機(jī)械工業(yè)出版社,2010.

      [2] 牛金海.TMS320C66x KeyStone架構(gòu)多核DSP入門與實(shí)例

      精解[M].上海交通大學(xué)出版社,2014.

      [3] 潘曄,廖昌俊.TI-DSP多核技術(shù)及實(shí)時(shí)軟件開發(fā)[M].電子工

      業(yè)出版社,2015.

      [4] TEXAS INSTRUMENTS. Keystone Architecture Peripher-

      al Component Interconnect Express(PCIe) User Guider. Devices. http://www.Ti.com,Technical Report, December 2012.

      [5] TEXASINSTRUMENTS.PCIeUse Case for Keystone

      Devices.http://www.Ti.com,Technical Report,December 2012.

      [6] TEXAS INSTRUMENTS. Enhanced Direct Memory

      Access (EDMA3) Controller User Guide. http://www.Ti.com,Technical Report,December 2012.

      罗城| 墨玉县| 巴马| 吉木乃县| 丰镇市| 安庆市| 获嘉县| 黑龙江省| 门源| 涿州市| 墨玉县| 景东| 时尚| 全椒县| 蓬莱市| 兴山县| 赣州市| 静海县| 壤塘县| 永春县| 新竹县| 凯里市| 南靖县| 榆社县| 商水县| 巴林右旗| 宁陵县| 巴南区| 泾源县| 东港市| 革吉县| 永福县| 嵊州市| 榆林市| 上高县| 江安县| 宿迁市| 拉萨市| 朝阳县| 义马市| 裕民县|