專利名稱:一種基于串行通訊接口方式的mcu間通訊協(xié)議的制作方法
技術領域:
本發(fā)明涉及一種基于串行通訊接口方式的兩個MCU間的通訊協(xié)議。
背景技術:
在現(xiàn)有的電子設備中,當需要在兩個或多個設備之間或設備中的兩個MCU進行信息傳遞時,一種方式是,使用電平信息進行狀態(tài)信息的交換,不僅占用了寶貴的MCU I/O端口資源,而且可以進行傳遞的信息狀態(tài)有限;在比較復雜的系統(tǒng)中,使用I/O端口的信息傳輸方式會占用很多的MCU查詢時間,實現(xiàn)困難,而且系統(tǒng)的可靠性低;導致功能實現(xiàn)受到極大的限制,而且成本較高;另一種方式是,使用現(xiàn)有的I2C協(xié)議,由于消費電子設備MCU信息處理能力有限,只能傳送單字節(jié)或少數(shù)幾個字節(jié)的信息,而在傳送多字節(jié)信息時,由于MCU軟件系統(tǒng)中的其他中斷處理進程(如紅外遙控、定時器、OSD、出錯處理等)會干擾I2C通訊進程,導致I2C通訊不穩(wěn)定,無法完成多字節(jié)信息的傳送。
發(fā)明內容
為了克服現(xiàn)有兩個MCU進行信息傳遞時,現(xiàn)有技術的不足,本發(fā)明提供一種串行通訊接口的軟件實現(xiàn)方式和通訊命令編碼協(xié)議,用于使用兩個MCU的電子設備或多個電子設備之間進行通訊控制。
為實現(xiàn)上述目的,本發(fā)明采取以下技術方案。
使用串行通訊方式連接兩個MCU,將MCU需要傳送的信息打包后進行傳遞。軟件控制方式是,將軟件需要傳送的信息進行固定編碼,預先定義每個比特/字節(jié)的狀態(tài)以及每種狀態(tài)的含義,由串行通訊接口進行傳送,數(shù)據(jù)包的編碼可在同一根線上同時傳送發(fā)送和接收數(shù)據(jù),也可以將發(fā)送和接收數(shù)據(jù)分開,獨立在兩根數(shù)據(jù)線上單向傳送。
數(shù)據(jù)包的傳送時序有兩種方式(a).固定時序傳送方式在軟件運行的每個主周期將整個數(shù)據(jù)包傳送和接收一次,然后對接收的信息包數(shù)據(jù)進行分析處理,這種方式流程控制比較清楚,只需要一根由主控MCU(110)進行控制傳送請求的接口線,軟件實現(xiàn)方便。
(b).可變時序傳送方式在軟件運行中需要進行數(shù)據(jù)傳送時才進行數(shù)據(jù)的請求和傳送,該種傳送通訊方式?jīng)]有主控MCU和從控MCU的差別,但需要兩個MCU協(xié)調數(shù)據(jù)傳送請求發(fā)生碰撞的情況。
本發(fā)明的有益效果是使電子產品和系統(tǒng)能夠具備比較復雜和完善的功能,并易于操作,可靠性高,成本也較低。
圖1是本發(fā)明兩個MCU之間的串行接口示意圖;圖2是本發(fā)明兩個MCU之間DATA單向傳送的串行接口示意圖;圖3是本發(fā)明數(shù)據(jù)包的固定編碼方式示意圖;圖4是本發(fā)明固定時序數(shù)據(jù)傳送方式示意圖;圖5是本發(fā)明一個實施例數(shù)據(jù)包的固定編碼方式示意圖。
具體實施例方式
下面結合附圖和實施例對本發(fā)明進一步說明。
圖1是本發(fā)明兩個MCU之間的串行接口示意圖。在主控MCU 110和從控MCU 111之間設置串行接口為,主控MCU 110發(fā)送給從控MCU 111的時鐘信號CLOCK的接口,觸發(fā)信號STROBE的接口,以及在主控MCU 110和從控MCU 111之間傳送數(shù)據(jù)信號DATA的接口。
圖2是本發(fā)明兩個MCU之間DATA單向傳送的串行接口示意圖。在主控MCU 110和從控MCU 111之間傳送數(shù)據(jù)信號DATA為兩個單向傳送的接口。
圖3是本發(fā)明數(shù)據(jù)包的固定編碼方式示意圖。預先定義每個比特/字節(jié)的狀態(tài)以及每種狀態(tài)的含義,在以后每個數(shù)據(jù)傳送周期中,數(shù)據(jù)包的編碼固定不變(每個信息位的定義不變)。
圖4是本發(fā)明固定時序數(shù)據(jù)傳送方式示意圖。顯示了數(shù)據(jù)包傳送時,主控MCU 110發(fā)送CLOCK信號、STROBE信號和兩個MCU分別傳送各自的數(shù)據(jù)DATA之間的關系。
圖5是本發(fā)明一個實施例數(shù)據(jù)包的固定編碼方式示意圖。定義這個數(shù)據(jù)包每個比特/字節(jié)的狀態(tài)以及每種狀態(tài)的含義如下第一字節(jié)的0、1比特定義為立體聲方式00為MONO,01為L,10為R,11為STEREO;3比特定義為POWER狀態(tài)0為ON,1為OFF;4比特定義為PLAY狀態(tài)0為STOP,1為RUN;第三字節(jié)為計數(shù)器讀數(shù)值。
在數(shù)據(jù)傳送周期中,數(shù)據(jù)包的編碼固定不變(每個信息位的定義不變)。
下面具體說明傳送這個數(shù)據(jù)包的兩種方式。
(a).固定時序傳送方式如圖4所示,在主循環(huán)的固定時間點到達后,主控MCU 110先將STROBE信號置為有效,然后等待一定的時間(保護間隙),以便從控MCU 111檢測到數(shù)據(jù)傳送開始的信號,并作好接收和發(fā)送數(shù)據(jù)的準備,保護間隙完后,主控MCU 110發(fā)送CLOCK信號(也可在整個主循環(huán)周期一直保持CLOCK信號的傳送),兩個MCU分別傳送各自的數(shù)據(jù)DATA。
(b).可變時序傳送方式該種傳送方式是為了減少數(shù)據(jù)的通訊量,僅在需要傳送的信息狀態(tài)有變化時才進行數(shù)據(jù)的通訊交換,工作方式與固定時序傳送方式類似,但沒有主控MCU和從控MCU的差別,具體如下
如圖4所示,在需要傳送的信息狀態(tài)有變化時,需要發(fā)送MCU先檢測是否正在傳送數(shù)據(jù),若通訊口忙,則等待一定時間間隙后(或下一個主循環(huán)周期)再檢測通訊口狀態(tài),若通訊口空閑,則將STROBE信號置為有效,然后等待一定的時間(保護間隙),以便接收MCU檢測到數(shù)據(jù)傳送開始的信號,并作好接收數(shù)據(jù)的準備,保護間隙完后,由其中一MCU發(fā)送CLOCK信號(也可在整個主循環(huán)周期一直保持CLOCK信號的傳送),需要發(fā)送數(shù)據(jù)的MCU傳送數(shù)據(jù)包,另一MCU接收數(shù)據(jù)DATA。
權利要求
1.一種基于串行接口方式的MCU間通訊協(xié)議,用于兩個MCU之間完成多字節(jié)的信息傳遞,其特征為在主控MCU(110)和從控MCU(111)之間設置串行接口為,主控MCU(110)發(fā)送給從控MCU(111)的時鐘信號CLOCK的接口,觸發(fā)信號STROBE的接口,以及在主控MCU(110)和從控MCU(111)之間傳送數(shù)據(jù)信號DATA的接口;將軟件需要傳送的信息進行固定編碼,預先定義每個比特/字節(jié)的狀態(tài)以及每種狀態(tài)的含義,數(shù)據(jù)包的傳送時序為固定時序傳送方式在軟件運行的每個主周期將整個數(shù)據(jù)包傳送和接收一次,然后對接收的信息包數(shù)據(jù)進行分析處理,由主控MCU(110)發(fā)送傳送請求。
2.根據(jù)權利要求1所述的基于串行接口方式的MCU間通訊協(xié)議,其特征為數(shù)據(jù)包的傳送時序為可變時序傳送方式在軟件運行中需要進行數(shù)據(jù)傳送時才進行數(shù)據(jù)的請求和傳送,該種傳送通訊方式?jīng)]有主控MCU和從控MCU的差別,但需要兩個MCU協(xié)調數(shù)據(jù)傳送請求發(fā)生碰撞的情況。
3.根據(jù)權利要求1所述的基于串行接口方式的MCU間通訊協(xié)議,其特征為數(shù)據(jù)包獨立在兩根數(shù)據(jù)線上單向傳送,即在兩個MCU之間傳送數(shù)據(jù)信號DATA的接口為兩個單向傳送DATA的接口。
全文摘要
本發(fā)明公開一種基于串行接口方式的MCU間通訊協(xié)議,克服使用現(xiàn)有技術在兩個MCU之間的信息傳遞時,無法完成多字節(jié)信息傳送、可靠性低、成本較高的不足,用于兩個MCU之間完成多字節(jié)的信息傳遞,技術方案要點是在主控MCU和從控MCU之間設置串行接口為,主控MCU發(fā)送給從控MCU的時鐘信號CLOCK的接口,觸發(fā)信號STROBE的接口,以及在主控MCU和從控MCU之間傳送數(shù)據(jù)信號DATA的接口;將軟件需要傳送的信息進行固定編碼,預先定義每個比特/字節(jié)的狀態(tài)以及每種狀態(tài)的含義,數(shù)據(jù)包的傳送時序為固定時序傳送方式在軟件運行的每個主周期將整個數(shù)據(jù)包傳送和接收一次。
文檔編號H04L29/06GK1561070SQ20041002189
公開日2005年1月5日 申請日期2004年2月23日 優(yōu)先權日2004年2月23日
發(fā)明者馬鐵橋 申請人:四川長虹電器股份有限公司