微控制器和MODEM介面及遠端資料傳輸

2021-04-14 21:41:11 字數 3473 閱讀 9609

2007-12-25 11:12:07

摘要:介紹了一種以w78e52微控制器為控制核心和數據機 (modem )介面進行遠端資料採集與傳送的實用電路。該電路結構簡單 ,可靠性高 ,控制方便。文中講述了modem的at指令描述以及用微控制器控制modem的方法,並結合系統功能及原理給出了主程式流程圖。

隨著自動化程度的不斷提高,對現場資料遠端採集與傳輸的要求也日益提高,在**通訊網路相當普及的今天,最方便最靈活的方法就是採用modem(數據機)並借助於現有的模擬公用**交換網進行資料傳輸,經過幾年的研究,筆者開發了一種在微控制器控制下通過公用**交換機網路做載體的資料傳輸系統,這種資料傳輸系統不受時間與地域的限制,並可隨時實時追蹤現場資料的變化情況,從而為遠端故障的診斷和排除提供了便利。

由於目前國內有關微控制器和modem的介面資料很少,所以,本文主要就微控制器和modem介面及如何利用at命令來控制modem 做些介紹。

1 系統組成

圖1 所示為該遠端資料採集系統的系統組成圖,整個系統主要由現場資料採集器和監控中心兩部分組成,現場資料採集器負責將所採集到的資料進行預處理後打包, 並通過現場數據機modem、公用**網和監控中心的modem 將資料傳送到監控中心。然後監控中心將接收到的資料進行處理、顯示、儲存和分析,並根據需要向現場傳送控制指令,由於監控中心採用計算機與modem 直接相連的方式, 因此硬體介面比較簡單, 而軟體編寫不是本文討論的重點,不再贅述。系統有兩種工作方式:即監控中心呼叫現場請求傳送資料和現場呼叫監控中心主動傳送資料。

圖1 系統組成圖

void send_code(unsigned char code *send_addr,

unsigned char send_sum)

while(--send_sum);

}為了微控制器對modem 的控制和操作,對本系統設計中的modem 做了如下初始化:

at&fe0v0&d0&s0&y0&w0

3 介面電路

圖2 為該現場資料採集系統中微控制器和modem的介面電路圖, 微控制器選用winbord(華幫)公司生產的高效能低功耗微控制器w78e52b,它採用80c31核心,在指令上與mcs-51完全相容,內含8k的電可擦除mtp rom(multiple-time programmable rom).其內部串列埠能和其它有串列埠的通訊裝置一起進行資料採集(這部分在圖2中沒畫出);

圖2 微控制器和modem 的介面電路

考慮到所採集的資料較多,故擴充套件了一片8155 作為外部資料儲存器,並兼做並行資料採集介面,其內部14 位定時器作為分頻器使用;另擴充套件的一片8251 用來和modem 介面,8251的內部工作時序,傳送器時鐘和接收器時鐘需要外部輸入,在設計中,微控制器提供的ale訊號作為其外部輸入,因而無需單獨設計分頻器,由於在微控制器訪問外部存貯器時, ale要丟失乙個週期,因而採用圖2所示的方法,可充分利用系統資源,根據接收時鐘輸入rxclk和傳送時鐘輸入txclk的不同,8251 的傳送波特率和接收波特率可以不同,在本系統中,傳送波特率和接收波特率相同,都由8155定時器分頻輸出tmrout供給.傳送資料可根據系統要求在主程式中完成,接收資料緩衝區請求輸出rxrdy經74ls02反向後接78e52b的中斷輸入int0,接收資料採用中斷方式控制,系統設計時忽略了dsr訊號, 因而在圖2 中將其直接接地;

rs232 介面電平轉換電路採用一片具有五對輸入和輸出的msx238,它自帶電荷幫浦,採用單5伏電源,只用一片便可提供本系統所有rs232電平的驅動與轉換.

4 現場資料採集器的功能及原理

現場資料採集器有兩種工作方式, 即主叫方式和被叫應答方式.主叫方式就是現場資料採集器主動呼叫監控中心;被叫應答方式是在現場資料採集器收到監控中心的呼叫振鈴後響應應答指令.另外,現場資料採集器具有遠端設定主叫呼叫號碼的功能,其軟體編制流程圖如圖3 所示.

圖3 現場資料採集器的程式流程圖

4.1 通訊波特率

8251 的通訊波特率取決於rxclk和txclk的時鐘輸入,在非同步方式中,rxclk,txclk可以是波特率,也可以是波特率的16 或64倍.這由8251控制字中的波特率因子來決定,在本系統設計中,設波特率因子為非同步x16,即rxclk,txclk是傳輸波特率的16倍.從圖2可以看出,rxclk,txclk由8155 的tmrout給出, 而8155 的tmrin為系統時鐘fosc的1/6,因此選擇波特率的關鍵就是確定8155定時器的時間常數.如果將8155 的定時器設為連續方波輸出,那麼8155 定時器的時間常數n和定時器輸入頻率ftmrin,輸出頻率ftmrout的關係為:ftmrout=ftmrin/n,設8251的分頻係數為16,則傳輸波特率可有下式計算:

波特率=ftmrout/16=ftmrin/16n=fosc/(6x16n)

本系統選用頻率為11.0592mhz 的晶振,fosc為1.0592mhz, 若8251 採用2400hz的波特率來傳輸資料,則8155的定時器常數n為:

n=11.0592x106/(2400x16x6)=48=30h

按照以上分析,則8155,8251 初始化程式設計如下:

void initialize rs(void)

4.2 遠端設定主叫呼叫號碼

在本系統中,當關鍵資料發生越限變化時,現場資料採集器能夠自動呼叫監控中心,而被呼叫的**號碼卻不能夠儲存在程式的rom中, 原因有兩條:第一:監控中心的**號碼可能會變更;第二:不同的使用者被呼叫的**號碼不一樣; 而在現場資料採集器上設計一片eeprom 也不是最好的方案;解決這一問題的最佳方法是將此**號碼儲存在modem 中, 那麼如何實現呢?可用前面提到的at&z=x(x為**號碼) 命令進行遠端設定,當監控中心需要修改這個**號碼時, 就呼叫現場資料採集器,並將此**號碼傳輸給資料採集器,然後由資料採集器自動用at&z=x(x為**號碼)命令將此號碼儲存在modem 中.

4.3 主叫方式

當現場資料採集器採集到的關鍵資料發生越限變化時,現場資料採集器便利用at指令atds主動撥打儲存在modem 中的**號碼來呼叫監控中心,並將關鍵資料打包傳送給監控中心,在監控中心收到資訊包後,系統便可進行儲存和分析,以供值班人員判斷並做出處理.

4.4 被叫方式

當監控中心需要獲得現場資料時, 可以主動撥號呼叫現場資料採集器, 在圖2中,w78e52 的p1.1在檢測到預定次數的振鈴訊號時發出modem應答指令ata,並在延時等待modem 連通以及雙方握手成功後, 由監控中心向現場資料採集器發出請求傳送資料指令.現場資料採集器收到指令後將實時變化的動態資料傳送給監控中心, 以使監控中心隨時中斷對資料接收, 並向現場資料採集器發出掛機指令.現場資料採集器在收到掛機指令後停止傳送資料並掛機.

4.5 存在問題及解決方法

本系統剛開始設計時,8251 的復位輸入端和cpu的復位輸入端是連線在一起,這樣設計曾出現過8251不能可靠復位的問題. 後改為靠w78e52的p1.0 給8251發復位脈衝,圖2 所示,這樣,就可根據軟體抗干擾的需要隨時復位8251,用c51編寫的復位程式如下:

void reset_8251(void)

5 結論

實踐證明,該系統和modem 介面具有電路簡單,成本低,可靠性高的特點.在實際應用中取得了良好效果.

微控制器及微控制器系統

微控制器及微控制器系統 1 什麼是微控制器?微控制器是將 處理器 cpu 隨機儲存器 ram 唯讀儲存器 rom或eprom 定時器晶元和一些輸入 輸出介面電路整合在乙個晶元上的微控制器 microcontroller 處理器包括運算器 控制器和暫存器3個主要部分,是微控制器的核心。儲存器按工作方式...

微控制器(微控制器)的中斷系統及應用

2.中斷暫存器 3.中斷處理流程 4.最重要的事 中斷是指 處理器cpu正在處理某件事情的時候,外部發生了某一事件 如定時器計時已到 請求cpu迅速去處理,cpu暫停當前的工作,轉去處理所發生的事件,處理完以後,再回到原來被中斷的地方,繼續原來的工作。實現這種功能的部件稱為中斷系統。它由4個與中斷有...

微控制器的通訊介面

通訊介面 匯流排 計算機和外設之間進行資料傳輸 為了保證生產的介面能通用,生產的介面必須遵守一定的協議。協議不同,通訊的標準不同。串列埠 單工,雙工,全雙工 串列埠通訊時,需要時鐘 電氣特性 在電氣特性方面rs 232採用負邏輯 1 5v到 15v 0 5v到 15v 微控制器 ttl 串列埠 負邏...