專利名稱:I2c總線控制電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及有效地使用電子機(jī)器等的內(nèi)部設(shè)備間的接口中所使用的 I2C總線,能夠縮短發(fā)送時(shí)間的I2C總線控制電路。
背景技術(shù):
I2C總線控制需要基于飛利浦公司所提倡的I2C規(guī)范(參照非專利文 獻(xiàn)l)。但是,該規(guī)范不是指定I2C總線控制的實(shí)現(xiàn)方法的規(guī)范,而存在 各種實(shí)現(xiàn)方法。以往,與控制器連接的I2C總線控制電路中的處理單位是1字節(jié)成為 慣例。具體而言,現(xiàn)有的I2C總線控制電路,與進(jìn)行控制及監(jiān)視的控制器 連接,如果從控制器設(shè)定1字節(jié)的發(fā)送數(shù)據(jù),則I2C總線控制電路發(fā)送1 字節(jié)的數(shù)據(jù),進(jìn)行發(fā)送后將中斷信號(hào)傳遞到控制器,控制器重復(fù)進(jìn)行在該 中斷下設(shè)定發(fā)送數(shù)據(jù)這樣的動(dòng)作,從而實(shí)現(xiàn)連續(xù)的多個(gè)數(shù)據(jù)的發(fā)送。圖1是現(xiàn)有的I2C總線控制電路110和與該I2C總線控制電路IIO連 接并進(jìn)行監(jiān)視及控制的控制器119的構(gòu)成圖。I2C總線控制電路IIO包括 與I2C總線123的數(shù)據(jù)線(SDA)連接的數(shù)據(jù)線控制部111;與I2C總線 123的時(shí)鐘線(SCL)連接的時(shí)鐘線控制部112;按照來(lái)自控制器119的設(shè) 定控制發(fā)送的發(fā)送控制部113;和進(jìn)行狀態(tài)管理、錯(cuò)誤檢測(cè)、定時(shí)控制等 的順序(sequence)控制部116。發(fā)送控制部113具有發(fā)送數(shù)據(jù)寄存器114 和并行/串行變換部115,順序控制部116具有調(diào)停部117和錯(cuò)誤檢測(cè)部 118。圖2表示發(fā)送控制部113的發(fā)送數(shù)據(jù)寄存器114的構(gòu)成。根據(jù)圖1的I2C總線控制電路110,通過(guò)在發(fā)送控制部113的發(fā)送數(shù) 據(jù)寄存器114中設(shè)定數(shù)據(jù),從而與順序控制部116生成的定時(shí)同步,由并 行/串行變換部115對(duì)發(fā)送控制部113的發(fā)送數(shù)據(jù)寄存器114中所設(shè)定的數(shù) 據(jù)進(jìn)行變換后傳遞給數(shù)據(jù)線控制部111,并且與順序控制部116生成的定時(shí)同步,由數(shù)據(jù)線控制部111和時(shí)鐘線控制部112分別對(duì)數(shù)據(jù)線(SDA) 和時(shí)鐘線(SCL)進(jìn)行控制。控制器119內(nèi)置ROM120和RAM121,在ROM120中搭載有用于控 制I2C總線控制電路110的程序,在RAM121中保存有程序執(zhí)行中所使用 的數(shù)據(jù)??刂破?19通過(guò)執(zhí)行ROM120的程序,控制I2C總線控制電路 110,來(lái)發(fā)送連續(xù)的多個(gè)數(shù)據(jù)。接下來(lái),對(duì)程序的處理流程進(jìn)行說(shuō)明。STEP1:在RAM121中保存連續(xù)的多個(gè)發(fā)送數(shù)據(jù)和發(fā)送數(shù)據(jù)數(shù)。STEP2:與發(fā)送控制部113的發(fā)送數(shù)據(jù)寄存器114的結(jié)構(gòu)對(duì)應(yīng),將設(shè) 置了連續(xù)的多個(gè)發(fā)送數(shù)據(jù)的第一字節(jié)和開始條件(condition)控制位的數(shù) 據(jù)(不設(shè)置停止條件控制位)設(shè)定到發(fā)送數(shù)據(jù)寄存器114,并在RAM121 的發(fā)送數(shù)據(jù)數(shù)中減去l。STEP3:由I2C總線控制電路110發(fā)送開始條件和1字節(jié)數(shù)據(jù),在發(fā) 送后通過(guò)從I2C總線控制電路110的順序控制部116傳遞到控制器119的 中斷信號(hào)122,如果RAM121的發(fā)送數(shù)據(jù)數(shù)為1以上,則將連續(xù)的多個(gè)發(fā) 送數(shù)據(jù)的下一個(gè)1字節(jié)的發(fā)送數(shù)據(jù)(不設(shè)置開始條件控制位和停止條件控 制位)設(shè)定到發(fā)送數(shù)據(jù)寄存器114,在RAM121的發(fā)送數(shù)據(jù)數(shù)中減去1。 如果發(fā)送數(shù)據(jù)數(shù)為0時(shí),將設(shè)置了停止條件控制位的數(shù)據(jù)(不設(shè)置開始條 件控制位和發(fā)送數(shù)據(jù))設(shè)定到發(fā)送數(shù)據(jù)寄存器114,而I2C總線控制電路 110發(fā)送停止條件。STEP4:由I2C總線控制電路110發(fā)送1字節(jié)數(shù)據(jù),在發(fā)送后通過(guò)從 I2C總線控制電路110的順序控制部116傳遞到控制器119的中斷信號(hào) 122,如果RAM121的發(fā)送數(shù)據(jù)數(shù)為1以上,則將連續(xù)的多個(gè)發(fā)送數(shù)據(jù)的 下一個(gè)1字節(jié)的發(fā)送數(shù)據(jù)(不設(shè)置開始條件控制位和停止條件控制位)設(shè) 定到發(fā)送數(shù)據(jù)寄存器114,在RAM121的發(fā)送數(shù)據(jù)數(shù)中減去l。當(dāng)發(fā)送數(shù) 據(jù)數(shù)為0時(shí),將設(shè)置了停止條件控制位的數(shù)據(jù)(不設(shè)置開始條件控制位和 發(fā)送數(shù)據(jù))設(shè)定到發(fā)送數(shù)據(jù)寄存器114,而I2C總線控制電路110發(fā)送停 止條件。STEP5:重復(fù)進(jìn)行STEP4。通過(guò)上述方式,由現(xiàn)有的I2C總線控制電路110實(shí)現(xiàn)了連續(xù)的多個(gè)數(shù)據(jù)的發(fā)送。圖3是由現(xiàn)有的I2C總線控制電路110發(fā)送了連續(xù)的多個(gè)數(shù)據(jù)時(shí)的I2C總線123的波形的例子。此外,如圖1所示,不僅將I2C總線控制電路110與控制器119分別構(gòu)成為不同的設(shè)備并進(jìn)行連接,還有時(shí)將I2C總線控制電路110與控制器119形成在同一設(shè)備內(nèi),作為內(nèi)置有I2C總線控制電路的微控制器1010。 非專利文獻(xiàn)l: 7< ]j 、;/7。7社THEI2C — BUS SPEC IFICATION VERSION2. 1JANUARY 20 00, ,y夕一氺y卜 〈URL:http:〃www. nxp. com/acrobat_download/literature/9398/39340011. pdf〉如上所述,現(xiàn)有的I2C總線控制電路110通過(guò)與控制器119連接進(jìn)行 控制,來(lái)實(shí)現(xiàn)連續(xù)的多個(gè)數(shù)據(jù)的發(fā)送。在該構(gòu)成中,通過(guò)來(lái)自I2C總線控 制電路110的中斷信號(hào)122來(lái)實(shí)現(xiàn)發(fā)送數(shù)據(jù)的設(shè)定定時(shí),連續(xù)的多個(gè)數(shù)據(jù) 的發(fā)送時(shí)間不僅依賴于I2C總線123的時(shí)鐘周期,還包括控制器119的中 斷處理的開銷(overhead)。即,浪費(fèi)了控制器119的中斷處理的開銷與 發(fā)送字節(jié)數(shù)的乘積的時(shí)間。再有,I2C總線的規(guī)范近年來(lái)被擴(kuò)展而能夠進(jìn)行高速通信,并且中斷 處理的開銷的影響增大。另外,使AV機(jī)器等電子機(jī)器高功能化,機(jī)器內(nèi)部的I2C總線的通信 量增大,這些也會(huì)影響到電子機(jī)器的性能。例如,當(dāng)在TV中切換頻道時(shí), 按照切換后的頻道的視頻格式或音頻格式同時(shí)發(fā)送與視頻處理設(shè)備或音 頻處理設(shè)備等對(duì)應(yīng)的數(shù)據(jù),以使在該發(fā)送期間啟用視頻靜噪(video mute) 或音頻靜噪(sound mute)來(lái)不放出視頻或音頻成為慣例,但是如果發(fā)送 時(shí)間長(zhǎng),則視頻靜噪或者音頻靜噪所花費(fèi)的時(shí)間變長(zhǎng),給視聽者帶來(lái)不愉 快的感覺(jué)。發(fā)明內(nèi)容本發(fā)明目的在于,在現(xiàn)有的構(gòu)成中增加連續(xù)發(fā)送功能,通過(guò)在連續(xù)發(fā) 送完成后發(fā)生中斷,從而削減中斷處理次數(shù),來(lái)縮短通信時(shí)間。為了達(dá)到上述目的,本發(fā)明采用了如下構(gòu)成,S卩, 一種I2C總線控制電路,與進(jìn)行控制和觀測(cè)的控制器連接而被使用,所述I2C總線控制電路 具有順序控制部,其每當(dāng)發(fā)送一個(gè)字節(jié)時(shí),產(chǎn)生第一中斷信號(hào);和連續(xù)發(fā)送控制部,其將第二中斷信號(hào)傳遞給所述控制器,其中所述第二中斷信 號(hào)是以來(lái)自所述控制器的指定數(shù)中減去1的次數(shù),使來(lái)自所述順序控制部 的所述第一中斷信號(hào)無(wú)效化,并且在第指定數(shù)次,使來(lái)自所述順序控制部 的所述第一中斷信號(hào)有效化的信號(hào)。(發(fā)明效果)根據(jù)本發(fā)明,在使用了I2C總線控制電路的電子機(jī)器中,只要僅對(duì)增 加了連續(xù)發(fā)送功能的I2C總線控制電路和控制器的程序進(jìn)行修改,能夠低 價(jià)且容易地實(shí)現(xiàn)通信時(shí)間的縮短,能夠提高電子機(jī)器的性能。
圖1是現(xiàn)有的I2C總線控制電路以及與該I2C總線控制電路連接而進(jìn)行監(jiān)視和控制的控制器的構(gòu)成圖。圖2是現(xiàn)有的I2C總線控制電路的發(fā)送數(shù)據(jù)寄存器的構(gòu)成圖。圖3是由現(xiàn)有的I2C總線控制電路進(jìn)行了連續(xù)發(fā)送時(shí)的I2C總線的波形圖。圖4是本發(fā)明相關(guān)的I2C總線控制電路以及與該I2C總線控制電路連接而進(jìn)行監(jiān)視和控制的控制器的構(gòu)成圖。圖5是對(duì)現(xiàn)有技術(shù)和本發(fā)明進(jìn)行對(duì)比表示的I2C總線的波形圖。 圖6是圖4的I2C總線控制電路中的NACK接收檢測(cè)時(shí)的波形圖。 圖7是圖4的I2C總線控制電路中的仲裁丟失(arbitration lost)錯(cuò)誤檢測(cè)時(shí)的波形圖。圖8是表示圖4的I2C總線控制電路中的連續(xù)發(fā)送步驟的例子的圖。 圖9是表示圖4的I2C總線控制電路中的連續(xù)發(fā)送步驟的其他例子的圖。圖10是本發(fā)明相關(guān)的其他I2C總線控制電路以及與該I2C總線控制 電路連接而進(jìn)行監(jiān)視和控制的控制器的構(gòu)成圖。圖11是采用了本發(fā)明相關(guān)的I2C總線控制電路的廣播接收裝置的框圖。圖中110、 410、 910—12C總線控制電路;111、 411、 911、 928、 936 一數(shù)據(jù)線控制部;112、 412、 912、 929、 937 —時(shí)鐘線控制部;113、 413、 913、 930、 938 —發(fā)送控制部;114、 414、 914、 931、 939—發(fā)送數(shù)據(jù)寄存 器;115、 415、 915、 932、 940 —并行/串行變換部;116、 416、 916、 933、 941—順序控制部;117、 417、 917、 934、 942 —調(diào)停部;118、 418、 918、 935、 943—錯(cuò)誤檢測(cè)部;119、 419、 919一控制器;120、 420、 920—ROM; 121、 421、 921—ram; 122—中斷信號(hào);123、 429、 947 949—i2c總線; 422、 922 —連續(xù)發(fā)送控制部;423、 923 —連續(xù)發(fā)送字節(jié)數(shù)寄存器;424、 924—第一連續(xù)發(fā)送數(shù)據(jù)寄存器;425、 925 —第二連續(xù)發(fā)送數(shù)據(jù)寄存器; 426、 926—第(n—1)連續(xù)發(fā)送數(shù)據(jù)寄存器;427、 944 946 —第一中斷 信號(hào)(a) ; 428、 950 952 —第二中斷信號(hào)(b) ; 927 —切換控制寄存 器;1000 —指示輸入部;1001—事件管理部;1002 — I2C發(fā)送控制部;1003 一調(diào)諧器部;1004—視頻信號(hào)處理部;1005 —顯示裝置;1006—音頻信號(hào) 處理部;1007-揚(yáng)聲器;1010、 4010、 9010—內(nèi)置有I2C總線控制電路的 微控制器。
具體實(shí)施方式
以下,參照?qǐng)D4 圖11,對(duì)本發(fā)明相關(guān)的I2C總線控制電路的具體例 及其應(yīng)用例進(jìn)行說(shuō)明。圖4是在現(xiàn)有的構(gòu)成上增加了連續(xù)發(fā)送控制部422的I2C總線控制電 路410的構(gòu)成圖,其中現(xiàn)有的構(gòu)成具備由發(fā)送數(shù)據(jù)寄存器414和并行/ 串行變換部415構(gòu)成的發(fā)送控制部413;由調(diào)停部417和錯(cuò)誤檢測(cè)部418 構(gòu)成的順序控制部416;與i2c總線429的數(shù)據(jù)線(sda)連接的數(shù)據(jù)線 控制部411;以及,與I2C總線429的時(shí)鐘線(SCL)連接的時(shí)鐘線控制 部412。連續(xù)發(fā)送控制部422具有連續(xù)發(fā)送字節(jié)數(shù)寄存器423、第一連續(xù) 發(fā)送數(shù)據(jù)寄存器424、第二連續(xù)發(fā)送數(shù)據(jù)寄存器425至第(n—l)連續(xù)發(fā) 送數(shù)據(jù)寄存器426。與i2c總線控制電路410連接而進(jìn)行監(jiān)視和控制的控 制器419內(nèi)置有ROM420和RAM42 i 。對(duì)通過(guò)圖4的I2C總線控制電路410,進(jìn)行由數(shù)據(jù)"l"、數(shù)據(jù)"2"、…、"n"構(gòu)成的n字節(jié)(n:正整數(shù))的數(shù)據(jù)發(fā)送的情況進(jìn)行說(shuō)明。首先,在連續(xù)發(fā)送控制部422的連續(xù)發(fā)送字節(jié)數(shù)寄存器423中設(shè)定n, 并且在第一連續(xù)發(fā)送數(shù)據(jù)寄存器424、第二連續(xù)發(fā)送數(shù)據(jù)寄存器425至第(n—l)連續(xù)發(fā)送數(shù)據(jù)寄存器426中設(shè)定數(shù)據(jù)"2"到數(shù)據(jù)"n"。其中, 假設(shè)連續(xù)發(fā)送控制部422的連續(xù)發(fā)送數(shù)據(jù)寄存器是(n—l)字節(jié)以上的寄 存器。并且,在發(fā)送控制部413的發(fā)送數(shù)據(jù)寄存器414設(shè)定所發(fā)送的作為第 一個(gè)字節(jié)的數(shù)據(jù)"1",通過(guò)發(fā)送控制部413進(jìn)行發(fā)送。如果接收對(duì)第一 個(gè)數(shù)據(jù)"1"的ACK,則由順序控制部416產(chǎn)生第一中斷信號(hào)(A) 427, 向連續(xù)發(fā)送控制部422傳遞。連續(xù)發(fā)送控制部422將第一連續(xù)發(fā)送數(shù)據(jù)寄 存器424的數(shù)據(jù)"2"設(shè)定到發(fā)送控制部413的發(fā)送數(shù)據(jù)寄存器414,通過(guò) I2C總線控制電路410進(jìn)行下一次數(shù)據(jù)發(fā)送。進(jìn)而,接收數(shù)據(jù)"2"的ACK, 由順序控制部416將第一中斷信號(hào)(A) 427傳遞給連續(xù)發(fā)送控制部422, 在連續(xù)發(fā)送控制部422中將第二連續(xù)發(fā)送數(shù)據(jù)寄存器425的數(shù)據(jù)3保存到 發(fā)送控制部413的發(fā)送數(shù)據(jù)寄存器414,通過(guò)I2C總線控制電路410進(jìn)行 下一次數(shù)據(jù)發(fā)送。同樣地,重復(fù)發(fā)送直到數(shù)據(jù)"n"為止。接收作為發(fā)送設(shè)定數(shù)的第n字節(jié)的數(shù)據(jù)"n"的ACK,通過(guò)順序控制 部416產(chǎn)生第一中斷信號(hào)(A) 427,則連續(xù)發(fā)送控制部422產(chǎn)生第二中斷 信號(hào)(B) 428,向控制器419傳遞n字節(jié)的發(fā)送已完成的旨意(參照?qǐng)D5 的下半部)。因此,沒(méi)有了以往的按每一個(gè)字節(jié),對(duì)控制器產(chǎn)生中斷,并且介入了 軟件處理的處理(參照?qǐng)D5的上半部),從而能夠?qū)崿F(xiàn)總體的處理速度的 提高。進(jìn)行了發(fā)送的數(shù)據(jù)總數(shù)為M (M>n)時(shí),將數(shù)據(jù)"n+2"以后的數(shù)據(jù) 設(shè)定到連續(xù)發(fā)送控制部422的第一連續(xù)發(fā)送數(shù)據(jù)寄存器424至第(n— 1 ) 連續(xù)發(fā)送數(shù)據(jù)寄存器426,將數(shù)據(jù)"n+l"設(shè)定到發(fā)送控制部413的發(fā)送數(shù) 據(jù)寄存器414,進(jìn)行下一個(gè)連續(xù)發(fā)送。上述動(dòng)作重復(fù)進(jìn)行直到發(fā)送數(shù)據(jù)總 數(shù)M為零為止。在連續(xù)數(shù)據(jù)發(fā)送中如果接收到NACK而沒(méi)有接收到ACK、或者發(fā)生 了錯(cuò)誤時(shí),通過(guò)順序控制部416的錯(cuò)誤檢測(cè)部418差生第一中斷信號(hào)(A)427,連續(xù)發(fā)送控制部422因第一中斷信號(hào)(A) 427而中止發(fā)送,并且通 過(guò)向控制器419傳遞的第二中斷信號(hào)(B) 428,將設(shè)置了停止條件控制位 的數(shù)據(jù)(不設(shè)置開始條件控制位和發(fā)送數(shù)據(jù))設(shè)定到發(fā)送數(shù)據(jù)寄存器414, I2C總線控制電路410發(fā)送停止條件(參照?qǐng)D6和圖7)。進(jìn)行重傳時(shí), 從數(shù)據(jù)"l"起進(jìn)行設(shè)定,并進(jìn)行發(fā)送。此外,作為將進(jìn)行連續(xù)發(fā)送的起始數(shù)據(jù)設(shè)定到發(fā)送控制部413的發(fā)送 數(shù)據(jù)寄存器414的一個(gè)例子,也可構(gòu)成為將所有的連續(xù)發(fā)送數(shù)據(jù)設(shè)定到連 續(xù)發(fā)送數(shù)據(jù)寄存器424-426,通過(guò)另外的寄存器等的觸發(fā),開始發(fā)送。此外,在I2C通信中,很多情況下采用對(duì)從地址(slave address)和子 地址(sub address)進(jìn)行指定的方法。將可設(shè)定到上述發(fā)送控制部413的 發(fā)送數(shù)據(jù)寄存器414和連續(xù)發(fā)送控制部422的連續(xù)發(fā)送數(shù)據(jù)寄存器 424 426的最大數(shù)設(shè)為"從地址"+ "子地址"+ "數(shù)據(jù)數(shù)",設(shè)數(shù)據(jù)數(shù)為 2k(k:正整數(shù))。即,設(shè)可設(shè)定到連續(xù)發(fā)送控制部422的連續(xù)發(fā)送字節(jié)數(shù) 寄存器423的最大數(shù),在子地址為1字節(jié)的情況下為2+2k,在子地址為2 字節(jié)的情況下為3+2k。將數(shù)據(jù)數(shù)設(shè)為2k是因?yàn)橥ǔ?shù)據(jù)大小成為16字節(jié) 等2、具體而言,k為4、也就是數(shù)據(jù)數(shù)為16字節(jié)時(shí),如果設(shè)子地址為2字 節(jié),則連續(xù)發(fā)送字節(jié)數(shù)寄存器423的可設(shè)定的最大數(shù)為1+2+16=19字節(jié)。 此時(shí),當(dāng)數(shù)據(jù)數(shù)比16大的情況下,包括地址在內(nèi)第一個(gè)19字節(jié)的發(fā)送完 成的中斷后再發(fā)送剩下的數(shù)據(jù)。當(dāng)僅僅發(fā)送數(shù)據(jù)時(shí)按作為2k的16字節(jié)進(jìn) 行發(fā)送,從而能夠有效地進(jìn)行基于軟件控制的發(fā)送處理(參照?qǐng)D8和圖9)。此外,如圖4所示,不僅將I2C總線控制電路410與控制器419構(gòu)成 為各自不同的設(shè)備并進(jìn)行連接,也可將I2C總線控制電路410與控制器419 形成在同一設(shè)備內(nèi),作為內(nèi)置有I2C總線控制電路的微控制器4010。圖10是具有新持有切換控制寄存器927的單一連續(xù)發(fā)送控制部922、 第一、第二和第三發(fā)送控制部913、 930、 938、第一、第二和第三順序控 制部916、 933、 941的I2C總線控制電路910的構(gòu)成圖。更具體而言,圖10的I2C總線控制電路910具有第一發(fā)送控制部 913,其由發(fā)送數(shù)據(jù)寄存器914和并行/串行變換部915構(gòu)成;第一順序控 制部916,其由調(diào)停部917和錯(cuò)誤檢測(cè)部918構(gòu)成;第一數(shù)據(jù)線控制部911 ,其與第一 I2C總線947的數(shù)據(jù)線(SDA1)連接;第一時(shí)鐘線控制部912, 其與第一I2C總線947的時(shí)鐘線(SCL1)連接;第二發(fā)送控制部930,其 由發(fā)送數(shù)據(jù)寄存器931和并行/串行變換部932構(gòu)成;第二順序控制部933, 其由調(diào)停部934和錯(cuò)誤檢測(cè)部935構(gòu)成;第二數(shù)據(jù)線控制部928,其與第 二I2C總線948的數(shù)據(jù)線(SDA2)連接;第二時(shí)鐘線控制都929,其與第 二I2C總線948的時(shí)鐘線(SCL2)連接;第三發(fā)送控制部938,其由發(fā)送 數(shù)據(jù)寄存器939和并行/串行變換部940構(gòu)成;第三順序控制部941,其由 調(diào)停部942和錯(cuò)誤檢測(cè)部943構(gòu)成;第三數(shù)據(jù)線控制部936,其與第三I2C 總線949的數(shù)據(jù)線(SDA3)連接;第三時(shí)鐘線控制部937,其與第三I2C 總線949的時(shí)鐘線(SCL3)連接。連續(xù)發(fā)送控制部922除了連續(xù)發(fā)送字節(jié) 數(shù)寄存器923、第一連續(xù)發(fā)送數(shù)據(jù)寄存器924、第二連續(xù)發(fā)送數(shù)據(jù)寄存器 925至第(n—l)連續(xù)發(fā)送數(shù)據(jù)寄存器926之外,還具有上述的切換控制 寄存器27。與該I2C總線控制電路910連接而進(jìn)行監(jiān)視和控制的控制器 919內(nèi)置有ROM920和RAM921 。第一中斷信號(hào)(Al) 944是從第一順序控制部916到連續(xù)發(fā)送控制部 922的信號(hào),與此對(duì)應(yīng)的第二中斷信號(hào)(Bl) 950是從連續(xù)發(fā)送控制部922 到控制器919的信號(hào)。另外,第一中斷信號(hào)(A2) 945是從第二順序控制 部933到連續(xù)發(fā)送控制部922的信號(hào),與此對(duì)應(yīng)的第二中斷信號(hào)(B2) 951 是從連續(xù)發(fā)送控制部922到控制器919的信號(hào)。第一中斷信號(hào)(A3) 946 是從第三順序控制部941到連續(xù)發(fā)送控制部922的信號(hào),與此對(duì)應(yīng)的第二 中斷信號(hào)(B3) 952是從連續(xù)發(fā)送控制部922到控制器919的信號(hào)。根據(jù)圖10的構(gòu)成,由連續(xù)發(fā)送控制部922的切換控制寄存器927對(duì) 第一、第二和第三發(fā)送控制部913、 930、 938中的所使用的發(fā)送控制部進(jìn) 行切換,因此,盡管連續(xù)發(fā)送控制部922為一個(gè),也能由第一、第二和第 三I2C總線947、 948、 949進(jìn)行連續(xù)發(fā)送。如果各I2C總線947、 948、 949 具有連續(xù)發(fā)送控制部922,則電路規(guī)模就會(huì)增大,但是可通過(guò)使連續(xù)發(fā)送 控制部922的個(gè)數(shù)成為1,從而抑制電路規(guī)模的擴(kuò)大。作為具體的例子,假設(shè)由第一 I2C總線947進(jìn)行連續(xù)發(fā)送。在第一 I2C 總線947中每當(dāng)發(fā)送一個(gè)字節(jié)時(shí)接收ACK,針對(duì)連續(xù)發(fā)送控制部922產(chǎn) 生第一中斷信號(hào)(Al) 944。在連續(xù)發(fā)送控制部922中由切換控制寄存器927判斷第一發(fā)送控制部913是否正在連續(xù)發(fā)送中。如果判斷為連續(xù)發(fā)送 中,則將下一個(gè)連續(xù)發(fā)送數(shù)據(jù)寄存器924 926的數(shù)據(jù)設(shè)定到第一發(fā)送控制 部913的發(fā)送數(shù)據(jù)寄存器914,進(jìn)行下一次數(shù)據(jù)發(fā)送。此時(shí),當(dāng)通過(guò)第二I2C總線948進(jìn)行發(fā)送時(shí),由控制器919按每一個(gè) 字節(jié)將發(fā)送數(shù)據(jù)設(shè)定到第二發(fā)送控制部930的發(fā)送數(shù)據(jù)寄存器931。當(dāng)通 過(guò)第二 I2C總線948接收到ACK時(shí),由第二順序控制部933產(chǎn)生第一中 斷信號(hào)(A2) 945,在連續(xù)發(fā)送控制部922中由切換控制寄存器927判斷 第二發(fā)送控制部930是否正在連續(xù)發(fā)送中。當(dāng)判斷為不是連續(xù)發(fā)送中時(shí), 針對(duì)控制器919產(chǎn)生第二中斷信號(hào)(B2) 951。在控制器919中將下一個(gè) 發(fā)送數(shù)據(jù)設(shè)定到第二發(fā)送控制部930的發(fā)送數(shù)據(jù)寄存器931。在完成了第一 I2C總線947的發(fā)送處理后,當(dāng)?shù)诙l(fā)送控制部930的 發(fā)送數(shù)據(jù)殘留時(shí),將連續(xù)發(fā)送控制部922的切換控制寄存器927切換到第 二發(fā)送控制部930,將向第二 I2C總線948發(fā)送的數(shù)據(jù)設(shè)定到第二發(fā)送控 制部930的發(fā)送數(shù)據(jù)寄存器931和連續(xù)發(fā)送控制部922的連續(xù)發(fā)送數(shù)據(jù)寄 存器924~926,并且設(shè)定連續(xù)發(fā)送字節(jié)數(shù)寄存器923,從而能夠通過(guò)第二 12C總線948進(jìn)行連續(xù)發(fā)送。以上,說(shuō)明了第一I2C總線947和第二I2C總線948之間的關(guān)系,對(duì) 第三I2C總線949也同樣。此外,如圖10所示,不僅將I2C總線控制電路910與控制器919構(gòu) 成為各自不同的設(shè)備并進(jìn)行連接,也可將I2C總線控制電路910與控制器 919形成在同一設(shè)備內(nèi),作為內(nèi)置有I2C總線控制電路的微控制器9010。最后,對(duì)利用了本發(fā)明相關(guān)的I2C總線控制電路的廣播接收裝置進(jìn)行 說(shuō)明。圖11是表示本發(fā)明的廣播接收裝置的概略的功能框圖。該廣播接收 裝置是地上模擬電視系統(tǒng)中的廣播接收裝置,其具備指示輸入部1000、事 件管理部1001、 I2C發(fā)送控制部1002、地上模擬調(diào)諧器部1003、視頻信 號(hào)處理部1004、音頻信號(hào)處理部1006。視頻信號(hào)處理部1004與顯示裝置 1005連接,而音頻信號(hào)處理部1006與揚(yáng)聲器1007連接。地上模擬調(diào)諧器部1003接收來(lái)自天線的視頻/音頻信號(hào)。視頻信號(hào)處 理部1004對(duì)來(lái)自地上模擬調(diào)諧器部1003的視頻信號(hào)進(jìn)行處理。音頻信號(hào)處理部1006對(duì)來(lái)自地上模擬調(diào)諧器部1003的音頻信號(hào)進(jìn)行處理。指示輸 入部IOOO對(duì)來(lái)自遠(yuǎn)程控制器的發(fā)送代碼進(jìn)行解碼。事件管理部1001對(duì)從 指示輸入部1000輸入的事件進(jìn)行判斷后,向I2C發(fā)送控制部1002發(fā)出指 示。I2C發(fā)送控制部1002具有本發(fā)明相關(guān)的上述的任一個(gè)I2C總線控制電 路,與來(lái)自事件管理部1001的指示對(duì)應(yīng)而經(jīng)由I2C總線向地上模擬調(diào)諧 器部1003、視頻信號(hào)處理部1004和音頻信號(hào)處理部1006中的至少一個(gè)發(fā) 送數(shù)據(jù)。如上所述,可利用本發(fā)明的I2C總線控制電路來(lái)實(shí)現(xiàn)廣播接收裝置。作為指示輸入,舉出基于遠(yuǎn)程控制器的指示輸入,但是不限于遠(yuǎn)程控 制器,還可置換成所有的人機(jī)接口。另外,對(duì)調(diào)諧器而言,作為地上模擬調(diào)諧器部舉例示出了地上模擬電 視系統(tǒng)中的廣播接收裝置,但是通過(guò)將調(diào)諧器置換成數(shù)字電視調(diào)諧器,能 夠?qū)崿F(xiàn)數(shù)字電視系統(tǒng)中的廣播接收裝置。再有,舉例示出了將I2C總線控制電路相關(guān)的本發(fā)明應(yīng)用于廣播接收 裝置,但是本發(fā)明不限于廣播接收裝置,能夠適用于移動(dòng)電話機(jī)或?qū)Ш较?統(tǒng)這樣的內(nèi)部的設(shè)備間經(jīng)由I2C總線進(jìn)行通信的所有的電子機(jī)器中。(工業(yè)實(shí)用性)根據(jù)本發(fā)明的I2C總線控制電路,能夠縮短電子機(jī)器內(nèi)所使用的I2C 總線的通信時(shí)間,能夠提高電子機(jī)器的性能。由于僅僅修改I2C總線控制 電路和控制器的程序,因此能夠以低成本且短時(shí)間內(nèi)應(yīng)用于現(xiàn)有的電子機(jī) 器中。尤其,最近正在普及的數(shù)字電視中,伴隨著對(duì)應(yīng)的視頻格式或音頻格 式的多樣化、高畫質(zhì)化以及高音質(zhì)化,頻道切換時(shí)產(chǎn)生的以I2C總線發(fā)送 的數(shù)據(jù)量增大,頻道切換時(shí)間變長(zhǎng)。本發(fā)明作為用于解決這種問(wèn)題的一種 技術(shù)而有用。
權(quán)利要求
1、一種I2C總線控制電路,與進(jìn)行控制和觀測(cè)的控制器連接而被使用,所述I2C總線控制電路具有順序控制部,其每當(dāng)發(fā)送一個(gè)字節(jié)時(shí),產(chǎn)生第一中斷信號(hào);和連續(xù)發(fā)送控制部,其將第二中斷信號(hào)傳遞給所述控制器,其中所述第二中斷信號(hào)是以來(lái)自所述控制器的指定數(shù)中減去1的次數(shù),使來(lái)自所述順序控制部的所述第一中斷信號(hào)無(wú)效化,并且在第指定數(shù)次,使來(lái)自所述順序控制部的所述第一中斷信號(hào)有效化的信號(hào)。
2、 根據(jù)權(quán)利要求1所述的I2C總線控制電路,其特征在于, 所述連續(xù)發(fā)送控制部中的所述第一中斷信號(hào)的有效化的指定數(shù)的最大值是"2+2的乘方"。
3、 根據(jù)權(quán)利要求1所述的I2C總線控制電路,其特征在于, 所述連續(xù)發(fā)送控制部中的所述第一中斷信號(hào)的有效化的指定數(shù)的最大值是"3+2的乘方"。
4、 根據(jù)權(quán)利要求1所述的I2C總線控制電路,其特征在于, 所述順序控制部具有錯(cuò)誤檢測(cè)部,其檢測(cè)NACK接收和仲裁丟失; 當(dāng)檢測(cè)出NACK接收或者仲裁丟失時(shí),中止發(fā)送。
5、 根據(jù)權(quán)利要求1所述的I2C總線控制電路,其特征在于, 具備多個(gè)所述順序控制部和一個(gè)所述連續(xù)發(fā)送控制部; 所述連續(xù)發(fā)送控制部將第二中斷信號(hào)(Bx)傳遞給所述控制器,其中所述第二中斷信號(hào)(Bx)是以來(lái)自所述控制器的指定數(shù)中減去l的次數(shù), 使被所述控制器指定的所述順序控制部的第一中斷信號(hào)(Ax)無(wú)效化,并 且在第指定數(shù)次,使來(lái)自所述順序控制部的所述第一中斷信號(hào)(Ax)有效 化的信號(hào),其中x是指定的編號(hào),并且每當(dāng)發(fā)送一個(gè)字節(jié)時(shí),將沒(méi)有被所述控制器指定的所述順序控制部的 第一中斷信號(hào)(Ax以外)直接傳遞給所述控制器。
6、 一種廣播接收裝置,在接收到所廣播的電視信號(hào)的基礎(chǔ)上,對(duì)構(gòu)成所接收到的所述電視信號(hào)的視頻信號(hào)和音頻信號(hào)進(jìn)行解調(diào),并輸出視頻 和音頻,所述廣播接收裝置具有電視信號(hào)接收部,其經(jīng)由廣播路徑接收所述電視信號(hào);指示輸入部,其接受操作者的指示;事件管理部,其根據(jù)來(lái)自所述指示輸入部的輸入和當(dāng)前的狀態(tài),引導(dǎo)應(yīng)執(zhí)行的處理;視頻信號(hào)處理部,其對(duì)所述視頻信號(hào)進(jìn)行解調(diào);音頻信號(hào)處理部,其對(duì)所述音頻信號(hào)進(jìn)行解調(diào);和I2C發(fā)送控制部,其具有與所述事件管理部中的控制器連接而被使用的I2C總線控制電路,并且,按照來(lái)自所述事件管理部的指示,向與同一I2C總線連接的所述電視信號(hào)接收部、所述視頻信號(hào)處理部和所述音頻信號(hào)處理部中的至少一個(gè),發(fā)送數(shù)據(jù); 所述I2C總線控制電路具有順序控制部,其每當(dāng)發(fā)送一個(gè)字節(jié)時(shí),產(chǎn)生第一中斷信號(hào);和 連續(xù)發(fā)送控制部,其將第二中斷信號(hào)傳遞給所述控制器,其中所述第 二中斷信號(hào)是以來(lái)自所述控制器的指定數(shù)中減去1的次數(shù),使來(lái)自所述順 序控制部的所述第一中斷信號(hào)無(wú)效化,并且在第指定數(shù)次,使來(lái)自所述順 序控制部的所述第一中斷信號(hào)有效化的信號(hào)。
全文摘要
本發(fā)明所解決的技術(shù)問(wèn)題是現(xiàn)有的I2C總線控制電路通過(guò)中斷信號(hào)來(lái)實(shí)現(xiàn)發(fā)送數(shù)據(jù)的設(shè)定定時(shí),并且連續(xù)的多個(gè)數(shù)據(jù)的發(fā)送時(shí)間不僅依賴于I2C總線的時(shí)鐘,還包括控制器的中斷處理的開銷,因而浪費(fèi)通信時(shí)間。鑒于此,本發(fā)明采用了在具備發(fā)送控制部(413)、順序控制部(416)、數(shù)據(jù)線控制部(411)、時(shí)鐘線控制部(412)的現(xiàn)有的構(gòu)成上增加了連續(xù)發(fā)送控制部(422)的I2C總線控制電路(410)的構(gòu)成。連續(xù)發(fā)送控制部(422)具有連續(xù)發(fā)送字節(jié)數(shù)寄存器(423)、從第一至第(n-1)的連續(xù)發(fā)送數(shù)據(jù)寄存器(424、425、426),完成連續(xù)發(fā)送時(shí)或者檢測(cè)錯(cuò)誤時(shí)向控制器(419)供給中斷信號(hào)。從而削減控制器(419)的中斷處理次數(shù),來(lái)縮短通信時(shí)間。
文檔編號(hào)H04L29/02GK101237441SQ20081000850
公開日2008年8月6日 申請(qǐng)日期2008年1月23日 優(yōu)先權(quán)日2007年1月29日
發(fā)明者小西雅人, 樋口壯志 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社