新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機和MODEM接口及遠程數據傳輸

        單片機和MODEM接口及遠程數據傳輸

        作者: 時間:2012-10-30 來源:網絡 收藏

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

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

        2 MODEM 命令
        由于MODEM 是將數據通過公用電話網進行遠程發送和傳輸的橋梁,這里先將MODEM 的功能及用法做一介紹"MODEM 是“調制解調器”的英文縮寫,所謂調制,就是將“0”和“1”的數字信號變成不同的頻率信號,調制到載波頻率上,并利用電話線進行模擬信號的傳送, 解調是調制的反過程, 即將載波頻率上的頻率信號解調成與其對應的數字信號,傳送至終端控制器。
        目前,我們在市場上所見到的MODEM 都用賀氏兼容的指令集來管理和設定MODEM 的各項操作和通訊功能,而一般這些指令皆以AT為前置碼,所以稱這些指令為“AT指令”。下面介紹幾個常見的MODEM 指令,這些指令都以回車(RETURN)結尾。

        ATA:手動應答指令,強迫MODEM 摘機并檢測載波;
        ATE0: 指令不回應,即向MODEM 發送的指令不在終端回顯;
        ATV0: MODEM 以數字形式回應信息,即MODEM 收到指令后,以數字形式返回結果碼;
        ATF:參數恢復為出廠值;
        ATD0:忽略DTR信號;
        ATS0:將DSR信號設定為ON;
        ATD:發出撥號指令;
        ATW0:將MODEM 目前的參數狀態存儲在參數表0 中;
        ATY0:當MODEM 初始上電時,調用存儲的參數表0;
        ATZ0: 復位MODEM 并啟用存儲的第0組參數表;
        ATZ=X:將電話號碼X存儲在MODEM 的內部存儲器中;
        ATDS:撥出MODEM 預存儲的電話號碼.

        那么,單片機如何利用這些指令來操作MODEM呢?下面以發送指令ATA為例來加以說明,程序采用C51編寫,該程序只給出了相關的部分,
        #include reg52.h>
        #include absacc.h>
        #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應答命令*/
        ……
        }


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高唐县| 郑州市| 石家庄市| 宜丰县| 雷州市| 泰兴市| 浪卡子县| 安化县| 民乐县| 明溪县| 林芝县| 彝良县| 濮阳市| 林西县| 凌源市| 墨脱县| 聂荣县| 琼中| 馆陶县| 明星| 定西市| 新源县| 门头沟区| 昆明市| 南溪县| 揭阳市| 潍坊市| 寿宁县| 阿鲁科尔沁旗| 习水县| 长宁区| 和田市| 波密县| 新兴县| 洪泽县| 瓮安县| 宁河县| 兴仁县| 甘孜| 赣州市| 禄丰县|