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