胡天立 肖培 宫鹤 穆叶
摘 要: 为解决现有嵌入式教学实验平台扩展性和通用性差、仅适用于实验教学等问题,设计基于总线结构的模块化嵌入式实验平台。平台整合了物联网四层模型中的感知层和网络层硬件单元,将硬件单元按照功能模块化,提出基于CAN总线的模块化架构,并设计适用于该架构的通信协议,使平臺在满足实验教学的同时,可应用于科研及实际项目。在实验教学应用中,平台训练了学生的基础技能和实践能力,培养了学生的协同创新能力、团队合作意识。在科研项目应用中,基于平台设计的模块化采集节点和网关节点经过性能测试和稳定性测试后,已投入实际使用。
关键词: 嵌入式实验平台; 总线结构; 模块化架构; 通信协议; 实验教学; 技能训练
中图分类号: TN914?34 文献标识码: A 文章编号: 1004?373X(2020)24?0075?04
Design and implementation of modular embedded experimental
platform based on bus structure
HU Tianli1,2,3, XIAO Pei1,2,3, GONG He1,2,3, MU Ye1,2,3
(1. School of Information Technology, Jilin Agricultural University, Changchun 130118, China;
2. Jilin Internet of Things Technology Collaborative Innovation Center, Changchun 130118, China;
3. Jilin Intelligent Environmental Engineering Research Center, Changchun 130118, China)
Abstract: A modular embedded experimental platform based on bus structure is designed to solve the problems that the existing embedded teaching experiment platform has poor scalability and versatility, and is only suitable for experimental teaching. The hardware units of the sensing layer and network layer in the four?layer model of the Internet of Things are integrated on the platform, and the hardware units are modularized according to their functions. The modular architecture based on CAN bus is proposed, and the communication protocol suitable for the architecture is designed, so that the platform can be applied to the scientific research and practical projects while meeting the experimental teaching requirements. In the application of experimental teaching, students′basic skills and practical abilities are trained, and students′collaborative innovation abilities and teamwork awareness are cultivated on the platform. In the application of scientific research projects, the modular acquisition nodes and gateway nodes designed based on the platform have been put into practical application after performance testing and stability testing.
Keywords: embedded experimental platform; bus structure; modular architecture; communication protocol; experimental teaching; skill training
0 引 言
实验教学是教学的重要组成部分,是培养学生理论联系实际、分析和解决实际问题、创新意识和创新能力必不可少的环节[1?2]。物联网作为一门将通信技术、传感器网络和智能系统等综合在一起的交叉学科[3],对实验教学有着更高的要求。
目前,教研人员为解决市场上物联网教学实验平台的结构不合理,设备稳定性差、效率低下、价格昂贵、维修困难、设计实验复杂等问题,提出了许多解决方案[1?10]。但仍存在一些不足,如未充分考虑学生协同创新能力的构建、团队合作意识和基础技能教育的培养、模块化思想的形成,且方案仅适用于实验教学,扩展性和通用性差,不能运用于科研及实际项目。对此,本文通过整合物联网模型的感知层和网络层硬件单元,将硬件单元按照功能模块化,设计了基于总线结构的模块化嵌入式实验平台。
1 实验平台总体架构
物联网四层模型包括感知层、网络层、平台层和应用层[11]。其中,感知层负责数据采集,网络层负责数据传输,平台层负责数据存储,应用层提供各种应用服务。图1为本文设计的实验平台三层模型示意图。模型将物联网四层模型中的感知层和网络层合并为感知网络层,分为感知网络层、平台服务层、分析应用层三层,并在感知网络层中将传感器、执行器和通信模块等硬件单元按照功能划分为各个模块,提出了一种基于总线结构的模块化架构。
架构中各模块运行独立任务,基于控制局域网(Control Area Network,CAN)总线通信[12],通过不同模块的组合,可实现采集节点、控制节点、网关节点等角色的转换,架构中各类模块及其功能如下:
1) 数据采集模块(Data Acquisition Module,DAM):负责数据采集,支持采用RS 485、RS 232、USART、模拟输入、数字输入等接口协议的传感器。
2) 设备控制模块(Device Control Module,DCM):负责设备控制,可控制采用模拟量、数字量、PWM、RS 485等接口协议的设备。
3) 数据传输模块(Data Transmission Module,DTM):负责数据传输,支持ZigBee、Lora、BlueTooth、GSM、WiFi、4G、NB?IoT等通信方式,通过配置可接入上层平台。
4) 电源时钟模块(Power Clock Module,PCM):负责系统供电和提供系统时钟,根据现场电源环境,可选用不同输入的电源时钟模块。
5) 数据存储模块(Data Storage Module,DSM):负责总线数据存储,如存储传感器数据、设备状态数据等,存储介质支持SD卡、FLASH等。
6) 人机交互模块(Human Interaction Module,HIM):负责人机交互,支持LCD等方式显示信息、语音播报信息、按键输入等。
7) 边缘计算模块(Edge Calculation Module,ECM):负责边缘计算,减轻服务器负担,如通过分析采集数据进行自动控制、可作为区块链中的区块、对上传的数据进行加密和解密等。架构中其他模块也可将剩余资源用于边缘计算。
2 实验平台硬件设计
实验平台及各模块使用ST公司的STM32F103CBT6作为微控制单元(Microcontroller Unit,MCU),通过10?pin欧氏插座实现CAN通信、程序下载、总线唤醒及供电,CAN收发器芯片型号为JTA1050,图2为实验平台框图,主要功能如下:
1) 板载8路欧氏插座接口,通过设计的串口下载切换电路能向接入的指定模块下载程序,便于模块间调试;
2) 板载的RS 485、RS 232、SD卡、拨码开关、LED等电路连接方式与各模块一致,基于实验平台开发的程序可直接下载至对应模块;
3) 平台支持JTAG和串口两种下载程序方式,JTAG下载只能用于实验平台,串口下载可用于实验平台和接入的模块;
4) 平台引出主控所有I/O口,具有4路3.3 V和5 V电源接口,便于扩展使用。
设计的各模块分为CAN收发器、MCU、外设三部分,CAN收发器和MCU为基本部分,外设为扩展部分,依据模块类型而定。
3 实验平台软件设计
3.1 嵌入式软件
为了提高模块间的高效通信,结合RTOS[13]任务间通信和CANopen[14]分布式通信思想设计了适用于该架构的IoT?CAN通信协议。IoT?CAN的设计目标与RoboCAN一致,旨在拥有一个集中的、轻量的、可拓展的和开放的系统,通过基本功能接口快速地将任何传感器、执行器和通信模块等硬件单元集成到系统架构中[15],支持设备热拔插、设备可拓展、数据透传、总线配置等功能。
图3为模块设备结构图,分为通信层、接口层、硬件层、驱动层和任务层。通信層负责CAN总线通信的报文管理,接口层封装了实现总线通信的接收、发送、中断事件等接口,各模块通过接口层接口进行通信和协作,这两层为IoT?CAN协议所在层。硬件层为模块外设,如传感器、执行器等硬件单元;驱动层为硬件层提供驱动,如模块的初始化、控制等;任务层根据模块实际需求运行独立任务,如传感器数据采集、设备控制、数据上传与下发、边缘计算等任务。
3.2 固件下载管理软件
固件下载管理软件使用C#编写,结合模块化架构特点设计,具有固件下载、固件管理、入网序列号管理三个功能模块。固件下载功能使用串口向平台或模块下载程序;固件管理功能用于管理实验平台各类型固件,基于FTP协议实现固件的更新和上传;入网序列号管理功能主要为架构中的数据传输模块设计,入网序列号是系统通信唯一编码,由软件根据地区编码、固件类型等信息分配。软件还具有权限管理、软件升级、设置保存等功能。
4 平台实现及应用
图4a)为设计的实验开发平台和各模块,模块1~模块3分别为数据采集模块中的RS 485协议板、I2C协议板和RS 232协议板;模块4为程序下载板,用于向架构中各模块下载程序;模块5为总线板,用于连接各模块,实现模块间通信;模块6为数据传输模块中的ZigBee通信板,用于同其他设备通信;模块7为5 V电源时钟板,可为总线提供电源以及系统时钟;模块8为设备控制板中的通用I/O板,可输出数字信号和模拟信号;模块9为实验开发平台。图4b)为基于实验平台开发的环境参数采集节点,经过测试验证后,现已投入使用,节点可采集1路环境温湿度、1路环境光照度、1路环境CO2浓度和3路土壤温湿度,通过Lora通信板通信,数据经由模块化网关节点上传至服务器。图5为PC端固件下载管理软件界面,用于平台固件下载和固件管理。
在实验教学中,按照难度将实验划分为初级实验、中级实验、高级实验、综合实验和拓展实验五类。初级实验包括实验环境搭建、固件烧写、跑马灯实验、按键读取实验等,引导学生熟悉开发平台以及开发流程;中级实验包括AD/DA实验、SHT11实验、DS18B20实验等,使学生熟悉开发工程结构,了解协议通信原理;高级实验包括ZigBee通信实验、TCP通信实验、MQTT通信实验等,让学生明白平台与平台、平台与服务器之间如何通信;综合实验包括IoT?CAN通信实验、采集节点实验、控制节点实验、网关节点实验、计算节点实验等,通过综合实验让学生了解本平台的模块之间通信机制和物联网中各节点工作原理;拓展实验为学生自主发挥部分,学生可以基于协议接口,将其他硬件单元接入平台,还可以根据提供的基本电路模板设计新模块。
5 结 语
本文设计的总线结构模块化嵌入式实验平台,解决了现有物联网教学实验平台的一些不足之处,可同时用于实验教学和科研项目。该平台整合了物联网四层模型中的感知层和网络层硬件单元,将各硬件单元按照功能模块化,提出了基于CAN总线的模块化架构,并结合RTOS任务间通信和CANopen分布式通信思想设计了适用于该架构的IoT?CAN通信协议,平台中各模块通过协议基本接口进行通信及协作。
该平台通过在信息技术学院电子信息科学与技术专业单片机实验教学中的实践,训练了学生的基础技能和实践能力,培养了学生的协同创新能力、团队合作意识。同时,该平台也用于科研项目,缩减了项目研发周期,设计的模块化采集節点、网关节点经过性能和稳定性测试后,已投入实际使用。
参考文献
[1] 王琳霖,王伟,曹国强,等.基于单片机的机电控制实训平台设计[J].实验技术与管理,2018(4):82?85.
[2] 陶冲,李宏.远程控制数字系统实验平台设计与实现[J].实验技术与管理,2018(1):104?108.
[3] 赵建敏,李琦,陈波.物联网综合实验系统设计[J].实验室研究与探索,2018,37(12):147?150.
[4] 杜海龙,王琦,李娟.基于C8051F单片机的综合实验平台设计[J].实验技术与管理,2018,35(6):50?53.
[5] 王海珍,廉佐政,滕艳平.cc2530单片机多点温度采集实验设计[J].实验室研究与探索,2018,37(12):98?101.
[6] 罗钧,李华,付丽,等.基于MSP432的多传感器数据采集与动态显示实验设计[J].实验技术与管理,2018,35(10):32?36.
[7] 崔业梅,李元熙,杨国华.嵌入式实训教学设备的研制与教学改革[J].实验室研究与探索,2017,36(9):66?69.
[8] 陈显明,刘书焕.基于物联网的农业环境数据收集系统设计[J].实验室研究与探索,2018,37(7):66?68.
[9] 邢娟,秦丹,战丽波.基于WiFi的智能实验室环境监测和监控系统设计[J].实验室研究与探索,2019,38(3):265?268.
[10] 闫亚玲,李博,刘伟杰.基于ZigBee的实验室防火远程监控系统设计[J].实验室研究与探索,2019,38(5):282?285.
[11] 李冬月,杨刚,千博.物联网架构研究综述[J].计算机科学,2018,45(z2):27?31.
[12] PENON Ptrick.A controller area network: U.K., EP1069733 [P]. [2001?01?17].
[13] 张美玉,张倩颖,孟子琪,等.实时嵌入式双操作系统架构研究综述[J].电子学报,2018,46(11):2787?2796.
[14] 贾鹏飞,王容川,徐林森,等.基于ROS和CANopen协议的控制器实时通信系统构建[J].中国科学技术大学学报,2018,48(9):703?710.
[15] DIEGO P L, JOAQU?N L F, ENRIQUE P, et al. Distributed and modular can?based architecture for hardware control and sensor data integration [J]. Sensors, 2017, 17(5): 201?205.
作者简介:胡天立(1985—),男,吉林长春人,博士,主要从事农业物联网研究。
肖 培(1996—),男,湖南邵阳人,硕士,主要从事农业物联网研究。