本發(fā)明涉及通信技術領域,更具體的說,涉及一種波特率偏差檢測方法、裝置及空調(diào)室內(nèi)機。
背景技術:
波特率是一種單片機或計算機在串口通信時的速率,具體指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd。
當通信設備間采用串口通信時,只有兩個通信設備的波特率保持一致,相互間的通訊才會正常。當由于某些原因(如發(fā)送設備或接收設備中的某一設備的波特率設置錯誤)導致波特率出現(xiàn)偏差時,通信設備間就會出現(xiàn)通訊故障,導致通信設備無法正常工作。例如,當空調(diào)器的室外機與室內(nèi)機進行通訊時,若室外機的波特率和室內(nèi)機的波特率出現(xiàn)偏差,室內(nèi)機和室外機間的通訊就會出現(xiàn)通訊故障,導致室內(nèi)機無法正常工作。通常導致通信設備間無法正常工作的原因很多,在這種情況下,就需要通過示波器等專業(yè)測試設備排查導致通信設備無法正常工作的原因,由于測試設備的測試過程較為復雜,因此整個排查過程費時費力,排查效率低。
綜上,如何提供一種波特率偏差檢測方法,以及時發(fā)現(xiàn)因波特率偏差而導致的通訊故障,是本領域技術人員亟需解決的技術問題。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明公開一種波特率偏差檢測方法、裝置及空調(diào)室內(nèi)機,以實現(xiàn)對波特率偏差的及時檢測,有效減少因波特率偏差而導致的通訊故障,保證通信設備間的正常通訊。
一種波特率偏差檢測方法,應用于第一通信設備,所述第一通信設備和第二通信設備通過串口線連接,所述檢測方法包括:
在所述第一通信設備和所述第二通信設備建立通訊之前,根據(jù)所述第二通信設備發(fā)送的檢測脈沖信號,得到所述第二通信設備的波特率偏差值ΔB1;
根據(jù)所述第一通信設備發(fā)送的所述檢測脈沖信號,得到所述第一通信設備的波特率偏差值ΔB2;
根據(jù)公式(1)計算得到所述第一通信設備和所述第二通信設備的總波特率偏差值Δ總,公式(1)的表達式為:
Δ總=|ΔB2-ΔB1| (1);
判斷所述總波特率偏差值Δ總,是否超過波特率偏差閾值;
若所述總波特率偏差值Δ總超過所述波特率偏差閾值,則判定波特率出現(xiàn)偏差故障。
優(yōu)選的,所述在所述第一通信設備和所述第二通信設備建立通訊之前,根據(jù)所述第二通信設備發(fā)送的檢測脈沖信號,得到所述第二通信設備的波特率偏差值ΔB1包括:
在所述第一通信設備和所述第二通信設備建立通訊之前,采集所述第二通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T1;
根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
根據(jù)公式(3)計算得到所述第二通信設備的波特率偏差值ΔB1,公式(3)的表達式為:
ΔB1=B基準-Baud1 (3);
式中,B基準為基準波特率。
優(yōu)選的,所述根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,包括:
根據(jù)公式(4)對所述最小脈寬值T1進行修正,得到修正后的最小脈寬值T1′,公式(4)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
將公式(2)中的最小脈寬值T1替換成修正后的最小脈寬值T1′,并根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
優(yōu)選的,所述獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T1包括:
采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T1。
優(yōu)選的,在所述根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1之后,還包括:
將所述第二通信設備的波特率Baud1與預存儲波特率進行比較,并將所述第一通信設備的當前波特率修改成所述預存儲波特率中,與所述第二通信設備的波特率Baud1差值最小的波特率。
優(yōu)選的,所述根據(jù)所述第一通信設備發(fā)送的所述檢測脈沖信號,得到所述第一通信設備的波特率偏差值ΔB2包括:
采集所述第一通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T2;
根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
根據(jù)公式(6)計算得到所述第一通信設備的波特率偏差值ΔB2,公式(6)的表達式為:
ΔB2=B基準-Baud2 (6);
式中,B基準為基準波特率。
優(yōu)選的,所述根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,包括:
根據(jù)公式(7)對所述最小脈寬值T2進行修正,得到修正后的最小脈寬值T2′,公式(7)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
將公式(5)中的最小脈寬值T2替換成修正后的最小脈寬值T2′,并根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
優(yōu)選的,所述獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T2包括:
采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T2。
優(yōu)選的,在所述判定波特率出現(xiàn)偏差故障之后,還包括:
輸出波特率偏差故障提示信息。
一種波特率偏差檢測裝置,應用于第一通信設備,所述第一通信設備和第二通信設備通過串口線連接,所述檢測裝置包括:
第一獲取單元,用于在所述第一通信設備和所述第二通信設備建立通訊之前,根據(jù)所述第二通信設備發(fā)送的檢測脈沖信號,得到所述第二通信設備的波特率偏差值ΔB1;
第二獲取單元,用于根據(jù)所述第一通信設備發(fā)送的所述檢測脈沖信號,得到所述第一通信設備的波特率偏差值ΔB2;
計算單元,用于根據(jù)公式(1)計算得到所述第一通信設備和所述第二通信設備的總波特率偏差值Δ總,公式(1)的表達式為:
Δ總=|ΔB2-ΔB1| (1);
判斷單元,用于判斷所述總波特率偏差值Δ總,是否超過波特率偏差閾值;
判定單元,用于在所述判斷單元判斷為是的情況下,判定波特率出現(xiàn)偏差故障。
優(yōu)選的,所述第一獲取單元包括:
第一采集子單元,用于在所述第一通信設備和所述第二通信設備建立通訊之前,采集所述第二通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
第一獲取子單元,用于獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T1;
第一計算子單元,用于根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
第二計算子單元,用于根據(jù)公式(3)計算得到所述第二通信設備的波特率偏差值ΔB1,公式(3)的表達式為:
ΔB1=B基準-Baud1 (3);
式中,B基準為基準波特率。
優(yōu)選的,所述第一計算子單元包括:
第一修正子單元,用于根據(jù)公式(4)對所述最小脈寬值T1進行修正,得到修正后的最小脈寬值T1′,公式(4)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
第一替換子單元,用于將公式(2)中的最小脈寬值T1替換成修正后的最小脈寬值T1′,并根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
優(yōu)選的,所述第一獲取子單元包括:
第二采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
第三采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T1。
優(yōu)選的,還包括:
修改子單元,用于在所述第一計算子單元根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1之后,將所述第二通信設備的波特率Baud1與預存儲波特率進行比較,并將所述第一通信設備的當前波特率修改成所述預存儲波特率中,與所述第二通信設備的波特率Baud1差值最小的波特率。
優(yōu)選的,所述第二獲取單元包括:
第四采集子單元,用于采集所述第一通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
第二獲取子單元,用于獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T2;
第三計算子單元,用于根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
第四計算子單元,用于根據(jù)公式(6)計算得到所述第一通信設備的波特率偏差值ΔB2,公式(6)的表達式為:
ΔB2=B基準-Baud2 (6);
式中,B基準為基準波特率。
優(yōu)選的,所述第三計算子單元,包括:
第二修正子單元,用于根據(jù)公式(7)對所述最小脈寬值T2進行修正,得到修正后的最小脈寬值T2′,公式(7)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
第二替換子單元,用于將公式(5)中的最小脈寬值T2替換成修正后的最小脈寬值T2′,并根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
優(yōu)選的,所述第二獲取子單元包括:
第五采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
第六采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T2。
優(yōu)選的,還包括:
輸出單元,用于在所述判定波特率出現(xiàn)偏差故障之后,輸出波特率偏差故障提示信息。
一種空調(diào)室內(nèi)機,包括上述所述的波特率偏差檢測裝置。
從上述的技術方案可知,本發(fā)明公開了一種波特率偏差檢測方法、裝置及空調(diào)室內(nèi)機,在通過串口線連接的第一通信設備和第二通信設備建立通訊前,第一通信設備首先根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值;其次根據(jù)自身發(fā)送的相同的檢測脈沖信號,得到自身的波特率偏差值;再次根據(jù)兩個波特率偏差值計算得到總波特率偏差值,當確定總波特率偏差值超過波特率偏差閾值時,判定波特率出現(xiàn)偏差故障。由此可知,本發(fā)明通過在通信設備建立通訊前,對波特率偏差進行檢測,實現(xiàn)了對波特率偏差的及時診斷,從而有效減少了因波特率偏差而導致的通訊故障,保證了通信設備間的正常通訊。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)公開的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種波特率偏差檢測方法的流程圖;
圖2為本發(fā)明實施例公開的一種檢測脈沖信號的方波圖;
圖3為本發(fā)明實施例公開的一種在第一通信設備和第二通信設備建立通訊之前,根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值的方法流程圖;
圖4為本發(fā)明實施例公開的一種根據(jù)第一通信設備發(fā)送的檢測脈沖信號,得到第一通信設備的波特率偏差值的方法流程圖;
圖5為本發(fā)明實施例公開的一種波特率偏差檢測裝置的結構示意圖;
圖6為本發(fā)明實施例公開的一種第一獲取單元的結構示意圖;
圖7為本發(fā)明實施例公開的一種第二獲取單元的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種波特率偏差檢測方法、裝置及空調(diào)室內(nèi)機,以實現(xiàn)對波特率偏差的及時檢測,有效減少因波特率偏差而導致的通訊故障,保證通信設備間的正常通訊。
參見圖1,本發(fā)明實施例公開的一種波特率偏差檢測方法的流程圖,該檢測方法應用于第一通信設備,所述第一通信設備和第二通信設備通過串口線連接,檢測方法包括步驟:
步驟S101、在第一通信設備和第二通信設備建立通訊之前,根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值ΔB1;
具體的,本實施例中的檢測脈沖信號指的是一種用于檢測通信設備間波特率偏差的脈沖信號,該脈沖信號是一種離散信號,形狀多種多樣,與普通模擬信號(如正弦波)相比,波形之間在時間軸不連續(xù)(波形與波形之間有明顯的間隔),但具有一定的周期性。最常見的脈沖信號是矩形波(也就是方波),如圖2所示。
需要說明的是,第一通信設備和第二通信設備描述中的“第一”和“第二”用于區(qū)別通信設備,并不用來限定數(shù)量。
以空調(diào)器的室內(nèi)機與室外機間的通訊為例進行說明,其中,室內(nèi)機作為第一通信設備,室外機作為第二通信設備;
當空調(diào)器上電后,在室內(nèi)機和室外機建立通訊前,室外機通過串口向室內(nèi)機發(fā)送一組如圖2所示的0101的檢測脈沖信號,其中,該檢測脈沖信號中的每一個低電平信號的寬度的倒數(shù)即為室外機的波特率;室內(nèi)機通過自身的串口接收端接收室外機發(fā)送的檢測脈沖信號,并根據(jù)該檢測脈沖信號得到自身(即室內(nèi)機)的波特率偏差值。
步驟S102、根據(jù)所述第一通信設備發(fā)送的所述檢測脈沖信號,得到所述第一通信設備的波特率偏差值ΔB2;
具體的,第一通信設備通過自身的串口發(fā)送端向自身的串口接收發(fā)送檢測脈沖信號,該檢測脈沖信號與第二通信設備發(fā)送給第一通信設備的檢測脈沖信號完全相同。第一通信設備通過自身的串口接收端接收自身發(fā)送的檢測脈沖信號,并根據(jù)該檢測脈沖信號,得到自身的波特率偏差值。
舉例說明,室內(nèi)機通過自身的串口發(fā)送端向自身的串口接收端發(fā)送一組如圖2所示的0101的檢測脈沖信號,室內(nèi)機根據(jù)該檢測脈沖信號得到自身的波特率偏差值。
步驟S103、根據(jù)公式(1)計算得到所述第一通信設備和所述第二通信設備的總波特率偏差值Δ總,公式(1)的表達式為:
Δ總=|ΔB2-ΔB1| (1);
步驟S104、判斷所述總波特率偏差值Δ總,是否超過波特率偏差閾值χ,如果是,則執(zhí)行步驟S105;
可以理解的是,第一通信設備和第二通信設備同時偏差且偏差方向相反時,總波特率偏差值最大,當超過第一通信設備的控制芯片規(guī)格書的容差范圍時,第一通信設備和第二通信設備間會出現(xiàn)通訊異常。本實施例中,將第一通信設備控制芯片規(guī)定的容差較小值設定為波特率偏差閾值χ,當Δ總=|ΔB2-ΔB1|≤χ時,第一通信設備和第二通信設備間能夠正常通訊;當Δ總=|ΔB2-ΔB1|>χ時,判定波特率出現(xiàn)偏差故障。
步驟S105、判定波特率出現(xiàn)偏差故障。
其中,當判定波特率沒有出現(xiàn)偏差故障時,建立第一通信設備和第二通信設備之間的通訊。
綜上可知,本發(fā)明公開的波特率偏差檢測方法,在通過串口線連接的第一通信設備和第二通信設備建立通訊前,第一通信設備首先根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值;其次根據(jù)自身發(fā)送的相同的檢測脈沖信號,得到自身的波特率偏差值;再次根據(jù)兩個波特率偏差值計算得到總波特率偏差值,當確定總波特率偏差值超過波特率偏差閾值時,判定波特率出現(xiàn)偏差故障。由此可知,本發(fā)明通過在通信設備建立通訊前,對波特率偏差進行檢測,實現(xiàn)了對波特率偏差的及時診斷,從而有效減少了因波特率偏差而導致的通訊故障,保證了通信設備間的正常通訊。
可以理解的是,為方便檢測人員及時發(fā)現(xiàn)波特率偏差故障,當?shù)谝煌ㄐ旁O備判定波特率出現(xiàn)偏差時,第一通信設備還會輸出波特率偏差故障提示信息。
舉例說明,在室內(nèi)機判定波特率出現(xiàn)偏差故障后,室內(nèi)機可以將波特率偏差故障代碼顯示在顯示板上,以降低檢測人員對空調(diào)器故障的排查難度。
為進一步優(yōu)化上述實施例,在一實施例中,如圖3所示,本發(fā)明公開了一種在第一通信設備和第二通信設備建立通訊之前,根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值的方法流程圖,該方法包括步驟:
步驟S301、在第一通信設備和第二通信設備建立通訊之前,采集第二通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
本領域技術人員可以理解的是,任何形狀的脈沖信號如尖脈沖信號、三角波脈沖信號等,都可以轉換成方波信號,因此,本實施例中的檢測脈沖信號包括的第一電平可以為方波信號的低電平或是高電平。
步驟S302、獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T1;
具體的,采集第一電平在檢測脈沖信號中的當前脈寬值;
采集第一電平在檢測脈沖信號中的當前脈寬值的下一個脈寬值,并選擇當前脈寬值和下一個脈寬值中脈寬值小的替換當前脈寬值,直至獲得第一電平在檢測脈沖信號中的最小脈寬值T1。
舉例說明,設室內(nèi)機對檢測脈沖信號的采樣頻率為fn(fn≥2/T1),第i次采樣得到的低電平的脈寬值為T1(i),i∈[1,n],將脈寬值T1(i)與上一次采樣得到的低電平的脈寬值進行比較,并選擇脈寬值T1(i)和上一次采樣得到脈寬值中較小的脈寬值作為當前脈寬值,即T1=Min(T1,T1(i)),如此連續(xù)N-1次迭代比較,得到低電平的最小脈寬值T1=Min(T1,T1(n))。
步驟S303、根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
步驟S304、根據(jù)公式(3)計算得到所述第二通信設備的波特率偏差值ΔB1,公式(3)的表達式為:
ΔB1=B基準-Baud1 (3);
式中,B基準為基準波特率。
其中,基準波特率的取值可依據(jù)實際需要而定。
舉例說明,室內(nèi)機中的預存儲波特率(即無偏差波特率)一般包括60Bd、120Bd、480Bd和960Bd,當室內(nèi)機計算得到室外機的波特率后,室內(nèi)機可以首先將室外機的波特率與預存儲波特率進行比較,并將預存儲波特率中與室外機的波特率差值最小的波特率作為室內(nèi)機的基準波特率B基準。
可以理解的是,由于某些原因,如通信設備本身的芯片資源限制,第一通信設備對檢測脈沖信號的采樣通常會存在誤差,且最大誤差值為第一通信設備采樣周期的2倍,相應的,第一信號的脈寬值也存在誤差,而第二通信設備的波特率是根據(jù)第一信號的最小脈寬值得到,因此,本發(fā)明為提高對第二通信設備的波特率Baud1,對第一信號的最小脈寬值T1進行了修正。
因此,上述實施例中的步驟S303具體包括:
根據(jù)公式(4)對所述最小脈寬值T1進行修正,得到修正后的最小脈寬值T1′,公式(4)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
將公式(2)中的最小脈寬值T1替換成修正后的最小脈寬值T1′,并根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
需要說明的是,第一通信設備的采樣頻率fn≥2/T1,當采樣頻率較大,如fn≥50HZ時,第一通信設備采集到的檢測脈沖信號的誤差就比較小,在這種情況下,可以對最小脈寬值T1不進行修正,以簡化第一通信設備的算法,節(jié)省第一通信設備的芯片資源。
通常各通訊設備固定有一種波特率,而不同通信設備的波特率不同,為提高各通信設備間的自由搭配,在圖3所示實施例的基礎上,在步驟S303之后,還可以包括步驟:
將第二通信設備的波特率Baud1與預存儲波特率進行比較,并將所述第一通信設備的當前波特率修改成所述預存儲波特率中,與所述第二通信設備的波特率Baud1差值最小的波特率。
舉例說明,一個室外機可以同時對應多個室內(nèi)機,而不同的室外機的波特率有時會存在差別,為提高室內(nèi)機和室外機間的自由搭配,本發(fā)明在室內(nèi)機中的預存儲波特率60Bd、120Bd、480Bd和960Bd,當室內(nèi)機計算得到室外機的波特率后,室內(nèi)機可以首先將室外機的波特率與預存儲波特率進行比較,并將預存儲波特率中與室外機的波特率差值最小波特率的作為室內(nèi)機的當前波特率。
為進一步優(yōu)化上述實施例,在一實施例中,如圖4所示,本發(fā)明公開了一種根據(jù)第一通信設備發(fā)送的檢測脈沖信號,得到第一通信設備的波特率偏差值的方法流程圖,該方法包括步驟:
步驟S401、采集所述第一通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
本領域技術人員可以理解的是,任何形狀的脈沖信號如尖脈沖信號、三角波脈沖信號等,都可以轉換成方波信號,因此,本實施例中的檢測脈沖信號包括的第一電平可以為方波信號的低電平或是高電平。
需要說明的是,本實施例中的第一電平和圖3所示實施例中的第一電平為同一電平,如圖3實施例中的第一電平為低電平,本實施例中的第一電平也為低電平。
步驟S402、獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T2;
具體的,采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T2。
舉例說明,設室內(nèi)機對檢測脈沖信號的采樣頻率為fn(fn≥2/T2),第i次采樣得到的低電平的脈寬值為i∈[1,n],將脈寬值與上一次采樣得到的低電平的脈寬值進行比較,并選擇脈寬值和上一次采樣得到脈寬值中較小的脈寬值作為當前脈寬值,即如此連續(xù)N-1次迭代比較,得到低電平的最小脈寬值
步驟S403、根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
步驟S404、根據(jù)公式(6)計算得到所述第一通信設備的波特率偏差值ΔB2,公式(6)的表達式為:
ΔB2=B基準-Baud2 (6);
式中,B基準為基準波特率。
其中,本實施例中的基準波特率和圖3所示實施例中的基準波特率為同一波特率。
可以理解的是,由于某些原因,如通信設備本身的芯片資源限制,第一通信設備對檢測脈沖信號的采樣通常會存在誤差,且最大誤差值為第一通信設備采樣周期的2倍,相應的,第一信號的脈寬值也存在誤差,而第一通信設備的波特率是根據(jù)第一信號的最小脈寬值得到,因此,本發(fā)明為提高對第一通信設備的波特率Baud2,對第一信號的最小脈寬值T2進行了修正。
因此,上述實施例中的步驟S 403具體包括:
根據(jù)公式(7)對所述最小脈寬值T2進行修正,得到修正后的最小脈寬值T2′,公式(7)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
將公式(5)中的最小脈寬值T2替換成修正后的最小脈寬值T2′,并根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
需要說明的是,第一通信設備的采樣頻率fn≥2/T1,當采樣頻率較大,如fn≥50HZ時,第一通信設備采集到的檢測脈沖信號的誤差就比較小,在這種情況下,可以對最小脈寬值T2不進行修正,以簡化第一通信設備的算法,節(jié)省第一通信設備的芯片資源。
與上述方法實施例相對應,本發(fā)明還公開了一種波特率偏差檢測裝置。
參見圖5,本發(fā)明實施例公開的一種波特率偏差檢測裝置的結構示意圖,該檢測裝置應用于第一通信設備,所述第一通信設備和第二通信設備通過串口線連接,所述檢測裝置包括:
第一獲取單元501,用于在所述第一通信設備和所述第二通信設備建立通訊之前,根據(jù)所述第二通信設備發(fā)送的檢測脈沖信號,得到所述第二通信設備的波特率偏差值ΔB1;
具體的,本實施例中的檢測脈沖信號指的是一種用于檢測通信設備間波特率偏差的脈沖信號,該脈沖信號是一種離散信號,形狀多種多樣,與普通模擬信號(如正弦波)相比,波形之間在時間軸不連續(xù)(波形與波形之間有明顯的間隔),但具有一定的周期性。最常見的脈沖信號是矩形波(也就是方波),如圖2所示。
需要說明的是,第一通信設備和第二通信設備描述中的“第一”和“第二”用于區(qū)別通信設備,并不用來限定數(shù)量。
以空調(diào)器的室內(nèi)機與室外機間的通訊為例進行說明,其中,室內(nèi)機作為第一通信設備,室外機作為第二通信設備;
第二獲取單元502,用于根據(jù)所述第一通信設備發(fā)送的所述檢測脈沖信號,得到所述第一通信設備的波特率偏差值ΔB2;
具體的,第一通信設備通過自身的串口發(fā)送端向自身的串口接收發(fā)送檢測脈沖信號,該檢測脈沖信號與第二通信設備發(fā)送給第一通信設備的檢測脈沖信號完全相同。第一通信設備通過自身的串口接收端接收自身發(fā)送的檢測脈沖信號,并根據(jù)該檢測脈沖信號,得到自身的波特率偏差值。
計算單元503,用于根據(jù)公式(1)計算得到所述第一通信設備和所述第二通信設備的總波特率偏差值Δ總,公式(1)的表達式為:
Δ總=|ΔB2-ΔB1| (1);
判斷單元504,用于判斷所述總波特率偏差值Δ總,是否超過波特率偏差閾值;
判定單元505,用于在判斷單元504判斷為是的情況下,判定波特率出現(xiàn)偏差故障。
可以理解的是,第一通信設備和第二通信設備同時偏差且偏差方向相反時,總波特率偏差值最大,當超過第一通信設備的控制芯片規(guī)格書的容差范圍時,第一通信設備和第二通信設備間會出現(xiàn)通訊異常。本實施例中,將第一通信設備控制芯片規(guī)定的容差較小值設定為波特率偏差閾值χ,當Δ總=|ΔB2-ΔB1|≤χ時,第一通信設備和第二通信設備間能夠正常通訊;當Δ總=|ΔB2-ΔB1|>χ時,判定波特率出現(xiàn)偏差故障。
其中,當判定波特率沒有出現(xiàn)偏差故障時,建立第一通信設備和第二通信設備之間的通訊。
綜上可知,本發(fā)明公開的波特率偏差檢測裝置,在通過串口線連接的第一通信設備和第二通信設備建立通訊前,第一通信設備首先根據(jù)第二通信設備發(fā)送的檢測脈沖信號,得到第二通信設備的波特率偏差值;其次根據(jù)自身發(fā)送的相同的檢測脈沖信號,得到自身的波特率偏差值;再次根據(jù)兩個波特率偏差值計算得到總波特率偏差值,當確定總波特率偏差值超過波特率偏差閾值時,判定波特率出現(xiàn)偏差故障。由此可知,本發(fā)明通過在通信設備建立通訊前,對波特率偏差進行檢測,實現(xiàn)了對波特率偏差的及時診斷,從而有效減少了因波特率偏差而導致的通訊故障,保證了通信設備間的正常通訊。
可以理解的是,為方便檢測人員及時發(fā)現(xiàn)波特率偏差故障,當?shù)谝煌ㄐ旁O備判定波特率出現(xiàn)偏差時,第一通信設備還會輸出波特率偏差故障提示信息。
因此,在上述實施例的基礎上,波特率偏差檢測裝置,還包括:
輸出單元,用于在判定波特率出現(xiàn)偏差故障之后,輸出波特率偏差故障提示信息。
舉例說明,在室內(nèi)機判定波特率出現(xiàn)偏差故障后,室內(nèi)機可以將波特率偏差故障代碼顯示在顯示板上,以降低檢測人員對空調(diào)器故障的排查難度。
為進一步優(yōu)化上述實施例,在一實施例中,如圖6所示,本發(fā)明公開了一種第一獲取單元的結構示意圖,包括:
第一采集子單元601,用于在所述第一通信設備和所述第二通信設備建立通訊之前,采集所述第二通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
本領域技術人員可以理解的是,任何形狀的脈沖信號如尖脈沖信號、三角波脈沖信號等,都可以轉換成方波信號,因此,本實施例中的檢測脈沖信號包括的第一電平可以為方波信號的低電平或是高電平。
第一獲取子單元602,用于獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T1;
具體的,第一獲取子單元602包括:
第二采集子單元,用于采集第一電平在檢測脈沖信號中的當前脈寬值;
第三采集子單元,用于采集第一電平在檢測脈沖信號中的當前脈寬值的下一個脈寬值,并選擇當前脈寬值和下一個脈寬值中脈寬值小的替換當前脈寬值,直至獲得第一電平在檢測脈沖信號中的最小脈寬值T1。
舉例說明,設室內(nèi)機對檢測脈沖信號的采樣頻率為fn(fn≥2/T1),第i次采樣得到的低電平的脈寬值為T1(i),i∈[1,n],將脈寬值T1(i)與上一次采樣得到的低電平的脈寬值進行比較,并選擇脈寬值T1(i)和上一次采樣得到脈寬值中較小的脈寬值作為當前脈寬值,即T1=Min(T1,T1(i)),如此連續(xù)N-1次迭代比較,得到低電平的最小脈寬值T1=Min(T1,T1(n))。
第一計算子單元603,用于根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
第二計算子單元604,用于根據(jù)公式(3)計算得到所述第二通信設備的波特率偏差值ΔB1,公式(3)的表達式為:
ΔB1=B基準-Baud1 (3);
式中,B基準為基準波特率。
其中,基準波特率的取值可依據(jù)實際需要而定。
舉例說明,室內(nèi)機中的預存儲波特率(即無偏差波特率)一般包括60Bd、120Bd、480Bd和960Bd,當室內(nèi)機計算得到室外機的波特率后,室內(nèi)機可以首先將室外機的波特率與預存儲波特率進行比較,并將預存儲波特率中與室外機的波特率差值最小的波特率作為室內(nèi)機的基準波特率B基準。
可以理解的是,由于某些原因,如通信設備本身的芯片資源限制,第一通信設備對檢測脈沖信號的采樣通常會存在誤差,且最大誤差值為第一通信設備采樣周期的2倍,相應的,第一信號的脈寬值也存在誤差,而第二通信設備的波特率是根據(jù)第一信號的最小脈寬值得到,因此,本發(fā)明為提高對第二通信設備的波特率Baud1,對第一信號的最小脈寬值T1進行了修正。
因此,第一計算子單元603具體包括:
第一修正子單元,用于根據(jù)公式(4)對所述最小脈寬值T1進行修正,得到修正后的最小脈寬值T1′,公式(4)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
第一替換子單元,用于將公式(2)中的最小脈寬值T1替換成修正后的最小脈寬值T1′,并根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1,公式(2)的表達式為:
需要說明的是,第一通信設備的采樣頻率fn≥2/T1,當采樣頻率較大,如fn≥50HZ時,第一通信設備采集到的檢測脈沖信號的誤差就比較小,在這種情況下,可以對最小脈寬值T1不進行修正,以簡化第一通信設備的算法,節(jié)省第一通信設備的芯片資源。
通常各通訊設備固定有一種波特率,而不同通信設備的波特率不同,為提高各通信設備間的自由搭配,在圖6所示實施例的基礎上,第一獲取單元501還包括:
修改子單元,用于在第一計算子單元603根據(jù)公式(2)計算得到所述第二通信設備的波特率Baud1之后,將所述第二通信設備的波特率Baud1與預存儲波特率進行比較,并將所述第一通信設備的當前波特率修改成所述預存儲波特率中,與所述第二通信設備的波特率Baud1差值最小的波特率。
舉例說明,一個室外機可以同時對應多個室內(nèi)機,而不同的室外機的波特率有時會存在差別,為提高室內(nèi)機和室外機間的自由搭配,本發(fā)明在室內(nèi)機中的預存儲波特率60Bd、120Bd、480Bd和960Bd,當室內(nèi)機計算得到室外機的波特率后,室內(nèi)機可以首先將室外機的波特率與預存儲波特率進行比較,并將預存儲波特率中與室外機的波特率差值最小波特率的作為室內(nèi)機的當前波特率。
為進一步優(yōu)化上述實施例,在一實施例中,如圖7所示,本發(fā)明實施例公開的一種第二獲取單元的結構示意圖,包括:
第四采集子單元701,用于采集所述第一通信設備發(fā)送的所述檢測脈沖信號,所述檢測脈沖信號包括第一電平;
本領域技術人員可以理解的是,任何形狀的脈沖信號如尖脈沖信號、三角波脈沖信號等,都可以轉換成方波信號,因此,本實施例中的檢測脈沖信號包括的第一電平可以為方波信號的低電平或是高電平。
需要說明的是,本實施例中的第一電平和圖6所示實施例中的第一電平為同一電平,如圖6實施例中的第一電平為低電平,本實施例中的第一電平也為低電平。
第二獲取子單元702,用于獲取所述第一電平在所述檢測脈沖信號中的最小脈寬值T2;
具體的,第二獲取子單元702包括:
第五采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的當前脈寬值;
第六采集子單元,用于采集所述第一電平在所述檢測脈沖信號中的所述當前脈寬值的下一個脈寬值,并選擇所述當前脈寬值和所述下一個脈寬值中脈寬值小的替換所述當前脈寬值,直至獲得所述第一電平在所述檢測脈沖信號中的最小脈寬值T2。
舉例說明,設室內(nèi)機對檢測脈沖信號的采樣頻率為fn(fn≥2/T2),第i次采樣得到的低電平的脈寬值為i∈[1,n],將脈寬值與上一次采樣得到的低電平的脈寬值進行比較,并選擇脈寬值和上一次采樣得到脈寬值中較小的脈寬值作為當前脈寬值,即如此連續(xù)N-1次迭代比較,得到低電平的最小脈寬值
第三計算子單元703,用于根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
第四計算子單元704,用于根據(jù)公式(6)計算得到所述第一通信設備的波特率偏差值ΔB2,公式(6)的表達式為:
ΔB2=B基準-Baud2 (6);
式中,B基準為基準波特率。
其中,本實施例中的基準波特率和圖6所示實施例中的基準波特率為同一波特率。
可以理解的是,由于某些原因,如通信設備本身的芯片資源限制,第一通信設備對檢測脈沖信號的采樣通常會存在誤差,且最大誤差值為第一通信設備采樣周期的2倍,相應的,第一信號的脈寬值也存在誤差,而第一通信設備的波特率是根據(jù)第一信號的最小脈寬值得到,因此,本發(fā)明為提高對第一通信設備的波特率Baud2,對第一信號的最小脈寬值T2進行了修正。
因此,上述實施例中的第三計算子單元703,具體包括:
第二修正子單元,用于根據(jù)公式(7)對所述最小脈寬值T2進行修正,得到修正后的最小脈寬值T2′,公式(7)的表達式為:
式中,fn為所述第一通信設備的采樣頻率;
第二替換子單元,用于將公式(5)中的最小脈寬值T2替換成修正后的最小脈寬值T2′,并根據(jù)公式(5)計算得到所述第一通信設備的波特率Baud2,公式(5)的表達式為:
需要說明的是,第一通信設備的采樣頻率fn≥2/T1,當采樣頻率較大,如fn≥50HZ時,第一通信設備采集到的檢測脈沖信號的誤差就比較小,在這種情況下,可以對最小脈寬值T2不進行修正,以簡化第一通信設備的算法,節(jié)省第一通信設備的芯片資源。
本發(fā)明還公開了一種空調(diào)室內(nèi)機,空調(diào)室內(nèi)機包括上述波特率偏差檢測裝置,空調(diào)室內(nèi)機對波特率偏差的檢測原理請參見方法實施例對應部分,此次不再贅述。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。