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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于CPLD的全幀型CCD圖像傳感器驅(qū)動系統(tǒng)設(shè)計

          基于CPLD的全幀型CCD圖像傳感器驅(qū)動系統(tǒng)設(shè)計

          作者: 時間:2009-05-21 來源:網(wǎng)絡(luò) 收藏

          首先由CLK時鐘產(chǎn)生模6計數(shù)器sell、模4764計數(shù)器sel2和模6計數(shù)器sel3。由于sell和sel2相互作用,當(dāng)滿足ENA=1且sel2≥683(由圖3可得出)時,則相應(yīng)可產(chǎn)生C1,C2,c3信號值,否則全部賦為0。而A1,A2,A3,A4則是在SEL2和SEL3的共同作用下,將主時鐘信號進行分頻后作為時鐘,在滿足圖6中所羅列的條件后,根據(jù)SEL2值的變化即可給出A1~A4的值。
          采用這種模塊化的設(shè)計,其光積分時間、行轉(zhuǎn)移頻率和像轉(zhuǎn)移頻率、行轉(zhuǎn)移數(shù)和每行像素轉(zhuǎn)移數(shù)均可調(diào)整,程序的移植性較好,可適用于不同的需要,而且也方便調(diào)試。


          3 實驗結(jié)果分析
          對程序進行系統(tǒng)仿真后的時序圖如圖7所示??煽闯鲈摃r序符合芯片的datasheet要求。將編譯好的程序下載到中,通過示波器可以得到所需的驅(qū)動信號,如圖8所示。

          在實驗中發(fā)現(xiàn),雖然軟件仿真中各個驅(qū)動信號能夠嚴(yán)格符合CcD4052M要求的時序關(guān)系,但是實際輸出到信號的驅(qū)動信號卻仍然有不同程度的延時。這主要是由兩方面的原因引起的。首先,由于在設(shè)計初期采用的是集成開發(fā)環(huán)境下行為級的仿真功能,仿真過程不包括延時信息,只為驗證代碼行為的正確性,可以做到與器件無關(guān),所以的輸出會與仿真結(jié)果有所差異;其次,驅(qū)動信號由產(chǎn)生后,需要經(jīng)過后續(xù)的模擬驅(qū)動電路,由于電子器件本身的特性和差異,造成了抵達(dá)CCD管腳的驅(qū)動信號具有不同的延時。其中,第一種誤差可以通過進行集成開發(fā)環(huán)境下的時序級仿真解決。這種仿真為設(shè)計的每一個底層器件加入了延時信息,可以模擬到比較接近實際電路的行為。第二種誤差因電子器件本身造成的,存在個體性差異,無法進行精確的計算。解決方法是在電路設(shè)計中加入延時芯片,通過實際測量,設(shè)定不同延時芯片的延時,校正各個驅(qū)動信號間的誤差。


          4 結(jié) 語
          該CCD驅(qū)動系統(tǒng)采用CPLD芯片進行設(shè)計,具有性能好,功耗低,體積小的特點。該驅(qū)動電路的研制結(jié)果表明,采用CPLD專用集成芯片進行系統(tǒng)設(shè)計有它自身的優(yōu)點,可以簡化設(shè)計,并且調(diào)試簡單,可擴展性也比較強。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: CPLD CCD 全幀 傳感器驅(qū)動

          評論


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