一種基于串口通訊的一對多通訊系統(tǒng)和實現(xiàn)方法
【專利摘要】本發(fā)明提供了一種基于串口通訊的一對多通訊系統(tǒng)和實現(xiàn)方法。主控設(shè)備向要發(fā)送給數(shù)據(jù)的從設(shè)備發(fā)送通訊請求命令;該從設(shè)備接收到所述數(shù)據(jù)發(fā)送請求命令后對主控設(shè)備返回通訊響應(yīng);主控設(shè)備接收到該從設(shè)備的通訊響應(yīng)后向該從設(shè)備發(fā)送所要發(fā)送的數(shù)據(jù)。解決了傳統(tǒng)串口單純的一對一通訊模式,支持一對多的通訊模式,解決因主設(shè)備的端口少而不依賴硬件切換的情況下與多個從設(shè)備進行通訊的問題。在資源上減少了通訊端口、節(jié)約端口資源,并在邏輯上實現(xiàn)一對一的端到端的通訊端口。
【專利說明】-種基于串口通訊的一對多通訊系統(tǒng)和實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于串口通訊的一對多通訊系統(tǒng)和實現(xiàn)方法,特別是涉及一種適 用于跨板通訊中基于串口通訊的一對多通訊系統(tǒng)和實現(xiàn)方法。
【背景技術(shù)】
[0002] 在跨板通訊中,串行接口因其連接線少,抗干擾能力強,是最常用且最早的跨板通 訊接口,當(dāng)然串行接口同樣因其標(biāo)準(zhǔn)較早和連接線少而傳輸速率偏低。當(dāng)前的串行接口有 多種,較為常用的是RS232串行接口;使用RS232串行接口(后簡稱串口)通常只能進行一 對一的通訊,即一發(fā)一收的軟件同步處理,完成通訊處理后遠端再進行發(fā)和本端收的同步 處理。
[0003] 在工程應(yīng)用的機框式設(shè)備通常是一個主控板加上若干業(yè)務(wù)線卡,主控對線卡進行 管理和配置通過串行接口完成,這是典型的一對多的串行接口模式;機框設(shè)備背板的線路 密度通常都比較大,連接線減少對硬件設(shè)計與布線和信號完整性都有重要意義。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明要解決的技術(shù)問題是提供一種在中心設(shè)備傳輸速率不變的情況下實現(xiàn)串 口 一對多通訊的系統(tǒng)和實現(xiàn)方法。
[0005] 為了解決一個主設(shè)備對多個從設(shè)備的通訊(即是基于一對多平臺的通訊模式),在 串行接口上增加一層通訊處理協(xié)議層,在此通訊處理層有主/從設(shè)備的處理例程,該通信 處理協(xié)議在中心設(shè)備傳輸速率不變的情況下實現(xiàn)串口的一對多通訊。
[0006] 本發(fā)明采用的技術(shù)方案如下:一種基于串口通訊的一對多通訊系統(tǒng),其特征在于: 包括主控設(shè)備和從設(shè)備;所述主控設(shè)備包括 通訊線路調(diào)度模塊,指定某一從設(shè)備專用通訊線路資源與主設(shè)備進行通訊; 主控數(shù)據(jù)發(fā)送模塊,向從設(shè)備發(fā)送數(shù)據(jù); 所述從設(shè)備包括通訊響應(yīng)模塊,向主控設(shè)備返回通訊響應(yīng)。
[0007] 作為優(yōu)選,所述主控設(shè)備還包括從設(shè)備狀態(tài)輪詢模塊,對所有從設(shè)備在線狀態(tài)進 行周期查詢;所述從設(shè)備還包括輪詢應(yīng)答模塊,收到主控設(shè)備的輪詢信號后,向主控設(shè)備發(fā) 送輪詢響應(yīng)。
[0008] 作為優(yōu)選,所述從設(shè)備還包括數(shù)據(jù)上報模塊,向主控設(shè)備發(fā)出數(shù)據(jù)上報請求;所述 主控設(shè)備還包括從設(shè)備數(shù)據(jù)上報處理模塊,對從設(shè)備需要數(shù)據(jù)上報的請求進行處理。
[0009] 作為優(yōu)選,所述主控設(shè)備還包括沖突檢測恢復(fù)模塊,數(shù)據(jù)傳送發(fā)生沖突時,進行同 步恢復(fù)處理。
[0010] -種基于串口通訊的一對多通訊實現(xiàn)方法,具體方法為: 步驟一、主控設(shè)備向要發(fā)送給數(shù)據(jù)的從設(shè)備發(fā)送通訊請求命令; 步驟二、該從設(shè)備接收到所述數(shù)據(jù)發(fā)送請求命令后對主控設(shè)備返回通訊響應(yīng); 步驟三、主控設(shè)備接收到該從設(shè)備的通訊響應(yīng)后向該從設(shè)備發(fā)送所要發(fā)送的數(shù)據(jù)。
[0011] 作為優(yōu)選,所述步驟還包括:未收到通訊請求命令的從設(shè)備處于幀聽狀態(tài)。
[0012] 作為優(yōu)選,所述方法還包括:主控設(shè)備對從設(shè)備在線狀態(tài)進行周期輪詢,具體方法 為:每隔一定時間,主控設(shè)備依次向所有從設(shè)備端口發(fā)送狀態(tài)查詢命令,在線的從設(shè)備收到 狀態(tài)查詢命令對該命令進行響應(yīng)。
[0013] 作為優(yōu)選,所述方法還包括:在線從設(shè)備如果需要向主控設(shè)備主動發(fā)送數(shù)據(jù),則在 從設(shè)備收到狀態(tài)查詢命令后,在狀態(tài)查詢命令進行響應(yīng)的同時向主控設(shè)備發(fā)送數(shù)據(jù)發(fā)送請 求。
[0014] 作為優(yōu)選,所述方法還包括:對主控制設(shè)備或從設(shè)備進行同步處理。
[0015] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明解決了傳統(tǒng)串口單純的一對一通 訊模式,支持一對多的通訊模式,解決因主設(shè)備的端口少而不依賴硬件切換的情況下與多 個從設(shè)備進行通訊的問題。在資源上減少了通訊端口、節(jié)約端口資源,并在邏輯上實現(xiàn)一對 一的端到端的通訊端口。
【專利附圖】
【附圖說明】
[0016] 圖1為本發(fā)明其中一實施例的串口連接示意圖。
[0017] 圖2為發(fā)明其中一實施例的通訊站結(jié)構(gòu)示意圖。
[0018] 圖3為本發(fā)明其中一實施例的主控設(shè)備同步處理流程圖。
[0019] 圖4為本發(fā)明其中一實施例的從設(shè)備同步處理流程圖。
【具體實施方式】
[0020] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。
[0021] 本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘 述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征 只是一系列等效或類似特征中的一個例子而已。
[0022] 如圖1所示,在本具體實施例中,一對多串行通訊的"一"用主控設(shè)備(即master) 表示,"多"用從設(shè)備(即slave)表示;master的TX (發(fā)送數(shù)據(jù)線)接所有slave的RX(接 收數(shù)據(jù)線),所有的slave的TX(發(fā)送數(shù)據(jù)線)接master的RX(接收數(shù)據(jù)線),所有的master 的slave端口做共地連接。
[0023] 一種基于串口通訊的一對多通訊系統(tǒng),包括主控設(shè)備和從設(shè)備。所述主控設(shè)備包 括:通訊線路調(diào)度模塊,指定某一從設(shè)備專用通訊線路資源與主控設(shè)備進行通訊;主控數(shù) 據(jù)發(fā)送模塊,向從設(shè)備發(fā)送數(shù)。主控設(shè)備也可稱為主控端(也即master),為一對多種的"一" 調(diào)度與通訊端;完成整個通訊線路的調(diào)度和主控數(shù)據(jù)的發(fā)送。通訊線路調(diào)度是指定哪些 從設(shè)備占用通訊線路資源與主設(shè)備進行通訊的處理模式,通訊線路的調(diào)度由主設(shè)備主導(dǎo)進 行。
[0024] 所述從設(shè)備包括通訊響應(yīng)模塊,向主控設(shè)備返回通訊響應(yīng)。從設(shè)備也可稱為被動 服務(wù)端(也即slave),為一對多種的"多"通訊端,采用被動通訊模式,完成通訊響應(yīng)和來對 自主動設(shè)備的數(shù)據(jù)接收。
[0025] 在本具體實施中,所述主控設(shè)備還包括從設(shè)備狀態(tài)輪詢模塊,對所有從設(shè)備在線 狀態(tài)進行周期查詢,獲得所有從設(shè)備的上線和下線狀態(tài);所述從設(shè)備還包括輪詢應(yīng)答模塊, 收到主控設(shè)備的輪詢信號后,向主控設(shè)備發(fā)送輪詢響應(yīng),完成輪詢應(yīng)答。
[0026] 在本具體實施例中,所述從設(shè)備還包括數(shù)據(jù)上報模塊,向主控設(shè)備發(fā)出數(shù)據(jù)上報 請求;所述主控設(shè)備還包括從設(shè)備數(shù)據(jù)上報處理模塊,對從設(shè)備需要數(shù)據(jù)上報的請求進行 處理,完成從設(shè)備數(shù)據(jù)上報處理。
[0027] 所述主控設(shè)備還包括沖突檢測恢復(fù)模塊,數(shù)據(jù)傳送發(fā)生沖突時,進行同步恢復(fù)處 理。因共享傳輸線路,會出現(xiàn)控制不同步或運行出錯的情況,從設(shè)備的發(fā)送存在同時發(fā)送數(shù) 據(jù)的可能,會導(dǎo)致接收端收到的數(shù)據(jù)是沖突混雜的數(shù)據(jù),在進行接收后的數(shù)據(jù)校驗會被發(fā) 現(xiàn),這種情況下需要進行沖突檢測后的通訊恢復(fù)處理;同步處理包括主設(shè)備的同步恢復(fù)處 理和從設(shè)備的同步恢復(fù)處理。
[0028]系統(tǒng)運行過程中,初始化與運行都涉及會話同步處理的處理,涉及會話同步處理 的場景有以下三種: 1、 slave新上線(熱插入、設(shè)備重啟等),slave端進行同步處理; 2、 slave端出現(xiàn)接收異常(巾貞識別出錯),slave端進行同步處理; 3、 master端接收異常(master端巾貞識別出錯),master端進行同步處理,slave端進行 簡單的同步響應(yīng); 一種基于串口通訊的一對多通訊實現(xiàn)方法,具體方法為: 步驟一、主控設(shè)備向要發(fā)送給數(shù)據(jù)的從設(shè)備發(fā)送通訊請求命令; 步驟二、該從設(shè)備接收到所述數(shù)據(jù)發(fā)送請求命令后對主控設(shè)備返回通訊響應(yīng); 步驟三、主控設(shè)備接收到該從設(shè)備的通訊響應(yīng)后向該從設(shè)備發(fā)送所要發(fā)送的數(shù)據(jù)。
[0029] 為了解決一個中心對多個設(shè)備的管理,采用基于一對多串口的通訊模式,在串口 通訊上增加一層通訊處理協(xié)議層,實現(xiàn)串口的一對多通訊。本發(fā)明解決了傳統(tǒng)串口單純的 一對一通訊模式,支持一對多的通訊模式,解決因主設(shè)備的端口少而不依賴硬件切換的情 況下與多個從設(shè)備進行通訊的問題。在資源上減少了通訊端口、節(jié)約端口資源,并在邏輯上 實現(xiàn)一對一的端到端的通訊端口。
[0030] 所述步驟還包括:未收到通訊請求命令的從設(shè)備處于幀聽狀態(tài)。
[0031] 所述方法還包括:主控設(shè)備對從設(shè)備在線狀態(tài)進行周期輪詢,具體方法為:每隔 一定時間,主控設(shè)備依次向所有從設(shè)備端口發(fā)送狀態(tài)查詢命令,在線的從設(shè)備收到狀態(tài)查 詢命令對該命令進行響應(yīng)。
[0032]要實現(xiàn)主控設(shè)備對每個從設(shè)備的通訊則需要采用軟件協(xié)議完成一對一的通訊。當(dāng) 前采用主控設(shè)備主導(dǎo)模式,采用自定義的數(shù)據(jù)發(fā)送或輪詢處理隊列("令牌"發(fā)放)模式實現(xiàn) 串口交互的軟件通訊協(xié)議;slave得到master發(fā)出的"令牌"后與master進行通訊會話,未 得到"令牌"的slave則處于接收偵聽狀態(tài),對于目的不是自身的通訊消息幀忽略。
[0033] 通訊幀的結(jié)構(gòu)如圖2所示,通訊幀cmd定義包括通訊系統(tǒng)命令定義和用戶命令定 義。用戶命令定義用戶應(yīng)用交互的命令;系統(tǒng)命令完成通訊協(xié)議的過程定義和線路維護; 系統(tǒng)命令定義如下的表1所示: 表1.系統(tǒng)命令定義表 LiN丄A I ^
【權(quán)利要求】
1. 一種基于串口通訊的一對多通訊系統(tǒng),其特征在于:包括主控設(shè)備和從設(shè)備;所述 主控設(shè)備包括 通訊線路調(diào)度模塊,指定某一從設(shè)備專用通訊線路資源與主設(shè)備進行通訊; 主控數(shù)據(jù)發(fā)送模塊,向從設(shè)備發(fā)送數(shù)據(jù); 所述從設(shè)備包括通訊響應(yīng)模塊,向主控設(shè)備返回通訊響應(yīng)。
2. 根據(jù)權(quán)利要求1所述的一對多通訊系統(tǒng),其特征在于:所述主控設(shè)備還包括從設(shè)備 狀態(tài)輪詢模塊,對所有從設(shè)備在線狀態(tài)進行周期查詢;所述從設(shè)備還包括輪詢應(yīng)答模塊,收 到主控設(shè)備的輪詢信號后,向主控設(shè)備發(fā)送輪詢響應(yīng)。
3. 根據(jù)權(quán)利要求1所述的一對多通訊系統(tǒng),其特征在于:所述從設(shè)備還包括數(shù)據(jù)上報 模塊,向主控設(shè)備發(fā)出數(shù)據(jù)上報請求;所述主控設(shè)備還包括從設(shè)備數(shù)據(jù)上報處理模塊,對從 設(shè)備需要數(shù)據(jù)上報的請求進行處理。
4. 根據(jù)權(quán)利要求2到3之一所述的一對多通訊系統(tǒng),其特征在于:所述主控設(shè)備還包 括沖突檢測恢復(fù)模塊,數(shù)據(jù)傳送發(fā)生沖突時,進行同步恢復(fù)處理。
5. -種基于串口通訊的一對多通訊實現(xiàn)方法,具體方法為: 步驟一、主控設(shè)備向要發(fā)送給數(shù)據(jù)的從設(shè)備發(fā)送通訊請求命令; 步驟二、該從設(shè)備接收到所述數(shù)據(jù)發(fā)送請求命令后對主控設(shè)備返回通訊響應(yīng); 步驟三、主控設(shè)備接收到該從設(shè)備的通訊響應(yīng)后向該從設(shè)備發(fā)送所要發(fā)送的數(shù)據(jù)。
6. 根據(jù)權(quán)利要求5所述的一對多通訊實現(xiàn)方法,其特征在于:所述步驟還包括:未收到 通訊請求命令的從設(shè)備處于幀聽狀態(tài)。
7. 根據(jù)權(quán)利要求5所述的一對多通訊實現(xiàn)方法,其特征在于:所述方法還包括:主控設(shè) 備對從設(shè)備在線狀態(tài)進行周期輪詢,具體方法為:每隔一定時間,主控設(shè)備依次向所有從設(shè) 備端口發(fā)送狀態(tài)查詢命令,在線的從設(shè)備收到狀態(tài)查詢命令對該命令進行響應(yīng)。
8. 根據(jù)權(quán)利要求7所述的一對多通訊實現(xiàn)方法,其特征在于:所述方法還包括:在線從 設(shè)備如果需要向主控設(shè)備主動發(fā)送數(shù)據(jù),則在從設(shè)備收到狀態(tài)查詢命令后,在狀態(tài)查詢命 令進行響應(yīng)的同時向主控設(shè)備發(fā)送數(shù)據(jù)發(fā)送請求。
9. 根據(jù)權(quán)利要求5到8之一所述的一對多通訊實現(xiàn)方法,其特征在于:所述方法還包 括:對主控制設(shè)備或從設(shè)備進行同步處理。
【文檔編號】G06F13/42GK104317765SQ201410555573
【公開日】2015年1月28日 申請日期:2014年10月20日 優(yōu)先權(quán)日:2014年10月20日
【發(fā)明者】汪建 申請人:成都廣達電子股份有限公司