• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MDT單片機(jī)的Modbus遠(yuǎn)程控制器設(shè)計

    2018-03-12 07:23:11包琴
    福建工程學(xué)院學(xué)報 2018年1期
    關(guān)鍵詞:波特率寄存器端口

    包琴

    (1.福建工程學(xué)院 福建省汽車電子與電驅(qū)動技術(shù)重點實驗室, 福建 福州 350118; 2.福建省北斗導(dǎo)航與智慧交通協(xié)同創(chuàng)新中心, 福建 福州 350118)

    公共建筑電力能耗監(jiān)測與管理系統(tǒng)有效地提高了后勤部門用電監(jiān)管的自動化程度,為節(jié)能管理提供了一個有效手段[1]。針對當(dāng)前能耗監(jiān)管系統(tǒng)的數(shù)據(jù)采集網(wǎng)關(guān)對現(xiàn)場用電控制能力有限的現(xiàn)狀,設(shè)計一種基于MDT和Modbus協(xié)議的控制器,實現(xiàn)對現(xiàn)場用電設(shè)備開關(guān)狀態(tài)的讀取和切換,以提高能耗監(jiān)管系統(tǒng)對用電設(shè)備的控制水平,特別是對違規(guī)用電設(shè)備的實時監(jiān)視和處理能力。

    MDT10P73單片機(jī)功能兼容PIC16F73,片上資源豐富,使用溫度寬,抗干擾能力強(qiáng),適合于工業(yè)現(xiàn)場使用,其采用的高性能RISC指令集,在20 MHz外部時鐘晶體時單周期指令為200 ns,執(zhí)行

    效率高,編程方便[2-3]。

    Modbus協(xié)議是由Modicon公司推出并真正應(yīng)用于工業(yè)現(xiàn)場的總線協(xié)議[4]。通過此協(xié)議,能夠由通信網(wǎng)絡(luò)實現(xiàn)控制器之間、控制器和其它設(shè)備之間進(jìn)行可靠地通信,目前Modbus已經(jīng)成為一種通用的工業(yè)標(biāo)準(zhǔn)[5-6]。

    1 控制器硬件設(shè)計

    1.1 硬件總體設(shè)計

    MDT10P73單片機(jī)具備4K×14位EPROM程序存儲器、192字節(jié)的RAM存儲器、22個GPIO接口、3個定時器、11個中斷、5通道8位ADC、1個I2C接口和1個UART通用串口等多種外設(shè),為小型控制系統(tǒng)提供了十分便利的解決方案[7]。

    基于MDT單片機(jī)和Modbus-RTU的遠(yuǎn)程控制器主要由MDT10P73單片機(jī)最小系統(tǒng)、RS485通信電路、輸入輸出IO電路和供電電源組成,遠(yuǎn)程控制器硬件總體框圖如圖1所示。

    圖1 遠(yuǎn)程控制器硬件總體框圖Fig.1 Hardware diagram of the remote control unit

    1.2 硬件詳細(xì)設(shè)計

    遠(yuǎn)程現(xiàn)場控制器選用28引腳窄型DIP封裝的MDT10P73,共設(shè)計4路狀態(tài)量繼電器輸出控制接口、12路光耦隔離的狀態(tài)量采集輸入接口、1個半雙工隔離型RS485接口。

    將MDT10P73的GPIO接口PB2-PB7配置為6路輸入狀態(tài)并使能端口弱上拉電阻;PA0-PA5配置為6路輸入狀態(tài);PC0-PC3配置為4路輸出狀態(tài);PB0-PB1預(yù)留給I2C總線。遠(yuǎn)程現(xiàn)場控制器核心部分的電路原理如圖2所示,其中24C02為外置E2PROM。

    圖2 MDT10P73核心部分的原理圖Fig.2 Schematic circuit of the MDT10P73’s core board

    為保護(hù)遠(yuǎn)程控制器輸入端口,12路狀態(tài)量采集電路,采用光耦器件與主MCU進(jìn)行隔離,圖3是其中一路狀態(tài)量采集的原理設(shè)計電路。

    圖3 帶隔離保護(hù)的狀態(tài)量采集電路Fig.3 State variable acquisition circuit with isolation

    為實現(xiàn)輸入端口的保護(hù)功能,圖3使用插件高速光耦TLP781進(jìn)行光電隔離,并由獨立的模擬電源HVCC=24 V提供供電。TVS瞬變抑制二極管SMBJ26A能夠削減高壓帶來的沖擊。在IN-1端口閉合/斷開的情況下,能夠控制光耦器件TLP781工作狀態(tài)的改變,實現(xiàn)了輸入信號的隔離交換。

    遠(yuǎn)程控制器的4路狀態(tài)量控制輸出接口,直接由MDT10P73 MCU的PC0-PC3輸出口,在隔離光耦的配合下,驅(qū)動常開繼電器的開/閉操作,其繼電器隔離驅(qū)動電路如圖4所示。

    圖4 遠(yuǎn)程控制模塊狀態(tài)輸出電路Fig.4 State output circuit of the remote control module

    為實現(xiàn)與智能網(wǎng)關(guān)的遠(yuǎn)程互聯(lián),現(xiàn)場控制器內(nèi)實現(xiàn)了1路帶隔離功能的高速RS485接口,并設(shè)計靜電、雷擊和抗交流~220 V誤接入的保護(hù)功能。

    ADM2587E是一款內(nèi)部采用isoPowerTM集成式隔離DC/DC技術(shù)的RS-485/RS-422收發(fā)器,可配置成半雙工或全雙工模式,其RS-485輸入/輸出引腳上具有±15 kV ESD保護(hù)功能[8]。帶隔離保護(hù)的高速RS485接口設(shè)計如圖5所示,其中RS485模擬部分5.0 VCC的供電電源,直接由ADM2587E芯片內(nèi)部的隔離DC-DC提供,實現(xiàn)了與數(shù)字部分+5 V電源的完全隔離。

    圖5 帶隔離保護(hù)的高速RS485接口Fig.5 High speed RS485 interface with isolation

    ADM2587E的通信速率高達(dá)500 kbps,工作溫度-40~+85 ℃,2.5 kV隔離電壓,±15 kV的ESD保護(hù),完全滿足遠(yuǎn)程控制器在復(fù)雜現(xiàn)場的高速通信需求[9]。

    2 控制器軟件設(shè)計

    MDT10P73片上RAM存儲器有限,堆棧深度固定8級,因此,遠(yuǎn)程控制器軟件采用前后臺系統(tǒng)的模式,并直接由匯編語言實現(xiàn)控制器的采集、控制、存儲和通信功能??紤]到MDT10P73指令單周期200 ns快速高效的性能,為增加系統(tǒng)的抗干擾能力,UART串口和GPIO的工作狀態(tài),均采用輪詢方式進(jìn)行確認(rèn)。

    2.1 軟件總體設(shè)計

    遠(yuǎn)程控制器前臺程序是一個無限的輪詢循環(huán),軟件總體設(shè)計如圖6所示。

    圖6 遠(yuǎn)程控制器前臺軟件流程圖Fig.6 Flowchart for the foreground software of the remote control unit

    后臺軟件主要涉及12路狀態(tài)量的GPIO輸入電平監(jiān)控、4路狀態(tài)量輸出、UART串口接收、UART發(fā)送和Modbus-RTU協(xié)議處理5個任務(wù)。

    2.2 GPIO輸入/輸出控制

    遠(yuǎn)程控制器的GPIO輸入/輸出控制的核心是12個輸入狀態(tài)量的電平監(jiān)控。為提高狀態(tài)量讀取的可靠性,GPIO輸入電平監(jiān)控采用輪詢方式,并對噪聲干擾進(jìn)行一定的濾波處理。

    輸入狀態(tài)量的電平掃描流程圖如圖7所示。

    圖7 輸入端口電平輪詢流程圖Fig.7 Flowchart of the level polling of input ports

    在輸入端口100 ms的掃描周期內(nèi),匯編后臺程序?qū)刂破鞯?2路輸入狀態(tài)量DI[0~11]進(jìn)行5次掃描,將掃描的低電平次數(shù),累計到j(luò)k變量內(nèi),其中k=0~11。若5次掃描,有3次以上為低電平,將認(rèn)為該DI[k]端口出現(xiàn)低電平。

    2.3 UART的數(shù)據(jù)收發(fā)

    UART初始化成8 bit數(shù)據(jù),1停止位,無奇偶校驗的格式,并設(shè)計波特率為1 200~115 200 bps。UART數(shù)據(jù)收發(fā)按Modbus-RTU協(xié)議約束,其幀間間隙應(yīng)有大于3.5個字符的空閑時間,幀內(nèi)字節(jié)間隙不超過1.5個字符時間[10]。

    圖8是Modbus-RTU協(xié)議幀的發(fā)送流程,其中指針寄存器FSR指向協(xié)議幀的起始地址,協(xié)議幀的長度信息暫存于temp_i臨時寄存器中,RTU協(xié)議幀報文字節(jié)發(fā)送完成后,即temp_i為0時退出。

    圖8 Modbus-RTU數(shù)據(jù)幀發(fā)送流程Fig. 8 Flowchart of the transmission of Modbus-RTU data frame

    3 控制器Modbus協(xié)議設(shè)計

    Modbus是OSI模型第7層上的應(yīng)用層報文傳輸協(xié)議,它可在不同類型總線的設(shè)備之間,提供客戶機(jī)/服務(wù)器通信[11]。表1所示的是一個典型的Modbus-RTU協(xié)議幀結(jié)構(gòu)。

    表1 Modbus-RTU協(xié)議幀的基本結(jié)構(gòu)Tab.1 Basic structure of Modbus-RTU protocol frame

    注:T為一個字節(jié)的通信時間,S為1個停止位

    Modbus-RTU模式在總線上進(jìn)行通訊時,協(xié)議幀報文中的每8位的字節(jié)被分成2個4位的16進(jìn)制的字符,該模式的主要優(yōu)點是在相同波特率時傳輸?shù)拿芏雀哂贏SCII模式[12]。

    遠(yuǎn)程控制器通過擴(kuò)展Modbus-RTU協(xié)議幀的“N×8位”的數(shù)據(jù)內(nèi)容為“Modbus寄存器+數(shù)據(jù)內(nèi)容”,定義了Modbus對控制器的操作寄存器,主要約定了對控制器的參數(shù)設(shè)置/獲取和端口數(shù)據(jù)讀/寫操作。

    控制器Modbus寄存器的定義如表2所示。

    表2遠(yuǎn)程控制器的Modbus寄存器列表

    Tab.2ListofModbusregistersfortheremotecontrol

    unit

    協(xié)議幀功能碼(H)Modbus寄存器數(shù)據(jù)內(nèi)容操作參數(shù)類型03DI:00H-0BH0/1→低/高只讀03/10/06DO:10H-13H0/1→低/高讀寫通訊參數(shù)03/10/0640H通訊地址讀寫03/10/0641H通訊波特率讀寫03/10/0642H奇偶校驗位讀寫

    控制器8 Bit的Modbus從設(shè)備地址存儲于MCU外擴(kuò)的24C02 E2PROM內(nèi),協(xié)議幀通過擴(kuò)展的40 H Modbus寄存器進(jìn)行訪問。

    遠(yuǎn)程控制器作為RS485總線的從設(shè)備,其Modbus-RTU協(xié)議幀的處理流程如圖9所示。

    圖9 控制器Modbus-RTU協(xié)議幀的處理流程 Fig.9 Processing flow of the Modbus-RTU protocol frame of the control unit

    控制器首先等待主機(jī)發(fā)送的Modbus-RTU協(xié)議幀,若MDT10P73前臺軟件流程收到主機(jī)發(fā)送的協(xié)議幀并通過了CRC16檢驗,則逐項核對協(xié)議幀的從機(jī)地址碼、功能碼、擴(kuò)展的Modbus操作寄存器和數(shù)據(jù)內(nèi)容。如經(jīng)核對全部有效,則協(xié)議處理流程將執(zhí)行主機(jī)的操作命令并向主機(jī)做出應(yīng)答幀響應(yīng);如果核對的對應(yīng)碼與協(xié)議處理流程不一致,以及操作失敗,則向主機(jī)返回一個異常幀應(yīng)答。

    4 測試與驗證

    遠(yuǎn)程控制器出廠默認(rèn)波特率:57 600 bps;字符格式:1位起始位/8位數(shù)據(jù)位/無校驗位/1位停止位;Modbus地址:0x01。圖10是遠(yuǎn)程控制器的地址、通信波特率和校驗位修改的命令與應(yīng)答協(xié)議幀的報文,其中新配置的控制器的從機(jī)地址為0x08,通信波特率為38 400 bps,校驗位為偶校驗。

    [發(fā)送] 01 10 00 40 00 01 02 00 08 A9 56

    [接收] 01 10 00 40 00 01 00 1D

    (a)出廠默認(rèn)下Modbus地址修改為0x08-DATA:0008H

    [發(fā)送] 08 10 00 41 00 01 02 03 84 C3 82

    [接收] 08 10 00 41 00 01 51 44

    (b)默認(rèn)通信波特率修改為38 400 bps-DATA:0384H

    [發(fā)送] 08 10 00 42 00 01 02 00 02 42 E3

    [接收] 08 10 00 42 00 01 A1 44

    (c)默認(rèn)通信校驗位修改為偶校驗-DATA:0002H

    圖10通訊參數(shù)配置與應(yīng)答的測試響應(yīng)

    Fig.10Testresponsesoftheconfigurationandresponseramesofthecommunicationparameter

    將初始化配置后的遠(yuǎn)程控制器,掛載于主網(wǎng)關(guān)的下行RS485總線,并在該總線上并行接入RS232-485監(jiān)視模塊,以便上位機(jī)能夠?qū)崟r監(jiān)測RS485總線上的通信數(shù)據(jù)。

    圖11是對12路DI端口的采集與應(yīng)答協(xié)議幀的監(jiān)視情況,其中DI0、DI4-7和DI11處于閉合狀態(tài),DI1-DI3和DI8-DI10處于斷開狀態(tài)。

    [接收] 08 03 00 00 00 0C 45 56

    [接收] 08 03 18 00 01 00 00 00 00 00 00 00 01 00 01 00 01

    00 01 00 00 00 00 00 00 00 01 AB 90

    圖11狀態(tài)采集端口的測試響應(yīng)

    Fig.11Testresponseofthestateacquisitionport

    圖12是對4路DO端口的控制與應(yīng)答協(xié)議幀的監(jiān)視情況,其中DO1、DO3和DO4處于閉合狀態(tài),DO2處于斷開狀態(tài),與實際的控制要求相一致。

    [接收] 08 10 00 10 00 04 08 00 01 00 00 00 01 00 01 3E 43

    [接收] 08 10 00 10 00 04 C0 96

    圖12狀態(tài)控制端口的測試響應(yīng)

    Fig.12Testresponseofthestatecontrolport

    5 結(jié)論

    根據(jù)企業(yè)實際需求所開發(fā)的基于RISC單片機(jī)MDT10P73的遠(yuǎn)程現(xiàn)場控制器,整合并擴(kuò)展了Modbus-RTU通信協(xié)議,能夠可靠地實現(xiàn)了12路狀態(tài)量的采集和4路控制量的輸出。經(jīng)過現(xiàn)場測試和運(yùn)行,所設(shè)計的現(xiàn)場控制器響應(yīng)正常,工作穩(wěn)定可靠。由于Modbus協(xié)議和RS485均支持多從機(jī)部署,故該控制器可以為現(xiàn)場采集網(wǎng)關(guān)或RS485控制主機(jī)提供簡便和經(jīng)濟(jì)的多機(jī)擴(kuò)展能力。

    [1] 唐桂忠,張廣明.公共建筑能耗監(jiān)測與管理系統(tǒng)關(guān)鍵技術(shù)研究[J].建筑科學(xué),2009,25(10):27-30.

    [2] 鐘曉偉,宋蟄存.基于PIC16F73單片機(jī)的電動自行車控制器設(shè)計[J].自動化技術(shù)與應(yīng)用,2010,29(7):99-103.

    [3] 陳暢然.基于PIC16C73單片機(jī)的智能熱量計量表設(shè)計[J].電子設(shè)計工程,2015(11):170-172.

    [4] 王書根,王振松,劉曉云. Modbus協(xié)議的RS485總線通訊機(jī)的設(shè)計及應(yīng)用[J].自動化與儀表,2011,26(5):25-28.

    [5] 李偉.基于Modbus協(xié)議的工控節(jié)點設(shè)計與實現(xiàn)[J].計算機(jī)工程,2010,36(6):226-228.

    [6] MORRIS T,VAUGHN R,DANDASS Y. A retrofit network intrusion detection system for Modbus RTU and ASCII industrial control systems[C]∥ 45th Hawaii International Conference on System Science. Hawaii: IEEE, 2012: 2338-2345.

    [7] MICON Inc. MDT10P73 Datasheet[EB/OL]. [2017-12-02]. http:∥pdf1.alldatasheetcn.com/datasheet-pdf/view/133613/ETC1/MDT10P73.html.

    [8] 北京晶圓智通科技有限公司.淺談ADM2587E在RS485/422接口隔離中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012,12(5):86-87.

    [9] 吳志杰,王新霞,孔凡敏,等.多路隔離的Modbus協(xié)議轉(zhuǎn)換器的設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(10):77-79.

    [10] 劉生輝,王克英,廖顏深.智能開關(guān)柜操控裝置Modbus-RTU通訊協(xié)議的設(shè)計[J].電測與儀表,2010,47(7):77-80.

    [11] 李勇,黃健.一種用低成本實現(xiàn)的Modbus/TCP轉(zhuǎn)換器[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(9):70-72.

    [12] 劉玲玲,劉德平,李保強(qiáng),等.基于Modbus協(xié)議的變頻器遠(yuǎn)程控制器的研究[J].儀表技術(shù)與傳感器,2010(6):33-35.

    猜你喜歡
    波特率寄存器端口
    一種端口故障的解決方案
    CAN 總線波特率自適應(yīng)程序設(shè)計
    智能制造(2020年5期)2020-07-03 06:24:00
    Lite寄存器模型的設(shè)計與實現(xiàn)
    基于FPGA的異步串行通信波特率容錯設(shè)計
    電子測試(2018年7期)2018-05-16 06:27:18
    端口阻塞與優(yōu)先級
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    初識電腦端口
    電腦迷(2015年6期)2015-05-30 08:52:42
    生成樹協(xié)議實例探討
    C*Core芯片SCI串口波特率容限優(yōu)化
    高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
    北宁市| 大宁县| 黄陵县| 泸溪县| 沅陵县| 鲁山县| 广宗县| 望谟县| 垣曲县| 南乐县| 丰县| 应用必备| 永修县| 威远县| 武邑县| 乐清市| 随州市| 施甸县| 健康| 秦皇岛市| 尚义县| 塔河县| 泰宁县| 封开县| 余庆县| 夹江县| 定州市| 灵石县| 循化| 昌图县| 镇远县| 尚志市| 漠河县| 锦州市| 诏安县| 公主岭市| 云梦县| 句容市| 三都| 宾川县| 内乡县|