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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)數(shù)字圖像采集接口電路設(shè)計(jì)

          嵌入式系統(tǒng)數(shù)字圖像采集接口電路設(shè)計(jì)

          作者: 時(shí)間:2012-02-01 來(lái)源:網(wǎng)絡(luò) 收藏

          一、引言

          隨著半導(dǎo)體技術(shù)的飛速發(fā)展,具有圖像功能的嵌入式應(yīng)用愈來(lái)愈多。從數(shù)碼相機(jī)、可視電話、多功能移動(dòng)電話等消費(fèi)產(chǎn)品到門(mén)禁、數(shù)字視頻監(jiān)視等工業(yè)控制及安防產(chǎn)品,圖像采集和處理已成為重要的組成部分之一。圖像采集需要進(jìn)行同步信號(hào)的處理,比通常的A/D數(shù)據(jù)采集過(guò)程復(fù)雜,電路的設(shè)計(jì)也較為困難。傳統(tǒng)PC上的圖像采集卡都是在Philips、Brooktree等半導(dǎo)體公司提供的接口芯片基礎(chǔ)上,由專業(yè)公司開(kāi)發(fā)生產(chǎn)。在中不同的處理器和圖像傳感器的信號(hào)定義及接口方式不同,沒(méi)有通用的接口芯片。另外,利用系統(tǒng)中的現(xiàn)有資源設(shè)計(jì)圖像采集電路,可以減少器件數(shù)量、縮小產(chǎn)品體積和降低系統(tǒng)成本。所以,通常中要求自行設(shè)計(jì)電路。本文針對(duì)不同采集速度的要求,提出了兩種電路的設(shè)計(jì)方法。

          目前市場(chǎng)上主流的圖像傳感器有CCD、CMOS兩種器件,其中CMOS器件上世紀(jì)90年代產(chǎn)生,近年來(lái)得到了迅速發(fā)展。傳感器的輸出有模擬和數(shù)字兩種。由于CMOS器件功耗小、使用方便,具有直接數(shù)字圖像輸出功能,作者在設(shè)計(jì)時(shí)選用了CMOS數(shù)字輸出圖像傳感器件。其他方式器件的接口設(shè)計(jì)與此類似,將在討論中說(shuō)明。

          本文內(nèi)容做如下安排:第二部分簡(jiǎn)述圖像信號(hào)的特點(diǎn);第三、四部分分別介紹I/O和內(nèi)存直接寫(xiě)入兩種接口設(shè)計(jì)方法;最后部分是討論。

          二、圖像信號(hào)介紹

          圖1給出了采樣時(shí)鐘(PCLK)和輸出數(shù)據(jù)(D)之間的時(shí)序關(guān)系。在讀取圖像數(shù)據(jù)時(shí)用PCLK鎖存輸出數(shù)據(jù)。除采樣時(shí)鐘(PCLK)和數(shù)據(jù)輸出(D)外,還有水平方向的行同步信號(hào)(HSYNC))和垂直方向的場(chǎng)同步信號(hào)(VSYNC)。對(duì)于隔行掃描器件,還有幀同步信號(hào)(FRAME)。如圖2,一幀包括兩場(chǎng)。圖2中窄的矩形條是同步脈沖,同步脈沖期間數(shù)據(jù)端口輸出的數(shù)據(jù)無(wú)效。

          PLCK存在時(shí),圖像數(shù)據(jù)端口連續(xù)不斷地輸出數(shù)據(jù)。由于行之間以及場(chǎng)之間輸出數(shù)據(jù)無(wú)效,在采集圖像數(shù)據(jù)必須考慮同步信號(hào),讀取有效數(shù)據(jù)才能保證圖像的完整性。

          三、I/O接口設(shè)計(jì)

          對(duì)于MCU、DSP處理器,I/O是最方便的訪問(wèn)方式之一。以I/O方式讀取圖像數(shù)據(jù)不僅可以簡(jiǎn)化電路設(shè)計(jì),而且程序也很簡(jiǎn)單。但由于讀取每一個(gè)像素都要檢測(cè)狀態(tài),在處理器速度低的情況下,讀取圖像慢。在處理器速度快或圖像采集速度要求不高的應(yīng)用中,I/O接口方式是一個(gè)較好的選擇。

          1、電路原理和結(jié)構(gòu)

          在圖像傳感器和處理器之間,利用兩個(gè)鎖存器分別鎖存狀態(tài)和圖像數(shù)據(jù),處理器通過(guò)兩個(gè)I/O端口分別讀取。圖3中,在采樣時(shí)鐘的上升沿?cái)?shù)據(jù)鎖存器保存?zhèn)鞲衅鬏敵龅膱D像數(shù)據(jù),當(dāng)處理器通過(guò)I/O口讀取圖像時(shí),數(shù)據(jù)鎖存器輸出數(shù)據(jù)。其它情況下,鎖存器輸出處于高阻狀態(tài)。處理器通過(guò)狀態(tài)鎖存器讀取同步信號(hào)和圖像就緒(Ready)指示信號(hào)。在數(shù)據(jù)鎖存器保存圖像數(shù)據(jù)的同時(shí),狀態(tài)鎖存器產(chǎn)生Ready信號(hào)(從‘0’到‘1’)。處理器讀取圖像數(shù)據(jù)時(shí),Ready信號(hào)自動(dòng)清除(從‘1’到‘0’)。處理器讀取狀態(tài)時(shí)鎖存器驅(qū)動(dòng)總線,其他情況下輸出處于高阻狀態(tài)。

          2、圖像讀取流程

          要保證圖像的完整性就必須從一場(chǎng)圖像的第一行開(kāi)始讀取,對(duì)于隔行掃描輸出的圖像則必須從一幀的第一行開(kāi)始讀取。讀取每行圖像數(shù)據(jù)時(shí),則從該行的第一個(gè)像素開(kāi)始。因此,在讀取圖像數(shù)據(jù)前應(yīng)先判斷場(chǎng)和行的起始位置。圖4是通過(guò)I/O接口方式讀取圖像數(shù)據(jù)的流程。讀取每個(gè)像素?cái)?shù)據(jù)前先查詢數(shù)據(jù)狀態(tài),如果數(shù)據(jù)已準(zhǔn)備好則讀取數(shù)據(jù)。

          3、同步信號(hào)檢測(cè)

          為了簡(jiǎn)化電路設(shè)計(jì),用處理器直接讀取同步信號(hào),然后找出場(chǎng)和行的起始位置。

          從圖2可以看出,處理器讀取同步信號(hào)時(shí),信號(hào)可能處在同步脈沖狀態(tài)(‘1’)或正常狀態(tài)(‘0‘)。對(duì)于那些同步信號(hào)反向的器件,則分別為‘0’和‘1’。如果信號(hào)處于同步脈沖狀態(tài),第一次檢測(cè)到的正常狀態(tài)就起始位置。如果信號(hào)處于正常狀態(tài),則首先檢測(cè)到脈沖狀態(tài),然后用同樣的方法確定起始位置。

          通過(guò)上述方法可以檢測(cè)出場(chǎng)的起始位置和行起始位置。

          4、用VHDL設(shè)計(jì)鎖存器

          在應(yīng)用中,以上兩個(gè)鎖存器的功能和其他邏輯集中在一起,用可編程邏輯器件實(shí)現(xiàn)。下面分別為它們的VHDL表示。

          設(shè)DO(0-7)是鎖存器輸出端,DI(0-7)是鎖存器輸入端,DM(0-7)是中間狀態(tài),Data_R是數(shù)據(jù)讀信號(hào)(低電平時(shí)有效),則數(shù)據(jù)鎖存器的VHDL描述為:

          Process (reset, PCLK) -- 鎖存圖像數(shù)據(jù)


          Begin


          If reset='0' then


          DM="00000000"; -- 清除數(shù)據(jù)


          Else if PCLK'event and PCLK='1' then


          DM=DI; -- 鎖存數(shù)據(jù)


          End if;


          End process;


          Process (DM, Data_R) -- 讀取圖像數(shù)據(jù)


          Begin


          If Data_R='0' then


          DO=DM; -- 輸出圖像數(shù)據(jù)


          Else


          DO="ZZZZZZZZ" -- 輸出高阻


          End if;


          End process;

          進(jìn)一步設(shè)數(shù)據(jù)有效狀態(tài)為Dstatus, 狀態(tài)讀寫(xiě)信號(hào)為Status_R (低點(diǎn)平時(shí)有效),則狀態(tài)鎖存器的VHDL描述為:

          Process (reset, PCLK,Data_R) -- 數(shù)據(jù)有效狀態(tài)控制


          Begin


          If reset='0' or Data_R='0' then


          Dstatus='0'; -- 清除狀態(tài)


          Else if PCLK'enent and PCLK='1' then


          Dstatus='1'; -- 設(shè)置狀態(tài)


          End if;


          End process;


          Process (Dstatus, Status_R) --讀取狀態(tài)和同步信號(hào)


          Begin


          If Status_R='0' then


          DO0=Dstatus;


          DO1=VSYNC;


          DO2=HSYNC;


          DO3=FRAME;


          Else


          DO="ZZZZZZZZ"; -- 高阻狀態(tài)


          End if;


          End process;


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();