基于FPGA視頻采集中的I2C總線設(shè)計(jì)與實(shí)現(xiàn)
由于SAA7111加電復(fù)位之后,各寄存器處于不確定狀態(tài),因此需要采用I2C總線協(xié)議由FPGA作為主方對(duì)SAA7111的相關(guān)寄存器進(jìn)行設(shè)置。從SAA7111的四個(gè)模擬輸入端AIll,AI12,AI21,AI22的某一引腳輸入的視頻圖像信號(hào)經(jīng)模擬處理后,一路可通過(guò)緩沖器輸出到AOUT端用于監(jiān)視,另一路經(jīng)A/D轉(zhuǎn)換器后則產(chǎn)生數(shù)字色度信號(hào)和亮度信號(hào)。在分別進(jìn)行亮度信號(hào)處理和色度信號(hào)處理后,其亮度信號(hào)處理結(jié)果的一路將送到色度信號(hào)處理器進(jìn)行綜合處理,產(chǎn)生的Y和UV信號(hào)經(jīng)格式化后從VPO(16位)輸出;另一路則進(jìn)入同步分離器,并經(jīng)數(shù)字PLL產(chǎn)生相應(yīng)的行和場(chǎng)同步信號(hào)HS和VS。同時(shí),PLL將驅(qū)動(dòng)時(shí)鐘發(fā)生器,以產(chǎn)生HS鎖定的時(shí)鐘信號(hào)LLC和LLC2,SAA7111的所有功能均是在I2C總線控制下完成的。SA-A7111相應(yīng)的寄存器初始化值見(jiàn)表1。本文引用地址:http://www.ex-cimer.com/article/157385.htm
I2C總線控制讀/寫(xiě)操作過(guò)程如表2、表3所示(S:開(kāi)始,Sr:重開(kāi)始,P:停止,-S:從設(shè)備,-M:主設(shè)備,W:寫(xiě)位,R:讀位):
在設(shè)計(jì)中主要實(shí)現(xiàn)以下四種功能:開(kāi)始條件功能、字節(jié)發(fā)送功能、應(yīng)答條件功能和停止條件功能。四種功能信號(hào)的時(shí)序和數(shù)據(jù)總線傳遞如圖2、圖3所示。
為了完成上述要求和功能,本文采用VHDL語(yǔ)言編寫(xiě)邏輯的方法來(lái)模擬I2C總線接口時(shí)序邏輯,配置數(shù)據(jù)可以由主機(jī)發(fā)送,也可以預(yù)先存放,同時(shí)用VHDL編寫(xiě)時(shí)序邏輯對(duì)SAA7111進(jìn)行初始化配置。根據(jù)設(shè)計(jì)要求,在不同的進(jìn)程下對(duì)串行時(shí)鐘線(SCL)和串行數(shù)據(jù)線(SDA)進(jìn)行設(shè)計(jì)。時(shí)鐘信號(hào)源采用10 MHz的晶振,分頻后作為進(jìn)程激勵(lì)信號(hào),基本能夠滿足SAA7111芯片的數(shù)據(jù)率要求。但如果在一些更高速的情況下,需要快速通過(guò)I2C總線對(duì)被控器件進(jìn)行設(shè)置,這里只需將行時(shí)鐘線(SCL)和串行數(shù)據(jù)線(SDA)的頻率進(jìn)行修改即可,其接口控制如圖4所示。
評(píng)論