STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

近几年汽车电子发展迅猛,各大造车新势力纷纷上阵,本人也从事汽车电子MCU开发多年,工作中经常与CAN打交道,高端的can监测设备动辄上千甚至过万(常用的如CANoe,Peakcan,CAN spy等),业余之际,重拾STM32,便有了自制简易的CAN监测工具的想法。

本设计采用STM32F407VET6为主控芯片。硬件设计比较简单,直接使用CAN1接口,外加TJ1050驱动芯片,注意终端电阻的选择即可。CAN基础知识这里不做赘述,百度资料成堆。备注:这里只做特定功能性应用,不作为专用设备。

串口消息效果如下:

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

设计方案:将CAN收到的数据(标准帧,波特率500K,接收报文不做ID滤波)通过串口发送给PC,串口协议有效数据参数:时间戳、can id、收发类型、数据长度、数据值。老方法,串口使用空闲中断加DMA的方式接收,应用比较简单,CAN接收就不使用中断了。软件工程基于HAL库,由于用的不熟,使用过程中也遇到一些奇怪的问题,后面详述。

首先,基于STM32 Cube生成CAN1,USART3相关的配置,然后移植到base工程中,这里直接使用的'正点原子'的相关例程,CAN1驱动代码如下:

1.硬件参数配置初始化,IO配置自行查看下就好

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

2.滤波配置,至此can的配置就完成了

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

3. CAN 消息发送

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

4.CAN消息接收处理

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

如上,基本的CAN相关的处理就完成了。这里为了协议转换,重新定义了CANMSG_DEF结构类型,如下

STM32开发之CAN监测工具设计(一)(stm32 can采样点设置)

至此CAN相关的工作就完成了,这块不做深入研究还是比较简单的。下一章节再来详述剩余设计。谢谢~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月29日 上午8:40
下一篇 2023年4月29日 上午8:50

相关推荐