版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广 东 石 油 化 工 学 院嵌入式系统学习报告 姓名: 班别: 学号: 成绩: 基于STM32开发板的GSM接打电话、短信收发系统1、 前言这两周的实训,学校邀请了信盈达公司的嵌入式工程师/项目经理杨余柳来给我们专业的同学讲授关于嵌入式系统的开发和应用。两个星期的学习时间比较仓促,我相信我们只是触到冰山一角,然而这样已经给我们带来惊喜,因为我们知道这一个领域还有更加广阔的天地等待我们去探索和翱翔。本次实训中我们学到了很多东西,最终完成了基于STM32开发板的GSM短信收发系统的设计。GSM短消息具有随时在线价格便宜无需拨号覆盖范围广等特点,特别适用于需传送小流量的数据的应用,广泛应用于油田、
2、气象、港监、水网水文、环保监测、车辆船舶、移动作业等场所。本系统利用嵌入式和GSM的低成本和移动性的优势、无人参与的特点,展现了在移动作业环境领域和分布式远程数据采集、监控系统应用中的广阔前景。通过这样一次学习,让我懂得了嵌入式的一些基本知识和拓展应用,明白了嵌入式是需要硬软件结合的,我们需要不断深入学习,努力使自己掌握更多的知识储备,才能做到灵活运用。2、 模块简介1、GSM模块全球移动通信系统就是众所周知的GSM,是目前运用最为广泛的移动电话标准。全球拥有两百多个国家和地区大概十几亿人正在使用GSM手机。GSM是数字式的的语音信道和信令,是第二代移动电话系统(2G)。短消息业务(SMS)是
3、数字蜂窝移动通信网络上提供的一种基本无线业务,GSM短消息具有随时在线价格便宜无需拨号覆盖范围广等特点,特别适用于需传送小流量的数据的应用,广泛应用于油田、气象、港监、水网水文、环保监测、车辆船舶、移动作业等场所。GSM模块是一种十分重要的GSM移动通信系统的终端设备。随着GSM网络技术的普及和成熟,短消息除了继承了GSM覆盖范围广、受环境影响小、安全、实时的特点外又以其方便、费用低等优点使得利用率越来越高。短消息在工业自动化领域存在巨大的应用潜力。 2、STM32模块STM32来自ARM公司的具有突破突破性的Cortex-M3内核的32位闪存微控制器。该内核是专门设计用于满足集高性能、低功耗
4、、实时应用、具有竞争性价格与一体的嵌入式领域的要求。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-0内核。ARM公司的高性能”Cortex-M3”内核有一流的外设、速度快、低功耗低、集成度高,具有复位电路、低电压检测、调压器、精确的RC振荡器等简单的结构和易用的工具。STM32有两个系列增强型和基本型。STM32F103是增强型系列,工作在72兆赫兹,带有片内RAM和丰富的外设。STM32F101是基本型系列,工作在36兆赫兹。两个系列的产品拥有相同的片内闪存,在软件和引脚封装方面兼容,均可以用于显示、声音、存储和高级控制,兼有低功耗和多种省电工作
5、模式,能够优化能够优化工业设备、物业控制设备、医疗设备和计算机外设等产品的性能。STM32的出现,给MCU用户提供了全新的32位产品选项,结合了高性能、实时、低功耗、低电压等特性,同时保持了高集成度和易于开发的优势,再加上丰富的外设和有竞争力的价格,得到市场上的高度的认可。它在功能和运算中做平衡,功能是第一位,运算是第二位,其丰富的外设为我们实现功能提供了极大的方便,这使得它成为我们的第一选择。 3.嵌入式系统嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必
6、须结合实际系统需求进行合理的裁减利用。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成
7、,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。三、实训内容1、研究的主要内容和方法本次设计主要是通过Keil uVision编写调试相关程序,以及AT指令、短信息编码和译码过程的研究,设计出GSM接打电话、短信收发客户端,再通过GSM 模块实现PC机与GSM设备间
8、的接打电话、短信收发。本文对本课题的研究工作分为以下几个部分:(1)通过查阅与GSM接打电话、短信收发及相关AT指令,了解GSM接打电话、短信收发的实现过程。(2)掌握接打电话、短信息的编码和解码过程以及一些常用的AT指令。(3)使用Keil uVision作为开发工具设计一个GSM接打电话、短信收发系统,实现PC机和手机间的短信收发。2、实训内容两周的嵌入式系统的实训是由信盈达公司的工程师给我们培训的。两周中我们学习了Keil的安装和应用,模块介绍,Keil的编程学习等,实现了用上位机控制GSM模块收发短信,打电话。通过两个星期的接触,工程师讲课的严谨和负责的态度,专业的知识,耐心的讲解都给
9、我留下了深刻的印象。嵌入式工程师/项目经理杨余柳有自己的一套教学方法,很实用,我们也很受用,他给我们讲解了关于编程软件Keil4的安装和应用,因为我们之前用过这个软件,老师的讲课增加了难度。由于我们安装过程的细节疏漏,导致软件无法运行的情况很多。老师依旧耐心地给我们一步步引导,慢慢让我们的学习走上正轨。在编程学习上,由于我们本身学习上的基础知识不够扎实,老师们就修改了教案,用我们能够理解的层次来重新讲授课程内容,这无疑给老师们增加了很大的工作量,真的十分感谢老师们的费心培训。老师给我们详细的介绍了STM32F103ZET6的用途以及它强大的功能,还有它的广泛应用,原来实现如此多的功能竟是一片造
10、价不高的芯片,这彻底改变了我对芯片功能与价格关系的认知,普通的芯片也可以实现大功能。老师详细介绍了GPIO口、时钟和复位、中断、输入配置、USART复用功能、DMA通道、定时器TIMx等知识。3、 接打电话、短信收发客户端设计思路 客户端主要实现上位机与模块的数据的传输。利用Keil编写一个用于短信处理的工程界面,使用AT指令进行数据的交互,并通过编码和解码的数据缓冲区来实现短信息的发送和接收。AT指令 AT即Attention,AT指令集是从TE或DTE向TA或DCE发送的。通过TA、TE发送AT指令来控制MS的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、数据业务等方
11、面的控制。AT指令集是调制解调器通信接口的工业标准,是调制解调器能够识别并执行的指令。AT指令集是从数据终端设备(计算机)向终端适配器(短信猫)发送的。AT指令是手机上所使用的运行指令。一般的GSM Modem(如手机)都支持GSM07.05 所定义的AT命令集的指令。当MODEM处在命令状态的时候, 从接收端机发送来的以AT开头的指令,叫做AT指令,当AT下达后,MODEM能自动判断发送端机的速率,也就是说通信波特率不依MODEM 的设定,可根据系统的数据量来设置为19200bits或9600bits等。可通过AT指令控制GMS MODEM 连接Computer发送短信,并且要针对短信终端设
12、备兼容的编码规范,处理收发的短信息的编码和解码,通过使用队列技术来确保能够进行正常的并发访问。GSM 接打电话步骤:发送 AT指令检测模块是否正常发送 AT+CPIN?检测 SIM 卡是否在位发送 AT+CSQ 查询信号质量等级,2031 为宜发送 AT+CLIP=1 开启来电显示发送 ATD10086; 拨打电话;发送 ATH 可结束通话;在有来电时发送 ATA 可接听来电短消息服务中常用的AT指令如表所示发英文短信:(假设给号码为 13XXXXXXXXX发送: “123456”)的流程:发送 AT+CMGF=1, 设置为文本模式发送 AT+CSCS=“GSM”, 设置默认的 GSM 7 位
13、缺省字符集;发送 AT+CMGS=,等待模块返回“”发送短信内容: “123456”, 最后以十六进制 0X1A 结束启动发送,如果发送成功会返回+CMGS: xx OK。GSM 发送中文短信步骤(假设给号码为 13XXXXXXXXX发送:“信盈达欢迎你”)的流程:发送 AT+CMGF=1, 设置为文本模式;发送 AT+CSCS=UCS2, 设置 TE 字符集为 UCS2;发送 AT+CSMP=17,0,2,25, 设置短消息文本模式参数;AT+CMGS=“00310033003200360035003400330034003500360039”,等待模块返回“”发送
14、短信内容:”4FE176C88FBE79D1628067099650516C53F86B228FCE60A8FF01”, 最后以十六进制 0X1A 结束启动发送如果发送成功会返回+CMGS: xx OK。4、 主要程序实现接打电话、收发短信,并用LCD屏显示回馈状态。主程序:#include stm32f10x.h #include stm32f10x_conf.h#include usart.h#include string.h#include led.h#include key.h#include stdio.h#include delay.h#include lcd.h#include
15、gsm.hvoid delay(void)u32 i=1000000;while(i-);int main(void)u32 key_cont=0; u8 key,ack;u8 *p; SystemInit();led_init();key_init();delay_init(72);usart1_init(9600); LCD_Init( );LCD_ShowString(10,100,200,16,16,); /LED初始化while(NULL=send_ack(AT,OK,1000)LCD_ShowString(10,100,200,16,16,ERROR 1); delay_ms(50
16、0);while(NULL=send_ack(AT+CPIN?,READY,1000)LCD_ShowString(10,100,200,16,16,ERROR 2); delay_ms(500);while(NULL=send_ack(AT+CLIP=1,OK,1000)LCD_ShowString(10,100,200,16,16,ERROR 3); delay_ms(500);while(1)u8 i;p=send_ack(AT+CSQ,+CSQ:,1000);i=(*(p+6)-0)*10;i+=(*(p+7)-0);LCD_ShowNum(10,100,i,2,16); if(i20
17、)break;delay_ms(500);LCD_ShowString(10,100,200,16,16,up_key : calling);LCD_ShowString(10,120,200,16,16,down_key: answer);LCD_ShowString(10,140,200,16,16,left_key: rec message);LCD_ShowString(10,160,200,16,16,left_key: send message); while(1)key_cont+;if(key_cont=10)key=key_scan();key_cont=0;if(UP_KE
18、Y_OK=key)LED1=!LED1;/打电话模式calling_mode();elseif(DOWN_KEY_OK=key)LED2=!LED2;/接电话模式elseif(LEFT_KEY_OK=key)LED3=!LED3;/收短信模式elseif(RIGHT_KEY_OK=key)LED4=!LED4;/发短信模式delay_ms(1); 打电话GSM程序:#include stm32f10x.h#include usart.h#include stdio.h#include string.h#include delay.h#include lcd.h#include key.h#in
19、clude led.hu8* send_ack(const char*comm,const char*ack,u16 timeout)u8 *p;rec_sta=0;printf(%srn,comm);while(timeout-)if(rec_sta=1)p=strstr(const char*)rec_buf,(const char*)ack);rec_sta=0;if(p!=NULL)break;delay_ms(1);if(rec_num0)rec_cont+;if(rec_cont20)rec_sta=1;rec_cont=0;rec_bufrec_num=0;rec_num=0;i
20、f(timeout=0)return NULL;elsereturn p;void calling_mode(void)u8 key_cont,key;u8 *p;LCD_Clear(BLUE);LCD_ShowString(10,100,200,16,16,left_key : calling);LCD_ShowString(10,120,200,16,16,right_key: BACK);LCD_ShowString(10,140,200,16,16,down_key: ring up);while(1)key_cont+;if(key_cont=10)key=key_scan();ke
21、y_cont=0;if(LEFT_KEY_OK=key)LED1=!LED1;p=send_ack(AT,OK,2000);/打电话 if(p=NULL)/LCD屏幕显示LCD_ShowString(10,100,200,16,16,ERROR 23); elseLCD_ShowString(10,100,200,16,16,calling.);elseif(RIGHT_KEY_OK=key)LED2=!LED2;send_ack(ATH,OK,1000);break;elseif(DOWN_KEY_OK=key)LED2=!LED2;while(NULL=send_ack(ATH,OK,1000)/挂电话LCD_ShowString(10,100,200,16,16,ERROR 24); delay_ms(500);delay_ms(1);LCD_Clear(WHITE);LCD_ShowString(10,100,200,16,16,up_key : calling);LCD_ShowString(10,120,200,16,16,down_key: answer);LCD_ShowString(10,140,200,16,16,left_key: rec message);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 16细菌和真菌的繁殖(讲义)
- 11质量守恒定律
- 城市配送承包协议模板
- 地下商场砂石料配送协议
- 医疗园区材料运输合同
- 水泥物流配送居间服务合同
- 保健药品冷链运输协议
- 展览馆装修居间合同范本
- 大数据挖掘分析服务合同
- 体育馆装修工程合同协议
- 护理技能大赛理论题库(内科儿科外科妇产科基础护理)
- 沪教牛津版五年级英语上册全册单元测试卷(含听力材料及答案)
- 实用仓库管理制度物资储存保管制度运输作业管理制度
- 中国传媒大学《当代电视播音主持教程》课件
- 腺泡状软组织肉瘤课件(PPT 26页)
- com tec竞争对手对比小手册
- 认知障碍自评表
- 《Flash-CC动画设计与制作》教案完整版
- 沪教版七年级上册数学复习知识点考点总结归纳提纲
- 大连市住宅室内装修合同
- 交付标准化指导手册(试行)文件
评论
0/150
提交评论