女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機和調制解調芯片實現嵌入式Modem設計

電子設計 ? 來源:電子技術應用 ? 作者:倪彬斌;吳明光;周 ? 2021-05-20 09:31 ? 次閱讀

作者:倪彬斌;吳明光;周志華;鄒潤民

隨著經濟的發展,遠程監控系統的應用日益廣泛。其核心部分是遠程信息交換,即系統需要在地域分布廣泛的設備之間進行信息的交換及協調工作。對于某些采集點分散、傳輸量不大、對速度要求又不高的信息交換系統,目前有兩種解決方案:一是采用Internet或現場總線技術,該方案鋪設網絡的費用高,維護量大;二是利用現有的電話網通過Modem進行數據傳輸,這樣不僅可以擺脫伎的分布式總線系統繁瑣的布線、中繼、放大以及運行過程中維護量大等問題,而且系統擴展極為方便,基本不受設備地域的限制,該方案靈活實用且成本低廉。

基于單片機和調制解調芯片實現嵌入式Modem設計

圖1

嵌入式Modem主要由單片機(或DSP)和調制解調芯片構成。與通用Modem相比,嵌入式Modem具有體積小、易維護、外圍電路簡單、成本低廉等特點。在企業或住宅區中的遠程監控系統使用嵌入式Modem,能夠節約大量的人力和財力,大大提高自動水平,因此具有較廣闊的應用前景。本文介紹一種基于Atmel公司AVR系列單片機Atmega8和OKI公司調制解調芯片MSM7512的嵌入式Modem。

1 嵌入式Modem的硬件設計

系統的原理框圖如圖1所示,上位機與PC機,下位機是遠方的嵌入式Modem和設備。PC機是數據終端,通過嵌入式Modem與遠方終端實現數據交換;嵌入式Modem以Atmega8為中心,控制MSM7512芯片實現數據的發送與接收,通過外圍電路實現振鈴檢測、摘機、顯示信息、呼叫遠方Modem等,它以RS232接口標準與上位機相連。

1.1 Atmega8單片機簡介

AVR單片機是美國Ateml公司生產的具有雙結構的RISC單片機系列,具有較短的指令周期和較快的運行速度。Atmega8是基于2002年推出的一款新型AVR高檔單片機,工作在16MHz時能達到16MIPS。該芯片內部集成了8K字節Flash、1K字節內部SRAM及512字節的E2PROM,具有豐富強大的硬件接口電路(32個通用寄存器,23個通用可編程I/O口,三個計數器,三個PWM通道,一個I2C的總線接口,一個USART接口,一個SPI接口,6通道的10位ADC及2通道的8位ADC),并且支持在線編程(ISP)和在應用程序(IAP)。由于采用了小引腳封裝(PDIP28和TQFP/MLF32)形式,所以其價格僅與低檔單片機相當,因此Atmgea8是一款性價比很高的8位單片機。

1.2 MSM7512簡介

MSM7512是日本OKI公司生產的一種價格低廉、功耗低、性能良好的調制解調芯片。該芯片滿足ITU-TV.23協議標準,由單電源(3~5V)供電,采用FSK半雙工調制解調方式,通信速率為1200bps,低功耗(典型值僅25mW),穩定性好,具有片內回音消除電路,模擬輸出可直接連入PSTN;并具有TTL接口,其FSK輸出信號可直接驅動600Ω的通信電路,外圍電路簡單,可方便地與數字系統及計算機系統相連,廣泛應用于嵌入式Modem、數據傳輸和家庭安防系統中。圖2為該芯片的功能框圖。

圖2

MSM7512有四種工作模式,由MOD1、MOD2端口進行控制。當MOD1=0、MOD2=0時,MSM7512工作于調制模式,XD輸入為“0”或“1”的數字信號,AO端則對應輸出頻率為“2100Hz”或“1300Hz”的FSK信號;當MOD1=1、MOD2=0時,MSM7512工作于解調模式,A輸入頻率為“2100Hz”或“1300Hz”的FSK信號,RD則對應輸出解調后的“0”或“1”數字信號;當MOD1=0、MOD2=1時,MSM7512工作于環路自測模式,用于檢測芯片工作是否正常;當MOD1=1、MOD2=1時,MSM7512工作于節電模式,此時MSM7512功耗僅為0.1mW,其它模式一般功耗為25mW。在本設計中所使用的工作模式是FSK調制發送及接收模式。

在硬件設計中需要著重考慮的問題是:MSM7512是一塊串行調制解調芯片,與單片機通過串口相連,而單片機上的USART串口也需要與上位機進行串行通信,但Atmega8只有這一個串口,就出現了串口資源不足的問題。如果僅僅為增加一個串口而使用可編程串行通信接口芯片8251,無疑會增加設計的復雜性和成本。而利用Atmega8的兩個I/O口編程模擬一個UART串口的功能(即模擬串口),可以很好地解決這個問題。這將在軟件設計部分具體介紹。

1.3 振鈴檢測和撥號電路

振鈴檢測與撥號電路如圖3所示。它的工作原理很簡單,在此不再多述。

圖3

2 嵌入式Modem的軟件設計

軟件部分的設計包括上、下位機通信協議的制訂、上位機程序和單片機程序的編寫。其中上位機程序以Delphi為開發工具,單片機程序用ANSIC C編寫。

2.1 上位機與下位機通信協議的制訂

上位機與下位機之間的數據交換必須遵循一定的通信協議,通信雙方才能按照該協議解析所傳輸的數據。就本設計而言,一臺PC機要對應多個下位機,屬于主從式結構。所制訂的通信協議為:

前導碼 目的地址 源地址 數據幀 CRC校驗碼

前導碼使通信雙方保持同步,目的地址和源地址就是各設備所對應的電話號碼,當PC機發送數據時,先發送目的地址給所有下位機,如果某個從機被上位機尋址,它將接收主機接下來發出的數據幀,而其它的從機則將忽略數據幀;當PC機接收數據時,同樣地,下位機先發送源地址再發數據幀給上位機。同樣時,下位機先發送源地址再發數據幀給上位機。CRC校驗碼是為了防止傳輸出錯而設計的。為設計方便,規定數據幀為32位,其中功能碼為4位,參數為28位。功能碼為0000時,參數表示的是設備傳輸數據;功能碼為1111時,參數表示設備自檢數據。

圖4

2.2 上位機軟件的編寫

上位機是一個數據發送與接收的終端,上位機軟件的功能是:選擇并發送要呼叫的電話號碼;使計算機與嵌入式Modem能夠通過RS232接口標準收發數據。由于Delphi是一種易學易用的面向對象的程序設計工具,因而采用它來編寫上位機程序。在上位機程序中要能夠對計算機串行口的硬件進行操作。然而Delphi本身不提供串行通信組件,因此需要調用Windows API函數建立一個串行通信組件Tcomm來對串口硬件實現控制,進而使用該組件完成串行通信功能。在設計中還需要使用其它一些組件如Button、Memo、RadioGroup等來完成軟件界面的設計。

2.3 單片機程序設計

根據設計中單片機的任務設置一個全局變量TransOrReceFlag(規定值為0時,表示Modem處于接收狀態;為1時,Modem處于發送狀態),主程序根據它的值跳轉到相應的子程序中。下面分別介紹子程序的編寫過程。

嵌入式Modem發送數據:上位機按照通信協議通過串口向Atmega8先后發送目的地址(電話號碼)和數據幀。單片機在USART接收完成中斷服務程序中,將MSM7512設置為調制模式并使MSM7512與電話線連通,再控制雙音多頻信號發生器HT9200產生目的地址所對應的DTMF信號,送入MSM7512的外部信號輸入端EAI,經內部放大后從AO輸出端向電話線上發送所呼叫的電話號碼,待與遠方Modem建立起聯系后,就可以通過模擬串口向MSM7512傳送接下來所收到的數據幀。

嵌入式Modem接收數據:Atmega8外部計數口T1上有下降沿出現時,表明電話線上有振鈴信號,可能有遠方Modem要求和本地Modem進行數據傳輸。為防止誤撥,規定了振鈴信號需要連續出現的次數。當達到計數設定值時,單片機確認有遠方Modem要進行數據傳輸,于是將MSM7512設置為調解模式,接通電話線,再通過模擬串口接收MSM7512傳來的數據,經USART把數據傳給上位機。

單片機程序中一個重要的部分是模擬UART串口的實現部分。在設計中用定時/計數器0產生合適的波特率,使接收和發送的數據符合異步串行通信數據幀的格式;一個普通I/O口作為TXD’,外部中斷0口T0作為RXD’;在內存中開辟一塊緩沖區模擬串口的數據接收/發送緩沖器。規定模擬串口中數據幀為1起始位,8個數據位,1個停止位,波特率為9600bps。下面就接收和發送兩個過程介紹模擬串口的實現。

模擬串口接收數據:串行通信中數據幀都是從一個下降沿開始的。當T0口上有下降沿出現并觸發中斷時,表明MSM7512已經接收到遠方傳來的數據,單片機需要對所接收到的數據進行采樣。在中斷服務程序中初始化數據位計數器和定時/計數器0,設定其第一次定時時間為1.5位,因為從起始位需要延時1.5位才能進行數據位D0的采樣(1.5位=1起始位+0.5D0位),如圖4所示。接下來的8次采樣的間隔一樣,所以在定時器第一次計時溢出后,在每次溢出中斷服務程序中重新裝載的定時時間均為1位。采樣后將所得數據存入緩沖區再送給上位機。圖5是模擬串口接收數據的程序流程圖。

模擬串口發送數據:與接收數據過程相比,發送數據要簡單些。因為不需要采樣,幀中所有位的時間長度是一樣的,所以定時/計數器0的定時時間為固定值,即1位的時間。送出的第一位數據是起始位,通過接收方準備接收數據,然后從最低有效位LSB支最高有效位MSB,數據被一位一位地移出,在最末的是停止位(即邏輯1),用來讓接收方區分發送的數據字節。

由于在上位機程序中集成了選擇發送電話號碼的功能,所以本文所介紹的嵌入式Modem能夠靈活方便地與遠方設備進行數據傳輸。它還具有體積小、外圍電路簡單、易維護、成本低廉等特點,具有較大的應用價值。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    555

    文章

    8141

    瀏覽量

    355091
  • 單片機
    +關注

    關注

    6061

    文章

    44913

    瀏覽量

    646576
  • 監控系統
    +關注

    關注

    21

    文章

    4030

    瀏覽量

    181095
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于ATMEGA8及MSM7512的嵌入式MODEM設計

    介紹了一種基于AVR單片機ATMEGA8和調制解調芯片MSM7512設計的嵌入式MODEM,詳細
    發表于 03-07 12:38

    單片機嵌入式Internet技術的Web應用實現

    ,與MCS 8051系列單片機相比在性能上有很大的提高,在目前單片機開發中用得較多。因此利用AT90S8515單片機作為嵌入式系統的微處理器,通過網絡控制
    發表于 11-24 18:10

    嵌入式系統中的MODEM

    嵌入式系統中的MODEM 近日研究MODEM心得不少,寫出來,請大家提提意見。(一)協議按照調制解調協議的不同,數據傳輸速度亦各不相同。5
    發表于 04-18 22:55 ?57次下載

    基于Atmega8及MSM7512的嵌入式Modem設計

      介紹了一種基于AVR單片機Atmega8和調制解調芯片MSM7512設計的嵌入式Modem
    發表于 09-07 15:36 ?41次下載

    什么是嵌入式單片機?嵌入式單片機詳情匯總

    嵌入式單片機,即嵌入式微控制器,指以微控制器為核心控制單元的嵌入到對象體系中的專用計算機系統,是應用十分廣泛的一種嵌入式系統結構。
    發表于 11-13 09:39 ?6271次閱讀

    單片機嵌入式的概念

      單片機嵌入式很多學者將他們混在一塊,當往往被問起單片機嵌入式有啥區別的時候,他們的回答通常是二者都差不多吧。沒有一個清晰明確的回答。接下來,就讓我們著重談談
    發表于 07-10 11:21 ?2554次閱讀

    單片機嵌入式的轉化

    提到單片機很多人都很覺得不陌生,大街小巷上面電子產品都用到。近幾年隨著嵌入式的發展,做單片機的一幫家伙突然覺得大禍臨頭一般發現自己熟悉掌握的單片機慢慢被
    發表于 09-22 10:13 ?1188次閱讀

    到底什么是嵌入式? 什么是單片機?

    到底什么是嵌入式?什么是單片機
    的頭像 發表于 02-25 16:13 ?1.5w次閱讀

    怎么學習嵌入式單片機

    關于怎么學習嵌入式單片機,我從自身學生經歷、工作經驗和對于嵌入式單片機學習的建議三個方面回答:
    發表于 07-15 17:37 ?1122次閱讀

    單片機嵌入式區別

    單片機嵌入式芯片平臺片上資源價格應用場景不同開發模式技術特征芯片平臺主流單片機平臺:51、PIC、STM32、AVR、MSP430等主流
    發表于 10-20 14:21 ?4次下載
    <b class='flag-5'>單片機</b>與<b class='flag-5'>嵌入式</b>區別

    單片機or嵌入式linux

    最近很多童鞋投票并咨詢如何從單片機轉做嵌入式Linux開發??磥碜x者圈中做單片機,RTOS的不少。盡管我目前從事Linux/Android方面的嵌入式開發工作,但是讀書的時候也有5年左
    發表于 11-01 16:26 ?17次下載
    <b class='flag-5'>單片機</b>or<b class='flag-5'>嵌入式</b>linux

    單片機到底是不是嵌入式

    01 問題很多同學一直在糾結:我是學單片機呢還是學嵌入式呢?還有人說單片機也是嵌入式,到底對不對?嵌入式是不是就是linux?今天咱們說說這
    發表于 11-04 11:21 ?14次下載
    <b class='flag-5'>單片機</b>到底是不是<b class='flag-5'>嵌入式</b>?

    單片機嵌入式的區別

    ,價格低,應用領域大多為小家電,終端設備。 嵌入式片上資源豐富,價格高,應用領域廣泛,基本可以適用于任何領域。開發模式 單片機一般都是裸機開發,程序規模較小,只有在比較高端的芯片上才會使用RTOS
    發表于 11-15 12:36 ?15次下載
    <b class='flag-5'>單片機</b>和<b class='flag-5'>嵌入式</b>的區別

    1.單片機嵌入式的關系(3)

    單片機嵌入式的關系什么是單片機?什么是嵌入式單片機嵌入式的核心差異
    發表于 12-01 15:51 ?16次下載
    1.<b class='flag-5'>單片機</b>和<b class='flag-5'>嵌入式</b>的關系(3)

    嵌入式單片機開發的“時鐘”是如何實現的?

    嵌入式單片機開發的“時鐘”是如何實現的? 嵌入式單片機時鐘的概述 嵌入式
    的頭像 發表于 10-25 15:07 ?1415次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>單片機</b>開發的“時鐘”是如何<b class='flag-5'>實現</b>的?