新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ARM9的RTU設計

基于ARM9的RTU設計

作者: 時間:2012-05-02 來源:網(wǎng)絡 收藏

1.5 存儲器模塊和溫度測量模塊
存儲器包括SDRAM、Norflash和Nandflash。SDRAM用來臨時存放數(shù)據(jù),確保程序能正常運行;Norflash用于存儲程序;Nandflash用于存儲數(shù)據(jù),在突然掉電或通信網(wǎng)絡故障的情況下,Nandflash能把重要的數(shù)據(jù)信息保存起來,待到再次上電并且網(wǎng)絡通暢時,再把數(shù)據(jù)提取出來發(fā)送出去。
E2PROM可以用來存儲的初始配置信息,包括RTU設備基本屬性、IP地址信息、網(wǎng)絡參數(shù)、串口參數(shù)、主從模式選擇和AD采樣配置等信息。RTU上電運行時,先從E2PROM中讀取配置信息,RTU初始化各個模塊之后才能正常工作。
測溫模塊可以用來測量RTU的工作溫度,并實時地或定時地向上傳輸其溫度值,實現(xiàn)溫度監(jiān)控。

2 RTU軟件
該新型RTU內(nèi)嵌μC/OS-II實時操作系統(tǒng),數(shù)據(jù)傳輸協(xié)議采用Modbus協(xié)議。μC/OS-II是一個完整的、可移植、可固化、可剪裁的占先式實時多任務內(nèi)核,適用于工業(yè)控制中的實時監(jiān)控。Modbus協(xié)議包括ASCII、RTU、TCP。Modbus的ASCII、RTU協(xié)議規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和就答的方式,數(shù)據(jù)通信采用主-從方式。Modbus協(xié)議需要對數(shù)據(jù)進行校驗,串行協(xié)議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗。 Modbus/TCP模式?jīng)]有額外規(guī)定校驗,因為TCP協(xié)議是一個面向連接的可靠協(xié)議。在本文中,作為主站的RTU,內(nèi)嵌的實時操作系統(tǒng)μC/OS-II實現(xiàn)上層Modbus/TCP協(xié)議與Modbus/RTU協(xié)議之間的通信(即上位機與計算機、上位機與下位機之間的通信)。而作為從站的RTU,內(nèi)嵌的實時操作系統(tǒng)μC/OS-II實現(xiàn)Modbus/RTU協(xié)議通信(即上位機與下位機之間的通信),對所連接的被測設備進行控制信息的輸入輸出以及RTU采集和輸出模塊的控制。以下主要介紹作為從站的RTU軟件
2.1 Modbus/RTU協(xié)議
Modbus串行鏈路協(xié)議是一個主-從協(xié)議。在同一時刻,只有一個主節(jié)點連接于總線,一個或多個子節(jié)點(最大編號為247)連接于同一個串行總線。Modbus通信總是由主節(jié)點發(fā)起。子節(jié)點在沒有收到來自主節(jié)點的請求時,從不會發(fā)送數(shù)據(jù)。子節(jié)點之間從不會互相通信。主節(jié)點在同一時刻只會發(fā)起一個Modbus事務處理。當設備使用RTU模式在Modbus串行鏈路通信時,報文中每個8位字節(jié)含有兩個4位十六進制字符。這種模式的主要優(yōu)點具有是較高的數(shù)據(jù)密度,而且在相同的波特率下比ASCII模式有更高的吞吐率。每個報文必須以連續(xù)的字符流傳送。在RTU模式,報文幀由時長至少為3.5個字符時間的空閑間隔區(qū)分。如果兩個字符之間的空閑間隔大于1.5個字符時間,則報文幀被認為不完整應該被接收節(jié)點丟棄。RTU接收驅(qū)動程序的實現(xiàn),由于1.5個字符時間(t1.5)和3.5個字符時間(t3.5)的定時,隱含著大量的對中斷的管理。在高通信速率下,這導致CPU負擔加重。因此,在通信速率等于或低于19 200 b/s時,這兩個定時必須嚴格遵守;對于波特率大于19 200 b/s的情形,應該使用2個定時的固定值:建議的字符間超時時間(t1.5)為750μs,幀間的超時時間(t3.5)為1.750ms。
2.2 Modbus數(shù)據(jù)模型
在一系列不同平臺上,Modbus數(shù)據(jù)模式有不同的特性,基本平臺有離散輸入、線圈、輸入寄存器和保持寄存器。在該新型RTU系統(tǒng)中,事先要與主站RTU協(xié)商定義好一個離散輸入對應表、線圈對應表、輸入寄存器對應表、保持寄存器對應表。主站RTU和從站RTU根據(jù)對應表中的數(shù)據(jù)位執(zhí)行相應的操作。主站RTU讀離散輸入即讀取從站RTU數(shù)字量輸入狀態(tài);主站RTU寫線圈即控制從站RTU數(shù)字量輸出(繼電器輸出);從站RTU模擬量輸入(AD采集的數(shù)據(jù))存儲于輸入寄存器中,供主站RTU讀?。褐髡綬TU通過寫保持寄存器可以給從站RTU發(fā)送配置信息,從站RTU讀保持寄存器執(zhí)行相應操作。用來存儲從站RTU的初始配置信息的E2PROM,就是通過讀取相應的保持寄存器中數(shù)據(jù),寫入到E2PROM中,再對RTU重新配置。
2.3 Modbus從站
Modbus主站和Modbus從站是兩個獨立的模塊,主站為上位機(客戶機),而從站為下位機(服務機)。主站和從站都有相同的數(shù)據(jù)鏈路層,并且它們的幀報文數(shù)據(jù)結(jié)構(gòu)都是相同的。Modbus從站服務任務是從站協(xié)議的核心組成部分,它的主要工作是處理Modbus主站點功能請求,返回主站請求的保持寄存器、輸入寄存器、線圈和離散量輸入等值,或接收并保存主站寫入的保持寄存器和線圈等值;另外,Modbus從站的應用程序也會讀取或?qū)懭胂嚓P的寄存器。從站RTU程序流程:首先,初始化目標板、μC/OS-II、系統(tǒng)時基等等;接著,創(chuàng)建一個系統(tǒng)初始任務(優(yōu)先級最高)和Modbus從站服務程序;再接著開始運行任務。μC/OS-II的從站RTU程序流程圖如圖6所示。

本文引用地址:http://2s4d.com/article/155057.htm

f.JPG



關鍵詞: 設計 RTU ARM9 基于

評論


相關推薦

技術專區(qū)

關閉