專利名稱:一種單信號線的單工異步串行通訊編解碼方法
技術領域:
本發明涉及通訊領域,尤其是一種單信號線的單工異步串行通訊編解碼方法。
背景技術:
電子電路的通訊方式可分為并行通訊和串行通訊,并行通訊的優點是通訊速度快,但缺點是信號線較多;串行通訊的優點是信號線少,容易實現遠距離傳輸。一般在中低端電子產品中,通訊接口只需要單向數據傳輸,對數據傳輸速度要求不高,但需要接口盡可能簡單,所以需要協議簡單、容易實現、占用信號線較少的串行通訊編解碼方法。目前I2C、SPI、RS_232等串行通信因為引腳少等優勢獲得廣泛應用。I2C、RS-232通訊編碼比較復雜,實現成本較高;SPI總線由三條信號線組成,包括串行時鐘(SCLK)、串 行數據輸出(SDO)、串行數據輸入(SDI),IIC總線需要兩線(SCUSDA)組成。
發明內容
為了克服已有通訊方法的編解碼成本較高、實現成本較高等缺陷,本發明提供一種編解碼成本低、容易實現,只需要一根信號線就可以完成單信號線單工異步串行通訊的編解碼方法。本發明解決其技術問題所采用的技術方案是—種單信號線的單工異步串行通訊編解碼方法,所述方法采用基于單根信號線完成單工異步串行通訊編解碼,具體如下①定義時間T0和時間T1, T0大于I. 015625 X T1 ;②邏輯O由小于時間I. 0078125XTtl且大于時間Ttl的連續高電平指示,邏輯I由小于時間T1且大于時間O. 9921875XT1的連續高電平指示;③信號由高電平到低電平的下降沿指示一位數據編碼結束;④定義信號線的缺省狀態為低電平,指示信號線處在閑置狀態;解碼模塊解碼時計數連續高電平,信號線上當前連續高電平計數值Counk-乘I. 015625的值小于前一位連續高電平計數值Countp,ev,則確定當前連續高電平計數值Countcurr為邏輯I對應的連續高電平計數值Count1,前一位連續高電平計數值Countpra為邏輯O對應的連續高電平計數值Countci ;或當前連續高電平計數值Countam大于前一位連續高電平計數值Countprev乘I. 015625的值,則確定前一位連續高電平計數值Countprev為邏輯I對應的連續高電平計數值Count1,當前連續高電平計數值Counteim為邏輯O對應的連續高電平計數值Countci ;否則繼續比較以確定邏輯O對應的連續高電平計數值Countci和邏輯I對應的連續高電平計數值County。進一步,解碼時,信號線上的連續高電平計數值Count大于Count1乘I. 015625,則確定對應編碼為邏輯0,否則為邏輯I ;或信號線上的連續高電平計數值Count乘I. 015625小于Countci則確定對應編碼為邏輯1,否則為邏輯O。
本發明的有益效果主要表現在①編碼可通過程序控制實現,編碼模塊電路簡單;
②解碼只需要計數、移位、加減、比較運算,解碼模塊簡單。
具體實施例方式下面對本發明作進一步描述。一種單信號線的單工異步串行通訊編解碼方法,基于單根信號線完成單工異步串行通訊編解碼,,具體如下①定義時間T0和時間T1, T0大于I. 015625 X T1 ;②邏輯O由小于時間1.0078125XT。且大于時間Ttl的連續高電平指示,邏輯I由小于時間T1且大于時間O. 9921875XT1時間的連續高電平指示;
③信號由高電平到低電平的下降沿指示一位數據編碼結束;④定義信號線的缺省狀態為低電平,指示信號線處在閑置狀態;解碼模塊解碼時計數連續高電平,信號線上當前連續高電平計數值Counk-乘1.015625的值小于前一位連續高電平計數值Countlffev,則確定當前連續高電平計數值Countcurr為邏輯I對應的連續高電平計數值Count1,前一位連續高電平計數值Countpra為邏輯O對應的連續高電平計數值Countci ;或當前連續高電平計數值Countam大于前一位連續高電平計數值Countprev乘I. 015625的值,則確定前一位連續高電平計數值Countprev為邏輯I對應的連續高電平計數值Count1,當前連續高電平計數值Counteim為邏輯O對應的連續高電平計數值Countci ;否則繼續比較以確定邏輯O對應的連續高電平計數值Countci和邏輯I對應的連續高電平計數值County。解碼模塊解碼時,信號線上的連續高電平計數值Count大于Count1乘I. 015625,則確定對應編碼為邏輯0,否則為邏輯I ;或信號線上的連續高電平計數值Count乘
I.015625小于Countci則確定對應編碼為邏輯1,否則為邏輯O。
權利要求
1.一種單信號線的單工異步串行通訊編解碼方法,其特征在于所述方法可基于單根信號線完成單 工異步串行通訊編解碼,具體如下 ①定義時間Ttl和時間T1,Tq大于I. 015625 X T1 ; ②邏輯O由小于時間1.0078125XT。且大于時間Ttl的連續高電平指示,邏輯I由小于時間T1且大于時間O. 9921875XT1的連續高電平指示; ③信號由高電平到低電平的下降沿指示一位數據編碼結束; ④定義信號線的缺省狀態為低電平,指示信號線處在閑置狀態; 解碼模塊解碼時計數連續高電平,信號線上當前連續高電平計數值Counk-乘1.015625的值小于前一位連續高電平計數值Countlffev,則確定當前連續高電平計數值Countcurr為邏輯I對應的連續高電平計數值Count1,前一位連續高電平計數值Countpra為邏輯O對應的連續高電平計數值Countci ;或當前連續高電平計數值Countam大于前一位連續高電平計數值Countprev乘I. 015625的值,則確定前一位連續高電平計數值Countprev為邏輯I對應的連續高電平計數值Count1,當前連續高電平計數值Counteim為邏輯O對應的連續高電平計數值Countci ;否則繼續比較以確定邏輯O對應的連續高電平計數值Countci和邏輯I對應的連續高電平計數值County。
2.如權利要求I所述的單信號線的單工異步串行通訊編解碼方法,其特征在于解碼時,信號線上的連續高電平計數值Count大于Count1乘I. 015625,則確定對應編碼為邏輯·0,否則為邏輯I ;或信號線上的連續高電平計數值Count乘I. 015625小于Countci則確定對應編碼為邏輯1,否則為邏輯O。
全文摘要
一種單信號線的單工異步串行通訊編解碼方法,解碼模塊解碼時計數連續高電平,信號線上當前連續高電平計數值乘1.015625的值小于前一位連續高電平計數值,則確定當前連續高電平計數值為邏輯1對應的連續高電平計數值,前一位連續高電平計數值為邏輯0對應的連續高電平計數值;或當前連續高電平計數值大于前一位連續高電平計數值乘1.015625的值,則確定前一位連續高電平計數值為邏輯1對應的連續高電平計數值,當前連續高電平計數值為邏輯0對應的連續高電平計數值;否則繼續比較以確定邏輯0對應的連續高電平計數值和邏輯1對應的連續高電平計數值。本發明編解碼成本低、容易實現。
文檔編號G06F13/38GK102799552SQ201210227709
公開日2012年11月28日 申請日期2012年6月29日 優先權日2012年6月29日
發明者羅小華 申請人:羅小華