《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 單片機和MODEM接口及遠程數據傳輸設計
單片機和MODEM接口及遠程數據傳輸設計
摘要: 介紹了一種以W78E52單片機為控制核心和調制解調器 (MODEM )接口進行遠程數據采集與傳送的實用電路。該電路結構簡單 ,可靠性高 ,控制方便。文中講述了MODEM的AT指令描述以及用單片機控制MODEM的方法,并結合系統功能及原理給出了主程序流程圖。
Abstract:
Key words :

  摘要:介紹了一種以W78E52單片機為控制核心和調制解調器 (MODEM )接口進行遠程數據采集與傳送的實用電路。該電路結構簡單 ,可靠性高 ,控制方便。文中講述了MODEM的AT指令描述以及用單片機控制MODEM的方法,并結合系統功能及原理給出了主程序流程圖。

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

  由于目前國內有關單片機和MODEM的接口資料很少,所以,本文主要就單片機和MODEM接口及如何利用AT命令來控制MODEM 做些介紹。

  1 系統組成

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

 

  

  圖1 系統組成圖

 

  2 MODEM 命令

 

  由于MODEM 是將數據通過公用電話網進行遠程發送和傳輸的橋梁,這里先將MODEM 的功能及用法做一介紹“MODEM 是“調制解調器”的英文縮寫,所謂調制,就是將“0”和“1”的數字信號變成不同的頻率信號,調制到載波頻率上,并利用電話線進行模擬信號的傳送, 解調是調制的反過程, 即將載波頻率上的頻率信號解調成與其對應的數字信號,傳送至終端控制器。

  目前,我們在市場上所見到的MODEM 都用賀氏兼容的指令集來管理和設定MODEM 的各項操作和通訊功能,而一般這些指令皆以AT為前置碼,所以稱這些指令為“AT指令”。下面介紹幾個常見的MODEM 指令,這些指令都以回車(RETURN)結尾。

  ATA:手動應答指令,強迫MODEM 摘機并檢測載波;

  ATE0: 指令不回應,即向MODEM 發送的指令不在終端回顯;

  ATV0: MODEM 以數字形式回應信息,即MODEM 收到指令后,以數字形式返回結果碼;

  AT&F:參數恢復為出廠值;

  AT&D0:忽略DTR信號;

  AT&S0:將DSR信號設定為ON;

  ATD:發出撥號指令;

  AT&W0:將MODEM 目前的參數狀態存儲在參數表0 中;

  AT&Y0:當MODEM 初始上電時,調用存儲的參數表0;

  ATZ0: 復位MODEM 并啟用存儲的第0組參數表;

  AT&Z=X:將電話號碼X存儲在MODEM 的內部存儲器中;

  ATDS:撥出MODEM 預存儲的電話號碼。

  那么,單片機如何利用這些指令來操作MODEM呢?下面以發送指令ATA為例來加以說明,程序采用C51編寫,該程序只給出了相關的部分,

  #include < P>

  #include < P>

  #define U8251_C XBYTE[0xfd00]

  /* 定義8251 控制/狀態字地址*/

  #define U8251_D XBYTE[0xfc00]

  /*定義8251 數據緩沖區地址*/

  unsigned char code ATA[4]={‘A’,‘T’,‘A’,0x0d};

  /*0x0d為回車(return)控制符*/

  void send-code (unsigned char code *send_addr,

  unsigned char send_sum);

  /*發送函數聲明,形式參數為發送

  首地址和發送字符個數*/

  void main()

  {

  ……

  send_code(ATA,4); /*發送ATA應答命令*/

  ……

  }

  void send_code(unsigned char code *send_addr,

  unsigned char send_sum)

  {

  do{

  while((U8251_c&0x05)!=0x05);

  U8251_D=*send_addr;

  send_addr++;

  }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)

  {

  U8155_IO=0xc0; /*8155命令字初始化*/

  U8155_TO=0x30;/*送8155定時器常數低字節*/

  U8155_TH=0x40; /*送8155定時器常數高字節*/

  U8251_C=0x4e; /* 方式控制字初始化*/

  U8251_C=0x37;

  }

  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)

  {

  P1^0=1;

  ACC=0;

  while(--ACC);

  P1^0=0;

  }

 

  5 結論

 

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久美女艺术照精彩视频福利播放 | 亚洲免费伊人电影在线观看av| 亚洲福利国产精品| 国内视频精品| 韩国久久久久| 国内精品国语自产拍在线观看| 国产一级精品aaaaa看| 国产欧美精品日韩区二区麻豆天美| 欧美日韩一区二区三区在线观看免 | 国产一区在线视频| 国内精品福利| 在线播放豆国产99亚洲| 影音先锋中文字幕一区| 激情五月***国产精品| 伊人久久久大香线蕉综合直播| 国产一区视频在线观看免费| 国产午夜一区二区三区| 国产午夜精品久久| 黑人一区二区| 亚洲国产成人精品视频| 亚洲国产一区二区在线| 亚洲人体偷拍| 宅男噜噜噜66一区二区| 亚洲午夜在线观看| 亚洲在线1234| 久久精品国产欧美激情| 亚洲高清不卡一区| 亚洲精品久久久久久下一站| 一本色道久久综合亚洲精品小说| 一区二区电影免费在线观看| 亚洲一二三级电影| 欧美一区二区三区电影在线观看| 久久国产一区二区三区| 开元免费观看欧美电视剧网站| 欧美成人69av| 欧美日韩一级黄| 国产精品制服诱惑| 韩国三级电影久久久久久| 在线精品国产成人综合| 亚洲精品少妇| 亚洲在线一区| 亚洲经典三级| 亚洲一区欧美一区| 久久免费高清视频| 欧美精品一二三| 国产精品欧美一区喷水 | 日韩亚洲欧美综合| 亚洲欧美春色| 亚洲黄一区二区三区| 一本色道久久综合亚洲精品不| 午夜国产精品视频免费体验区| 久久精品在线观看| 欧美精品亚洲精品| 国产欧美日韩亚洲精品| 亚洲国产精品va在线观看黑人| 日韩视频免费在线| 欧美在线视频不卡| 亚洲伦理精品| 欧美在线观看天堂一区二区三区| 欧美www视频| 国产精品一区二区久久久| 在线精品福利| 亚洲愉拍自拍另类高清精品| 91久久精品一区二区三区| 亚洲女性裸体视频| 另类天堂av| 国产精品无人区| 亚洲欧洲精品一区二区三区不卡 | 在线日韩日本国产亚洲| 中文久久精品| 91久久精品国产| 欧美一区二区三区的| 欧美高清不卡| 国产亚洲一区二区在线观看 | 亚洲视频一区| 麻豆精品网站| 国产麻豆一精品一av一免费| 亚洲国产91精品在线观看| 亚洲欧美日韩精品久久久| 99re这里只有精品6| 久久久久国产精品午夜一区| 欧美午夜视频| 亚洲激情综合| 欧美在线观看视频在线| 亚洲午夜在线视频| 欧美国产第二页| 国产一区二区中文| 亚洲综合第一页| 亚洲视频狠狠| 欧美电影电视剧在线观看| 国产一区二区三区久久久| 亚洲一区二区三区免费在线观看| 亚洲人体偷拍| 久久一二三区| 国产日韩欧美精品综合| 亚洲一级在线观看| 亚洲视频久久| 欧美久久视频| 亚洲高清免费| 亚洲国产精品va在线观看黑人| 欧美一区二区三区成人| 国产精品成人观看视频国产奇米| 亚洲国产三级在线| 亚洲精品123区| 美女诱惑黄网站一区| 国内外成人免费激情在线视频| 亚洲欧美日韩精品久久久久| 亚洲综合国产精品| 欧美色123| 99视频精品在线| 一区二区三区久久网| 欧美精品免费看| 亚洲国产福利在线| 亚洲黄色成人| 欧美成人一品| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美在线一二三四区| 久久国产精品电影| 国产日韩欧美一区二区| 亚洲欧美日产图| 欧美在线视频一区二区| 国产伦精品一区二区| 午夜精品福利在线| 欧美中文字幕久久| 国产亚洲欧洲一区高清在线观看| 午夜性色一区二区三区免费视频| 欧美一二三区精品| 国产一区二区你懂的| 欧美一区二区国产| 久久久噜噜噜久噜久久| 尤物99国产成人精品视频| 亚洲欧洲一区二区在线播放| 欧美高清视频| 日韩视频永久免费观看| 亚洲一区二区三区免费观看| 国产精品免费看久久久香蕉| 亚洲欧美日韩一区在线观看| 欧美与黑人午夜性猛交久久久| 国产偷自视频区视频一区二区| 久久精品久久99精品久久| 免费成人av| 亚洲美女免费精品视频在线观看| 亚洲图片在线观看| 国产精品一二三| 亚洲高清免费视频| 欧美女人交a| 中文在线不卡| 久久精品久久99精品久久| 激情久久五月天| 99精品视频一区| 国产精品欧美一区喷水| 欧美一区网站| 欧美好吊妞视频| 在线亚洲欧美专区二区| 欧美在线亚洲在线| 亚洲第一区色| 亚洲视频图片小说| 国产欧美一区二区精品性| 亚洲国产精品高清久久久| 欧美精品一区在线| 亚洲欧美日韩在线观看a三区 | 欧美视频在线视频| 亚洲欧美精品在线观看| 麻豆av福利av久久av| 亚洲精品女人| 欧美一区二区三区婷婷月色 | 亚洲国产成人久久综合一区| 在线中文字幕一区| 国产色产综合色产在线视频| 亚洲国产免费看| 欧美三级电影网| 久久激情综合网| 欧美日韩一二三区| 欧美自拍偷拍| 欧美日韩国产首页在线观看| 亚洲摸下面视频| 欧美国产日韩精品| 亚洲欧美日韩国产一区二区三区| 女仆av观看一区| 亚洲一区二区在线| 欧美国产日韩一区二区| 亚洲欧美日韩精品在线| 欧美国产91| 性久久久久久久| 欧美日韩一区二区三区四区五区| 欧美在线视频网站| 欧美午夜精品理论片a级按摩| 亚洲电影有码| 国产乱子伦一区二区三区国色天香| 亚洲精品亚洲人成人网| 国产欧美日韩三级| 中国成人在线视频| 一区在线观看| 性亚洲最疯狂xxxx高清| 亚洲人体大胆视频| 久久久久久久网站| 亚洲在线第一页| 欧美日韩另类视频| 91久久午夜| 好吊一区二区三区|