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



評論