999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于控制網絡的多協議通信適配器的設計

2015-01-27 06:38:02
自動化與儀表 2015年1期
關鍵詞:單片機設置

(內蒙古科技大學 信息工程學院,包頭 014010)

在工業控制領域,控制網絡技術是自動控制技術和計算機通訊技術發展和相互融合的網絡化自動控制技術,在不同的自動化領域產生了不同體系結構的控制網絡,甚至同一自動化領域也產生了多種體系結構的控制網絡。從集散控制系統、現場總線控制系統乃至工業以太網都是以控制網絡數據通訊為基礎的,當前現場設備接口與控制網絡的連接主要通過支持不同協議的通信適配器以及網關來實現。這種局面在短時間內很難有所改觀。面對當前支持不同協議的多種控制網絡體系紛爭的局面,不同廠商的現場設備難以適從,為實現與控制網絡進行數據通訊,隨之而產生了大量的支持不同通訊協議的具有數據通訊接口的智能設備。但目前市面上一些大公司所提供的解決方案價格昂貴,軟件開發成本較高,對于底層網絡價格太過于昂貴。因此,國內一些公司也致力于這方面的研究,并取得一定成果,但功能相對單一,一般的網關只能實現一種協議數據到另一種協議數據的轉換,通信適配器只能實現一種標準接口數據到一種協議數據的轉換。靈活性與通用性不足,很難滿足復雜的現場控制網絡與設備通信的要求。

基于目前的研究現狀,本設計以拓展網關及通信適配器研究為方向,以基于控制網絡的多協議通信適配器為研究內容,通過對多協議通信適配器的研究,實現現場設備與控制網絡的“無縫融合”,靈活應對需要與多種不同協議控制網絡通信的現場設備。

1 總體設計方案

圖1 多協議通信適配器的硬件框圖Fig.1 Multi-Protocol communication adapter hardware block diagram

多協議通信適配器主要由硬件部分與軟件部分組成。多協議通信適配器的硬件結構框圖如圖1所示。多協議通信適配器主要由單片機最小系統電路、鍵盤與顯示器電路、Profibus-DP總線接口電路、CAN總線接口電路以及串口接口電路組成,該裝置在硬件設計時充分利用專用協議芯片、串口電平轉換芯片、高速驅動芯片等技術優勢,在提高系統可靠性的同時有效降低軟件開銷。Profibus-DP總線接口電路中采用西門子Profibus專用協議芯片SPC3, Profibus-DP側的通訊任務由協議芯片SPC3完成,SPC3芯片是優化的專用Profibus-DP從站協議芯片,Profibus-DP協議的關鍵部分由智能協議芯片SPC3實現,其余部分由單片機軟件實現,單片機通過控制SPC3實現數據交換,這樣在提高硬件可靠性的同時,大大降低了軟件的開發工作量。CAN總線接口電路中采用專用的CAN控制器SJA1000來實現CAN節點的設計。有的單片機本身集成了CAN通信功能,但卻加重了單片機的運算與處理數據的壓力,本設計中使用CAN控制器SJA1000與單片機之間進行數據交換,CAN總線協議的主要部分由控制器SJA1000來完成。串口接口電路則采用能夠支持RS485、RS232和RS422標準串行接口傳輸方式的MAX3162復合電平轉換芯片,實現串行信號與單片機TTL電平信號的轉換任務,降低硬件成本同時提高可靠性。軟件部分的設計主要包括單片機的初始化,SPC3與SJA1000的初始化,中斷服務程序,功能選擇程序以及通信適配器的GSD文件。除GSD文件外其余程序都要在Keil環境下進行編譯。

2 硬件電路設計

該多協議通信適配器由控制單元模塊、Profibus-DP總線接口模塊、CAN總線接口模塊、串行接口模塊、鍵盤顯示器模塊、晶振模塊與電源模塊等組成。

2.1 控制單元模塊設計

控制單元作為多協議通信適配器的核心,通過單片機對各個芯片的控制,保證通信適配器的正常工作。單片機電路如圖2所示。

圖2 單片機電路Fig.2 Microcontroller circuit

本設計中采用 51兼容機W78E58B單片機,W78E58B是帶有ISP功能的Flash EPROM的低功耗8位微控制器,內含32 KB的ROM,不需要外擴ROM,4個8位雙向、可位尋址的I/O口,1個附加的4位I/O口P4,3個16位定時/計數器及 1個串行口。這些外圍設備都由有8個中斷源和2級中斷能力的中斷系統支持,可以很好地滿足設計要求。單片機利用P0口與部分P2口外擴了16 KB的數據存儲器(RAM)用于通信過程中的各網絡的接收與發送緩沖區以及單片機的數據緩沖,地址空間在0x8000-0x3FFF。單片機的P2.7、P2.6作為譯碼器的輸入信號端,通過譯碼器選擇選通工作芯片,選擇與Profibus-DP總線或CAN總線通信。單片機采用5 V電壓源供電,P0口作為地址線低8位與數據線復用端口,通過地址鎖存器將地址與數據線分離,P2.0-P2.5作為地址的高位與外部數據存儲器相連。當Profibus-DP總線與CAN總線向單片機發送數據時,通過INT0與INT1外部中斷的方式通知單片機。為防止程序跑飛,設置了看門狗電路,使用芯片MAX813L,單片機的P3.5不斷輸出脈沖到看門狗芯片,作為喂狗信號,當程序跑飛,不再輸出信號時,電路復位。

2.2 Profibus-DP總線接口模塊

Profibus-DP總線作為標準現場總線,同樣符合ISO/OSI參考模型,Profibus-DP采用了OSI模型的物理層、數據鏈路層,DP型隱去了3~7層,而增加了直接數據鏈擬合作為用戶接口層,進行數據傳輸。Profibus-DP總線接口模塊電路主要由協議芯片SPC3、光耦、Profibus-DP總線收發器組成,SPC3芯片是優化的專用 Profibus-DP從站協議芯片,支持9.6 kb/s到12 Mb/s的波特率;能夠自動監測網絡的波特率并對自己的波特率進行調整;內部集成1.5 KB的雙口RAM;集成了看門狗定時器。Profibus-DP協議的關鍵部分由智能協議芯片SPC3實現,其余部分由單片機軟件實現,單片機通過控制SPC3實現數據交換。SPC3有2種工作模式:Intel模式和Motorola模式,由于本系統單片機選擇的是8051的兼容機,因此SPC3工作模式采用Intel模式。Profibus-DP網絡側采用SN75176來完成數據的收發任務,它能將網絡上的差分信號轉換成TTL信號傳輸給SPC3的RXD口,同時也能夠將SPC3的TTL信號轉換成差分信號,光耦采用HP公司的HC-PL7720,其波特率可達到25 Mb/s,完全可以滿足Profibus-DP通訊需要。Profibus-DP總線接口模塊電路如圖3所示。

有源晶振為SPC3芯片提供穩定的48 M時鐘頻率。單片機通過緩沖門電路74HC245控制芯片SPC3工作。串行發送端口TXD連接到U2_3芯片(光耦)的V1端口,發送數據到Profibus-DP總線;串行接收端口RXD連接到U2_2芯片(光耦)的V0端,接收來自總線的數據。RTS端通過電阻R9連接到U2_4芯片(光耦)的VF-端,作為請求發送信號。SPC3通過中斷INT0向單片機發送中斷請求,傳輸數據通信??偩€收發器與DB9針形連接器相連,總線收發器的A、B端并聯一個120 Ω的終端電阻,并且在終端電阻上增加一個跳線開關,當從站不在總線型網絡兩端時閉合跳線開關,短路終端電阻。

2.3 CAN總線接口模塊

圖3 Profibus-DP總線接口模塊電路圖Fig.3 Profibus-DP bus interface module circuit diagram

圖4 CAN總線接口模塊電路圖Fig.4 CAN bus interface module circuit diagram

CAN總線接口模塊如圖4所示。CAN協議也是建立在國際標準組織的開放系統互聯模型基礎上的,其模型結構只有3層,即只取OSI底層的物理層、數據鏈路層和應用層。CAN為多主方式工作,網絡上任一節點均可在任意時刻主動地向網絡上其他節點發送信息,不分主從,在報文標識符上,CAN上的節點分成不同的優先級,可滿足不同的實時要求[6],CAN采用非破壞總線仲裁技術,當多個節點同時向總線發送信息出現沖突時,優先級低的節點會主動退出發送,而最高優先級的節點可不受影響地繼續傳輸數據,從而大大節省了總線沖突仲裁時間。CAN的每幀信息都有CRC校驗及其他檢錯機制,具有極好的檢錯效果[5]。本設計主要利用CAN控制器SJA1000來實現CAN總線協議。SJA1000扮演了網絡協議轉換的角色,提供了微處理器物理線路接口,并進行數據的發送與接收。

SJA1000的AD0~AD7與單片機的AD0~AD7相連接,單片機通過譯碼器輸出Y1連接SJA1000的CS端,當Y1為低電平時,SJA1000選通進行工作。SJA1000通過中斷INT1向單片機發送中斷請求,傳輸數據通信。復位端RST通過反相器與看門狗芯片連接,當程序跑飛時進行復位。實現CAN通信的各種協議都已經封裝在SJA1000中,因此不需要編寫相應的底層程序。SJA1000的數據通過TX0引腳送出,通過光耦進入總線收發器PCA82C250的TXD引腳,由總線收發器送到CAN總線,CAN總線上的數據則由總線收發器的RXD通過光耦送到SJA1000的RX0與RX1。SJA1000與CAN總線之間采用高速光耦6N137,并且在光耦6N137輸入端口需要加輸入電阻390 Ω,輸出端口需要加上拉電阻390 Ω。

2.4 串行接口模塊

本設計在串口側要支持3種不同的串口RS232、RS485與RS422,故采用復合電平轉換芯片MAX3162來完成串行信號與單片機的TTL信號的相互轉換。MAX3162能夠同時支持RS232、RS485、RS422三種傳輸方式,可以作為雙通道的RS232收發器,也可以作為單通道的RS485/RS422收發器,支持RS485/RS422的全雙工和半雙工工作模式。支持RS485的10 Mb/s和RS232的1 Mb/s的傳輸速率。采用MAX3162芯片可以有效地減輕電路設計的復雜性,提高電路的穩定性。串口側使用2個DB9針連接器,一個作為RS485/RS422串口接口,另一個作為RS232串口接口。

3 軟件設計

軟件部分主要包括Profibus-DP專用協議芯片SPC3的初始化、CAN控制器SJA1000的初始化、主程序、單片機的中斷服務程序、功能選擇程序以及通信適配器的GSD文件。GSD文件使用西門子公司提供的GSD文件編輯器GSD Editor進行編寫與編譯,其余程序則全部使用C51語言進行編寫,在Keil下進行編譯和調試。

3.1 SPC3的初始化程序

在SPC3正常工作之前,首先要進行初始化,已配置需要的寄存器,包括設置協議芯片的中斷允許,寫入從站識別號與地址,設置SPC3方式寄存器,設置診斷緩沖區、參數緩沖區、地址緩沖區、初始化長度,并根據以上初始值得出各個緩沖區的指針和輔助緩沖區的指針。根據傳輸數據長度,確定輸出緩沖區,輸入緩沖區。SPC3初始化流程圖如圖5所示。

圖5 SPC3初始化流程圖Fig.5 Flow chart of SPC3 initialization

SPC3開始初始化時,首先設置從站地址與標示符,從站地址通過鍵盤進行設置,從站標示符是不變的,每個從站都有自己的標示符。接下來設置各個緩沖區的長度,這些緩沖區決定了SPC3中各個數據緩沖區的長度,這些緩沖區占用SPC3雙口RAM空間,因此不能超過緩沖區的總長度。然后必須確保SPC3處于離線狀態,只有在離線狀態下才可以對SPC3進行初始化,然后判斷各緩沖區是否超出SPC3規定,如果符合規定,然后進行設置SPC3中的各個緩沖區的起始地址寄存器與長度寄存器的值,然后根據用戶信息,計算出實際需要的輸入輸出字節數,并對相應的寄存器進行設置。在這些完成后,用戶將通過程序讀取第一個輸入輸出緩沖器指針與診斷緩存器指針,最后對SPC3進行使能,SPC3就可以進行工作了。

3.2 SJA1000的初始化

CAN控制器SJA1000必須在上電或硬件復位后設置 CAN通訊,即對 SJA1000的初始化,SJA1000得到一個復位脈沖后進入復位模式,在設置SJA1000的寄存器之前,單片機通過讀復位模式/請求標志來確認SJA1000是否已達到復位模式,因為要配置信息的寄存器僅在復位模式可寫。SJA1000初始化流程如圖6所示。

圖6 SJA1000初始化流程圖Fig.6 Flow chart of SJA1000 initialization

SJA1000初始化時,首先要禁用CAN中斷源,然后檢查是否進入復位模式/請求,如果沒有進入則返回繼續檢查,當檢測到已經進入復位模式/請求,然后配置各個寄存器。設置時鐘分頻寄存器,選擇是否使能CLKOUT引腳,是否旁路CAN輸入比較器以及TX1輸出是否用作專門的接收中斷輸出。接下來設置驗收碼寄存器與驗收屏蔽寄存器,定義接收報文的驗收碼,設置對報文和驗收碼進行比較的相關位定義驗收屏蔽碼。接著設置總線定時寄存器,定義總線位速率,定義位采樣點,定義在一個周期里采樣的數量。最后設置輸出控制寄存器,定義CAN總線輸出管腳TX0和TX1的輸出模式:正常輸出模式、時鐘輸出模式、雙相輸出模式或測試輸出模式。定義TX0和TX1輸出管腳配置:懸空、下拉、上拉或推挽以及極性。設置完所有寄存器后,退出復位模式/請求標志,進入工作模式。必須先檢查標志是否確實被清除,是否進入了工作模式才能進行下一步的操作。最后對CAN中斷使能,SJA1000初始化完成。

3.3 主程序的設計

主程序主要包括單片機、SPC3與SJA1000的初始化程序,用戶輸入輸出數據的處理以及診斷報文的處理程序。主程序流程圖如圖7所示。

圖7 主程序流程圖Fig.7 Flow chart of Main program

系統上電后,首先通過鍵盤選擇工作模式:與Profibus-DP總線通信還是與CAN總線進行通信、與RS232通信,或者與RS485通信,又或者與RS422通信;設置從站地址與波特率信息,然后關閉所有中斷,禁止中斷的發生,待單片機與 SPC3或SJA1000初始化結束后打開中斷。單片機的初始化主要包括初始化單片機內部的各個寄存器,存儲器與各個串口的參數。設置串口的工作方式,定時器與計數器的基本工作模式,并設置單片機的中斷系統,外部中斷0與外部中斷1,并對中斷進行優先級設置。接下來系統要對SPC3或者SJA1000進行初始化。初始化全部完成后,單片機開放中斷源,此時通信適配器開始進行工作,接收總線的數據發送給串口設備,并且把串口設備發送過來的數據傳送給總線。

4 實驗結果

本設計中除GSD文件外全部程序在Keil環境下進行編譯。以模擬 CAN總線與RS485接口設備通信為例進行驗證,表1為模擬CAN總線與RS485接口通信數據。設置USBCAN接口卡與串口側波特率相同均為9600 b/s,濾波方式為單濾波,過濾屏蔽碼為FF FF FF FF,即不對報文的ID濾波,幀格式設置為標準幀,幀類型為數據幀,幀ID為00 00 00 01。實驗結果表明,該裝置設計合理,運行準確穩定。進行編譯與調試,使用西門子公司的COM Profibus組態軟件,利用PC機作為主站測試通信適配器與Profibus-DP的通信能力,經測試,通信適配器通過總線與主站進行數據交換,能夠將串口側數據發送到主站,也可將主站數據發送到串口側;CAN總線通信測試采用USBCAN接口卡連接上位機,通過通信適配器與下位機相連接,上位機與USBCAN接口卡模擬CAN總線發送與接收數據與通信適配器的總線側連接,下位機作為串口接口設備與通信適配器的串口側連接,經測試,通信適配器可很好地完成數據收發工作,將串口側數據發送到CAN總線,將CAN總線數據傳送到串口設備。

表1 模擬CAN總線與RS485接口通信數據Tab.1 Simulation of CAN bus and RS485 interface communication data

5 結語

本文所設計的多協議通信適配器集成了Profibus-DP總線接口與CAN總線接口以及RS232、RS485、RS422三個常用串口接口,實現了常用串口與多種協議的現場總線通信,較前人設計功能更加豐富,性價比高,性能穩定,可根據現場環境靈活運用。調試結果表明多協議通信適配器的硬件可靠,軟件編寫合理,數據傳輸能力強,準確穩定,適合用于具有類似需求的工業控制現場,達到了設計目的。本裝置主要解決了在復雜控制網絡或特殊的改造場合的數據轉換需求。

[1] 李正軍.現場總線及其應用技術[M].北京:機械工業出版社,2006.

[2] 饒運濤,鄒繼軍,鄭勇蕓.現場總線CAN原理與應用技術[M].北京:北京航天航空大學出版社,2003.

[3] 張海艷.RS232/485與CAN總線協議轉換器的研究與設計[D].遼寧:大連海事大學,2008.

[4] 潘巍偉.基于PROFIBUS-DP從站現場總線多協議轉換網關研究[D].浙江:杭州電子科技大學,2011.

[5] 許慧.Modbus與CAN-bus協議轉換器研究[D].遼寧:東北大學,2010.

[6] 楊麗麗.MVB-CAN通信網關的設計與實現[D].四川:西南交通大學,2010.

[7] IEC 61158,現場總線標準[S],2005.

[8] 晁武杰,甘永梅,王兆安.Profibus-DP與RS232/RS422/RS485之間通信適配器的研制[J].電氣自動化,2008,30(6):70-75.

[9] 李科亮,郭世明,蘇玉香,等.基于P87C591單片機的CANRS232轉換接口[J].儀表技術與傳感器,2009(3):68-69.

[10]姚發閃,陳志軍.基于AT89C52單片機的RS485-CAN智能轉換器設計[J].微型機與應用,2012,31(3):34-36.

[11]趙小國,閻曉姝.基于SPC3的MODBUS-PROFIBUS總線橋的設計[J].儀表技術與傳感器,2010(7):64-65,86.

[12]馬云峰,周百令,萬振剛,等.基于TL16C550和MAX3160的多協議異步串口設計[J].儀表技術與傳感器,2005(9):45-46.

[13]胡永紅,丁璐,楚亞菲.基于單片機的CAN-PROFIBUS-DP總線橋的設計[J].計算機測量與控制,2009,17(7):107-109.

[14]歐陽丹娜,李穎宏.RS232串口與PROFIBUS-DP通信實現的研究[J].儀器儀表學報,2005,26(8):82-83,89.

猜你喜歡
單片機設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
7招教你手動設置參數
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 国产精品久久精品| 精品国产99久久| 丰满人妻中出白浆| 国产主播福利在线观看| 国产91丝袜在线播放动漫| 亚洲第一中文字幕| 老司机久久99久久精品播放| 国产精品白浆在线播放| 久久网欧美| 国产成人h在线观看网站站| 久久永久精品免费视频| 欧美成一级| 五月天丁香婷婷综合久久| 亚洲第一色网站| 国产在线91在线电影| 在线欧美一区| 日韩亚洲综合在线| 亚洲国产日韩在线观看| 无码中文AⅤ在线观看| 国产在线观看99| 粗大猛烈进出高潮视频无码| 久爱午夜精品免费视频| 亚洲欧美日韩成人在线| 国产主播在线一区| 久久夜色精品| 国产精品一区二区在线播放| 精品福利国产| 韩日午夜在线资源一区二区| 亚洲av无码成人专区| 91久久国产热精品免费| 69精品在线观看| 高清无码手机在线观看| 亚洲精品高清视频| 亚洲欧美成人网| 乱人伦视频中文字幕在线| 国产99热| 久草视频中文| 国产精品视频a| 二级毛片免费观看全程| 精品久久久无码专区中文字幕| 福利国产在线| 一边摸一边做爽的视频17国产| 国产区在线看| 人妻丰满熟妇啪啪| 国产成人久久综合777777麻豆 | 国产精品免费p区| 亚洲视频在线青青| 亚洲天堂视频网| 国产精品女同一区三区五区| 一本大道在线一本久道| 五月婷婷激情四射| 18禁黄无遮挡免费动漫网站| 国产精品美乳| 中文精品久久久久国产网址| 高清无码一本到东京热| 日韩精品成人网页视频在线| 国产在线麻豆波多野结衣| 欧美一区福利| 性色一区| 成人国产精品视频频| 国产a网站| 午夜视频日本| 亚洲日韩精品无码专区97| 高清大学生毛片一级| 日韩高清中文字幕| 久久精品中文无码资源站| 中文字幕在线日韩91| 日韩国产欧美精品在线| 91精品国产一区自在线拍| 国产精品久久久久婷婷五月| 3344在线观看无码| 操国产美女| 国产91在线|日本| 伊人婷婷色香五月综合缴缴情| 老司国产精品视频91| 国产精品亚欧美一区二区三区| 97se亚洲| 亚洲一区二区日韩欧美gif| 91丝袜乱伦| 99re视频在线| 日日噜噜夜夜狠狠视频| jijzzizz老师出水喷水喷出|