《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于FPGA的AD9945驅動設計
一種基于FPGA的AD9945驅動設計
來源:微型機與應用2011年第18期
洪冰心, 鄭力新
(華僑大學 信息科學與工程學院, 福建 廈門361021)
摘要: 介紹了AD9945高速CCD信號處理芯片,并對其工作流程進行了研究。分析了AD9945芯片內部各個驅動信號的作用及其時序關系,提出了結合FPGA運用VHDL硬件語言對該芯片的驅動信號進行編程的思想,最后通過QUARTUS II軟件對程序進行時序仿真,并得到正確的仿真時序圖,從而驗證了這種編程思想的正確性。
關鍵詞: FPGA AD9945 VHDL 驅動
Abstract:
Key words :

摘  要: 介紹了AD9945高速CCD信號處理芯片,并對其工作流程進行了研究。分析了AD9945芯片內部各個驅動信號的作用及其時序關系,提出了結合FPGA運用VHDL硬件語言對該芯片的驅動信號進行編程的思想,最后通過QUARTUS II軟件對程序進行時序仿真,并得到正確的仿真時序圖,從而驗證了這種編程思想的正確性。
關鍵詞: AD9945; FPGA; VHDL; 驅動

    隨著計算機和通信技術的發展,機器視覺的應用更加廣泛,而FPGA因具有高性能、高靈活性、低開發成本、低成本的結構化ASIC移植等優點,在機器視覺中發揮著越來越重要的作用。AD9945是一款12 bit的高速CCD信號處理芯片,最高頻率可達到40 MHz,非常適用于處理高速CCD信號。
1 AD9945芯片簡介[1]
    AD9945是一款高速CCD模擬信號處理芯片,最高頻率可處理40 MHz的面陣CCD模擬信號。其信號鏈主要由相關雙采樣(CDS)、數控可變增益放大器(VGA)、黑色電平鉗位、12位A/D轉換器組成。
1.1 AD9945內部寄存器
    AD9945有4個內部寄存器,分別為工作寄存器、控制寄存器、暗電平鉗制水平寄存器、VGA增益寄存器。4個寄存器可通過3線串行數字接口(SCK、SDATA、SL)進行編程。通過編程可改變增益、黑電平校正、輸入時鐘極性及掉電模式等。各個內部寄存器詳細設置見其芯片手冊[1]。
    對單個寄存器的賦值應滿足其芯片時序圖,并且注意4個寄存器應被連續寫入,第一個寄存器的地址(最低的地址)被寫入后,跟著寫入一個測試位(置0)和4個12 bit的數據(不足12 bit的補0),其中地址位將跟著每一個12 bit的數據而自動增加。每一位SDATA的數據在SCK的上升沿被寫入。在所有的寄存器的值寫入期間,SL保持低電平,并且系統在SL上升沿后對寄存器的值進行更新。
1.2 AD9945工作流程
    對于來自CCD的輸入信號, AD9945通過一個由0.1 μF的外部耦合隔直電容以及內置的高精度直流電平恢復電路,使CCD信號的直流分量保持在1.5 V左右,從而與3 V單電源輸入的 AD9945相匹配。接著AD9945對CCD信號進行相關雙采樣處理,即對CCD信號采樣兩次以提取視頻信息,這有效地防止了低頻噪音。相關雙采樣發生在SHP(復位電平)和SHD(像元信號電平)的上升沿,這兩個時鐘信號是完成采樣、發揮CCD性能的關鍵。然后AD9945可以通過10 bit的串行數字接口編程設置對CCD信號的增益進行調整,增益范圍從6 dB~40 dB。其增益調整的公式為:VGA增益(dB)=(VGA代碼值×0.035 dB)+5.3 dB。為了清除CCD信號鏈中殘留的偏置并跟蹤暗電平低頻的變化,AD9945還設置了一個光學暗電平鉗制反饋環。通過內部寄存器設置暗電平的參考值,并與ADC輸出的實際暗電平的值進行比較。產生的誤差信號經過數字濾波,通過一個D/A轉換器反饋到ADC的輸入。暗電平鉗制脈沖CLPOB應處于有效的CCD光學暗電平期間。最后CCD信號通過一個12 bit的AD轉換器輸出,并且輸出時延遲10像素時鐘。
2 AD9945驅動設計
2.1 AD9945時序分析[1-2]

    AD9945要正常工作必須由時序發生器提供各種脈沖信號,以保證其內部寄存器能夠正確賦值,雙相關采樣信號SHP和SHD時序應滿足CCD信號要求以及CLPOB脈沖應處于有效的CCD光學暗電平期間。AD9945時序脈沖信號是一組周期性、關系較復雜的脈沖信號,它直接影響了對CCD信號的處理性能。本文設計的AD9945的時序包括三個部分:(1)3線串行數字接口(SCK、SDATA、SL),保證內部寄存器被正確賦值;(2)相關雙采樣信號SHP、SHD,確保采樣的準確性;(3)光學暗電平鉗制,減少鉗制噪聲。
    預設當CCD數據頻率為40 MHz時,各個驅動信號的相位關系如表1所示。通過觀察各驅動信號的相位表和時序圖[1]可以得到:如果設t=T/8(T是驅動信號的周期),則SHP、SHD、DATACLK的脈沖寬度分別為2 t、2 t、4 t,并且SHP、SHD之間相位差為2 t。由于DATACLK上升沿必須處于SHD的上升沿與下一個SHP的下降沿之間,因此設DATACLK上升沿到SHP下降沿的相位為t。所以如果基準時鐘信號的周期為t,根據上述分析的結果可以得到各個驅動信號。
    需要注意的是,表1中的各個驅動信號的相位關系是在CCD信號頻率為40 MHz時的,如果CCD信號頻率發生變化,各個驅動信號的頻率也應該跟著變化。

2.2 AD9945驅動的程序設計[3]
    主控芯片選用現場可編程門陣列。FPGA可以通過QuartusII軟件編程對其硬件結構和工作方式進行重構,從而使得硬件設計如同軟件設計方便快捷。本設計主要使用VHDL語言來編寫驅動程序。
    AD9945最高工作頻率可以達到40 MHz,但是為了配合前端CCD提供的圖像數據信號(CCD信號為10 MHz),把AD9945的工作頻率設定為10 MHz(即SHP、SHD、DATACLK頻率=10 MHz),這樣與前端CCD信號達到同步。通過觀察SHP、SHD、DATACLK之間的相位關系以及上文的時序分析,發現需要一個80 MHz的基準時鐘(1/t=8/T),然后對基準時鐘進行8分頻,得到10 MHz的信號。然而FPGA的基準時鐘信號是由一塊50 MHz的有源晶振產生,要想得到需要的80 MHz的信號,就必須進行小數分頻處理。選擇利用FPGA內部的鎖相環PLL完成8/5的小數分頻[3-4]。
2.2.1 AD9945內部寄存器程序設計
    在AD9945對CCD信號進行采集之前,需要對其內部寄存器進行設置,使其工作在需要的狀態下。此步驟需要對3線串行數字接口(SCK、SDATA、SL)進行編程。
    首先定義一個串行數據類型SPI=RAM_ARRAY,并賦初值,即是預計要向各個寄存器寫入的值,總共52位(3位地址位+1位測試位+每個寄存器12位×4個寄存器=52位)。通過SPI對串行數據接口SDATA進行賦值,實現對內部寄存器的設置。
    然后編寫程序產生串行數據輸入時鐘SCK,因為SCK是頻率為10 MHz,占空比為1:1的方波,所以對80 MHz的基準時鐘進行8進制計數div8=(0,1,2,3,4,5,6,7),當div8=0、1、2、3時,SCK為低電平。最后需要產生內部寄存器載入脈沖SL。定義一個52位的計數器CNT52,對SCK的脈沖計數52次(用于串行數據的寫入)。計數期間SL置0,結束后置1,并且在此期間當每一個SCK上升沿到來時通過SPI對SDATA進行串行寫入(共52次)。
2.2.2 AD9945采樣時鐘的程序設計

 


    通過對內部寄存器進行賦值,規定了AD9945的工作方式后,就可以編寫程序設計AD9945的采樣時鐘SHP、SHD、DATACLK。其中DATACLK是數據像素同步時鐘,必須與前端CCD信號嚴格匹配,在這里也是通過軟件產生,實際驗證過程中再根據具體情況進行調整。
    DATACLK占空比為1:1,所以當div8=0、1、2、3時DATACLK為低電平;SHP和SHD占空比都為3:1,但是SHP比SHD超前,所以當div8=1、2時,SHP為低電平;當div8=5、6時,SHD為低電平。
2.2.3 AD9945行鉗制時鐘輸入
    通過觀察CCD輸出信號,發現CCD信號的有效像元之間夾雜著一些光學暗電平和一些空白像素,在此區間CCD是沒有輸出的。通過軟件設計PBLK和CLPOB脈沖信號,使AD9945采集的結果更準確。
    設置CLPOB為20個像素時間寬度,而PBLK脈沖寬度的設置需要準確知道CCD空白像素的寬度,在此也是預設20個像素時間寬度,針對實際情況再進行調整。
2.3 驅動程序及仿真結果
    由于設計需要的頻率較高,擔心FPGA編程后的管腳輸出達不到所需電壓,波形也不盡如人意,所以設計通過反向器來提升FPGA的輸出信號,使其達到AD9945的輸入要求,同時可以對波形進行整形,這就要求在編寫FPGA程序時,時序編寫要反向設計,按照上述時序分析反邏輯編寫。
    驅動電路實體端口定義如下:
entity ad9945 is
port(clk:    in std_logic;
     sck:     out std_logic;
     sdata:   out std_logic;
     sl:       out std_logic;
     shp:     out std_logic;
     shd:     out std_logic;
     dataclk: out std_logic;
     clpob:   out std_logic;     
     pblk:    out std_logic);
end entity ad9945;
    軟件(QuartusII)仿真結果如圖(圖1~圖3)。

 

    通過把仿真得到時序圖與芯片要求的時序圖進行比較,發現設計得到的驅動信號符合AD9945數據手冊的要求,因此能正常驅動AD9945進行工作,完成對CCD信號的采集、處理。
參考文獻
[1] ADI公司.AD9945芯片資料,2003.
[2] 常丹華.基于CPLD技術的CCD驅動時序產生方法[J].儀器技術和傳感器,2001(3):26-28.
[3] 潘松,黃繼業.EDA技術與VHDL(第二版)[M].北京:清華大學出版社,2007.
[4] 吳繼華,王誠.Altera FPGA/CPLD設計(初級篇)[M].北京:人民郵電出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久本道综合色狠狠五月| 日韩视频精品在线| 亚洲一区亚洲| 中日韩美女免费视频网址在线观看 | 午夜激情久久久| 国产日产高清欧美一区二区三区| 久久久久国产一区二区| 亚洲国产精品欧美一二99| 最近中文字幕mv在线一区二区三区四区| 欧美精品在线看| 先锋影院在线亚洲| 亚洲二区三区四区| 亚洲美女啪啪| 国产日韩欧美精品综合| 欧美韩日亚洲| 亚洲欧美中文日韩在线| 亚洲国产精品久久久久秋霞影院 | 欧美中文字幕视频在线观看| 在线不卡欧美| 欧美日本二区| 欧美诱惑福利视频| 亚洲黄一区二区三区| 日韩视频免费看| 国产欧美丝祙| 欧美激情精品久久久久久蜜臀| 亚洲一区二区黄| 久久精品一二三区| 一区二区三区四区五区视频| 狠狠色狠狠色综合日日tαg| 欧美日韩一区二区三区在线 | 欧美在线播放| 99精品视频一区| 性欧美办公室18xxxxhd| 最新中文字幕亚洲| 国产一级一区二区| 欧美日韩在线播| 麻豆国产精品一区二区三区 | 久久香蕉国产线看观看av| 亚洲一区二区动漫| 亚洲高清视频一区| 亚洲一区三区视频在线观看| 91久久久精品| 黑人操亚洲美女惩罚| 国产精品video| 欧美电影美腿模特1979在线看 | 国产精品一区二区三区四区五区| 欧美高清不卡在线| 久久精品一区二区三区中文字幕 | 亚洲欧美第一页| 亚洲精品国产精品国自产在线| 国产视频一区免费看| 欧美色123| 欧美国产亚洲视频| 久久久久免费视频| 欧美亚洲免费高清在线观看| 亚洲少妇在线| 亚洲美女视频网| 亚洲激情在线播放| 亚洲第一主播视频| 午夜精品久久久久久| 一区二区三区日韩欧美| 亚洲精品久久| 亚洲国产成人av好男人在线观看| 国产一区二区福利| 国产精品一二三视频| 国产精品成人播放| 欧美日韩麻豆| 欧美日韩国产成人在线91| 麻豆成人精品| 久久亚洲高清| 久久欧美中文字幕| 欧美综合77777色婷婷| 亚洲一区高清| 亚洲欧美日韩精品在线| 亚洲一区成人| 亚洲天堂av在线免费| 宅男噜噜噜66一区二区| 9l国产精品久久久久麻豆| 亚洲欧洲一区二区天堂久久| 亚洲国产毛片完整版| 久久精品一区二区三区不卡牛牛| 久久国产精彩视频| 欧美专区日韩专区| 久久精品夜色噜噜亚洲a∨| 欧美在线资源| 亚洲成人在线视频网站| 久久精品卡一| 亚洲国产精品久久| 最新中文字幕一区二区三区| 亚洲日本欧美天堂| 夜夜嗨av一区二区三区网页| 99热这里只有成人精品国产| 夜夜嗨av一区二区三区中文字幕| 日韩亚洲欧美一区| 一区二区免费在线视频| 亚洲少妇在线| 欧美亚洲综合在线| 久久电影一区| 久久夜色精品国产| 米奇777超碰欧美日韩亚洲| 欧美高清成人| 欧美午夜剧场| 国产伦精品一区| 国内精品国产成人| 影音先锋日韩有码| 亚洲欧洲日韩在线| 一区二区欧美亚洲| 亚洲一级影院| 欧美一区在线看| 亚洲国产精彩中文乱码av在线播放| 91久久精品日日躁夜夜躁欧美| 99天天综合性| 午夜精品999| 欧美专区亚洲专区| 欧美成人免费一级人片100| 欧美另类视频| 国产精品一区二区欧美| 激情视频一区二区| 亚洲精品一二| 亚洲欧美在线视频观看| 亚洲黄色天堂| 亚洲欧美国产日韩中文字幕| 久久国产一区二区| 欧美护士18xxxxhd| 国产精品国产三级欧美二区 | 亚洲欧美日韩另类| 久久久蜜臀国产一区二区| 欧美第一黄网免费网站| 国产精品每日更新在线播放网址| 国产一区二区三区四区| 亚洲三级性片| 午夜视频一区在线观看| 亚洲精品国产欧美| 亚洲欧美中文另类| 美女性感视频久久久| 国产精品av一区二区| 国产在线日韩| 一本不卡影院| 亚洲国产精品久久人人爱蜜臀| 亚洲天堂av在线免费观看| 久久久国产一区二区| 欧美日韩免费看| 国内精品久久久久久久果冻传媒| 亚洲乱码久久| 亚洲高清久久| 欧美一级播放| 欧美精品啪啪| 国模吧视频一区| 亚洲一级电影| 亚洲美女视频| 久久五月天婷婷| 国产精品久久网| 亚洲国产精品成人精品| 亚洲欧美制服另类日韩| 中文欧美字幕免费| 麻豆成人综合网| 国产日韩1区| 一区二区三区免费看| 亚洲精品久久久久| 久久久不卡网国产精品一区| 国产精品第一区| 亚洲丰满少妇videoshd| 欧美一区二区日韩| 亚洲一区在线观看免费观看电影高清| 美女图片一区二区| 国产欧美一区在线| 一本久久综合亚洲鲁鲁| 亚洲美女视频在线免费观看| 久久婷婷丁香| 国产视频精品xxxx| 亚洲视频一区二区免费在线观看| 99视频有精品| 欧美高清hd18日本| 在线看国产一区| 久久精品天堂| 久久精品亚洲乱码伦伦中文 | 午夜日韩av| 欧美一区二区高清在线观看| 欧美三级视频| 最新成人在线| 亚洲日本欧美| 免费观看不卡av| 黄色国产精品| 久久成人人人人精品欧| 久久av一区二区| 国产欧美精品xxxx另类| 在线视频欧美一区| 中国av一区| 欧美日韩一二三区| 亚洲精品中文字幕在线| 一本到12不卡视频在线dvd| 欧美高清在线播放| 亚洲欧洲日产国产综合网| 日韩午夜一区| 欧美激情视频一区二区三区不卡| 亚洲国产经典视频| 亚洲人被黑人高潮完整版| 欧美1区2区视频| 亚洲国产精品va在线看黑人 | 国产精品一区二区久久国产|