当前位置: 首页 > news >正文

英飞凌SBC芯片TLE9263QX for STM32的库函数与使用

有关英飞凌SBC芯片TLE9263QX的中文讨论基本没有,我自己借助项目了解使用这个芯片,在此记录一下。

//houyawei 20250528

1.TLE9263QX资料的收集


        1.1  规格书

        1.2 开发工具 Config Wizard for SBC

        1.3 官方参考原理图及PCB布局

        1.4 示例代码        

                        SBC-for-Arduinohttps://github.com/Infineon/SBC-for-ArduinoTLE9263-3BQX-with-Traveohttps://community.infineon.com/t5/Projects/Exploring-TLE9263-3BQX-with-Traveo-Starter-kit-CYTVII-B-E-1M-SK/ba-p/955829

        1.5 官方社区

2.TLE9263QX库函数的生成

        2.1 打开Config Wizard for SBC

红色是USB直接连官方开发板,界面直接可视化控制,我没有开发板。

绿色是生成函数库,用SPI通讯。

        2.2根据需求配置勾选

我需要VCC2,VCC3打开,看门狗检测时间选择的1S,打开高边HS1-HS4。

        2.3 导出库函数

3.TLE9263的相关参数

        这点跟后面写程序息息相关,必须从官方文档查出,我在这里记录一些重要的参数

3.1  PIN48接地后上电,能让9263进入到开发模式,它内部会启动VCC1,VCC2,关闭看门狗,方便编写程序

3.2 spi通讯实用的16位数据传输,第二个边沿触发(下边沿),软件片选,1M波特率

3.3 想要使用VCC1给MCU供电,需要给INT  PIN31引脚接电上拉,保证芯片VCC1常有电输出。

3.4 硬件部分

3.5 引出spi引脚,方便测试

3.6 stm32 的cubeMX配置

        注意stm工程路径必须放在全英文路径下,不能包含中文,否则会导出失败。

4.TLE9263的函数移植

        4.1 二进制改16进制

使用vscode Copilot,要求其将所有二进制数据按照格式改为16进制,注意核对,有的是10进制,AI也会修改。实际不需要。

        4.2 不识别函数__builtin_ctz

#define SBC_BITPOSITION(sbc_bitmask) (__builtin_ctz(sbc_bitmask))

改为

static inline uint8_t SBC_BITPOSITION(uint32_t mask) {uint8_t pos = 0;while (mask && !(mask & 1)) {mask >>= 1;pos++;}return pos;
}

        4.3 编写spi初始化函数

uint16_t SBC_SPI_TRANSFER16(uint8_t Upper, uint8_t Lower) {//uint8_t txData[2] = //{Upper, Lower};uint16_t txData = ((uint16_t)Lower << 8) | Upper;//uint8_t rxData[2] = {0};uint16_t rxData = 0; uint16_t outdata = 0;// 片选拉低,开始通信HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);// SPI 发送并接收2字节//HAL_SPI_TransmitReceive(&hspi1, txData, rxData, 2, HAL_MAX_DELAY);HAL_SPI_TransmitReceive_16(&hspi1, &txData, &rxData, 1, HAL_MAX_DELAY);// 组包为16位数据(高字节在前,低字节在后)outdata = ((rxData & 0xFF00) >> 8)  | ((rxData & 0x00FF) << 8);// 片选拉高,结束通信HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);HAL_Delay(10);return outdata;}

之前用的HAL库函数里面的HAL_SPI_TransmitReceive()传输16进制,发现有问题,用网上封装的函数运行正常

STM32F103 的spi 16位 模式 HAL库 发送有问题_stm32f103 spi hal发送不了数据-CSDN博客文章浏览阅读688次,点赞19次,收藏20次。用的就是这个HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData,uint16_t Size, uint32_t Timeout);在使用stm32f103rc时,因为要设置为16位模式,即一次发送两个字节,但是用这个函数进行发送时,只发送了后面一个字节,前面发送的是0x00,比如我要发送0x1234,发出去的是0x00, 0x34;看来是HAL的bug。_stm32f103 spi hal发送不了数据 https://blog.csdn.net/li348858320/article/details/146262679

        4.4  9263初始化寄存器只有18个,库函数里面的其他寄存器需要注释掉,否则会初始化失败

        4.5 分析工具:逻辑分析仪

       

这个很重要,之前没有这个工具,研究了半个多月也有问题。让公司申购了工具之后,一天就调试好了,还发现了stm32 HAL库的16位数据传输问题。

5.移植测试源码

        GitHub - houyawei-NO1/hal_led: TLE9263 for stm32f407TLE9263 for stm32f407. Contribute to houyawei-NO1/hal_led development by creating an account on GitHub.https://github.com/houyawei-NO1/hal_led

感谢英飞凌社区的回复,很多技术讨论都是从社区看到的,这个帖子是我发起的。

Solved: Re: I am using TLE9263 for the first time and I am... - Infineon Developer CommunityHello Houyawei, You have further question which we can support or shall i close the conversation. Thanks Mohan Nhttps://community.infineon.com/t5/Power-Management-ICs/I-am-using-TLE9263-for-the-first-time-and-I-am-not-sure-if-the-reading-is/m-p/1023922#M6669//houyawei 20250528

 

http://www.xdnf.cn/news/692209.html

相关文章:

  • ⭐️⭐️⭐️ 免费的AI Clouder认证 ⭐️⭐️⭐️ 第四弹【课时1:课程概览】for「大模型Clouder认证:基于通义灵码实现高效AI编码」
  • 企业信息管理系统的设计与实现(代码+数据库+LW)
  • 【多线程初阶】初识线程 创建线程
  • 线性回归中标准方程法求逆失败的解法:正则化
  • 三维点云深度学习代码torch-points3d-SiamKPConvVariants复现记录(持续更新中)
  • MAC程序签名遇到的问题
  • 用结构填充平面
  • GUI 编程——python
  • PortSwigger-02-XXE
  • Gerapy二次开发:在Ubuntu服务器中利用pyenv+supervisor实现项目部署
  • 为 MCP Server 提供 Auth 认证,及 Django 实现示例
  • 三、zookeeper 常用shell命令
  • Spring AI 代理模式(Agent Agentic Patterns)
  • 基于Vue3.0的【Vis.js】库基本使用教程(002):图片知识图谱的基本构建和设置
  • 机器学习-随机森林
  • 算法训练第一天
  • 深度解析 torch.mean 的替代方案
  • Web前端快速入门(Vue、Element、Nginx)
  • 通过海康萤石API控制家里相机的云台及抓图
  • PHP:从Web开发基石到现代应用引擎的进化之路
  • 青岛市长任刚与深兰科技董事长陈海波会谈,深兰青岛项目即将进入快车道!
  • Nacos注册中心原理
  • System Properties 和 Settings.Global 的区别
  • 尚硅谷redis7 70-72 redis哨兵监控之案例实操7
  • go实现定时任务
  • QT 5.15.2 程序中文乱码
  • Linux基础 -- Linux 启动调试之深入理解 `initcall_debug` 与 `ignore_loglevel`
  • JavaScript核心总结与现代化应用指南
  • 弥散制氧机工作机制:高原低氧环境的氧浓度重构技术
  • Laravel单元测试使用示例