您当前的位置:五五电子网电子知识通信技术数字通信基于单片机控制GPRS数据传输系统的设计 正文
基于单片机控制GPRS数据传输系统的设计

基于单片机控制GPRS数据传输系统的设计

点击数:7726 次   录入时间:03-04 11:37:43   整理:http://www.55dianzi.com   数字通信
  
  ·如果收到短信的话,将收到此提示(回车换行)+CMTI:“空格”“SM”,“空格”短信号(回车换行)。此处短信号为读取和删除短信的依据,如果有短信收到的话,将及时读取其内容获取对方IP和端口号,并对其立即删除,防止短信空间占用,指令分别如下:
  
  读取短信。指令为:AT+CMGR=短信号(回车)。成功返回如下格式:(回车换行)。
  
  删除短信。指令为:AT+CMGD=短信号(回车),成功返回:(回车换行)OK(回车换行)。
  
  (4)最后,建立点对点的TCP链接。
  
  ·注销当前TCP连接。指令为AT+CIPCLOSE(回车),成功返回:(回车换行)OK(回  车换行)。
  
  ·建立当前连接。指令为:AT+CIPSTART=“TCP”,“当前的IP地址”,“当前的端口号”(回车),成功后返回(回车换行)OK(回车换行)。
  
  ·连接成功建立成功之后,就可以发送和接收GPRS数据了。
  
  TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用lP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。当强调传输性能而不是传输的完整性时,UDP是最好的选择。因为UDP数据传输时间很短,而且当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据,可根据实际情况选择传输协议。
  
  建立连接的过程有两种方式:一种是先启动GPRS任务——AT+CSTT(回车),然后激活场景-AT+CIICR(回车),之后获取本地IP-AT+CIPFSR(回车),最后与已知的IP地址的端口建立UDP连接——AT+CIPSTART=“UDP”,“REMOTE IP ADDR”,“REMOTEPORT”(回车);另一种方式是将以上三步可以一步完成-AT+CIPSTART=“UDP”,“REMOTE IP ADDR”,“REMOTE PORT”(回车)。



www.55dianzi.com

  3.发送数据
  
  通信的双方建立GPRS连接以后,就可以发送和接收数据了,具体方法为:

  等待模块返回“>”后,将要发送的数据送入GPRS模块中,然后再发送回车,数据即可发送出去。发送部分的程序流程图如下图所示。

发送部分的程序流程图

  函数send_gprs_data()实现发送指定长度数据的功能,本例中程序实现过程如下:

程序

程序

  程序中使用了seri_poll()函数,功能是在一定时间内查询判断有无数据返回。若有数据返回则判断是否与指定的字符串相同,同时判断返回值是否超时。当返回值超时则报(TIME_OUT);当数据返回但返回的字符串中没有指定字符串,则报出错(FALSE)信息;当有数据返回且返回的字符串中有指定的字符串,则报正确(OK)信息。
  
  4.接收数据
  
  GPRS接收数据时,在GPRS传输状态下,检测串口上是否有接收的数据,程序流程图如下图所示。

接收数据流程图

  函数recv_gprs_data()主要完成对串行口接收数据简单处理的功能,seri_poll()函数的功能是在一段时间内查询串行口上是否有数据的功能。本例中程序如下:

程序代码

  程序中定义了数据的帧头格式,C语言中用结构体表示如下:

C语言中用结构体表示

C语言中用结构体表示

  程序中调用gprs_recv_data()函数后,如果返回值为GPRS_RECV_FRAME_OK,则使用接收的GPRS数据,由GPRS_DATA_FRAME;结构中的data_p得到数据的指针,data_len得到已经接收到的GPRS数据的长度。
  
  在使用SIM300C时,需要注意的是,SIM300C在数据传送时电源电流峰值可达3A,会因线路阻抗压降使VBAT电压不稳,因此电源必须能够提供足够的电流,同时在电源线上对地加一旁路电容,容量通常在l00μF以上,PCB布线时尽可能靠近SIM300C VBAT的引脚。
  
  进行GPRS数据传输的双方建立连接之后,若长时间没有发送数据,建立的连接可能会被断开,若想继续传输数据,必须重新建立连接;另外可采用的方法是在数据传输空闲时,发送心跳包(每间隔一段时间发送数据),以保持建立连接不断开。
  
  为保证数据通信的正常进行,防止射频接口的干扰,在进行PCB线路设计时,一定要先阅读有关的布线指导,尤其是系统中用到模拟信号通道时,更应注意射频信号带来的干扰。



上一页  [1] [2] 


本文关键字:单片机  数字通信通信技术 - 数字通信