你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3评测】3.FDCAN通讯

[复制链接]
jundao721 发布时间:2025-5-24 22:27

      本次测试FDCAN通讯,STM32U3是带FDCAN外设的,功能还是挺强大的。这个外设也是现在项目中常用的通讯方式。
     通信芯片使用的是自制的TJA1462 模块,这样使用杜邦线连接到FDCAN测试仪,连接到电脑上位机上,就可以进行测试了。
     整体连接图如图1所示:
1-4.jpg
图1
     CubeMx 配置如图2所示:
1-3.png
图2

     FDCAN 配置为 Nominal 帧设置为1Mbps,而数据帧设置为2Mbps,数据选择64个字节。然后生成项目框架。

     修改一下程序的发送和接收中断程序,程序配置如下所示:
  1. /* Configure Rx filter */
  2.   sFilterConfig.IdType = FDCAN_STANDARD_ID;
  3.   sFilterConfig.FilterIndex = 0;
  4.   sFilterConfig.FilterType = FDCAN_FILTER_MASK;
  5.   sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
  6.   sFilterConfig.FilterID1 = 0x123;//receive ID
  7.   sFilterConfig.FilterID2 = 0x7FF;
  8.   if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK)
  9.   {
  10.     Error_Handler();
  11.   }

  12.   /* Configure global filter:
  13.      Filter all remote frames with STD and EXT ID
  14.      Reject non matching frames with STD ID and EXT ID */
  15.   if (HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK)
  16.   {
  17.     Error_Handler();
  18.   }

  19.   /* Start the FDCAN module */
  20.   if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK)
  21.   {
  22.     Error_Handler();
  23.   }

  24.   if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK)
  25.   {
  26.     Error_Handler();
  27.   }

  28.   /* Prepare Tx Header */
  29.   TxHeader.Identifier = 0x321;
  30.   TxHeader.IdType = FDCAN_STANDARD_ID;
  31.   TxHeader.TxFrameType = FDCAN_DATA_FRAME;
  32.   TxHeader.DataLength = FDCAN_DLC_BYTES_64;//FDCAN_DLC_BYTES_8;
  33.   TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
  34.   TxHeader.BitRateSwitch = FDCAN_BRS_ON;
  35.   TxHeader.FDFormat = FDCAN_FD_CAN;//FDCAN_CLASSIC_CAN;
  36.   TxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
  37.   TxHeader.MessageMarker = 0;
复制代码


     编译,Debug,通过上位机观看测试数据,接收数据如图3所示:
1-2.png
图3
    发送数据如图4所示:
1-1.png
图4
    经过测试,发送和接收正常,调试5Mbps的时候,数据不能连接上,应该是杜邦线的问题。
收藏 评论0 发布时间:2025-5-24 22:27

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版