專利名稱:一種基于改進i的制作方法
技術領域:
本發(fā)明涉及一種基于改進I2C接口方式的兩個MCU間的通訊協(xié)議。
背景技術:
現(xiàn)有的I2C通訊協(xié)議廣泛使用于消費電子設備中,但該種通訊方式中一般只有主控方為MCU,其他均為被動器件。在現(xiàn)有系統(tǒng)中,當需要在兩個以上設備之間或設備中進行兩個MCU之間的信息傳遞時,一種方式是,使用現(xiàn)有的I2C協(xié)議,由于消費電子設備MCU信息處理能力有限,只能傳送單字節(jié)或少數(shù)幾個字節(jié)的信息,而在傳送多字節(jié)信息時,由于MCU軟件系統(tǒng)中的其他中斷處理進程(如紅外遙控、定時器、OSD、出錯處理等)會干擾I2C通訊進程,導致I2C通訊不穩(wěn)定,無法完成多字節(jié)信息的傳送;另外一種方式是,使用電平信息進行狀態(tài)信息的交換,但這種方式不僅占用了寶貴的MCU I/O端口資源,而且可以進行傳遞的信息狀態(tài)有限,在比較復雜的系統(tǒng)中,使用I/O端口的信息傳輸方式會占用很多的MCU查詢時間,實現(xiàn)困難,而且系統(tǒng)的可靠性低,導致功能實現(xiàn)受到極大的限制,而且成本較高。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術在兩個MCU之間進行信息傳遞時的不足,本發(fā)明提供一種基于改進I2C接口方式的通訊協(xié)議及信息編碼協(xié)議,用于使用兩個MCU的電子設備或多個電子設備之間進行通訊控制。
為實現(xiàn)上述目的,本發(fā)明采取以下技術方案。
改進的I2C接口方式為,在主控MCU 110和從控MCU 111之間的I2C通訊方式基礎上,增加由從控MCU 111發(fā)送給主控MCU 110的STROBE信號。STROBE信號也可以由主控MCU110發(fā)送給從控MCU 111。
信息編碼方式和通訊協(xié)議為將MCU需要傳送的信息進行編碼,數(shù)據(jù)包由三個部分構成(a).地址碼主控MCU 110和從控MCU 111必須定義各自的地址碼;(b).數(shù)據(jù)包類型定義在后面的字節(jié)中傳送數(shù)據(jù)參數(shù)類型;(c).參數(shù)值參數(shù)值字節(jié)長度根據(jù)數(shù)據(jù)包的類型而定(可預先定義),通訊的雙方可以根據(jù)預先定義的數(shù)據(jù)包編碼,由接收到的數(shù)據(jù)包類型碼而得知需要的參數(shù)。
本發(fā)明的有益效果是使兩個MCU之間可以完成多字節(jié)的信息傳遞,設計出來的電子產(chǎn)品和系統(tǒng)能夠具備比較復雜和完善的功能,具有較好的用戶界面和功能、完備的系統(tǒng)整體性并易于操作,可靠性高。
圖1是本發(fā)明改進的I2C接口示意圖;圖2是本發(fā)明數(shù)據(jù)通訊的數(shù)據(jù)包編碼格式示意圖;圖3是本發(fā)明I2C數(shù)據(jù)傳送方式示意圖;圖4是本發(fā)明一個實施例數(shù)據(jù)通訊的數(shù)據(jù)包編碼格式示意圖。
具體實施例方式
下面結合附圖和實施例對本發(fā)明進一步說明。
圖1是本發(fā)明改進的I2C接口示意圖。在主控MCU 110和從控MCU 111之間的I2C接口,即時鐘信號CLOCK、數(shù)據(jù)信號DATA外,還增加了由從控MCU 111發(fā)送給主控MCU 110的STROBE觸發(fā)信號。
圖2是本發(fā)明數(shù)據(jù)通訊的數(shù)據(jù)包編碼格式示意圖。預先定義每個數(shù)據(jù)包的編碼方式,數(shù)據(jù)包由三個部分構成1字節(jié)為I2C地址,2字節(jié)為數(shù)據(jù)包類型,3到n字節(jié)為參數(shù)值。
圖3是本發(fā)明I2C數(shù)據(jù)傳送方式示意圖。由從控MCU 111發(fā)送給主控MCU 110的STROHE信號電平翻轉,表示I2C通訊總線能否進行通訊,以避免接收方MCU未讀取上一個傳送數(shù)據(jù)時,I2C總線進行下一個數(shù)據(jù)的傳送,從而將數(shù)據(jù)接收緩沖器中保存的上一個來讀取傳送數(shù)據(jù)覆蓋。因此,主控MCU根據(jù)檢測到的STROBE信號電平變化情況,進行發(fā)送或讀取信息字節(jié)數(shù)據(jù),保證I2C通訊的多字節(jié)信息傳輸?shù)耐瓿伞?br>
圖4是本發(fā)明一個實施例數(shù)據(jù)通訊的數(shù)據(jù)包編碼格式示意圖。下面具體說明由主控MCU 110向從控MCU 111傳送這個數(shù)據(jù)包的過程。
(a).定義兩個MCU的I2C地址,主控MCU 110地址為87H,從控MCU地址為88H;(b).數(shù)據(jù)包編碼1字節(jié);從控MCU地址為88H;2字節(jié)圖象菜單數(shù)據(jù)包類型編碼為01H;3字節(jié)對比度參數(shù)值;4字節(jié)亮度參數(shù)值;5字節(jié);色度參數(shù)值;6字節(jié)清晰度參數(shù)值。
該數(shù)據(jù)包長度為6個字節(jié),根據(jù)事先定義,從數(shù)據(jù)包類型01H就可以得知該數(shù)據(jù)包傳送的參數(shù)是對比度、亮度、色度、清晰度的數(shù)值;(c).在通訊開始時,主控MCU 110查詢STROBE線電平,若為高,則可以通訊,主控MCU 110傳送第一個字節(jié);從控MCU 111的I2C地址88H;(d).從控MCU 111接收處理完第一個字節(jié)后,將STROBE電平翻轉,主控MCU 110檢測到STROBE電平翻轉后傳送第二個字節(jié)數(shù)據(jù);從控MCU 111接收處理完第二個字節(jié)后,將STROBE電平翻轉,主控MCU 110檢測到STROBE電平翻轉后,可以傳送第三個字節(jié)數(shù)據(jù),依次傳送余下的字節(jié)數(shù)據(jù);(e).結束條件在傳送完一個數(shù)據(jù)包的數(shù)據(jù)后,主控MCU 110發(fā)送I2C STOP條件,從控MCU 111保持STROBE為低電平指定時間周期后(以便進行接收數(shù)據(jù)包的處理),釋放STROBE電平為高,以便可以進行下一個數(shù)據(jù)包的傳送。
對于主控MCU 110讀取從控MCU 111數(shù)據(jù)的情況,如上類似,將發(fā)送操作改為讀取操作。
權利要求
1.一種基于改進I2C接口方式的MCU間通訊協(xié)議,用于主控MCU(110)和從控MCU(111)之間完成多字節(jié)的信息傳遞,其特征為在MCU之間的I2C通訊方式基礎上,增加由從控MCU(111)發(fā)給主控MCU(110)的STROBE信號,主控MCU(110)根據(jù)檢測到的STROBE信號電平變化情況,發(fā)送或讀取信息字節(jié)數(shù)據(jù),保證I2C通訊的多字節(jié)信息傳輸?shù)耐瓿?;信息編碼方式和通訊協(xié)議是將MCU需要傳送的信息進行編碼,數(shù)據(jù)包由三個部分構成(a).地址碼主控MCU(110)和從控MCU(111)必須定義各自的地址碼;(b).數(shù)據(jù)包類型定義在后面的字節(jié)中傳送數(shù)據(jù)參數(shù)類型;(c).參數(shù)值參數(shù)值字節(jié)長度根據(jù)數(shù)據(jù)包的類型而定(可預先定義),通訊的雙方可以根據(jù)預先定義的數(shù)據(jù)包編碼,由接收到的數(shù)據(jù)包類型碼而得知需要的參數(shù)。
2.根據(jù)權利要求1所述的基于改進I2C接口方式的MCU間通訊協(xié)議,其特征為數(shù)據(jù)包由三個部分構成1字節(jié)為I2C地址,2字節(jié)為數(shù)據(jù)包類型,3到n字節(jié)為參數(shù)值。
3.根據(jù)權利要求1所述的基于改進I2C接口方式的MCU間通訊協(xié)議,其特征為增加的STROBE信號由主控MCU(110)發(fā)給從控MCU(111)。
全文摘要
本發(fā)明公開一種基于改進I
文檔編號H04L29/06GK1561069SQ20041002189
公開日2005年1月5日 申請日期2004年2月23日 優(yōu)先權日2004年2月23日
發(fā)明者馬鐵橋 申請人:四川長虹電器股份有限公司