專利名稱:一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法
技術(shù)領域:
本發(fā)明涉及一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法。
背景技術(shù):
傳統(tǒng)的串行數(shù)據(jù)接收,一般為RS232、SPI、I2C等串行數(shù)據(jù)接收,其接收方式也各不相同。
RS232接收方法為規(guī)定傳輸速率,規(guī)定低電平為開始,中間為數(shù)據(jù),高電平為停止。
SPI接收方法為通過時鐘線進行時鐘控制進行傳輸,規(guī)定開始和停止電平。
I2C接收方法為通過時鐘線進行時鐘控制進行傳輸,規(guī)定開始和停止電平。
本方法為一種通訊雙方進行頻率約定、預定數(shù)據(jù)形式的通訊方法,本方法的數(shù)據(jù)由標識序列、開始標識、有效數(shù)據(jù)等數(shù)據(jù)信息組成,有獨特的發(fā)送方法和接收方法,是一種通過對數(shù)據(jù)串進行時鐘同步、設置采樣頻率來進行接收的方法,具有更高的靈活性、可靠性和準確性,同時保密性也相應的提高了。
發(fā)明內(nèi)容
本發(fā)明的目的在于通過對標識序列與開始標識的接收,使得在接收有效數(shù)據(jù)時,采樣點保持在有效數(shù)據(jù)的每一位的中心位置。
一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送方法,其特征在于
當串行數(shù)據(jù)發(fā)送時,發(fā)送方按照事先同接收方約定好的傳輸速率以不歸零方式發(fā)送下列一串數(shù)據(jù)a)首先,發(fā)送一串標識序列;b)其次,在標識序列后,再發(fā)送表示有效數(shù)據(jù)開始的開始標識,所述開始標識為同接收方約定好的一串標識串;c)在開始標識后,發(fā)送方按照約定的傳輸速率發(fā)送有效數(shù)據(jù)。
一種用于串行數(shù)據(jù)的數(shù)據(jù)接收方法,其特征在于當串行數(shù)據(jù)接收時,接收方按照事先同發(fā)送方約定好的傳輸速率接收下列一串數(shù)據(jù)首先,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),開始搜尋在此采樣頻率下的標識序列,當找到符合在此采樣頻率下標識樣本的標識序列后,根據(jù)標識序列與采樣標識之間的特征,確定同步時間,定位采樣的正確位置,表示下列數(shù)據(jù)可能是標識序列,在此之后連續(xù)接收到一定數(shù)量的符合此采樣頻率下標識樣本的正確標識后,表示接收到正確的標識序列;其次,當接收到正確的標識序列后,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),設定完畢后,接收開始標識,將接收到的數(shù)據(jù)與發(fā)送方事先預定的開始標識樣本比較,開始標識前后有1或者2位的冗余數(shù)據(jù)位,以便判斷同步時間錯位,如果接收到的開始標識與開始標識樣本之一相一致,表示接收到正確的開始標識,通過對所接收到的開始標識判別,來進行同步時間的再次校正;最后,當接收到正確的開始標識后,表示已經(jīng)同步采樣時間,確定好采樣點,然后設置接收有效數(shù)據(jù)的采樣頻率,接收真正的有效數(shù)據(jù)。
利用此方法發(fā)送和接收串行數(shù)據(jù),提高了串行數(shù)據(jù)接收的準確度和正確性。
圖1是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)發(fā)送示意圖;圖2是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)發(fā)送流程框圖;圖3是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)接收流程框圖;圖4是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的通過檢測一個相關跳變確定同步時間的方法的示意圖;圖5是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的通過檢測多個相關跳變確定同步時間的方法的示意圖;圖6是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的利用統(tǒng)計算法確定同步時間的方法的示意圖;圖7是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的根據(jù)開始標識確定同步時間的方法的開始標識接收示意圖;圖8是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的根據(jù)檢測電平確定同步時間的方法的開始標識接收示意圖;圖9是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的有效數(shù)據(jù)接收示意圖。
具體實施例方式
本發(fā)明中的串行數(shù)據(jù)包括標識序列,開始標識,有效數(shù)據(jù)。
有效數(shù)據(jù)由二進制數(shù)組成,每8位一個字節(jié),整個數(shù)據(jù)長度可變。
標識序列包含交替的0、1模式且長度固定,用于檢測可能的接收信號,達到穩(wěn)態(tài)頻率校正與接收時鐘的同步。
開始標識包含8比特二進制模式01111011(首先發(fā)送最左端比特),開始標識的第一個比特跟隨標識序列的最后一個比特,開始標識主要用于時鐘同步。
請參閱圖1及圖2。圖1是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)發(fā)送示意圖;圖2是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)發(fā)送流程框圖。
本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)發(fā)送方法是當串行數(shù)據(jù)發(fā)送時,發(fā)送方按照事先同接收方約定好的傳輸速率以不歸零方式發(fā)送下列一串數(shù)據(jù)a)首先,發(fā)送一串標識序列;b)其次,在標識序列后,再發(fā)送表示有效數(shù)據(jù)開始的開始標識,所述開始標識為一個同接收方約定好的一串標識串;c)在開始標識后,發(fā)送方按照約定的傳輸速率發(fā)送有效數(shù)據(jù)。
請參閱圖3。圖3是本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)接收流程框圖。
本發(fā)明一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法的串行數(shù)據(jù)接收方法是當串行數(shù)據(jù)接收時,接收方按照事先同發(fā)送方約定好的傳輸速率接收下列一串數(shù)據(jù)首先,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),開始搜尋在此采樣頻率下的標識序列,當找到符合在此采樣頻率下標識樣本的標識序列后,根據(jù)標識序列與采樣標識之間的特征,確定同步時間,定位采樣的正確位置,表示下列數(shù)據(jù)可能是標識序列,在此之后連續(xù)接收到一定數(shù)量的符合此采樣頻率下標識樣本的正確標識后,表示接收到正確的標識序列。
其次,當接收到正確的標識序列后,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),設定完畢后,接收開始標識,將接收到的數(shù)據(jù)與發(fā)送方事先預定的開始標識樣本比較,開始標識前后有1或者2位的冗余數(shù)據(jù)位,以便判斷同步時間錯位,如果接收到的開始標識與開始標識樣本之一相一致,表示接收到正確的開始標識,通過對所接收到的開始標識判別,來進行同步時間的再次校正。
最后,當接收到正確的開始標識后,表示已經(jīng)同步采樣時間,確定好采樣點,然后設置接收有效數(shù)據(jù)的采樣頻率,接收真正的有效數(shù)據(jù)。
作為串行數(shù)據(jù)的接收方,通過標識序列中數(shù)據(jù)位出現(xiàn)的時間,確定對數(shù)據(jù)采樣的正確時刻,可以按照下列步驟進行首先,設置標識序列樣本在接收串行數(shù)據(jù)的標識序列之前,先將接收方的標識序列樣本設置好,根據(jù)采樣頻率的不同,所設置的標識序列樣本就有所不同。采樣頻率為傳輸速率的n(n=1~16)倍時,由于采樣的開始位置可能出現(xiàn)在1位數(shù)據(jù)的幾個位置上,標識序列樣本的數(shù)量可由下列公式推斷出F(n)=2n。
標識序列樣本是以字節(jié)為單位,當以某一采樣頻率進行采樣時,每采樣八次既得到一個字節(jié)的樣本數(shù)據(jù),當采樣到一定數(shù)量的時候,樣本數(shù)據(jù)變?yōu)檠h(huán)狀態(tài),即得到一定數(shù)量的樣本數(shù)據(jù),根據(jù)不同的采樣頻率,所采樣得到的樣本數(shù)量也不同。
當?shù)玫讲蓸訕颖竞?,定出當在標識序列中心位置采樣所得到的采樣樣本。當對標識序列采樣時,如果沒有得到此中心位置的采樣樣本,通過所得到的采樣樣本與中心位置的采樣樣本的比較,可以得到此時采樣點與中心采樣點的時間間隔,以此來達到時鐘同步。
計算標識序列樣本的具體方法為標識序列為0101..................0101,設定采樣頻率為n,則n表示在每一位上采樣的頻率,每采樣8次以一個字節(jié)作為表示,得到設置樣本。
如果n=1,則在每位上采樣一次,得到的樣本數(shù)據(jù)為55h和AAh,在此采樣頻率下中心采樣樣本為55h和AAh。
如果n=4,則在每位上采樣4次,得到如下結(jié)果以4倍采樣頻率采集標識序列,當采樣點不同會出現(xiàn)8種不同的采樣樣本,即11110000 01111000 00111100 00011110 00001111 10000111 11000011 11100001F0h 78h 3Ch 1Eh 0Fh 87h C3h E1h在此采樣頻率下中心采樣樣本為F0h和0Fh。
其他采樣頻率的樣本數(shù)據(jù)如上面所述方法得到。
因為每次采樣結(jié)果都要組成一個字節(jié)進行存儲,所以會有以上的結(jié)果產(chǎn)生,每一個采樣頻率所采樣的結(jié)果,在一定數(shù)量后會產(chǎn)生循環(huán)的結(jié)果。
其次,應用下列方法中的一種方法來同步時間1.檢測一個跳變以確定同步時間如圖4所示,在接收串行數(shù)據(jù)的標識序列之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,對接收到的串行數(shù)據(jù)的標識序列進行采樣,將得到的標識序列采樣數(shù)據(jù)與事先約定好的標識序列樣本進行比較。
如果為這些樣本中的一個樣本數(shù)據(jù),則表示此時接收到的數(shù)據(jù)為標識序列數(shù)據(jù),得到一個數(shù)據(jù)采樣的基準,并以這個樣本和采樣頻率為基準,計算出此時的時間間隔,此時間隔的計算方法為F(t)=(Nnm-Nct)*1/(采樣頻率*傳輸速率)Nnm-得到的采樣結(jié)果Nct-中心位置的采樣樣本這個時間間隔F(t)為采樣點與接收數(shù)據(jù)位中心采樣點之間的時間間隔,設定在此時間間隔內(nèi)檢測到一個跳變,以此跳變作為時間同步的起始值,在此起始點之后進行采樣,再將采樣結(jié)果與中心位置的采樣樣本進行比較,如果比較結(jié)果有偏差,則利用上邊的計算方法進行校正,如果比較結(jié)果一致,并在規(guī)定時間內(nèi)連續(xù)采樣到一定數(shù)量此樣本的標識序列,則可以判斷時鐘同步完成,此標識序列為正確的標識序列,接收標識序列完成。
2.檢測多個跳變以確定同步時間如圖5所示,在接收串行數(shù)據(jù)的標識序列之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,對接收到的串行數(shù)據(jù)的標識序列進行采樣,將得到的標識序列采樣數(shù)據(jù)與事先約定好的標識序列樣本進行比較。
如果為這些樣本中的一個樣本數(shù)據(jù),則表示此時接收到的數(shù)據(jù)為標識序列數(shù)據(jù),得到一個數(shù)據(jù)采樣的基準,并以這個樣本和采樣頻率為基準,計算出此時的時間間隔,此時間隔的計算方法為F(t)=(Nnm-Nct)*1/(采樣頻率*傳輸速率)Nnm-得到的采樣結(jié)果Nct-中心位置的采樣樣本這個時間間隔F(t)為采樣點與接收數(shù)據(jù)位中心采樣點之間的時間間隔,設定在F(t)*m個時間間隔內(nèi)檢測到m個跳變(m大于等于1),并以最后一個跳變作為時間同步的起始值,在此起始點之后進行采樣,再將采樣結(jié)果與中心位置的采樣樣本進行比較,如果比較結(jié)果有偏差,則利用上邊的計算方法進行校正,如果比較結(jié)果一致,并在規(guī)定時間內(nèi)連續(xù)采樣到一定數(shù)量此樣本的標識序列,則可以判斷時鐘同步完成,此標識序列為正確的標識序列,接收標識序列完成。
3.利用統(tǒng)計算法以確定同步時間如圖6所示,在接收串行數(shù)據(jù)的標識序列之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,對接收到的串行數(shù)據(jù)的標識序列進行采樣,將得到的標識序列采樣數(shù)據(jù)與事先約定好的標識序列樣本進行比較。
如果為這些樣本中的一個樣本數(shù)據(jù),則表示此時接收到的數(shù)據(jù)為標識序列數(shù)據(jù),得到一個數(shù)據(jù)采樣的基準,并以這個樣本和采樣頻率為基準,計算出此時的時間間隔,計算出此時的時間間隔,此時間隔的計算方法為F(t)=(Nnm-Nct)*1/(采樣頻率*傳輸速率)Nnm-得到的采樣結(jié)果Nct-中心位置的采樣樣本這個時間間隔F(t)為采樣點與接收數(shù)據(jù)位中心采樣點之間的時間間隔,設定采樣m個采樣結(jié)果,計算出每個結(jié)果與中心采樣樣本的時間間隔,即F(t1)、F(t2)、......F(tm)。利用統(tǒng)計算法得到一個平均得時間間隔F(tn)F(tn)=(F(t1)+F(t2)+......+F(tm))/m在F(tn)*P個時間間隔內(nèi)檢測到P個跳變(P大于等于1),并以最后一個跳變作為時間同步的起始值,在此起始點之后進行采樣,再將采樣結(jié)果與中心位置的采樣樣本進行比較,如果比較結(jié)果有偏差,則利用上邊的計算方法進行校正,如果比較結(jié)果一致,并在規(guī)定時間內(nèi)連續(xù)采樣到一定數(shù)量此樣本的標識序列,則可以判斷時鐘同步完成,此標識序列為正確的標識序列,接收標識序列完成。
作為串行數(shù)據(jù)的接收方,在接收開始標識時,可以按照下列步驟進行首先,設置開始標識樣本在接收串行數(shù)據(jù)的開始標識之前,先將接收方的開始標識樣本設置好,根據(jù)采樣頻率的不同,所設置的標識序列樣本就有所不同。采樣頻率為傳輸速率的n(n=1~16)倍,則開始標識樣本根據(jù)不同的采樣頻率有不同數(shù)量的采樣標準值。
開始標識樣本是以字節(jié)為單位,當以某一采樣頻率進行采樣時,每采樣八次既得到一個字節(jié)的樣本數(shù)據(jù),樣本數(shù)據(jù)的個數(shù)會同所設置的開始標識的位數(shù)不同而不同,當采樣完畢后,得到一定數(shù)量的樣本數(shù)據(jù)。
在開始標識之前和之后都留有1位或者2位的冗余數(shù)據(jù)位,以此防止采樣點的偏移,當設置開始標識樣本的時候,也將冗余數(shù)據(jù)位計算進去,并得到相關樣本數(shù)據(jù)。
如果在采樣開始標識的時候,得到包括冗余數(shù)據(jù)位的樣本數(shù)據(jù),則表示采樣點存在偏差,即與在采樣有效數(shù)據(jù)時的中心位置存在向前或者向后的偏差,根據(jù)此偏差校準采樣點的中心位置。
設置開始標識樣本的具體方法為同設置標識序列樣本的方法相同設定采樣頻率為n,則n表示在每一位上采樣的頻率,每采樣8次以一個字節(jié)作為表示,得到設置樣本。
其次,應用下列方法中的一種方法來同步時間1.根據(jù)開始標識,確認同步時間。
如圖7所示,在接收完標識序列之后與接收開始標識位之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,再對從接收到的串行數(shù)據(jù)的開始標識進行采樣,將得到的開始標識采樣數(shù)據(jù)與事先設定好的開始標識樣本進行比較,如果采樣數(shù)據(jù)為開始標識,則表示接收完開始標識,采樣點的中心位置正確,下面開始接收有效數(shù)據(jù)。
如果采樣數(shù)據(jù)為冗余數(shù)據(jù)位的開識標識數(shù)據(jù)樣本,則根據(jù)樣本數(shù)據(jù)計算出采樣點距離中心位置的偏差值,并校準采樣點到中心位置處,下面開始接收有效數(shù)據(jù)。
2.檢測電平以確定同步時間。
如圖8所示,在接收完標識序列之后與接收開始標識位之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,再對接收到的串行數(shù)據(jù)開始標識的相關電平值進行檢測,在一定的時間間隔內(nèi)檢測到相關電平,在此電平值之后對開始標識進行采樣,將得到的開始標識采樣數(shù)據(jù)與事先設定好的開始標識樣本進行比較,如果采樣數(shù)據(jù)為開始標識,則表示接收完開始標識,采樣點的中心位置正確,下面開始接收有效數(shù)據(jù)。
如果采樣數(shù)據(jù)為冗余數(shù)據(jù)位的開始標識數(shù)據(jù)樣本,則根據(jù)樣本數(shù)據(jù)計算出采樣點距離中心位置的偏差值,并校準采樣點到中心位置處,下面開始接收有效數(shù)據(jù)。
在接收完標識序列之后與接收開始標識位之前,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,,則表示接收到開始標識,開始標識接收完成。
在接收完開始標識之后,先將接收方的采樣頻率設置成與約定好的傳輸速率的n(n=1~16)倍,對接收到的串行數(shù)據(jù)有效數(shù)據(jù)進行采樣,將采樣得到的數(shù)據(jù)保存到預定的數(shù)據(jù)區(qū),直到接收完全部數(shù)據(jù)為止,整個接收過程完成。圖9以1倍的采樣頻率來采集有效數(shù)據(jù)作為示例。
權(quán)利要求
1.一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送方法,其特征在于當串行數(shù)據(jù)發(fā)送時,發(fā)送方按照事先同接收方約定好的傳輸速率以不歸零方式發(fā)送下列一串數(shù)據(jù)a)首先,發(fā)送一串標識序列;b)其次,在標識序列后,再發(fā)送表示有效數(shù)據(jù)開始的開始標識,所述開始標識為一個同接收方約定好的一串標識串;c)在開始標識后,發(fā)送方按照約定的傳輸速率發(fā)送有效數(shù)據(jù)。
2.一種用于串行數(shù)據(jù)的數(shù)據(jù)接收方法,其特征在于當串行數(shù)據(jù)接收時,接收方按照事先同發(fā)送方約定好的傳輸速率接收下列一串數(shù)據(jù)首先,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),開始搜尋在此采樣頻率下的標識序列,當找到符合在此采樣頻率下標識樣本的標識序列后,根據(jù)標識序列與采樣標識之間的特征,確定同步時間,定位采樣的正確位置,表示下列數(shù)據(jù)可能是標識序列,在此之后連續(xù)接收到一定數(shù)量的符合此采樣頻率下標識樣本的正確標識后,表示接收到正確的標識序列;其次,當接收到正確的標識序列后,進行采樣方法的設置,即設置采樣規(guī)律,采樣頻率等相關參數(shù),設定完畢后,接收開始標識,將接收到的數(shù)據(jù)與發(fā)送方事先預定的開始標識樣本比較,開始標識前后有1或者2位的冗余數(shù)據(jù)位,以便判斷同步時間錯位,如果接收到的開始標識與開始標識樣本之一相一致,表示接收到正確的開始標識,通過對所接收到的開始標識判別,來進行同步時間的再次校正;最后,當接收到正確的開始標識后,表示已經(jīng)同步采樣時間,確定好采樣點,然后設置接收有效數(shù)據(jù)的采樣頻率,接收真正的有效數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種用于串行數(shù)據(jù)的數(shù)據(jù)發(fā)送及數(shù)據(jù)接收方法。本發(fā)明的目的在于通過對標識序列與開始標識的接收,使得在接收有效數(shù)據(jù)時,采樣點保持在有效數(shù)據(jù)的每一位的中心位置。利用此方法發(fā)送和接收串行數(shù)據(jù),提高了串行數(shù)據(jù)接收的準確度和正確性。
文檔編號G06F13/42GK1570900SQ20041003730
公開日2005年1月26日 申請日期2004年4月27日 優(yōu)先權(quán)日2004年4月27日
發(fā)明者孫曉利, 徐潔, 曹京偉, 王陸冰 申請人:北京長信嘉信息技術(shù)有限公司