基于fpga的串行總線通信在線重構(gòu)方法
【專(zhuān)利摘要】本發(fā)明提供了基于FPGA的串行總線通信在線重構(gòu)方法,包括如下步驟:(1)對(duì)從站設(shè)備中的FPGA進(jìn)行區(qū)域劃分,劃分為靜態(tài)區(qū)域和通信重構(gòu)區(qū)域,(2)從站設(shè)備識(shí)別串行總線的通信協(xié)議類(lèi)型,當(dāng)通信協(xié)議類(lèi)型不一致時(shí),激活重構(gòu)控制模塊,(3)從站設(shè)備中重構(gòu)控制模塊向重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求,重構(gòu)主控模塊發(fā)出準(zhǔn)備完成信號(hào)給重構(gòu)控制模塊,重構(gòu)控制模塊收到準(zhǔn)備完成信號(hào)后對(duì)通信重構(gòu)區(qū)域進(jìn)行在線動(dòng)態(tài)重新配置,使得重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型與串行總線的通信協(xié)議類(lèi)型一致。本發(fā)明使得基于FPGA的串行總線通信設(shè)備具備在線自動(dòng)適應(yīng)網(wǎng)絡(luò)協(xié)議變化的能力,增強(qiáng)網(wǎng)絡(luò)通信設(shè)備的靈活性和互換性,對(duì)多種網(wǎng)絡(luò)通信協(xié)議并存的工業(yè)控制領(lǐng)域具有重大意義。
【專(zhuān)利說(shuō)明】基于FPGA的串行總線通信在線重構(gòu)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及工業(yè)控制領(lǐng)域,尤其涉及工業(yè)控制系統(tǒng)的基于FPGA的串行總線通信 在線重構(gòu)方法。
【背景技術(shù)】
[0002] 隨著工業(yè)控制的網(wǎng)絡(luò)化、信息化的程度不斷提高,要求對(duì)現(xiàn)場(chǎng)設(shè)備集中監(jiān)視、統(tǒng)一 管理。然而,目前國(guó)際上網(wǎng)絡(luò)通信協(xié)議就多達(dá)200余種,其中滿足國(guó)際標(biāo)準(zhǔn)IEC61158的也 有20余種。系統(tǒng)設(shè)計(jì)者根據(jù)不同的應(yīng)用需求,往往需要多個(gè)儀表廠商提供不同的傳感器、 變送器、控制器、執(zhí)行機(jī)構(gòu)等。然而每個(gè)儀表生產(chǎn)廠商可能使用不同標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議, 如Modbus RTU、Modbus ASCII、Profibus-DP,CC-Link等。多種網(wǎng)絡(luò)通信的并存使得工業(yè)設(shè) 備的開(kāi)發(fā)者和使用者都面臨著嚴(yán)峻的考驗(yàn),亟需一種具有動(dòng)態(tài)適應(yīng)網(wǎng)絡(luò)通信變化的能力, 而且只消耗最小的軟硬件資源。在實(shí)際工業(yè)網(wǎng)絡(luò)控制系統(tǒng)中,由于功能或臨時(shí)更換等需求, 同樣采用串行總線(比如RS-485總線、CAN總線等)為物理傳輸?shù)耐ㄐ旁O(shè)備可能同時(shí)存在 于同一網(wǎng)絡(luò),則需要網(wǎng)絡(luò)通信設(shè)備站具有自動(dòng)識(shí)別鏈路通信協(xié)議,然后將本站的通信模式 切換到當(dāng)前通信協(xié)議,實(shí)現(xiàn)網(wǎng)絡(luò)控制系統(tǒng)的通信自適應(yīng)。針對(duì)該問(wèn)題目前解決方案有以下 兩種:硬件全局重構(gòu)和軟件冗余方法。硬件全局重構(gòu)技術(shù)是近年來(lái)基于FPGA發(fā)展起來(lái)的配 置技術(shù)。網(wǎng)絡(luò)控制系統(tǒng)的全局重構(gòu)則是通過(guò)檢測(cè)當(dāng)前網(wǎng)絡(luò)的通信協(xié)議類(lèi)型,更改的負(fù)責(zé)網(wǎng) 絡(luò)通信部分,然后將該配置文件整體燒寫(xiě)至FPGA。然而,硬件全局重構(gòu)需要對(duì)整個(gè)FPGA資 源重新配置,該重構(gòu)方法是對(duì)器件的整體進(jìn)行更新寫(xiě)入,不需要改變的非通信部分也進(jìn)行 了更新寫(xiě)入,從而導(dǎo)致系統(tǒng)進(jìn)行重新初始化,甚至引起系統(tǒng)崩潰,所以該技術(shù)尚未被廣泛應(yīng) 用于工業(yè)現(xiàn)場(chǎng)控制過(guò)程中。
[0003] 軟件冗余方法是通過(guò)將實(shí)現(xiàn)不同通信協(xié)議的功能塊同時(shí)集中在設(shè)備站中,通過(guò)檢 測(cè)鏈路通信協(xié)議,然后通過(guò)函數(shù)調(diào)用或功能切換使得當(dāng)前通信模式為鏈路通信模式,保證 網(wǎng)絡(luò)控制系統(tǒng)正常通信。然而,由于該方法同時(shí)將所有通信協(xié)議集中一起,使得系統(tǒng)消耗的 硬件資源和軟件資源將隨著服務(wù)的通信協(xié)議種類(lèi)數(shù)量成倍的上升,造成大量資源浪費(fèi)。
【發(fā)明內(nèi)容】
[0004] 為解決現(xiàn)有技術(shù)存在的問(wèn)題和缺陷,本發(fā)明提供一種基于FPGA的串行總線網(wǎng)絡(luò) 通信在線重構(gòu)方法,通過(guò)對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域采用部分硬件重構(gòu)的方式,在線動(dòng)態(tài)配置網(wǎng) 絡(luò)通信重構(gòu)區(qū)域,使得基于FPGA的串行總線網(wǎng)絡(luò)通信設(shè)備具備在線自動(dòng)適應(yīng)網(wǎng)絡(luò)協(xié)議變 化的能力,增強(qiáng)網(wǎng)絡(luò)通信設(shè)備的靈活性和互換性。
[0005] 本發(fā)明的技術(shù)方案是:
[0006] 1.基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述網(wǎng)絡(luò)通信過(guò)程涉及 主站設(shè)備和從站設(shè)備,具體包括如下步驟:
[0007] 步驟一,對(duì)從站設(shè)備中的FPGA進(jìn)行區(qū)域劃分,并劃分為靜態(tài)區(qū)域和通信重構(gòu)區(qū) 域,所述靜態(tài)區(qū)域包括重構(gòu)控制模塊和重構(gòu)主控模塊;
[0008] 步驟二,從站設(shè)備識(shí)別串行總線的通信協(xié)議類(lèi)型,當(dāng)串行總線的通信協(xié)議類(lèi)型與 所述通信重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型不一致時(shí),激活所述重構(gòu)控制模塊;
[0009] 步驟三,從站設(shè)備中所述重構(gòu)控制模塊向所述重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求,所述 重構(gòu)主控模塊收到所述重構(gòu)請(qǐng)求后進(jìn)行重構(gòu)準(zhǔn)備,并在確認(rèn)完成重構(gòu)準(zhǔn)備后發(fā)出準(zhǔn)備完成 信號(hào)給所述重構(gòu)控制模塊,所述重構(gòu)控制模塊收到所述準(zhǔn)備完成信號(hào)后對(duì)所述通信重構(gòu)區(qū) 域進(jìn)行在線動(dòng)態(tài)重新配置,使得所述重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型與所述串行總線的通信協(xié) 議類(lèi)型一致。
[0010] 2.從站設(shè)備的所述通信重構(gòu)區(qū)域包含串行鏈路通信協(xié)議所包括的物理層,數(shù)據(jù)鏈 路層和應(yīng)用層,所述網(wǎng)絡(luò)通信協(xié)議的在線動(dòng)態(tài)重新配置是指:①若從站設(shè)備的物理層沒(méi)有 設(shè)置可與FPGA芯片相匹配對(duì)接的對(duì)外接口,則網(wǎng)絡(luò)通信重構(gòu)區(qū)域包含數(shù)據(jù)鏈路層和應(yīng)用 層,②若從站設(shè)備的物理層設(shè)置有可與FPGA芯片匹配對(duì)接的對(duì)外接口,則網(wǎng)絡(luò)通信重構(gòu)區(qū) 域包含對(duì)物理層,數(shù)據(jù)鏈路層和應(yīng)用層進(jìn)行通信重構(gòu)的過(guò)程,實(shí)現(xiàn)基于FPGA的串行總線的 網(wǎng)絡(luò)通信在線重構(gòu),應(yīng)用層和物理層的通信重構(gòu)過(guò)程與數(shù)據(jù)鏈路層的通信重構(gòu)過(guò)程方法相 同。
[0011] 3.對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域進(jìn)行重構(gòu)之前,將整個(gè)靜態(tài)區(qū)域和通信重構(gòu)區(qū)域完全重新 配置一次,確定所述通信重構(gòu)區(qū)域的默認(rèn)通信類(lèi)型。
[0012] 4.所述步驟二中,在激活重構(gòu)控制模塊之前,先通過(guò)從站設(shè)備中的存儲(chǔ)器控制模 塊測(cè)試并建立所述重構(gòu)控制模塊與從站設(shè)備的外置存儲(chǔ)器之間的數(shù)據(jù)連接,為網(wǎng)絡(luò)通信重 構(gòu)準(zhǔn)備配置文件,所述配置文件的位置由當(dāng)前串行總線的通信協(xié)議的類(lèi)型決定。
[0013] 5.所述步驟二中,所述重構(gòu)控制模塊被激活后,重構(gòu)控制模塊凍結(jié)所述通信重構(gòu) 區(qū)域的所有輸入信號(hào),包括所述重構(gòu)控制模塊向所述重構(gòu)主控模塊輸出的用于將通信重構(gòu) 區(qū)域復(fù)位的局部復(fù)位信號(hào)。
[0014] 6.所述步驟三中,所述重構(gòu)控制模塊向重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求的同時(shí),所述 重構(gòu)控制模塊向所述重構(gòu)主控模塊發(fā)送重構(gòu)時(shí)鐘,所述重構(gòu)請(qǐng)求信號(hào)在整個(gè)重構(gòu)過(guò)程中貫 穿整個(gè)重構(gòu)過(guò)程,直到出現(xiàn)重構(gòu)成功或者重構(gòu)錯(cuò)誤。
[0015] 7.所述重構(gòu)控制模塊接收到重構(gòu)主控模塊的準(zhǔn)備完成信號(hào)后,等待四個(gè)重構(gòu)時(shí) 鐘周期,并在第四個(gè)重構(gòu)時(shí)鐘周期結(jié)束前存儲(chǔ)控制模塊從存儲(chǔ)器中讀取第一個(gè)16bit的數(shù) 據(jù);
[0016] 當(dāng)?shù)谒膫€(gè)重構(gòu)時(shí)鐘周期結(jié)束時(shí),即第四個(gè)重構(gòu)周期的下降沿,存儲(chǔ)控制模塊將讀 取的第一個(gè)Mbit的數(shù)據(jù)傳輸至重構(gòu)主控模塊的數(shù)據(jù)總線上,第一次等待四個(gè)時(shí)鐘周期以 后,在下一個(gè)下降沿到達(dá)之前讀取第二個(gè)16bit的數(shù)據(jù);
[0017] 重復(fù)上述動(dòng)作直到存儲(chǔ)器中的配置文件讀取完成且重構(gòu)主控模塊輸出重構(gòu)成功 信號(hào)到所述重構(gòu)控制模塊。
[0018] 8_所述重構(gòu)控制模塊接收到重構(gòu)成功信號(hào)后在8個(gè)重構(gòu)時(shí)鐘周期內(nèi)解除重構(gòu)請(qǐng) 求信號(hào)。
[0019] 9.所述重構(gòu)請(qǐng)求信號(hào)解除后,需要等待通信重構(gòu)區(qū)域的凍結(jié)信號(hào)成功解除后,所 述重構(gòu)請(qǐng)求信號(hào)才能通過(guò)重構(gòu)區(qū)域的復(fù)位信號(hào)進(jìn)行復(fù)位。
[0020] 10·所述靜態(tài)區(qū)域還包括鏈路通信檢測(cè)模塊,鏈路通信檢測(cè)模塊根據(jù)串行總線的 報(bào)文信息識(shí)別當(dāng)目!J網(wǎng)絡(luò)的通信協(xié)議類(lèi)型,若識(shí)別的當(dāng)前通信協(xié)議類(lèi)型與重構(gòu)區(qū)域中的通信 協(xié)議類(lèi)型不一致,鏈路通信檢測(cè)模塊激活重構(gòu)控制模塊。
[0021] 本發(fā)明的技術(shù)效果:
[0022] 1.本發(fā)明提供一種基于FPGA的串行總線通信在線重構(gòu)方法,從站進(jìn)行完全配置 以后,當(dāng)其檢測(cè)到網(wǎng)絡(luò)通信鏈路通信協(xié)議與網(wǎng)絡(luò)通信重構(gòu)區(qū)域的協(xié)議不一致時(shí),激活重構(gòu) 控制塊。通過(guò)對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域采用部分硬件重構(gòu)的方式,在線動(dòng)態(tài)配置網(wǎng)絡(luò)通信重構(gòu) 區(qū)域,使得基于FPGA的串行總線網(wǎng)絡(luò)通信設(shè)備具備在線自動(dòng)適應(yīng)網(wǎng)絡(luò)協(xié)議變化的能力,增 強(qiáng)網(wǎng)絡(luò)通信設(shè)備的靈活性和互換性,而且無(wú)需將不必要的通信協(xié)議集中在一起,避免了資 源的浪費(fèi)。
[0023] 2.在整個(gè)通信重構(gòu)過(guò)程中,非重構(gòu)區(qū)域(即靜態(tài)區(qū)域)一直保持不變,則其歷史數(shù) 據(jù)及狀態(tài)可以得以保持,應(yīng)用功能塊可以繼續(xù)正常的完成數(shù)據(jù)采集、控制量計(jì)算、信號(hào)輸出 等功能,極大的保證了系統(tǒng)的穩(wěn)定運(yùn)行。
[0024] 3·本發(fā)明實(shí)現(xiàn)了 Modbus ASCII通信設(shè)備和Modbus RTU通信設(shè)備的互換性,增強(qiáng) 了產(chǎn)品的互換性,可以實(shí)現(xiàn)多種網(wǎng)絡(luò)的通信的自適應(yīng),對(duì)多種網(wǎng)絡(luò)通信協(xié)議并存的工業(yè)控 制領(lǐng)域具有重大意義。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0025] 圖1為本發(fā)明邏輯架構(gòu)及重構(gòu)區(qū)域劃分示意圖。
[0026] 圖2為本發(fā)明主要實(shí)現(xiàn)步驟示意圖。
[0027]圖3為本發(fā)明的具體實(shí)施例流程示意圖。
[0028] 圖4為本發(fā)明的通信協(xié)議類(lèi)型的判別過(guò)程示意圖。
[0029] 圖5為本發(fā)明的具體實(shí)施例通信模型異同點(diǎn)對(duì)比示意圖。
[0030] 圖6是Modbus總線網(wǎng)絡(luò)的拓?fù)鋱D。
【具體實(shí)施方式】
[0031] 本發(fā)明提供一種基于FPGA的串行總線通信在線重構(gòu)方法,通過(guò)對(duì)網(wǎng)絡(luò)通信重構(gòu) 區(qū)域采用部分硬件重構(gòu)的方式,使得基于FPGA的串行總線網(wǎng)絡(luò)通信設(shè)備具備在線自動(dòng)適 應(yīng)網(wǎng)絡(luò)協(xié)議變化的能力,增強(qiáng)網(wǎng)絡(luò)通信設(shè)備的靈活性和互換性。由于串行總線具有多種,比 如RS-485總線、RS-232總線以及RS-422總線等,并且網(wǎng)絡(luò)通信協(xié)議也具有多種,如Modbus RTU、Modbus ASCII、Profibus-DP,CC-Link 等,因此,本發(fā)明以 RS-485 總線,并以 Modbus RTU 和Modbus ASCII兩種通信協(xié)議作為具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述。
[0032]圖1為本發(fā)明邏輯架構(gòu)及重構(gòu)區(qū)域劃分示意圖。如圖1所示,本發(fā)明提供的Modbus 從站通過(guò)部分重構(gòu)方法,實(shí)現(xiàn)在線自動(dòng)適應(yīng)Modbus ASCII與Modbus RTU的系統(tǒng)功能結(jié)構(gòu) 圖,包含:
[0033] 通信檢測(cè)模塊1,在Modbus主站與Modbus從站通信過(guò)程中,所有Modbus從站均 可以通過(guò)RS-485總線引入鏈路信號(hào),通信檢測(cè)模塊和網(wǎng)絡(luò)通信重構(gòu)區(qū)域同時(shí)將該信號(hào)作 為輸入。正如第一實(shí)施例流程示意圖所描述,通信檢測(cè)模塊根據(jù)Modbus ASCII和Modbus RTU的數(shù)據(jù)鏈路層差異特征,實(shí)現(xiàn)區(qū)分鏈路通信協(xié)議。本發(fā)明中"主站"也稱(chēng)"主站設(shè)備", "從站"也稱(chēng)"從站設(shè)備"。
[0034] 重構(gòu)控制塊2,該模塊作為整個(gè)重構(gòu)控制的中心,當(dāng)通信檢測(cè)模塊識(shí)別到當(dāng)前網(wǎng)絡(luò) 通信協(xié)議與網(wǎng)絡(luò)通信重構(gòu)區(qū)域的通信協(xié)議不一致時(shí),則激活重構(gòu)控制塊。已激活的重構(gòu)控 制塊首先屏蔽網(wǎng)絡(luò)通信重構(gòu)區(qū)域的輸入信號(hào),然后向重構(gòu)主節(jié)點(diǎn)發(fā)送重構(gòu)請(qǐng)求信號(hào),接著 等待來(lái)自重構(gòu)主節(jié)點(diǎn)的重構(gòu)準(zhǔn)備完成信號(hào)。當(dāng)重構(gòu)準(zhǔn)備信號(hào)被聲明時(shí),重構(gòu)控制塊從存儲(chǔ) 控制塊中取出配置數(shù)據(jù),并將該數(shù)據(jù)傳遞至重構(gòu)主節(jié)點(diǎn),直到重構(gòu)完成或重構(gòu)錯(cuò)誤信號(hào)出 現(xiàn)。若重構(gòu)主節(jié)點(diǎn)的重構(gòu)完成信號(hào)聲明時(shí),重構(gòu)控制塊馬上撤銷(xiāo)重構(gòu)請(qǐng)求信號(hào),然后復(fù)位網(wǎng) 絡(luò)通信重構(gòu)區(qū)域,并解除網(wǎng)絡(luò)通信重構(gòu)區(qū)域的屏蔽控制信號(hào)。本發(fā)明實(shí)施例中的重構(gòu)主控 模塊接收重構(gòu)控制塊的重構(gòu)請(qǐng)求后進(jìn)行重構(gòu)準(zhǔn)備,所述重構(gòu)準(zhǔn)備是指當(dāng)重構(gòu)主控模塊收到 重構(gòu)請(qǐng)求后,進(jìn)行基于FPGA的串行總線通信在線重構(gòu)的常規(guī)自檢的過(guò)程,目的是檢測(cè)從站 設(shè)備是否具備重構(gòu)的基本條件,例如用戶對(duì)否已經(jīng)自定義劃分好重構(gòu)區(qū)域,重構(gòu)區(qū)域的的 大小是否適度等等。
[0035] 具體為,若在重構(gòu)過(guò)程中,出現(xiàn)重構(gòu)錯(cuò)誤信號(hào),則取消重構(gòu)請(qǐng)求信號(hào),然后等待20 個(gè)重構(gòu)時(shí)鐘以后重新執(zhí)行重構(gòu)步驟。值得注意的是,當(dāng)重構(gòu)成功信號(hào)出現(xiàn)后,需要等待該信 號(hào)解除后才能對(duì)復(fù)位網(wǎng)絡(luò)通信重構(gòu)區(qū)域和解除該區(qū)域的屏蔽控制信號(hào)。
[0036] 存儲(chǔ)控制塊3,該功能塊根據(jù)外部存儲(chǔ)器定義讀取數(shù)據(jù)應(yīng)用接口,當(dāng)重構(gòu)控制塊啟 動(dòng)網(wǎng)絡(luò)通信重構(gòu)時(shí),該模塊根據(jù)重構(gòu)控制塊提供的存儲(chǔ)器地址,連續(xù)從外部存儲(chǔ)器中取出 數(shù)據(jù)。
[0037] 外部存儲(chǔ)器模塊4,該存儲(chǔ)器按地址分別存儲(chǔ)了 Modbus RTU和Modbus ASCII數(shù)據(jù) 鏈路層的配置文件。
[0038] 重構(gòu)主控模塊5, Altera Cyclone V或Arria V或Stratix V器件內(nèi)部都集成了 該控制塊,重構(gòu)控制塊通過(guò)預(yù)留的交互接口,即可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域的重新配置。
[0039] 應(yīng)用功能塊,Modbus網(wǎng)絡(luò)中每個(gè)設(shè)備從站都通過(guò)應(yīng)用功能塊實(shí)現(xiàn)自身應(yīng)用功能, 該模塊包括兩個(gè)單元:Modbus應(yīng)用層單元61,該單元主要實(shí)現(xiàn)Modbus通信協(xié)議應(yīng)用層的協(xié) 議數(shù)據(jù)包解析及封裝等;用戶應(yīng)用單元62,該單元主要功能與本設(shè)備站具體功能有關(guān),例 如控制信號(hào)的輸出、控制量的計(jì)算、傳感器信號(hào)采集等等。除此之外,該模塊通過(guò)Modbus網(wǎng) 絡(luò)同其它通信站相連,實(shí)現(xiàn)站與站之間的數(shù)據(jù)交互。
[0040] 圖2為本發(fā)明主要實(shí)現(xiàn)步驟示意圖。
[0041] 步驟S1.對(duì)FPGA進(jìn)行區(qū)域劃分,并劃分為靜態(tài)區(qū)域和通信重構(gòu)區(qū)域,其中,靜態(tài)區(qū) 域至少包括重構(gòu)控制模塊2以及重構(gòu)主控模塊5,當(dāng)然,靜態(tài)區(qū)域還還包括應(yīng)用功能模塊、 存儲(chǔ)器控制模塊3以及鏈路通信檢測(cè)模塊1,其中應(yīng)用功能模塊用于控制信號(hào)的輸出、控制 量的計(jì)算、傳感器信號(hào)采集等;存儲(chǔ)器控制模塊用于當(dāng)重構(gòu)控制模塊氣動(dòng)網(wǎng)絡(luò)通信重構(gòu)時(shí) 根據(jù)重構(gòu)控制提供的存儲(chǔ)器地址,連續(xù)從外置存儲(chǔ)器中讀取配置文件數(shù)據(jù);重構(gòu)主控模塊 為Altera Cyclone V、Arria V以及Stratix V等系列的FPGA器件內(nèi)部集成的控制模塊, 重構(gòu)控制模塊通過(guò)預(yù)留的交互接口,即可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域的重新配置。本實(shí)施例 中所述的FPGA (Field _ Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣歹丨」,它是作為專(zhuān)用 集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了 原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。
[0042] 步驟S2.識(shí)別串行總線的通信協(xié)議類(lèi)型,當(dāng)串行總線的通信協(xié)議類(lèi)型與重構(gòu)區(qū)域 中的通信協(xié)議類(lèi)型不一致時(shí),激活重構(gòu)控制模塊;若一致,則不動(dòng)作,等待下次串行總線的 報(bào)文信息并進(jìn)行識(shí)別,直到通信協(xié)議不一致的情況下執(zhí)行下一步,其中,對(duì)于串行總線的通 信協(xié)議類(lèi)型與重構(gòu)通信協(xié)議類(lèi)型的識(shí)別是通過(guò)鏈路通信檢測(cè)模塊實(shí)現(xiàn)的,鏈路通信檢測(cè) 模塊根據(jù)串行總線的報(bào)文信息識(shí)別當(dāng)前網(wǎng)絡(luò)的通信協(xié)議類(lèi)型,以Modbus ASCII協(xié)議以及 Modbus RTU協(xié)議對(duì)識(shí)別過(guò)程進(jìn)行詳細(xì)的表述:
[0043] 根據(jù)Modbus傳輸協(xié)議標(biāo)準(zhǔn)的規(guī)定:通訊首先由主站向從站發(fā)起請(qǐng)求,而且Modbus 的主站每次只能發(fā)起一個(gè)通信事務(wù),網(wǎng)絡(luò)中所有從站都會(huì)接收到該請(qǐng)求報(bào)文,然后通過(guò)解 析該報(bào)文的地址域內(nèi)容,判斷該內(nèi)容是否為本站地址,若是則作出相應(yīng)的應(yīng)答響應(yīng),否則丟 棄該報(bào)文。其中地址域的有效范圍為1-247,另外0號(hào)地址為廣播地址,所有從站收到"0 號(hào)地址"請(qǐng)求時(shí)均不進(jìn)行報(bào)文應(yīng)答。從另一個(gè)方面,網(wǎng)絡(luò)的整個(gè)通信方式由Modbus主站決 定,所有網(wǎng)絡(luò)從站都必須與之一致才能正常通信。
[0044] 步驟S3.重構(gòu)控制模塊向重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求,重構(gòu)控制模塊接收重構(gòu)主 控模塊的準(zhǔn)備完成信號(hào)后對(duì)重構(gòu)區(qū)域重新進(jìn)行協(xié)議配置,即對(duì)重構(gòu)區(qū)域進(jìn)行重構(gòu)。
[0045] 圖3為本發(fā)明的具體實(shí)施例流程示意圖。如圖3所示,是本實(shí)施例提供的Modbus 從站通過(guò)重構(gòu)網(wǎng)絡(luò)數(shù)據(jù)鏈路層的實(shí)現(xiàn)自動(dòng)適應(yīng)網(wǎng)絡(luò)通信協(xié)議變化的詳細(xì)流程圖,其包含了 具體實(shí)施過(guò)程的諸多細(xì)節(jié),有助于理解本發(fā)明,但是對(duì)于本領(lǐng)域技術(shù)人員而言,這諸多細(xì)節(jié) 限定而成的技術(shù)方案僅是本發(fā)明較優(yōu)的技術(shù)方案,不應(yīng)理解為本發(fā)明的唯一實(shí)現(xiàn)方式或者 對(duì)保護(hù)范圍的限定。具體流程包括:
[0046] 步驟S301、判斷當(dāng)前網(wǎng)絡(luò)鏈路通信類(lèi)型是否與網(wǎng)絡(luò)重構(gòu)區(qū)域的通信協(xié)議類(lèi)型一 致,該步驟等同于第一實(shí)施例的步驟S301-S310后,根據(jù)當(dāng)前通信計(jì)數(shù)器值確定當(dāng)前鏈路 通信協(xié)議類(lèi)型,然后再將該類(lèi)型與圖1中網(wǎng)絡(luò)通信重構(gòu)區(qū)域里的通信協(xié)議類(lèi)型相比較,若 此二者顯示的通信類(lèi)型一致,不需要改變,則進(jìn)入下一次條件判斷;若此二者顯示通信類(lèi)型 不一致,則進(jìn)入步驟S302。
[0047] 步驟S302、若步驟S301判斷結(jié)果為假時(shí),說(shuō)明該從站通信協(xié)議與網(wǎng)絡(luò)主站通信協(xié) 議不一致,則激活重構(gòu)控制塊,屏蔽網(wǎng)絡(luò)通信重構(gòu)區(qū)域的輸入信號(hào),避免在重構(gòu)過(guò)程中,夕卜 界信號(hào)變換影響網(wǎng)絡(luò)重構(gòu)。
[0048] 步驟S3〇3、根據(jù)當(dāng)前檢測(cè)的網(wǎng)絡(luò)通信協(xié)議,確定外部存儲(chǔ)器的通信地址,建立數(shù)據(jù) 通路。
[0049] 其中,外部存儲(chǔ)器是用作存放網(wǎng)絡(luò)通信重構(gòu)區(qū)域的部分重構(gòu)配置文件,本實(shí)施例 是實(shí)現(xiàn)Modbus ASCII與Modbus RTU數(shù)據(jù)鏈路的自動(dòng)重構(gòu),即在該存儲(chǔ)其中按地址分段存 儲(chǔ)了 Modbus ASCII數(shù)據(jù)鏈路配置文件和Modbus RTU數(shù)據(jù)鏈路層配置文件。當(dāng)存儲(chǔ)控制塊 向該存儲(chǔ)器發(fā)送讀命令,同時(shí)將讀的起始地址發(fā)送值存儲(chǔ)器,然后該存儲(chǔ)器將數(shù)據(jù)按照時(shí) 鐘周期節(jié)拍傳送至存儲(chǔ)器控制塊。
[0050] 步驟S304、重構(gòu)控制塊向FPGA中的重構(gòu)主控節(jié)點(diǎn)準(zhǔn)備重構(gòu)時(shí)鐘,并發(fā)送重構(gòu)請(qǐng)求 信號(hào),該請(qǐng)求信號(hào)表明外部請(qǐng)求對(duì)網(wǎng)絡(luò)通信重構(gòu)區(qū)域重新配置,而且該信號(hào)需要一直保持 高電平,直到重構(gòu)成功信號(hào)出現(xiàn)。
[0051] 其中,重構(gòu)時(shí)鐘由重構(gòu)控制塊提供,該時(shí)鐘信號(hào)時(shí)重構(gòu)主節(jié)點(diǎn)的工作的基準(zhǔn)時(shí)鐘, 而且重構(gòu)控制塊應(yīng)當(dāng)在整個(gè)重構(gòu)過(guò)程中為重構(gòu)主控節(jié)點(diǎn)提供該時(shí)鐘信號(hào)。步驟S303、判斷 重構(gòu)主控節(jié)點(diǎn)準(zhǔn)備完成信號(hào)是否被發(fā)生。重構(gòu)控制模塊發(fā)送重構(gòu)請(qǐng)求信號(hào)后,F(xiàn)PGA需要一 段時(shí)間反應(yīng),準(zhǔn)備數(shù)據(jù)接收等操作,在此期間對(duì)重構(gòu)主節(jié)點(diǎn)送人數(shù)據(jù)是無(wú)效的。
[0052] 步驟S3〇6、若步驟S304判斷為真,則等待四個(gè)重構(gòu)時(shí)鐘周期,并通過(guò)存儲(chǔ)器烤制 塊取出第一個(gè)16bit數(shù)據(jù),并將其放在重構(gòu)主節(jié)點(diǎn)的數(shù)據(jù)總線上。
[0053]其中,重構(gòu)準(zhǔn)備完成信號(hào)出現(xiàn)后,需要等待四個(gè)時(shí)鐘周期,在此我們稱(chēng)之為"握手 協(xié)定",保證重構(gòu)數(shù)據(jù)域時(shí)鐘同步。
[0054]其中,由于重構(gòu)主節(jié)點(diǎn)的數(shù)據(jù)位寬為I6,則每次都需要從存儲(chǔ)器取出兩個(gè)字節(jié)數(shù) 據(jù),其中第一個(gè)字節(jié)為低8位,第二字節(jié)為高第8位。
[0055]步驟§3〇7、按照時(shí)鐘節(jié)拍,每次從外部存儲(chǔ)器中取出i6bit數(shù)據(jù),并在重構(gòu)時(shí)鐘的 下降沿將該配置數(shù)據(jù)放在數(shù)據(jù)總線上。
[0056]當(dāng)S306等待四個(gè)重構(gòu)時(shí)鐘周期后,重構(gòu)主節(jié)點(diǎn)將在時(shí)鐘的上升沿或數(shù)據(jù)總線數(shù) 據(jù)。本實(shí)例提供的方法約定,在每個(gè)時(shí)鐘的下降沿準(zhǔn)備好重構(gòu)數(shù)據(jù),以保證在上升沿采集的 時(shí)候數(shù)據(jù)的有序及有效性。
[0057]步驟S308、判斷重構(gòu)主節(jié)點(diǎn)的重構(gòu)成功信號(hào)是否被置高。若該電平保持為低,則說(shuō) 明配置文件尚未傳輸完成,則返回步驟S307 ;若該電平被置高,說(shuō)明重構(gòu)結(jié)束,然后進(jìn)入步 驟 S309。
[0058]步驟S309、取消重構(gòu)請(qǐng)求信號(hào),等待重構(gòu)成功信號(hào)置0。為避免重構(gòu)主節(jié)點(diǎn)啟動(dòng)第 二次重構(gòu),規(guī)定重構(gòu)請(qǐng)求信號(hào)在8個(gè)重構(gòu)時(shí)鐘內(nèi)必須清除為〇,本實(shí)施例規(guī)定,當(dāng)出現(xiàn)重構(gòu) 成功信號(hào)后,則立即取消重構(gòu)請(qǐng)求信號(hào)。
[0059] 其中,當(dāng)重構(gòu)信號(hào)出現(xiàn)后,F(xiàn)PGA將會(huì)保持重構(gòu)成功信號(hào)一段時(shí)間,在該期間內(nèi),不 允許網(wǎng)絡(luò)通信重構(gòu)區(qū)域的屏蔽信號(hào)及復(fù)位信號(hào)仍需要保持為高。
[0060] 步驟S310、取消屏蔽網(wǎng)絡(luò)通信重構(gòu)區(qū)域輸入信號(hào),復(fù)位網(wǎng)絡(luò)通信重構(gòu)區(qū)域。在步 驟S309中,當(dāng)重構(gòu)成功信號(hào)由高變?yōu)榈秃?,整個(gè)重構(gòu)過(guò)程已經(jīng)結(jié)束。重構(gòu)控制塊則取消步 驟S302的屏蔽控制信號(hào),并復(fù)位該網(wǎng)絡(luò)通信重構(gòu)區(qū)域,以保證所有的通信狀態(tài)保持為初始 值。
[0061] 需要注意的是,整個(gè)FGPA需要在整體配置成功一次之后,才能進(jìn)行該實(shí)施例的重 構(gòu)過(guò)程,該整體配置同時(shí)將靜態(tài)區(qū)域和網(wǎng)絡(luò)部分重構(gòu)區(qū)域同時(shí)配置,該過(guò)程可以保證通信 識(shí)別通信檢測(cè)模塊、應(yīng)用控制塊、存儲(chǔ)器控制塊等正常工作。
[0062] 本實(shí)施例初始完全配置過(guò)程中網(wǎng)絡(luò)通信重構(gòu)區(qū)域的初始通信方式可以為 Modbus ASCII和Modbus RTU中的任意一種,均滿足本實(shí)施例的要求。此外,整個(gè)FPGA的重構(gòu)次數(shù) 是根據(jù)實(shí)際情況確定,沒(méi)有嚴(yán)格限制。
[0063] 圖4為本發(fā)明的通信協(xié)議類(lèi)型的判別過(guò)程示意圖。
[0064] Modbus ASCII和Modbus RTU均包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層,但其數(shù)據(jù)鏈路 層差異較大,尤其是數(shù)據(jù)位寬、數(shù)據(jù)編碼方式等。如圖4所示:
[0065] 步驟S401. Modbus從站(滿足Modbus RTU或Modbus ASCII其中任意一種通信協(xié) 議)通過(guò)RS-485總線數(shù)據(jù)輸入信號(hào),并監(jiān)視該輸入信號(hào)的起始信號(hào);
[0066] 其中,起始信號(hào)是Modbus通信站傳輸每個(gè)字節(jié)的起始位,規(guī)定為低電平。當(dāng)接收 比特流計(jì)數(shù)值為零,且鏈路輸入信號(hào)為低電平時(shí),則該信號(hào)為起始信號(hào),表明一個(gè)字節(jié)傳輸 開(kāi)始;
[0067] 步驟S402.判斷采樣比特流數(shù)據(jù)的時(shí)間是否到,該采樣時(shí)間尚未到時(shí),則繼續(xù)等 待;
[0068] 步驟S403.若步驟S402判斷采樣時(shí)間到時(shí),則將當(dāng)前鏈路輸入數(shù)據(jù)放入接收緩 存,然后將比特流接收計(jì)數(shù)器加1,其中,比特流數(shù)據(jù)存放的相對(duì)地址由比特流計(jì)數(shù)值決 定;
[0069] 步驟S404.判斷比特流計(jì)數(shù)值是否等于9,并且判斷步驟S403接收的比特?cái)?shù)據(jù)是 否等于1 ;
[0070] 具體地,由Modbus ASCII傳輸協(xié)議標(biāo)準(zhǔn)規(guī)定,在數(shù)據(jù)鏈路層傳輸?shù)拿總€(gè)字節(jié)數(shù)據(jù) 包括1個(gè)起始位+7個(gè)數(shù)據(jù)位+1個(gè)奇偶校驗(yàn)位+1個(gè)停止位,Modbus RTU傳輸協(xié)議標(biāo)準(zhǔn)規(guī) 定,在數(shù)據(jù)鏈路層的每個(gè)字節(jié)包括1個(gè)起始位+8個(gè)數(shù)據(jù)位+1個(gè)奇偶校驗(yàn)位,其中起始位為 0,停止位為1,奇偶檢驗(yàn)位由數(shù)據(jù)位和奇偶檢驗(yàn)方式?jīng)Q定。當(dāng)步驟S404中判斷比特流計(jì) 數(shù)值為9,則說(shuō)明本次字節(jié)傳送的起始位、數(shù)據(jù)位、奇偶檢驗(yàn)位均己被接收,若當(dāng)前接收的比 特流數(shù)據(jù)為1,則表明符合Modbus ASCII停止位要求,然后進(jìn)入步驟S40S,進(jìn)行奇偶檢驗(yàn)檢 查;
[0071] 步驟S405.判斷比特流計(jì)數(shù)值是否等于10。若步驟404與步驟S405判斷結(jié)果同 時(shí)為假時(shí),則返回S402,準(zhǔn)備接收下一個(gè)數(shù)據(jù);若步驟S405判斷結(jié)果為真時(shí),說(shuō)明已接收的 數(shù)據(jù)不符合Modbus ASCII幀格式要求,而且此時(shí)已經(jīng)接收了 1〇比特?cái)?shù)據(jù),滿足Modbus RTU 字節(jié)比特流校驗(yàn)要求,則進(jìn)入步驟S406 ;
[0072] 步驟S406.判斷bitl_bit9奇偶檢驗(yàn)是否正確,若正確則進(jìn)入步驟S4〇7,
[0073] 步驟S407.對(duì)通信計(jì)數(shù)器加 1 ;
[0074] 步驟S408.判斷bitl_bit8的奇偶檢驗(yàn)是否正確,按照Modbus ASCII協(xié)議規(guī)定, 接收緩存的biti-bits包括了全部的數(shù)據(jù)位和奇偶檢驗(yàn)位。若該校驗(yàn)結(jié)果錯(cuò)誤,即不符合 Modbus ASCII的幀格式,則重新進(jìn)入步驟S304,繼續(xù)接收第10個(gè)比特?cái)?shù)據(jù);若該校驗(yàn)結(jié)果 正確,即符合Modbus ASCII的幀格式,然后進(jìn)入步驟S409,將通信計(jì)數(shù)器減1 ;
[0075] 步驟S210.清零比特流計(jì)數(shù)器,當(dāng)完成Modbus ASCII和Modbus RTU正確校驗(yàn)后, 然后進(jìn)入該步驟對(duì)比特流計(jì)數(shù)器進(jìn)行清零操作,表明一個(gè)字節(jié)接收完畢,重新返回開(kāi)始操 作,進(jìn)行下一個(gè)字節(jié)數(shù)的接收及判斷。
[0076] 通過(guò)上述步驟,完成對(duì)Modbus ASCII以及Modbus RTU的識(shí)別,上述識(shí)別方式僅僅 是以Modbus總線的兩種模式Modbus ASCII以及Modbus RTU為例進(jìn)行協(xié)議識(shí)別說(shuō)明,在實(shí) 際應(yīng)用中,其他的網(wǎng)絡(luò)通信協(xié)議也可以釆用上述的方法進(jìn)行識(shí)別,只是其他協(xié)議的字節(jié)的 起始位、校驗(yàn)位等設(shè)置不同而已。
[0077] 圖5為本發(fā)明的具體實(shí)施例通信模型異同點(diǎn)對(duì)比示意圖。如圖5所示,Modbus總 線傳輸模式分為Modbus ASCII和Modbus RTU兩種傳輸模式。按0SI七層模型,Modbus ASCII和Modbus RTU均包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層,但其數(shù)據(jù)鏈路層差異較大,尤其 是數(shù)據(jù)位寬、數(shù)據(jù)編碼方式等。本發(fā)明正是基于此思路,提供一種通過(guò)改變網(wǎng)絡(luò)通信數(shù)鏈路 層,在線自動(dòng)適應(yīng)Modbus ASCII與Modbus RTU通信協(xié)議的方法。串行鏈路的通信協(xié)議所 包括的物理層,數(shù)據(jù)鏈路層和應(yīng)用層,通常情況下,基于FPGA平臺(tái)的網(wǎng)絡(luò)通信重構(gòu)區(qū)域包 含數(shù)據(jù)鏈路層和應(yīng)用層,若從站設(shè)備的物理層沒(méi)有設(shè)置可與FPGA芯片相匹配對(duì)接的對(duì)外 接口,則網(wǎng)絡(luò)通信重構(gòu)區(qū)域包含數(shù)據(jù)鏈路層和應(yīng)用層,但是,若從站設(shè)備的物理層設(shè)置有可 與FPGA芯片匹配對(duì)接的對(duì)外接口,依然可以通過(guò)本發(fā)明所提供的方法實(shí)現(xiàn)基于FPGA的串 行總線通信在線重構(gòu)。雖然在本發(fā)明的實(shí)施例中,對(duì)Modbus ASCII和Modbus RTU的通信 重構(gòu)中只重構(gòu)數(shù)據(jù)鏈路層,是因?yàn)槭S嗟膽?yīng)用層和物理層是一樣的,不再做重復(fù)表述。
[0078] 圖6是Modbus總線網(wǎng)絡(luò)的拓?fù)鋱D。如圖6所示,其主要由一個(gè)Modbus主站和若 干個(gè)Modbus從站構(gòu)成,其中各個(gè)站之間通過(guò)RS-485總線連接,并在狀5總線兩端分別接入 120 Ω的終端電阻。Modbus網(wǎng)絡(luò)中各站之間通信均采用該總線傳輸,而且每個(gè)正確的通信 報(bào)文均符合Modbus傳輸協(xié)議標(biāo)準(zhǔn)。
[0079] 根據(jù)Modbus傳輸協(xié)議標(biāo)準(zhǔn)的規(guī)定:通訊首先由主站向從站發(fā)起請(qǐng)求,而且Modbus 的主站每次只能發(fā)起一個(gè)通信事務(wù),網(wǎng)絡(luò)中所有從站都會(huì)接收到該請(qǐng)求報(bào)文,然后通過(guò)解 析該報(bào)文的地址域內(nèi)容,判斷該內(nèi)容是否為本站地址,若是則作出相應(yīng)的應(yīng)答響應(yīng),否則丟 棄該報(bào)文。其中地址域的有效范圍為1-247,另外0號(hào)地址為廣播地址,所有從站收到"0 號(hào)地址"請(qǐng)求時(shí)均不進(jìn)行報(bào)文應(yīng)答。從另一個(gè)方面,網(wǎng)絡(luò)的整個(gè)通信方式由Modbus主站決 定,所有網(wǎng)絡(luò)從站都必須與之一致才能正常通信。根據(jù)Modbus總線傳輸協(xié)議標(biāo)準(zhǔn)的定義: Modbus總線傳輸模式分為Modbus ASCII和Modbus RTU兩種傳輸模式。
[0080] 應(yīng)當(dāng)指出,以上【具體實(shí)施方式】可以使本領(lǐng)域的技術(shù)人員更全面地理解本發(fā)明創(chuàng) 造,但不以任何方式限制本發(fā)明創(chuàng)造。因此,盡管本說(shuō)明書(shū)和實(shí)施例對(duì)本發(fā)明創(chuàng)造己進(jìn)行了 詳細(xì)的說(shuō)明,但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明創(chuàng)造進(jìn)行修改或者等同替 換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均涵蓋在本發(fā)明創(chuàng)造專(zhuān)利 的保護(hù)范圍當(dāng)中。
【權(quán)利要求】
1. 基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述網(wǎng)絡(luò)通信過(guò)程涉及主站 設(shè)備和從站設(shè)備,具體包括如下步驟: 步驟一,對(duì)從站設(shè)備中的FPGA進(jìn)行區(qū)域劃分,并劃分為靜態(tài)區(qū)域和通信重構(gòu)區(qū)域,所 述靜態(tài)區(qū)域包括重構(gòu)控制模塊和重構(gòu)主控模塊; 步驟二,從站設(shè)備識(shí)別串行總線的通信協(xié)議類(lèi)型,當(dāng)串行總線的通信協(xié)議類(lèi)型與所述 通信重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型不一致時(shí),激活所述重構(gòu)控制模塊; 步驟三,從站設(shè)備中所述重構(gòu)控制模塊向所述重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求,所述重構(gòu) 主控模塊收到所述重構(gòu)請(qǐng)求后進(jìn)行重構(gòu)準(zhǔn)備,并在確認(rèn)完成重構(gòu)準(zhǔn)備后發(fā)出準(zhǔn)備完成信號(hào) 給所述重構(gòu)控制模塊,所述重構(gòu)控制模塊收到所述準(zhǔn)備完成信號(hào)后對(duì)所述通信重構(gòu)區(qū)域進(jìn) 行在線動(dòng)態(tài)重新配置,使得所述重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型與所述串行總線的通信協(xié)議類(lèi) 型一致。
2. 根據(jù)權(quán)利要求1所述基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,從站設(shè) 備的所述通信重構(gòu)區(qū)域包含串行鏈路通信協(xié)議所包括的物理層,數(shù)據(jù)鏈路層和應(yīng)用層,所 述網(wǎng)絡(luò)通信協(xié)議的在線動(dòng)態(tài)重新配置是指:①若從站設(shè)備的物理層沒(méi)有設(shè)置可與FPGA芯 片相匹配對(duì)接的對(duì)外接口,則網(wǎng)絡(luò)通信重構(gòu)區(qū)域包含數(shù)據(jù)鏈路層和應(yīng)用層,②若從站設(shè)備 的物理層設(shè)置有可與FPGA芯片匹配對(duì)接的對(duì)外接口,則網(wǎng)絡(luò)通信重構(gòu)區(qū)域包含對(duì)物理層, 數(shù)據(jù)鏈路層和應(yīng)用層進(jìn)行通信重構(gòu)的過(guò)程,實(shí)現(xiàn)基于FPGA的串行總線的網(wǎng)絡(luò)通信在線重 構(gòu),應(yīng)用層和物理層的通信重構(gòu)過(guò)程與數(shù)據(jù)鏈路層的通信重構(gòu)過(guò)程方法相同。
3. 根據(jù)權(quán)利要求1的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,對(duì)網(wǎng)絡(luò)通 信重構(gòu)區(qū)域進(jìn)行重構(gòu)之前,將整個(gè)靜態(tài)區(qū)域和通信重構(gòu)區(qū)域完全重新配置一次,確定所述 通信重構(gòu)區(qū)域的默認(rèn)通信類(lèi)型。
4. 根據(jù)權(quán)利要求1的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述步驟 二中,在激活重構(gòu)控制模塊之前,先通過(guò)從站設(shè)備中的存儲(chǔ)器控制模塊測(cè)試并建立所述重 構(gòu)控制模塊與從站設(shè)備的外置存儲(chǔ)器之間的數(shù)據(jù)連接,為網(wǎng)絡(luò)通信重構(gòu)準(zhǔn)備配置文件,所 述配置文件的位置由當(dāng)前串行總線的通信協(xié)議的類(lèi)型決定。
5·根據(jù)權(quán)利要求1的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述步驟 二中,所述重構(gòu)控制模塊被激活后,重構(gòu)控制模塊凍結(jié)所述通信重構(gòu)區(qū)域的所有輸入信號(hào), 包括所述重構(gòu)控制模塊向所述重構(gòu)主控模塊輸出的用于將通信重構(gòu)區(qū)域復(fù)位的局部復(fù)位 信號(hào)。
6·根據(jù)權(quán)利要求4的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述步驟 三中,所述重構(gòu)控制模塊向重構(gòu)主控模塊發(fā)送重構(gòu)請(qǐng)求的同時(shí),所述重構(gòu)控制模塊向所述 重構(gòu)主控模塊發(fā)送重構(gòu)時(shí)鐘,所述重構(gòu)請(qǐng)求信號(hào)在整個(gè)重構(gòu)過(guò)程中貫穿整個(gè)重構(gòu)過(guò)程,直 到出現(xiàn)重構(gòu)成功或者重構(gòu)錯(cuò)誤。
7.根據(jù)權(quán)利要求6的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述重構(gòu) 控制模塊接收到重構(gòu)主控模塊的準(zhǔn)備完成信號(hào)后,等待四個(gè)重構(gòu)時(shí)鐘周期,并在第四個(gè)重 構(gòu)時(shí)鐘周期結(jié)束前存儲(chǔ)控制模塊從存儲(chǔ)器中讀取第一個(gè)16bit的數(shù)據(jù); 當(dāng)?shù)谒膫€(gè)重構(gòu)時(shí)鐘周期結(jié)束時(shí),即第四個(gè)重構(gòu)周期的下降沿,存儲(chǔ)控制模塊將讀取的 第一個(gè)Mbit的數(shù)據(jù)傳輸至重構(gòu)主控模塊的數(shù)據(jù)總線上,第一次等待四個(gè)時(shí)鐘周期以后, 在下一個(gè)下降沿到達(dá)之前讀取第二個(gè)16bit的數(shù)據(jù); 重復(fù)上述動(dòng)作直到存儲(chǔ)器中的配置文件讀取完成且重構(gòu)主控模塊輸出重構(gòu)成功信號(hào) 到所述重構(gòu)控制模塊。 _
8.根據(jù)權(quán)利要求7所述的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述 重構(gòu)控制模塊接收到重構(gòu)成功信號(hào)后在8個(gè)重構(gòu)時(shí)鐘周期內(nèi)解除重構(gòu)請(qǐng)求信號(hào)。
9·根據(jù)權(quán)利要求5所述的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述 重構(gòu)請(qǐng)求信號(hào)解除后,需要等待通信重構(gòu)區(qū)域的凍結(jié)信號(hào)成功解除后,所述重構(gòu)請(qǐng)求信號(hào) 才能通過(guò)重構(gòu)區(qū)域的復(fù)位信號(hào)進(jìn)行復(fù)位。
10.根據(jù)權(quán)利要求1所述的基于FPGA的串行總線通信在線重構(gòu)方法,其特征在于,所述 靜態(tài)區(qū)域還包括鏈路通信檢測(cè)模塊,鏈路通信檢測(cè)模塊根據(jù)串行總線的報(bào)文信息識(shí)別當(dāng)前 網(wǎng)絡(luò)的通信協(xié)議類(lèi)型,若識(shí)別的當(dāng)前通信協(xié)議類(lèi)型與重構(gòu)區(qū)域中的通信協(xié)議類(lèi)型不一致, 鏈路通信檢測(cè)模塊激活重構(gòu)控制模塊。
【文檔編號(hào)】H04L12/40GK104219121SQ201410471276
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年9月16日 優(yōu)先權(quán)日:2014年9月16日
【發(fā)明者】趙亦欣, 黃偉, 吳小軍, 楊智, 彭正福, 劉靜, 呂躍躍 申請(qǐng)人:西南大學(xué)