本课程来自一个真实项目:多个气体传感器的管理。由于气体传感器比较昂贵,本课程里使用普通传感器来做实验。真实项目的使用场景如下图所示:
使用场景如下:
在工业控制场景中,上位机通过中控,去控制多个设备,硬件框图如下:
各部件的作用如下:
上位机:
中控程序复杂,基于 FreeRTOS 编写。
中控上的程序分为 2 个:Bootloader(用于升级应用程序)、应用程序。中控的
Flash 如下划分:
中控上电后,首先运行 Bootloader,它根据配置信息决定是否启动 APP1 或 APP2,
还是保存运行 Bootloader 本身:
上位机和中控 Bootloader 的程序框架如下:
上位机和中控 APP 的程序框架如下:
传感器上的程序也分为 2 个:Bootloader(用于升级应用程序)、应用程序。传感器的 Flash 如下划分:
传感器上电后,首先运行Bootloader,它根据配置信息决定是否启动APP1或APP2,还是保存运行Bootloader本身:
中控APP和传感器Bootloader的程序框架如下:
中控APP和传感器APP的程序框架如下:
难点在于如何保证多个传感器数据上报以及上位机下发不丢包,因为它不仅仅是单块板了,还可以集联多个,所以它的拓展性很强。后期还可以非常方便地给传感器进行批量升级;另外在工厂场景下,会涉及到数据监控,产线情况监控等场景。项目涉及上位机开发、FreeRTOS程序开发、裸机程序开发、单片机的控制。也能掌握传感器数据通讯、传感器协议定义、程序升级等知识点。还可以学习良好的程序开发模式:一套代码如何适应不同的主控芯片、不同的操作系统(FreeRTOS和裸机)。最后,怎么写出稳定可靠、容
易扩展的程序,这个将会贯穿整个学习过程——这是产品,不是练手Demo。
全部0条评论
快来发表一下你的评论吧 !