基于STM32单片机的HJ/T212通信协议的实现
【摘要】HJ/T212通信协议是污染源在线自动监控(监测)系统数据传输标准,是由国家环保行业的标准协议之一,用于规范数据采集、传输、存储和管理,保证各种环境监测仪器、监控设备、传输网络和环保部门应用软件系统之间的连通。本文主要讨论HJ/T212通信协议在高性能、低成本、低功耗的STM32系列单片机上的实现。
【关键词】STM32;单片机;嵌入式;数据通信;HJ/T212
1.引言
近年来,随着环保意识的增强,各种各样的环保采集、传输、监控等设备被广泛使用,为了指导各个城市污染源在线自动监控(监测)系统的建设,规范数据采集、传输、存储和管理,保证各种环境监测仪器、监控设备、传输网络和环保部门应用软件系统之间的连通,国家环保行业制定了数据传输标准协议HJ/T212。
STM32系列单片机基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的,采用STM32F103系列ARM Cortex-M3内核。时钟频率72MHz时,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。该系类单片机集成功能丰富、以8位机的价格提供32位的性能,现已广泛应用于多种领域,比如嵌入控制、消费电子产品、家用电器以至及工业设备等。
STM32系列单片机这些特点适合在环保数据的采集和传输环节作为主控MCU使用,本文介绍了HJ/T212在以STM32F103C8T6单片机为主控MCU的环保数据传输设备中的实现方法。
2.HJ/T212协议包组成
3.HJ/T212协议在STM32F103C8T6中的实现
STM32F103C8T6处理器内的通用同步异步收发器(USART)提供了一种灵活的方法来与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率。支持查询、中断和DMA三种方式,当选择使用DMA方式,可以实现高速数据通信。
从协议可以看出,当接收到
STM32F103C8T6单片机接收并解析数据包后,需要根据协议的应答要求分步骤进行应答。通常收到一包完整数据包后,现场机立刻进行请求应答,然后返回操作执行结果。
4.CRC算法及其实现
CRC即循环冗余校验码(Cyclic Redun-dancy Check):是数据通信领域中最常用的一种差错校验码,该校验算法的特点是信息字段和校验字段的长度可以任意选定。CRC校验码的两个字节,包含一16位的二进制值。它由传输设备计算后加入到数据包中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。
①装一个16位寄存器,所有数位均为1。
②取被校验串的一个字节与16位寄存器的高位字节进行“异或”运算。运算结果放入这个16位寄存器。
③把这个16寄存器向右移一位。
④若向右(标记位)移出的数位是1,则生成多项式1010000000000001和这个寄存器进行“异或”运算;若向右移出的数位是0,则返回③。
⑤重复③和④,直至移出8位。
⑥取被校验串的下一个字节
⑦重复③~⑥,直至被校验串的所有字节均与16位寄存器进行“异或”运算,并移位8次。
⑧这个16位寄存器的内容即2字节CRC错误校验码。
5.结束语
STM32F103C8T6为开发人员提供了高性能的数字解决方案,通过在该MCU上实现HJ/T212协议使得系统具有很好的开放性和通用性,同时在别的嵌入式系统的串口通信的实现上也有很好的借鉴意义。
参考文献
[1]曹圆圆.基于STM32的温度测量系统[J].仪器仪表与分析监测,2010,1:16-18.
[2]ST.datasheet:STM32F103x8/B DS5319.pdf,2006.
[3]国家环境保护总局.数据手册:HJT212-2005污染源在线自动监控(监测)系统.pdf,2006.
热门文章:
- 开学演讲稿2023四篇4篇2024-03-06
- 艾滋病防治知识讲座学习心得体会6篇2024-03-06
- 交通安全学习心得感悟简洁版12篇2024-03-06
- 摘选高中生心理健康自我鉴定多篇3篇2024-03-06
- 爱岗敬业做好本职工作演讲稿8篇2024-03-06
- 民族团结的演讲稿范文新编8篇2024-03-06
- 全国宪法宣传日活动总结大全范文5篇2024-03-06
- 校园关于珍爱生命之水演讲稿3篇2024-03-06
- 新时代好少年个人先进事迹材料汇总5篇2024-03-06
- 举行防艾知识宣传教育周活动方案4篇2024-03-06
相关文章: