选择系统
4G DTU软件基于FreeRTOS系统进行设计开发。常用的嵌入式软件架构有前后台系统和RTOS系统,前后台系统的优点是使用简单易于理解,而缺点是后台功能函数按顺序执行,当某个功能占用CPU时间过长的时,会导致程序的实时性变差;RTOS系统的优点是可以将任务分成了不同等级,从而使任务按优先级获得不同的CPU占用时间,而缺点是会占用一部分FLASH和RAM。
由于4G DTU主要用于数据交互,对本地数据和网络数据处理的实时性要求较高,并且需对大块的数据BUFFER进行管理,因此个人觉得选用RTOS系统进行软件设计较为合适。嵌入式常用的RTOS系统有FreeRTOS和uC/OS,这两个系统功能相当,但是FreeRTOS完全免费,商业应用无过多限制。
前后台系统
RTOS系统
软件分层
按不同的功能和接口对软件进行分层、分文件设计,每个功能模块封装成为一个C和H文件,使工程层次清晰。这样设计的优势如下:
1、更换MCU或者其它硬件,只需更改硬件抽象层对应的文件,应用程序层不受影响;
2、功能模块变动,只需升级相应的功能模块,其他的模块不受影响,应用程序层也不受影响;
3、便于以后代码管理、模块移植。
软件分层
文件列表
任务划分
FreeRTOS以任务调度的方式运行,高优先级的任务可获得更多的CPU时间。4G DTU工程总共划分了3个任务,vNetTask任务优先级最高,用来处理与云端服务器交互的数据;vCanBusTask任务用来与外部总线通信,将外部总线的数据进行处理交给vNetTask使用;vFuncTask任务优先级最低,用来处理配置信息、状态指示等低实时性功能。
任务划分
总结
以上为4G DTU项目软件系统设计的一点心得体会,希望对读者有所帮助,最后介绍一款我们的dtu终端:
SeDTU300系列4G/CAT4工业级DTU是一款工业级无线数据终端产品,以LTE 4G/CAT4无线网络为承载网,为工业用户提供TCP/IP之上的无线数据传输通道,功能上完成远程控制站串口设备和中心控制系统间的无线数据通信,使远程工业现场控制得以实现。采用高性能的工业级的MCU主控芯片,并搭载嵌入式实时操作系统,为客户提供稳定可靠的运行系统。同时提供RS232和RS485接口及丰富的IO接口,可直接连接串口设备,实现数据透明传输功能和IO采集功能。支持本地PC端配置工具、AT指令配置和TCP/IP远程配置等多种配置和管理方式,简化了现场施工及后期维护的难度,大幅提升施工效率,降低系统运营的整体成本,从而使客户真正体验到无线通信的便捷。