本文提出了一種體積小、重量輕、成本低、實施方便,基于LPC2132芯片的,以電話線為數(shù)據(jù)傳輸媒質的嵌入式應用系統(tǒng),從硬件和軟件方面對系統(tǒng)的設計進行了詳細說明,并給出具體實現(xiàn)方法。
1 硬件設計
1.1 系統(tǒng)原理
如圖1所示,遠程數(shù)據(jù)傳輸系統(tǒng)由主控LPC2132、Modem芯片73M2901、RS232串口轉換電路組成,LPC2132通過UART0接收通信電纜數(shù)據(jù)采集儀的數(shù)據(jù),進行CRC校驗后通過UART1發(fā)給Modem,LPC2132是Philips公司基于32/16位ARM7TDMI-S內核[1]開發(fā)的微控制器,由于LPC2132內嵌64KB的高速Flash存儲器和16KB片內靜態(tài)RAM,具有2個符合16C550工業(yè)標準的串行接口,且其中一個包含標準的調制解調器接口信號,因此非常適合用來控制Modem芯片進行遠程數(shù)據(jù)傳輸,73M2901是TDK公司推出的低功耗、低速、單片機調制解調器[2],具有很高的集成度,與LPC2132一起可以構成一個輕便小巧的嵌入式遠程終端。
1.2 73M2901芯片簡介
73M2901內置標準的8032微處理器和1個協(xié)處理器,因此在處理復雜信號的同時還可以實現(xiàn)多種控制功能,其數(shù)據(jù)終端采用異步串行傳輸方式,最多可以支持2400bps個雙工數(shù)據(jù)傳送,此外,還支持AT指令集,其主要引腳功能[3]如表1所列。


2、調制解調部件:核心是調制解調芯片。Modem的絕大多數(shù)功能都是由這片大規(guī)模集成電路來實現(xiàn)的,包括調制解調過程,擾碼解擾碼過程,信道分割、線路均衡和指示工作狀態(tài)等。
3、模擬終端接口,包括撥號脈沖電路、振鈴檢測電路和音頻信號通道3部分,通過這部分電路可以將Modem與通信信道連接起來。
撥號脈沖電路,摘掛機信號由73M2901/5V的RELAY引腳給出,完成摘掛機動作,當RELAY發(fā)出高電平時為掛機,發(fā)出低電平時為摘機。
振鈴檢測電路,用于檢測電話線送來的振鈴信號,當信道內沒有振鈴信號時,73M2901的RING端為無效的高電平,當振鈴信號來到時,RING變?yōu)橛行У牡碗娖剑瓿烧疋彊z測。
音頻信號通道,模擬信號發(fā)送端是73M2901/5V芯片的TXAN和TRAP引腳,提供差分信號輸出,73M2901/5V還提供一個輸入引腳RXA,RXA端是非平衡的模擬輸入端口,接收的音頻信號為單端對地的模擬信號。
模擬接口電路主要功能如下:
調制解調器內部不平衡電路與平衡型通信信道之間的轉換;調制解調器內部四線電路與二線通信信道之間的轉換;識別通信信道傳來的交流振鈴信號,并將其轉換成TTL直流電平;撥號時能發(fā)出符合規(guī)定的脈沖串或雙音多頻信號。
1.3 UART1 串口傳輸
本系統(tǒng)直接將73M2901連接到LPC2132的UART1串口上,進行數(shù)據(jù)傳輸工作,接口結構如圖2所示,UART1的引腳功能描述如表2所示。


1、系統(tǒng)初始化,使數(shù)據(jù)終端就緒信號DTR有效,然后LPC2132向73M2901發(fā)出撥號指令。73M2901收到撥號指令后向被叫端Modem發(fā)出撥號音,使被叫端Modem振鈴,振鈴次數(shù)達到軟件設置的次數(shù)時,Modem將自動應答,進入摘機狀態(tài)。
2、被叫端摘機后一邊向主叫端發(fā)送應答載波,一邊向本端計算機發(fā)出DSR信號,然后被叫端計算機便開始監(jiān)視DCD信號,等待對方載波信號的到來,主叫端73M2901檢測到應答載波以后向LPC2132發(fā)出DCD信號,標志著呼叫成功。
3、呼叫成功后,主叫端73M2901向LPC2132發(fā)出DSR信號,LPC2132收到該信號后,得知線路連接已完全建立,即向73M2901發(fā)出RTS信號,73M2901將向被叫端發(fā)出載波并回送CTS信號,當主叫端LPC2132收到CTS信號以后,表示握手成功。
4、被叫端Modem檢測到主叫端發(fā)來的載波信號后就發(fā)出DCD信號,通知被叫端計算機數(shù)據(jù)鏈路已經(jīng)建立。
5、數(shù)據(jù)鏈路建立以后,LPC2132便可以向計算機傳送數(shù)據(jù)。
6、LPC2132在數(shù)據(jù)傳送完畢后向73M2901發(fā)出掛機命令,并發(fā)出無效的RTS信號,73M2901立即停發(fā)載波,并回送無效的CTS信號,被叫端Modem因收不到主叫端發(fā)來的載波信號而使DCD信號無效,計算機即向Modem發(fā)出掛機指令,Modem掛機后DSR信號無效,應答載波停發(fā)。主叫端73M2901因不發(fā)載波又收不到載波而使DCD、DSR信號無效,至此,數(shù)據(jù)鏈路拆除,系統(tǒng)處于待機狀態(tài),等待LPC2132再次要求建立連接。
2 系統(tǒng)軟件設計
2.1 通信模塊
本系統(tǒng)軟件基于μC/OS-II[4-5]平臺實現(xiàn),采用ADS1.2集成開發(fā)環(huán)境調試,整個軟件系統(tǒng)分為2個任務,包括4個模塊,數(shù)據(jù)隊列模塊、UART0的串口接收模塊、CRC校驗模塊和UART1的Modem通信模塊,系統(tǒng)主程序流程如圖3所示,系統(tǒng)的各個任務由μC/OS-II核統(tǒng)一協(xié)調分配CPU資源。





