基于国产化平台的三轴姿态检测系统设计

2023-02-20 13:42李肃义
实验室研究与探索 2023年11期
关键词:国产化上位串口

李肃义,杨 帆,杨 强

(吉林大学仪器科学与电气工程学院,长春 130061)

0 引言

随着中国制造2025、工业4.0、新工科建设等国家战略的提出,高校教学实践、课程实验、实习等成为锻炼学生动手能力、增强学生创新实践能力、促进产学研结合以及培养更多复合型优秀人才的重要环节[1-3]。在部分工科实验教学中,仪器仪表、微处理器、传感器以及操作系统、软硬件平台都是支撑实验顺利开展的基本条件。由于国际贸易战、专利战等制裁的影响,部分企业已经出现芯片短缺、专利不再授权、原材料限制等问题的发生,甚至部分高校也在被制裁名单之中,一些专业的软件也不再被授权使用[4-5]。这些现象的发生无疑对新冠肺炎疫情下的复工复产、学术科研有着严重影响,如果国际形式持续恶化,最终高校相关实践教学环节也会由于上述问题而无法顺利开展。推进高校实验教学软、硬件平台的国产化,是在满足国家战略、顺利实现不同阶段的新发展目标以及为社会可持续培养复合型优秀人才的必经之路[6-7]。

姿态信息检测在无人机、体感遥控、机器人、惯性导航等多个领域都有着重要作用[8-9]。姿态检测装置一般体积和功耗较大,且使用的传感器及配套上位机软件均为进口,成本较高。开展姿态检测系统设计,有助于姿态检测系统向小型化、智能化、国产化方向推进,服务于更多姿态检测领域。

大学生创新实验项目是专业理论和实践相结合的培养方法,不但可锻炼学生独立分析和动手的能力,而且也能培养学生创新思维。本文以仪器专业大学生创新实验项目为例,设计一套基于国产微处理器及传感器实现的三轴姿态信息检测装置以及一套基于国产CPU和国产操作系统运行的上位机软件。本实验项目可让学生在实验过程中熟悉国产软、硬件平台的发展及应用示例,通过原理图与PCB设计、焊接调试、嵌入式编程、上位机编程与二次开发、平台移植与部署、软硬件联合调试等步骤,全方位培养学生的创新实践能力。

1 创新训练项目总体方案设计

1.1 实验目的

本文依托仪器专业大学生创新实验项目,根据课题立项需求,通过硬、软件设计,软、硬件联合调试等过程,完成实验项目的预期指标。实验设计思路如图1所示,学生通过在项目中对软硬件设计和联合调试过程,在完成项目成果验收的同时,其独立分析设计能力、动手实践能力、逻辑与创新思维以及问题定位与解决能力都能得到有效的锻炼和培养。

图1 实验设计思路

1.2 系统总体设计

本文设计的三轴姿态信息采集系统,主要包含硬件采集装置与上位机监测软件。硬件部分主要通过微处理器配合传感器实现三轴角速度、三轴加速度、三轴磁场以及翻转角、俯仰角、航向角等姿态信息的检测。通过按键输入、光敏输入、RGB 状态灯实现显示模式切换和系统状态提示,同时支持北斗的经纬度定位、气压海拔参数的检测功能。采集的多种参数可通过TFT液晶屏动态刷新,同时支持将数据流通过串口输出至上位机,通过软件实现对数据流进一步的解析和动态渲染功能。检测系统设计方案如图2 所示。

2 硬件设计

硬件设计主要分为采集、控制以及数据状态显示系统,如图3 所示。采集系统主要包括姿态、北斗、光敏传感器的数据采集以及多路按键扫描;控制系统通过微处理器对采集的数据进行分析处理,传送至数据显示系统;数据状态显示系统包括液晶屏、软件上位机的实现数据显示功能,RGB 指示灯用于提示系统不同运行状态。

图3 硬件总体设计

2.1 采集系统

系统采用国产JY901B 三轴姿态传感器,该传感器支持三轴角速度、三轴加速度、三轴磁场、翻转角、俯仰角、航向角、气压、海拔等信息的检测,与微处理器之间采用全速400KB的I2C通信。

北斗传感器采用国产ATGM332D-5N31 传感器,与微处理器之间采用USART通信,支持北斗独立定位模式,冷启动捕获灵敏度高达-148 dBm,跟踪灵敏度可达-162 dBm,定位精度2.5 m(CEP50),配合外置1 580 MHz天线完成搜星工作。

光敏电阻采用主控模块的A/DC GPIO通道采集;按键电路通过主控模块对多路GPIO 进行电平扫描,实现按键识别,采集系统原理如图4 所示。

图4 采集系统原理图

2.2 控制系统

本文中微处理器选择的是国产ESP32-WROOM-32E模组,与以往STM32 同主频、价格的系列相比,ESP32 模组拥有更大的片上内存、丰富的外设接口、自集成蓝牙、WiFi 射频功能,在一些物联网以及采集和控制场景中,基本可以满足硬件配置需求,主控系统原理如图5 所示。

图5 控制系统原理图

2.3 显示系统

为方便多种信息的实时观察,硬件装置采用8.1 mm TFT LCD屏,分辨率240 ×320,采用ILI9341 四线制SPI驱动,18 pin FPC底座连接,整体功耗约为0.32 W。通过控制系统处理过后的数据也可通过硬件串口传输到上位机进行后续的数据刷新和动态曲线渲染。RGB指示灯用于提示系统运行中的不同种状态及异常等。显示系统原理如图6 所示。

图6 显示系统原理图

2.4 PCB设计

双层电路板焊接后实物如图7 所示,硬件装置多数元器件均采用模组化封装,以便于学生在实验过程中完成焊接和器件更换。硬件系统电源由5 V USB接口输入,经AMS1117-3.3 降至3.3 V,可供主控模组以及液晶屏使用;除供电外,USB 接口与CP2102 芯片进行串口通信,配合下载电路实现嵌入式程序的烧录以及将采集数据流通过串口传送至上位机。4 路按键输入实现对硬件系统的重启和重置、液晶屏翻页以及屏幕亮度模式的切换。1 路光敏电阻完成对外界环境光照的采集,实现对屏幕亮度的自动调节。1 路RGB 指示灯,用于提示系统不同工作中的状态。

图7 电路板

3 软件设计

软件设计主要包括嵌入式程序和上位机监测软件设计。嵌入式程序采用开源编辑器Visual Studio Code开发,基于Arduino 框架完成ESP32 主控的嵌入式开发工作[10];液晶屏显示驱动基于LVGL 开源UI 框架完成图形界面的开发[11]。上位机监测软件基于Qt开源跨平台框架完成用户界面和应用[12-14]。

3.1 嵌入式软件设计

嵌入式软件设计流程如图8 所示。在硬件装置供电后,对串口、模拟串口、I2C、SPI和传感器进行配置和初始化,如果某一分支出现异常则会通过RGB指示灯提示,初始化正常后开始传感器数据采集;整体嵌入式程序包括两种数据显示方法,一是将采集的数据整合协议流,通过串口传输至上位机,二是通过基于LVGL视觉框架渲染,将检测到的多种数据参数传入框架,并在液晶屏上完成显示;设计4 路按键电平采集和一路光敏电阻A/D采集,分别完成硬件系统的重启、重置,液晶屏的页面切换以及配合光敏电阻实现对液晶屏亮度的自动调节功能。

图8 嵌入式软件设计流程

3.2 上位机终端软件设计

上位机终端软件设计流程如图9 所示。软件开启时,对系统的线程、信号槽以及各部分功能模块进行初始化,使用QtSerialPort 类实现与硬件的串口通信,待硬件端与上位机主机连接后,自动检测相关COM口实现开关功能。串口线程开启后,等待硬件采集端发送的数据流,并校验是否完整,如果数据流在传输过程中因为外界干扰、通信异常而导致协议不完整,则自动舍弃当前数据流,等待下一次的通信。使用Qtcharts 等类实现对检测数据的动态刷新、曲线动态渲染等功能。

图9 终端软件设计流程

4 系统测试与分析

4.1 硬件装置测试

硬件测试装置如图10 所示。电路板尺寸为7.69 cm×5.11 cm,与液晶屏尺寸基本一致,电路板四周共有4 个M3 的通孔,整体质量113 g,可安装在无人机、无人车等需要采集姿态信息的装置上。装置接通5 V电源后,系统开始初始化,调度传感器完成相关参数的检测。在使用北斗传感器检测经纬度时,需将天线置于室外或窗边,可加速搜星完成定位和授时功能。

图10 硬件测试

4.2 上位机终端软件测试

上位机硬件测试环境:飞腾D2000 处理器,8GB内存,256GB SSD 固态硬盘;软件测试环境:麒麟操作系统V10,Qt 7.0.2 版本。将USB 供电线连接至主机,打开系统终端,执行“sudo chmod a +rw /dev/ttyUSB0”命令,使该串口获得通信权限,打开上位机软件,在串口处下拉选择当前串口ttyUSB0,并点击右侧打开按钮,在软件上方面板实时刷新硬件检测的数据。终端软件测试如图11 所示。

图11 终端软件测试结果

为保证曲线显示效果,可通过选择不同种类参数实现动态曲线的渲染。在软件右侧状态栏中,会显示每一次系统切换检测类别、曲线的时间节点;下方的接收和发送状态栏,可显示当前系统接收和发送的数据总量。

凭借开源框架Qt在跨平台方面的优势,使得上位机软件在多系统平台部署成为可能。在Windows 11系统按照上位机监测软件设计流程进行部署和开发,主要完成串口开关、数据解析、检测种类切换、数据刷新显示和动态曲线渲染等功能。开发完成后,在麒麟平台同样安装Qt 开发环境,经过系统权限配置、进程管理调度和部分UI适配,完成本次上位机软件在麒麟平台的部署过程,所有在Windows 系统上的功能全部在麒麟平台实现,上位机双平台部署如图12 所示。

图12 双平台部署结果

针对上位机软件的部署运行,相比较Windows 系统,基于开源Linux 的麒麟操作系统在安全性、稳定性、启动速度都具备明显的优势。而国产化软硬件平台在进行一些复杂图形渲染时,相比Windows 软硬件平台仍具有一定的差距,但大部分功能均可实现。

上位机部署的过程中,分别在Windows和麒麟系统中进行软件运行测试,其性能对比见表1。国产化软硬件平台编译后的应用程序在体积和启动时间上得益于Linux底层优化,相比Windows 平台具有一定的优势;在程序启动后但未运行时,内存占用基本一致,但程序开始运行后,动态曲线的实时渲染,其内存占用情况相比Windows平台差距较大,且在执行一些复杂渲染任务时,卡顿明显。

表1 内存占用对比

5 国产化软硬件平台的展望

硬件平台,无论是CPU、GPU还是硬件开发板,国外平台性能较强,并且由于产量高、产业链条完善,价格也具有一定优势。软件平台,国内操作系统起步较晚、开发者较少,无论是从平台的优化程度、适配软件的丰富程度、更新迭代的速度来看,国产软件平台也存在较大差距[15-18]。但针对高校教学和实验课程,在一些基础的实验场景中,国产软硬件平台基本可满足需求。而对于国产化软硬件平台的发展来说,用户群体的数量是平台稳定的关键,熟悉的用户越多、使用的群体越庞大是平台发展的基础。加速推进国产化软硬件平台教材、课程的布局是关键,能在高校中培养人才,并加大国产化平台在相关领域的宣传力度和企业中相关岗位需求,让更多的开发者加入到国产化软硬件平台的建设。

市场需求量是平台发展的关键。需要加速软硬件平台上下游的产业布局,推动科技企业相关产品国产化的替代进程,协调推进供需两端。

生态社区建设是平台创新的关键。国产化软硬件平台的发展需要更多技术人才共同维护和迭代更新,以防入门的开发者遇到问题无法快速解决,逐渐失去热情。加强开源社区的生态建设,吸引更多国内甚至国际的开发者共同维护,不断发现指出当前版本的不足和漏洞,让开发者参与版本迭代,让更多的开发经历能被记录,对后续入门开发者具有指导意义。

关注度是平台可持续的关键。不仅是高校、企业开发者的关注,更重要的是国家政策和投资市场的关注度。随着近年来技术制裁、贸易问题不断加剧,国家出台了相关政策,大力推动国产化的进程。发展软硬件平台的国产化是个长期过程,需要不断地投入研发成本、产品验证再到量产。随着国家政策补贴的加持,让更多企业得到资本市场的关注,企业为社会提供更多国产化平台服务矩阵和岗位需求,增强校、企联动,共同促进国产化平台的可持续发展。

6 结语

通过本次国产化平台的三轴姿态信息采集系统的设计与实现,学生结合自身专业基础知识和相关实践训练,过程进行硬件设计、软件设计以及联合调试,可锻炼学生独立分析、动手能力和培养学生的创新思维。可让学生了解国产化软硬件平台目前的发展以及国内外软硬件的差距和需要重点突破的技术方向。相信未来随着国家对芯片半导体、自主操作系统的持续推进,更多的高校学生能够成为专业的开发者,让更多的教学实验项目可以应用在国产化软硬件平台。

实施创新驱动发展战略,必须紧紧抓住科技创新这个“牛鼻子”,切实营造实施创新驱动发展战略的体制机制和良好环境,加快形成我国发展新动源。

——《在中央财经领导小组第七次会议上的讲话》(2014 年8 月18 日)

猜你喜欢
国产化上位串口
特大型桥梁供电系统国产化改造探讨
元器件国产化推进工作实践探索
ASM-600油站换热器的国产化改进
浅谈AB PLC串口跟RFID传感器的通讯应用
基于国产化ITCS的卫星导航仿真研究
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信