帶USB接口的短信收發(fā)最小系統(tǒng)設計
1 系統(tǒng)的結構特點和主要器件
本系統(tǒng)主要由短信收發(fā)模塊和兼有監(jiān)控實現(xiàn)USB接口雙重功能的單片機組成,即西門子公司的TC35i模塊和Cygnal 公司的C8051F320。系統(tǒng)框圖如圖1所示。本設計將TC35i終端與電腦相連 (通過USB接口,TC35i終端支持GSMU AT指令集),就可以通過自行編制的短信息收發(fā)軟件,利用PC的超級終端功能實現(xiàn)短信息收發(fā)。該系統(tǒng)可實現(xiàn)中英文點對點的雙向收發(fā),一次最多可以發(fā)送70個中文字符和160個英文字符。一旦消息被發(fā)送,那么發(fā)送人就會得到發(fā)送成功的通知。它還可以實現(xiàn)一次性群發(fā),最多可以發(fā)給10個用戶,并且有電話簿功能。該終端具有隨機收發(fā),實時接收,立即回復,成本低等特性。
圖1 系統(tǒng)框圖
1.1 TC35i模塊的介紹
目前,國內常用的GSM模塊有Waecome的WMO2、愛立信的DM10/DM20系列、中興的ZXGM18系列和西門子公司的TC35i,這些模塊各有所長。其中西門子公司的TC35i系列模塊性價比高,并且已經有國內的無線電設備入網證。本設計就是選用西門子公司的TC35i。
TC35i 是一個支持中文短信息的工業(yè)級GSM 模塊,工作在EGSM900 和GSM1800 雙頻段,電源范圍為3.3~5.5 V ,可傳輸語音和數據信號, 功耗在EGSM900 (4 類) 和GSM1800 (1 類) 分別為2 W和1 W ,通過接口連接器和天線連接器分別連接SIM卡讀卡器和天線。TC35i 的數據接口(CMOS 電平)通過AT 命令可雙向傳輸指令和數據,可選波特率為300 b/s~115 kb/s , 自動波特率為1.2 kb/s~115 kb/s。它支持Text和PDU 格式的SMS (Short Message Service,短消息),可通過AT 命令或關斷信號實現(xiàn)重啟和故障恢復。TC35i由供電模塊(ASIC)、閃存、ZIF 連接器、天線接口等6部分組成。作為TC35i的核心,基帶處理器主要處理GSM 終端內的語音和數據信號,并涵蓋了蜂窩射頻設備中的所有模擬和數字功能。在不需要額外硬件電路的前提下,可支持FR、HR 和EFR 語音信道編碼。
1.2 C8051F320的介紹
USB的特點是統(tǒng)一了周邊所有裝置的連接口,各種不同的插頭、插座都設計為統(tǒng)一規(guī)格,這就解決了哪一個裝置插頭要接在哪個連接口的問題。USB總線接口作為外設的通用接口,有其他接口無法比擬的優(yōu)勢。速度性能是USB技術的突出特點,它支持熱插拔,是真正的即插即用設備,支持雙向、同步傳輸,能保證某些需要連接數據流的設備需要。在進行該USB設備開發(fā)之前,首先要根據具體使用要求選擇合適的USB控制器。現(xiàn)在市場上供應的USB控制器主要有兩種:帶USB接口的單片機(MCU)或純粹的USB接口芯片。筆者選用Cygnal公司的C8051F320芯片屬于前者。
Cygnal公司的C8051F系列單片機是集成的混合信號片上系統(tǒng)SoC。它具有與MCS-51內核及指令集完全兼容的微控制器,帶有USB收發(fā)器,完全遵循USB協(xié)議2.0,支持12 Mbps的全速傳輸或1.5 Mbps的低速傳輸,可時鐘恢復,不需額外的晶振(當然根據設計習慣,也可以采用外部晶振),提供有 8個端點(endpoint),且每個端點的傳輸類型、傳輸方向均可自由配置。另外,它還集成有1 KB的USB SRAM和USB收發(fā)器,內置的16 KB的Flash存儲器和256 B的內部RAM,還可以訪問外部數據存儲器RAM,即XRAM。它還可以為固件提供足夠的存儲空間,不需要再擴展外部存儲器。更重要的是C8051F320內部包含有一個C2(Cygnal2-Wire)調試電路,通過2腳的C2接口使用開發(fā)套件,就可以進行非侵入式、全速的在系統(tǒng)調試。另外,這2腳是公用的,它還有其他的功能,這樣設計PCB板就相對簡單些。
2 硬件系統(tǒng)電路設計
本系統(tǒng)采用Cygnal C8051F320作為控制主芯片。Cygnal C8051F為兼容MCS-51內核的單片機,內置8 KB Flash,擁有256字節(jié)RAM。由于內置Flash,因此在電路設計上可以省去外接程序存儲器,縮小了PCB板的面積,也提高了整個系統(tǒng)的可靠性。在這個GSM系統(tǒng)中,還有一些基本不變或者很少變化的量,比如子機的編號、號碼、短消息中心號碼等,這些數據可以作為常量直接寫入程序的Flash中。單片機通過串口和TC35i通信,單片機從TC35i接到外來的信息,并通過USB接口和PC機通信。
圖2 穩(wěn)壓電源電路
2.1 穩(wěn)壓電源電路
最小系統(tǒng)工作電壓為5 V DC。由于TC35i 模塊的突發(fā)耗電電流峰值可達3 A,故外加穩(wěn)壓器件必須達到足以提供該額定電流的條件。另外,電源的指標不僅僅有電壓,而且功率容限等指標都要滿足要求,故采用圖2的設計方案。在該系統(tǒng)中,開關電源芯片LM7805 完成12 V到?5 V?的轉換,電源電路主要由LM7805和AS1117-3.3這2個三端穩(wěn)壓電源模塊構成,電源模塊AS1117-3.3接收LM7805輸入的5 V電平,輸出為整個單片機系統(tǒng)提供+3.3 V工作電壓,連到ZIF連接器的1~5引腳,為TC35i提供+5 V、500 mA的充電電壓。電源的輸出基本不會受外部輸入變動干擾,而且有效的消除了電磁干擾。
2.2 IGT電路
對于TC35i模塊控制,IGT信號非常重要,只有正確的IGT信號才可以使TC35i模塊正常運行。系統(tǒng)加電后,為使TC35i 進入工作狀態(tài),必須給IGT 加一個延時大于100 ms 的低脈沖,電平下降持續(xù)時間不可超過1 ms。驅動IGT時,TC35i 供電電壓不能低于3.3 V ,否則TC35不能激活。電路設計如圖3所示。啟動電路由開漏極三極管和上電復位電路組成。為保證整個系統(tǒng)正常啟動,要求在電源加電時,IGT必須保持大于100 ms的低電平后,再跳到高電平,在電路板中是依靠RC電路來完成的,且該信號下降沿時間小于1 ms。啟動后,IGT腳的信號應保持高電平。電源通電后,+5 V電源通過電阻對電容充電,使電容正極上的電壓慢慢上升,大約經過100 ms達到高電位,使施密特觸發(fā)器翻轉,系統(tǒng)被復位。啟動后, IGT應保持高電平(3.3 V) 。
TC35i數據接口通過USB電纜直接與PC機連接。數據接口遵從DCE的ITU2T RS232內部交換電路標準,實現(xiàn)異步串行收發(fā)功能。
2.3 TC35i其他部分電路
TC35i使用外接式SIM卡, ZIF連接器上有6個引腳做為SIM卡的接口,SIM卡上也有6個引腳分別與它相對應, SIM卡同TC35i是這樣連接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通過SIM卡閱讀器與TC35i的同名端直接相連,CCIN懸空,而TC上的CCIN通過一個3.3 kΩ電阻與CCVCC相連,用來檢測SIM卡是否插好。這種連接方式是由SIM卡閱讀器決定的,由于此部分的電路簡單,本文就不提供了。
TC35i的SYNC引腳有兩種工作模式,一種是指示發(fā)射狀態(tài)時的功率增長情況,另一種是指示TC35i的工作狀態(tài),可用AT命令AT SYNC進行切換,本模塊使用的是后一種。當LED熄滅時,表明TC35i處于關閉或睡眠狀態(tài);當LED為600 ms亮/600 ms熄時,表明SIM卡沒有插入或TC35i正在進行網絡登錄;當LED為75 ms亮/3 s熄時,表明TC35i已登錄進網絡,處于待機狀態(tài)。
2.4 單片機周圍電路
采用Cygnal公司內置USB接口的高性能微控制器芯片C8051F320,簡化了硬件部分的設計。該單片機即實現(xiàn)了USB接口的功能又要完成對模塊的控制功能。因為C8051F320是帶USB接口的單片機,所以整個硬件部分與一般單片機應用系統(tǒng)的開發(fā)類似,僅需要通過端口P0.5和P0.4連接40腳ZIF插座就可實現(xiàn)模塊和單片機之間的通信。下面是設計時應特別注意的問題:在外接晶體時,一定要在晶體的兩端接上10 MΩ的電阻,晶體外殼最好接地,而且布線盡量的短,盡量減少干擾。若要快捷、成功地開發(fā)一個USB設備,正確、合理的調試方法是必不可少的環(huán)節(jié)。那么設計調試所用的JTAG口時,要在TCK加上3.3 V上拉,上拉電阻為4.7 kΩ。本單片機共有32個引腳,對于未用的I/O口最好用100 Ω的電阻下拉到地。這樣有助于保護I/O口。
3 軟件設計
基于帶有USB接口的短信發(fā)送系統(tǒng),既包括硬件設計又包括軟件設計,下面簡單介紹軟件設計。USB應用系統(tǒng)軟件設計分為三部分:USB外設端的固件(firmware)、主機操作系統(tǒng)上的客戶驅動程序以及主機應用軟件。8051F320固件程序控制整個系統(tǒng)的運行,并負責處理PC機發(fā)來的各種USB請求,以完成它們之間的數據傳輸。該固件共包含7個程序文件,響應各種來自系統(tǒng)的USB標準請求,完成各種數據的交換工作和事件處理。單片機通過串行口控制TC35i,控制方法采用標準的AT命令集。由于在 GSM標準中,中文編碼采用的是Unicode編碼,而不是目前國內常用的GB-2312編碼,故還需要進行中文編碼的轉換,才能顯示漢字字型。因此,在進行短消息的發(fā)送時,還要對用戶數據按PDU格式進行編碼,為了增強硬件的功能最好把這部分放在固件。這些底層的驅動函數將會使上層協(xié)議的編寫很方便,更重要的是,它提供了一個硬件抽象層。當底層硬件改動時,只需要改動底層的驅動函數,而上層函數的代碼不變。在此基礎之上再編寫應用層程序。主機應用軟件通過客戶驅動程序與系統(tǒng)USBDI進行通信,實現(xiàn)系統(tǒng)USB數據的傳送動作。
圖3 IGT電路
在USB傳輸中,因外圍設備的類型與應用不同,制定了4種傳輸類型,分別是控制傳輸(control transfer)、中斷傳輸(interrupt transfer)、批量傳輸(bulk transfer)以及實時傳輸(isochronous transfer)。其中,需要特別注意的是慢速設備僅支持控制傳輸與中斷傳輸。在此系統(tǒng)中采用中斷傳輸。
筆者采用Keil C51完成固件的設計,在DRIVER STUDIO環(huán)境中采用Visual C++ 6.0完成USB驅動程序的設計,最后用Visual C++ 6.0開發(fā)生成應用軟件及其相關使用說明。本設計完全采用Windows風格,用戶可快捷地使用本設備。
4 結論
利用西門子公司TC35i模塊和新華龍公司C8051F320的最小系統(tǒng)進行設計開發(fā),簡單容易,開發(fā)周期短,且?guī)в蠻SB接口,提高了安全性,減少現(xiàn)場人員工作的復雜性,易于為工程實踐所采用。本文通過計算機實現(xiàn)了短信收發(fā)功能,利用C51對其進行編程控制,在此基礎上,對軟件和硬件加以改動還可以進行二次開發(fā)實現(xiàn)其他功能,例如,可以通過移動終端來查收多種信息和控制各種工程的現(xiàn)場設備??傊鞠到y(tǒng)作為一個無線通信系統(tǒng),具有廣泛的應用前景。
參考文獻
1 Cygnal Integrated Products Inc. C8051F320 datasheet
2 TC35i Engine Hardware Interface Description. www.siemens.com,2003
3 Cygnal Integrated products, Inc. C8051F單片機應用解析. 潘琢金,等譯. 北京:北京航空航天大學出版社,2002
4 何立民. 單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,1990
5 王成儒. 等. USB2.0原理與工程開發(fā).北京:國防工業(yè)出版社,2004
6 蕭世文. USB2.0硬件設計.北京:清華大學出版社,2004
7 康厚強. 等.用于短信息收發(fā)的TC35i終端的硬件設計與實現(xiàn).電子技術,2002(8)
評論