《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AVR ATmega128的工業網關的實現
基于AVR ATmega128的工業網關的實現
摘要: 介紹一種橋接不同現場總線網絡的解決方案。該方案采用高性能AVR ATmega128為其控制核心。AVR ATmega128采用ModBus/RTU協議與計算機通信,通過多處理器通信模式與其他分控設備通信。本方案經過在實際中運行,證明其設計是可行的。
Abstract:
Key words :

摘要:介紹一種橋接不同現場總線網絡的解決方案。該方案采用高性能AVR ATmega128為其控制核心。AVR ATmega128采用ModBus/RTU協議與計算機通信,通過多處理器通信模式與其他分控設備通信。本方案經過在實際中運行,證明其設計是可行的。 
關鍵詞:AVR ATmega128、Modbus/RTU、AVR多處理器通信模式、CRC16 

1 引言

   如今,電子技術發展迅猛,尤其是單片機已廣泛地應用于通信、交通、家用電器、便攜式智能儀表、機器人制作等領域,產品功能、精度和質量大幅度提高,且電路簡單,故障率低,可靠性高,成本低廉。在單片機某些應用方面,對網絡靈活性和多樣性需求的不斷增加,網絡之間的互聯顯得越來越重要。工業網關為橋接不同現場總線網絡提供了一種解決方案。

2 網絡拓撲結構

網絡連接的拓撲結構如圖1所示。

(圖1)

RS-232C是廣泛應用的串口通信標準,但因其推出較早,在現代網絡通信中已暴露出數據傳輸速度慢、傳輸距離短、接口處各信號間容易產生干擾等明顯的缺點。RS-485是一種多發送器的電路標準,它擴展了RS-422A的性能,允許雙絞線上一個發送器驅動32個負載設備,負載設備可以是被動發送器、接收器或收發器,RS-485最大傳輸距離為1200m,最大傳送速率可達10Mb/s。因此,RS-485在遠程通信和多機總線系統中具有很大的吸引力。

如圖1所示,將AVR ATmega128的標準的通用異步接收/發送通信接口0(UART0)轉換成半雙工485串口。同樣,PC機的RS-232C串口也轉換成485串口。它們之間采用Modbus/RTU協議進行通信,AVR ATmega128作為從設備。AVR ATmega128與其下行的AVR分控設備通過485串行總線并在一起。它們之間采用AVR單片機特有的多機通信方式進行通信。其中AVR ATmega128是主控設備,其他的AVR分控設備是從控設備。

3  AVR ATmega128單片機

ATmega128單片機為基于AVR RISC結構的8位低功耗CMOS微處理器。由于其先進的指令集以及單周期指令執行時間,ATmega128單片機的數據吞吐率高達1MIPS/MHz,故可以緩減系統的功耗和處理速度之間的矛盾。AVR單片機內核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與算術邏輯單元(ALU)相連接,使得一條指令可以在一個時鐘周期內同時訪問兩個獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的復雜指令集微處理器高10倍的數據吞吐量。ATmega128單片機內部帶有128KB的系統內可編程Flash程序存儲器,具有在寫的過程中還可以讀的能力,即同時讀寫(RWW); 4KB的EEPROM;4KB的SRAM;53個通用I/O端口線;32個通用工作寄存器;實時時鐘(RTC);4個靈活的具有比較模式和PWM功能的定時器/記數器(T/C);2個USART;面向字節的兩線接口(TWI);8通道10位ADC;可選的可編程增益;片內振蕩器的可編程看門狗定時器;串行外圍設備接口(SPI);與IEEE 1149.1規范兼容的JTAG測試接口,此接口同時還可以用于片上調試;6種可以通過軟件選擇的省電模式。

4 Modbus通信協議

Modbus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其他設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。它描述了一控制器請求訪問其它設備的過程,如果回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。當在一Modbus網絡上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息并用Modbus協議發出。在其它網絡上,包含了Modbus協議的消息轉換為在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節地址、路由路徑及錯誤檢測的方法。

Modbus網絡能設置為兩種傳輸模式(ASCII或RTU)中的任何一種進行通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網絡上的所有設備都必須選擇相同的傳輸模式和串口參數。

當控制器設為在Modbus網絡上以RTU(遠程終端單元)模式通信,在消息中的每個8Bit字節包含兩個4Bit的十六進制字符。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。

代碼系統:

ü         8位二進制,十六進制數0...9,A...F

ü         消息中的每個8位域都是一個兩個十六進制字符組成

每個字節的位:

ü         1個起始位

ü         8個數據位,最小的有效位先發送

ü         1個奇偶校驗位,無校驗則無

ü         1個停止位(有校驗時),2個Bit(無校驗時)

錯誤檢測域

ü         CRC(循環冗長檢測)

使用RTU模式,消息發送至少要以3.5個字符時間的停頓間隔開始。在網絡下多樣的字符時間,這是最容易實現的(如下圖2所示)。傳輸的第一個域是設備地址。可以使用的傳輸字符是十六進制的0…9,A…F。網絡設備不斷偵測網絡總線,包括停頓間隔時間內。當第一域(地址域)接收到,每個設備都進行解碼以判斷是否發往自己的。在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標定了消息的結束。一個新的消息可在停頓后開始。

整個消息幀必須作為一連續的流傳輸。如果在幀完成之前有超過 3.5個字符時間的停頓時間,接收設備將刷新不完整的消息并假定下一字節是一個新消息的地址域。同樣地,如果一個新消息在小于3.5個字符時間內接著前個消息開始,接收的設備將認為它是前一消息的延續。這將導致一個錯誤,因為在最后的CRC域的值不可能是正確的。一典型的RTU消息幀如下所示:


 

當消息在標準的Modbus系列網絡傳輸時,每個字符或字節以如下方式發送(從左到右):最低有效位...最高有效位。

使用RTU字符幀時,位的序列是:

5  CRC16檢測

循環冗余碼CRC檢驗技術廣泛應用于測控及通信領域。CRC計算可以靠專用的硬件來實現,但是對于低成本的微控制器系統,在沒有硬件支持下實現CRC檢驗,關鍵的問題就是如何通過軟件來完成CRC計算,也就是CRC算法的問題。計算CRC16有三種算法:按位計算CRC、字節計算CRC、半字節計算CRC。這三種算法它們稍有不同,按位求法速度較慢,但占用最小的內存空間;按字節查表求CRC的方法速度較快,但占用較大的內存;按半字節查表求CRC的方法是前兩者的均衡,即不會占用太多的內存,同時速度又不至于太慢,比較適合8位小內存的單片機的應用場合。

6 AVR單片機多處理器通信模式

置位UCSRA 的多處理器通信模式位(MPCM) 可以對USART 接收器接收到的數據幀進行過濾。那些沒有地址信息的幀將被忽略,也不會存入接收緩沖器。在一個多處理器系統中,處理器通過同樣的串行總線進行通信,這種過濾有效的減少了需要CPU 處理的數據幀的數量。MPCM位的設置不影響發送器的工作,但在使用多處理器通信模式的系統中,它的使用方法會有所不同。如果接收器所接收的數據幀長度為5 到8 位,那么第一個停止位表示這一幀包含的是數據還是地址信息。如果接收器所接收的數據幀長度為9 位,那么由第9 位(RXB8) 來確定是數據還是地址信息。如果確定幀類型的位( 第一個停止位或第9 個數據位) 為1,那么這是地址幀,否則為數據幀。在多處理器通信模式下,多個從處理器可以從一個主處理器接收數據。首先要通過解碼地址幀來確定所尋址的是哪一個處理器。如果尋址到某一個處理器,它將正常接收后續的數據,而其他的從處理器會忽略這些幀直到接收到另一個地址幀。

對于一個作為主機的處理器來說,它可以使用9 位數據幀格式(UCSZ = 7)。如果傳輸的是一個地址幀(TXB8 = 1) 就將第9 位(TXB8) 置1,如果是一個數據幀(TXB = 0) 就將它清零。在這種幀格式下,從處理器必須工作于9 位數據幀格式。

下面即為在多處理器通信模式下進行數據交換的步驟:

5.1 所有從處理器都工作在多處理器通信模式(UCSRA 寄存器的MPCM 置位)。

5.2 主處理器發送地址幀后,所有從處理器都會接收并讀取此幀。從處理器UCSRA寄存器的RXC 正常置位。

5.3 每一個從處理器都會讀取UDR 寄存器的內容已確定自己是否被選中。如果選中,就清零UCSRA 的MPCM 位,否則它將等待下一個地址字節的到來,并保持MPCM 為1。

5.4 被尋址的從處理器將接收所有的數據幀,直到收到一個新的地址幀。而那些保持MPCM 位為1 的從處理器將忽略這些數據。

5.5被尋址的處理器接收到最后一個數據幀后,它將置位MPCM,并等待主處理器發送下一個地址幀。然后第2 步之后的步驟重復進行。

使用5 至8 比特的幀格式是可以的,但是不實際,因為接收器必須在使用n 和n+1 幀格式之間進行切換。由于接收器和發送器使用相同的字符長度設置,這種設置使得全雙工操作變得很困難。如果使用5 至8 比特的幀格式,發送器應該設置兩個停止位(USBS = 1),其中的第一個停止位被用于判斷幀類型。不要使用讀- 修改- 寫指令(SBI 和CBI) 來操作MPCM 位。MPCM 和TXC 標志使用相同的I/O 單元,使用SBI 或CBI 指令可能會不小心將它清零。在本設計方案中,AVR ATmega128作為多處理器通信模式中的主處理器,其他的AVR分控設備做為從處理器。

7結束語

采用本方案所介紹的網絡拓撲結構,由于AVR ATmega128與上位機之間通信是基于Modbus標準協議,而與其他的AVR分控設備之間采用AVR單片機所特有的多處理器通信。因此,在保證系統開放性的同時,又能保證數據處理效率的提高。在交通控制、智能化停車場管理系統等方面,本設計方案有一定的參考價值。

 

參考文獻

[1] 陳冬云,杜敬倉,任柯燕. ATmega 128單片機原理與開發指導.機械工業出版社,2006.

[2] Richard Barnett,Larry O’Cull,Sarah Cox. 嵌入式C編程與Atmel AVR.北京:清華大學出版社,2003.

[3] Modicon.Modbus Protocol Reference Guide.1996

[4] 朱懿,蔣念平.ModBus協議在工業控制系統中的應用.微計算機信息,2006,4-1:118-120.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线精品亚洲一区二区| 狠狠色丁香久久综合频道| 日韩天堂在线视频| 极品少妇一区二区三区| 欧美三级不卡| 最近看过的日韩成人| 国产精品久久一区主播| 亚洲综合99| 国产亚洲精品激情久久| 一个人看的www久久| 久久久久国产精品一区三寸| 亚洲永久精品国产| 国产女主播一区二区三区| 欲香欲色天天天综合和网| 亚洲欧美中文在线视频| 欧美影院在线| 欧美日韩免费观看一区=区三区| 亚洲欧美激情在线视频| 久久精品国产99国产精品澳门| 亚洲色图综合久久| 久久夜色精品国产亚洲aⅴ| 亚洲盗摄视频| 亚洲无限乱码一二三四麻| 久久久人成影片一区二区三区| 欧美一区二区三区免费在线看| 在线看一区二区| 亚洲福利在线观看| 亚洲欧洲日产国产综合网| 一区二区三区欧美激情| 在线一区二区三区做爰视频网站| 亚洲精品女av网站| 国产精品二区二区三区| 韩国av一区二区三区四区| 亚洲精品永久免费精品| 在线精品一区| 亚洲宅男天堂在线观看无病毒| 久久久噜噜噜久久中文字免| 亚洲日本欧美| 日韩亚洲欧美综合| 国产一区视频观看| 欧美韩日一区| 99热在线精品观看| 国产午夜精品一区二区三区欧美| 欧美性大战久久久久久久蜜臀| 老司机精品久久| 一区二区欧美国产| 亚洲精品在线免费| 欧美网站大全在线观看| 欧美亚洲一区二区在线| 亚洲美女色禁图| 欧美日韩视频在线一区二区观看视频| 午夜精品久久久久久久白皮肤| 亚洲视频综合在线| 夜夜嗨av一区二区三区网站四季av| 蜜桃av一区| 欧美www视频在线观看| 亚洲免费视频一区二区| 国产精品v欧美精品∨日韩| 久久国产精品久久精品国产| 久久狠狠亚洲综合| 亚洲一二三区在线观看| 欧美午夜激情在线| 欧美精品 国产精品| 国外视频精品毛片| 欧美激情综合在线| 最近中文字幕日韩精品| 中文亚洲免费| 欧美日韩亚洲成人| 欧美视频在线观看一区二区| 久久午夜羞羞影院免费观看| 欧美日韩黄色一区二区| 欧美日韩高清在线播放| 国产精品毛片一区二区三区| 国产精品久久波多野结衣| 一区二区电影免费在线观看| 久久精品国产亚洲一区二区三区| 狠狠色狠狠色综合日日91app| 欧美成人在线网站| 99国产精品久久久久久久久久| 欧美亚洲一级片| 国产亚洲永久域名| 久久久久国产精品一区| 国产视频自拍一区| 好吊妞这里只有精品| 国产精品久久久久久久久久免费| 欧美女同视频| 国产精品久久久久7777婷婷| 禁断一区二区三区在线| 免费成人小视频| 欧美影院成人| 亚洲国产欧美一区二区三区同亚洲| 亚洲人成在线观看一区二区| 国产欧美日韩中文字幕在线| 国产欧美精品国产国产专区| 亚洲欧洲精品一区二区| 亚洲精品之草原avav久久| 国产欧美韩国高清| 亚洲第一色在线| 怡红院精品视频在线观看极品| 国产专区欧美专区| 欧美性猛交一区二区三区精品| 蜜臀99久久精品久久久久久软件| 久久久久久久高潮| 国产精品久久九九| 久久精品视频一| 久久在线免费视频| 国产精品扒开腿做爽爽爽视频| 欧美成人免费在线| 久久亚洲春色中文字幕| 国产精品久久久久国产精品日日| 在线观看国产精品淫| 国内久久精品视频| 国产香蕉久久精品综合网| 一区在线免费观看| 欧美久久久久| 欧美亚日韩国产aⅴ精品中极品| 99国产精品久久| 精品粉嫩aⅴ一区二区三区四区| 欧美一区二区三区视频| 久久一日本道色综合久久| 国产精品免费久久久久久| 久久精品国产第一区二区三区| 日韩视频在线一区二区| 一区二区三区久久网| 麻豆精品视频在线观看视频| 久久久免费精品视频| 欧美一区二区三区视频免费| 亚洲国产成人精品女人久久久| 在线观看一区| 性做久久久久久| 久久色在线观看| 亚洲综合色激情五月| 亚洲一区二区三区精品在线观看| 亚洲一区二区精品| 久久夜色精品国产噜噜av| 亚洲免费视频观看| 先锋a资源在线看亚洲| 99riav国产精品| 欧美一级淫片播放口| 亚洲一区三区在线观看| 欧美日韩精品免费看| 99热在这里有精品免费| 老司机成人网| 久久成人一区| 欧美sm极限捆绑bd| 亚洲精品国偷自产在线99热| 国产精品免费一区二区三区观看| 欧美激情视频在线免费观看 欧美视频免费一| 欧美女同在线视频| 国产精品丝袜91| 亚洲免费久久| 国产日韩欧美综合一区| 亚洲一区欧美激情| 久久精品国产一区二区三| 欧美日韩综合网| 欧美日韩国产精品一卡| 国产日韩欧美三区| 久久久99国产精品免费| 国产午夜一区二区三区| 亚洲性夜色噜噜噜7777| 欧美在线播放高清精品| 亚洲一区免费网站| 久久高清福利视频| 久久www成人_看片免费不卡| 欧美网站在线观看| 亚洲精品人人| 欧美日韩一级片在线观看| 在线观看欧美日本| 久热精品视频在线| 欧美成人综合在线| 久久五月天婷婷| 久久乐国产精品| 欧美激情欧美激情在线五月| 国产永久精品大片wwwapp| 国内精品国产成人| 国产日本欧美一区二区三区| 亚洲精品在线观| 欧美精品v日韩精品v韩国精品v| 国产精品户外野外| 亚洲欧美在线视频观看| 亚洲国产精品一区二区尤物区| 国产精品影音先锋| 亚洲在线第一页| 欧美 日韩 国产精品免费观看| 国产亚洲一二三区| 伊人夜夜躁av伊人久久| 亚洲国产精品激情在线观看| 国产精品午夜视频| 亚洲国产人成综合网站| 久久国产精品电影| 日韩小视频在线观看| 久久夜色精品国产欧美乱| 在线综合视频| 国外成人在线| 99热免费精品在线观看| 亚洲国产成人av好男人在线观看| 久久综合福利| 亚洲天堂av高清| 欧美日韩国产影院| 99re6热在线精品视频播放速度| 久久九九免费视频| 狠狠操狠狠色综合网| 久久精品日韩欧美| 欧美特黄一级| 欧美日韩dvd在线观看| 欧美绝品在线观看成人午夜影视| 欧美精品在线一区| 激情综合色丁香一区二区| 在线播放不卡| 蜜臀久久99精品久久久久久9| 久久久夜夜夜| 亚洲永久免费观看| 国产在线观看精品一区二区三区| 欧美黄色一区| 亚洲综合色丁香婷婷六月图片| 亚洲美女免费精品视频在线观看| 久久久久久久久蜜桃| 99国产精品久久久| 欧美日韩免费高清一区色橹橹| 欧美国产一区视频在线观看| 在线一区二区三区四区五区| 午夜免费久久久久| 99精品热6080yy久久| 亚洲高清三级视频| 国产精品永久免费视频| 黄色国产精品| 老妇喷水一区二区三区| 一区二区三区三区在线| 欧美激情在线观看| 国产一区二区看久久| 影音先锋久久资源网| 一本大道久久a久久精二百| 狠狠色伊人亚洲综合网站色| 亚洲毛片网站| 欧美性色aⅴ视频一区日韩精品| 亚洲全黄一级网站| 欧美在线1区| 国产精品av免费在线观看| 香蕉久久夜色精品国产| 久久久亚洲影院你懂的| 欧美日韩国产色综合一二三四| 国产精品99免费看| 亚洲人成网站色ww在线| 欧美精品一区二区三区视频| 欧美日韩一区在线| 欧美日韩免费视频| 欧美三级电影大全| 久久综合色8888| 亚洲欧美日韩在线播放| 亚洲少妇最新在线视频| 激情成人中文字幕| 亚洲人成网站影音先锋播放| 欧美一区二区在线视频| 久久精品国产69国产精品亚洲| 亚洲视频综合在线| 亚洲欧美日韩综合aⅴ视频| 亚洲综合不卡| 欧美网站在线| 中文在线一区| 国外视频精品毛片| 亚洲国产高清视频| 亚洲国产精品一区在线观看不卡| 一区二区三区无毛| 一本久久精品一区二区| 最新国产精品拍自在线播放| 欧美在线观看视频| 久久精品麻豆| 久久免费99精品久久久久久| 国产精品成人一区二区艾草| 9久re热视频在线精品| 亚洲无亚洲人成网站77777| 国产精品网站在线观看| 久久精品视频网| 香蕉成人久久| 亚洲午夜一区二区| 欧美国产日韩视频| 一区二区日韩伦理片| 亚洲一区免费观看| 久久激情视频| 亚洲精品乱码久久久久久按摩观| 欧美激情国产日韩精品一区18| 欧美在线观看网站| 欧美午夜精品一区二区三区| 国产精品www| 国产一区二区中文字幕免费看| 欧美成人国产va精品日本一级| 国产日韩欧美高清免费| 国产欧美综合一区二区三区| 国产精品一区二区欧美| 亚洲福利专区| 午夜精品久久久久久久蜜桃app| 有坂深雪在线一区| 99一区二区| 欧美激情1区2区| 狠狠噜噜久久| 老鸭窝91久久精品色噜噜导演| 久久精品国内一区二区三区| 国产亚洲成年网址在线观看| 久久久久国产精品一区三寸| 国产精品美女久久久久aⅴ国产馆| 欧美不卡视频一区| 国产九九精品视频| 欧美日本高清视频| 一区二区三区在线视频播放| 久久躁日日躁aaaaxxxx| 亚洲国产精品成人久久综合一区| 亚洲美女黄色| 国产日韩专区在线| 国产精品有限公司| 国产精品永久| 亚洲欧美激情一区二区| 在线视频日韩精品| 中文国产成人精品| 久久成人免费日本黄色| 久久夜色精品一区| 一区二区日韩| 亚洲一区二区欧美日韩| 国产精品99久久久久久久vr| 一本色道久久综合亚洲精品高清| 国产精品乱码一区二区三区| 亚洲私人影院在线观看| 在线观看日韩国产| 欧美在线精品免播放器视频| 国产精品magnet| 国产欧美日韩亚州综合| 亚洲女性喷水在线观看一区| 国产精品久久久久国产精品日日| 国产精品一级二级三级|