專利名稱:一種用于數(shù)控總線的安全可控通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體的說是ー種用于數(shù)控系統(tǒng)現(xiàn)場總線的安全可控通信方法。
背景技術(shù):
在エ業(yè)控制領(lǐng)域中,總線作為承載數(shù)據(jù)的媒介、傳輸命令的通道和連接各接ロ的紐帶,對整個控制系統(tǒng)高效、精確、安全運行起著至關(guān)重要的作用。但總線應(yīng)用環(huán)境復(fù)雜,使數(shù)據(jù)在傳輸過程中會由于系統(tǒng)故障、電磁干擾等問題出現(xiàn)一定的損壞現(xiàn)象,從而出現(xiàn)消息重復(fù)、刪除、插入、不正確序列、破壞、延時及偽裝等錯誤。數(shù)據(jù)損壞如果不能及時被發(fā)現(xiàn),將會給控制系統(tǒng)帶來設(shè)備損失和人身傷害。因此,總線數(shù)據(jù)的傳輸安全已經(jīng)成為總線通信安全性研究的重點。在已有總線安全通信機制中,數(shù)據(jù)鏈路層循環(huán)冗余校驗CRC已經(jīng)作為ー種規(guī)范, 成為各種總線必不可少的安全功能。數(shù)控總線作為總線在數(shù)控系統(tǒng)中的應(yīng)用,同樣采用了這種安全校驗功能。目前,數(shù)控系統(tǒng)正在向開放式、網(wǎng)絡(luò)化方向發(fā)展,同時數(shù)控系統(tǒng)自身正在經(jīng)歷高速、高精的發(fā)展過程,而傳統(tǒng)循環(huán)冗余校驗方法采用單包校驗,靜態(tài)校驗的形式, 造成剩余錯誤率較高、安全強度不可變等缺陷。傳統(tǒng)循環(huán)冗余校驗方法已經(jīng)不能滿足數(shù)控系統(tǒng)高速和高精度的要求。
發(fā)明內(nèi)容
針對上述傳統(tǒng)循環(huán)冗余校驗方法存在的缺陷,本發(fā)明要解決的技術(shù)問題是提供一種能夠增強數(shù)控總線通信安全強度可控性高和降低剰余錯誤率的用于數(shù)控總線的安全可控通信方法。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是一種用于數(shù)控總線的安全可控通信方法包括以下步驟將安全數(shù)據(jù)報文發(fā)送方作為主站,將安全數(shù)據(jù)報文接收方作為從站;將主站中的安全數(shù)據(jù)報文通過偏移功能模塊生成CRC校驗值,并將CRC校驗值封裝入安全數(shù)據(jù)報文中,并發(fā)送至從站;從站通過使用偏移功能模塊對接收到的安全數(shù)據(jù)報文進行CRC校驗;如果校驗正確,從站通偏移功能模塊生成新的CRC校驗值,并將CRC校驗值封裝入應(yīng)答數(shù)據(jù)報文中,然后發(fā)送至主站;主站通過使用偏移模塊對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗;如果校驗正確, 則判斷通信是否結(jié)束,若主站需要結(jié)束,則停止此次通信。如果從站對接收到的安全數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求主站重新發(fā)送該安全數(shù)據(jù)報文,返回到主站中重新生成CRC校驗值步驟。如果主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求從站重新發(fā)送該應(yīng)答數(shù)據(jù)報文,返回到從站中重新生成CRC校驗值步驟。
如果通信不結(jié)束,則返回到主站中重新生成CRC校驗值步驟。所述安全數(shù)據(jù)報文包括有效數(shù)據(jù)位、狀態(tài)位、序列號、偏移數(shù)、安全比特數(shù)和CRC 校驗值;其中有效數(shù)據(jù)位用來存放從站執(zhí)行操作的命令;狀態(tài)位用于識別通信狀態(tài);序列號用于識別安全數(shù)據(jù)報文順序;偏移數(shù)用于生成選取關(guān)聯(lián)數(shù)據(jù)的起始位;安全比特數(shù)用于標(biāo)識關(guān)聯(lián)數(shù)據(jù)選取的位數(shù);CRC校驗值用于進行CRC校驗。所述在主站中使用偏移模塊生成CRC校驗值的處理步驟如下在初始化過程中,主站和從站使用數(shù)值0作為偏移數(shù)和安全比特數(shù);在數(shù)據(jù)傳輸過程中,主站在偏移數(shù)表中按順序選擇數(shù)據(jù),與上次接收到的偏移數(shù)進行求和模包長計算,生成本次數(shù)據(jù)傳輸所使用的偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求選擇安全比特數(shù)。主站根據(jù)生成的偏移數(shù)和安全比特數(shù)分別在上一次接收到的應(yīng)答數(shù)據(jù)報文和本次待發(fā)送的安全數(shù)據(jù)報文中提取出關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。主站由本次待發(fā)送的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值。所述從站對接收到的安全數(shù)據(jù)報文進行CRC校驗處理步驟如下從站在偏移數(shù)表中按順序選擇數(shù)據(jù),計算生成偏移數(shù),并讀取所接收到的安全數(shù)據(jù)報文中的安全比特數(shù)。從站根據(jù)偏移數(shù)和安全比特數(shù)分別在上一次已發(fā)送的應(yīng)答數(shù)據(jù)報文和本次接收到的安全數(shù)據(jù)報文中提取關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。從站由本次接收到的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值,并與本次接收到的安全數(shù)據(jù)報文中的CRC校驗值進行比較。若結(jié)果一致,則校驗正確; 否則校驗不正確。所述從站重新生成CRC校驗值處理步驟如下從站在偏移數(shù)表中按順序選擇下一個數(shù)據(jù),進行計算生成偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求重新選擇安全比特數(shù),將上一次接收到的安全數(shù)據(jù)報文和本次待發(fā)送的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC 校驗值。所述主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗包括以下過程主站在偏移數(shù)表中按順序選擇下ー個數(shù)據(jù),進行計算生成偏移數(shù),并讀取本次收到的應(yīng)答數(shù)據(jù)報文中的安全比特數(shù),將上一次已發(fā)送的安全數(shù)據(jù)報文和本次接收到的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC校驗值并進行校驗。本發(fā)明具有以下有益效果及優(yōu)點1.安全強度可控。由于本發(fā)明方法中,采用安全比特數(shù)決定關(guān)聯(lián)數(shù)據(jù)的長度,而關(guān)聯(lián)數(shù)據(jù)的長度又決定了冗余數(shù)據(jù)重復(fù)的概率,進而影響CRC校驗值的重復(fù)率,因此可以通過選擇不同的安全比特數(shù)獲得所需的安全強度。2.剰余錯誤率低。由于本發(fā)明方法既采用偏移數(shù)生成起始位的方法對關(guān)聯(lián)數(shù)據(jù)進行選位操作,同時又采用安全比特數(shù)決定關(guān)聯(lián)數(shù)據(jù)的長度,因此即使在多個連續(xù)數(shù)據(jù)報文內(nèi)容相同的情況下,由于所選關(guān)聯(lián)數(shù)據(jù)的起始位和長度不同,也會產(chǎn)生不斷變化的CRC校驗值,從而增強了 CRC校驗值的動態(tài)性,降低了剰余錯誤率。
圖1為本發(fā)明方法應(yīng)用的數(shù)控總線系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明方法通信流程圖;圖3為本發(fā)明方法中數(shù)控總線安全數(shù)據(jù)報文結(jié)構(gòu)圖;圖4為本發(fā)明方法通信結(jié)構(gòu)流程圖;圖5A為本發(fā)明方法中CRC校驗值生成過程示意圖;圖5B為本發(fā)明方法中CRC校驗過程示意圖。
具體實施例方式如圖1所示,為本發(fā)明方法所涉及的數(shù)控總線系統(tǒng)結(jié)構(gòu)圖。該圖中數(shù)控系統(tǒng)作為發(fā)送端,是數(shù)控總線系統(tǒng)的主站;伺服驅(qū)動裝置、急停裝置、傳感器裝置和I/O裝置等作為η 個接收端是數(shù)控總線系統(tǒng)的η個從站;主站與η個從站之間通過數(shù)控總線進行安全數(shù)據(jù)報文的傳輸。如圖2所示,本發(fā)明方法包括以下步驟將安全數(shù)據(jù)報文發(fā)送方作為主站,將安全數(shù)據(jù)報文接收方作為從站;將主站中的安全數(shù)據(jù)報文通過偏移功能模塊生成CRC校驗值,并將CRC校驗值封裝入安全數(shù)據(jù)報文中,并發(fā)送至從站;從站通過使用偏移功能模塊對接收到的安全數(shù)據(jù)報文進行CRC校驗;如果校驗正確,從站通偏移功能模塊生成新的CRC校驗值,并將CRC校驗值封裝入應(yīng)答數(shù)據(jù)報文中,然后發(fā)送至主站;主站通過使用偏移模塊對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗;如果校驗正確, 則判斷通信是否結(jié)束,若主站需要結(jié)束,則停止此次通信。如果從站對接收到的安全數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求主站重新發(fā)送該安全數(shù)據(jù)報文,返回到主站中重新生成CRC校驗值步驟。如果主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求從站重新發(fā)送該應(yīng)答數(shù)據(jù)報文,返回到從站中重新生成CRC校驗值步驟。如果通信不結(jié)束,則返回到主站中重新生成CRC校驗值步驟。所述安全數(shù)據(jù)報文包括有效數(shù)據(jù)位、狀態(tài)位、序列號、偏移數(shù)、安全比特數(shù)和CRC 校驗值;其中有效數(shù)據(jù)位用來存放從站執(zhí)行操作的命令;狀態(tài)位用于識別通信狀態(tài);序列號用于識別安全數(shù)據(jù)報文順序;偏移數(shù)用于生成選取關(guān)聯(lián)數(shù)據(jù)的起始位;安全比特數(shù)用于標(biāo)識關(guān)聯(lián)數(shù)據(jù)選取的位數(shù);CRC校驗值用于進行CRC校驗。所述在主站中使用偏移模塊生成CRC校驗值的處理步驟如下在初始化過程中,主站和從站使用數(shù)值0作為偏移數(shù)和安全比特數(shù);在數(shù)據(jù)傳輸過程中,主站在偏移數(shù)表中按順序選擇數(shù)據(jù),與上次接收到的偏移數(shù)進行求和模包長計算,生成本次數(shù)據(jù)傳輸所使用的偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求選擇安全比特數(shù)。主站根據(jù)生成的偏移數(shù)和安全比特數(shù)分別在上一次接收到的應(yīng)答數(shù)據(jù)報文和本次待發(fā)送的安全數(shù)據(jù)報文中提取出關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。主站由本次待發(fā)送的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值。所述從站對接收到的安全數(shù)據(jù)報文進行CRC校驗處理步驟如下從站在偏移數(shù)表中按順序選擇數(shù)據(jù),計算生成偏移數(shù),并讀取所接收到的安全數(shù)據(jù)報文中的安全比特數(shù)。從站根據(jù)偏移數(shù)和安全比特數(shù)分別在上一次已發(fā)送的應(yīng)答數(shù)據(jù)報文和本次接收到的安全數(shù)據(jù)報文中提取關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。從站由本次接收到的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值,并與本次接收到的安全數(shù)據(jù)報文中的CRC校驗值進行比較。若結(jié)果一致,則校驗正確; 否則校驗不正確。所述從站重新生成CRC校驗值處理步驟如下從站在偏移數(shù)表中按順序選擇下一個數(shù)據(jù),進行計算生成偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求重新選擇安全比特數(shù),將上一次接收到的安全數(shù)據(jù)報文和本次待發(fā)送的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC 校驗值。所述主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗包括以下過程主站在偏移數(shù)表中按順序選擇下ー個數(shù)據(jù),進行計算生成偏移數(shù),并讀取本次收到的應(yīng)答數(shù)據(jù)報文中的安全比特數(shù),將上一次已發(fā)送的安全數(shù)據(jù)報文和本次接收到的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC校驗值并進行校驗。如圖3所示,為本發(fā)明所設(shè)計的安全數(shù)據(jù)報文,其中有效數(shù)據(jù)位中存放的有效數(shù)據(jù)屬于數(shù)據(jù)域,狀態(tài)位、序列號、偏移數(shù)、安全比特數(shù)以及CRC校驗值中存放的控制數(shù)據(jù)屬于控制域。其中,有效數(shù)據(jù)位存放從站執(zhí)行操作的命令;狀態(tài)位用于識別通信狀態(tài);序列號用于識別安全數(shù)據(jù)報文順序;偏移數(shù)存放于偏移數(shù)表中,在CRC校驗過程中,用于生成關(guān)聯(lián)數(shù)據(jù)的起始位;安全比特數(shù)由用戶/控制系統(tǒng)選擇,用于標(biāo)識關(guān)聯(lián)數(shù)據(jù)選取的長度,從而控制安全強度;CRC校驗值用于進行CRC校驗,可發(fā)現(xiàn)通信過程中的傳輸錯誤。如圖4所示,為本發(fā)明方法中起始安全數(shù)據(jù)報文傳輸示意圖和過程安全數(shù)據(jù)報文傳輸示意圖。主站和從站對偏移數(shù)和安全比特數(shù)進行初始化;主站計算生成起始位,同時根據(jù)用戶/控制系統(tǒng)需求選擇安全比特數(shù)。主站通過生成的起始位和安全比特數(shù)分別從上次接收的應(yīng)答數(shù)據(jù)報文和本次待發(fā)送的安全數(shù)據(jù)報文中提取關(guān)聯(lián)數(shù)據(jù);由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù),并主站由本次待發(fā)送的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值,并發(fā)送至從站;從站計算生成起始位,并讀取所接收到的安全數(shù)據(jù)報文中的安全比特數(shù);從站根據(jù)所生成的起始位和安全比特數(shù)分別在上一次已發(fā)送的應(yīng)答數(shù)據(jù)報文和本次接收到的安全數(shù)據(jù)報文中提取關(guān)聯(lián)數(shù)據(jù);從站由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù),并將由本次接收到的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值;從站將生成的CRC校驗值與本次接收到的安全數(shù)據(jù)報文中的CRC校驗值進行比較,如果兩個校驗值相等,則從站發(fā)送應(yīng)答數(shù)據(jù)報文;從站根據(jù)接收到的安全數(shù)據(jù)報文,判斷通信是否結(jié)束;如結(jié)束,終止通信;如不結(jié)束,返回到主站發(fā)送安全數(shù)據(jù)報文。圖5A、5B為本發(fā)明方法中CRC校驗值生成過程示意圖和CRC校驗過程示意圖。其中,SwiftO為偏移函數(shù),用以按偏移數(shù)表選擇偏移數(shù);Swifti為偏移函數(shù)SwiftO選擇的偏移數(shù);SBN為安全比特數(shù),由用戶/控制系統(tǒng)根據(jù)命令類型和需求選擇;Sil和Si2為偏移數(shù) Swifti生成的ニ元二次不定方程的根;民為接收到的數(shù)據(jù)報文所使用關(guān)聯(lián)數(shù)據(jù)的起始位, Ss為待發(fā)送的數(shù)據(jù)報文所使用關(guān)聯(lián)數(shù)據(jù)的起始位Ato和Sbs為基礎(chǔ)起始位,分別為上次傳輸所保存的Sr和Ss。如圖5A所示,主站首先在偏移數(shù)表中由Swift ()函數(shù)在偏移數(shù)表中按順序選偏移數(shù)Swifti,進而得到Sil和Si2,并按照Sil < Si2的順序排列;然后主站從緩存中讀取基礎(chǔ)起始位Sto和Sbs,對Sto和Sn、Sbs和Si2分別進行求和模包長計算,生成本次CRC校驗值生成過程中使用的起始位民和も,并將民和も存入緩存中替換和Sbs ;由用戶/控制系統(tǒng)選擇安全比特數(shù)SBN,作為關(guān)聯(lián)數(shù)據(jù)的長度;然后根據(jù)起始位民和も以及SBN從接收到的應(yīng)答數(shù)據(jù)和待發(fā)送的安全數(shù)據(jù)中提取關(guān)聯(lián)數(shù)據(jù),并將兩個關(guān)聯(lián)數(shù)據(jù)進行冗余計算得到冗余數(shù)據(jù);最后使用本次待發(fā)送的安全數(shù)據(jù)和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值。如圖5B所示,從站首先讀取接收到的安全數(shù)據(jù)報文中的偏移數(shù)Swifti',并與偏移數(shù)表中標(biāo)記的偏移數(shù)Swifti進行比較,若相等,則使用Swifti生成Sil和Si2,并按照Sil < Si2的順序排列;然后從緩存中讀取基礎(chǔ)起始位Sto和Sbs,對Sto和Sn、Sbs和Si2分別進行求和模包長計算,生成本次CRC校驗過程中使用的起始位民和も,并將民和も存入緩存中替換Sto和^s ;讀取接收到的安全數(shù)據(jù)報文中的安全比特數(shù)SBN,作為本次校驗所使用的關(guān)聯(lián)數(shù)據(jù)的長度;然后根據(jù)起始位民和も以及SBN從接收到的安全數(shù)據(jù)和待發(fā)送的應(yīng)答數(shù)據(jù)中提取關(guān)聯(lián)數(shù)據(jù),并將兩個關(guān)聯(lián)數(shù)據(jù)進行冗余計算得到冗余數(shù)據(jù);最后使用本次待發(fā)送的應(yīng)答數(shù)據(jù)和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值,并與接收到的安全數(shù)據(jù)報文中的 CRC校驗值進行比較,若相同,則通過校驗;否則,校驗錯誤,請求重傳。
權(quán)利要求
1.一種用于數(shù)控總線的安全可控通信方法,其特征在于包括以下步驟將安全數(shù)據(jù)報文發(fā)送方作為主站,將安全數(shù)據(jù)報文接收方作為從站;將主站中的安全數(shù)據(jù)報文通過偏移功能模塊生成CRC校驗值,并將CRC校驗值封裝入安全數(shù)據(jù)報文中,并發(fā)送至從站;從站通過使用偏移功能模塊對接收到的安全數(shù)據(jù)報文進行CRC校驗;如果校驗正確, 從站通偏移功能模塊生成新的CRC校驗值,并將CRC校驗值封裝入應(yīng)答數(shù)據(jù)報文中,然后發(fā)送至主站;主站通過使用偏移模塊對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗;如果校驗正確,則判斷通信是否結(jié)束,若主站需要結(jié)束,則停止此次通信。
2.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于如果從站對接收到的安全數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求主站重新發(fā)送該安全數(shù)據(jù)報文,返回到主站中重新生成CRC校驗值步驟。
3.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于如果主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗的結(jié)果不正確,則請求從站重新發(fā)送該應(yīng)答數(shù)據(jù)報文,返回到從站中重新生成CRC校驗值步驟。
4.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于如果通信不結(jié)束,則返回到主站中重新生成CRC校驗值步驟。
5.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于所述安全數(shù)據(jù)報文包括有效數(shù)據(jù)位、狀態(tài)位、序列號、偏移數(shù)、安全比特數(shù)和CRC校驗值;其中有效數(shù)據(jù)位用來存放從站執(zhí)行操作的命令;狀態(tài)位用于識別通信狀態(tài);序列號用于識別安全數(shù)據(jù)報文順序;偏移數(shù)用于生成選取關(guān)聯(lián)數(shù)據(jù)的起始位;安全比特數(shù)用于標(biāo)識關(guān)聯(lián)數(shù)據(jù)選取的位數(shù);CRC校驗值用于進行CRC校驗。
6.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于所述在主站中使用偏移模塊生成CRC校驗值的處理步驟如下在初始化過程中,主站和從站使用數(shù)值0作為偏移數(shù)和安全比特數(shù);在數(shù)據(jù)傳輸過程中,主站在偏移數(shù)表中按順序選擇數(shù)據(jù),與上次接收到的偏移數(shù)進行求和模包長計算,生成本次數(shù)據(jù)傳輸所使用的偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求選擇安全比特數(shù)。主站根據(jù)生成的偏移數(shù)和安全比特數(shù)分別在上一次接收到的應(yīng)答數(shù)據(jù)報文和本次待發(fā)送的安全數(shù)據(jù)報文中提取出關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。主站由本次待發(fā)送的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值。
7.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于所述從站對接收到的安全數(shù)據(jù)報文進行CRC校驗處理步驟如下從站在偏移數(shù)表中按順序選擇數(shù)據(jù),計算生成偏移數(shù),并讀取所接收到的安全數(shù)據(jù)報文中的安全比特數(shù)。從站根據(jù)偏移數(shù)和安全比特數(shù)分別在上一次已發(fā)送的應(yīng)答數(shù)據(jù)報文和本次接收到的安全數(shù)據(jù)報文中提取關(guān)聯(lián)數(shù)據(jù),并由兩個關(guān)聯(lián)數(shù)據(jù)共同計算生成冗余數(shù)據(jù)。從站由本次接收到的安全數(shù)據(jù)報文和冗余數(shù)據(jù)共同進行CRC計算,生成CRC校驗值,并與本次接收到的安全數(shù)據(jù)報文中的CRC校驗值進行比較。若結(jié)果一致,則校驗正確;否則校驗不正確。
8.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于所述從站重新生成CRC校驗值處理步驟如下從站在偏移數(shù)表中按順序選擇下一個數(shù)據(jù),進行計算生成偏移數(shù),井根據(jù)用戶/控制系統(tǒng)需求重新選擇安全比特數(shù),將上一次接收到的安全數(shù)據(jù)報文和本次待發(fā)送的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC校驗值。
9.按權(quán)利要求1所述的用于數(shù)控總線的安全可控通信方法,其特征在于所述主站對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗包括以下過程主站在偏移數(shù)表中按順序選擇下ー個數(shù)據(jù),進行計算生成偏移數(shù),并讀取本次收到的應(yīng)答數(shù)據(jù)報文中的安全比特數(shù),將上一次已發(fā)送的安全數(shù)據(jù)報文和本次接收到的應(yīng)答數(shù)據(jù)報文作為關(guān)聯(lián)數(shù)據(jù)的來源,計算生成CRC校驗值并進行校驗。
全文摘要
本發(fā)明涉及一種用于數(shù)控總線的安全可控通信方法,包括以下步驟將安全數(shù)據(jù)報文發(fā)送方作為主站,將安全數(shù)據(jù)報文接收方作為從站;在主站中使用偏移模塊計算產(chǎn)生CRC校驗值,封裝入安全數(shù)據(jù)報文中,并將該安全數(shù)據(jù)報文發(fā)送至從站;從站根據(jù)所用偏移模塊對接收到的安全數(shù)據(jù)報文進行CRC校驗;如果校驗正確,則從站繼續(xù)由所用偏移模塊計算產(chǎn)生CRC校驗值,并封裝入應(yīng)答數(shù)據(jù)報文中,發(fā)送至主站;主站根據(jù)所用偏移模塊對接收到的應(yīng)答數(shù)據(jù)報文進行CRC校驗;如果校驗正確,則判斷通信是否結(jié)束,如果沒有結(jié)束,則主站繼續(xù)向從站發(fā)送下一個安全數(shù)據(jù)報文;若結(jié)束,則停止此次通信。本發(fā)明具有安全強度可控、剩余錯誤率低等特點。
文檔編號H04L1/00GK102571259SQ20101058214
公開日2012年7月11日 申請日期2010年12月9日 優(yōu)先權(quán)日2010年12月9日
發(fā)明者于東, 岳東峰, 郭翀, 陳龍, 高甜容 申請人:中國科學(xué)院沈陽計算技術(shù)研究所有限公司, 沈陽高精數(shù)控技術(shù)有限公司