- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于SIM900A的无线数据采集卡设计与实现
摘要:为实现数据采集卡的无线通讯、有效传输,满足智能化需求,设计了一种基于SIM900A的无线数据采集卡。数据采集卡主要采用SIM900A芯片实现数据GSM/GPRS无线传输,将采集到的数据传送至远程终端。本设计改善了传统数据传输模式,提供了更趋向于智能化的功能。经验证,系统运行可靠稳定,具有低成本,低功耗,应用范围广等特点,和很好的应用前景。
关键词:SIM900A,数据采集,GSM/GPRS,无线通讯
0 引言
数据采集技术主要指从传感器输出的微弱信号,经信号调理、数模转换到存储、记录这一过程所涉及的技术。当前被广泛应用的数据采集卡大部分以电缆或插槽连接,受到插槽数不足、安装不便、传输距离等众多因素的限制。伴随着无线通信技术的发展,使用简单、分布灵活的无线数据采集卡慢慢涌现出来,成为数据采集卡新的重要发展方向。目前,无线数据采集卡的实现多以zigbee,nRF905,WI_FI等无线通讯技术为主。而SIM900A芯片在众多项目中的成功实践,为实现数据采集卡的无线通讯提供了新的思路。因此,设计这种低功耗的基于SIM90 0A的无线数据采集卡,以满足用户越来越多的新要求。
1 无线数据采集卡整体设计方案
无线数据采集卡主要由电源模块、主控模块、数据采集模块、无线通讯模块、外围接口和远程终端6部分组成。数据采集模块采用温度传感器DS18B20组成,采集温度数据。主控模块选用ATMEGA128作为主控芯片,使用其定时器功能定时采集温度、蓄电池电压等参数信息,利用主控芯片中的AD转换模块,将采集到的模拟量转换为数字量,再经主要由SIM900A构成的无线通讯模块传送给远程终端。远程终端可以为手机或上位机LINUX终端平台,经由处理后存储到数据库中,以备日后查询。系统结构图如图1所示。数据采集卡由电源模块供电,保证系统正常运行。我们设计的电源模块具备太阳能充电功能,从而确保数据采集卡的持久供电。此设计,具有低功耗,方便灵活,易于操作,几乎不受空间条件的限制等特点。
2 数据采集卡硬件设计
2.1 电源模块
电源模块给无线数据采集卡的主控模块、无线通讯模块和数据采集模块供电。该电源模块同时带有太阳能充电功能和电池电压检测功能,保证系统持久供电。电源模块硬件电路如图2所示。因为数据采集卡中主控模块电压要求2.7~5.5V,无线通讯模块电压要求3.4~4.5V,所以选用3.7V作为供电电压。由于无线通讯模块启动电压很大,故特意设计了一个感抗值比较大的电感(图2中L1)。在系统启动时产生较大瞬时电动势,使电流达到2A以上,足以达到无线通讯模块的启动要求。
2.2 主控模块
主控模块选用ATmega128作为主控芯片。主控模块硬件实现电路如图3所示。ATmega128是ATMEL公司生产的一款基于AVR RISC结构的低功耗CMDS 8位单片机,带有非易失性的程序和数据存储器,8路10位ADC。AVR核将32个工作寄存器和丰富的指令集联结在一起,通过一个时钟周期内执行一条指令同时访问两个独立的寄存器,ATmega8可以取得1 MIPS/MHz的性能,这种结构提高了其性能。ATmega128负责把数据采集模块采集回的模拟量转换为相应的数字量,并组建数据报,使用串口通过AT指令操作无线通讯模块将数据报文发送出去。
2.3 无线通讯模块
无线通讯模块采用SIM900A芯片实现,主要负责实现与远程终端的数据传输功能。SIM900A模块是一款尺寸紧凑,内置TCP/IP协议栈的GSN/GPRS模块。利用SIM900A的特性,本设计提供两种数据传输模式。一是基于GSM的短信传输模式,用户通过手机短信发送指令,返回采集的数据参数,二是基于GPRS的传输模式,用户经由计算机LINUX终端界面,控制采集数据。无线通讯模块硬件实现如图4所示。通过拉低端口1 PWRKEY开启和关闭模块,52管脚用于指示当前网络状态,根据发光二极管闪烁的频率可以判断手机卡是否在移动控制中心注册。30~33端口用于接手机SIM卡。
2.4 数据采集模块
数据采集模块采用单总线DS18B20温度传感器,采集温度数据值,送至主控模块单片机的F端口第0位(PF0)。
3 数据采集卡软件设计
3.1 底层驱动程序
数据采集卡硬件部分,通过对ATmega128单片机编程实现对温度、蓄电池电压等参数的采集、处理、发送等功能。
采集卡上电复位后,驱动软件先执行初始化操作,初始化包括主控芯片的端口,串口波特率(与GSM/GPRS模块串口波特率一致),EEPROM中的固定参数,以及GSM/GPRS模块的GSM通道GPRS通道设置,模块串口设置。之后主控芯片定时判断是否有来自远程终端或手机短信的预设的数据请求命令接口。其外部时钟电路每分钟触发的一次中断信号,开始采集传感器中获取的数据值。当有命令传来时,就组建信息报文,通过串口将报文数据通过无线发送模块传送出去。串口通讯流程图如图5所示。
由于环境参数变化缓慢,在外部中断信号触发后,按照约定的采样间隔采集数据。数据保存在全局缓冲区中,减少多次调用采集数据指令,减轻了采集系统的负担。
3.2 终端平台软件设计
终端平台软件运行于装有LINUX系统的具有固定IP的计算机上。本设计选择LINUX操作系统作为软件开发平台,LINUX最大的特点就是免费开源,支持多用户、多任务、支持多线程和多CPU的操作系统。终端平台软件的设计,采用了模块化的设计思想,各功能模块之间功能相互独立,其中主程序是整个终端平台软件的核心,通过主程序有机地调用系统各类子程序及模块,形成一个联系紧密的整体,有条不紊地完成各项预定的操作指令。
终端软件平台软件采用多进程多线程编制,实现对基于GPRS的数据传输模式的数据参数的接收、显示、存储和控制。
3.3 数据库设计
数据库对基于GPRS的数据传输模式采集回来的数据参数进行存储,以备日后查看,为用户存储原始数据。本设计中采用MYSQL数据库,MYSQL是一个开放源码的小型关联式数据库管理系统,其体积小、速度快、总体拥有成本低,且满足设计需要。
4 测试效果
通过PROTEL完成PCB图的设计,发工厂完成PCB板的制作,完成元器件焊接后,下载程序,通电调试。经多次实验后,无线数据采集卡运行稳定,效果良好。测试效果如图6所示。
5 结论
本文设计的基于SIM900A的无线数据采集卡是利用SIM900A芯片、ATmega128单片机等组成的,通过无线通讯模块GSM/GPRS无线通信方式完成数据采集卡到远程终端的数据传输。本设计完成了无线数据采集卡硬件部分和软件部分的设计与实现,利用SIM900A的特性,改善了传统数据传输模式,提供了更加趋向于智能化的功能。本设计成本较低,运行稳定可靠,应用范围广,可用于远程无线数据采集、监控、存储等,有很好的推广价值。
上一篇:基于PC104的低空测试仪测控程序设计与实现
下一篇:基于TMS320DM3730的H.264编码器移植与优化方法研究
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑鏅悷婊冪箻楠炴垿濮€閵堝懐鐤€濡炪倖妫佸Λ鍕償婵犲洦鈷戠憸鐗堝笒娴滀即鏌涢悩鍐叉诞鐎规洘鍨块獮姗€骞囨担鐟板厞婵$偑鍊栭崝鎴﹀垂閸︻厾鐭堟い鏇楀亾婵﹥妞藉Λ鍐ㄢ槈濞嗘ɑ顥i梻浣呵归敃銈夆€﹂悜鐣屽祦闁硅揪绠戠粈瀣亜閹烘垵鈧骞婂┑鍡╂富闁靛牆妫涙晶顒傜棯閺夎法孝闁宠绉电换婵嬪炊閵娿垺瀚藉┑鐐存尰閸╁啴宕戦幘瀵哥濞达絽鍟垮ú锕傚疾椤掑嫮鍙撻柛銉e妿閳藉鏌i幒鎴犱粵闁靛洤瀚伴獮鎺楀箣濠垫劒鎮i梻浣芥閸熶即宕伴弽顓炶摕闁哄洢鍨归柋鍥ㄧ節閸偄濮堥弫鍫ユ⒒娴e懙褰掝敄閸愵喖绀夌€广儱顦闂佸憡娲﹂崹浼村礃閳ь剟姊洪棃娑掑悍濠碘€虫搐閳绘捇濡堕崱娆戠槇闂佸啿鐨濋崑鎾绘煕閺囥劌澧版い锔垮嵆濮婃椽宕崟顓犲姽缂傚倸绉崇欢姘舵偘椤斿槈鐔煎礂閻撳孩鐎梻浣告啞濞诧箓宕㈣ぐ鎺戠劦妞ゆ巻鍋撻柨鏇ㄤ簻椤繐煤椤忓懎浠梺鍝勵槹鐎笛傜昂濠碉紕鍋戦崐鏍垂閻㈡潌鍥偨缁嬭銉ッ归敐鍛棌婵炵鍔戦弻宥堫檨闁告挾鍠栭悰顕€宕橀纰辨綂闂侀潧鐗嗛幊搴g玻濞戞瑧绡€闁汇垽娼у瓭闁诲孩鍑归崢濂稿煝閹炬椿鏁婇柛鎾楀拑绱抽梻浣呵归張顒勬嚌妤e啫鐒垫い鎺戝濡垹绱掗鑲╁缂佹鍠栭崺鈧い鎺戝閳ь兛绶氬浠嬵敇閻愭鍚呴梻浣瑰濞插秹宕戦幘鍓佺<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷 | More...
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑鏅悷婊冪箻楠炴垿濮€閵堝懐鐤€濡炪倖妫佸Λ鍕償婵犲洦鈷戠憸鐗堝笒娴滀即鏌涢悩鍐叉诞鐎规洘鍨块獮姗€骞囨担鐟板厞婵$偑鍊栭崝鎴﹀垂閸︻厾鐭堟い鏇楀亾婵﹥妞藉Λ鍐ㄢ槈濞嗘ɑ顥i梻浣呵归敃銈夆€﹂悜鐣屽祦闁硅揪绠戠粈瀣亜閹烘垵鈧骞婂┑鍡╂富闁靛牆妫涙晶顒傜棯閺夎法孝闁宠绉电换婵嬪炊閵娿垺瀚藉┑鐐存尰閸╁啴宕戦幘瀵哥濞达絽鍟垮ú锕傚疾椤掑嫮鍙撻柛銉e妿閳藉鏌i幒鎴犱粵闁靛洤瀚伴獮鎺楀箣濠垫劒鎮i梻浣芥閸熶即宕伴弽顓炶摕闁哄洢鍨归柋鍥ㄧ節閸偄濮堥弫鍫ユ⒒娴e懙褰掝敄閸愵喖绀夌€广儱顦闂佸憡娲﹂崹浼村礃閳ь剟姊洪棃娑辨Ф闁稿寒鍣e畷鎴﹀箻鐠囨彃鍞ㄥ銈嗗姉閸犲孩绂嶉悙顒佸弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓闁搞劌鍊块弻娑㈩敃閿濆棛顦ョ紓浣哄Т缂嶅﹪寮诲澶婁紶闁告洦鍓欏▍锝夋⒑缁嬭儻顫﹂柛鏃€鍨垮濠氭晲婢跺﹦鐤€闂傚倸鐗婄粙鎴﹀煕閹烘垟鏀介柣鎰皺婢ф梻绱掗鐣屾噰鐎殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌涢幘鑼妽闁稿繑绮撻弻娑㈩敃閿濆棛顦ラ梺姹囧€楅崑鎾舵崲濠靛顥堟繛鎴濆船閸擃參姊洪柅鐐茶嫰閸樻悂鏌i幒鐐差洭闁瑰箍鍨归埞鎴犫偓锝庝簽閸婄偤姊洪懖鈹e綊鎮樺顑芥瀺闁瑰墽绮埛鎺懨归敐鍛暈闁哥喓鍋炵换娑氭嫚瑜忛悾鐢碘偓瑙勬礃缁矂鍩ユ径鎰潊闁抽敮鍋撻柟绋垮暣濮婃椽宕ㄦ繝鍐槱闂佺ǹ绻戠粙鎾诲箲閵忋倕骞㈡繛鎴炵懅閸橆亪姊洪崜鎻掍簼缂佽鍟村畷宕囨喆閸曗晙绨婚棅顐㈡处閹搁箖骞楅悩鐫酣宕惰闊剚銇勯姀鈩冪妞ゃ垺顨嗛幏鍛村礈闊厾澶�
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑鏅悷婊冪箻楠炴垿濮€閵堝懐鐤€濡炪倖妫佸Λ鍕償婵犲洦鈷戠憸鐗堝笒娴滀即鏌涢悩鍐叉诞鐎规洘鍨块獮姗€骞囨担鐟板厞婵$偑鍊栭崝鎴﹀垂閸︻厾鐭堟い鏇楀亾婵﹥妞藉Λ鍐ㄢ槈濞嗘ɑ顥i梻浣呵归敃銈夋倶濠靛鍋╅梺鍨儑闂勫嫮绱掔€n亞浠㈢€规挸妫濆铏圭磼濡搫顫嶅銈嗘⒐閻楁洖宓勫┑鐐叉▕娴滄繈鎮¢悢鍏肩厽闁哄倹瀵ч幉鎼佹煟椤撶偠瀚版い顓″劵椤﹁櫕銇勯妸銉уⅵ鐎殿噮鍋婇、姘跺焵椤掑嫮宓侀柟鐑橆殔缁秹鏌嶈閸撶喎顕i崘娴嬪牚闁割偆鍠撻崢鐢告⒑鐠団€崇仭婵犮垺枪椤e潡姊绘担铏瑰笡闁规悂绠栧畷浼村箛閺夎锕傛煕閺囥劌鐏遍柡浣稿暞閵囧嫰骞囬埡浣轰患缂備胶濮惧畷鐢垫閹惧瓨濯撮柣銈庡灠閸橈繝姊虹粙璺ㄧ闁挎洏鍨归锝嗙節濮橆厽娅滄繝銏e煐钃遍柡鍜冪秮濮婅櫣绱掑Ο鍝勵潔缂備椒鐒﹂幐鎶界嵁閹版澘绀冩い鏃囆掗幏娲⒑閼姐倕鏋戞繝銏∶嵄缂備焦菧娴滄粓鏌熺€涙ḿ绠ユ俊顖楀亾闂備胶绮笟妤呭闯閿濆宓侀悗锝庡枟閺呮繈鏌嶈閸撴稓鍒掔拠娴嬫闁靛繆妾ч幏濠氭⒑閸撴彃浜為柛鐘虫崌閸╁﹪寮撮姀锛勫幈婵犵數濮撮崐鍧楀矗閸曨剚鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗闁圭厧缍婇悰顔芥償閹惧厖澹曟繝鐢靛Т濞诧箓鎮″☉銏$厱婵炴垵宕弸銈囩磼閻橀潧浠遍柡灞炬礋瀹曢亶寮撮悩鎻掝瀴缂傚倷鑳剁划顖滄崲閸繄鏆﹂柛顐f礃閸ゅ鏌涢…鎴濅簼闁绘繐绠撳濠氬磼濞嗘埈妲梺瑙勭ゴ閳ь剝绉ú顏呮櫇闁稿本鑹鹃崑宥夋⒑娴兼瑧鍒板璺烘喘瀹曟垿骞橀幇浣瑰兊濡炪倖鎸鹃崑娑㈠箺閻㈠憡鈷戦柛婵嗗濠€浼存煟閳哄﹤鐏﹂柣娑卞枛铻e〒姘煎灡鐎靛矂鏌i悩鍙夌┛鐎殿喗鎸荤粩鐔煎即閵忊檧鎷绘繛杈剧到閹诧繝骞嗛崼銉︾厽妞ゆ挾鍎愬Ο鈧Δ鐘靛仜缁绘﹢寮幘缁樻櫢闁跨噦鎷�
闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗霉閿濆牊顏犵紒鈧繝鍌楁斀闁绘ɑ褰冮埀顒€顕槐鎾愁潩鏉堛劌鏋戦梺鍝勫暙閻楀嫰鍩€椤戣法绐旂€殿喕绮欓、姗€鎮欓懠鍨涘亾閸喒鏀介柨娑樺娴犙呯磼椤曞懎鐏︾€殿噮鍋婇幃鈺冪磼濡攱瀚奸梻鍌欑贰閸嬪棝宕戝☉銏″殣妞ゆ牗绋掑▍鐘炽亜閺傛娼熷ù婊勭矋閵囧嫰骞樼捄杞版勃闂佺ǹ顑冮崕鎶藉焵椤掑喚娼愭繛鍙夌矒楠炲﹪骞樼拠鑼弨婵犮垼娉涜墝闁哄閰i弻鐔兼焽閿曗偓閺嬫稓绱掗幓鎺撳仴婵﹤顭峰畷鎺戔枎閹存繂顬夐梻浣筋嚃閸犳牠鎮ラ悡搴f殾闁圭増婢橀崡鎶芥煟韫囨凹鍤欑紓宥咃躬楠炲啫饪伴崼鐔风檮婵犮垼娉涢惌鍫ュ船閻㈠憡鈷戦悹鍥ㄥ絻閸よ京绱撳鍛棦鐎规洑鍗冲浠嬵敃閵堝嫮鐟濋梻浣告惈鐞氼偊宕曢弻銉﹀亗婵炲棗绶疯ぐ鎺撳亗閹艰揪绲鹃幉鐓庘攽閻愭潙姣嗛柛銉e妿閸橀潧顪冮妶鍡橆梿鐎规洜鏁哥划锝夊籍閳ь剟骞堥妸锔剧瘈闁告侗鍣禒鈺呮⒑閸涘﹦澧柣妤冨Т椤曪綁骞橀钘変簻闂佸憡绺块崕杈╁緤閸喒鏀介柨娑樺娴滃ジ鏌涙繝鍐ㄧ伌鐎规洜顢婇妵鎰板箳閹惧瓨鐝栨俊鐐€曠换鎰版偋閸曨垰鐒垫い鎴f硶椤︼箓鏌嶇拠鏌ュ弰妤犵偞锚閻g兘宕堕懜鏁屟冣攽閿涘嫬浜奸柛濠冪墵楠炴劖銈i崘銊х崶闁瑰吋鐣崝宥夊磻閻旇褰掓偂鎼达絾鎲奸梺鎶芥敱閸ㄥ潡寮诲☉妯锋婵鐗婇弫楣冩煟鎼达紕浠涢柣鐔叉櫊瀵顓奸崼顐n€囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂妫涚弧鈧┑顔斤供閸樿棄鈻嶉姀銈嗏拺閻犳亽鍔屽▍鎰版煙閸戙倖瀚�
婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繐霉閸忓吋缍戦柛銊ュ€婚幉鎼佹偋閸繄鐟查梺绋匡工閻栧ジ寮诲☉銏╂晝闁绘ɑ褰冩慨搴ㄦ⒑濮瑰洤鈧宕戦幘鑸靛床婵犻潧顑嗛ˉ鍫熺箾閹存繂鑸归柛鎾插嵆濮婃椽宕ㄦ繝鍛棟缂傚倸绉撮敃顏堟偘椤曗偓瀵粙濡搁敂鍓ら梻浣告啞閹稿棝宕ラ柨瀣仸缂佺粯绻傞埢鎾诲垂椤斿彞鍝楅梻渚€娼ч悧濠囧箖閸屾凹鍤曞┑鐘崇閸嬪嫰鏌i幋鐏活亪寮搁崒鐐粹拺闁告稑锕ユ径鍕煕鐎n亜顏い銈呭€垮濠氬磼濞嗘埈妲梺纭咁嚋缁绘繂鐣峰ú顏勭妞ゆ棁鍋愰敍娑㈡⒑閻熸澘鈷旂紒顕呭灦閹繝鎮㈤悡搴n啇濠电儑缍嗛崜娆撳焵椤戞儳鈧洖鐜婚崸妤€绠涢柣妤€鐗忛崢闈涱渻閵堝棙顥嗛柛瀣姍瀹曟椽鏁愰崶锝呬壕閻熸瑥瀚粈鍐╃箾閼碱剙鏋涢柣娑卞枟閹棃濡搁敃鈧惂鍕節閵忥絾纭鹃柤娲诲灦閻涱噣骞掑Δ浣叉嫽婵炶揪绲挎灙闁诡喗鍨圭槐鎺撴媴鐟欏嫬鍞夐悗娈垮枟瑜板啴銈导鏉戦唶婵犻潧娲╃欢銏$節閻㈤潧孝闁挎洏鍊濋幃褎绻濋崶銊ヤ簵闂佸搫娲ㄩ崰鍡樼濠婂牊鐓欓柡澶婄仢椤f娊鏌熼鍨汗缂佽鲸甯¢幃鈺冪驳绾應鍋撻崸妤佺厸閻忕偛澧介埥澶嬨亜椤愶絿绠炴い銏★耿閹晠宕橀崣澶屽酱闂傚倸鍊峰ù鍥敋閺嶎厼绐楁繛鎴緛缂嶆牕顭跨捄铏圭伇缂佺姵妫冮弻锝夊籍閸屾艾浠橀梺缁樺姇閿曪箓骞夌粙娆惧悑闁搞儮鏅欑粭澶愭⒑閼姐倕鏋涢柛瀣工閵嗘帗绻濆顓犲帾闂佸壊鍋呯换鍌炲汲濞嗗繆鏀介柨娑樺濞呮洜绱掓潏銊ユ诞妞ゃ垺鐟︾缓鐣岀矙閸喖寮峰┑掳鍊楁慨鐑藉磻濞戔懞鍥敍濠靛牅绨烽梻鍌欑閹测剝绗熷Δ鍛獥婵°倐鍋撻柍璇茬Ч婵偓闁靛牆妫岄幏娲煟閻樺厖鑸柛鏂胯嫰閳诲秹骞囬悧鍫㈠幍闂佸憡鍨崐鏍偓姘炬嫹