新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機ATmega16的CCD驅(qū)動電路的設(shè)計

基于單片機ATmega16的CCD驅(qū)動電路的設(shè)計

作者: 時間:2010-10-22 來源:網(wǎng)絡(luò) 收藏

TCD1304工作時需要SH、ICG和ФM 3路驅(qū)動信號。SH的周期表示光信號積累時間,即積分時間,ICG和SH是同步的,ФM是主脈沖,其典型值為2 MHz。OS表示信號輸出,每4個ФM脈沖周期對應(yīng)1位信號周期??梢钥闯觯琓CD1304工作時需要的驅(qū)動信號比較簡單,完全可以用ATmega16來產(chǎn)生。
3 電路設(shè)計及實驗結(jié)果
3.1 電路設(shè)計

 基于ATmega16的TCD1304的驅(qū)動電路如圖4所示。


使用ATmega16的timer0的CTC工作模式產(chǎn)生2 MHz的方波,并由輸出腳OC0輸出,然后經(jīng)過施密特反向器整形后輸出作為ФM(即圖4中的FM);使用timer1的相位與頻率修正PWM模式產(chǎn)生一定周期的波形,由OC1A腳輸出,同樣經(jīng)過施密特反向器整形后輸出作為ICG;將ICG波形經(jīng)過延時和變窄處理后得到SH信號。圖4中還給出了ATmega16的復(fù)位電路。單片機工作時使用系統(tǒng)內(nèi)部時鐘8MHz,timer1采用8分頻(即1 MHz)作為時鐘輸入。部分的單片機程序如下:
  初始化部分:
  LDI TEMP, $00
  OUT TCCR0, TEMP
  OUT TCNT0, TEMP
  OUT TCNT1L, TEMP
  OUT TCNT1H, TEMP
  OUT TIMSK, TEMP
  設(shè)置timer1和timer0的相關(guān)寄存器:
  LDI TEMP, $80
  OUT TCCR1A, TEMP
  LDI TEMP, $00
  OUT OCR1AH, TEMP
  LDI TEMP, $04
  OUT OCR1AL, TEMP
  LDI TEMP, $0e
  OUT ICR1H, TEMP
  LDI TEMP, $74;
  OUT ICR1L, TEMP
  
  LDI TEMP, $02;
  OUT OCR0, TEMP
  啟動輸出:
  LDI TEMP, $71
  OUT TCCR0, TEMP
  NOP
  LDI TEMP, $12
  OUT TCCR1B, TEMP
 在程序中,由輸出腳OC0輸出的是2 MHz方波,通過寄存器OCR0和TCCR0來確定。輸出腳OC1A輸出的波形周期為T=7.4 ms(ICR1·2·1 μs),對應(yīng)CCD的最短積分時間。改變timer1的寄存器的設(shè)置就可以調(diào)整積分時間。



關(guān)鍵詞: 功率模塊

評論


相關(guān)推薦

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

關(guān)閉