目前,市面上的工業(yè)Modem主要以外置為主。外置Modem具有體積大、成本高、集成不方便等缺點;而嵌入式Modem以其性能穩(wěn)定、高度集成化等優(yōu)點,可以方便地嵌入到各種單片機應(yīng)用系統(tǒng),得到廣大工業(yè)用戶的極大關(guān)注與歡迎。美國硅實驗定(Silicon Laboratories)生產(chǎn)的ISOmodem就是一系列的嵌入式Modem芯片。
1 ISOmodem介紹
ISOmodem采用雙芯片形式:Modem控制芯片Si2414和DAA芯片Si3015。Modem芯片Si2414是對Modem通信進行控制并提供與微控制器的通信接口;DAA芯片Si3015是將數(shù)字信號調(diào)制為模擬信號后輸出,或是將接收的模擬信號解調(diào)為數(shù)字信號。它的通信傳輸速率最高可達14.4kbps,耗電量小于85mW,且具有過流偵測與保護功能。
1.1 Si2414內(nèi)部結(jié)構(gòu)及功能
Si2414芯片是高度集成化的,工作電壓為3.3V,內(nèi)部功能模塊如圖1所示。包括1個控制、數(shù)據(jù)泵、ROM、RAM、1個晶振、樂相環(huán)、定時器、串行接口、UART(通用異步收發(fā)器)、1個并行接口和1個DAA接口。Modem軟件永久地被存儲在片內(nèi)ROM中,只有Modem設(shè)置信息(默認值除外)和其它軟件更新程序必須存儲在主機里, 然后下載到片內(nèi)RAM中。
在片內(nèi),控制器提供了一些重要的功能,包括AT命令解析,DAA控制,連接序列控制,DCE(數(shù)據(jù)通信裝置)協(xié)議控制,接入檢測,并行電話摘機檢測,溢出控制,來電顯示控制和格式化,PCM(脈沖編碼調(diào)制)模式控制,振鈴檢測,DTMF(雙音多頻)控制,通話進程臨測,錯誤糾正和數(shù)據(jù)壓縮。事實上,主機和Modem之間的所有相互作用都是由控制器完成的。控制器使用“AT”指令、S-寄存器和U-寄存器來配置和控制Modem。
1.2 Si2414的接口
Si2414提供兩種與主機接口方式:串行接口和并行接口。Si2414默認的用戶接口為串行接口,當AOUT/INT引腳通過一個下拉電阻(≤10kΩ)拉至低電平且在復位的上升沿CS引腳為高電平時,Modem接口選擇為并行接口。
(1)串行接口
當選擇串口作為Si2414的用戶接口時,TXD為發(fā)送引腳,RXD為接收引腳,數(shù)據(jù)通信的流控制通過硬件實現(xiàn),即通過RTS、CTS、RI、DCD引腳信號控制數(shù)據(jù)的傳送。RTS(請求發(fā)送)是終端(DTE)到Modem(DCE)的控制信號,它通知DCE可以把數(shù)據(jù)發(fā)送到DTE,低電平有效。CTS(清除發(fā)送)是DCE到DTE的控制信號,它通知DTE可以把數(shù)據(jù)發(fā)送到DCE,低電平有低。RI(振鈴指示)是指當Modem接收到遠程呼叫時,發(fā)出振鈴指示信號RI,以通知DTE有遠程呼叫。DCD(載波檢測)是指當Modem檢測到載波信號時發(fā)出DCD信號,以通知DTE線路已經(jīng)建立連接,雙方可以開始進行通信。
圖1
(2)并行接口
采用并行接口方式時,主機是通過對Si2414內(nèi)部的兩個寄存器讀寫實現(xiàn)Modem通信控制的。地址線A0=0時,指向并行接口寄存器0;A0=1時,指向并行接口寄存器1。并行接口寄存器0為發(fā)送接收寄存器,寄存器1為Modem控制及狀態(tài)寄存器。
并行接口寄存器0接收主機從并口發(fā)送過來的數(shù)據(jù),并將從遠程Modem接收以的數(shù)據(jù)輸出到并口。與串行接口不同,在并口方式下,發(fā)送和接收數(shù)據(jù)的流控制是通過并行接口寄存器1中的RTS、CT位及RXF、TXE位實現(xiàn)的。表2中,RTS、CTS位同串口的INT、ESC、RTS、CTS引腳功能相同,RXF為12字節(jié)學度接收FIFO緩沖滿櫝志位;TXE為14字節(jié)深度發(fā)送FIFO緩沖區(qū)空標志武位;REM為接收FIFO緩沖區(qū)空標志位;INTM是INT中斷引腳使能位;INT為中斷標志位。
1.3 Si3015
Si3015,DAA或線-端芯片,包含ADC、DAC、控制電路和1個ISOlink接口。Si3015和其周圍的電路提供了電話線接口需要的呢功能,包括1個整流橋、摘掛機、直流終端 、交換終端、振鈴監(jiān)測、回路電流/電壓監(jiān)測及通話進程測、回路電流/電壓監(jiān)測及通話進程監(jiān)測。另外,Si3015的外部電路主要負責EMI(電磁干擾)、EMC(電磁兼容)、安全設(shè)置和振蕩操作。
2 ISOmodem在配電變壓器遠方終端單元中的應(yīng)用
2.1 硬件設(shè)計
嵌入式ISOmodem系統(tǒng)框圖如圖2。主機,即微控制器,采用TI公司的16位高性能定點DSP芯片TMS 320LF2407A。Si2414與主機TMS320 LF2407A(簡稱2407A)連接采用并口方式,與Si3015連接通過ISOlink接口,即Si2414的C1A引腳經(jīng)電容C到Si3015的C1B引腳。ISOlink是一個連接Modem芯片和DAA芯片的專用高速接口,有三個作用:首先,將控制信號和數(shù)據(jù)從Modem芯片傳輸?shù)紻AA芯片;其次,將DAA芯片縟 眰的數(shù)據(jù)和產(chǎn)生的狀態(tài)信號傳輸?shù)組doem芯芯片;最后,在掛機的時候,從Modem芯片提供 “keep-alive”電源到DAA芯片。系統(tǒng)通過TIP、RING兩條線接入電話線網(wǎng)絡(luò)或是采用專線通信方式即直接與遠方Modem的TIP、RING相連。
Si2414與控制器的硬件接口電路原理如圖3所示。采用2407A的I/O空間與Si2414的并口相連,這樣,利用I/O空間的64K可尋址空間,既節(jié)省2407A的輸入輸出端口資源,又簡化了軟件編程。圖3中,2407A的I/O空間選通引腳IS與I/O通用端口IOPA4經(jīng)一個或門連接到Si2414的片選線CS,當IOPA4=0且IS=0時,Modem芯片被穩(wěn)選通,DSP就能對Modem進行操作。另外,Si2414的8根數(shù)據(jù)線D0~D7;地址線A0連接到2407A的A0;讀、寫控制線RD、WE分別連接到2407A的讀、寫使能引腳RD、Weko怕輸出引腳INT連接到2407A的外部中斷引腳XINT1.該引腳進行軟件設(shè)置后,當系統(tǒng)檢測到振鈴或載波信號時,將輸出一個中斷脈沖tjt位引腳RESET連接到2407A的一個I/O口IPB5,當控制器給IOPB5一個大于5ms的低脈沖時, Si2414就會產(chǎn)生硬件復位。C1A引腳是Si2414與Si3015連接的DAA接口,它通過一個電容到Si3015的C1B引腳,電容主要是起隔離作用。Si3015的外圍電路主要包括一個整流橋、摘掛機、直流終端、交流終端。振鈴監(jiān)測、回路電流/電壓監(jiān)測及通話進程監(jiān)測。
2.2 軟件設(shè)計
在利用Modem通信時,首先需要對Modem初始化。Modem初始化包括通信的波特率、數(shù)據(jù)格式、通信協(xié)議、中斷、自動應(yīng)答、振鈴次數(shù)的設(shè)置等。初始化后,Modem處于等待連接狀態(tài)。這時,可以由Modem進行主動撥號建立連接,也可以由對方電話進行撥號建立連接。若由對方電話撥號,則Modem接收到振鈴RING信號的振鈴次數(shù)為一次后,Modem自動摘機進行應(yīng)答。接收到載波后,Modem發(fā)出一個中斷信號,DSP進入中斷,數(shù)據(jù)通信鏈路建立成功,延時幾十ms后,就可以進行數(shù)據(jù)通信了。若是由Modem進行主動撥號,則撥號后,Modem一直在等待對方的載波信號,DSP收到Modem返回CONNECT碼后,連接成功,Modem自動進入在線狀態(tài),雙方可以開始通信。若是DSP接收到BUSY,說明線路占線,可令Modem掛斷并等待一定時間后重新連接。通信結(jié)束后,延時一段時間,DSP向Modem發(fā)送+++,掛起數(shù)據(jù)通信,進入命令狀態(tài),再發(fā)送ATH0命令掛斷連接,最后發(fā)送ATZ命令,復位Modem。一次通信過程完成,重新初始化Modem,開始新的通信。Modem撥號通信流程如圖4.Modem自動應(yīng)答流程與圖4相似,只是靠對方建立連接。程序入口采用中斷方式,一旦DSP進入中斷,連接成功,接下來的流程與撥號通信流程一樣。
下面提供對Si2414初始化的源程序。采用C語言編寫,AT命令字符都是以ASCII碼形式發(fā)送及接收的。
Ioport unsigned port0000;/*并行接口寄存器0:發(fā)送接收寄存器*/
Ioport unsigned port0001;/*并行接口寄存器1:狀態(tài)寄存器*/
#define modemport0 port0000
#defin modemport port0001
void initmodem()
{*PADATDIR=*PADATDIR&(0XFFFF-bit4);/*選通cs*/
modemport0='A';
modemport0='T';
modemport0='Z'; /*復位*/
modemport0=13;/*回車碼
delay500ms(); /*延時500ms*/
modemport='A';
modemport0='T';
modemport0=';
modemport0='B';
modemport0=' '3;/*1個起始位,8位數(shù)據(jù),無校驗,1個停止位*/
modemport0='S';
modemport0='0';
modemport0='=';
modemport0='1';/*設(shè)置自動應(yīng)答:ATS0=1*/
modemport0=':';
modemport0='U';
modemport0=70; /*INT引腳位映射寄存器*/
modemport0=0;
modemport0=0x01;/*設(shè)置載波中斷*/
modemport0='V'
modemport0='0';/*以數(shù)字形式返回結(jié)果碼*/
modemport0='Q';/*允許返回結(jié)果碼*/
modemport0='0';
modemport0=13;/*回車碼
modemport1=0x10;/*設(shè)置RTS有效,中斷使能*/
}
結(jié)語
嵌入式工業(yè)級Modem不僅性能穩(wěn)定、誤碼率低、不易掉線、能達到較高傳輸速率,而且集成度高、外形小巧、可方便地嵌入式到各種單片機系統(tǒng),節(jié)省用戶系統(tǒng)空間。另外,是直流低壓低電,TTL電平接口,具有并行總線和標準串行總線兩種連接方式,通過與市話或單位內(nèi)部電話線相連即可實現(xiàn)遠程數(shù)據(jù)采集和控制功能。隨著微處理器技術(shù)的發(fā)展和嵌入式產(chǎn)品日趨復雜的應(yīng)用需求,嵌入式Modem有廣闊的市場前景。
- 嵌入式M(5508)
相關(guān)推薦
在嵌入式中為什么要用到Linux系統(tǒng)呢
在嵌入式開發(fā)中,你是如何理解嵌入式C編程的?
在PSoC3和PSoC5系統(tǒng)中如何使用嵌入式數(shù)字濾波?
在VIM中如何實現(xiàn)對嵌入式軟件的調(diào)試?
在分布式嵌入式系統(tǒng)的過程中利用Jini技術(shù)有什么優(yōu)勢?
嵌入式Modem在配變終端單元中的應(yīng)用是什么?
嵌入式在軍工衛(wèi)星應(yīng)用手持終端領(lǐng)域的應(yīng)用是什么
嵌入式終端使用串口的優(yōu)缺點
嵌入式FIFO怎么配置和使用?
嵌入式Linux智能娛樂終端項目的相關(guān)資料分享
嵌入式Linux音頻流媒體終端系統(tǒng)的設(shè)計資料分享
嵌入式SIP協(xié)議棧怎么設(shè)計?
嵌入式Web訪問時的內(nèi)存丟失的問題怎么解決?
嵌入式pyqt的運行問題!
嵌入式在生活中的應(yīng)用
嵌入式手持終端電源管理系統(tǒng)有什么功能?
嵌入式技術(shù)在生活中有哪些行業(yè)應(yīng)用?
嵌入式是什么? 嵌入式開發(fā)是什么意思?
嵌入式電能計量及查詢系統(tǒng)有什么功能?
嵌入式系統(tǒng)EMC的產(chǎn)生原理是什么?
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
嵌入式系統(tǒng)在行業(yè)中的應(yīng)用
嵌入式系統(tǒng)的發(fā)展歷史
嵌入式系統(tǒng)設(shè)計
嵌入式網(wǎng)絡(luò)終端間的語音通信如何實現(xiàn)?
嵌入式視覺技術(shù)是什么?
嵌入式設(shè)備上的文件系統(tǒng)該怎么優(yōu)化?
嵌入式跟蹤單元ETB MTB是什么意思
嵌入式軟件和PC的結(jié)合
嵌入式需不需要單元測試?
嵌入式非編碼矩陣鍵盤怎么實現(xiàn)?
FCU1401嵌入式控制單元
SIP協(xié)議在嵌入式環(huán)境下有什么應(yīng)用?
USB在嵌入式產(chǎn)品中的應(yīng)用
嵌入式技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用
嵌入式技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用
與嵌入式相關(guān)的資料
什么是嵌入式系統(tǒng)
基于嵌入式系統(tǒng)中DRAM控制器該怎么設(shè)計?
基于ARM的嵌入式視頻監(jiān)控終端的研究
基于ATMEGA8及MSM7512的嵌入式MODEM設(shè)計
基于MPEG-4的嵌入式DVR中如何去實現(xiàn)?
基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計
大佬都在看的嵌入式系統(tǒng)解決方案
如何為 i.MIMXRT1064 EVK啟用ETM(嵌入式跟蹤宏單元)功能?
如何去實現(xiàn)嵌入式因特網(wǎng)終端的設(shè)計?
如何在嵌入式系統(tǒng)設(shè)計中使用UML技術(shù)?
如何在手持信息終端嵌入式系統(tǒng)平臺上實現(xiàn)MIDI的播放?
如何對嵌入式軟件進行覆蓋測試?
如何提高嵌入式軟件單元測試效率
如何設(shè)計嵌入式系統(tǒng)中電源管理電路?
如何設(shè)計嵌入式系統(tǒng)掉電保護方案?
如何設(shè)計帶Cache的嵌入式CPU?
對ARM在嵌入式開發(fā)中的概述
怎么實現(xiàn)嵌入式手持移動終端中文件系統(tǒng)?
怎么實現(xiàn)基于8051嵌入式系統(tǒng)的GPRS終端的設(shè)計?
怎么實現(xiàn)車載GPS的嵌入式漢顯終端的設(shè)計?
新型多總線在嵌入式系統(tǒng)設(shè)計中的應(yīng)用是什么?
求認識在嵌入式行業(yè)的前輩啊!我在成都!奮斗在嵌入式.....
生活中嵌入式系統(tǒng)實例
用GPRS modem實現(xiàn)嵌入式Internet接入系統(tǒng)
請問在嵌入式應(yīng)用中怎樣去實現(xiàn)USB?
請問如何使用UML來設(shè)計嵌入式系統(tǒng)?
嵌入式系統(tǒng)中的MODEM
![](https://skin.elecfans.com/images/2021-soft/load.png)
嵌入式Modem 在配變終端單元中的應(yīng)用
![](https://skin.elecfans.com/images/2021-soft/load.png)
淺談嵌入式Modem的通信技術(shù)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
評論