專利名稱:異步串行通信數據接收時的抗干擾糾錯采樣系統(tǒng)和方法
技術領域:
本發(fā)明涉及串行通信技術領域,尤其是涉及一種用于在異步串行通信中接收數據時進行抗干擾糾錯采樣的系統(tǒng)和方法。
背景技術:
在串行通信中,常用“波特率”來描述數據的傳輸速率。所謂波特率,即每秒鐘傳送的二進制位數,其單位為BPS(bits per second)。波特率是衡量串行數據速度快慢的重要指標。有時也用“單比特周期”來表示傳輸速率,它是波特率的倒數。例如波特率為 9600bps指的是每秒傳送9600位,在這9600位中包含有字符位和諸如奇偶校驗位等的其它位。在數據傳輸過程中,所有單比特的傳輸都有著根據波特率來設置的相同的傳輸時間,該傳輸時間被稱為單比特周期。例如,單比特周期具有16個波特率時鐘。為了確保在異步串行通信中進行數據接收時能夠穩(wěn)定地采樣,同時避免不同比特傳輸在邊沿跳變時會產生振鈴或過沖等抖動,傳統(tǒng)上多采用如圖1所示的設計。在圖1所示的系統(tǒng)設計中,輸入信號RX經寄存器同步之后一方面被傳輸給數據接收模塊,另一方面被傳輸給狀態(tài)判定模塊。狀態(tài)判定模塊的作用是檢測異步串口的起始位、 終止位等信息,并在此次輸入的信號RX中提取為進行采樣判定所需的采樣時刻。在狀態(tài)判定模塊提取出進行采樣判定所需的采樣時刻之后,狀態(tài)判定模塊向數據接收模塊發(fā)送采樣使能信號,從而使得數據接收模塊盡可能在輸入信號RX的單比特傳輸周期的中部對信號進行采樣。數據接收模塊將采樣得到的結果輸出,以進行后續(xù)數據處理。數據接收模塊還將輸出結果同時反饋給狀態(tài)判定模塊,以通知狀態(tài)判定模塊提取針對下一輸入信號進行采樣判定所需的采樣時刻。圖2示意性示出了圖1中所示的數據接收模塊的采樣時刻。當檢測到數據接收開始時,數據接收模塊根據狀態(tài)判定模塊提取的采樣時刻被使能在大約靠近單比特周期中部的波特率時鐘沿進行采樣,以便保持采樣穩(wěn)定。同時,這種采樣方式避免了不同比特之間的傳輸跳變的邊沿抖動所帶來的影響。但是,在加入了隨機的脈沖干擾信號之后,隨機脈沖的干擾也可能出現在單比特周期的中部。因此,在這種情況下,可能采樣到錯誤的數據。
發(fā)明內容
本發(fā)明的目的在于克服現有的異步串行通信數據接收模塊在干擾條件下采樣到錯誤數據的不足,從而提供一種較穩(wěn)定的自動糾正干擾的用于在異步串行通信中接收數據的方法和系統(tǒng)。根據本發(fā)明的一方面,提出了一種用于在異步串行通信中接收數據時進行抗干擾糾錯采樣的系統(tǒng)。所述系統(tǒng)包括采樣模塊和控制模塊。當數據接收開始時,輸入信號被傳輸到采樣模塊和控制模塊。控制模塊根據輸入信號確定多個采樣時刻和接收判定時刻。當采樣模塊接收到來自控制模塊的采樣時刻控制信號時,采樣模塊對輸入信號進行采樣。所述系統(tǒng)還包括糾錯輸出模塊,其接收采樣模塊輸出的采樣輸出結果。當糾錯輸出模塊接收到來自控制模塊的接收判定時刻控制信號時,糾錯輸出模塊對來自采樣模塊的采樣輸出結果進行統(tǒng)計并且根據統(tǒng)計結果輸出數據接收結果。優(yōu)選地,當采樣模塊輸出的采樣輸出結果中的高電平個數多于低電平個數時,糾錯輸出模塊的輸出結果為高電平;當采樣模塊輸出的采樣輸出結果中的低電平個數多于高電平個數時,糾錯輸出模塊的輸出結果為低電平。根據輸入信號,控制模塊將采樣時刻確定為單比特周期中的前N-I個波特率時鐘,并將接收判定時刻確定為單比特周期中的第N個波特率時鐘。在本發(fā)明中,N是單比特周期所包含的波特率時鐘個數。通常情況下,N個波特率時鐘為三個或三個以上的波特率時鐘??商鎿Q地,以若干個相鄰的波特率時鐘為一組,可以將單比特周期中的前多組波特率時鐘選擇為采樣時刻。相對應地,接收判定時刻被確定為單比特周期中的在所選擇的采樣時刻之后的某個波特率時鐘。優(yōu)選地,數據接收結果被反饋給控制模塊,使得控制模塊開始針對下一輸入信號確定采樣時刻和接收判定時刻。并且當控制模塊接收到所反饋的數據接收結果時,控制模塊還向糾錯輸出模塊發(fā)送復位控制信號,使得糾錯輸出模塊將統(tǒng)計結果清零。在本發(fā)明中,對輸入信號進行采樣是在整個單比特周期中對波特率時鐘沿進行采樣。優(yōu)選地可通過比較單元和寄存單元來實現根據本發(fā)明的系統(tǒng)中的糾錯輸出模塊。 特別優(yōu)選地,通過比較電路和移位寄存器來實現根據本發(fā)明的系統(tǒng)中的糾錯輸出模塊。在本發(fā)明的一個實施例中,在背景技術中介紹的系統(tǒng)中通過引入濾波采樣模塊來實現根據本發(fā)明的系統(tǒng)。該濾波采樣模塊包括加減運算器電路、優(yōu)選為16位加減運算器電路,并且包括帶使能的同步復位寄存器、優(yōu)選為16位帶使能的同步復位寄存器。所述加減運算器電路的輸入端與所述帶使能的同步復位寄存器的輸出端相連。所述加減運算器電路的輸出端與所述帶使能的同步復位寄存器的輸入端相連。所述加減運算器電路的減數或加數的最低位固定連接信號高電平。所述帶使能的同步復位寄存器的使能端與狀態(tài)判定模塊的濾波采樣判定信號相連接。所述帶使能的同步復位寄存器的復位端與狀態(tài)判定模塊的接收采樣判定信號相連。所述同步復位寄存器的最高位作為最終判定的采樣結果被輸出給數據接收模塊。當所述加減運算器電路的輸入端的加減控制位為高電平時進行減法運算,而當所述加減運算器電路的輸入端的加減控制位為低電平時進行加法運算。優(yōu)選地,在數據接收模塊進行采樣的同一時刻對所述帶使能的同步復位寄存器復
位清零。根據本發(fā)明的另一方面,提供了一種用于在異步串行通信中接收數據時進行抗干擾糾錯采樣的方法。首先,根據輸入信號確定多個采樣時刻和接收判定時刻。在所確定的多個采樣時刻分別對輸入信號進行采樣。在所確定的接收判定時刻對采樣得到的信號結果進行多數表決的比較。根據多數表決的比較結果輸出數據接收結果。在多數表決的比較中,當采樣得到的高電平個數多于低電平個數時,多數表決的比較結果為高電平;當采樣得到的低電平個數多于高電平個數時,多數表決的比較結果為低電平。在根據本發(fā)明的方法中,采樣時刻為單比特周期中的前N-I個波特率時鐘,而接收判定時刻為單比特周期中的第N個波特率時鐘,其中N為單比特周期所包含的波特率時鐘個數??商鎿Q地,以若干個相鄰的波特率時鐘為一組,還可以將單比特周期中的前多組波特率時鐘選擇為采樣時刻。相對應地,接收判定時刻被確定為單比特周期中的在所選擇的采樣時刻之后的某個波特率時鐘。本發(fā)明的系統(tǒng)和方法適用于干擾信號的存在周期不大于正確信號的情況。本發(fā)明具有下列優(yōu)點
1.只要干擾信號的存在周期不大于正確的信號,即可實現正確的采樣,增加了系統(tǒng)的穩(wěn)定性;
2.本發(fā)明只需在原有濾波采樣的異步串行通信接收模塊下進行簡單的修改即可實現濾波糾錯采樣功能。
下面結合附圖對本發(fā)明進一步詳細描述
圖1示出了現有技術中的用于在異步串行通信中接收數據的系統(tǒng); 圖2示出了圖1中的數據接收模塊的采樣時刻; 圖3示出了根據本發(fā)明的用于在異步串行通信中接收數據的系統(tǒng)框圖; 圖4示出了根據本發(fā)明的一個實施例的用于在異步串行通信中接收數據的系統(tǒng); 圖5示出了圖4所示的系統(tǒng)中的濾波采樣模塊和數據接收模塊的采樣時刻;以及圖6示出了圖4所示的系統(tǒng)中的濾波采樣模塊的實例。
具體實施例方式為了保證數據傳輸的正確性并且減少非正常的干擾信號對異步串行通信數據接收模塊造成的影響,在現有的系統(tǒng)中通過引入糾錯輸出模塊來針對可能采樣到錯誤的數據的情況進行糾錯。下面結合圖3詳細說明本發(fā)明提出的用于在異步串行通信中接收數據的系統(tǒng)框圖。在異步串行通信中進行數據接收的過程中,輸入信號同時被發(fā)送給采樣模塊和控制模塊??刂颇K檢測輸入信號的起始位、終止位等信息并基于檢測到的信息確定對輸入信號進行采樣的多個采樣時刻以及對輸入信號進行糾錯輸出的接收判定時刻。在確定了采樣時刻之后,控制模塊向采樣模塊發(fā)送采樣時刻控制信號,使得采樣模塊僅在所確定的采樣時刻對輸入信號進行采樣。采樣模塊將采樣結果輸出給糾錯輸出模塊,以對采樣結果進行統(tǒng)計。在沒有干擾的條件下,整個單比特傳輸周期應該均是低電平或者高電平。而在現實中往往出現干擾,這時有少數波特率周期可能出現相反的電平。因此,在本發(fā)明中采用多數表決的比較方式,使得在采樣干擾電平的個數小于正常電平的個數的情況下仍然能保證接收到正常信號。糾錯輸出模塊在接收到來自控制模塊的接收判定時刻控制信號之后基于多數表決的準則對來自采樣模塊的輸出結果進行統(tǒng)計,并根據統(tǒng)計結果輸出數據接收結果,以進行后續(xù)數據處理。該數據接收結果同時還被反饋給控制模塊,使得控制模塊可開始針對下一輸入信號確定多個采樣時刻和接收判定時刻。在控制模塊接收到數據接收結果的同時,控制模塊還可以向糾錯輸出模塊發(fā)送復位控制信號,使得糾錯輸出模塊將針對此次輸入信號的采樣統(tǒng)計結果清零并準備針對下一輸入信號的采樣結果進行統(tǒng)計。本發(fā)明提出的糾錯輸出模塊可通過比較電路和移位寄存器來實現。優(yōu)選地,采用計數單元和復位單元來實現糾錯輸出模塊的功能。特別優(yōu)選地,加減運算電路能被用來實現對采樣結果進行多數表決的比較。圖4示出了根據本發(fā)明的一個具體實施例的用于在異步串行通信中接收數據的系統(tǒng)。在圖1所示的現有技術中的用于在異步串行通信中接收數據的系統(tǒng)的基礎上,圖4 所示的根據本發(fā)明的系統(tǒng)新增了濾波采樣模塊。在進行數據接收時,RX輸入信號仍經寄存器同步之后一方面被傳輸給進行數據接收的模塊,另一方面被傳輸給狀態(tài)判定模塊。狀態(tài)判定模塊檢測異步串口的起始位、終止位等信息,接著根據檢測到的信息來分別確定濾波采樣模塊和數據接收模塊的采樣時刻。具體而言,當狀態(tài)判定模塊檢測到輸入信號的起始位、終止位等信息之后,狀態(tài)判定模塊分別在前N-I個波特率時鐘輸出濾波采樣判定信號,從而將濾波采樣模塊的采樣判定使能端設置為高電平。而在第N個波特率時鐘時,狀態(tài)判定模塊輸出接收采樣判定信號,從而將數據接收模塊的采樣判定使能端設置為高電平。而在其它條件下,濾波采樣模塊的采樣判定使能端和數據接收模塊的采樣判定使能端均被設置為低電平。在第N個波特率時鐘時,濾波采樣模塊對在前N-I個波特率時鐘沿進行采樣得到的采樣結果進行統(tǒng)計比較。具體而言, 當采樣得到的高電平個數多于低電平個數時,判定此次傳輸的是高電平的信號。當采樣得到的低電平個數多于高電平個數時,判定此次傳輸的是低電平的信號。在本實施例中,選擇單比特周期中的前N — 1個相鄰波特率時鐘作為濾波采樣模塊的采樣時刻,并且選擇單比特周期中的第N個波特率時鐘作為數據接收模塊的采樣時亥IJ,其中N是單比特周期所包含的波特率時鐘個數。通常情況下,N個波特率時鐘為三個或三個以上的波特率時鐘??商鎿Q地,以若干個相鄰的波特率時鐘為一組,還可以將單比特周期劃分為多組波特率時鐘。選擇前數組波特率時鐘作為濾波采樣模塊的采樣時刻。相對應地,可以選擇單比特周期中的在所選擇的濾波采樣模塊的采樣時刻之后的某個波特率時鐘作為數據接收模塊的采樣時刻。圖5進一步說明了圖4中所示的濾波采樣模塊和數據接收模塊的具體采樣時刻。 濾波采樣模塊在整個單比特周期對多個波特率時鐘沿進行采樣,統(tǒng)計并比較采樣得到的低電平0與高電平1的個數。例如單比特周期由N個波特率時鐘組成,假設N為16。如圖5 所示,依據圖4的濾波采樣模塊在前15個波特率時鐘進行采樣。如果統(tǒng)計結果大于7個低電平0,則該次傳輸被判定為低電平0,否則判定為高電平1。在第16個波特率時鐘,依據圖 4的數據接收模塊進行采樣判定,然后輸出判定電平值,同時清除判定結果。通過這種多數表決的方法,只要干擾信號出現的次數少于半數采樣點,就可有效避免非正常干擾信號對電路造成的影響,從而增加了系統(tǒng)的穩(wěn)定性。同時,該系統(tǒng)僅在現有系統(tǒng)中增加了一個濾波采樣模塊。這在提高抗干擾能力的同時還易于實現。參照圖6描述了圖4中所示的濾波采樣模塊的一種具體實現方案。在本實施例中,采用16位加減寄存器計數器和16位帶使能的同步復位寄存器來實現濾波采樣模塊。應理解的是,濾波采樣模塊的具體設置并不限于此。只要所選擇的計數器和復位寄存器能夠滿足單比特周期內的正常采樣計數而不溢出即可。例如16位的加減計數器可計算正負215范圍內的數值,這已可滿足通常情況的要求。因而,圖6中所示的16位加減寄存器計數器和 16位帶使能的同步復位寄存器可適應不同的波特率時鐘。如圖6所示,該16位加減寄存器計數器的輸入端與該16位帶使能的同步復位寄存器的輸出端相連。該16位加減寄存器計數器的減數(加數)的最低位固定連接信號高電平1。該16位加減寄存器計數器的選擇端與輸入信號、即接收采樣信號RX_R相連。該16位帶使能的同步復位寄存器的輸入端與該16位加減寄存器計數器的輸出端相連。該16位帶使能的同步復位寄存器的使能端與狀態(tài)判定模塊的濾波采樣判定信號RX_ SAM相連。該16位帶使能的同步復位寄存器的復位端與狀態(tài)判定模塊的接收采樣判定信號 REV_SAM 相連。假設一個比特周期由N個波特率時鐘組成,在前N-I個波特率時鐘,該16位帶使能的同步復位寄存器的使能信號RX_SAM為高電平。當接收采樣信號RX_R為低電平0時, 該16位加減寄存器計數器加一;當接收采樣信號RX_R為高電平1時,該16位加減寄存器計數器減一。當狀態(tài)判定模塊在第N個波特率時鐘時的接收采樣判定信號REV_SAM為高電平時,數據接收模塊(比如移位寄存器)對該16位加減寄存器計數器的第16位符號位的輸出信號RX_D進行采樣,并且使該16位帶使能的同步復位寄存器同步清零。按照上面的運算,符號位為0通常代表采樣值為0的次數大于采樣值為1的次數,反之亦然。下面通過兩個具體的實例來說明如何通過這種濾波采樣模塊在干擾情況下對采樣結果進行糾錯。實例1
假設異步串行通信的波特率分頻系數N為16,在無干擾條件下正確的輸入電平應為高電平,但在中間時刻外部輸入產生了隨機性脈沖干擾,例如第5-9個波特率時鐘接連出現了 5個周期的低電平。傳統(tǒng)的數據接收系統(tǒng)中的數據接收模塊在第8個波特率時鐘進行采樣只能得到錯誤的低電平信號。然而,通過圖6所示的根據本發(fā)明的加入濾波采樣模塊的數據接收系統(tǒng),濾波采樣模塊中的加減計數器在第5-9個波特率時鐘進行加1運算,而在其它的10個波特率時鐘進行減1運算。在第16個波特率時鐘時,數據接收模塊對濾波采樣模塊中的加減計數器的符號位進行采樣。由于此時濾波采樣模塊中的加減計數器的值為-5 (=0+5-10),所以數據接收模塊的輸出值保持為正確的高電平1。實例2
假設異步串行通信的波特率分頻系數N為32,在無干擾條件下正確的輸入電平為低電平。在第3-9、15-16、30-31個波特率時鐘接連隨機出現了干擾高電平信號。這些信號經過了圖6所示的根據本發(fā)明的濾波采樣模塊中的加減計數器之后產生了 11個減1運算,而在其它的20個波特率采樣周期產生加1運算。在第32個波特率時鐘時,數據接收模塊對濾波采樣模塊中的加減計數器的符號位進行采樣。由于此時計數器的值為+9 ( = 0-7-2-2+20), 所以數據接收模塊的輸出值保持為正確的低電平0。通過上述結合實施例的詳細描述,本發(fā)明的優(yōu)點是明顯的。本發(fā)明克服了傳統(tǒng)的異步串行通信采樣模塊在隨機性脈沖干擾的情況下容易得到錯誤的采樣數據這一不足。并且本發(fā)明提出的系統(tǒng)和方法具有較強的抗干擾能力,而且易于實現。
最后應說明的是以上實施例僅用以說明而非限制本發(fā)明的技術方案,盡管參照上述實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解依然可以對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1.一種用于在異步串行通信中接收數據時進行抗干擾糾錯采樣的系統(tǒng),其包括采樣模塊和控制模塊;當數據接收開始時,輸入信號被傳輸到采樣模塊和控制模塊;其特征在于,控制模塊根據輸入信號確定多個采樣時刻;當采樣模塊接收到來自控制模塊的采樣時刻控制信號時,采樣模塊對輸入信號進行采樣;所述系統(tǒng)還包括糾錯輸出模塊,其接收采樣模塊輸出的采樣輸出結果;控制模塊根據輸入信號確定接收判定時刻;當糾錯輸出模塊接收到來自控制模塊的接收判定時刻控制信號時,糾錯輸出模塊對來自采樣模塊的采樣輸出結果進行多數表決的比較并且根據多數表決的比較結果輸出數據接收結果。
2.根據權利要求1所述的系統(tǒng),其特征在于,當采樣模塊輸出的采樣輸出結果中的高電平個數多于低電平個數時,糾錯輸出模塊的輸出結果為高電平;當采樣模塊輸出的采樣輸出結果中的低電平個數多于高電平個數時,糾錯輸出模塊的輸出結果為低電平。
3.根據權利要求1或2所述的方法,其特征在于,采樣時刻被選擇為單比特周期中的前N-I個波特率時鐘或前多組波特率時鐘,而糾錯時刻被選擇為單比特周期中的第N個波特率時鐘或在采樣時刻之后的波特率時鐘,其中N為單比特周期所包含的波特率時鐘個數。
4.根據權利要求1或2所述的系統(tǒng),其特征在于,數據接收結果被反饋給控制模塊,使得控制模塊開始針對下一輸入信號確定采樣時刻和糾錯時刻;當控制模塊接收到所反饋的數據接收結果時,控制模塊向糾錯輸出模塊發(fā)送復位控制信號,使得糾錯輸出模塊將統(tǒng)計結果清零。
5.根據權利要求1或2所述的方法,其特征在于,對輸入信號進行采樣是對單比特周期中的波特率時鐘沿進行采樣。
6.根據權利要求1或2所述的系統(tǒng),其特征在于,通過比較單元和寄存單元來實現糾錯輸出模塊。
7.一種用于在異步串行通信中接收數據時進行抗干擾糾錯采樣的方法,其特征在于, 所述方法還包括以下步驟根據輸入信號確定多個采樣時刻;在所確定的多個采樣時刻分別對輸入信號進行采樣;根據輸入信號確定接收判定時刻,在所確定的接收判定時刻對采樣得到的信號結果進行多數表決的比較;根據多數表決的比較結果輸出數據接收結果。
8.根據權利要求7所述的方法,其特征在于,當采樣得到的高電平個數多于低電平個數時,多數表決的比較結果為高電平;當采樣得到的低電平個數多于高電平個數時,多數表決的比較結果為低電平。
9.根據權利要求7或8所述的方法,其特征在于,采樣時刻被選擇為單比特周期中的前N-I個波特率時鐘或前多組波特率時鐘,而接收判定時刻被選擇為單比特周期中的第N 個波特率時鐘或在采樣時刻之后的波特率時鐘,其中N為單比特周期所包含的波特率時鐘個數。
10.根據權利要求7或8所述的方法,其特征在于,對輸入信號進行采樣是對單比特周期中的波特率時鐘沿進行采樣。
全文摘要
本發(fā)明涉及用于異步串行通信數據接收時的抗干擾糾錯采樣系統(tǒng)和方法。根據本發(fā)明的系統(tǒng)包括采樣模塊和控制模塊以及糾錯輸出模塊。當數據接收開始時,輸入信號被傳輸到采樣模塊和控制模塊??刂颇K根據輸入信號確定多個采樣時刻和接收判定時刻。采樣模塊在多個采樣時刻分別對輸入信號進行采樣。糾錯輸出模塊接收采樣模塊輸出的采樣輸出結果,并且在接收判定時刻對采樣輸出結果進行多數表決的比較而且根據多數表決的比較結果輸出數據接收結果。本發(fā)明克服了傳統(tǒng)的異步串行通信采樣模塊在隨機性脈沖干擾的情況下容易得到錯誤的采樣數據這一不足,且具有較強的抗干擾能力并易于實現。
文檔編號H04L1/00GK102546084SQ20101060723
公開日2012年7月4日 申請日期2010年12月27日 優(yōu)先權日2010年12月27日
發(fā)明者張智 申請人:北京國睿中數科技股份有限公司