利用I2C總線(xiàn)實(shí)現DSP對增強型視頻輸入理器SAA7111A EVIP的配置
1 引言
本文引用地址:http://dyxdggzs.com/article/87494.htm圖像處理系統包括圖像采集模塊和圖像處理模塊。本系統設計采用SAA7111A EVIP(EnhancedVideo Input Processor)(簡(jiǎn)稱(chēng)SAA7111A)完成前端圖像采集,使用TMS320VC5509A完成圖像處理。在SAA7111A正常工作前需要對其進(jìn)行初始化配置,由于這兩款器件內部都集成有I2C模塊,可利用I2C總線(xiàn)實(shí)現對SAA7111A的初始化配置。
2 TMS320VC5509A內部I2C模塊
2.1 I2C模塊內部結構
TMS320VC5509A內部集成有I2C模塊,其內部結構框圖如圖1所示。
數據發(fā)送寄存器I2CDXR、發(fā)送移位寄存器I2CXSR、數據接收寄存器I2CDRR及接收移位寄存器I2CRSR負責數據線(xiàn)SDA上串行數據的發(fā)送與接收;時(shí)鐘同步單元用于同步I2C的輸入時(shí)鐘(來(lái)自DSP時(shí)鐘發(fā)生器)和SCL上的時(shí)鐘,并在多主設備數據傳輸模式下保證多個(gè)主設備時(shí)鐘完全同步;多主發(fā)送傳輸模式下,仲裁單元對數據總線(xiàn)上的數據進(jìn)行仲裁;預分頻器對I2C模塊的輸入時(shí)鐘分頻;I2C模塊中斷產(chǎn)生單元和DMA同步事件產(chǎn)生單元用于觸發(fā)相應CPU中斷和DMA傳輸??刂萍模癄顟B(tài)存器用于實(shí)現I2C模塊工作模式的設定和狀態(tài)控制。I2C模塊通過(guò)外設總線(xiàn)與CPU和DMA控制器進(jìn)行通信。
2.2 I2C總線(xiàn)的數據傳輸
I2C總線(xiàn)為一條串行數據線(xiàn)(SDA)和一條串行時(shí)鐘線(xiàn)(SCL)。SDA和SCL都支持輸入/輸出雙向傳輸,連接時(shí)需上拉至高電平。則TMS320VC5509A內部I2C模塊支持主設備和從設備兩種模式,兼容Philip公司的I2C總線(xiàn)傳輸協(xié)議。
由連接至I2C總線(xiàn)的主設備提供時(shí)鐘。時(shí)鐘線(xiàn)SCL為高電平時(shí),SDA上的數據須穩定,只有當SCL上的時(shí)鐘信號為低電平時(shí),SDA上的數據才改變。I2C模塊在I2C總線(xiàn)配置為主模式時(shí),產(chǎn)生START和STOP條件,如圖2所示。I2C總線(xiàn)的數據格式支持7-bit地址格式和10-bit地址格式,數據格式如圖3所示。
3 增強型視頻輸入處理器SAA7111A
3.1概述
SAA7111A廣泛應用于桌面視頻、多媒體、數字電視、圖像處理、視頻電話(huà)的高性能視頻輸入處理器。
SAA7111A主要有以下特點(diǎn):SAA7111A共有4路模擬視頻信號輸入端,可以為4路CVBS或2路S視頻(Y/C),可編程設置4路視頻輸入中的一路或者兩路組成不同的工作模式;能實(shí)現行同步、場(chǎng)同步信號的自動(dòng)監測、分離,并且行同步信號的起始位置與結束位置均可編程控制;場(chǎng)頻50 Hz或60Hz自動(dòng)檢測,對不同輸入制式的亮度信號、色差信號進(jìn)行處理,實(shí)現亮度、色度以及飽和度的片內實(shí)時(shí)控制;I2C總線(xiàn)接口,配置片內寄存器,實(shí)現用戶(hù)所需功能;SAA7111A輸出為16位VPO總線(xiàn),支持不同位寬的數據輸出格式;有片內時(shí)鐘產(chǎn)生電路,通過(guò)數字PLL鎖定行同步。
3.2 I2C總線(xiàn)接口
SAA7111A作為從設備時(shí),其寫(xiě)地址為48H,讀地址為49H,配置寄存器時(shí)I2C總線(xiàn)上數據格式如圖4所示。
3.3 SAA7111A片內寄存器
SAA7111A內部有32個(gè)控制寄存器,22個(gè)可編程設置。本系統只用其中一部分寄存器,通過(guò)I2C總線(xiàn)配置這些寄存器,使其正常工作。SAA7111A片內寄存器功能如表1所列。
4 接口設計
系統選用模式0,視頻信號由SAA7111A的AIll引腳輸入。SAA7111A的時(shí)鐘由24.576 MHz的晶體振蕩器提供,數字PLL產(chǎn)生同步時(shí)鐘信號LLC,CREF是時(shí)鐘參考信號,其頻率與LLC相等,高電平時(shí)各輸出信號穩定。VPO輸出圖像數據,每2個(gè)LLC周期輸出1個(gè)16位YUV4:2:2格式的數據。同時(shí)產(chǎn)生的輸出信號還包括水平參考信號HREF和垂直參考信號VREF。YMS320VC5509A的I2C模塊的串行數據線(xiàn)(SDA)和串行時(shí)鐘線(xiàn)(SCL)直接與SAA7111A的I2C總線(xiàn)SDA與SCL相連.并接上拉電阻,保證I2C總線(xiàn)處于空閑狀態(tài)時(shí)SDA與SCL都處于高電平,這樣DSP利用I2C總線(xiàn)配置視頻采集器件。SAA7111A與DSP的接口原理圖如圖5所示。
5 配置SAA7111A
將TMS320VC5509A的I2C模塊設定為I2C總線(xiàn)的主設備,地址為0000H,7位地址工作模式,傳輸速率為100 Kb/s;而SAA7111A作為從設備,讀地址為49H,寫(xiě)地址為48H。
5.1 I2C模塊初始化
利用I2C總線(xiàn)配置SAA7111A之前,應先初始化DSP的I2C模塊。
CCS提供強大的芯片支持庫,可直接調用I2C模塊的芯片支持庫函數完成I2C模塊的初始化以及SAA7111A的配置。調用庫函數之前應包含頭文件csl i2c.h。I2C初始化結構如下:
而調用初始化函數初始化DSP的I2C模塊I2C_setup(&My_Init)。
由于本系統的I2C模塊只用于配置SAA7111A,并不進(jìn)行數據傳輸,無(wú)需中斷I2C模塊,因此中斷使能關(guān)閉。
5.2利用I2C總線(xiàn)配置SAA7111A
DSP的I2C模塊初始化后,則利用I2C總線(xiàn)配置SAA7111A。同樣,使用CCS的芯片支持庫函數實(shí)現SAA7111A的配置。發(fā)送到I2C總線(xiàn)上的配置數據組:
由于SAA7111A接收I2C總線(xiàn)發(fā)送的多個(gè)數據時(shí),其子地址遞增,因此在發(fā)送數據組里,第一個(gè)數據是子地址,后面依次是發(fā)送到該子地址及后面子地址的數據值。
調用寫(xiě)I2C總線(xiàn)函數,配置SAA7111A寄存器。
注意:發(fā)送從地址不包括讀寫(xiě)位,而SAA7111A作為從設備的讀地址為49H,寫(xiě)地址為48H都是包括讀寫(xiě)位(Slave Address+W/R)。因此上面的發(fā)送從地址不是0x48,而是0x24。同樣在利用芯片支持庫函數進(jìn)行讀操作時(shí),從地址不是0x49,而是0x24。
6 結束語(yǔ)
利用本文介紹的方法成功實(shí)現DSP對SAA7111A的初始化配置。SAA7111A與TMS320VC5509A都集成有I2C模塊,便于配置SAA7111A。CCS提供強大的芯片支持庫CSL,可直接使用這些函數便于訪(fǎng)問(wèn)片上外設。這些函數都是經(jīng)過(guò)優(yōu)化的,其執行效率高并不比直接使用匯編語(yǔ)言編寫(xiě)的代碼低。
評論