潘浩



摘? 要: 傳統異步串行通信接口轉換系統轉換過程中,CPU利用率差,轉換的數據可靠性不高。為了解決上述問題,基于現場總線設計了一種新的異步串行通信接口轉換系統。針對系統硬件和軟件進行設計,利用核心控制模塊、CAN總線通信接口、PROFIBUS?DP總線通信接口模塊、異步串行通信接口轉換模塊、電源轉換模塊和總線選擇開關模塊構成硬件結構,在總架構的基礎上給出了拓撲結構,重點設計了核心控制模塊和PROFIBUS?DP總線通信接口模塊。在硬件結構基礎上設計軟件程序,并在程序模塊基礎上研究了軟件轉換流程。為檢測系統性能,設計對比實驗,結果表明,基于現場總線設計的異步串行通信接口轉換系統能夠準確地轉換出數據,確保結果的可靠性,CPU利用率高于傳統系統。
關鍵詞: 異步串行通信; 通信接口轉換; 現場總線; 系統設計; 控制模塊; 實驗分析
中圖分類號: TN915?34? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)21?0017?04
Design of asynchronous serial communication interface conversion system
based on field bus
PAN Hao
(College of Information Engineering, Huanghuai University, Zhumadian 463000, China)
Abstract: In the conversion process of traditional asynchronous serial communication interface conversion system, the utilization of its CPU is poor and the reliability of converted data is not high. In order to solve the above problems, a new asynchronous serial communication interface conversion system is designed based on field bus. The hardware and software of the system are designed. The core control module, CAN bus communication interface, PROFIBUS?DP bus communication interface module, asynchronous serial communication interface conversion module, power supply conversion module and bus selection switch module are used to constitute the hardware structure. On the basis of the general framework, the topology structure is given. The core control module and the PROFIBUS?DP bus communication interface module are emphatically designed. On the basis of the hardware structure, the software program is designed, and the software conversion process is studied on the basis of the program module. In order to test the performance of the system, a comparative experiment is designed. The experimental results show that the asynchronous serial communication interface conversion system based on field bus can accurately convert data and ensure the reliability of the results, and the utilization rate of its CPU is higher than that of the traditional system.
Keywords: asynchronous serial communication; communication interface transformation; field bus; system design; control module; experiment analysis
0? 引? 言
步入20世紀80年代后,計算機、通信、控制和模塊化集成技術不斷發展,現場總線技術成為了一種新興技術。現場總線能夠實現雙向通信、串行通信、多節點數字通信,是自動化領域的計算機局域網[1]。近年來,現場總線技術發展迅猛,進一步促成了通信網絡的多樣性,給用戶帶來了更多的選擇。現場總線技術在帶來方便的同時,也帶來了一系列問題,主要問題有:通信設備引進價格高,每種總線適用的領域十分有限,缺少成熟的總線標準,不同的現場總線要設定不同的標準。總線標準的不同嚴重限制了總線與總線之間的交流,在同一個現場有時候使用的總線標準也有所不同,必須要使用更高層的網絡才能完成通信,內部設備是可以直接通信的,如果與其他設備相連,就要研究一個標準的通信接口[2]。
異步串行通信是現場總線的重要工作之一,設定異步串行通信接口轉換系統具有很強的現實意義[3]。目前研究的異步串行通信接口轉換系統僅是針對單一現場總線進行轉換,這樣的轉換系統接口功能十分單一,不具備靈活性,難以滿足目前復雜的現場工業要求。本文針對PROFIBUS現場總線和CAN現場總線設計了一種接口轉換系統,該轉換系統能夠共享網絡資源,從而達到異構網絡互聯的效果,轉換系統中選擇的控制器為集成CAN控制器,消耗功率低,性能穩定,配合SoC單片機,可提高系統性能。
1? 異步串行通信接口轉換系統硬件設計
本文設計的異步串行通信接口轉換系統擁有6個模塊,分別為:核心控制模塊、CAN總線通信接口、PROFIBUS?DP總線通信接口模塊、異步串行通信接口轉換模塊、電源轉換模塊和總線選擇開關模塊[4]。設計的硬件結構圖如圖1所示。
系統擁有3個端點,這3個端點有2個連接轉換系統的開關,有1個連接轉換系統的芯片組,通過CPU、GFX、存儲器、PCI設備共同構成轉換系統的拓撲結構,如圖2所示。
1.1? 核心控制模塊
核心控制模塊指的是單片機C8051F040,內部核心部件為CAN控制器,C8051F040單片機占地面積小、消耗功率低,能夠在短時間內處理大量數據,具有很強的抗干擾能力,轉換系統加入了C8051F040單片機后,硬件的集成復雜度和開發成本都可以有效降低。C8051F040單片機由Cygnal公司生產,內核為CIP?51,內部的指令集為8051指令集,CIP?51與8051指令集能夠很好地兼容,提高系統的工作頻率,最高頻率可達30 MHz,核心控制模塊內部還擁有一個64 KB的FLASH RAM和4 KB的數據存儲器[5]。核心控制模塊內部雖然只有一個芯片,但是這個芯片集成了采集功能、控制功能、處理功能等多種功能,這一芯片的加入不僅降低了占地面積,也使系統在運行時消耗更低的功耗,擁有更高的可靠性[6]。
核心控制模塊內部結構圖如圖3所示。
8051指令集采用的結構是高速流水線結構,能夠同時兼容核心控制模塊中的CIP?51內核,提高工作速度,最高可以達到45 MIPS。圖1中的CAN控制器選擇的規范為2.0B規范,配置32個發送裝置和接收裝置,單片機的調試接口為全速接口和非侵入式接口。ADC通道為8位,自帶PGA,由模擬電路開關控制,DAC通道為12位,以可編程的方式更新數據。FLASH存儲器的內部字節為64 KB,RAM內部的字節[7]為4 352 B。
核心控制模塊在外部也設置了可尋址64 KB的外部數據存儲器接口,通過4個UART串行接口連接12個通用的定時器,每個定時器內部都有一個捕捉/比較模塊的陣列。除了通用定時器之外,核心控制模塊內部還有看門狗定時器、VDD監視器和溫度傳感器。
為加強核心控制模塊的整體性,整個模塊選用的控制協議都為CAN控制協議。被采集到的數據通過串口通信模塊進入核心控制模塊,利用轉換器轉換成符合CAN控制協議或PROFIBUS?DP協議的數據,再將這些數據上傳給現場總線網絡,由現場總線網絡中的異步串行通信接口完成數據轉換[8]。除此之外,核心控制模塊還具備讀入數據的能力,所有的讀入數據都可以利用串口協議轉換給滿足現場串口設備或儀表要求的數據,這種轉換方式被稱為逆向轉換[9]。
PROFIBUS?DP協議的數據幀格式如圖4所示。
1.2? PROFIBUS?DP總線通信接口模塊
PROFIBUS?DP總線通信接口模塊主要包括三部分:協議控制器、光耦隔離電路、總線驅動器。為了更好地實現PROFIBUS?DP總線通信接口模塊的通信功能,在通信模塊的總線上設定了一個網絡設備,由該網絡設備統一與其他網絡設備進行數據交換[10]。PROFIBUS現場總線是模塊的核心元件,控制各個設備的功能實現。
通信接口工作狀態如圖5所示。
通信接口模塊共有7層,SPC3被設定在最底下的一層,配合微處理器處理第2~7層的數據,第2層的數據集成在芯片中,所以處理起來比較困難,其他幾層的數據直接由設備反饋,處理起來相對比較容易。作為一款智能性極強的芯片,SPC3適用于任何的通信設備,具有獨立完成通信協議的能力,加入SPC3芯片后,PROFIBUS?DP總線通信接口模塊的執行能力更強。由于是硬件驅動總線的存取工作,所以數據交換必須要在RAM中進行。通過數據接口連接應用對象,所有的數據交換都是以獨立方式存在。SPC3智能芯片通過集成得到完整的DP協議,集成后,通信模塊對數據的監測能力大大加強,只要波特率在9.6 Kb/s~12 Mb/s之間的數據,都可以檢測到[11]。
接口模塊中的微處理器在整個通信工作中發揮著重要作用,因此必須要設定能夠調節微處理器的固態程序。除此之外,接口模塊中還設有方式寄存器、狀態寄存器、中斷寄存器。
PROFIBUS?DP總線通信接口模塊結構圖如圖6所示。
上述通信模塊具有很強的兼容能力,能夠兼容80C32芯片、80X86芯片、80C166芯片、80C165芯片、80C167芯片和HC11芯片、HC16芯片、HC916芯片,通過簡單的用戶接口實現通信循環和應用循環。總線通信接口模塊使用的傳輸技術為RS 485傳輸技術,選用的驅動器為差分驅動器,具有很強的抗干擾能力,即使是長距離的數據傳輸,受到外界的干擾也很小,差分驅動器的驅動能力強、消耗功率低。
總線驅動器件結構圖如圖7所示。
觀察圖7可知,總線驅動器上的數據以雙向的方式傳播,傳播協議共有4個,分別為TIA/EIA?422?B標準、TIA/EIA?485?A標準、ITU推薦標準、V.1和X.27標準,對數據的處理速度最高可以達到50 Mbaud,輸入和輸出電壓的波動幅度很大[12]。總線電壓的波動會影響SPC3的正常運行,甚至可能造成損壞,因此需要加入光電隔離器件,隔離最大電壓和最大轉換速率。最大電壓和最大轉換速率數值越大,選用的光電隔離器件速度越高,目前比較典型的光速隔離芯片為HCPL7101芯片,該芯片不僅傳播速度快,而且是光耦芯片。
2? 異步串行通信接口轉換系統軟件設計
在完成硬件工作后,對軟件進行編程和調試,為了使單片機和微控制器更好的配合,利用803X匯編器和805X編譯器開發軟件,編寫源程序為CI5程序,開發環境為Keil μVision2,以模塊化結構編寫軟件程序,確保每個模塊都能夠有明確的分工,每個模塊都對應有自己的代碼,使維護更加方便[13]。
軟件程序模塊結構圖如圖8所示。
核心控制器負責轉換串行接口與CAN總線接口之間的協議,位于主程序模塊中,負責完成初始化工作和循環工作,在同一時間完成接收、發送和查詢工作。基于現場總線的異步串行通信接口轉換系統軟件工作流程如圖9所示。
本文設計的異步串行通信接口轉換系統軟件程序使用的現場總線并非單一的現場總線,而是深層次開發的現場總線,通過多次判斷完成數據轉換。
3? 實驗研究
3.1? 實驗目的
為了驗證所設計的異步串行通信接口轉換系統的功能及性能,設定實驗組件,與傳統轉換系統進行實驗對比,分析實驗結果。
3.2? 實驗硬件測試平臺建立
設計的實驗硬件平臺如圖10所示。
設定PC機和CP5611網絡接口卡作為測試系統的網絡主站,測試過程選擇的開發板為DP?51開發板。同時使用傳統的異步串行通信接口轉換系統和基于現場總線的異步串行通信接口轉換系統進行實驗。
3.3? 實驗結果與分析
通過分析轉換系統數據的上行速率和轉換接收間隔,判斷兩個系統的CPU利用率,得到的實驗圖如圖11所示。
分析圖11可知,隨著接收時間的增加,轉換系統的上行速率逐漸減小,在極限狀態下,上行速率大約為1 120 Kb/s,在這一速率下,本文轉換系統的CPU利用率要高于傳統轉換系統的CPU利用率,這是因為基于現場總線設計的異步串行通信接口轉換系統轉換后的PCIe板卡和ARM設備都能夠定時接收數據,設備中的多個電路以疊加的方式運行,即使是多任務同時運行也不會影響系統的任務調度結果,本文轉換系統與傳統轉換系統的轉換準確率如圖12所示。
通過圖12可知,在相同的轉換時間內,基于現場總線的異步串行通信接口轉換系統的轉換數據準確率要高于傳統異步串行通信接口轉換系統的轉換數據準確率,數據更加可靠,數據中的轉換器具備基本的輸入和輸出功能。
4? 結? 語
本文針對目前使用最廣泛的PROFIBUS現場總線和CAN現場總線技術設計了轉換系統,包括系統的總體結構和軟件程序。在本文設計的系統中,SPC3協議芯片和C8051F040單片機發揮著重要作用,在設計之前,要詳細了解協議芯片和控制器的說明資料。
由于單片機自身的局限性,所以本文設計的轉換系統在很多方面還有不足,在設計時可以加入FPGA技術增加系統的擴展性,同時可以加入網絡接口,提高系統的適用范圍。
參考文獻
[1] 李敏艷.基于DSP的CAN總線轉換器的設計[J].世界產品與技術,2016,20(10):60?61.
[2] 田晉羽,吳迪,劉建秋.基于RS485的現場總線監控系統的設計[J].中國科技博覽,2019,25(10):105.
[3] 嚴法高,陳虹,許慧.基于現場總線的電梯監控系統設計[J].微計算機信息,2017,21(6):85?87.
[4] 李斌,王曉航,施沖.嵌入式通信管理裝置的設計和實現[J].水電與抽水蓄能,2018,28(3):6?8.
[5] 楊志家.面向工業現場總線系統的SoC關鍵技術研究與設計[J].工業信息學研究室,2018,40(1):60?66.
[6] 郝銘,劉景泰,盧桂章.基于RS 485總線分布式智能控制系統的設計與實現[J].自動化與儀表,2018,20(2):23?25.
[7] 喬有田.基于現場總線的語音通信方法的研究[J].揚州職業大學學報,2019,10(2):44?46.
[8] 張亞,韓芳.基于DSP的現場總線通信節點的設計與實現[J]. 常州信息職業技術學院學報,2019,6(4):9?11.
[9] 湯佳明,安偉.基于LabVIEW的上位機串口通信程序設計[J].電子設計工程,2018,26(11):86?90.
[10] 鞏林玉,周治邦,員春欣.基于現場總線的故障安全通信協議研究[J].工業控制計算機,2018,28(7):1686?1688.
[11] 王忠清,陳雪松,曹微言,等.基于DeviceNet現場總線的從站接口卡的設計與實現[J].工業計量,2017,17(3):13?16.
[12] 謝經明,周祖德,陳幼平,等.基于現場總線的數控系統通信環節時間特性分析[J].計算機集成制造系統,2018,9(4):285?288.
[13] 歐陽琴,李哲英.基于現場總線技術的通信接口轉換網橋的實現[J].北京交通大學學報,2019,23(6):38?42.
作者簡介:潘? 浩(1981—),男,河南信陽人,博士,實驗師,研究方向為通信技術、軟件設計與測試。