基于C8051F02X的無(wú)線(xiàn)數據傳輸系統
美國Cygnal公司的系統型MCU芯片C8051F020是完全集成的混合信號片上系統型MCU芯片,是真正能獨立工作的片上系統(SoC)。與普通單片機相比較,它具有高速、功能強,外設及功能部件齊全,擴展芯片少,升級維護容易等優(yōu)點(diǎn),而其具有的片內調試功能,設計人員可通過(guò)JTAG接口進(jìn)行非侵入式、全速的在系統調試,是復雜系統高效、高可靠性的數字信號處理芯片。
本系統設計選用此款單片機作為MCU的最主要原因,一方面是由于CIP-51與MCS-51指令完全兼容,可使用標準的8051的匯編器、編譯器及軟件包進(jìn)行軟件開(kāi)發(fā),同時(shí)也方便使用人員進(jìn)行軟件移植;另一方面可充分利用其豐富的通用數字端口資源,而不用地址/數據線(xiàn)復用,其外圍電路的設計也可以大大簡(jiǎn)化。C8051F02X豐富的端口資源及其分配的靈活性通過(guò)使用優(yōu)先權交叉開(kāi)關(guān)譯碼器實(shí)現,而且所有引腳都采用5 V電壓,且都可以配置為漏極開(kāi)路或推挽輸出方式和弱上拉。
2.2 DSl2887時(shí)鐘芯片
DSl2887是DALLAS公司推出的一款時(shí)鐘芯片。該芯片內置晶振及電池,無(wú)需擔心掉電停走問(wèn)題,另外還提供了114 B通用非易失RAM,同時(shí)可完成閏年補償和夏令時(shí)自動(dòng)調整功能,支持Motorola和IN2TEL兩種總線(xiàn)時(shí)序。這些優(yōu)點(diǎn)使得該芯片被廣泛應用在工業(yè)控制領(lǐng)域中。時(shí)鐘芯片與單片機之間的電路連接如圖2所示。

2.3 MC35i模塊
MC35i是西門(mén)子公司的第一款GPRS模塊,它不僅支持GPRS技術(shù),還具有TC35i的全部功能:可以在GSM網(wǎng)上進(jìn)行數據、語(yǔ)音、短消息以及傳真的服務(wù);采用標準的工業(yè)接口,易于集成。MC35i支持GSM900和GSMl800雙頻網(wǎng)絡(luò ),內置SlM卡閱讀器以及支持即插即用的特性,可以把它作為通用的雙頻帶模塊,用來(lái)簡(jiǎn)單、快速地傳送數據。
MC35i有40個(gè)引腳,通過(guò)一個(gè)零阻力插座(Zero Insertion Force,ZIF)連接器引出。這40個(gè)引腳可以劃分為五類(lèi),即電源、數據輸入/輸出、SIM卡、音頻接口和控制。其中第18,19引腳分別作為輸入/輸出引腳與C8051F020的串口1相連;C8051F020通過(guò)向MC35i的第18引腳發(fā)送AT命令控制數據傳輸,同時(shí)根據第19引腳的返回數據來(lái)判斷是否有新短信并讀取短信內容。第15引腳為點(diǎn)火線(xiàn)IGT(Ignition),是控制引腳,與C8051F020的P1.5引腳相連;當MC35i通電后必須給IGT一個(gè)大于100 ms的低電平,模塊才啟動(dòng)。
3 系統的軟件設計
本設計分為主機和從機兩個(gè)部分,主機部分主要是實(shí)現對數據發(fā)送時(shí)間以及數據采集器參數的控制,從機部分主要是實(shí)現數據的接收和發(fā)送。
3.1 通信協(xié)議的設置
主機與從機之間要實(shí)現相互通信,首先必須規定用以傳輸數據的協(xié)議。一般來(lái)說(shuō),主機發(fā)送命令和配置信息給從機,而從機則向主機發(fā)送反饋信息。
本系統主要實(shí)現的是主機對從機數據發(fā)送時(shí)間的控制,當主機響應時(shí)鐘芯片DSl2887的中斷請求進(jìn)入INTO中斷服務(wù)程序時(shí),主機向從機發(fā)送一個(gè)字符‘s’,從機接收到該指令后就開(kāi)始發(fā)送數據。同時(shí)數據收發(fā)模塊與接收終端之間同樣需要通信協(xié)議以保證傳輸的可靠性。當接收終端在一定的時(shí)間內(比如5 min)沒(méi)有收到數據時(shí),向數據收發(fā)模塊發(fā)送一條內容為‘N’的短信息,示意重發(fā)數據。數據收發(fā)模塊收到短信息后,提取短信息內容并判斷是否為‘N’,是則重發(fā)數據。從機與數據采集器之間的通信也規定了相應的協(xié)議,每一組數據前都有相應的起始位和長(cháng)度位,從機通過(guò)判斷每一組數據的起始位和長(cháng)度位以保證數據接收的正確性。
3.2 主機部分的軟件設計
在主機部分,關(guān)鍵點(diǎn)在于如何對時(shí)鐘芯片進(jìn)行初始化。初始化過(guò)程中,關(guān)閉周期性中斷和時(shí)鐘更新結束中斷,而將時(shí)間性中斷設為每整點(diǎn)一次,每次產(chǎn)生中斷后,讀取小時(shí)值,判斷是否能被8整除,如能整除,說(shuō)明該時(shí)刻為O:00,8:00或16:00,則向從機發(fā)送控制信息‘S’,通知數據收發(fā)模塊發(fā)送數據。主機的INTO中斷服務(wù)程序流程圖如圖3所示。

評論