APP下载

基于STM32H7的FDCAN通信系统设计与实现∗

2020-07-09

舰船电子工程 2020年5期
关键词:双口开发板上位

(昆明船舶设备试验中心 昆明 650051)

1 引言

在嵌入式开发应用中往往需要实现上位机与嵌入式设备间的实时信息交互。STM32H7芯片是目前ST公司推出的基于Cortex M7内核最新和最先进的芯片[1],该芯片具有运算速率高、功耗低及开发便捷等优点。STM32H7开发板采用目前最新最先进的FDCAN通信技术,FDCAN通信速率是传统CAN通信的五倍多,传输速率和实时响应性远超传统CAN通信[2],STM32H7开发板400MHz的超高主频及先进的FDCAN技术相结合可以完美解决绝大部分工程实验中的CAN通信需求[3]。某工程项目需要实现上位机实时控制信号采集系统采集数据并将相关数据上传至上位机进行数据分析与处理的功能,基于此,本文设计实现了基于STM32H7开发板的FDCAN通信系统。

2 系统总体结构

上位机与信号采集系统间FDCAN通信系统框图如图1所示。从图中可知,要实现上位机与信号采集系统间实时信息交互功能就要实现上位机与FPGA开发板间的通信[4~6]。本文基于此,采用一块STM32H7开发板作为通信模块来构建FPGA开发板与上位机间的通信桥梁,实现了上位机与STM32H7开发板间的FDCAN通信及STM32H7开发板与FPGA开发板间的双口RAM通信[7]。此外,根据项目需要STM32H7开发板还实现了每秒向上位机发送一帧特定格式数据帧以便上位机实时监测信号采集系统的运行状态[8~11]。

图1 上位机与信号采集系统间FDCAN通信系统框图

本文使用的STM32H743ZI开发板如图2所示,在调试实验中采用PC-CAN总线接口卡连接上位机和开发板CANH与CANL管脚[12]。

图2 STM32H7开发板

此外,如图3所示本文采用STM32H743ZI开发板与FPGA通过一块2M大小的双口RAM硬件连接可共同读写访问双口RAM的方式来实现STM32H743ZI开发板与FPGA间的实时信息交互[13]。

3 程序设计

本文设计实现的基于STM32H7的FDCAN通信系统工作流程如图4所示。首先,上位机与STM32H7开发板建立CAN总线连接,并按照项目操作要求向STM32H7开发板发送指令,STM32H7开发板在接收到上位机指令后将指令写入双口RAM中指定的地址并通过CAN总线向上位机反馈执行应答,FPGA监测到双口RAM指定地址有数据写入后就读取并响应该数据指令。当FPGA收到的上位机指令是上传采集数据时就将采集到的频率、相位等数据写入双口RAM约定好的地址并给STM32H7开发板一个硬件中断,STM32H7开发板响应中断到双口RAM指定地址读取相关数据并将其通过CAN总线上传至上位机供上位机进行数据分析与处理。这样便实现了本文中上位机与信号采集系统间的实时通信系统。

图3 STM32H7与FPGA共同访问双口RAM

图4 基于STM32H7的FDCAN通信设计流程图

由于本文应用中CAN总线挂载的设备及工作模式较多,为了便于全网规划和区分各个帧ID,在编程实现时,本文采用29位扩展帧模式来辨别各个设备在不同状态下发送的CAN通信指令;另外,由于本文中的FDCAN通信系统只需要接受4个特定帧ID的数据,故本文在CAN总线滤波器设置时采用滤波器列表模式列出需要交互信息的4个帧ID,使得CAN总线可以硬件过滤掉不需要的数据以提高该通信系统的健壮性,并通过Switch语句识别接收指令进而进行相关操作的方式提高程序执行效率从而提升了系统实时响应能力。此外,根据项目要求,STM32H7开发板在接收到上位机检测指令时还调用TIM3定时器每秒钟产生中断并通过CAN总线定时每秒钟向上位机发送特定格式数据帧的方式实现了心跳帧功能。

4 工程实现

如图5所示为本文基于STM32H7开发板设计实现的FDCAN通信系统中上位机通过CAN总线向信号采集系统发送数据查询指令及上传相关数据的CAN调试助手试验截图。从图中可以看出,该通信系统能迅速响应数据查询指令并及时上传采集信息。

图5 查询数据调试截图

如图6所示为本文设计实现的FDCAN通信系统实现心跳帧功能的CAN调试助手试验调试截图。从图中可以看出,该通信系统能及时作出实时响应并成功完成心跳帧的功能。

图6 心跳帧调试截图

5 结语

本文基于STM32H7开发板设计实现了上位机与某信号辐射与采集系统间的FDCAN通信系统。通过CAN调试助手结果可知,该FDCAN通信系统较好地完成了信号采集系统实时响应上位机指令及上传试验数据等任务,充分体现了STM32H7开发板超高主频高性能、实时响应性强、开发便捷及FDCAN通信技术传输速率快、可靠性强等特点。此外本文设计实现的FDCAN通信系统具有较高的灵活度和可控性,在嵌入式实时通信工程应用中具有重要的实用价值。

猜你喜欢

双口开发板上位
双口形式的戴维宁定理在电路分析中的应用
特斯拉 风云之老阿姨上位
双口RAM在机载嵌入式系统中的应用
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
双口RAM读写正确性自动测试的有限状态机控制器设计方法
双口RAM在无人机三余度飞控计算机数据交换中的应用