目前,市面上的工業(yè)Modem主要以外置為主。外置Modem具有體積大、成本高、集成不方便等缺點;而嵌入式Modem以其性能穩(wěn)定、高度集成化等優(yōu)點,可以方便地嵌入到各種單片機(jī)應(yīng)用系統(tǒng),得到廣大工業(yè)用戶的極大關(guān)注與歡迎。美國硅實驗定(Silicon Laboratories)生產(chǎn)的ISOmodem就是一系列的嵌入式Modem芯片。
1 ISOmodem介紹
ISOmodem采用雙芯片形式:Modem控制芯片Si2414和DAA芯片Si3015。Modem芯片Si2414是對Modem通信進(jìn)行控制并提供與微控制器的通信接口;DAA芯片Si3015是將數(shù)字信號調(diào)制為模擬信號后輸出,或是將接收的模擬信號解調(diào)為數(shù)字信號。它的通信傳輸速率最高可達(dá)14.4kbps,耗電量小于85mW,且具有過流偵測與保護(hù)功能。
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è)置信息(默認(rèn)值除外)和其它軟件更新程序必須存儲在主機(jī)里, 然后下載到片內(nèi)RAM中。
在片內(nèi),控制器提供了一些重要的功能,包括AT命令解析,DAA控制,連接序列控制,DCE(數(shù)據(jù)通信裝置)協(xié)議控制,接入檢測,并行電話摘機(jī)檢測,溢出控制,來電顯示控制和格式化,PCM(脈沖編碼調(diào)制)模式控制,振鈴檢測,DTMF(雙音多頻)控制,通話進(jìn)程臨測,錯誤糾正和數(shù)據(jù)壓縮。事實上,主機(jī)和Modem之間的所有相互作用都是由控制器完成的??刂破魇褂谩癆T”指令、S-寄存器和U-寄存器來配置和控制Modem。
1.2 Si2414的接口
Si2414提供兩種與主機(jī)接口方式:串行接口和并行接口。Si2414默認(rèn)的用戶接口為串行接口,當(dāng)AOUT/INT引腳通過一個下拉電阻(≤10kΩ)拉至低電平且在復(fù)位的上升沿CS引腳為高電平時,Modem接口選擇為并行接口。
(1)串行接口
當(dāng)選擇串口作為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(振鈴指示)是指當(dāng)Modem接收到遠(yuǎn)程呼叫時,發(fā)出振鈴指示信號RI,以通知DTE有遠(yuǎn)程呼叫。DCD(載波檢測)是指當(dāng)Modem檢測到載波信號時發(fā)出DCD信號,以通知DTE線路已經(jīng)建立連接,雙方可以開始進(jìn)行通信。
圖1
(2)并行接口
采用并行接口方式時,主機(jī)是通過對Si2414內(nèi)部的兩個寄存器讀寫實現(xiàn)Modem通信控制的。地址線A0=0時,指向并行接口寄存器0;A0=1時,指向并行接口寄存器1。并行接口寄存器0為發(fā)送接收寄存器,寄存器1為Modem控制及狀態(tài)寄存器。
并行接口寄存器0接收主機(jī)從并口發(fā)送過來的數(shù)據(jù),并將從遠(yuǎn)程Modem接收以的數(shù)據(jù)輸出到并口。與串行接口不同,在并口方式下,發(fā)送和接收數(shù)據(jù)的流控制是通過并行接口寄存器1中的RTS、CT位及RXF、TXE位實現(xiàn)的。表2中,RTS、CTS位同串口的INT、ESC、RTS、CTS引腳功能相同,RXF為12字節(jié)學(xué)度接收FIFO緩沖滿櫝志位;TXE為14字節(jié)深度發(fā)送FIFO緩沖區(qū)空標(biāo)志武位;REM為接收FIFO緩沖區(qū)空標(biāo)志位;INTM是INT中斷引腳使能位;INT為中斷標(biāo)志位。
1.3 Si3015
Si3015,DAA或線-端芯片,包含ADC、DAC、控制電路和1個ISOlink接口。Si3015和其周圍的電路提供了電話線接口需要的呢功能,包括1個整流橋、摘掛機(jī)、直流終端 、交換終端、振鈴監(jiān)測、回路電流/電壓監(jiān)測及通話進(jìn)程測、回路電流/電壓監(jiān)測及通話進(jìn)程監(jiān)測。另外,Si3015的外部電路主要負(fù)責(zé)EMI(電磁干擾)、EMC(電磁兼容)、安全設(shè)置和振蕩操作。
2 ISOmodem在配電變壓器遠(yuǎn)方終端單元中的應(yīng)用
2.1 硬件設(shè)計
嵌入式ISOmodem系統(tǒng)框圖如圖2。主機(jī),即微控制器,采用TI公司的16位高性能定點DSP芯片TMS 320LF2407A。Si2414與主機(jī)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芯芯片;最后,在掛機(jī)的時候,從Modem芯片提供 “keep-alive”電源到DAA芯片。系統(tǒng)通過TIP、RING兩條線接入電話線網(wǎng)絡(luò)或是采用專線通信方式即直接與遠(yuǎn)方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,當(dāng)IOPA4=0且IS=0時,Modem芯片被穩(wěn)選通,DSP就能對Modem進(jìn)行操作。另外,Si2414的8根數(shù)據(jù)線D0~D7;地址線A0連接到2407A的A0;讀、寫控制線RD、WE分別連接到2407A的讀、寫使能引腳RD、Weko怕輸出引腳INT連接到2407A的外部中斷引腳XINT1.該引腳進(jìn)行軟件設(shè)置后,當(dāng)系統(tǒng)檢測到振鈴或載波信號時,將輸出一個中斷脈沖tjt位引腳RESET連接到2407A的一個I/O口IPB5,當(dāng)控制器給IOPB5一個大于5ms的低脈沖時, Si2414就會產(chǎn)生硬件復(fù)位。C1A引腳是Si2414與Si3015連接的DAA接口,它通過一個電容到Si3015的C1B引腳,電容主要是起隔離作用。Si3015的外圍電路主要包括一個整流橋、摘掛機(jī)、直流終端、交流終端。振鈴監(jiān)測、回路電流/電壓監(jiān)測及通話進(jìn)程監(jiān)測。
2.2 軟件設(shè)計
在利用Modem通信時,首先需要對Modem初始化。Modem初始化包括通信的波特率、數(shù)據(jù)格式、通信協(xié)議、中斷、自動應(yīng)答、振鈴次數(shù)的設(shè)置等。初始化后,Modem處于等待連接狀態(tài)。這時,可以由Modem進(jìn)行主動撥號建立連接,也可以由對方電話進(jìn)行撥號建立連接。若由對方電話撥號,則Modem接收到振鈴RING信號的振鈴次數(shù)為一次后,Modem自動摘機(jī)進(jìn)行應(yīng)答。接收到載波后,Modem發(fā)出一個中斷信號,DSP進(jìn)入中斷,數(shù)據(jù)通信鏈路建立成功,延時幾十ms后,就可以進(jìn)行數(shù)據(jù)通信了。若是由Modem進(jìn)行主動撥號,則撥號后,Modem一直在等待對方的載波信號,DSP收到Modem返回CONNECT碼后,連接成功,Modem自動進(jìn)入在線狀態(tài),雙方可以開始通信。若是DSP接收到BUSY,說明線路占線,可令Modem掛斷并等待一定時間后重新連接。通信結(jié)束后,延時一段時間,DSP向Modem發(fā)送+++,掛起數(shù)據(jù)通信,進(jìn)入命令狀態(tài),再發(fā)送ATH0命令掛斷連接,最后發(fā)送ATZ命令,復(fù)位Modem。一次通信過程完成,重新初始化Modem,開始新的通信。Modem撥號通信流程如圖4.Modem自動應(yīng)答流程與圖4相似,只是靠對方建立連接。程序入口采用中斷方式,一旦DSP進(jìn)入中斷,連接成功,接下來的流程與撥號通信流程一樣。
下面提供對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'; /*復(fù)位*/
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)定、誤碼率低、不易掉線、能達(dá)到較高傳輸速率,而且集成度高、外形小巧、可方便地嵌入式到各種單片機(jī)系統(tǒng),節(jié)省用戶系統(tǒng)空間。另外,是直流低壓低電,TTL電平接口,具有并行總線和標(biāo)準(zhǔn)串行總線兩種連接方式,通過與市話或單位內(nèi)部電話線相連即可實現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和控制功能。隨著微處理器技術(shù)的發(fā)展和嵌入式產(chǎn)品日趨復(fù)雜的應(yīng)用需求,嵌入式Modem有廣闊的市場前景。
- 嵌入式M(5816)
SIP協(xié)議在嵌入式Linux中的實現(xiàn)
2582
在嵌入式開發(fā)中,你是如何理解嵌入式C編程的?
在VIM中如何實現(xiàn)對嵌入式軟件的調(diào)試?
嵌入式Modem在配變終端單元中的應(yīng)用是什么?
嵌入式在軍工衛(wèi)星應(yīng)用手持終端領(lǐng)域的應(yīng)用是什么
嵌入式FIFO怎么配置和使用?
嵌入式Linux音頻流媒體終端系統(tǒng)的設(shè)計資料分享
嵌入式pyqt的運行問題!
嵌入式手持終端電源管理系統(tǒng)有什么功能?
嵌入式是什么? 嵌入式開發(fā)是什么意思?
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
嵌入式系統(tǒng)設(shè)計
嵌入式網(wǎng)絡(luò)終端間的語音通信如何實現(xiàn)?
嵌入式跟蹤單元ETB MTB是什么意思
C++在嵌入式應(yīng)用中的機(jī)遇與挑戰(zhàn)是什么?
C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用
FCU1401嵌入式控制單元
SIP協(xié)議在嵌入式環(huán)境下有什么應(yīng)用?
USB在嵌入式產(chǎn)品中的應(yīng)用
與嵌入式相關(guān)的資料
基于嵌入式系統(tǒng)中DRAM控制器該怎么設(shè)計?
基于ATMEGA8及MSM7512的嵌入式MODEM設(shè)計
基于MPEG-4的嵌入式DVR中如何去實現(xiàn)?
基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計
如何去實現(xiàn)嵌入式因特網(wǎng)終端的設(shè)計?
如何設(shè)計嵌入式系統(tǒng)中電源管理電路?
怎么實現(xiàn)嵌入式手持移動終端中文件系統(tǒng)?
怎么實現(xiàn)基于8051嵌入式系統(tǒng)的GPRS終端的設(shè)計?
怎么實現(xiàn)車載GPS的嵌入式漢顯終端的設(shè)計?
掉電保護(hù)在嵌入式系統(tǒng)中的應(yīng)用有哪些?
新型多總線在嵌入式系統(tǒng)設(shè)計中的應(yīng)用是什么?
求認(rèn)識在嵌入式行業(yè)的前輩?。∥?b class="flag-6" style="color: red">在成都!奮斗在嵌入式.....
請問在嵌入式應(yīng)用中怎樣去實現(xiàn)USB?
嵌入式系統(tǒng)中的MODEM
57電梯嵌入式監(jiān)控終端的設(shè)計與實現(xiàn)
9嵌入式實時系統(tǒng)及其在煙機(jī)中的應(yīng)用
9嵌入式Modem 在配變終端單元中的應(yīng)用
22基于嵌入式Modem 的電子申報器
9基于嵌入式TCP/IP的遠(yuǎn)程GPRS控制終端的設(shè)計與實現(xiàn)
33基于DirectShow的嵌入式視頻點播終端的設(shè)計
21Java在基于WEB的嵌入式系統(tǒng)中的應(yīng)用
31基于嵌入式Linux的車載終端的設(shè)計與實現(xiàn)
30嵌入式DHCP Server在vxWorks中的軟件實現(xiàn)
33基于Atmega8及MSM7512的嵌入式Modem設(shè)計
41iSmartRTU 3遠(yuǎn)程終端單元
嵌入式移動終端內(nèi)置WIFI的低功耗設(shè)計
1838
STM32嵌入式系統(tǒng)設(shè)計的智能控制網(wǎng)絡(luò)終端技術(shù)
2017
基于RTOS的嵌入式系統(tǒng)在Nexar中的實現(xiàn)
1154
基于CompactRIO的隨鉆嵌入式處理單元
1198XML在嵌入式系統(tǒng)中的應(yīng)用
31淺談嵌入式Modem的通信技術(shù)
1800JNI技術(shù)在嵌入式開發(fā)中的應(yīng)用
1604
嵌入式實時系統(tǒng)及其在通信系統(tǒng)中的應(yīng)用
7447
基于Labview 的嵌入式車載信息終端的設(shè)計
70什么是嵌入式單片機(jī)?嵌入式單片機(jī)詳情匯總
6640SQLite在嵌入式Wince中的應(yīng)用
797
物聯(lián)網(wǎng)中的嵌入式終端
1示波器解決嵌入式系統(tǒng)中串行總線設(shè)計
1嵌入式軟件開發(fā)編程規(guī)范介紹
4994飛凌嵌入式FCU1101嵌入式控制單元介紹
4962
嵌入式系統(tǒng)在物聯(lián)網(wǎng)中的作用是什么
5259關(guān)于嵌入式工控主板在雷達(dá)顯示終端中的應(yīng)用
890嵌入式工控機(jī)在智能倉儲中的應(yīng)用
1528嵌入式工業(yè)相機(jī)在機(jī)器視覺中的應(yīng)用講解
17DSP在嵌入式系統(tǒng)中的應(yīng)用實例
22DSP與MCU在嵌入式系統(tǒng)中的應(yīng)用
12嵌入式工業(yè)相機(jī)在機(jī)器視覺中的應(yīng)用
18淺談嵌入式系統(tǒng)裸機(jī)編程的內(nèi)存管理
1990在嵌入式中使用設(shè)計模式的思想
1048
嵌入式開發(fā)中,嵌入式硬件和軟件有什么區(qū)別?
4593
嵌入式網(wǎng)關(guān)模塊在配網(wǎng)配變監(jiān)控系統(tǒng)中的應(yīng)用
1414
嵌入式網(wǎng)絡(luò)語音通信終端設(shè)計
0機(jī)器視覺在嵌入式中的應(yīng)用
1396MPU在嵌入式系統(tǒng)中的應(yīng)用
1626Python在嵌入式系統(tǒng)中的應(yīng)用場景
1310嵌入式軟件單元測試的必要性、核心方法及工具深度解析
1124
電子發(fā)燒友App


評論