當前位置:首頁 > 單片機 > 單片機
[導讀]在許多實時監(jiān)測系統(tǒng)中,經常需要接收距離較遠的測控點數(shù)據,如何快速可靠的實現(xiàn)數(shù)據的遠程傳輸是這些監(jiān)測系統(tǒng)必須解決的問題。在監(jiān)測現(xiàn)場,為了降低系統(tǒng)的成本,往往采用單片機系統(tǒng)作為數(shù)據采集和記錄單元;在中央控

在許多實時監(jiān)測系統(tǒng)中,經常需要接收距離較遠的測控點數(shù)據,如何快速可靠的實現(xiàn)數(shù)據的遠程傳輸是這些監(jiān)測系統(tǒng)必須解決的問題。在監(jiān)測現(xiàn)場,為了降低系統(tǒng)的成本,往往采用單片機系統(tǒng)作為數(shù)據采集和記錄單元;在中央控制中心,常常利用PC機來完成人機會話及與監(jiān)測現(xiàn)場的通信。數(shù)據的遠程傳輸目前經常用調制解調器(Modem)通過電話線來進行。本文將介紹一套實用的主從式遠程通記系統(tǒng)。其下位機由16位單片機80C196KB承提,上位機的管理平臺則基于界面友好、功能強大的Visual Basic 6.0。

1 80C196與PC間的通訊方式

用80C196KB單片機的串行接口和調制解調器以及現(xiàn)有的電話線來實現(xiàn)遠程雙向通訊的系統(tǒng)方框圖如圖1所示。

在利用現(xiàn)有電話線進行數(shù)據傳輸?shù)拇型ㄓ崟r,必須把將要傳送的數(shù)據按先后順序,在公共信道上逐位傳送。

串行通訊對字符編碼、字符格式和傳輸速度都有具體規(guī)定,必須嚴格遵守。

異步串行通訊數(shù)據的傳送格式由四部分組成,即起始位、數(shù)據位、奇偶校驗位和終止位。通訊協(xié)議要求在發(fā)送端每傳送一個字符都必須要有起始位、數(shù)據位、奇偶校驗位和一個終止位的字符串;而在接收端,也要按照起始位、數(shù)據位、奇偶校驗位和一個終止位的字符串進行計數(shù)接收。

2 80C196KB與Modem間的接口

RS-232C的標準規(guī)定,邏輯“0”表示其電位應在+5~+15V之間,邏輯“1”表示其電位應在-5~-15V之間,而80C196KB單片機串口電閏為TTL電平,因此必須要通過電平轉換才能符合串行通訊標準。具體的接口電路如圖2所示。

電路中采用IN-TERSIL公司生產的只需+5V供電的串行收/發(fā)驅動器芯片ICL232來進行電平的轉換和驅動。當終端(196KB)處于操作規(guī)程狀態(tài)并可接收數(shù)據時,為了能將此信息傳送給MODEM,則必須使用管腳4上的數(shù)據終端就緒(DTR)信號;同樣地,為使終端設備(196KB)能夠將數(shù)據傳輸?shù)男畔⑼ㄖ{制解調器,就必須使用管腳7上的請求發(fā)送(RTS)信號。

由圖2可見,單片機DB(9芯)只給調制解調器的RS-232接口(9芯)提供三條信號線,即發(fā)送數(shù)據(TXD)、接收數(shù)據(RXD)和信號地SG。為了使數(shù)據鏈路能正常工作,可將調制解調器RS-232接口的4腳(DTR)和7腳(RTS)置高,以使之長期有效。

表1列出了RS-232的管腳及描述。表中的DTE為數(shù)據終端設備(Data Terminal Equipment)。本文中指下位機80C196KB和上位機PC,而DCE則表示數(shù)據通信設備(Data Communication Equipment)。本文中指調制解調器。

表1 RS-232各引腳描述

3 波特率設置

為了實現(xiàn)與遠方中央控制計算機正確可靠地通訊,雙方波特率必須一致??紤]到所選信道為公用電話網,為兼顧數(shù)據傳輸?shù)母咚傩院涂煽啃裕闹袑⒉ㄌ芈识?600bps。

3.1 下位機部分

80C196KB串行口的波特率取決于16位波特率寄存器的內容。該寄存器應以連續(xù)2個字節(jié)進行裝載,低位字節(jié)優(yōu)先。寄存器的最高位用于選擇波特率發(fā)生器的輸入時鐘源,最高位為1,選用XTAL1(即晶體振蕩器)信號為源信號,否則選用自T2CLK引腳的信號為源信號。

80C196KB 的內部時鐘信號是經2分頻獲得的。若以BAUD-REG表示波特率寄存器的裝載值,那么在同步模式0時,BUAD-REG=XTAL1/(2×波特率)- 1或T2CLK/波特率;而在異步模式1、2和3時,其BAUD-REG=XTAL1/(16×波特率)-1或T2CLK/(8×波特率)。

80C196KB的通信方式設定為異步方式1時,可進行全雙工通訊,其格式為每10位構成一串行幀,其中包括1位起始位,8位數(shù)據位和1位停止位。

在本系統(tǒng)中,80C196KB的晶振為12MHz,因此,為使波特率達到9600,需將波特率寄存器賦值為804EH。

表2列出了采用XTAL1作為時鐘源時,異步模式下一些常用波特率所對應的波特率寄存器值。應注意,表中所列的值是根據上述公式計算所得的值再加上最高位“1”后得到的。

表2 常用波特率對應的波特率寄存器值

3.2 上位機部分

微機數(shù)據采集系統(tǒng)中的一個關鍵問題是要在Windows環(huán)境下編寫相應的通信程序。Windows應用編程接口(API)所提供的有關串行通訊的16個函數(shù)可以實現(xiàn)完整的通訊功能,但其應用較為復雜。而VB中有一個通訊控件MSComm,通過改變其屬性設置和編寫相應的程序,就能在Windows環(huán)境下方便地實現(xiàn)不同用戶的串行通訊要求。

利用下面的語句可以方便地設置傳輸波特率,MSComm1.Settings=“9600,N,8,1”

表明波特率為9600,無奇偶校驗位,8位數(shù)據位,1位停止位。

4 80C196KB和中央控制機的通訊

在本系統(tǒng)中,下位機為主叫端,上位機為應答端,它們通過公用電話網進行數(shù)據傳輸。其數(shù)據鏈路的建立、數(shù)據傳輸及結束通信的全過程如表3所列。

表3 數(shù)據傳輸過程表

調制解調器安裝好后,必須預先設置好調制解調器的初始狀態(tài),然后再開通。否則通訊將不會成功。用戶對Modem初始化狀態(tài)的設置可以保存在非易失性RAM中。

下面對表3所列的傳輸過程進行說明。

(1)在握手初期,兩端的DTE需對Modem進行復位操作。為此,它們先給本端的Modem發(fā)ATZ命令。若Modem能執(zhí)行重設操作,便會返回結果碼OK,若Modem尚未與電話線連接,便返回NO DIALTONE,表示沒有撥號音。

(2)兩端DTE給各自的Modem發(fā)AT&F命令,調入Modem出廠缺省設置。

(3)主叫端DTE(196KB)向應答端Modem發(fā)撥號命令ATDT xxxx(ATDT表示音頻撥號,xxxx為對端的電話號碼)。當對端Modem檢測到振鈴(RING)后,由PC機控制并回送應答呼叫命令ATA。如果話路正常,則在一定的延時后,兩端Modem收到結果碼CONNECT 9600,并使Modem的CD指示燈亮,以表明數(shù)據傳輸鏈路成功建立。

(4)數(shù)據傳輸。

(5)數(shù)據通訊完成后,雙方Modem要拆鏈掛機。“+ + +”命令是由數(shù)據傳輸狀態(tài)轉為命令狀態(tài)的AT指令,它的前后必須有一段時間延時。當Modem狀態(tài)變?yōu)槊顮顟B(tài)時,可以用命令ATH來實現(xiàn)掛機。至此,兩臺Modem間的通訊任務就完成了。此時PC機內已存放了主機傳來的數(shù)據,將這些數(shù)據存入數(shù)據庫后可作進一步的處理。

5 數(shù)據傳輸?shù)牧髁靠刂坪蛡慑e糾錯

當兩端Modem正確可靠地建立起數(shù)據鏈路后就可以進行數(shù)據通訊了。在通過電話系統(tǒng)傳輸數(shù)據時,沒有一種簡單的方法能確保數(shù)據正確完整地到達對方。數(shù)據錯誤的發(fā)生可能有多種原因。由于串行通訊時數(shù)據是逐位發(fā)送的,因此即使極小的噪聲都有可能在多個位上造成嚴重錯誤,當波特率較高時出現(xiàn)錯誤更嚴重。在實際應用,常采用XMODEM協(xié)議對數(shù)據進行打包處理以檢測傳輸過程中出現(xiàn)的錯誤,若檢測到錯誤信息,則要求重傳出現(xiàn)錯誤的數(shù)據信息。理論上講如果每個數(shù)據包都能正確地傳送,那么整個數(shù)據塊也將成功地傳送。XMODEM協(xié)議按照一套特定的準則控制著數(shù)據傳輸?shù)乃屑毠?jié),其中包括如何啟動傳輸、包的大小、包的內容、正負應答以及如何完成傳輸?shù)取?/p>

XMODEM協(xié)議雖然較為成熟和完美,全過于復雜。本系統(tǒng)借鑒XMODEM協(xié)議的設計思想,并針對現(xiàn)場監(jiān)控數(shù)據的特點,設計了一套簡潔的流控和偵錯協(xié)議。從本系統(tǒng)的實際運行情況來看,該協(xié)議可保證數(shù)據的可靠傳輸,并能在話路質量較差時多次重發(fā)出錯的數(shù)據幀直到數(shù)據傳輸正確為止。
 
圖3為上位機通信子程序的流程圖,它主要利用VB6.0的通訊控件MSComm的ON COMM事件。

本系統(tǒng)在每次通信中,由80C196KB送給PC機的有效數(shù)據幀共4320幀,每幀113字節(jié)。其中有效字節(jié)112個,以3個FFH開頭,最后1個字節(jié)為異或結果,可用于傳輸后的異或校驗。在發(fā)送有效數(shù)據幀之前,下位機先發(fā)一個請求幀(仍為113字節(jié)),其幀結構為112個F0H加一異或結果。上位機收到該幀請求信號后,將回送握手成功信號,并作好接收有效數(shù)據的準備。下位機收到上位機發(fā)回的握手成功信號后,便將有效數(shù)據幀逐幀發(fā)送。

上位機對每幀數(shù)據的均要作異或校驗。如有錯誤的則回送失敗信號,并要求下位機重發(fā);正確的則放入緩沖數(shù)組以備存庫,并回送成功信號。當有效數(shù)據幀發(fā)送完畢后,下位機將發(fā)一個結束幀,其幀結構為112個FCH加一個異或結果。上位機收到該幀結束信號后,發(fā)出AT命令“+ + +ATH”以拆鏈掛機。至此,數(shù)據通信過程結束,之后,上位機將緩沖數(shù)組里數(shù)據存入數(shù)據庫,以便日后進行數(shù)據分析。

6 結束語

利用公用電話網,80C196KB單片機系統(tǒng)可通過Modem與遠方監(jiān)控中心進行通訊。這種系統(tǒng)的軟硬件設計方案簡單可行,運行成本低,數(shù)據傳輸速率較高。本監(jiān)控系統(tǒng)已在現(xiàn)場投入使用,經受了實際考驗。可推廣應用于各類遠程通訊系統(tǒng)。
 

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉