This page was saved using WebZIP 7.0.3.1030 offline browser on 06/17/20 18:47:58.
Address: http://solution.yktchina.com/2013-09/6d27a37f730946949799b55786564f9b.html
Title: 基于CDMA模块的车载监控终端的设计方案 - 中国一卡通网  •  Size: 37639  •  Last Modified: Fri, 20 Jun 2014 06:30:53 GMT
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于CDMA模块的车载监控终端的设计方案

来源:中国一卡通网  作者:不详  发布时间:2013-09-11 09:51:21  字体:[ ]

关键字:监控系统  CDMA模块  车载监控终端  

摘   要:随着无线通信技术的发展,智能交通系统(IntelligentTransportSystem,即ITS)已得到广泛应用。ITS总体来说包括四部分:交通信息采集部分、车辆调度控制部分、电子收费系统与交通信息服务。其中四个部分都需要车载终端的参与,车载终端是ITS系统中非常重要的部分。

  随着无线通信技术的发展,智能交通系统(IntelligentTransportSystem,即ITS)已得到广泛应用。ITS总体来说包括四部分:交通信息采集部分、车辆调度控制部分、电子收费系统与交通信息服务。其中四个部分都需要车载终端的参与,车载终端是ITS系统中非常重要的部分。传统的车载监控终端系统通常采用GSM/GPS方案。这种方案成本较低,在一些领域有了成功应用。车载终端最重要的功能是交通信息采集,提供车辆的准确定位和车辆运行情况(包括速度信息、行进方向等)。而定位信息和速度信息通常都是靠外置的GPS模块获取,但在车辆驶入隧道或者停放在高楼旁,车辆处于GPS卫星的覆盖盲区,这段时间内的调度中心无法准确得到车辆的交通信息,影响了监控调度系统的可靠性。本文提出了一种以ATMEL公司89S51为控制器,CDMA模块DTGS800为通信、定位系统平台的车载监控终端系统。 

  1.DTGS-800简介

  DTGS800是AnyDATA公司生产的一款CDMA无线通信模块。

  DTGS800工作在832MHz频段,功耗为0.32W,拥有高达153kbps的数据传输速率,可通过AT命令进行远程控制,内置TCP/IP协议栈,提供短消息服务。模块内部集成了具有gpsOne功能的芯片,能够采用gpsOne解决方法实现定位功能。

  DTGS800的模块主要接口包括:通用异步串行口UART,通用I/O口GPIO、编解码器接口CODEC、用户接口UserInterface、PM接口。

  2.系统硬件设计

  车载监控终端主要用来与监控中心进行实时的信息交互,包括:

  获取车辆的位置信息、速度信息;发布调度信息;在车辆出现异常情况下进行远程控制。另外给车辆司机提供移动通信服务,可利用此模块拨打和接听电话,甚至可以进行三方通话。其硬件系统是一个综合利用电子技术和通信技术的嵌入式单片机系统,主要由控制器和通信模块两部分组成。

  控制器是车载监控终端的核心,它对整个系统的安全运行、可靠性有很大影响。本设计中CPU选用了ATMEL公司的8位单片机89C51RD2,它是CMOS单片8位微控制器80C51的高性能CMOSFLASH版本。其特性包括:1个64-KbyteFLASH存储区,用于存储代码和数据;256字节的内部RAM,1个9源4级中断控制器和3个定时/计数器;1个1792字节的XRAM,1个硬件看门狗定时器,SPI接口,键盘,1个更加通用的串行频道,便于多处理器通信(EUART)和加速机制(X2Mode)。

  这款CPU采用全静态设计,减少了系统功耗,允许时钟频率降至任何数值而不导致数据损失。另外有两种软件可选的工作模式,降低8位时钟分频器的活动状态,进一步减少了功耗。空闲模式下,CPU被冻结,而外设和中断系统继续工作。在掉电模式,RAM内容被保存,而其他所有功能都无效。

  3.系统软件设计

  系统以任务的形式对软件功能进行模块划分,软件实现的任务包括:任务调度;车辆位置信息、速度信息的获取;短信息的接受、处理与发送;电话的拨打与接听;屏幕显示。

  程序流程为:车辆发动之后,系统上电,首先进行系统初始化,然后开定时中断与串口中断,启动完毕后启动进入中断监听状态,每隔10ms扫描一次串口buffer中的数据,并根据不同的状态调用不同的接口函数实现各种功能。车辆监控终端最重要的任务就是实时交通信息的获取和传输数据,下文着重介绍GPS信息的获取和短消息的接收与发送。

  3.1串口中断函数

  在本系统中,处理器对DTGS800模块的控制是通过串口发送AT指令实现的,当发送某种AT命令后,DTGS模块会通过串口与处理器进行数据交换。因此,如何进行串口数据管理是系统性能优劣的关键。在本文的设计中,采用了基于中断的管理方式,并设置了一个200Bytes的串口缓冲区,以循环队列的形式实时读取串口的接收数据。实现的步骤如下:

  3.1.1定义全局变量

  #defineREC_BUF_LEN200

  idatavolatileBYTEdatain;输入数据的长度

  idatavolatileBYTEdataout;;输出数据的长度

  BYTExdatadat[REC_BUF_LEN];串口缓冲区

  3.1.2操作函数的实现

  bitBuffOut(BYTE*dp);从缓冲区读出数据

  bitBuffIn(BYTE*dp);向缓冲区写入数据

  3.1.3中断函数

  处理器与DTGS800模块之间通过串口通信,当接收短信息,有来电提醒时,都会引发串口中断,因此串口中断函数的核心就是将接受数据存储到循环队列中。

  3.1.4接口函数

  在实际工作状态下,通话任务,短信息任务都需要通过串口向DTGS800模块发送数据,这些任务的实质都是向串口发送字节数据。因此接口函数最重要的就是定义发送字节函数,定义如下:

  voidWriteToComm(BYTEc)

  {

  SBUF=c;

  while(!TI);

  TI=0;

  }

  3.2系统任务设计

  根据不同的任务定义了不同的系统状态,其中一部分定义如下:

  typedefenum

  {

  SYS_NET_FAIL,网络不通

  SYS_MISSED_CALL,未接来电

  SYS_CALL_SPEAKING,通话中

  SYS_END_CALL,挂电话

  SYS_GET_GPS_INFO,获得GPS数据

  SYS_SMS_I 

  NFO,短消息接收

  SYS_SMS_DISPLAY,短信息显示

  }sys_app_sta; 

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

需求意向: 咨询详细信息     如何采购     代理方式     合作方式     其它需求 *
您的姓名:
* 电话: * email: *
公司名称: *
留言内容: *
注:内容不能超出800字,有*号的为必填项,您所填写的联系信息我们保证只对你咨询的企业公布。
验 证 码: 如果看不清,可以点击这里换一个。*
 

推荐方案

论坛热帖