<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于DSP的實時圖像數(shù)據(jù)采集系統(tǒng)設(shè)計

          基于DSP的實時圖像數(shù)據(jù)采集系統(tǒng)設(shè)計

          作者: 時間:2006-06-22 來源:網(wǎng)絡(luò) 收藏
          引言
          TI推出的C6000系列,將數(shù)字信號處理器的處理能力提高到了一個新的境界。實際上,C6000系列的高速處理能力以及其出色的對外接口能力,使它在處理領(lǐng)域具有非常大的應用潛力。芯片的功能越來越強大,使信號處理的研究重點又回到軟件算法上,而且隨著運算能力的不斷提高,能夠處理信號帶寬也大大增加,數(shù)字信號處理的研究重點也由初的非應用轉(zhuǎn)向高速應用。


          1 TMS320C6416處理器特點
          TMS320C6416是TI公司推出的TMS320C6000平臺上高性能定點系列處理器。適合實時處理的內(nèi)部結(jié)構(gòu)主要特點包括:
          ①定點/浮點系列兼容DSP、CPU主頻達到720MHz;
          ②具有VelociTI先進VLIW結(jié)構(gòu)內(nèi)核;
          ③片內(nèi)集成大容量SRAMt,最大可達8Mb;
          ④16/32/64位高能外部存儲器接口(EMIF)提供了同步/異步存儲器的直接接口;
          ⑤片內(nèi)提供多種集成外設(shè)。

          2 硬件
          2.1硬件所用器件

          采用TI公司的TMS320C6416DSK開發(fā)板作為DSP平臺。開發(fā)板提供的三排擴展引腳連接器,針對應用的子板可以插入引腳連接器,利用TMS320C6416DSK板提供的硬件設(shè)計資源。擴展引腳類型包括存儲器信號引、外圍設(shè)備信號引腳和主機端口接口信號引腳。存儲器信號引腳提供DSP異步EMIF信號訪問存儲器或者存F器映射設(shè)備。外圍設(shè)備信號引腳提供DSP外圍設(shè)備信號.例如多道緩沖串行El(MCBSP)、時鐘(TIMER)。這兩類型的引腳連接器提供子板的電源和地信號。采用美國Syscan公司的黑白線陣CIS傳感器SV253A4,分辨率為200dpi,掃描長度為216ram,掃描速度為0.36ms/行,單一模擬視頻輸出信號。采用美國Exar公司的高速線陣CIS/CCD傳感器處理器XRD98L23ACD完成對CIS圖像傳感器輸出信號的放大、A/D等處理,其分辨率為8位,具有6位程控增益放大器,8位程控偏移調(diào)節(jié)器。采用緩沖器74HC244完成傳感器處理器輸出數(shù)據(jù)的緩沖。
          2.2硬件設(shè)計框圖
          利用DSP芯片支持庫開發(fā)方法,將軟件模塊對應為硬件模塊,的框圖如圖1所示。由TMS320C6416DSK開發(fā)板定時器(TIMER)模塊提供圖像傳感器SV253A4和傳感器處理器XRD98L23ACD的時鐘信號。通用輸入輸出口(GPIO)模塊和多道緩沖串行口(MCBSP)模塊配合,模擬傳感器處理器XRD98L2 3ACD控制字的寫入時序,完成控制字的寫入。EDMA模塊和EMIFA模塊配合采用EDMA方式讀取外部存儲器數(shù)據(jù)的方法讀取緩沖器74HC244內(nèi)數(shù)據(jù)到DSP內(nèi)部存儲器。中斷模塊完成TIMER模塊的時鐘中斷設(shè)置,該時鐘中斷觸發(fā)EDMA模塊相應通道完成數(shù)據(jù)讀取。

          2.3硬件設(shè)計電路
          硬件電路如圖2所示,圖像傳感器SV253A4的VOUT引腳信號為輸出視頻信號, CP引腳信號為時鐘脈沖輸入信號, SP引腳信號為開始脈沖信號。

          傳感器處理器XRD98L23ACD的RED引腳信號為紅分量輸入信號,DB0~DB4引腳信號為數(shù)據(jù)輸出位0~4信號,復用DB5/SCLK引腳信號數(shù)據(jù)輸出位5或者數(shù)據(jù)輸入SCLK信號,復用DB6/SDA7A引腳信號數(shù)據(jù)輸出位6或者數(shù)據(jù)輸入SDATA信號,復用DB7/LD引腳信號數(shù)據(jù)輸出位7或者LD信號,ADCCLK引腳信號為A/D轉(zhuǎn)換時鐘信號,CLAMP引腳信號為鉗位和視頻采樣信號,SYNCH引腳信號為新行開始和串行數(shù)據(jù)輸入控制信號。
          緩沖器74HC244的1A1~1A4和2A1~2A4引腳信號為兩組數(shù)據(jù)輸入信號, 1Y1~1Y4和2Y1~2Y4引腳信號為兩組數(shù)據(jù)輸出信號, 1G和2G引腳信號為低電平有效使能信號。
          TMS320C6416DSK的T0UT0和T0UTl引腳信號為定時器0和定時器1輸出信號,CLKX0引腳信號為MCBSP0傳輸時鐘信號,DX0引腳信號為MCBSP0傳輸數(shù)據(jù)信號,GPIOx引腳信號為通用輸入輸出信號,AED0~AED7引唧信號為EMIF數(shù)據(jù)引唧0~數(shù)據(jù)引腳7信號,AARE引腳信號為EMIF異步讀使能信號, AEA21引腳信號為EMlF地址引腳21信號。
          TMS320C6416DSK的TOUT0輸出引腳為傳感器處理器XRD98L23ACD提供占空比為50%的10MHz時鐘ADCCLK輸入信號,TOUTl輸出引腳為圖像傳h器SV253A4提供占空比為25%的5MHz時鐘CP輸入信號;CLKX0、DX0、GPIOx輸出引腳分別為傳感器處理器XRD98L23ACD提供控制字寫入時序的SCLK、SDATA、LD、SYNCH輸入信號;GPIOx輸出引腳提供圖像傳感器SV253A4的SP輸入信號和傳感器處理器XRD98L23ACD的鉗位和視頻采樣CLAMP輸入信號;AARE、AEA2l輸出引腳與邏輯組合提供緩沖器74HC244的1G和2G輸入信號:AED0~AED7輸入引ソ郵棧撼迤74HC244的lYl~2Y4輸出信號。
          圖像傳感器SV253A4的VOUT輸出信號為傳h器處理器XRD98L23ACD提供單通道RED輸入信號。傳感器處理器XRD98L23ACD的DB0~DB7輸出信號為緩沖器74HC244提供1A1~2A4輸入信號。
          2.4 硬件工作流程
          系統(tǒng)上電后,TMS320C6416DSK由MSBSP和GPIO模塊按照傳感器處理器XRD98L23ACD寫入時序?qū)懭肟刂谱?,使傳感器處理器開始工作。GPIO模塊發(fā)送SP輸入信號,使圖像傳感器開始行采集;TIMER模塊發(fā)送CP輸入信號模塊,使圖像傳感器開始采集一個點,同時產(chǎn)生時鐘中斷事件, 觸發(fā)EDMA模塊的時鐘中斷事件通道完成一次EDMA操作,即EDMA模塊通過EMIF模塊使能緩沖器, 讀取經(jīng)過傳感器處理器A/D轉(zhuǎn)Q過采集點的數(shù)字信號。 然后觸發(fā)EDMA中斷,完成對采集到的數(shù)據(jù)處理、修改EDMA目的地址和其它計算。當采集了一行后, 發(fā)送SP輸入信號開始新的一行采集, 工作時序如圖3所示。

          3 系統(tǒng)軟件設(shè)計
          軟件采用TI公司提供的Code Composer Studio開發(fā)環(huán)境,用TMS320C6416芯片支持庫API開發(fā)方式,C語言編程開發(fā)。軟件設(shè)計包括CMD連接命令設(shè)計、中斷服務(wù)表設(shè)計、主程序設(shè)計。
          3.1 連接命令設(shè)計
          由于采用TMS320C6416DSK硬件平臺,根據(jù)其存儲器映射,如表1所列,使用連接器偽指令MEMORY定義了5個區(qū)域反映TMS320C6416DSK存儲器映射情況,然后使用連接器偽指令SECTIONS把目標文件的各個代碼段和數(shù)據(jù)段分配到上述5個區(qū)域。采用Daughter Card區(qū)域的EMIFA CE2區(qū)域的首地址OxA0000000作為緩沖器74HC244的地址。
          3.2中斷服務(wù)表設(shè)計
          中斷服務(wù)表包含中斷服務(wù)代碼的取址包的一個地址表,當CPU開始處理一個中斷時,參照中斷服務(wù)表進行。C6000的CPU有3種類型中斷:RESET(復位)、不可屏蔽中斷(NMI)和可屏蔽中斷(INT4一INTl5)。中斷服務(wù)表包含16個連續(xù)取指包,每個中斷服務(wù)取指包都包含8條指令。需要設(shè)置REsET復位向量指向C運行環(huán)境的入口點_c_int00。由于系統(tǒng)使用的時鐘中斷和EDMA中斷,需要設(shè)置時鐘中斷和EDMA中斷向量指向各自中斷服務(wù)程序的入口。設(shè)置其它中斷向量指向虛擬中斷服務(wù)程序入口,即不作任何處理,直接中斷返回。

          3.3主程序設(shè)計
          主程序描述了完成系統(tǒng)功能的變量、常量、main函數(shù)、EDMA中斷服務(wù)程序和系統(tǒng)初始化程序的定義。系統(tǒng)初始化函數(shù)完成芯片支持庫、中斷服務(wù)表、中斷模塊、GPl0模塊、EDMA模塊、MCBSP模塊、EMIFA模塊、定時器模塊和傳感器處理器XRD98L23ACD的初始化。E3MA中斷服務(wù)程序完成EDMA目標地址參數(shù)的修改和相關(guān)變量計算。Main函數(shù)調(diào)用系統(tǒng)初始化函數(shù),然后啟動定時器,響應EDMA中斷。
          使用芯片支持庫編程必須首先初始化芯片支持庫,調(diào)用芯片支持庫API函數(shù)CSL―init完成。
          調(diào)用芯片支持庫API函數(shù)IRQ_setVecs完成中斷服務(wù)表初始化,參數(shù)為連接命令文件定義的中斷服務(wù)表全局標識符。
          調(diào)用芯片支持庫API函數(shù)IRQ_globalEnable、IRQ_nmiEnable分別使能全局中斷和不可屏蔽中斷。這樣系統(tǒng)才能響應EDMA中斷,調(diào)用支持庫API函數(shù)IRQ_enable使能EDMA中斷。參數(shù)為IRQ_EVT_ EDMANT表示響應EDMA中斷事件。
          使用GPIO設(shè)備前,必須調(diào)用芯片支持庫API函數(shù)GPIO_open打開GPIO設(shè)備,然后調(diào)用芯片支持庫API函數(shù)GPIO―configArgs設(shè)置GPIO模式,參數(shù)為GPIO相關(guān)寄存器值。GtIO模式主要包括各GPIO的使能、方向和初值。
          使用EDMA設(shè)備前必須調(diào)用EDMA_open打開EDMA一個通道。因為系統(tǒng)使用定時器l中斷事件作為EDMA的觸發(fā)事件,所以打開的通道參數(shù)為EDMA_CHATINl 。調(diào)用芯片支持庫API函數(shù)EI)MA―configArgs設(shè)置EDMA定時器1通道,參數(shù)為EDMA相關(guān)寄存器值。通道設(shè)置主要包括EDMA的數(shù)據(jù)單元的字長為8位、傳輸結(jié)束中斷使能、事件鏈接不使能、源地址為OxA0000000、數(shù)據(jù)單元數(shù)為l、目的地址為存儲數(shù)組首地址。目前是用定時器l中斷事件觸發(fā)EDMA傳輸一采集點數(shù)據(jù),同時定時器l中斷事件產(chǎn)生TINTl輸出信號也是CP輸入信號,這樣EDMA觸發(fā)時序和CP輸入信號同步。只要傳感器處理器能夠在兩次CP信號間隔內(nèi)完成一次采集點A/D等處理,就可以實現(xiàn)圖像傳感器采集一個點后,進行一次EDMA傳輸,確保EDMA傳輸采集點無重復無遺漏。如果采用定時器l中斷事件觸發(fā)方式,即CP輸入信號同步方式,那么數(shù)據(jù)單元數(shù)為l,使能傳輸結(jié)束中斷。在完成一次傳輸后,觸發(fā)EDMA傳輸完成事件中斷,完成目的地址的修改和其它計算。因為需要采集的點很多,遠遠超過參數(shù)鏈接的數(shù)目限制,不能靜態(tài)設(shè)置參數(shù)鏈接,只能動態(tài)修改EDMA目的地址,所以不使能事件鏈接。
          可以采用SP輸入信號作為外中斷事件觸發(fā)信號,觸發(fā)EDMA外中斷事件通道傳輸一行采集點數(shù)據(jù)。數(shù)據(jù)單元數(shù)為一行采集點數(shù),根據(jù)數(shù)據(jù)單元字長設(shè)置自動修改EDMA目的地址。采用這種觸發(fā)方式后,EDMA目的地址修改和各采集點傳輸可以自動完成,為了確保EDMA傳輸采集點無重復無遺漏,必須控制EDMA與圖像傳感器時序同步。同步的含義是考慮到傳感器處理器A/D等處理的延時的同步,可這樣的外中斷事件觸發(fā)方式需要考慮到TMS320C6416DSK的EMDA的工作時序、圖像傳感器工作時序和傳感器處理器工作時序,不如定時器中斷事件觸發(fā)容易實現(xiàn),但是數(shù)據(jù)傳輸性能要高。
          使用MCBSP設(shè)備前必須調(diào)用芯片支持庫API函數(shù)MCBSP_open打開MCBSP的一個設(shè)備,因為系統(tǒng)使用MCBSPO的CLKXO引腳信號和DXO引腳信號,所以打開的設(shè)備參數(shù)為MCBSP_DEV0。調(diào)用芯片支持庫API函數(shù)McBSP_configArgs設(shè)置MCBSPO設(shè)備,參數(shù)為MCBSP相關(guān)寄存器值。設(shè)備設(shè)置主要包括,根據(jù)傳感器控制器控制字寫入時序的SCLK信號,設(shè)置采樣頻率發(fā)生器時鐘模式為內(nèi)部時鐘和分頻值。 由GPIO模塊產(chǎn)生控制器控制字寫入時序的SYNcH信號和LD信號,由MCBSP模塊產(chǎn)生控制器控制字寫入時序的SCLK信號和SDATA信號,將控制字寫入到傳感器處理器??刂谱譃?1位,前三位S2、S1、SO組合表示寫入寄存器的編碼,D7~DO表示寫入寄存器的8位數(shù)據(jù)。傳感器控制器XRD98123ACD寫入時序如圖4所示。

          由于系統(tǒng)分配緩沖器地址為OxAOOOOOOO,即EMIFACE2首地址,所以需要調(diào)用芯片支持庫API函數(shù)EMIFA_configArgs設(shè)置EMIFA。設(shè)置主要包括CE2的讀圖4傳感器控制器XRD98L23ACD寫入時序?qū)懡r間、觸發(fā)時間、保持時間和存儲器類型為8位異步類型。因為緩沖器可以理解成外部存儲器,但是不是實際的標準存儲器類型,不具有標準的EMIFA引腳連接方式,所以不能按照標準類型進行設(shè)置,需要進行實驗調(diào)試設(shè)置。
          使用定時器設(shè)備前,必須調(diào)用芯片支持庫API函數(shù)TIMER_open,打開TIMER的一個設(shè)備。由于系統(tǒng)使用定時器O和定時器1,所以打開的設(shè)備參數(shù)為TIMER_DEVO和TIMER_ DEVl。調(diào)用芯片支持庫API函數(shù)TIMER_configArgs設(shè)置TIMERO和TIMERl設(shè)備,參數(shù)為TIMER相關(guān)寄存器值。系統(tǒng)CPU時鐘為72OMHz。TIMERO設(shè)置主要包括時鐘源為內(nèi)部時鐘源,頻率為CPU時鐘8分頻,即9OMHz、時鐘模式使能、TOUTO為時鐘輸出引腳和時鐘周期為9。TIMERl設(shè)置主要包括時鐘源為外部時鐘源,頻率為2OMHz、脈沖模式使能、脈沖寬度為1、TOUTl為時鐘輸出引腳和時鐘周期為l。通過這樣的設(shè)置,TOUTO可以提供1OMHz,50%占空比時鐘輸出信號;TOLTl可以提供5MHz,25%占空比時鐘輸出信號。


          結(jié)語
          本文分析了TMS320C6416處理器的嵌入式實時圖像采集系統(tǒng)設(shè)計方案,充分利用了TMS32Oc6416DSK硬件和軟件資源,為DSP芯片的有關(guān)圖像的嵌入式實時系統(tǒng)應用,提供了一個技術(shù)參考。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();