【文章內(nèi)容簡(jiǎn)介】
PRS 等通訊模塊客戶(hù)提供全方位的技術(shù)支持,為以后產(chǎn)品升級(jí)維護(hù)提供強(qiáng)有力的技術(shù)支持和保障。綜合考慮,在實(shí)現(xiàn)相同功能的情況下,這款模塊性?xún)r(jià)比高是系統(tǒng)的最佳選擇。 軟 件 開(kāi)發(fā)工具選擇 對(duì)于嵌入式 ARM 的開(kāi)發(fā),通常有兩種編譯環(huán)境 ADS 和 KEIL,本 系統(tǒng)是在 Keil uVision4 的軟件編譯環(huán)境下進(jìn)行的。 ARM 微處理器的傳統(tǒng)開(kāi)發(fā)工具是 ADS, ADS( ARM Developer Suite)是在 1993 年由 Metrowerks 公司開(kāi)發(fā) 的, 是 ARM 處理器下最主要的開(kāi)發(fā)工具。 ADS 是全套的實(shí)時(shí)開(kāi)發(fā)軟件工具,包編譯器生成的代碼密度和執(zhí)行速度優(yōu)異。可快速低價(jià)地創(chuàng)建 ARM 結(jié)構(gòu)應(yīng)用。 ADS 對(duì)匯編、 C/C++、 java支持的 均很好,是目前最成熟的 ARM 開(kāi)發(fā)工具。很多 ARM 開(kāi)發(fā)軟件(例山東科技大學(xué)畢業(yè)設(shè)計(jì) 9 如 Keil)也是借用的 ADS 的編譯器。 但是 ADS 界面不夠友好,項(xiàng)目管理和系統(tǒng)設(shè)置比較復(fù)雜,不易學(xué)習(xí) 。 Keil μVision4于 2022 年 2 月發(fā)布, Keil μVision4引入靈活的窗口管理系統(tǒng),使開(kāi)發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺(jué)上對(duì)窗口表面任何位置 的 完全控制。新的用戶(hù)界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來(lái)開(kāi)發(fā)應(yīng)用程序。新版本支持更多最新的 ARM 芯片,還添加了一些其他新功能。 2022 年 3 月 ARM 公司發(fā)布最新集成開(kāi)發(fā)環(huán)境 RealView MDK 開(kāi)發(fā)工具中集成了最新版本的 Keil uVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與 ARM 器件的最完美匹配。 系統(tǒng)語(yǔ)言與 模塊化 結(jié)構(gòu) AT 指令集 AT 即 Attention, AT 指令集是從終端設(shè)備 (Terminal Equipment, TE)或 數(shù)據(jù)終端設(shè)備 向終端適配器 (Terminal Adapter, TA)或 數(shù)據(jù)電路終端設(shè)備發(fā)送的。通過(guò) TA, TE 發(fā)送 AT 指令來(lái)控制移動(dòng)臺(tái)的功能,與 GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶(hù)可以通過(guò) AT 指令進(jìn)行呼叫、短信、電話(huà)本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。 90 年代初, AT 指令僅被用于 Modem 操作。沒(méi)有控制移動(dòng)電話(huà)文本消息的先例,只開(kāi)發(fā)了一種叫 SMS BlockMode 的協(xié)議,通過(guò)終端設(shè)備 (TE)或電腦來(lái)完全控制 SMS。幾年后,主要的移動(dòng)電話(huà)生產(chǎn)廠(chǎng) 商諾基亞、愛(ài)立信、摩托羅拉和 HP 共同為 GSM 研制了一整套 AT 指 令, 包括對(duì) SMS 的控制。 AT 指令在此基礎(chǔ)上演化并被加入 GSM07. 05 標(biāo)準(zhǔn)以及現(xiàn)在的 GSM07. 07標(biāo)準(zhǔn) 。 SMS的控制共有 3種實(shí)現(xiàn)途徑:最初的 BlockMode;基于 AT 指令的 TextMode;基于 AT 指令的 PDUMode。到現(xiàn)在 PDUMode山東科技大學(xué)畢業(yè)設(shè)計(jì) 10 已經(jīng)取代 BlockMode,后者逐漸淡出。 GSM 模塊與計(jì)算機(jī)之間的通信協(xié)議是一些 AT 指令集, AT 指令是以 AT 作首,字符結(jié)束的字符串, AT 指令的響應(yīng)數(shù)據(jù)包在 每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息 (如有人撥號(hào)進(jìn)來(lái)、線(xiàn)路無(wú)信號(hào)等 ),模塊將有對(duì)應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。 中興通訊 MG2639 模塊有自己豐富的 AT 指令集本,本文用到的基本指令有: AT、 ATE0、 AT+ZPNUM=CMNET,(設(shè)置 APN 指令) 、AT+ZPPPOPEN(激活 APN 指令) 、 AT+ZIPSETUP=1,3030(建立 TCP 網(wǎng)絡(luò)連接指令) 、 AT+ZIPSEND=1,10(發(fā)送數(shù)據(jù)指令) 。 C 語(yǔ)言 程序模塊化 設(shè)計(jì) 不同于一般形式的軟件編程,嵌入式系統(tǒng)編程 建立在特定的硬件平臺(tái)上,勢(shì)必要求其編程語(yǔ)言具備較強(qiáng)的硬件直接操作能力。無(wú)疑,匯編語(yǔ)言具備這樣的特質(zhì)。但是,由于匯編語(yǔ)言開(kāi)發(fā)的復(fù)雜性,它并不是嵌入式系統(tǒng)開(kāi)發(fā)的一般選擇。而與之相比, C 語(yǔ)言一種 高級(jí)的低級(jí) 語(yǔ)言,則成為嵌入式系統(tǒng)開(kāi)發(fā)的最佳選擇。 它既具有 高級(jí)語(yǔ)言 的特點(diǎn),又具有 匯編語(yǔ)言 的特點(diǎn)。 而且 C 語(yǔ)言移植性好、易于模塊化設(shè)計(jì),有利于系統(tǒng)后期升級(jí)維護(hù)。 模塊化設(shè)計(jì),簡(jiǎn)單地說(shuō)就是程序的編寫(xiě)不是開(kāi)始就逐條錄入計(jì)算機(jī)語(yǔ)句和指令,而是首先用主程序、子程序、子過(guò)程等框架把 軟件 的主要結(jié)構(gòu)和流程描述出來(lái),并定義和調(diào)試好各個(gè)框架之間的輸入、輸出鏈接關(guān)系。逐步求精的結(jié)果是得到一系列以功能塊為單位的算法描述。以功能塊為單位進(jìn)行程序設(shè)計(jì),實(shí)現(xiàn)其求解算法的方 法稱(chēng)為模塊化。模塊化的目的是為了降低程序復(fù)雜度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡(jiǎn)單化。 程序模塊開(kāi)發(fā)設(shè)計(jì),有利于團(tuán)隊(duì)成員間的合作和分工,使嵌入式產(chǎn)品的開(kāi)發(fā)周期變短。提高開(kāi)發(fā)效率,減少開(kāi)發(fā)成本,更有利于產(chǎn)品的升級(jí)。 山東科技大學(xué)畢業(yè)設(shè)計(jì) 11 3 硬件 電路 設(shè)計(jì) 硬件 電路 設(shè)計(jì)的具體設(shè)計(jì)任務(wù):首先分析硬件系統(tǒng)各部分的功能要求,選擇合適的器件,完成各部分電路的設(shè)計(jì),然后利用 Protel99se 進(jìn)行硬件電路原理圖的總體設(shè)計(jì)和 PCB 的設(shè)計(jì), 完成硬件設(shè)計(jì)。 電源 電路 設(shè)計(jì) 電源芯片選擇 電源部分的設(shè)計(jì),系統(tǒng)采用兩種可選擇電 源供電方式,一種是 5V 的直流電源供電,另一種是電源范圍在 740V 的寬電源直流供電。工業(yè)現(xiàn)場(chǎng)的電源多為 12V 或 24V 的開(kāi)關(guān)電源,而且工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣,為了滿(mǎn)足工業(yè)現(xiàn)場(chǎng)的需求,為保證系統(tǒng)的可靠性、穩(wěn)定性,我們選用的供電模塊、電源轉(zhuǎn)換模塊都要從性?xún)r(jià)比高、帶負(fù)載能力強(qiáng)等方面考慮選型。由于考慮無(wú)線(xiàn)數(shù)據(jù)終端的應(yīng)用環(huán)境要求,經(jīng)過(guò)認(rèn)真考慮系統(tǒng)決定選用寬電壓輸入電壓模塊??紤]到負(fù)載電流和功耗,電源芯片選用開(kāi)關(guān)式,由于通信模塊與微控制器所需電壓不一致,故選用 為 LPC2132 等供電電壓為 的芯片 供電, 選用為通信模塊供電。 LM2576 可將 740V 的直流電轉(zhuǎn)換成5V 直流電 作為寬電壓 范圍電源。 同時(shí)為了縮小產(chǎn)品的尺寸,選擇的芯片封裝為貼片形式。 電源電路具體設(shè)計(jì) 在寬電源供電下,首先 740V 的直流電源 進(jìn)過(guò) LM2576DCDC 變換成5V 直流電,然后 LM2576 的輸出經(jīng) MIC29302 轉(zhuǎn)換給無(wú)線(xiàn)模塊供電,同時(shí)LM2576輸出的 5V直流電經(jīng)芯片 。 山東科技大學(xué)畢業(yè)設(shè)計(jì) 12 V I N1V O U T2G N D3F E E D B4O N /O F F5U3L M 2 5 7 6V I NL12 0 0 u HV C C _ 5C 1 41 0 0 0 u F /1 6 VD1 I N 5 4 0 8 R LD2 I N 5 4 0 8 R LD3I N 5 8 2 212J2C O N 2V I NC11 0 0 u F /5 0 V 在圖 中的 電路中 , LM2576 輸入端和輸出端( MIC29302 的輸入端)的兩個(gè)二極管 IN5408 為保護(hù)二極管以防電源接反損壞芯片, D3 為穩(wěn)壓管,穩(wěn)定電源輸出 ,電感 L1 作用是濾波,使輸出 5V 電壓更加穩(wěn)定。 IN2EN1GND3ADJ5V O U T4U2M I C 2 9 3 0 2R11KR 2 12 .2 K+ C 1 74 7 u F /1 6 V + C 2 81 0 u FV C C _ 5C21 0 4V B A T 圖 中 VBAT 為 MIC29302 的輸出,直接給 MG2639 模塊供電。 MG2639 模塊要求供電電壓在 之間。由 )(121 ??? outVRR得 ??? RRV B AT 。為滿(mǎn)足要求 R21/R1 在 之間,故 R21=、 圖 L M 2 5 7 6 電 源 轉(zhuǎn) 換 電路 圖 模塊 電源電路 山東科技大學(xué)畢業(yè)設(shè)計(jì) 13 R1=1K, 計(jì)算得 VBAT=。 V C C _5V I N1G N D2EN3R S N4V O U T5U1S P 6201 C 1510 5V C C _3 .3C 1610 512J1C O N 2V C C _5 圖 中 芯片 是把 5V 電壓轉(zhuǎn)換成 ,為 器件供電,EN 接高電平使能轉(zhuǎn)換, RSN 為低電壓檢測(cè)復(fù)位端。當(dāng)輸出電壓過(guò)低時(shí),延時(shí)檢測(cè)發(fā)出復(fù)位信號(hào)。本系統(tǒng)未用此端。 C1 16 為電源端去耦電容。 主控 外圍 電路 主控電路主控芯片為 LPC 2132,采用外部看門(mén)狗,外部看門(mén)狗芯片 選擇 SP706。 SP706S 供電電源為 , 系統(tǒng)上電 后 , SP706S 自動(dòng)產(chǎn)生 200ms 低電平復(fù)位信號(hào),使 MCU 正常復(fù)位。 MCU 配置一個(gè) I/O 管腳為輸出,并接到 WDI。如果 I/O 固定為 HIGH 或 LOW 電平不變,則 后, SP706S 內(nèi)部的看門(mén)狗定時(shí)器就會(huì)溢出并使 /WDO 輸出低電平,而 /WDO 已連接到手動(dòng)復(fù)位 /MR,因此會(huì)導(dǎo)致 /RST 管腳輸出低電平復(fù)位信號(hào)使 MCU 重新復(fù)位。 MCU 在正常工作情況下當(dāng)然是不允許這樣反復(fù)復(fù)位的,因此必須在程序里及時(shí)反轉(zhuǎn) I/O 的狀態(tài),該操作被形象地稱(chēng)為 “ 喂狗 ” 。每次反轉(zhuǎn) WDI 輸入狀態(tài)都能夠清除 SP706S 內(nèi)部的看門(mén)狗定時(shí)器,從而確保 /WDO 不會(huì)輸出低電平(為保證可靠,喂狗間隔應(yīng)當(dāng)小于 1s)。利用外部看門(mén)狗的好處是使系統(tǒng)更加穩(wěn)定可靠,避免內(nèi)部看 門(mén)狗定時(shí)器限制系統(tǒng)功能。晶振電路晶振選擇 ,這樣使得系統(tǒng)時(shí)間更加準(zhǔn)確??撮T(mén)狗電路如 圖 圖 電源電路 山東科技大學(xué)畢業(yè)設(shè)計(jì) 14 MR1V C C2G N D3PFI4PFO5W D I6R S T7W D O8U4S P 706 SV C C _3 .3看門(mén)狗復(fù)位70 6R S T70 6W D I1 2J3C O N 2C310 4 主控電路部分具體電路如 圖 所示, C3 C3晶振 Y R14 組成主控時(shí)鐘電路,晶振選擇 頻率, R14 為起振電阻 阻值為1MΩ 。 CON2 為程序下載短接端口,需下載程序時(shí),在上電短接 CON2,這樣 上電 后 LPC2132 自動(dòng)進(jìn)入下載模式。 D9 為運(yùn)行指示 LED。 P 0 .2 1 /P W M 5 /A D 1 .6 /C A P 1 .31P 0 .2 2 /A D 1 .7 /C A P 0 .0 /M A T 0 .02R T X C 13P 1 .1 9 /T R A C E P K T 34R T X C 25V S S6V D D A7P 1 .8 /T R A C E P K T 28P 0 .2 5 /A D 0 .4 /A o u t29P 0 .2 6 /A D 0 .5 /10P 0 .2 7 /A D 0 .0 /C A P 0 .1 /M A T 0 .111P 1 .1 7 /T R A C E P K T 112P 0 .2 8 /A D 0 .1 /C A P 0 .2 M A T 0 .213P 0 .2 9 /A D 0 .2 /C A P 0 .3 M A T 0 .314P 0 .3 0 /A D 0 .3 /E I N T 3 /C A P 0 .015P 1 .1 6 /T R A C E P K T16P0.3117VSS18P0.0/TXD0/PWM119P1.31/TRST20P0.1/RXD0/PWM3/EINT021P0.2/SCL0/CAP0.022VDD23P1.26/RTCK24VSS25P0.3/SDA0/MAT0.0/EINT126P0.4/SCK0/CAP0.1/AD0.627P1.25/EXINT028P0.5/MISO0/MAT0.1/AD0.729P0.6/MISI0/CAP0.2/AD1.030P0.7/SSSEL0/PWM2EINT231P1.24/TRACECLK32P 0 .8 /T X D 1 /P W M 4 /A D 1 .133P 0