www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]筆者的設(shè)計基于MCF51QE128控制核心來實現(xiàn)Modbus協(xié)議,已經(jīng)成功進行了實際應(yīng)用,通信可靠,而且實現(xiàn)起來比較容易。該設(shè)計為采用MCF51QE128微控制器進行工業(yè)產(chǎn)品設(shè)計通信的應(yīng)用提供了參考方案。

引言


工業(yè)控制已從單機控制走向集中監(jiān)控、集散控制,如今已進入網(wǎng)絡(luò)集約制造時代。工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。Modbus就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通信規(guī)約。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間可以通信。它已經(jīng)成為主流的工業(yè)標(biāo)準(zhǔn)之一。不同廠商生產(chǎn)的控制設(shè)備通過Modbus協(xié)議可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。

Modbus通信協(xié)議


1 通信傳送方式


每一個數(shù)據(jù)字節(jié)包括:每個字節(jié)的位、1個起始位、8個數(shù)據(jù)位、最小的有效位先發(fā)送、1個奇偶校驗位(無校驗則無)、1個停止位(有校驗時)、2個停止位(無校驗時)。


在RTU模式下每個字節(jié)的格式(11bit)如下:
編碼系統(tǒng):8位二進制
字節(jié)組成:1bit起始位、8bit數(shù)據(jù)位,最低位最先發(fā)送、1bit奇偶校驗位、1bit停止位(或者沒奇偶校驗位,就發(fā)送一個附加的停止位)。


2 數(shù)據(jù)幀結(jié)構(gòu)


地址碼:地址碼為通信傳送的第一字節(jié)。這字節(jié)表明由用戶設(shè)定地址碼的從機將接收由主機發(fā)送來的信息。并且每個從機都有唯一的地址碼,并且響應(yīng)回送均以各自的地址碼開始。主機發(fā)送的地址碼表明將發(fā)送到的從機地址,而從機發(fā)送的地址碼表明回送的從機地址。


功能碼:通信傳送的第二字節(jié)。ModBus通信規(guī)約定義功能號為1~127。根據(jù)實際需要只利用其中的一部分功能碼。作為主機請求發(fā)送,通過功能碼告訴從機執(zhí)行什么動作。作為從機響應(yīng),從機發(fā)送的功能碼與從主機發(fā)送來的功能碼一樣,并表明從機已響應(yīng)主機進行操作。如果從機發(fā)送的功能碼的最高位為1,則表明從機沒有響應(yīng)操作或發(fā)送出錯。

表1 每一個完整的數(shù)據(jù)幀構(gòu)成

數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實際數(shù)值、設(shè)置點、主機發(fā)送給從機或從機發(fā)送給主機的地址。


CRC碼:二字節(jié)的錯誤檢測碼。冗余循環(huán)碼檢查(CRC)包含兩字節(jié),即16位二進制。CRC碼由發(fā)送設(shè)備計算,放置于發(fā)送信息的尾部。接收信息的設(shè)備再重新計算接收到信息的CRC碼,比較計算得到的CRC碼是否與接收到的相符,如果兩者不相符,則表明出錯。CRC碼的計算方法是,先預(yù)置16位寄存器全為1。再逐步把每8位數(shù)據(jù)信息進行處理。在進行CRC碼計算時只用8位數(shù)據(jù)位、起始位及停止位,如有奇偶校驗位的話也包括奇偶校驗位,都不參與CRC碼計算。


在計算CRC碼時,8位數(shù)據(jù)與寄存器的數(shù)據(jù)相異或,得到的結(jié)果向低位移一位,用0填補最高位。再檢查最低位,如果最低位為1,把寄存器的內(nèi)容與預(yù)置數(shù)相異或,如果最低位為0,不進行異或運算。


這個過程一直重復(fù)8次。第8次移位后,下一個8位再與現(xiàn)在寄存器的內(nèi)容相異或,這個過程與以上一樣重復(fù)8次。當(dāng)所有的數(shù)據(jù)信息處理完后,最后寄存器的內(nèi)容即為CRC碼值。CRC碼中的數(shù)據(jù)發(fā)送、接收時低字節(jié)在前。在實際應(yīng)用中,為了提高運算速度,采用了查表的方法取代計算方法。


3 Modbus RTU數(shù)據(jù)幀結(jié)構(gòu)


在RTU模式下,每一個數(shù)據(jù)幀之間的間隔至少是3.5個字符位。一個完整的數(shù)據(jù)幀必須要連續(xù)的傳送,當(dāng)一幀消息中兩字節(jié)間的間距大于1.5字符位時,此數(shù)據(jù)幀錯誤,被接受方放棄。


當(dāng)通信波特率小于等于19 200b/s。對1.5個字符位/3.5個字符位計算時間有嚴(yán)格要求。當(dāng)通信波特率大于19 200b/s。1.5個字符位固定為750μs,3.5個字符位固定為1.75ms。官方的Modbus RTU規(guī)定標(biāo)準(zhǔn)為3.5個字符長周期,不同的串口設(shè)備由于使用環(huán)境不同可能在發(fā)送中出現(xiàn)5~10字長的間隙。對于Modbus RTU來說比較安全的設(shè)置為50ms。


4 用到的功能代碼


用到的功能代碼如表2所示。

表2 功能代碼

MCF51QE128的主要特性


系統(tǒng)核心控制器采用的是Freescale公司推出的32位單片機MCF51QE128。它是一款32位ColdFire V1 MCU,特點包括:停止電流降至370nA,6μs喚醒時間,超低運行電流為50mA;50.33MHz ColdFire V1內(nèi)核運行頻率;25.165MHz的總線頻率;最大為8KB的RAM;最高128KB的閃存;24信道的12位ADC;兩個模擬比較器;2xSCI、2xI2C、2xSPI;一個6信道和兩個3信道的定時器PWM模塊;RTC;最多70路通用輸入/輸出(GPIO);系統(tǒng)集成頻率鎖定環(huán)(FLL)和軟件看門狗;內(nèi)部時鐘源(ICS);低功耗外部32kHz振蕩器;電壓范圍為1.8~  3.6V;增強型內(nèi)部振蕩器、電壓調(diào)節(jié)器和實時計數(shù)器。通用開發(fā)環(huán)境是CodeWarrior for Microcontrollers 6.0。

軟件設(shè)計


1 接收軟件流程
如圖1所示。

 

圖1 從機軟件流程


2 配置串口和定時器


void usart_init()

 SCI1C1=0x13;//9bit character mode,odd parity
 SCI1C2=0x2c;
 SCI1BDL=0x29;//38400bps
 SCI1BDH=0;
}
void timer3_init(void)//8MHz主時鐘1333Hz中斷判斷命令包結(jié)束
{
 TPM3CNTH=0;
 TPM3CNTL=0;
 TPM3MODH=0x49;
 TPM3MODL=0xbe;  
 TPM3SC=0x48; 
}


3 MCF51QE128解包modbus RTU的程序


 void interrupt VectorNumber_ Vsci1rx SCI_RX_ISR(void)//字節(jié)接收程序
 {
  if(SCI1S1_PF==1)communication_error=1;//字節(jié)校驗錯誤置通信失敗標(biāo)志位
  *(pointer_RX1)=SCI1D;//將數(shù)據(jù)放入緩沖隊列
  pointer_RX1++;//隊列指針后移
  len_RX1++;//收到字節(jié)長度加1
  timer3_reset();//定時器復(fù)位
  timer3_init();//定時器重啟動
 }
 void interrupt VectorNumber_Vtpm3ovf Timer3_ISR(void)//判斷命令包接收結(jié)束
 {
  timer3_cnt++;//定時器中斷次數(shù)加1
  if(timer3_cnt==2)
   {   
timer3_reset();//定時器復(fù)位
pointer_RX1=Buffer_RX1;//隊列指針初始化
  full_RX1=1;//收完置標(biāo)志位
   }
 }


4 CRC查表產(chǎn)生函數(shù)


由于篇幅有限,此處不再詳述,表具體內(nèi)容可參照相關(guān)參考文獻(xiàn)。

總結(jié)


筆者的設(shè)計基于MCF51QE128控制核心來實現(xiàn)Modbus協(xié)議,已經(jīng)成功進行了實際應(yīng)用,通信可靠,而且實現(xiàn)起來比較容易。該設(shè)計為采用MCF51QE128微控制器進行工業(yè)產(chǎn)品設(shè)計通信的應(yīng)用提供了參考方案。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉