帶USB接口的短信收發(fā)最小系統設計
1 系統的結構特點(diǎn)和主要器件
本系統主要由短信收發(fā)模塊和兼有監控實(shí)現USB接口雙重功能的單片機組成,即西門(mén)子公司的TC35i模塊和Cygnal 公司的C8051F320。系統框圖如圖1所示。本設計將TC35i終端與電腦相連 (通過(guò)USB接口,TC35i終端支持GSMU AT指令集),就可以通過(guò)自行編制的短信息收發(fā)軟件,利用PC的超級終端功能實(shí)現短信息收發(fā)。該系統可實(shí)現中英文點(diǎn)對點(diǎn)的雙向收發(fā),一次最多可以發(fā)送70個(gè)中文字符和160個(gè)英文字符。一旦消息被發(fā)送,那么發(fā)送人就會(huì )得到發(fā)送成功的通知。它還可以實(shí)現一次性群發(fā),最多可以發(fā)給10個(gè)用戶(hù),并且有電話(huà)簿功能。該終端具有隨機收發(fā),實(shí)時(shí)接收,立即回復,成本低等特性。

圖1 系統框圖
1.1 TC35i模塊的介紹
目前,國內常用的GSM模塊有Waecome的WMO2、愛(ài)立信的DM10/DM20系列、中興的ZXGM18系列和西門(mén)子公司的TC35i,這些模塊各有所長(cháng)。其中西門(mén)子公司的TC35i系列模塊性?xún)r(jià)比高,并且已經(jīng)有國內的無(wú)線(xiàn)電設備入網(wǎng)證。本設計就是選用西門(mén)子公司的TC35i。
TC35i 是一個(gè)支持中文短信息的工業(yè)級GSM 模塊,工作在EGSM900 和GSM1800 雙頻段,電源范圍為3.3~5.5 V ,可傳輸語(yǔ)音和數據信號, 功耗在EGSM900 (4 類(lèi)) 和GSM1800 (1 類(lèi)) 分別為2 W和1 W ,通過(guò)接口連接器和天線(xiàn)連接器分別連接SIM卡讀卡器和天線(xiàn)。TC35i 的數據接口(CMOS 電平)通過(guò)AT 命令可雙向傳輸指令和數據,可選波特率為300 b/s~115 kb/s , 自動(dòng)波特率為1.2 kb/s~115 kb/s。它支持Text和PDU 格式的SMS (Short Message Service,短消息),可通過(guò)AT 命令或關(guān)斷信號實(shí)現重啟和故障恢復。TC35i由供電模塊(ASIC)、閃存、ZIF 連接器、天線(xiàn)接口等6部分組成。作為T(mén)C35i的核心,基帶處理器主要處理GSM 終端內的語(yǔ)音和數據信號,并涵蓋了蜂窩射頻設備中的所有模擬和數字功能。在不需要額外硬件電路的前提下,可支持FR、HR 和EFR 語(yǔ)音信道編碼。
1.2 C8051F320的介紹
USB的特點(diǎn)是統一了周邊所有裝置的連接口,各種不同的插頭、插座都設計為統一規格,這就解決了哪一個(gè)裝置插頭要接在哪個(gè)連接口的問(wèn)題。USB總線(xiàn)接口作為外設的通用接口,有其他接口無(wú)法比擬的優(yōu)勢。速度性能是USB技術(shù)的突出特點(diǎn),它支持熱插拔,是真正的即插即用設備,支持雙向、同步傳輸,能保證某些需要連接數據流的設備需要。在進(jìn)行該USB設備開(kāi)發(fā)之前,首先要根據具體使用要求選擇合適的USB控制器?,F在市場(chǎng)上供應的USB控制器主要有兩種:帶USB接口的單片機(MCU)或純粹的USB接口芯片。筆者選用Cygnal公司的C8051F320芯片屬于前者。
Cygnal公司的C8051F系列單片機是集成的混合信號片上系統SoC。它具有與MCS-51內核及指令集完全兼容的微控制器,帶有USB收發(fā)器,完全遵循USB協(xié)議2.0,支持12 Mbps的全速傳輸或1.5 Mbps的低速傳輸,可時(shí)鐘恢復,不需額外的晶振(當然根據設計習慣,也可以采用外部晶振),提供有 8個(gè)端點(diǎn)(endpoint),且每個(gè)端點(diǎn)的傳輸類(lèi)型、傳輸方向均可自由配置。另外,它還集成有1 KB的USB SRAM和USB收發(fā)器,內置的16 KB的Flash存儲器和256 B的內部RAM,還可以訪(fǎng)問(wèn)外部數據存儲器RAM,即XRAM。它還可以為固件提供足夠的存儲空間,不需要再擴展外部存儲器。更重要的是C8051F320內部包含有一個(gè)C2(Cygnal2-Wire)調試電路,通過(guò)2腳的C2接口使用開(kāi)發(fā)套件,就可以進(jìn)行非侵入式、全速的在系統調試。另外,這2腳是公用的,它還有其他的功能,這樣設計PCB板就相對簡(jiǎn)單些。
2 硬件系統電路設計
本系統采用Cygnal C8051F320作為控制主芯片。Cygnal C8051F為兼容MCS-51內核的單片機,內置8 KB Flash,擁有256字節RAM。由于內置Flash,因此在電路設計上可以省去外接程序存儲器,縮小了PCB板的面積,也提高了整個(gè)系統的可靠性。在這個(gè)GSM系統中,還有一些基本不變或者很少變化的量,比如子機的編號、號碼、短消息中心號碼等,這些數據可以作為常量直接寫(xiě)入程序的Flash中。單片機通過(guò)串口和TC35i通信,單片機從TC35i接到外來(lái)的信息,并通過(guò)USB接口和PC機通信。

圖2 穩壓電源電路
2.1 穩壓電源電路
最小系統工作電壓為5 V DC。由于TC35i 模塊的突發(fā)耗電電流峰值可達3 A,故外加穩壓器件必須達到足以提供該額定電流的條件。另外,電源的指標不僅僅有電壓,而且功率容限等指標都要滿(mǎn)足要求,故采用圖2的設計方案。在該系統中,開(kāi)關(guān)電源芯片LM7805 完成12 V到?5 V?的轉換,電源電路主要由LM7805和AS1117-3.3這2個(gè)三端穩壓電源模塊構成,電源模塊AS1117-3.3接收LM7805輸入的5 V電平,輸出為整個(gè)單片機系統提供+3.3 V工作電壓,連到ZIF連接器的1~5引腳,為T(mén)C35i提供+5 V、500 mA的充電電壓。電源的輸出基本不會(huì )受外部輸入變動(dòng)干擾,而且有效的消除了電磁干擾。
2.2 IGT電路
對于TC35i模塊控制,IGT信號非常重要,只有正確的IGT信號才可以使TC35i模塊正常運行。系統加電后,為使TC35i 進(jìn)入工作狀態(tài),必須給IGT 加一個(gè)延時(shí)大于100 ms 的低脈沖,電平下降持續時(shí)間不可超過(guò)1 ms。驅動(dòng)IGT時(shí),TC35i 供電電壓不能低于3.3 V ,否則TC35不能激活。電路設計如圖3所示。啟動(dòng)電路由開(kāi)漏極三極管和上電復位電路組成。為保證整個(gè)系統正常啟動(dòng),要求在電源加電時(shí),IGT必須保持大于100 ms的低電平后,再跳到高電平,在電路板中是依靠RC電路來(lái)完成的,且該信號下降沿時(shí)間小于1 ms。啟動(dòng)后,IGT腳的信號應保持高電平。電源通電后,+5 V電源通過(guò)電阻對電容充電,使電容正極上的電壓慢慢上升,大約經(jīng)過(guò)100 ms達到高電位,使施密特觸發(fā)器翻轉,系統被復位。啟動(dòng)后, IGT應保持高電平(3.3 V) 。
TC35i數據接口通過(guò)USB電纜直接與PC機連接。數據接口遵從DCE的ITU2T RS232內部交換電路標準,實(shí)現異步串行收發(fā)功能。
2.3 TC35i其他部分電路
TC35i使用外接式SIM卡, ZIF連接器上有6個(gè)引腳做為SIM卡的接口,SIM卡上也有6個(gè)引腳分別與它相對應, SIM卡同TC35i是這樣連接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通過(guò)SIM卡閱讀器與TC35i的同名端直接相連,CCIN懸空,而TC上的CCIN通過(guò)一個(gè)3.3 kΩ電阻與CCVCC相連,用來(lái)檢測SIM卡是否插好。這種連接方式是由SIM卡閱讀器決定的,由于此部分的電路簡(jiǎn)單,本文就不提供了。
TC35i的SYNC引腳有兩種工作模式,一種是指示發(fā)射狀態(tài)時(shí)的功率增長(cháng)情況,另一種是指示TC35i的工作狀態(tài),可用AT命令AT SYNC進(jìn)行切換,本模塊使用的是后一種。當LED熄滅時(shí),表明TC35i處于關(guān)閉或睡眠狀態(tài);當LED為600 ms亮/600 ms熄時(shí),表明SIM卡沒(méi)有插入或TC35i正在進(jìn)行網(wǎng)絡(luò )登錄;當LED為75 ms亮/3 s熄時(shí),表明TC35i已登錄進(jìn)網(wǎng)絡(luò ),處于待機狀態(tài)。
2.4 單片機周?chē)娐?BR>
采用Cygnal公司內置USB接口的高性能微控制器芯片C8051F320,簡(jiǎn)化了硬件部分的設計。該單片機即實(shí)現了USB接口的功能又要完成對模塊的控制功能。因為C8051F320是帶USB接口的單片機,所以整個(gè)硬件部分與一般單片機應用系統的開(kāi)發(fā)類(lèi)似,僅需要通過(guò)端口P0.5和P0.4連接40腳ZIF插座就可實(shí)現模塊和單片機之間的通信。下面是設計時(shí)應特別注意的問(wèn)題:在外接晶體時(shí),一定要在晶體的兩端接上10 MΩ的電阻,晶體外殼最好接地,而且布線(xiàn)盡量的短,盡量減少干擾。若要快捷、成功地開(kāi)發(fā)一個(gè)USB設備,正確、合理的調試方法是必不可少的環(huán)節。那么設計調試所用的JTAG口時(shí),要在TCK加上3.3 V上拉,上拉電阻為4.7 kΩ。本單片機共有32個(gè)引腳,對于未用的I/O口最好用100 Ω的電阻下拉到地。這樣有助于保護I/O口。
3 軟件設計
基于帶有USB接口的短信發(fā)送系統,既包括硬件設計又包括軟件設計,下面簡(jiǎn)單介紹軟件設計。USB應用系統軟件設計分為三部分:USB外設端的固件(firmware)、主機操作系統上的客戶(hù)驅動(dòng)程序以及主機應用軟件。8051F320固件程序控制整個(gè)系統的運行,并負責處理PC機發(fā)來(lái)的各種USB請求,以完成它們之間的數據傳輸。該固件共包含7個(gè)程序文件,響應各種來(lái)自系統的USB標準請求,完成各種數據的交換工作和事件處理。單片機通過(guò)串行口控制TC35i,控制方法采用標準的AT命令集。由于在 GSM標準中,中文編碼采用的是Unicode編碼,而不是目前國內常用的GB-2312編碼,故還需要進(jìn)行中文編碼的轉換,才能顯示漢字字型。因此,在進(jìn)行短消息的發(fā)送時(shí),還要對用戶(hù)數據按PDU格式進(jìn)行編碼,為了增強硬件的功能最好把這部分放在固件。這些底層的驅動(dòng)函數將會(huì )使上層協(xié)議的編寫(xiě)很方便,更重要的是,它提供了一個(gè)硬件抽象層。當底層硬件改動(dòng)時(shí),只需要改動(dòng)底層的驅動(dòng)函數,而上層函數的代碼不變。在此基礎之上再編寫(xiě)應用層程序。主機應用軟件通過(guò)客戶(hù)驅動(dòng)程序與系統USBDI進(jìn)行通信,實(shí)現系統USB數據的傳送動(dòng)作。

圖3 IGT電路
在USB傳輸中,因外圍設備的類(lèi)型與應用不同,制定了4種傳輸類(lèi)型,分別是控制傳輸(control transfer)、中斷傳輸(interrupt transfer)、批量傳輸(bulk transfer)以及實(shí)時(shí)傳輸(isochronous transfer)。其中,需要特別注意的是慢速設備僅支持控制傳輸與中斷傳輸。在此系統中采用中斷傳輸。
筆者采用Keil C51完成固件的設計,在DRIVER STUDIO環(huán)境中采用Visual C++ 6.0完成USB驅動(dòng)程序的設計,最后用Visual C++ 6.0開(kāi)發(fā)生成應用軟件及其相關(guān)使用說(shuō)明。本設計完全采用Windows風(fēng)格,用戶(hù)可快捷地使用本設備。
4 結論
利用西門(mén)子公司TC35i模塊和新華龍公司C8051F320的最小系統進(jìn)行設計開(kāi)發(fā),簡(jiǎn)單容易,開(kāi)發(fā)周期短,且帶有USB接口,提高了安全性,減少現場(chǎng)人員工作的復雜性,易于為工程實(shí)踐所采用。本文通過(guò)計算機實(shí)現了短信收發(fā)功能,利用C51對其進(jìn)行編程控制,在此基礎上,對軟件和硬件加以改動(dòng)還可以進(jìn)行二次開(kāi)發(fā)實(shí)現其他功能,例如,可以通過(guò)移動(dòng)終端來(lái)查收多種信息和控制各種工程的現場(chǎng)設備??傊?,本系統作為一個(gè)無(wú)線(xiàn)通信系統,具有廣泛的應用前景。
參考文獻
1 Cygnal Integrated Products Inc. C8051F320 datasheet
2 TC35i Engine Hardware Interface Description. www.siemens.com,2003
3 Cygnal Integrated products, Inc. C8051F單片機應用解析. 潘琢金,等譯. 北京:北京航空航天大學(xué)出版社,2002
4 何立民. 單片機應用系統設計.北京:北京航空航天大學(xué)出版社,1990
5 王成儒. 等. USB2.0原理與工程開(kāi)發(fā).北京:國防工業(yè)出版社,2004
6 蕭世文. USB2.0硬件設計.北京:清華大學(xué)出版社,2004
7 康厚強. 等.用于短信息收發(fā)的TC35i終端的硬件設計與實(shí)現.電子技術(shù),2002(8)
評論