资源描述
摘要
在燃气表行业中GSM低功耗远传燃气表是重要研究内容之一,本文利用中兴MG2639模块与低功耗单片机组成一个短信息收发系统,并且单片控制相关传感器模块实现燃气表计量等。MG2639模块与单片机直接通过串口相连,单片机通过AT命令来控制MG2639模块。MG2639模块定时唤醒将存储在单片机内的计量数据通过短信的形式发送给主站服务器。单片机选取意法半导体STM8L系列低功耗单片机作为主控单元,主要对GSM模块、脉冲计量、数据保存、按键、显示等进行控制,从而实现GSM低功耗燃气表功能。
关键词:燃气表;单片机;GSM;低功耗
目 录
一、系统介绍 1
(一) 系统特点 1
(二) 系统框图 1
二、 硬件各模块方案选择 1
(一) 单片机概述 1
1. STM8L152的主要性能 2
2. STM8L152的功能特性描述 2
3. STM8L152的管脚排列 2
(二) GSM模块 3
1. MG2639介绍 3
2. MG2639的主要功能 4
3. MG2639的硬件接口 4
4. MG2639的软件协议 8
(三) 24C02 EEPROM存储器 9
1. 存储器的特点 9
2. 存储器原理图 9
(四) 电源电路和电压检测 9
1. 电源电路工作原理 9
(五) 阀门控制 10
1. 开阀过程 11
2. 关阀过程 11
三、系统软件设计 11
(一) 主流程图 12
(二) 外部中断服务子程序流程图 13
(三) 定时上报流程 异常上报流程 17
四、总结 19
参考文献目录 20
一、系统介绍
(一) 系统特点
1、 超低功耗:四节碱性电池,使用寿命可达五个月以上。
2、 监控燃气使用情况,实时采集数据,实现对用户终端表具的远程监控。
3、 抄表不入户,不会出现扰民等问题。自动化抄收表具信息,进行智能分析统计,提升管理水平。
4、 具有用气量量不足提醒、透支功能。
5、 具有防电池反接、静电保护、掉电保护功能。
6、 具有强磁攻击、过流保护、低压保护、异常数据保存功能。
7、 具有阀门异常、阀门漏气、传感器故障检测功能。
(二) 系统框图
系统主要包含单片机、GSM模块、阀门控制、脉冲检测(流程传感器)、IC卡读写、数据存储等。单片机主要控制外围模块单元,是系统的核心;GSM模块为系统提供远传数据功能;数据存储,保存系统抄表信息和异常数据的保存;流量传感器为系统提供脉冲计量功能。系统框图如图1-1所示。
图1-1 系统原理框图
二、 硬件各模块方案选择
(一) 单片机概述
由于STM8L152单片机在运行速度上和低功耗处理上都处于相对的绝对优势,且此单片机资源丰富,接口简单,方便使用,功能强大,因此本系统采用STM8L152单片机作为主控芯片,这样首先MCU功耗上已处于优势。
STM8L152带有低功耗模式的选择,如等待模式和停止模式。处于这类模式下的单片机功耗将大大小于运行模式下的功耗。过去传统的单片机,在运行模式下有wait和halt两条指令,可以使单片机进入等待或停止模式,以达到省电的目的。
1. STM8L152的主要性能
1、STM8L152 16MHz处理器。
2、内置4K字节RAM和64K字节的Flash。
3、供电电源:1.8V至3.6V。
4、低功耗等待模式功耗低至3uA。
5、全速运行模式动态功耗至220uA/MHz。
6、最先进的数字和模拟外设
7、温度范围:-40℃至+85℃。
2. STM8L152的功能特性描述
1、ST为8位的STM8L微处理器专门设计的工艺平台
2、130nm超低漏电工艺技术,使得微处理器的运行速度和功耗与其供电无关。
3、超低功耗设计低至270nA并能同时保持SRAM内容(时钟门控,可断电的低功4、耗闪存,电压调整),通过关断未使用的外设时钟或闪存,来减少运行模式和等待模式的电流消耗。根据性能要求,可在运行模式下优化功率消耗。
5、极低的功耗,有效地节省能量并延长电池寿命。低于1uA的硬件RTC和自动唤醒系统单元,满足周期性唤醒应用需要的超低功耗模式。
6、高级和灵活的时钟系统(多种内部和外部时钟源),依据应用的需求,在运行中该变和调整频率和时钟源。
7、从低功耗模式极快的唤醒时间(4us),快速地在静态与动态功耗模式切换。
8、超低供电电压(1.65V到3.6V),使用于外部电源电压为1.8V+/-10%的应用。
模拟功能可在低至1.8V下工作,编程电源低至1.65V,在整个电压范围都具有完整的功能。
9、为应用集成了片内安全防范系统,用户数据安全可靠。
3. STM8L152的管脚排列
STM8L152的管脚排列图如图 2-1所示。
图2-1 STM8L152引脚分布图
(二) GSM模块
1. MG2639介绍
MG2639是中兴通讯研制的GSM850/EGSM900/DCS1800/PCS1900四频工业模块,采用30pin邮票接口,可以内置到燃气表等物联网应用中,随时随地收发Email、浏览网页、高速下载等。
在具有GSM网络覆盖的地方,可以随时随地连接互联网,还具有收发短信息(SMS)、语言通话等功能,在移动数据通讯领域,能为本燃气表系统提供高度自由、方便快捷的通讯任务。
MG2639模块主要技术特性与技术指标包括以下几点:
1、 频带:GSM850/EGSM900/DCS1800/PCS1900;
2、 支持数据、语言、短消息和传真;
3、 模块体积:30x25.0x2.68mm;
4、 重量:7g;
5、 电源电压:3.4~4.25V,典型3.9V;
6、 传输速度:42.8Kbps~85.6Kbps;
7、 电流消耗:关机模式50uA,休眠模式0.2mA,空闲模式16.68mA;
8、 温度范围:-40℃~+80℃;
2. MG2639的主要功能
MG2639模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能。
3. MG2639的硬件接口
① 模块原理框图
MG2639主要有天线单元、RF传输模块、基带调制器、存储器、滤波器、输出接口等。RF传输模块主要包括调制器、发射信号到天线合路器及接收解调输出电路;存储器主要保存指令集;基带调制器是对信号的调制后所占用的频率带宽,从而解调出有用信号且对信道/译码、加密/解密、帧形成、信道分离及时钟功能;输出接口为用户提供接口单元。
模块原理框图如图图2-2所示。
图2-2 模块原理示意图
② 复位
SYSRST脚永远复位模块主芯片,SYSRST信号需要拉低500ms,模块进行复位。同样,该管脚在模块内通过4.7K电阻上拉2.8V,下拉0.1uF电容到GND滤波,该管脚引出模块需要外加三极管驱动。如图2-3所示。
③ 网络信号指示:
由于RSSI_LED内部下拉,为普通I/O口,驱动电流能力有限,不能直接驱动LED,所以增加三极管来驱动LED显示。如图2-3所示。
图2-3 MG2639引脚图
LED有以下几种状态:开机状态,指示灯灭;找网状态,指示灯以3Hz频率闪烁;空闲状态,指示灯以1Hz频率闪烁;传输状态,指示灯以5Hz频率闪烁。
④ 电源设计
U2(SPX29302T5-L/TR)为带使能控制的LDO,其输入工作电压为6V~9V。通过调节电阻R20和R23使VGPRS在4.1V左右为模块供电,MG2639要求在模块的VGPRS输入关键至少放置一个1000uF的电解电容(C10),以解决MG2639模块上电和发送数据时对电流的消耗。模块对电源和地的处理要求较为严格,要求对电源和地做相应的滤波处理,电源纹波控制在50mV左右,且LDO不要给系统的其他部分供电,否则将可能影响射频性能,布线时电源线要大于80mil,并保证地线的完整性。如图2-4所示。
图2-4 SPX29302电源及复位原理图
⑤ 开机
模块在正常上电后处于关机状态,给PWRKEY管脚一个持续时间2s~5s的低电平脉冲模块即可开机;本系统设计之家在PWRKEY管脚对地接1K电阻,则上电后可以自动开机。
⑥ 关机
使用AT指令“AT+ZPWROFF”关机,或给模块PWRKEY管脚一个持续时间2s~5s的低电平脉冲关机。
⑦ 复位
可以使模块先“关机”后再“开机”,即可实现对模块硬复位。
如果必须使用外部复位功能,要求模块至少开机2s后,给SYSRST管脚提供一个持续时间至少为500ms的低电平脉冲,在此之前外部I/O信号必须保持为低电平。其模块开关机时序图如图2-5所示。
图2-5 开关机时序图和时间特性
模块有一个带闲了调节器的电压输出管脚,可以用来为主板上的一些外部电路供电。这个管脚的电压和基带处理器及存贮器的电压来自同一个电压调节器,只有在模块开机时才有电压输出,正常的输出电压是2.8V,要尽可能少的从该管脚汲取电流(小于10mA)。一般情况下,将此脚仅用于电平匹配需求时对芯片管脚的上拉。
⑧ 串口
MG2639模块提供一个完整全双工UART接口,最低速率为115200bps,对外接口为2.8V CMOS电平信号,逻辑功能符合RS-232接口协议中的规定。这种UART串口可作为串行数据接口,通常用于AT指令、数据业务、升级模块软件等。
由于模块输出I/O口电平为2.8V,与标准3.3V或5V逻辑电路连接时(如MCU或RS232驱动芯片等),需要电平转换,其三极管可选择普通小功率开关管即可。当RXD为高电平时,模块将不会进入休眠。如图2-6所示。
图2-6 UART接口电平转换电路
⑨ SIM卡接口
MG2639模块支持1.8V或3V的SIM卡,卡端口部分有4个管脚,如图2-7所示。
图2-7 SIM卡接口电路
SIM卡电路PCB布线设计时尽可能靠近模块,防止其他干扰源干扰SIM卡的读写模块。另外,由于SIM卡的设计需要满足ESD电气性能,防止环境下ESD损坏SIM卡的情况,建议在4路SIM卡信号上都加TVS器件,同时进行Layout时信号线需要先经过TVS器件,再进入模块的基带处理器,防止损坏模块。
⑩ 天线接口
当设计PCB焊盘时,PCB焊盘以焊接方式用50Ω射频屏蔽电缆将模块与天线连接。但已焊接方式引出,无法做到完全的电磁屏蔽,对射频信号质量有微弱影响,采用这种连接方式,必须注意焊盘附近不能有强辐射。同时焊接时包装射频屏蔽电缆的芯线焊接到射频焊盘,射频屏蔽电缆的屏蔽金属网焊接到模块的地上。焊接时注意接待部分必须焊劳,否则容易因屏蔽线晃动而导致芯线从焊接位置断裂。
4. MG2639的软件协议
MG2639模块提供AT指令接口,模块通过AT指令可以方便地跟外边设备进行通信。MG2639模块提供的AT指令集不仅涵盖了标准的GSM语音和短信应用,还参照GSM规范添加了其它指令,已经为方便用户使用而提供的ZTE专有指令。
单片机要完成初始操作、发送查看、发送和删除短消息和设置短消息模式的AT指令。单片机与MG2639通信波特率设置固定为115200bps。
AT指令
MG2639模块的通讯全部采用AT+XXX完成。首先单片机向MG2639发送:
AT 回车
后检测MG2639的返回值:是字符“OK”则连接正确;是字符“ERROR”则连接错误。
短消息模式的设置,MG2639模块短消息模式有两种。第一种是:TEXT模式;第二种是:PDU模式。TEXT模式无须编码,简单但是只能发送英文,不能发送中文。而PDU码虽然复杂,但是采用UNICODE编码即能发送英文也能发送中文。由于考虑到系统上报都是字符没有中文,所以本系统采用TEXT模式。可用下面命令设置短消息模式:
AT+CMGF=1 回车 //1为TEXT模式;0为PDU模式。
后检测MG263的返回值:是字符“OK”则设置成功;是字符“ERROR”则设置失败。
以下都是短消息AT指令:
AT+CSCA
该指令用于设置短信中心号码
AT+CNMA
新短消息确认应答
AT+CMGF
信息模式选择,模式有TEXT模式和PDU模式
AT+CNMI
设置短信指示格式,可设置短信接收模式和短消息报告等等
AT+CMGR
读短消息,该指令用于读取收到的短消息
AT+CMGW
写短消息,该指令用于将短信存储到存储器中
AT+CSMS
选择消息服务。支持的服务有:发送(SMS-MO)、接收(SMS-MT)、小区广播SMS-CB
AT+CMGS
发送短信,该指令用于将从终端输入的短消息向网络发送
AT+CPMS
优先信息存储,这个命令定义用来读写信息的存储区域
AT+CMGD
删除短信,该指令用于从选取的存贮器中删除一条短信
AT+CMSS
发送存贮的短信,该指令用于发送存贮的指定记录号的短信
AT+ZSMGS
短信满提示,该指令用于指示短信满状态,当SIM卡满了之后提示+ZSMGS:FULL
(三) 24C02 EEPROM存储器
燃气表涉及到金额等安全信息,需要对表内每天产生的数据流量、花费的燃气金额、异常掉电、抄表数据等一系列数据进行保存,则增加了外部EEPROM存储器。
1. 存储器的特点
串行E2PROM是基于I2C-BUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点。
2. 存储器原理图
存储器原理图如图2-8所示。
图2-8 EEPROM存储器电路
(四) 电源电路和电压检测
为了系统能够在电源电池电压供电不足或者突然断电情况下及时关闭燃气表阀门,系统必须设计增加电源电压检测电路。本系统采用的是STM8L152内部ADC作为电压检测。
1. 电源电路工作原理
电源电路和电压检测电路如图2-9所示。
图2-9 系统电源电路和电压检测电路
电源采用4节碱性电池供电,经过D3、R46出来的Vmotor是为系统开关阀和GSM模块电路供电。
为了使整个系统功耗更低和单片机工作更稳定,选取RICOH公司的低功耗LDO(RH5RL30AA)为其供电。
(五) 阀门控制
为了使燃气表能够正常及时合理关闭燃机管道,本系统采用分离阀门驱动控制电路。由于低功耗的考虑,本系统采用螺杆阀。其外围器件少,且保证整个装置能够在低功耗下运行,因此,表中的气路控制阀,无论其在开启或关闭状态下,都应当低功耗设计。其控制阀门电路如图2-10所示。
图2-10 阀门H桥控制电路
1. 开阀过程
开阀时:Q8基级处于高电平,同时Q8导通饱和,此刻Q10导通饱和,MO-相当于接地,电源从Q6经过MO+到MO-直到Q10、R45构成电流回路,阀门打开。此时Q7、Q9处于截止状态。
2. 关阀过程
关阀时:Q7基级高电平,同事Q7导通饱和,此刻Q9导通饱和,MO+通过Q9、R45接地,电源此刻跟开阀过程相反,电源从Q5、MO-到MO+,经过Q9、R45构成电流回路,阀门关闭。此时Q8、Q10处于截止状态。
当系统通过MOTOR_CHECK检查到阀门到位后,停止对阀门电路的供电,使系统处于低功耗模式。
三、系统软件设计
本系统软件的设计采用模块化管理,主要分为GSM模块单元、AD电源电压检测单元、脉冲计量单元、阀门控制单元、按键单元、液晶显示单元、数据存储单元、RTC时钟管理单元、IC卡管理单元、已经个普通接口单元等。
由于燃气表考虑到长时间不更换电池,则系统软件设计时在进行各模块工作后都将进入低功耗模式,以及每次MG2639模块唤醒时都要有时间上考虑,使系统能够更好的处于低功耗,让电池寿命维持更久。
系统软件采用模块化结构,用STM8L的嵌入式C语言编写,软件设计思想紧密结合GSM模块和IC卡燃气表的控制模式,对GSM模块的唤醒、关闭、配置、定时数据传输、电压的欠压检测依据降低功耗方面进行了详细设计。
为了降低GSM燃气表的功耗,延长电池的使用时间,软件设计采取以下措施:
1、LCD已静态显示方式以减少CPU的运行时间,尽量缩短显示时间,显示完毕自动配置LCD相关寄存器及时钟完全关闭。
2、程序中采用定时中断来替代软件延时的工作方式,以减少CPU的运行时间。
3、低压检测采用5s检测一次低压,相对以往1s检测低压在功耗上已减少不少。
4、每次在GSM模块唤醒并发送完数据后,如接收到上位机服务器发送的握手帧,模块此时立即配置关闭相关电源和寄存器时钟单元。
5、CPU进入空闲模式时,整个系统可通过基本定时器中断唤醒本系统的IC卡插入、电源保护及欠压检测均在基本定时器中断入口,在定时时间到时给予响应的响应。
6、脉冲计量和按键采用IO口中断来唤醒系统时钟,同事置起响应的处理任务,任务结束后关闭相关寄存器单元时钟及IO口配置,使系统处于低功耗运行。
通过以上处理措施,GSM低功耗燃气表系统运行时,MCU大部分时间处于空闲和掉电状态,系统整体电流很低,静态时系统功耗为5uA,GSM模块唤醒时系统处于26mA,查看时为4mA,开关点击阀时间为95mA,由于插卡,开关电机阀的次数很少,时间很短,系统功耗仍然很小。
(一) 主流程图
图3-1 系统主函数流程图
void main( void )
{
unsigned char system_task_monit_temp = 0;
Config(); //系统初始化程序
while(1)
{
disableInterrupts();//关全局中断,执行系统任务调度 system_task_monit_temp=Monit(&TaskIndication,
System_Task_Stata,&System_State); if(system_task_monit_temp)
{ //如果任务处理完毕,中断开启,系统进入halt等待唤醒 enableInterrupts() // 开全局中断
halt();
}
}
}
(二) 外部中断服务子程序流程图
图3-2 系统中断流程图
按键任务程序如下:
INTERRUPT_HANDLER(EXTI3_IRQHandler,11)
{
static unsigned char ViewKeyNumber = 0;
uint32_t i=0;
if ((GPIOA->IDR & VIEW_KEY_PORT_PIN) == 0x0)
{
while ((GPIOA->IDR & VIEW_KEY_PORT_PIN) == 0x0)
{
i++;
if (i == 0x011000)
{
EXTI_ClearITPendingBit(EXTI_IT_Pin1);
return;
}
}
PresentInformation.SystemStatus |= VIEW_KEY_DISPLY_FLAG ;
if(ViewKeyNumber < 7)
{
ViewKeyNumber++;
}
else
{
ViewKeyNumber = 1;
}
switch(ViewKeyNumber)
{
case NOMAL_METER : TaskIndication |= DO_OPERATE_KEY; break;
default:break;
}
DisplayTimer = DIS_INIT_TIME;
}
EXTI_ClearITPendingBit(EXTI_IT_Pin3);
}
IC卡中断服务程序:
INTERRUPT_HANDLER(EXTI2_IRQHandler,10)
{
if((GPIOC->IDR & IC_CARD_BIT_PORT_PIN) == 0x0) //如果出现IC中断
{
unsigned char cnt = 0;
while(1)
{
delay_ms(1);
if((GPIOC->IDR & IC_CARD_BIT_PORT_PIN) != 0x0)
{ //检测是否是卡插入
break; //如果没有认为是抖动造成,退出中断
}
else
{
cnt++;
if(cnt>20) {
switch(System_State)
{
case NOMAL_METER :
TaskIndication |= DO_OPERATE_CARD;
break;
default:break;
}
break;
}
}
}
}
EXTI_ClearITPendingBit(EXTI_IT_Pin2);
}
ADC电压检测中断服务程序:
INTERRUPT_HANDLER(ADC1_COMP_IRQHandler, 18)
{
unsigned char temp_power = 0x00;
signed char temp_power_task = 0x00;
signed char temp_power_faulse = 0x00;
while(ADC_GetITStatus(ADC1,ADC_IT_EOC) == 0 );
temp_power = Pwr_Detect_Deal(ADC_GetConversionValue(ADC1),
PresentInformation.Power_Calibration_Value,&Power_Detect_Result);
//对采样数据进行分析
if(temp_power==0x01) {//如果此次采样已经完成
switch(System_State)
{
case NOMAL_METER :
//如果在主系统模式,进行低压判断
if(!(PresentInformation.FalseStatus & LOW_POWER_2ND_FLAG)) //如果系统已经二级低压异常,那么再执行低压检测任务,因此将低压检测任务挂起来,需要
{ //在不在二级低压异常情况下
temp_power_task = Votage_Flag & 0X03;
//由于出现可能执行低压检测任务的条件是5种情况,将这5种有一个共同特点,就是低压力检测标志后两位数据大小比异常两级组成的数据大 temp_power_faulse = (signed char)
(PresentInformation.FalseStatus &0x03);
if(temp_power_task > temp_power_faulse)
TaskIndication |= DO_LOW_POWER;
//满足情况将低压任务挂起
}
if(System_Votage_Over_Flag==0x01)
{
System_Votage_Over_Flag=0;
}
break;
default: break;
}
}
ADC_ClearITPendingBit(ADC1, ADC_IT_OVER);
}
脉冲计量中断服务程序如下:
INTERRUPT_HANDLER(EXTIE_F_PVD_IRQHandler, 5)
{
Impulse_Detect(); //脉冲检测
System_Sensor_Detect(); //传感器坏检测
EXTI_ClearITPendingBit(EXTI_IT_PortF);
}
(三) 定时上报流程 异常上报流程
图3-3 定时上报和异常上班流程图
INTERRUPT_HANDLER(RTC_IRQHandler, 4)
{
static unsigned char GSM_OPEN_USER_TIMER = 0;
RTC_ClearITPendingBit(RTC_IT_WUT);
if(PresentInformation.GsmStatus & DO_GSM_ON_LINE_TIME_FLAG)
{
GSM_OPEN_USER_TIMER++;
if(GSM_OPEN_USER_TIMER >= GSM_OPEN_USER_ON_LINE_TIMER)
{
PresentInformation.GsmStatus &=~ DO_GSM_ON_LINE_TIME_FLAG;
GSM_POWER_CLOSE_INIT();
GSM_OPEN_USER_TIMER=0;
GSM_ATCMGR_Number=1;
}
} if((PresentInformation.SetTime.timeday>>(PresentInformation.Cal.day-1)) & 0X01)
{//判断上报天到来
if((PresentInformation.Cal.hour==PresentInformation.SetTime.hour)
&& (PresentInformation.Cal.minute==PresentInformation.SetTime.minute))
if((PresentInformation.GsmStatus & GSM_TIMER_UP_FLAG1)==0)
{
TaskIndication |=DO_GSM_DEAL;
if(PresentInformation.GsmStatus & 0xFFFFFFFE)
{//GSM模块处于工作状态
Gsm_Task_Stata_Flag =0x00;
Gsm_Task_Stata_Flag |=DO_GSM_ATCMGF_FLAG;
PresentInformation.GsmStatus = 0x00000000;
PresentInformation.GsmStatus |= (GSM_TIMER_UP_FLAG + DO_GSM_READY_FLAG + GSM_Ic_Card_FLAG + GSM_TIMER_UP_FLAG1);
GSM_ATCMGR_Number=1;
}
else
{//GSM模块处于关闭状态
Gsm_Task_Stata_Flag |=DO_GSM_UART_INIT_OPEN_POWER_FLAG ;
PresentInformation.GsmStatus |= GSM_TIMER_UP_FLAG;
PresentInformation.GsmStatus |= GSM_TIMER_UP_FLAG1;
}
}
}
if((PresentInformation.Cal.minute==PresentInformation.SetTime.minute
+PresentInformation.SetTime.timeminute)&& (PresentInformation.Cal.second==0x0))
{
PresentInformation.GsmStatus &=~ GSM_DEAL_OPEN_USER_FLAG;
GSM_POWER_CLOSE_INIT();
GSM_ATCMGR_Number=1;
PresentInformation.GsmStatus &=~ GSM_TIMER_UP_FLAG1;
}
if(PresentInformation.GsmStatus & GSM_DEAL_OPEN_USER_FLAG)
{
if((PresentInformation.Cal.minute>PresentInformation.SetTi me.minute+PresentInformation.SetTime.timeminute)
||PresentInformation.Cal.minute< PresentInformation.SetTime.minute))
{
GSM_OPEN_USER_TIMER++;
if(GSM_OPEN_USER_TIMER > 60) //系统出现异常后,运行GSM在线60S处理短信列表任务,之后关GSM电源睡眠。
{
PresentInformation.GsmStatus &=~ GSM_DEAL_OPEN_USER_FLAG;
PresentInformation.GsmStatus &=~ GSM_TIMER_UP_FLAG1;
GSM_POWER_CLOSE_INIT();
GSM_ATCMGR_Number=1;
GSM_OPEN_USER_TIMER=0;
}
}
}
}
四、总结
本系统采用STM8L系列单片机和MG2639模块设计的一款低功耗燃气表产品,通过单片机控制从而实现燃气计量、数据保存、低压检测、数据远程等功能。通过对硬件电路的设计和软件程序的编写,对整个系统的工作过程有了更加深入的了解,且该系统功耗低,成本低,燃气公司运营成本低廉,维护方便,发送短消息速度快,GSM网络覆盖完善等,使GSM低功耗表也逐渐形成在燃气表行业的优势。采用低压、低频、静态低功耗的器件,在电路设计上采用了关断技术,对软件也进行了低功耗的设计。可以满足GSM低功耗燃气表的所有功能。
参考文献目录
[1]高锋:《单片微型计算机原理与接口技术》科学出版社 2008年;
[2]沈建华:《MSP430系列16位超低功耗单片机原理与应用》 清华大学出版社 2004年11月;
[3]谢楷、赵建:《MSP430系列单片机系统工程设计与实践》 清华大学出版社 2009年7月;
[4]周航慈:《基于嵌入式实时操作系统的程序设计技术(第2版) 》 清华大学出版社 2011年1月;
[5] 蒂芬•普拉达 (Stephen Prata) (作者), 张海龙 (译者), 袁国忠 (译者):《C++ Primer Plus中文版(第6版)》 人民邮电出版社 2012年6月:
[6] Jean J.Labrosse (作者), 邵贝贝 (译者), 等:《嵌入式实时操作系统μC/OS-2》 北京航空航天大学出版社 2003年1月;
[7]芯讯通无线科技(上海):《SIM900A_AT Command Manual_V1.05》;
[8] 芯讯通无线科技(上海):《SIM900A_Hardware Design_V1.03》 ;
[9]谭浩强:《C程序设计(第3版)》 2005年7月;
[10]意法半导体:《STM8L152M8》 ;
展开阅读全文