新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于Cortex-M3的车辆通讯监控终端的设计与实现

基于Cortex-M3的车辆通讯监控终端的设计与实现

——
作者:李旭东时间:2014-02-26来源:电子产品世界收藏

  3 软件设计

本文引用地址:http://www.eepw.com.cn/article/233870.htm

  车载终端软件包括启动引导程序、操作系统和应用程序三部分。引导程序在设备加电后首先运行,完成关键硬件设备的初始化,建立内存空间映射,并从存储空间加载操作系统和文件系统到运行内存。然后把CPU的控制权交给操作系统,由操作系统启动应用程序的运行[6] 。应用程序完成车载终端应用软件的功能。

  本次开发的是典型的嵌入式系统,设计人员需要完成的工作开发的硬件、软件、算法、测试等多个环节,所有环节有效的配合才能保证整个项目的顺利进展,设计中用到的Python脚本语言具有面向对象、跨平台、高效、可移植性强等特点,可快速开发脚本程序,大大简化开发与测试工作。基于此,本次设计用Python的2.7.6版本的开发工具,函数库包括两类:标准库和大量的第三方库[7]

  通讯与定位功能程序属于应用程序,是本次设计的核心部分,其中包括了通讯协议的设计。二合一通讯模块GM862-GPS流程图设计如图4所示。

  程序设计为:W_main 主程序、W_sms短信处理功能程序、W_subf子功能程序和全局变量定义文件。

  import GPIO
  import MDM
  import SER
  import MOD
  import GPS
  import G
  def filer(x): #文件读,返回字符串
  def filew(x,s): #文件写,返回字符串
  def ini_io(): #Telit I/O初始化
  def ini_telit(): #Telit初始化
  def send_sms(to, text): # 发送功能返回 1/0
  def door_sms(str): # 处理; 返回字符串
  def info_gps(): #立即获取GPS 信息;返回字符串
  def info_gps1(): #1.25 min获取GPS 信息;返回字符串
  def handle_status(sta): #获取Telit I/O状态;返回数据
  def report_schedule(temps): #定期巡检
  def check_self(): #检查GSM, GPS, EEPROM,如正常返回NONE
  def alarm(temps): #报警处理
  def ag_test(): #老化测试

  3.1 短信命令格式定义

  无线通信与定位模块(GM862-GPS)与服务器的通讯通过SMS短信完成。通讯协议设计符合如下要求:

  ● 所有消息以文本格式

  ● 所有消息由常见的可打印ASCII字符组成,比如:' 123abcABC() #& '。

  ● 每条消息不超过140字符

  ● 所有信息、命令和消息反馈包含在同一条消息里,格式如表1所示,命令标识符如表2所示

  CAAC标示符:车辆CAN 报警信息工作流程如图5所示。

  报警短信处理程序为:

  import GPIO
  import MDM
  import SER
  import MOD
  import GPS
  import G
  from w_subf import *
  def smsinf_cat(tempinf): #处理来自服务器的sms return NONE
  def CB_sms(tempsim,tempinf): #处理CB命令sms; return NONE
  def AC_sms(tempsim,tempinf): #处理AC命令sms; return NONE
  def handle_sms(tempsm): 处理短信命令; return NONE
  def handle_miss():
  def service_tool(tempc):

光耦相关文章:光耦原理


万用表相关文章:万用表怎么用


数字通信相关文章:数字通信原理


通信相关文章:通信原理


波段开关相关文章:波段开关原理


断路器相关文章:断路器原理


高压真空断路器相关文章:高压真空断路器原理
漏电断路器相关文章:漏电断路器原理


评论


相关推荐

技术专区

关闭