基于 Echoes 的 S32K144 I2C 调试

一、S32K144 芯片介绍

S32K144 是一颗 32 位 Arm®Cortex®-M4F 内核的 MCU,支持 ASIL B级应用。这些功能包括超低功耗工作模式,具有恩智浦固件的加密安全引擎
以及具有低级驱动程序和 FreeRTOS操作系统的汽车级软件开发套件。在 -40 至 125/150°C 温度范围内提供 QFN、LQFP 和 MAPBGA 封装。

 

主要特性:

  • 112 MHz Cortex-M4F 内核
  • 512 KB 闪存,带 ECC。高达 4KB EEPROM
  • 12 位 1 Msps ADC,16 位 FlexTimer,具有死区插入和故障检测功能
  • 可扩展的低功耗运行和停止模式。快速唤醒、时钟和电源门控
  • 提供 QFN,LQFP 和 MAPBGA 封装。温度范围 -40 至 125/150° C,至少 15 年长期供货保证
  • 功能安全、信息安全和连接:
    • 符合 ISO 26262 标准,高达 ASIL B 级
    • 硬件和软件看门狗、时钟 / 电源 / 温度监测仪
    • 功能安全文件和 SafeAsure 网络社区支持
    • CSEc 安全引擎 - AES-128,安全引导和密钥存储;
    • 以太网 (10/100 Mbps), CAN FD, FlexIO (UART, I2C, SPI, I2S, LIN, PWM...), 串行音频接口, QSPI
  • 量产级软件:
    • S32 Design Studio IDE – Eclipse, GCC 和调试器,第三方支持
    • 软件开发套件 (SDK) – 免费、兼容 SPICE 3 级/经过了 MISRA 测试,带有演示和示例,兼容恩智浦和第三方 IDE,也可单独使用。
    • 恩智浦 AUTOSAR® MCAL
    • 恩智浦提供的安全固件
    • 内核自测库
    • 基于 MATLAB® 模型的设计工具

 


二、Echoes 开发板介绍

Echoes 是一款基于 NXP S32K1xx 系列的最小系统通用评估板方案,本方案面向通用汽车应用,提供丰富的测试组件, 板载 CAN、 LIN 和 UART/SCI 接口,
并具有 microUSB 或外部 12V 电源两种供电选项,可帮助用户快速上手开发 S32K1xx 相关应用设计。 另外, NXP 推出的免费开发集成环境 S32DS 使用户
可以快速熟悉使用 S32K 系列 MCU,并快速完成产品原型验证,可大大缩短产品开发周期,满足汽车电子产品快速发展的市场需求。


Echoes 开发板功能描述:

  • 可选贴 64-LQFP 或 100-LQFP 两种规格的 S32K1xx 主控芯片(本板示例为 S32K144)
  • 具有 Micro-USB 或外部 12V 电源两种供电选项,可选的 5V 或3V 主控 MCU 供电。
  • 选用高效率、 高耐压、环境温度范围 -40℃ 至 125℃ 的车规级电源芯片。
  • 2 路 FlexCAN 输入/输出,其中一路支持 CAN-FD 。
  • 丰富的外围模块,支持 LPUART、 LPI2C、 LPSPI 等低功耗通信。
  • 支持 JTAG 标准调试接口和 JTAG 4 线 SWD 调试模式。
  • 可轻松接入 MCU I/O 接头引脚,进行原型设计
  • 有高级功能安全、信息安全和软件支持,适用于 ASIL-B 车身、区域控制和电气化应用。
  • 环境温度范围:主控 MCU 电源模式在 HSRUN 为 -40℃ 至 105℃ , RUN 为 -40℃ 至 125℃ 。
 




三、搭建 S32DS I2C 例程

        打开 S32DS for ARM 2.2 并新建 Project。

 

 

        找到 S32SDK S32K1xx RTM v3.0.0 Example Projects ,找到 S32K144, 找到 communication 类别,找到 i2c 例程并在上方 “Project name” 修改名字,最原来 Project 名字后面加上 “_TEST”,方便识别。

 

 

        新建工程打开后如下所示。

 


        右键通过 PE 文件生成 Code

 

 

 

 

 

四、修改代码适配 Echoes

         在本例程中,是以 FlexIO 当做 Master ,LPI2C 当做 Slave,并以 LED 的颜色来呈现整个通讯过程的,我们这里修改使用的 FlexIO 和 LPI2C 以及 LED 的控制端口来适配于 Echoes 的 Demo 板。


1、配置 FlexIO 端口为 I2C

(1)在 flexio_i2c_s32k144_TEST\Generated_Code\flexio_i2c.c 文件中修改 “sdaPin” = 4U,“sclPin” = 5U。

 

 

(2)由于 FXIO_D4, FXIO_D5 有多对可使用的 IO 口,这里使用 PTD2(SDA),PTD3(SCL)。

 

 

(3)又因为 PTD2 和 PTD3 有多组 FlexIO 功能,查找 S32K144 的 IO 口复用表格
S32K144_IO_Signal_Description_Input_Multiplexing 来确定复用功能项,这里是 ALT4。

 

 

(4)修改 Pinmux 设置,设置 PTD2&PTD3 复用 ALT4 功能。

 

 

2、配置 LPI2C 端口

(1)LPI2C 只有一组两对,PTA2 & PTA3 和 PTB6 & PTB7。

 

 

(2)但是其中 PTB6 & PTB7 用来连接晶振,所以 LPI2C 继续使用 PTA2 & PTA3。

 

 

3、FlexIO I2C & LPI2C 硬件连接



(1)找到 FlexIO I2C 使用的 PTD2(SDA) 和 PTD3(SCL) 对应的 J18 排母的 3、4 号孔。

 

 

(2)找到 LPI2C 使用的 PTA2(SDA) 和 PTA3(SCL) 对应的 J18 排母的 5、6 号孔。

 

 

(3)如下是 Echoes 板上 FlexIO I2C 与 LPI2C 的硬件连接,上侧是 LPI2C,下侧是 FlexIO I2C。

 

 

4、代码的编译下载

(1)首先连接 J-LINK 调试器,调试器右侧接电脑,左侧接 Echoes 开发板。

 

 

(2)完成 FlexIO I2C和 LPI2C 配置修改之后保存,点击小锤子选择 “Debug_FLASH” 进行编译。

 


(3)选择小虫子,选择 “Debug Confiigurations” 进行下载及 Debug 配置。

 

 

(4)双击 “GDB SEGGER J-LINK Debugging” 会为当前 Project 的生成一份配置。

 

     

 

(5)在 main 页签中,选择需要进行下载和 Debug 的 .elf 格式可执行文件。

 

 

(6)在 Debugger 页签,确认“Device name” 为 S32K144, 再点击右下角 Debug 进行下载,同时会进入 Debug 模式。

 

 

(7)如下是打开的 Debug 页面,左下代码前鼠标双击即可打断点,上面黄绿色箭头是全速运行程序,右侧几个按键是单步调试。

 

 

5、I2C 通讯波形测试

(1)在右侧面包板给 I2C 接了 2k 的上拉,波形会更加清晰,然后接上示波器查看波形。

 

 

(2)连接好示波器的探头之后,用示波器可以抓取到两次通讯。

 

 

(3)分析第一段波形,7bit 地址为 0x25,发送的数据为 0x01~0x07。

 

 

        在 flexio_i2c_s32k144_TEST\Generated_Code\flexio_i2c.c 文件中,给 Master 填充的地址为 37U ,注意这里是 10 进制数,转换为 16 进制数就是 0x25,符合如上波形。

 

 

        根据 main.c 的代码来看,Master Buffer 在发送前,填充的确实是 0 到 7 这八个数据。

 

 

 

(4)再分析第二段波形,7bit 地址为 0x25,接收的数据是 0x08~0x01。

 

 

        从 main.c 的代码中看到,接收 Slave 的数据之前,给 Slave Buffer填充的确实是 8~1,符合如上波形。

 

 

 

 


参考资料

[1] 04.SCH - P20-033 Echoes(FS32K144 Demo Board)_Jadyn Li_20210107

[1] NXP S32K144 - Echoes 开发板操作手册_Jadyn Li_2021.02.22.pdf

[2] PS32K144HFT0VLLT-datasheet-pdf

[3] S32K144RM_Rev1_DraftH.pdf

上一篇:基于 Echoes 的 S32K144 UART 调试
下一篇:基于 Echoes 的 Clock 模块调试

相关视频

基于 S32K144 的 Echoes 开发板 I2C 例程演示

介绍了 S32K144 的 I2C 通讯例程,并使用示波器进行测量和分析。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论