• 
    

    
    

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

      ?

      Camera接口控制器的ASIC設(shè)計(jì)與實(shí)現(xiàn)

      2012-06-25 07:02:36鄭建宏
      電視技術(shù) 2012年7期
      關(guān)鍵詞:數(shù)據(jù)格式模組寄存器

      晏 龍,鄭建宏

      (重慶郵電大學(xué)移動(dòng)通信重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

      1 Camera接口控制器的工作原理

      Camera接口控制器用于控制外部攝像頭模組采集數(shù)據(jù),接收攝像頭模組傳輸來的數(shù)據(jù),按照固定的格式存入FIFO,提供給DMA讀取,同時(shí)輸出行開始信號(hào)和幀開始信號(hào),供后續(xù)模塊同步[1]。

      該Camera接口控制器主要提供以下功能:

      1)并行接口支持8 bit,RAW格式數(shù)據(jù)支持10 bit。

      2)支持 ITU-R BT656-4、601協(xié)議的接口。

      3)支持的數(shù)據(jù)輸入格式有:RGB 5∶6∶5,RGB 5∶5∶5,RGB 4∶4∶4,YUV 4∶2∶2,RAW,JPEG。

      4)支持的數(shù)據(jù)輸出格式有:RGB 5∶6∶5,YUV 4∶2∶2,RAW,JPEG。

      5)可配置的水平和垂直分辨力。

      6)拍照功能可支持最大800萬(3264×2448)像素,幀速率為15幀的JPEG壓縮數(shù)據(jù)輸出或7.5幀數(shù)據(jù)輸出。

      7)支持工作模式:CCIR601和CCIR656標(biāo)準(zhǔn)并行傳輸模式。

      8)只支持PCLK的上升沿同步,即在Camera Sensor端需配置成在PCLK下降沿輸出,在輸出1幀過程中,不支持對PCLK的省電模式。

      9)攝像頭模組的基準(zhǔn)時(shí)鐘由系統(tǒng)輸出,外圍需要1個(gè)GPIO口作為攝像頭模組的片選信號(hào)以支持2個(gè)攝像頭模組,對于某些類型的攝像頭模組,還需要1個(gè)GPIO口作為快門輸出。

      1.1 接口模式

      該設(shè)計(jì)支持CCIR601和CCIR656標(biāo)準(zhǔn)接口。簡單地說ITU-R BT.601是“演播室數(shù)字電視編碼參數(shù)”標(biāo)準(zhǔn)。ITU-R BT.656則是ITU-R BT.601附件A 中的數(shù)字接口標(biāo)準(zhǔn),用于主要數(shù)字視頻設(shè)備(包括芯片)之間采用27 MHz并口或243 Mbit/s串行接口的數(shù)字傳輸接口標(biāo)準(zhǔn)。

      1.1.1 CCIR601 接口模式

      CCIR601是并行數(shù)據(jù),行場同步有單獨(dú)輸出。在采用CCIR601接口方式中,可使用幀信號(hào)的電平觸發(fā)和邊沿觸發(fā),以滿足不同傳感器的接口需求。每1幀的數(shù)據(jù)開始由幀同步來控制。即上一幀數(shù)據(jù)傳完以后,只有等下一個(gè)幀同步脈沖到來,才開始。幀同步和行同步的持續(xù)時(shí)間由垂直幀同步寬度和水平幀同步寬度分別確定。

      該接口方式支持幀的2種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā),如圖1所示。

      1.1.2 CCIR656 接口模式

      CCIR656輸出的是串行數(shù)據(jù),行場同步信號(hào)嵌入在數(shù)據(jù)流中。

      圖2描述了偶數(shù)幀的有效行開始和結(jié)束同步信號(hào)。其中,0xFF 00009D是EAV信號(hào)(End of Active Video);0xFF 000080是SAV信號(hào)(Start of Active Video);奇數(shù)幀的同步信號(hào)如下表所述。有效信號(hào)在SAV到EAV之間傳輸,EAV到SAV之間是空白,如表1所示。

      圖2 CCIR656串行傳輸模式

      表1 CCIR656同步識(shí)別字

      1.2 數(shù)據(jù)格式說明

      該Camera接口可接收以下幾種從攝像頭模組輸入進(jìn)來的數(shù)據(jù)格式:JPEG ,RAW,YUV 4∶2∶2,RGB 5∶6∶5,RGB 5∶5∶5,RGB 4∶4∶4。Camera 接口在接收到從攝像頭模組輸入進(jìn)來的數(shù)據(jù)后,將數(shù)據(jù)按照以下固定格式進(jìn)行存儲(chǔ),為后續(xù)模塊提供以下幾種數(shù)據(jù)格式∶RGB 5∶6∶5,YUV 4∶2∶2,RAW,JPEG。

      該設(shè)計(jì)給出的是數(shù)據(jù)在32位讀取方式下的格式,在接口總線位寬為64 bit時(shí),其讀取方式為在32位位寬模式下的并行排列,即雖然位寬為64 bit,但仍然以32位的位寬為基本單位,唯一的區(qū)別在于64位時(shí)1次讀取的數(shù)據(jù)是32位時(shí)的2倍。

      對于輸入RGB格式,輸出通常為RGB565格式,即1個(gè)像素由 R[4:0],G[5:0],B[4:0]共16 bit組成,所以每16 bit的像素點(diǎn)按R,G,B依次從高位到低位存放在FIFO的[15:0]中。

      對于輸入RAW格式,輸出也為RAW格式,每次輸入10 bit數(shù)據(jù),存放在FIFO 的[15:0]中的[9:0]位,然后下一次數(shù)據(jù)存放在[31:16]中的[25:16]位。

      對于輸入YUV422格式,輸出也為YUV422格式,每16 bit 1個(gè)像素點(diǎn),通常按YVYU(每個(gè)色差信號(hào)為8 bit)依次從高位到低位存放在FIFO的[31:0]中。

      對于輸入JPEG格式,每次輸入8 bit數(shù)據(jù),按順序存放在 FIFO 的[7:0],[15:8],[23:16],[31:24]中,其輸出也為JPEG格式。

      2 Camera接口控制器設(shè)計(jì)

      2.1 Camera接口控制器內(nèi)部結(jié)構(gòu)

      在設(shè)計(jì)中,將Camera接口控制器作為APB的Slave掛在APB總線上,ARM處理器通過APB總線來訪問和控制該模塊,具體時(shí)序詳見 AMBA Bus Specification[2]。Camera接口控制器內(nèi)部結(jié)構(gòu)如圖3所示。

      圖3 Camera控制器內(nèi)部結(jié)構(gòu)框圖

      接口模塊(APB Interface)實(shí)現(xiàn)該Camera控制器與ARM處理器的APB總線相連接。通過該模塊,ARM可以對相應(yīng)控制器寄存器進(jìn)行配置,從而實(shí)現(xiàn)對該模塊和外設(shè)的控制,其讀寫時(shí)序按照APB總線讀寫時(shí)序。

      數(shù)據(jù)接收控制模塊(Data_in_ctrl)接收從攝像頭模組輸入進(jìn)來的數(shù)據(jù),將輸入數(shù)據(jù)格式轉(zhuǎn)化為輸出數(shù)據(jù)格式,并將數(shù)據(jù)存儲(chǔ)在輸出FIFO中。

      數(shù)據(jù)輸出控制模塊(Data_out_ctrl)將輸出FIFO中的數(shù)據(jù)按寄存器讀取或者DMA讀取方式送給ARM或圖像處理模塊,并產(chǎn)生幀、行同步信號(hào)。

      Data_in_ctrl和Data_out_ctrl模塊實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換存儲(chǔ)和輸出,下面將重點(diǎn)介紹這2個(gè)模塊。

      2.2 數(shù)據(jù)接收控制模塊的設(shè)計(jì)

      數(shù)據(jù)接收控制模塊根據(jù)配置寄存器的配置,對輸入數(shù)據(jù)進(jìn)行接收,并按固定格式存儲(chǔ)在輸出FIFO中。在開始接收數(shù)據(jù)以前,必須先配置接口模塊的配置寄存器(CONF)和輸入尺寸控制寄存器(SIZE)。在輸入尺寸控制寄存器(SIZE)中,需對輸入每幀圖片的行數(shù)和列數(shù)進(jìn)行配置(最大可支持800萬(3264×2448)像素),需與攝像頭端配置一致。在配置寄存器(CONF)中,需要根據(jù)攝像頭所產(chǎn)生的數(shù)據(jù)格式,配置輸入數(shù)據(jù)格式,配置格式與攝像頭模組端一致:將接收到的輸入數(shù)據(jù)格式轉(zhuǎn)換成對應(yīng)的輸出數(shù)據(jù)格式后,存儲(chǔ)到輸出FIFO中;還需配置幀同步信號(hào)極性選擇位、行同步信號(hào)極性選擇位,即有效電平為低電平還是高電平,同步信號(hào)極性配置與攝像頭模組端一致;還需配置同步方式選擇位,即選擇按照CCIR601方式接收還是按照CCIR656方式,同步方式配置與攝像頭模組端一致:對于CCIR601方式,該設(shè)計(jì)對輸入幀同步信號(hào)(cif_fv_i)、行同步信號(hào)(cif_lv_i)進(jìn)行緩存處理后,采其邊沿進(jìn)行判斷,所以無論是電平觸發(fā)還是邊沿觸發(fā)的同步信號(hào),該設(shè)計(jì)都可滿足;對于CCIR656方式,在檢測到幀、行開始或結(jié)束的標(biāo)志位后,再對本幀、行數(shù)據(jù)進(jìn)行接收。以上配置只能在幀間間隔的時(shí)候變更,即在1幀數(shù)據(jù)傳輸過程中不允許改變。在上述配置完成后,再配置主控制寄存器(CIF_CTRL),使能該模塊,開始進(jìn)行數(shù)據(jù)的接收、格式轉(zhuǎn)換和存儲(chǔ)。

      2.3 數(shù)據(jù)輸出控制模塊的設(shè)計(jì)

      數(shù)據(jù)輸出控制模塊包含1個(gè)64×64 bit的異步FIFO,cif_pclk_i時(shí)鐘域?qū)?,clk時(shí)鐘域讀,讀寫采用乒乓操作,將FIFO分成2部分,一塊寫時(shí),另一塊讀,不允許讀寫操作在同一塊上。在FIFO半滿后,發(fā)出滿中斷信號(hào)(若中斷使能),同時(shí)將狀態(tài)位和cif_req信號(hào)置位,通知外部讀取32×64 bit的數(shù)據(jù)。狀態(tài)寄存器(status)中指示的是每次讀FIFO剩余的個(gè)數(shù),當(dāng)FIFO為空或者狀態(tài)寄存器指示個(gè)數(shù)為0時(shí),停止讀數(shù)。若沒有讀完32×64 bit數(shù)據(jù),等待另半塊地址空間滿后即會(huì)產(chǎn)生數(shù)據(jù)溢出。

      該模塊提供了2種數(shù)據(jù)傳輸方式:一種是ARM通過APB總線來讀取,另一種是圖像處理模塊通過DMA接口來讀取。這2種傳輸方式可通過配置寄存器(CONF)來配置。在1幀數(shù)據(jù)內(nèi)只允許采用1種傳輸方式,只有在1幀數(shù)據(jù)結(jié)束后才可以配置不同的傳輸方式,否則無效。當(dāng)FIFO中數(shù)據(jù)半滿時(shí)向DMA發(fā)出請求。當(dāng)圖像DMA響應(yīng)了該請求后,返回dma_ack信號(hào),同時(shí)送出的dma_rd信號(hào)為低時(shí),每1個(gè)clk時(shí)鐘向DMA傳送1個(gè)64 bit的數(shù)據(jù)。在最后一次讀數(shù)據(jù)時(shí),由于1幀數(shù)據(jù)不能保證恰好能存滿FIFO,所以最后一次尾巴數(shù)據(jù)可能不會(huì)送出滿狀態(tài),此時(shí)需要根據(jù)幀結(jié)束位來判斷讀取最后一次數(shù)據(jù)。即操作順序?yàn)橥瑫r(shí)查看FIFO滿和幀結(jié)束位,只要其中1個(gè)為高即可啟動(dòng)數(shù)據(jù)讀操作。不論為DMA讀取還是APB總線讀取,最后一次讀取都需要判斷數(shù)據(jù)是否結(jié)束,在JPEG模式下,需要判斷圖像數(shù)據(jù)結(jié)束標(biāo)志數(shù)據(jù)(FFD9);在非JPEG模式下,需要對行同步和列同步信號(hào)計(jì)數(shù)。

      該模塊產(chǎn)生幀、行同步信號(hào),供后續(xù)模塊使用。幀同步信號(hào)(cif_sof)為開始從攝像頭模組模組接收到的信號(hào)經(jīng)過異步時(shí)鐘后得到,其實(shí)際輸出為當(dāng)幀同步到來時(shí)拉高,一直持續(xù)到本幀結(jié)束且FIFO讀空才結(jié)束。而行同步信號(hào)(cif_sol)為當(dāng)外部模塊讀取FIFO中對應(yīng)的行首數(shù)據(jù)時(shí),與輸出數(shù)據(jù)同步,輸出4個(gè)時(shí)鐘寬度的同步信號(hào)。另外在JPEG模式下,沒有給出行同步信號(hào),此時(shí)幀同步信號(hào)在拉高后,與其他模式相同,其一直持續(xù)到本幀結(jié)束且FIFO為空時(shí)才結(jié)束。

      3 功能驗(yàn)證與綜合

      在代碼編寫完成后,編寫了testbench模塊對其進(jìn)行功能性驗(yàn);并用VerilogHDL描述了1個(gè)攝像頭模型,用來產(chǎn)生輸入數(shù)據(jù)且輸入數(shù)據(jù)格式可配;最后編寫1個(gè)數(shù)據(jù)對比模塊,將攝像頭模型產(chǎn)生的數(shù)據(jù)和Camera接口控制器接收到的數(shù)據(jù)進(jìn)行對比,檢驗(yàn)數(shù)據(jù)是否一致,功能是否正確。

      當(dāng)滿足APB總線寫時(shí)序后,APB總線對模塊內(nèi)部接口寄存器進(jìn)行配置,在將輸入數(shù)據(jù)格式設(shè)置為RGB565、同步方式設(shè)置為CCIR601方式、高電平有效、DMA傳輸方式的情況下得到的仿真波形如圖4所示。

      圖4 Camera接口控制器仿真波形

      圖4中,攝像頭產(chǎn)生的數(shù)據(jù)和該模塊接收處理后的數(shù)據(jù)一致,中斷的產(chǎn)生和處理也滿足設(shè)計(jì)要求。

      對各種輸入數(shù)據(jù)格式進(jìn)行仿真后,利用綜合工具對其綜合。經(jīng)過對Script腳本約束的設(shè)定,將控制器的時(shí)序和面積優(yōu)化,使其工作頻率滿足手機(jī)基帶芯片頻率要求。

      最后進(jìn)行FPGA驗(yàn)證,結(jié)果表明該Camera接口控制器在數(shù)據(jù)傳輸控制中完全符合手機(jī)基帶芯片的要求。

      4 結(jié)論

      該設(shè)計(jì)提出的Camera接口控制器可以支持最大像素為800 W,支持RGB,YUV,RAW,JPEG等多種輸入格式,并對這些格式的數(shù)據(jù)進(jìn)行存儲(chǔ),且提供多種數(shù)據(jù)輸出格式以供后續(xù)模塊讀取使用。在經(jīng)過驗(yàn)證、綜合和FPGA測試后,確保該設(shè)計(jì)可進(jìn)行封裝制造,使得該控制器可作為1個(gè)成熟的IP核,可以移植到各種含多媒體的ASIC芯片中去,進(jìn)行拍照或攝像[3-4]。

      [1]王秀芳,張昆,桑圣潔.基于ARM的圖像監(jiān)控系統(tǒng)的開發(fā)[J].科學(xué)技術(shù)與工程,2011,11(14):3313-3317.

      [2]AMBA Specification(REV2.0)[EB/OL].[2011-07-20].http://www.ens.ewi.tudelft.nl/Education/courses/et4351/amba.

      [3]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2004.

      [4]韓杰思,沈建京.采用圖像濾波的多特征JPEG盲檢測[J].電子科技大學(xué)學(xué)報(bào),2011,40(2):255-260.

      猜你喜歡
      數(shù)據(jù)格式模組寄存器
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      光學(xué)薄膜技術(shù)及在背光模組中的應(yīng)用研究
      電子制作(2019年12期)2019-07-16 08:45:20
      淺談石墨烯材料在LED路燈模組中的應(yīng)用及該模組的設(shè)計(jì)
      電子制作(2018年8期)2018-06-26 06:43:10
      在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
      電子測試(2018年1期)2018-04-18 11:52:49
      關(guān)于超薄LED背光模組設(shè)計(jì)探討
      電子測試(2017年11期)2017-12-15 08:57:38
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
      DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
      一種大面積OLED模組均勻調(diào)光技術(shù)研究
      液晶與顯示(2014年3期)2014-02-28 21:14:32
      基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
      宣恩县| 嘉禾县| 山东省| 澜沧| 珠海市| 乐安县| 信宜市| 云浮市| 田阳县| 沈阳市| 泽库县| 察隅县| 镇康县| 松江区| 永靖县| 洛阳市| 鸡西市| 喀什市| 洛浦县| 桂平市| 乐山市| 乌拉特前旗| 吉木萨尔县| 昂仁县| 龙海市| 建宁县| 十堰市| 长宁县| 元阳县| 砚山县| 治多县| 永嘉县| 黄大仙区| 崇文区| 永兴县| 临朐县| 贞丰县| 兰州市| 沾益县| 城口县| 徐闻县|