當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]介紹了虛擬I2C總線技術(shù)的特點,描述了用單片機(jī)(C51)的普通I/O口以及對DSP(TMS320VC5402)的McBSP口和HPI-8口模擬I2C總線接口的設(shè)計方案,最后給出了對SAA7111進(jìn)行初始化的方法。

    摘要:介紹了虛擬I2C總線技術(shù)的特點,描述了用單片機(jī)(C51)的普通I/O口以及對DSP(TMS320VC5402)的McBSP口和HPI-8口模擬I2C總線接口的設(shè)計方案,最后給出了對SAA7111進(jìn)行初始化的方法。

    關(guān)鍵詞:虛擬I2C總線技術(shù);SAA7111;DSP;I2C總線

SAA7111是Philips半導(dǎo)體公司生產(chǎn)的一種視頻輸入處理器(VIP),在視頻采集系統(tǒng)中,通常需要諸如SAA7111之類的視頻解碼器作為模擬視頻前端,而視頻解碼器的初始化主要通過I2C總線接口來完成。然而,目前的單片機(jī)和DSP器件大多都不帶有I2C總線接口,為此,本文提出了用虛擬總線技術(shù)來模擬實現(xiàn)I2C總線功能,利用DSP的多功能I/O口和單片機(jī)的普通I/O口模擬I2C總線接口設(shè)計,從而實現(xiàn)DSP和單片機(jī)對SAA7111的初始化與控制的新方法。

1 虛擬I2C總線技術(shù)

1.1 多主方式下的I2C總線虛擬

I2C總線是Philips公司推出的一種連接IC器件的二線制總線,它既可以用于構(gòu)成多主系統(tǒng),又可工作在單主方式下。因為多主方式下會出現(xiàn)多主競爭的復(fù)雜狀態(tài),此時如果系統(tǒng)中沒有帶I2C總線接口的主控制器,那么要構(gòu)成多主系統(tǒng)的虛擬I2C總線,就必須在虛擬I2C總線中解決多主競爭狀態(tài),而這幾乎是不可能的,鑒于此,多主I2C總線系統(tǒng)必須使用帶I2C總線接口的控制器。

    1.2 單主方式下的I2C總線虛擬

當(dāng)I2C總線中只有一個主器件時,I2C總線系統(tǒng)的工作方式稱為單主方式。在單主方式下,由于I2C總線上只有一個主器件成為主節(jié)點,因此,該主器件會永遠(yuǎn)占據(jù)總線,而不會出現(xiàn)總線競爭,此時的主節(jié)點也不必有自己的節(jié)點地址。在這種情況下,主器件若沒有I2C總線接口,就可以用主控制器的I/O口來模擬I2C總線接口。

目前,許多視頻、音像電器中都采用了虛擬I2C總線技術(shù)。SAA7111的初始化控制操作就工作在單主方式下,因此可以用虛擬I2C總線技術(shù)來實現(xiàn)SAA7111的初始化控制。下面分別以單片機(jī)和DSP為例來說明虛擬I2C總線技術(shù)的實現(xiàn)方法。

2 用單片機(jī)普通I/O模擬I2C總線接口

用單片機(jī)普通I/O口模擬I2C總線接口時,其硬件配置非常簡單,因為單片機(jī)的I/O口很多,并且大多I/O口都是雙向的,因此可以直接用兩個I/O口線作為I2C總線的串行時鐘線SCL和串行數(shù)據(jù)線SDA。圖1所示為C51 單片機(jī)與SAA7111的硬件連接圖。 當(dāng)硬件配置完成后,根據(jù)I2C總線的時序特性可用軟件編程來模擬I2C總線接口。圖2為I2C總線的起始信號(S),它表示在SCL為高電平期間,數(shù)據(jù)線SDA由高電平向低電平變化將啟動I2C總線。下面是相應(yīng)的匯編程序。其它子程序可以參考I2C總線時序來實現(xiàn),這里就不一一給出了。

啟動I2C總線:

SETB P1.0 ; SDA=1

SETB P1.1 ; SCL=1

CALL DELAY ;保持?jǐn)?shù)據(jù)時間,DELAY

為延遲子程序

CLR P1.0 ; SDA=0

CALL DELAY

CLR P1.1 ;鉗定總線,開始發(fā)送數(shù)據(jù)

RET

3 用DSP外圍接口模擬I2C總線接口

由于TMS320VC5402只有兩個通用的I/O引腳,且都是單向的,而在I2C總線中,SDA必須是雙向的,因此必須借助于其它總線接口。

3.1 用McBSP口模擬I2C總線接口

首先,通過配置串口控制寄存器SPCR1和SPCR2以及引腳控制寄存器PCR的禁用McBSP功能,以將McBSP引腳(包括CLKX、CLKR、DX、DR、FSX、FSR、和CLKS)作為通用I/O口。現(xiàn)以發(fā)送器為例,當(dāng)SPCR2的XRST=0、PCR的XIOEN=1時,串口發(fā)送器無效,FSX、CLKX用作通用I/O引腳。FSX和CLKX作為通用I/O端口的引腳設(shè)置情況如表1所列。以McBSP0為例,也可以從FSX0和CLKX0引出兩條線分別表示SDA線和SCL線。

表1 將FXS和CLKX作為通用I/O的設(shè)置方法

引腳 FSX數(shù)據(jù)方向 CLKX數(shù)據(jù)方向 FSX輸出值 CLKX輸出值
FSXM CLKXM FSXP CLKXP
0 1 0 1 0 1 0 1
FSX 輸入 輸出 - - - 1 - -
CLKX - - 輸入 輸出 - - 0 1

注:“-”表示無影響

圖3為I2C總線的結(jié)束信號時序,下面是相應(yīng)的程序:

#define SPSA0 0x0038 //SPSA0指向McBSP0子地址寄存器

#define SPSD0 0x0039 //SPSD0指向McBSP0

子區(qū)數(shù)據(jù)存儲器

#define PCR0 ‘0x000E //PCR0代表子地址

0x000E

結(jié)束I2C總線:

void stop ? ? ?

*?short *?SPSA0=PCR0; //SPSA0指向子

地址PCR0

*?short *?SPSD0=0x2A02? //初始化PCR0,

令FSX0=0,CLKX=1。即SDA=0,SCL=1

delay? ?; //延時。Delay()為延時子程序

*?short *?SPSD0=0x2A0A; //令FSX0=1,

CLKX=1。即SDA=1,SCL=1

}

3.2 用HPI-8口模擬I2C總線接口

同樣,首先必須禁用HPI-8的功能,這可通過設(shè)置HPI-8控制寄存器(HPIC)的HPIENA為0來完成。當(dāng)HPI-8工作在通用I/O端口(GPIO)方式時,通過通用I/O控制寄存器(GPIOCR)和通用I/O狀態(tài)寄存器(GPIOSR)可以控制GPIO方式下的HPI-8數(shù)據(jù)引腳。GPIOCR的DIRx(x=0~7)位為低電平表明HDx引腳為輸入,高電平表明HDx為輸出。 GPIOSR的D/Ox位則反映了引腳HDx的邏輯值,D/Ox為低電平表明HDx輸入/輸出為0,D/Ox為高電平表明HDx輸入/輸出為1。因為在GPIO方式下,HDx為雙向I/O端口,因此可以任意選擇一個HDx(如HD0)作為SDA,再用另外一個HDx(HD1)作為SCL以實現(xiàn)I2C總線接口的模擬。

4 SAA7111的初始化

SAA7111內(nèi)部有32個寄存器(Subaddress00~1FH),其中22個是可編程的。00H、1A~1CH、1FH是只讀寄存器,其中00H描述的是芯片版本信息;1A~1CH是文本信息檢測和解碼寄存器,一般很少用到;1FH用來描述芯片的狀態(tài)。02H~12H是可讀寫寄存器,其中02H~05H是模擬輸入控制寄存器,02H用于設(shè)置模擬視頻信號輸入方式(共8種),03H~05H用于設(shè)置增益控制方式, 06H~12H主要用于設(shè)置解碼方式,通過配置這些寄存器可以設(shè)置行同步信號的開始和結(jié)束位置,并可確定亮度、色度、飽和度的大小以及輸出圖像數(shù)據(jù)信號的格式。 01H、13H~19H、1DH~1EH寄存器保留使用。需要注意的是,在讀00H寄存器前,必須將它初始化為0。在對多個連續(xù)的寄存器進(jìn)行操作時,寄存器地址有自動加1功能。內(nèi)部寄存器控制位的功能含義詳見參考文獻(xiàn)。

可以采用上面任何一種方法來模擬I2C總線接口,只是具體的編程方法應(yīng)視不同的控制器而異。但軟件編程具有相同之處,首先必須根據(jù)I2C總線的原理寫出啟動、結(jié)束、發(fā)送應(yīng)答信號及讀、寫一個字節(jié)的程序,然后根據(jù)SAA7111的寄存器操作格式寫出讀、寫寄存器的程序,最后根據(jù)以上子程序?qū)懗龀跏蓟樱粒粒罚保保钡某绦蚨巍#樱粒粒罚保保钡某跏蓟鞒倘鐖D4所示。

以單片機(jī)為例,硬件連接見前文圖1所示,其中IICSA是SAA7111的讀寫控制位,IICSA=0表示SAA7111的寫地址為48H。這里把SAA7111初始化設(shè)定為:一路模擬視頻信號輸入(AI12)、自動增益控制、625行50Hz PAL制式、YUV 422 16位數(shù)字視頻信號輸出、設(shè)置默認(rèn)的圖象對比度、亮度及飽和度。相應(yīng)的寄存器初始化值如表2所列。下面是向SAA7111的19個連續(xù)的子地址寄存器(00H~12H)寫入一組數(shù)據(jù)的的程序。

表2 寄存器初始化值

SubAddress Data SubAddress Data
00H 00H 01H 00H
02H C1H 03H 33H
04H 00H 05H 00H
06H EBH 07H E0H
08H 88H 09H 01H
0AH 80H 0BH 47H
0CH 40H 0DH 00H
0EH 01H 0FH 00H
10H 40H 11H 1CH
12H 03H    

入口參數(shù):SAA7111寫地址48H、子地址00H、發(fā)送數(shù)據(jù)緩沖區(qū)DBUF、發(fā)送字節(jié)數(shù)19。

WNBYTE:MOV R3,19 ;發(fā)送字節(jié)數(shù)19送入R3

LCALL START ;調(diào)用啟動子程序

MOV A,#48H ;SAA7111寫地址送入A

LCALL WBYTE ;調(diào)用寫一個字節(jié)子程序

LCALL CHECK ;調(diào)用檢查應(yīng)答位子程序

JB F0,NEXT0 ;有應(yīng)答,轉(zhuǎn)到NEXT0,其

中F0為應(yīng)答標(biāo)志位,F0=1

表示有應(yīng)答

AJMP WNBYTE ;無應(yīng)答,重新發(fā)送

NEXT0:MOV A, 00H ;SAA7111子地址送入A

LCALL WBYTE

LCALL CHECK

JB F0,NEXT1

AJMP START

    MOV R2,#DBUF ;發(fā)送數(shù)據(jù)緩沖區(qū)首地址

送入R2

NEXT1:MOV A, @R2 ;發(fā)送數(shù)據(jù)緩沖區(qū)數(shù)據(jù)送

入A

LCALL WBYTE

LCALL CHECK

JNB F0,WNBYTE ;未應(yīng)答,重新發(fā)送

INC R2

DJNZ R3,NEXT1 ;發(fā)送完否?未完,繼續(xù)發(fā)送

EXIT: LCALL STOP ;發(fā)送完畢?調(diào)用結(jié)束子程序

RET

5 結(jié)束語

對一個典型的以DSP為核心處理器的視頻采集系統(tǒng)而言,用單片機(jī)普通I/O口模擬I2C總線接口的編程比較簡單,操作也很方便,但是相應(yīng)的會增加設(shè)計成本,因為系統(tǒng)要額外的增加一片單片機(jī)。而用DSP的McBSP口或者HPI-8口模擬I2C總線接口,雖然不必考慮成本問題,但是必須要禁用McBSP或者HPI-8的功能,這對系統(tǒng)中DSP功能的擴(kuò)展來說是不利的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉