當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]用GAL配合ISA總線模擬I2C總線時(shí)序?qū)崿F(xiàn)對(duì)FI1256MK2的編程

FI1200 MK2系列電視信號(hào)前端處理器是飛利浦公司專為計(jì)算機(jī)多媒體環(huán)境下的射頻應(yīng)用而設(shè)計(jì)的。FI1256 MK2是該系列中的一個(gè)型號(hào),它體積小,結(jié)構(gòu)緊湊,性能穩(wěn)定,可直接從射頻信號(hào)解調(diào)出視頻信號(hào)和音頻信號(hào),且只需單一5V電源,因而可在圖文電視接收、有線電視信號(hào)自動(dòng)監(jiān)測(cè)等許多場(chǎng)合得到廣泛的應(yīng)用。筆者曾用它開(kāi)發(fā)出圖文電視接收卡、電視信號(hào)檢測(cè)系統(tǒng)等多種設(shè)備。

FI1256 MK2可通過(guò)I2C串行總線接口進(jìn)行編程控制。當(dāng)使用單片機(jī)進(jìn)行編程控制時(shí),帶有I2C接口的單片機(jī)可以與FI1256 MK2直接連接,沒(méi)有I2C接口的單片機(jī)可以用I/O口線模擬I2C總線的時(shí)序。但是FI1256 MK2在計(jì)算機(jī)擴(kuò)展卡中使用時(shí),為了節(jié)省成本,通過(guò)計(jì)算機(jī)的總線直接對(duì)其進(jìn)行編程控制時(shí),就需要用計(jì)算機(jī)的總線模擬出I2C總線的時(shí)序。本文給出了用可編程邏輯器件GAL配合ISA總線模擬I2C總線時(shí)序來(lái)對(duì)FI1256 MK2進(jìn)行控制的方法。該方法與PCI總線進(jìn)行模擬的方法相類似。

1 I2C總線操作方式

I2C總線是被廣泛應(yīng)用的串行多主控器總線,它可以讓多個(gè)有控制總線能力的器件連接到總線上。I2C總線通過(guò)串行數(shù)據(jù)(SDA)和串行時(shí)鐘(SCL)兩條線使連接在該總線上的器件進(jìn)行數(shù)據(jù)傳輸,每個(gè)器件的識(shí)別由一特定地址確定。除了作為發(fā)送器和接收器外,該器件還可以被設(shè)定為主控器和被控器。主控器用于啟動(dòng)總線上的數(shù)據(jù)發(fā)送,并產(chǎn)生數(shù)據(jù)傳輸所需的時(shí)鐘信號(hào),其他被尋址的器件均認(rèn)為是被控器。SDA線和SCL線都是雙向傳輸線,它們各通過(guò)一個(gè)上拉電阻連接到正電源。當(dāng)總線處于空閑狀態(tài)時(shí),兩條線均處于高電平。連接到總線的器件輸出級(jí)必須是集電極開(kāi)路或漏極開(kāi)路,以用來(lái)產(chǎn)生“線與”功能便于多個(gè)器件的接入。在標(biāo)準(zhǔn)方式下,I2C總線上的數(shù)據(jù)傳輸速率可達(dá)100kbps,在快速方式下則可達(dá)到400kbps。連接到總線上的器件數(shù)量只受400pF的總線電容的限制。進(jìn)行數(shù)據(jù)傳輸時(shí),SDA線上的數(shù)據(jù)在SCL為高電平期間必須是穩(wěn)定的,只有在SCL線上的時(shí)鐘信號(hào)為低時(shí),數(shù)據(jù)線上的狀態(tài)才可以改變。當(dāng)SCL線保持高電平時(shí),通常把SDA線上由高到低和由低到高的電平變化分別定義為開(kāi)始條件和停止條件。主控器啟動(dòng)數(shù)據(jù)傳輸時(shí),總是先給出開(kāi)始條件,然后傳輸若干字節(jié)的數(shù)據(jù),最后給出停止條件以結(jié)束一次數(shù)據(jù)傳輸過(guò)程。圖1是帶有開(kāi)始和停止條件的只傳輸一個(gè)字節(jié)的總線時(shí)序。

2 模擬I2C總線時(shí)序

可編程邏輯器件是近二十年發(fā)展起來(lái)的專用集成電路的一個(gè)分支,是設(shè)計(jì)新型數(shù)字系統(tǒng)的理想器件。它不僅速度快,集成度高,而且具有用戶可定義的邏輯功能,有的還可以加密,并可以重復(fù)編程,因此,它不僅能適應(yīng)各種應(yīng)用需要,而且可以大大簡(jiǎn)化硬件系統(tǒng),降低成本,提高系統(tǒng)的靈活性、可靠性和保密性,所以,近年來(lái)得到了迅速的發(fā)展。在各種可編程邏輯器件中,以CPLD功能最為強(qiáng)大,但價(jià)格較高,使用也較為復(fù)雜。而GAL不但有相當(dāng)強(qiáng)的功能和足夠的靈活性,而且編程控制容易(可使用普通的編程器),價(jià)格很低,接近通用集成電路,故在數(shù)字邏輯不是非常復(fù)雜的系統(tǒng)中使用GAL是非常合適的。

用計(jì)算機(jī)的ISA總線對(duì)FI1256 MK2進(jìn)行編程控制時(shí),可以將FI1256 MK2作為一個(gè)外設(shè),然后用兩根數(shù)據(jù)線模擬SCL和SDA。需要注意的是:由于計(jì)算機(jī)速度高,總線周期短,達(dá)不到I2C總線的定時(shí)要求,因此要在總線周期過(guò)后進(jìn)行延時(shí),這樣總線上出現(xiàn)的高阻狀態(tài)或與其它設(shè)備的通信數(shù)據(jù)就會(huì)破壞I2C的時(shí)序,所以應(yīng)將SDA和SCL的狀態(tài)鎖存,以滿足I2C總線的定時(shí)要求。圖2是用GAL實(shí)現(xiàn)ISA與I2C接口電路的設(shè)計(jì)方案。由于對(duì)FI1256 MK2的操作一般只是寫(xiě)入編程控制字節(jié),因此,為簡(jiǎn)單起見(jiàn),該電路只用來(lái)實(shí)現(xiàn)將計(jì)算機(jī)作為主控器的寫(xiě)操作時(shí)序。

圖2中,撥碼開(kāi)關(guān)K用以設(shè)定作為計(jì)算機(jī)外設(shè)的FI1256 MK2的地址,U1用于計(jì)算機(jī)訪問(wèn)外設(shè)時(shí)地址的譯碼,U2則用于實(shí)現(xiàn)用ISA總線的兩條數(shù)據(jù)線模擬I2C總線時(shí)序。下面給出兩片GAL的邏輯方程(以FAST-MAP格式書(shū)寫(xiě)),并對(duì)照方程簡(jiǎn)要說(shuō)明電路所實(shí)現(xiàn)的功能。

通過(guò)以上方程可使U1完成地址的譯碼功能。當(dāng)ISA總線上出現(xiàn)的外設(shè)地址與撥碼開(kāi)關(guān)設(shè)定的地址相匹配時(shí),在其地址有效輸出端ADDR上將得到高電平。由于GAL最多只能有8個(gè)或項(xiàng),所以方程中使用了ADD1和ADD2兩個(gè)中間運(yùn)算結(jié)果,他們被當(dāng)作反饋信號(hào)在GAL內(nèi)部重新引到輸入端。使用AEN信號(hào)是為了在DMA周期內(nèi)屏蔽總線上出現(xiàn)的地址。

U2的時(shí)鐘信號(hào)是由地址ADDR和外設(shè)寫(xiě)信號(hào)IOW的引入是為了消除總線上出現(xiàn)訪問(wèn)內(nèi)存的信號(hào),同時(shí)利用其上升沿鎖存數(shù)據(jù)。SCL和SDA可分別用數(shù)據(jù)線D0和D1模擬。當(dāng)一個(gè)外設(shè)寫(xiě)周期過(guò)后,D0和D1的數(shù)據(jù)將鎖存在SDA和SCL上,而在下一個(gè)對(duì)相同外設(shè)地址的外設(shè)寫(xiě)周期到來(lái)之前是不變的。這就使得I2C總線的時(shí)序可以在D0和D1兩根數(shù)據(jù)線上通過(guò)間隔輸出數(shù)據(jù)的方式獲得。

節(jié) 通過(guò)分析圖1給出的數(shù)據(jù)傳輸格式,可以把傳送的數(shù)據(jù)流劃分為三種傳送狀態(tài),即傳送起始信號(hào)、傳送終止信號(hào)和傳送一個(gè)字節(jié)(后面帶一個(gè)應(yīng)答位)。不同的數(shù)據(jù)過(guò)程只是寫(xiě)入的數(shù)據(jù)字節(jié)數(shù)目不同。只要模擬軟件能實(shí)現(xiàn)上述三種傳送狀態(tài),就可以模擬出任何的主控器寫(xiě)操作過(guò)程。因此可以用下列子程序分別實(shí)現(xiàn)上述三種傳送狀態(tài)。

(1)字節(jié)傳送子程序

由于SCL和SDA是用D1和D0模擬的,所以,只要往設(shè)定的I/O地址傳送相應(yīng)的數(shù)據(jù)就可以模擬傳送不同的數(shù)據(jù)字節(jié)。為了保證數(shù)據(jù)的可靠傳輸,I2C總線規(guī)范對(duì)總線上的時(shí)序作了嚴(yán)格的規(guī)定。實(shí)驗(yàn)證明,ISA總線上信號(hào)的上升沿和下降沿都在10ns以內(nèi),完全可以滿足I2C總線對(duì)上升沿與下降沿的要求,所以不需考慮信號(hào)的上升與下降時(shí)間,而只需考慮信號(hào)的建立和保持所需的時(shí)間即可。

根據(jù)對(duì)I2C的定時(shí)要求,可以在SCL低電平的中點(diǎn)將信號(hào)進(jìn)行分割,并把一個(gè)字節(jié)數(shù)據(jù)分為8個(gè)比特來(lái)分別進(jìn)行傳送(傳送0和1分別用兩個(gè)子程序?qū)崿F(xiàn)),從而使SDA線上的數(shù)據(jù)變化總是處在SCL低電平的中點(diǎn)。圖3所示是傳送一比特?cái)?shù)據(jù)的定時(shí)時(shí)序圖。

由于在對(duì)FI1256 MK2的操作過(guò)程對(duì)實(shí)時(shí)性要求不是太高,所以可以使傳送一比特?cái)?shù)據(jù)的三個(gè)狀態(tài)都持續(xù)5.0μs,這樣,就可以滿足所有的定時(shí)要求。把圖3中的兩個(gè)定時(shí)圖進(jìn)行組合即可傳送任意的數(shù)據(jù)字節(jié)。在每個(gè)數(shù)據(jù)字節(jié)的8比特?cái)?shù)據(jù)后,都會(huì)在SCL上送出一個(gè)時(shí)鐘周期而讓SDA保持高電平,以使FI1256 MK2送出應(yīng)答信號(hào)。應(yīng)答信號(hào)定時(shí)圖與圖3(a)相同。

(2)起始信號(hào)和終止信號(hào)模擬子程序

起始信號(hào)和終止信號(hào)實(shí)際上是SCL為高電平期間在SDA上出現(xiàn)一個(gè)由高到低或由低到高的變化。起始信號(hào)和終止信號(hào)的定時(shí)圖如圖4所示。操作時(shí),往D1和D0送相應(yīng)的數(shù)據(jù)即可模擬此定時(shí)圖,從而實(shí)現(xiàn)I2C總線傳輸?shù)钠鹗己徒K止。

3 FI1256 MK2的功能與控制

FI1256 MK2在輸入75Ω射頻信號(hào)時(shí)可以直接解調(diào)出峰-峰值為1V的視頻信號(hào)和聲音信號(hào)(同時(shí)給出第二伴音中頻信號(hào))。輸入射頻信號(hào)可從49.75MHz無(wú)縫覆蓋至863.25MHz,其中包括所有增補(bǔ)頻道。其調(diào)諧和波段切換均可通過(guò)內(nèi)置的I2C總線接口進(jìn)行。由于內(nèi)建了直流-直流變換器,故只需單一5V電源即可,由此可見(jiàn),F(xiàn)I1256 MK2是真正的5V器件,簡(jiǎn)化了外圍電路的設(shè)計(jì)。

對(duì)FI1256 MK2的控制有讀和寫(xiě)兩種模式。寫(xiě)模式可將調(diào)諧信息通過(guò)I2C總線寫(xiě)入,而讀模式則可以讀出內(nèi)部鎖定狀態(tài)。一般只使用寫(xiě)模式,寫(xiě)模式時(shí)需寫(xiě)入5個(gè)字節(jié),可用于設(shè)置地址、鎖相環(huán)、調(diào)諧速度、調(diào)諧步長(zhǎng)、工作模式、波段和編程頻率。寫(xiě)模式下的編程方式有以下四種:

其中,前兩種用于在所有頻道間調(diào)諧,后兩種用于在同波段內(nèi)的頻道間調(diào)諧。各種編程方式的不同點(diǎn)在于寫(xiě)入字節(jié)數(shù)的區(qū)別,只要按照I2C時(shí)序的要求將給定的字節(jié)依次寫(xiě)入即可實(shí)現(xiàn)編程控制。

編程邏輯器件的應(yīng)用是數(shù)字電路的設(shè)計(jì)方向。實(shí)際應(yīng)用證明,GAL的功能與靈活性對(duì)于一般的數(shù)字電路系統(tǒng)是非常合適的,它不但能有效地提高系統(tǒng)的可靠性和保密性,而且可以降低成本,提高系統(tǒng)的靈活性。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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