新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Modem在配變終端單元中的應(yīng)用

嵌入式Modem在配變終端單元中的應(yīng)用

作者: 時(shí)間:2004-12-11 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:主要介紹硅實(shí)驗(yàn)室雙芯片形式的(ISOmodem)芯片Si2414和Si3015,以及ISOmodem在配電變壓器遠(yuǎn)方(TTU)中的;重點(diǎn)介紹運(yùn)用ISOmodem通信的硬件及軟件設(shè)計(jì)。

關(guān)鍵詞:IOSmodem Si2414 TTU

目前,市面上的工業(yè)主要以外置為主。外置具有體積大、成本高、集成不方便等缺點(diǎn);而Modem以其性能穩(wěn)定、高度集成化等優(yōu)點(diǎn),可以方便地嵌入到各種單片機(jī)系統(tǒng),得到廣大工業(yè)用戶(hù)的極大關(guān)注與歡迎。美國(guó)硅實(shí)驗(yàn)定(Silicon Laboratories)生產(chǎn)的ISOmodem就是一系列的Modem芯片。

1 ISOmodem介紹

ISOmodem采用雙芯片形式:Modem控制芯片Si2414和DAA芯片Si3015。Modem芯片Si2414是對(duì)Modem通信進(jìn)行控制并提供與微控制器的通信接口;DAA芯片Si3015是將數(shù)字信號(hào)調(diào)制為模擬信號(hào)后輸出,或是將接收的模擬信號(hào)解調(diào)為數(shù)字信號(hào)。它的通信傳輸速率最高可達(dá)14.4kbps,耗電量小于85mW,且具有過(guò)流偵測(cè)與保護(hù)功能。

1.1 Si2414內(nèi)部結(jié)構(gòu)及功能

Si2414芯片是高度集成化的,工作電壓為3.3V,內(nèi)部功能模塊如圖1所示。包括1個(gè)控制、數(shù)據(jù)泵、ROM、RAM、1個(gè)晶振、樂(lè)相環(huán)、定時(shí)器、串行接口、UART(通用異步收發(fā)器)、1個(gè)并行接口和1個(gè)DAA接口。Modem軟件永久地被存儲(chǔ)在片內(nèi)ROM中,只有Modem設(shè)置信息(默認(rèn)值除外)和其它軟件更新程序必須存儲(chǔ)在主機(jī)里, 然后下載到片內(nèi)RAM中。

在片內(nèi),控制器提供了一些重要的功能,包括AT命令解析,DAA控制,連接序列控制,DCE(數(shù)據(jù)通信裝置)協(xié)議控制,接入檢測(cè),并行電話(huà)摘機(jī)檢測(cè),溢出控制,來(lái)電顯示控制和格式化,PCM(脈沖編碼調(diào)制)模式控制,振鈴檢測(cè),DTMF(雙音多頻)控制,通話(huà)進(jìn)程臨測(cè),錯(cuò)誤糾正和數(shù)據(jù)壓縮。事實(shí)上,主機(jī)和Modem之間的所有相互作用都是由控制器完成的??刂破魇褂谩癆T”指令、S-寄存器和U-寄存器來(lái)配置和控制Modem。

1.2 Si2414的接口

Si2414提供兩種與主機(jī)接口方式:串行接口和并行接口。Si2414默認(rèn)的用戶(hù)接口為串行接口,當(dāng)AOUT/INT引腳通過(guò)一個(gè)下拉電阻(≤10kΩ)拉至低電平且在復(fù)位的上升沿CS引腳為高電平時(shí),Modem接口選擇為并行接口。

(1)串行接口

當(dāng)選擇串口作為Si2414的用戶(hù)接口時(shí),TXD為發(fā)送引腳,RXD為接收引腳,數(shù)據(jù)通信的流控制通過(guò)硬件實(shí)現(xiàn),即通過(guò)RTS、CTS、RI、DCD引腳信號(hào)控制數(shù)據(jù)的傳送。RTS(請(qǐng)求發(fā)送)是(DTE)到Modem(DCE)的控制信號(hào),它通知DCE可以把數(shù)據(jù)發(fā)送到DTE,低電平有效。CTS(清除發(fā)送)是DCE到DTE的控制信號(hào),它通知DTE可以把數(shù)據(jù)發(fā)送到DCE,低電平有低。RI(振鈴指示)是指當(dāng)Modem接收到遠(yuǎn)程呼叫時(shí),發(fā)出振鈴指示信號(hào)RI,以通知DTE有遠(yuǎn)程呼叫。DCD(載波檢測(cè))是指當(dāng)Modem檢測(cè)到載波信號(hào)時(shí)發(fā)出DCD信號(hào),以通知DTE線(xiàn)路已經(jīng)建立連接,雙方可以開(kāi)始進(jìn)行通信。

圖1

(2)并行接口

采用并行接口方式時(shí),主機(jī)是通過(guò)對(duì)Si2414內(nèi)部的兩個(gè)寄存器讀寫(xiě)實(shí)現(xiàn)Modem通信控制的。地址線(xiàn)A0=0時(shí),指向并行接口寄存器0;A0=1時(shí),指向并行接口寄存器1。并行接口寄存器0為發(fā)送接收寄存器,寄存器1為Modem控制及狀態(tài)寄存器。

并行接口寄存器0接收主機(jī)從并口發(fā)送過(guò)來(lái)的數(shù)據(jù),并將從遠(yuǎn)程Modem接收以的數(shù)據(jù)輸出到并口。與串行接口不同,在并口方式下,發(fā)送和接收數(shù)據(jù)的流控制是通過(guò)并行接口寄存器1中的RTS、CT位及RXF、TXE位實(shí)現(xiàn)的。表2中,RTS、CTS位同串口的INT、ESC、RTS、CTS引腳功能相同,RXF為12字節(jié)學(xué)度接收FIFO緩沖滿(mǎn)櫝志位;TXE為14字節(jié)深度發(fā)送FIFO緩沖區(qū)空標(biāo)志武位;REM為接收FIFO緩沖區(qū)空標(biāo)志位;INTM是INT中斷引腳使能位;INT為中斷標(biāo)志位。

1.3 Si3015

Si3015,DAA或線(xiàn)-端芯片,包含ADC、DAC、控制電路和1個(gè)ISOlink接口。Si3015和其周?chē)碾娐诽峁┝穗娫?huà)線(xiàn)接口需要的呢功能,包括1個(gè)整流橋、摘掛機(jī)、直流 、交換終端、振鈴監(jiān)測(cè)、回路電流/電壓監(jiān)測(cè)及通話(huà)進(jìn)程測(cè)、回路電流/電壓監(jiān)測(cè)及通話(huà)進(jìn)程監(jiān)測(cè)。另外,Si3015的外部電路主要負(fù)責(zé)EMI(電磁干擾)、EMC(電磁兼容)、安全設(shè)置和振蕩操作。

2 ISOmodem在配電變壓器遠(yuǎn)方終端中的

2.1 硬件設(shè)計(jì)

嵌入式ISOmodem系統(tǒng)框圖如圖2。主機(jī),即微控制器,采用TI公司的16位高性能定點(diǎn)DSP芯片TMS 320LF2407A。Si2414與主機(jī)TMS320 LF2407A(簡(jiǎn)稱(chēng)2407A)連接采用并口方式,與Si3015連接通過(guò)ISOlink接口,即Si2414的C1A引腳經(jīng)電容C到Si3015的C1B引腳。ISOlink是一個(gè)連接Modem芯片和DAA芯片的專(zhuān)用高速接口,有三個(gè)作用:首先,將控制信號(hào)和數(shù)據(jù)從Modem芯片傳輸?shù)紻AA芯片;其次,將DAA芯片縟 的數(shù)據(jù)和產(chǎn)生的狀態(tài)信號(hào)傳輸?shù)組doem芯芯片;最后,在掛機(jī)的時(shí)候,從Modem芯片提供 “keep-alive”電源到DAA芯片。系統(tǒng)通過(guò)TIP、RING兩條線(xiàn)接入電話(huà)線(xiàn)網(wǎng)絡(luò)或是采用專(zhuān)線(xiàn)通信方式即直接與遠(yuǎn)方Modem的TIP、RING相連。

Si2414與控制器的硬件接口電路原理如圖3所示。采用2407A的I/O空間與Si2414的并口相連,這樣,利用I/O空間的64K可尋址空間,既節(jié)省2407A的輸入輸出端口資源,又簡(jiǎn)化了軟件編程。圖3中,2407A的I/O空間選通引腳IS與I/O通用端口IOPA4經(jīng)一個(gè)或門(mén)連接到Si2414的片選線(xiàn)CS,當(dāng)IOPA4=0且IS=0時(shí),Modem芯片被穩(wěn)選通,DSP就能對(duì)Modem進(jìn)行操作。另外,Si2414的8根數(shù)據(jù)線(xiàn)D0~D7;地址線(xiàn)A0連接到2407A的A0;讀、寫(xiě)控制線(xiàn)RD、WE分別連接到2407A的讀、寫(xiě)使能引腳RD、Weko怕輸出引腳INT連接到2407A的外部中斷引腳XINT1.該引腳進(jìn)行軟件設(shè)置后,當(dāng)系統(tǒng)檢測(cè)到振鈴或載波信號(hào)時(shí),將輸出一個(gè)中斷脈沖tjt位引腳RESET連接到2407A的一個(gè)I/O口IPB5,當(dāng)控制器給IOPB5一個(gè)大于5ms的低脈沖時(shí), Si2414就會(huì)產(chǎn)生硬件復(fù)位。C1A引腳是Si2414與Si3015連接的DAA接口,它通過(guò)一個(gè)電容到Si3015的C1B引腳,電容主要是起隔離作用。Si3015的外圍電路主要包括一個(gè)整流橋、摘掛機(jī)、直流終端、交流終端。振鈴監(jiān)測(cè)、回路電流/電壓監(jiān)測(cè)及通話(huà)進(jìn)程監(jiān)測(cè)。

2.2 軟件設(shè)計(jì)

在利用Modem通信時(shí),首先需要對(duì)Modem初始化。Modem初始化包括通信的波特率、數(shù)據(jù)格式、通信協(xié)議、中斷、自動(dòng)應(yīng)答、振鈴次數(shù)的設(shè)置等。初始化后,Modem處于等待連接狀態(tài)。這時(shí),可以由Modem進(jìn)行主動(dòng)撥號(hào)建立連接,也可以由對(duì)方電話(huà)進(jìn)行撥號(hào)建立連接。若由對(duì)方電話(huà)撥號(hào),則Modem接收到振鈴RING信號(hào)的振鈴次數(shù)為一次后,Modem自動(dòng)摘機(jī)進(jìn)行應(yīng)答。接收到載波后,Modem發(fā)出一個(gè)中斷信號(hào),DSP進(jìn)入中斷,數(shù)據(jù)通信鏈路建立成功,延時(shí)幾十ms后,就可以進(jìn)行數(shù)據(jù)通信了。若是由Modem進(jìn)行主動(dòng)撥號(hào),則撥號(hào)后,Modem一直在等待對(duì)方的載波信號(hào),DSP收到Modem返回CONNECT碼后,連接成功,Modem自動(dòng)進(jìn)入在線(xiàn)狀態(tài),雙方可以開(kāi)始通信。若是DSP接收到BUSY,說(shuō)明線(xiàn)路占線(xiàn),可令Modem掛斷并等待一定時(shí)間后重新連接。通信結(jié)束后,延時(shí)一段時(shí)間,DSP向Modem發(fā)送+++,掛起數(shù)據(jù)通信,進(jìn)入命令狀態(tài),再發(fā)送ATH0命令掛斷連接,最后發(fā)送ATZ命令,復(fù)位Modem。一次通信過(guò)程完成,重新初始化Modem,開(kāi)始新的通信。Modem撥號(hào)通信流程如圖4.Modem自動(dòng)應(yīng)答流程與圖4相似,只是靠對(duì)方建立連接。程序入口采用中斷方式,一旦DSP進(jìn)入中斷,連接成功,接下來(lái)的流程與撥號(hào)通信流程一樣。

下面提供對(duì)Si2414初始化的源程序。采用C語(yǔ)言編寫(xiě),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;/*回車(chē)碼CR>,命令結(jié)束*/

delay500ms(); /*延時(shí)500ms*/

modemport='A';

modemport0='T';

modemport0=';

modemport0='B';

modemport0=' '3;/*1個(gè)起始位,8位數(shù)據(jù),無(wú)校驗(yàn),1個(gè)停止位*/

modemport0='S';

modemport0='0';

modemport0='=';

modemport0='1';/*設(shè)置自動(dòng)應(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;/*回車(chē)碼CR>,命令結(jié)束*/

modemport1=0x10;/*設(shè)置RTS有效,中斷使能*/

}

結(jié)語(yǔ)

嵌入式工業(yè)級(jí)Modem不僅性能穩(wěn)定、誤碼率低、不易掉線(xiàn)、能達(dá)到較高傳輸速率,而且集成度高、外形小巧、可方便地嵌入式到各種單片機(jī)系統(tǒng),節(jié)省用戶(hù)系統(tǒng)空間。另外,是直流低壓低電,TTL電平接口,具有并行總線(xiàn)和標(biāo)準(zhǔn)串行總線(xiàn)兩種連接方式,通過(guò)與市話(huà)或單位內(nèi)部電話(huà)線(xiàn)相連即可實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和控制功能。隨著微處理器技術(shù)的發(fā)展和嵌入式產(chǎn)品日趨復(fù)雜的應(yīng)用需求,嵌入式Modem有廣闊的市場(chǎng)前景。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉