全部
  • 全部
  • 解决方案
  • 技术问答
  • 视频中心
  • 知识分享
  • 技术资讯
  • SEED产品
400-048-1230
订阅
  • 首页
  • 解决方案
  • 技术问答
  • 视频中心
  • 知识分享
  • 技术资讯
  • SEED产品
英飞凌Aurix系列MCU SPI接口简单应用配置
来源:Arrow 发布:2023/03/14 浏览量:381

AURIX™ TriCore™ 在单个MCU中集成了一个RISC处理器内核、一个微控制器和一个DSP

英飞凌Aurix系列MCU性能及特点

 

AURIX™ TriCore™ 在单个MCU中集成了一个RISC处理器内核、一个微控制器和一个DSP。并且采用了哈佛构架,将程序指令和数据分开存储,就像高速公路采用双向多车道,数据的吞吐量与处理效率大大提高,在正常情况下用户程序的一条指令集都是在一个时钟周期内完成的,并且0开消循环,这些特点是非常适合作为对实时性要求非常高的程序运行的平台环境。

 

同时,这条产品线又可衍生出高效核1.6E与高性能核1.6P各种组合的多核产品,又可兼顾各种应用的成本。因此AURIX™ TriCore™  产品在汽车中的应用非常广泛,包括内燃机控制、纯电动和混合动力汽车、变速器控制单元、底盘域、制动系统、电动转向系统、安全气囊、联网和高级驾驶辅助系统,并推动着自动化,电动化以及网联化的发展。AURIX™ 系列还适用于工业应用领域,在优化电机控制应用和信号处理方面非常具有领先性。

   

 

英飞凌广泛的产品组合使得工程师能根据自己所需的存储器、外设、频率、温度和封装挑选合适的产品。并且,所有这些在不同的产品间都具有很高的兼容性。以下为第二代Aurix TC3XX基本选型基本技术参数表。

 

SPI通信工作原理

 

SPI接口的全称是Serial Peripheral Interface,意为串行外围接口,是Motorola首先在其MC68HXX系列处理器上定义的。SPI接口主要应用在传感器,EEPROM,FLASH,实时时钟,AD转换器,还广泛应用于数字信号处理器和数字信号解码器之间。

 

1. SPI硬件接口

 

SPI接口是在CPU与外围低速器件之间进行同步串行数据传输,在主机的移位脉冲下,数据按位传输,为全双工通道,其传输速度总体而言比IIC要快。SPI通信是以主从方式工作的,这种模式通常有一个器件和一个或多个从器件,其接口包括以下四种信号:(以英飞凌Aurix系列MCU TC387和ST 三轴加速度传感器 IIS3DWB一个汽车底盘域应用为例说明)。

  1. CS — 片选信号,由主机TC387的P20.8引脚提供

  2. SCL — 时钟信号,由主机TC387的P20.10产生

  3. MISO  主机TC387的P15.1引脚数据输入,从机SDO数据输出

  4. MOSI  主机TC387的P15.0数据输出,从机SDI设备数据输入

         

另外TC387 P10.7和P10.8作为外部中断输入口来响应传感器IIS3DWB IN0,IN1产生的两个可设定中断事件电平信号。如传感器数据准备完毕,睡眠/唤醒,溢出等事件的处理。                          

 

2. SPI读写时序控制

 

SPI底层驱动的基本功能就是实现读寄存器和写寄存器的操作。之后才能根据芯片的功能设计,配置芯片正常工作。而读写操作可以直接查看芯片手册中介绍SPI收发时序的章节,下图为ST三轴加速度传感器IIS3DWB的SPI控制时序:

         

以IIS3DWB为例,介绍时序图中的关键参数:

 

  • 波特率设置:不同芯片所能提供的最大波特率不同,需要参照芯片数据手册。

         

上表是IIS3DWB的数据手册,其能支持的最小始终频率为100ns,对应的波特率为10MHz。(Aurix TC387 ASCLIN_SPI 最大为50MHz)

 

  • 每帧的数据个数:不同的芯片每一帧组织的数据位数不同,IIS3DWB为16位数据传输

  • 片选信号的高/低位有效性:不同芯片的片选信号有效性可能不一样。有些芯片在片选信号为低的时候才能传输数据,有些则为高的时候传输数据。IIS3DWB是低电平有效。在不进行数据传输的时候(IDLE状态)应该为高电平

     

  • 数据的捕获和数据传输对应的SPC/SCLK的高/低电平:上图,可以看到对应于时钟信号的下降沿,而数据转换的时候对应于数据的下降沿/上升沿。(这在上面的时序图中也有阐述,但是有些规格数据手册写的比较简单,但我们依然需要学会看时序图并与示波器或逻辑分析仪的波形数据对比来验证设备通信硬件连接是否正常可靠)

 

AURIX™ Development Studio软件编译器简介与SPI的配置

 

1. AURIX™ Development Studio 简称:ADS,它是一个免费为初级阶段的开发者提供了简易的开发包的集成开发环境(IDE),包括Eclipse IDE、C编译器、多核调试器、英飞凌低层驱动程序(iLLD),没有时间和代码大小限制,允许编辑、编译和调试应用程序代码。结合大量的代码示例项目,该IDE可以用来评估AURIX™微控制器家族强大的体系结构,方便好用。

 

官方下载链接:

AURIX™ Development Studio - Infineon Developer Center

         

2. AURIX™ Development Studio环境配置可参考以下链接文档(选择相应的Aurix MCU型号):

Getting Started with AURIX™ Development Studio Installation and first steps (infineon.com) 

 

3. PinMap设定

 

第一步:使用ASCLIN的SPI功能,将CS(P20.8), SCL(P20.8), MOSI(P15.0) MISO(P15.1), ERUIN0(P10.7), ERUIN0(P10.8)对应MCU引脚设定好。

图片

 

 

 

第二步:对原厂iLLD提供的 IfxAsclin_Spi.h 做一下接口的参数封装代码如下:

 

ASCLIN_SPI_Master.h

 

ASCLIN_SPI_Master.C

         

第三步:写传感器寄存器访问逻辑(读IIS3DWB寄存器地址20H和21H的值)

Cpu0_Main.c


 

第四步:编译及Flash写入程序。

 

第五步:启动程序调试,用示波器或逻辑分析仪检测查看波形

(黄色为CS,绿色为主机输出)

 

(黄色主机发送,绿色主机接收,相位没调,实际相差8个bit时间)

 

Infineon 汽车电子
请使用浏览器分享功能 请点击右上角,进行分享