1. 引言
當前單片機和PC 機通過串行接口構(gòu)成的多微機系統(tǒng)已經(jīng)廣泛應(yīng)用于工業(yè)控制、環(huán)境監(jiān)測等場合,這些系統(tǒng)大多采用RS - 232、RS - 485 或是有線modem的通信方式, 雖然很經(jīng)濟適用, 但是有線數(shù)據(jù)傳輸方式很大程度上限制了其使用的場合, 使得架設(shè)通信線路比較困難的地區(qū)無法應(yīng)用。針對這種情況, 本文利用支持語音、短消息SMS ( ShortM es.sage Service)、數(shù)據(jù)通信、傳真等業(yè)務(wù)的嵌入式無線CPU, 結(jié)合已有的單片機系統(tǒng)通過RS- 232接口連接嵌入式無線CPU, 從而利用GSM 網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的無線傳輸。嵌入式無線CPU 在短信息方面的應(yīng)用具有永遠在線、不需撥號、價格便宜、覆蓋范圍廣等特點, 特別適用于需頻繁傳送小流量數(shù)據(jù)的應(yīng)用, 實現(xiàn)無線數(shù)據(jù)的雙向傳送。對軟件和硬件加以改動還可以實現(xiàn)數(shù)據(jù)采集系統(tǒng)、GPS /GSM ( SMS)移動車輛監(jiān)控定位系統(tǒng)、移動POS機、移動收費系統(tǒng)、移動性數(shù)據(jù)和Internet接入、機房監(jiān)控、遠程維護系統(tǒng)、移動性數(shù)據(jù)查詢證券交易和信息查詢系統(tǒng)、無線遠程檢測和控制等。
2. 系統(tǒng)硬件設(shè)計
本設(shè)計選用的是西門子TC35i嵌入式無線CPU。TC35i是西門子為適應(yīng)各個專業(yè)領(lǐng)域?qū)o線數(shù)據(jù)傳輸、語音傳輸及可開發(fā)性的需求推出的基于GSM 900移動通信網(wǎng)絡(luò)系統(tǒng)的OEM 模塊, TC35 i與GSM 2 /2+ 兼容、雙頻( GSM900 /GSM1800) , RS232數(shù)據(jù)口、符合ETS I標準GSM07. 07和GSM07. 05 、提供標準的AT 命令接口。MCU 采用CygnalC8051F020單片機。
基于TC35i嵌入式無線CPU 應(yīng)用系統(tǒng)硬件的設(shè)計包括TC35 i的IGT電路、穩(wěn)壓電源電路、SYNC /S IM 卡指示燈電路、C8051F020 與TC35 i相連的串行口電路、C8051F020與PC 機的串行接口等幾部分的設(shè)計, 應(yīng)用系統(tǒng)硬件框圖如圖1 所示。其中TC35 i的IGT電路和C8051F020與PC 機的串行接口電路的設(shè)計需特別注意。
圖1. 應(yīng)用系統(tǒng)硬件框圖。
2. 1. TC35 i的IGT電路的設(shè)計
對于TC35 i模塊的控制, IGT 信號非常的重要,只有正確的IGT信號才可以使TC35 i模塊正常的運行, 模塊工作時序如圖2所示。
圖2. TC35 i模塊工作時序。
啟動電路由開漏極三極管和上電復(fù)位電路組成。模塊上電10m s后(電壓須大于3V ) , 為保證整個系統(tǒng)正常啟動, 要求在電源加電時GT 必須在保持大于100毫秒的低電平后再階躍到高電平。在電路板中是依靠RC電路來完成的且該信號下降沿時間小于lms。啟動后15腳的信號應(yīng)保持高電平。電源通電后, + 5V電源通過電阻R 對C 充電, 使電容正極上的電壓慢慢上升, 大約經(jīng)過100ms達到高電位使施密特觸發(fā)器翻轉(zhuǎn)、使系統(tǒng)被復(fù)位。電路設(shè)計如圖3所示。
圖3. TC35i的IGT電路。
2. 2. C8051F020與PC 機的串口電路的設(shè)計
串行接口E IA - RS- 232C 標準對電器特性、邏輯電平和各種信號線功能都作了規(guī)定, RS- 232- C采用負邏輯規(guī)定邏輯電平。RS- 232C 不能和單片機的TTL電平( TTL 以高低電平表示邏輯狀態(tài))直接相連, 否則將使TTL 電路燒壞。本設(shè)計中C8051F020與PC 機的串行接口數(shù)據(jù)通信電路以SP3223E 芯片為核心, 實現(xiàn)電平轉(zhuǎn)換及串口通信功能。SP3223E 芯片供電電壓為3~ 5. 5V , 符合TIA /E IA - 232- F和ITUV. 28 /V. 24 標準。兼容5V 邏輯輸入, 內(nèi)含2路接收、2路發(fā)送串行通信接口, 數(shù)據(jù)傳輸速率可達240 kbit/ s。具有低功耗、高數(shù)據(jù)速率、增強型ESD保護等特性。增強型ESD結(jié)構(gòu)為所有發(fā)送器輸出和接收器輸入提供保護, 可承受?
15kV IEC 1000- 4- 2氣隙放電、? 8kV IEC 1000-4- 2接觸放電和? 15kV 人體放電模式。芯片的最大特點是, 在串行口無數(shù)據(jù)輸入的情況下, 可以靈活的進行電源管理, 即當ONLINE 為低電平、SHUT.
DOWN 為高電平時, ON - LINE 功能有效。在正常運行模式下, 若芯片在接收引腳沒有檢測到有效信號, 將自動進入SHUTDOWN 模式, 此時耗電luA。
在ON - LINE 功能有效時, 如果檢測到接收或發(fā)送引腳有信號輸入, 該芯片自動被激活, 轉(zhuǎn)入正常工作狀態(tài)。電路設(shè)計如圖4所示。
圖4. C8051F020與PC 機的串口電路。
3. 系統(tǒng)軟件設(shè)計
軟件的編寫分為底層驅(qū)動程序和應(yīng)用層程序。
為了方便軟件編程, 需要針對硬件編寫一些底層驅(qū)動程序。首先是串行口的驅(qū)動函數(shù): 打開串口( OpenComm )、關(guān)閉串口( C loseComm )、讀串口數(shù)據(jù)( fteadComm)、寫串口數(shù)據(jù)(W riteComm) 等, 本系統(tǒng)中通過控件MSCCOMM 來完成。然后在這些串口函數(shù)的基礎(chǔ)上編寫TC35i的驅(qū)動函數(shù)。單片機通過串行口控制TC35i,控制方法采用標準的AT 命令集。在進行短消息的發(fā)送時, 還要對用戶數(shù)據(jù)按PDU 格式進行編碼, 函數(shù)分別為Encode和Decode,在此基礎(chǔ)之上再編寫應(yīng)用層程序。這些底層的驅(qū)動函數(shù)將會使上層協(xié)議的編寫很方便, 更重要的是, 它提供了一個硬件抽象層。當?shù)讓佑布膭訒r, 只需要對底層的驅(qū)動函數(shù)改動, 而上層函數(shù)的代碼不變。
軟件層次結(jié)構(gòu)如圖5所示。
圖5. 軟件層次結(jié)構(gòu)圖。
3. 1. 上位機軟件設(shè)計
上位機軟件是一個短信息通信的管理器, 運行在PC機上, 通過串口與單片機和TC35 i通信。上位機軟件由RS - 232串口參數(shù)設(shè)置、接收信息、發(fā)送信息、歷史記錄、發(fā)送命令等部分組成。上位機軟件用戶界面如圖6所示。
圖6. 上位機軟件用戶界面。
( 1) 發(fā)送短信息程序流程。
對于SIM 卡中的短信息, 可以顯示其編號、類型、發(fā)送者號碼、信息正文和發(fā)送時間, 當發(fā)送短信息時應(yīng)該先設(shè)置并檢查串口是否打開和TC35 i模塊是否正確連接, 還要判斷目的手機和短信息中心號碼位數(shù)是否正確, 之后再發(fā)送AT 命令, 發(fā)送短信息程序流程圖如圖7所示。
圖7. 發(fā)送短信息程序流程圖。
( 2) 接收短信息程序流程。
若TC35 i接收到一條短信息, 將會發(fā)送一個提示信息, 串口*程序收到此提示信息, 就把短信息的內(nèi)容顯示到文本框中, 短信息內(nèi)容包括接收時間、發(fā)送時間、發(fā)送手機號、短信息正文。接收短信息程序流程圖如圖8所示。
圖8. 接收短信息程序流程圖。
3. 2. 下位機軟件設(shè)計
下位機采用C ygna l公司的C8051F020單片機,它具有2 個串口UART0 和UART1, 設(shè)計時UART0連接PC 上位機(接收端)或數(shù)據(jù)采集系統(tǒng)(發(fā)送端) , UART1連接TC35 i模塊, 兩個串口都是雙向通道, 這樣單片機既可以控制TC35 i發(fā)送數(shù)據(jù), 又可通過TC35 i接收數(shù)據(jù), 數(shù)據(jù)傳輸流向如圖9所示。
圖9. 單片機數(shù)據(jù)傳輸流向圖。
由于UART0的中斷優(yōu)先級比UART1要高得多, 如果用查詢的方式先處理UART0的請求, 再處理UART1的請求, 比中斷方式更有效率, 并且程序設(shè)計更為簡單, 故本系統(tǒng)在單片機串口程序設(shè)計中采用了查詢方式。下位機軟件程序流程圖如圖10所示。
圖10. 下位機軟件程序流程圖。
4. 結(jié)束語
本文圍繞基于嵌入式無線CPU 短信息通信終端設(shè)計這一熱點課題, 闡述了相應(yīng)的GSM 無線終端的設(shè)計方案、開發(fā)方法和開發(fā)過程。實現(xiàn)了能收發(fā)短信的無線CPU 終端, 完成了IGT啟動電路以及單片機與TC35 i和PC 機的串行接口等硬件電路的設(shè)計。采用面向?qū)ο蟮脑O(shè)計方法完成了上位機軟件設(shè)計, 在單片機程序設(shè)計中, 用C51進行編程, 對兩個串口的讀寫采用輪詢方式, 由于篇幅有限程序代碼省略, 給出了程序設(shè)計流程圖。
在本終端平臺的基礎(chǔ)上, 對硬件和軟件進行適當?shù)恼{(diào)整和擴充就能設(shè)計成各種應(yīng)用系統(tǒng)。