一种新型自动抄表系统数据集中器的设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

一种新型自动抄表系统数据集中器的设计

来源:中国一卡通网  作者:不详  发布时间:2012-11-20 09:07:37  字体:[ ]

关键字:自动抄表  数据集中器  通信  

摘   要:本文设计了一种用于自动抄表系统的数据集中器,对它的本地及远程通信的实现进行了详细阐述。该数据集中器采用基于uPD78F0881 单片机的硬件平台,实现了实时时钟、数据存储、数据通信等功能,并针对抄表系统通信特点设计了通信协议。最后,经测试表明所设计的系统达到了低功耗、高可靠性的设计要求。


  3 数据集中器的软件设计

  程序中设置了一个单片机忙标志位,单片机忙时置位该标志位,空闲时被复位。正常模式时主程序中会不断检测该标志位,一旦检测到该标志位被复位即将单片机转入待机模式来降低功耗。主程序流程图如图5 所示。 


  软件功能的实现由各个子程序完成。主要的子程序有CAN总线通信子程序、红外通信子程序、GPRS 通信子程序、存储器操作子程序、实时时钟操作子程序。这里只介绍CAN 总线通信子程序,它由初始化程序、数据发送程序及数据接收程序组成。

  (1)初始化程序。

  uPD78F0881 中集成了CAN 控制器,其中有16 个长度为8字节的数据缓冲区,这些数据缓冲区既可单独使用又可联合使用,大大提高了使用的灵活性。初始化程序主要包括对控制寄存器、总线传输速率寄存器、中断使能寄存器及各数据缓冲区的控制寄存器、验收码寄存器和验收屏蔽寄存器等的设置。

  (2)数据发送程序。

  数据的发送是由CAN 总线控制器自动完成的,用户只需将待发送数据送入数据缓冲区,再启动发送命令即可。通过查询相应的标志位即可得知发送状态。

  (3)数据接收程序。

  数据的接收采用中断方式,接收程序在CAN 控制器产生接收中断后,从数据缓冲区中读取接收到的数据,再进行相应处理即可。

  4 通信协议设计

  4.1 上位机与数据集中器通信帧格式

  上位机与数据集中器之间为主从结构的半双工通信方式。
  
  上位机为主站,数据集中器为从站。每个数据集中器均有各自的地址。通信链路的建立与解除均由主站来控制。协议中规定了三种帧格式,分别是:命令帧、广播帧及应答帧。

  (1)命令帧。

  命令帧由上位机发送给数据集中器,由地址、命令、数据和校验码组成。

  地址长2 字节,表明将接收该帧的数据集中器。命令长1字节,表示该帧的功能。数据长1~9 字节,其内容随命令帧的功能改变。校验码长2 字节,为从帧起始到校验码之前的所有字节的CRC16 校验码,用于数据校验。

  (2)广播帧。

  广播帧也是由上位机发出的,它用来向数据集中器发送校时及数据冻结命令。其格式中不含地址域,其它与命令帧相同。

  (3)应答帧。

  应答帧是数据集中器对上位机发来的命令的响应,格式与命令帧相同,地址中为数据集中器自身地址。

  4.2 数据集中器与数据采集器通信帧格式

  CAN 总线的技术规范只定义了数据链路层和物理层,因此要实现系统的通信就需要根据实际情况单独设计应用层的通信协议。

  协议中有命令帧、应答帧、数据帧和报警帧四种帧格式。其中命令帧由数据集中器发出,含有一个数据采集器识别地址。

  应答帧是采集器对集中器所发命令的响应。当集中器发出的地址与某个采集器地址一致时,该采集器会发送应答帧。由于CAN 总线采用的是短帧结构,每帧数据最多8 字节,当采集器要上报的数据大于8 字节时就要在应答帧之后再传送数据帧直到所有数据发送完成。报警帧是采集器出现断线、数据存储出错等故障时发出的报警信号。
 
  (1)命令帧。

  命令帧由地址、命令、数据组成。由于CAN 总线本身具有15 位CRC 校验,其校验强度完全可以满足本系统对通信可靠性的要求,故没有设置校验部分。各个部分的具体含义与约定如下:1)地址表明要与哪一个采集器通信,每个采集器唯一对应一个地址。地址为1 个字节,可使用标识符ID.0~ID.7 记录此地址,这样就可通过CAN 控制器的设置由硬件自动完成地址过滤。2)命令为1 个字节,用于指定具体的命令内容。不同的内容对应不同的命令代码。3)数据部分长度一般为1~8 字节。

  (2)应答帧。

  应答帧格式基本与命令帧格式相同,只不过其地址部分是自身地址,而不是目的地址。

  (3)数据帧。
 
  该帧是紧跟在某些应答帧之后发送的,因此只有地址和数据两部分。

  (4)报警帧。

  报警帧格式与应答帧格式相同,它的数据部分为1 个字节,表明了故障类型。

  4.3 差错控制

  为保证数据传输的可靠性,建立了上位机与数据集中器之间、数据集中器与数据采集器之间的差错控制。

  当上位机或数据集中器发出命令帧后,在规定时间内如果未收到数据集中器或数据采集器的应答帧,即认为传输出错,并重发先前的命令帧。重发最多3 次,当重发3 次仍无法收到应答帧时,发出相应的提示信息。

  5 结束语

  以上述方式设计的数据集中器具有低功耗、可靠性高和成本低廉的特点,特别适合作为自动抄表系统中数据集中器设计的一种解决方案被推广和应用。在实验条件下对所设计的系统进行测试,测试表明所设计的系统运行平稳、功耗低,能够可靠地完成抄表系统数据采集需求,达到了设计要求,具有很好的应用前景。

更多

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

推荐文章

论坛热帖