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

【STM32H503评测】2.H503 的FDCAN通讯测试

[复制链接]
jundao721 发布时间:2023-9-3 20:52
      最近工作有点忙,板卡的学习和测试稍有延迟。这次主要来测试该板卡的FDCAN功能。从datasheet上可以看到H503是有一个FDCAN接口的。这个总线通信接口当前用的比较多,所以需要好好学习和测试。现在FDCAN支持8Mbps,以前采购的芯片最高支持到5Mbps。     又把原来测试IC的部分翻出来,按照Power和Rx,Tx将MCU板卡和通讯部分进行连接,如图1所示:
t21.jpg
图1
     主要用到PB12--CANRx,和PB13--CANTx两个FDCAN1接口,从板图上可以看到接口位置,如图2所示:
t22.JPG
图2

     好了,言归正传。下载的官方资料里并没有这部分的例程,所以测试思路基本还是先用Cubemx生成基本配置,其他接收滤波配置和发送配置再自己添加。H503是支持250MHz主频的。所以FDCAN的时钟也配置位250MHz,如图3所示:
t23.JPG
图3

    FDCAN部分采用正常波特率位1Mbps,数据波特率位2Mbps。其基本配置如图4所示:
t24.JPG
图4
   正常生成代码后,添加接收部分设置和发送部分设置,参考代码如下所示:
  1. FDCAN_FilterTypeDef sFilterConfig;

  2.   /* Configure Rx filter */
  3.   sFilterConfig.IdType = FDCAN_STANDARD_ID;
  4.   sFilterConfig.FilterIndex = 0;
  5.   sFilterConfig.FilterType = FDCAN_FILTER_MASK;
  6.   sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
  7.   sFilterConfig.FilterID1 = 0x123;//receive ID
  8.   sFilterConfig.FilterID2 = 0x7FF;
  9.   if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK)
  10.   {
  11.     Error_Handler();
  12.   }

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

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

  25.   if (HAL_FDCAN_ActivateNotification(&hfdcan1, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0) != HAL_OK)
  26.   {
  27.     Error_Handler();
  28.   }
复制代码
  1. if (HAL_FDCAN_AddMessageToTxFifoQ(&hfdcan1, &TxHeader, TxData) != HAL_OK)
  2.         {
  3.           /* Transmission request Error */
  4.           Error_Handler();
  5.         }
  6.         HAL_Delay(1000);
复制代码



  上位机测试软件正常接收,如图5所示:
   t25.JPG
图5
但是接收中断没有执行,故接收callback函数也没有执行到。暂时还没找到事故原因,配置应该都是正常的。找到原因后,再补充这部分。
收藏 评论2 发布时间:2023-9-3 20:52

举报

2个回答
STMCU-管管 回答时间:2023-9-5 11:54:33
可以,再接再厉
无极考拉 回答时间:2023-9-7 09:13:35

学习一下

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