h1654155282.3538
2025-12-19
40
加入交流群
描述
汽车级PSoC™ 4:PSoC™ 4000S系列深度剖析
在如今的电子设计领域,汽车级芯片的性能和可靠性至关重要。PSoC™ 4000S系列作为基于Arm® Cortex® - M0+ CPU的可编程嵌入式系统控制器,以其可扩展性、可重构性以及丰富的功能特性,在汽车电子等领域展现出了强大的竞争力。今天,我们就来深入探讨一下这款芯片。
文件下载:Infineon Technologies 汽车PSOC™ 4000S.pdf
一、总体概述
PSoC™ 4是一个可扩展且可重构的平台架构,适用于一系列基于Arm® Cortex® - M0+ CPU的可编程嵌入式系统控制器,并且符合AEC - Q100标准。它将可编程和可重构的模拟与数字模块相结合,具备灵活的自动布线功能。PSoC™ 4000S产品系列是PSoC™ 4平台架构的一员,它融合了带有标准通信和定时外设的微控制器、具有一流性能的电容式触摸感应系统(CAPSENSE™)、可编程通用连续时间和开关电容模拟模块以及可编程连接功能。而且,PSoC™ 4000S产品在新应用和设计需求方面与PSoC™ 4平台的其他成员向上兼容。
二、功能特性亮点
2.1 符合汽车电子标准
通过了汽车电子委员会(AEC)的AEC - Q100认证,这意味着它能够在汽车等对可靠性要求极高的环境中稳定工作。
2.2 强大的32位MCU子系统
采用48 - MHz的Arm® Cortex® - M0+ CPU,搭配高达32 KB的带读取加速器的闪存和高达4 KB的SRAM,为系统提供了高效的运算和数据存储能力。
2.3 可编程模拟模块
- 电容感应模块提供单斜率10位ADC功能。
- 任意引脚都可使用两个电流DAC(IDACs),适用于通用或电容感应应用。
- 两个低功耗比较器可在深度睡眠低功耗模式下工作,有效降低系统功耗。
2.4 可编程数字模块
可编程逻辑块允许对端口输入和输出执行布尔运算,为数字逻辑设计提供了极大的灵活性。
2.5 低功耗运行
支持1.71 - V至5.5 - V的宽电压范围运行,深度睡眠模式下模拟模块仍可工作,数字系统电流仅为2.5 µA,非常适合对功耗敏感的应用。
2.6 出色的电容感应能力
电容式sigma - delta(CSD)提供一流的信噪比(SNR)(>5:1)和防水能力。英飞凌提供的软件组件使电容感应设计变得简单,同时还具备自动硬件调谐(SmartSense)功能。
2.7 丰富的串行通信功能
拥有两个独立的运行时可重构串行通信块(SCBs),可配置为I2C、SPI或UART功能,满足不同的通信需求。
2.8 LCD驱动能力
GPIO引脚具备LCD段驱动能力,方便实现显示功能。
2.9 定时和脉宽调制功能
五个16位定时器/计数器/脉宽调制器(TCPWM)块,支持中心对齐、边缘和伪随机模式,还可基于比较器触发Kill信号,适用于电机驱动等高可靠性数字逻辑应用。
2.10 多达24个可编程GPIO引脚
提供24 - 引脚QFN和28 - 引脚SSOP封装,任何GPIO引脚都可作为CAPSENSE™、模拟或数字引脚使用,驱动模式、强度和压摆率均可编程。
2.11 优秀的开发环境
- PSoC™ Creator设计环境:集成开发环境(IDE)提供原理图设计输入和构建功能(带有模拟和数字自动布线),并为所有固定功能和可编程外设提供应用编程接口(API)组件。
- 行业标准工具兼容性:原理图输入后,可使用基于Arm®的行业标准开发工具进行开发。
2.12 宽温度范围支持
提供A - Grade(–40°C至 + 85°C)、E - Grade(–40°C至 + 125°C)和S - Grade(–40°C至 + 105°C)三种温度等级,适应不同的工作环境。
三、功能模块详细解析
3.1 CPU和内存子系统
- CPU:Cortex® - M0+ CPU是32位MCU子系统的核心,针对低功耗操作进行了优化,大多数指令为16位长度,执行Thumb - 2指令集的子集。它包含一个带有八个中断输入的嵌套向量中断控制器(NVIC)块和一个唤醒中断控制器(WIC),WIC可在深度睡眠模式下唤醒处理器,降低功耗。
- Flash:带有闪存加速器的闪存模块与CPU紧密耦合,可提高闪存块的平均访问时间。低功耗闪存块在48 MHz下提供两个等待状态(WS)的访问时间,闪存加速器平均可提供85%的单周期SRAM访问性能。
- SRAM:提供4 KB的SRAM,在48 MHz下零等待状态访问。
- SROM:包含引导和配置例程的监控ROM。
3.2 系统资源
- 电源系统:确保各模式下电压水平符合要求,在电压不满足正常功能要求时,会延迟模式进入或生成复位信号。PSoC™ 4000S可使用1.8 V ±5%(外部调节)或1.8至5.5 V(内部调节)的单外部电源供电,具备活动、睡眠和深度睡眠三种低功耗模式。
- 时钟系统:负责为所有需要时钟的子系统提供时钟,并在不同时钟源之间无干扰切换。它由内部主振荡器(IMO)、内部低频振荡器(ILO)、32 kHz手表晶体振荡器(WCO)和外部时钟组成,还提供时钟分频器以生成精细粒度的外设时钟。
- IMO时钟源:是PSoC™ 4000S内部时钟的主要来源,测试时进行校准以达到指定精度。默认频率为24 MHz,可在24至48 MHz之间以4 MHz为步长进行调整,采用英飞凌提供的校准设置时,公差为±2%。
- ILO时钟源:是一个非常低功耗、标称频率为40 - kHz的振荡器,主要用于为看门狗定时器(WDT)和深度睡眠模式下的外设操作生成时钟。ILO驱动的计数器可根据IMO进行校准以提高精度,英飞凌提供相应的软件组件进行校准。
- WCO:实现了一个低频(32 - kHz手表晶体)振荡器,可用于精密定时应用。
- 看门狗定时器:在时钟块中运行,基于ILO工作,允许在深度睡眠模式下工作。如果在设置的超时时间内未得到服务,将生成看门狗复位信号,并记录在复位原因寄存器中,可由固件读取。
- 复位:可通过多种源进行复位,包括软件复位。复位事件是异步的,确保系统恢复到已知状态。复位原因记录在一个寄存器中,该寄存器在复位过程中保持有效,允许软件确定复位原因。XRES引脚用于外部复位,低电平有效,内部上拉电阻始终启用。
- 电压参考:参考系统生成所有内部所需的参考电压,为比较器提供1.2 - V的电压参考,IDACs基于±5%的参考电压。
3.3 模拟模块
- 低功耗比较器(LPC):有一对低功耗比较器,可在深度睡眠模式下工作,允许在低功耗模式下禁用模拟系统模块的同时,仍能监控外部电压水平。比较器输出通常进行同步以避免亚稳态,除非在异步电源模式下,系统唤醒电路由比较器开关事件激活。LPC输出可路由到引脚。
- 电流DACs:有两个IDACs,可驱动芯片上的任何引脚,电流范围可编程。
- 模拟多路复用总线:有两个同心独立总线环绕芯片外围,通过固件可编程模拟开关连接到芯片的内部资源(IDACs、比较器)和I/O端口上的任何引脚。
3.4 可编程数字块
可编程I/O(Smart I/O)块由开关和查找表(LUT)组成,允许对路由到GPIO端口引脚的信号执行布尔函数,可对芯片的输入引脚和输出信号进行逻辑操作。
3.5 固定功能数字块
- Timer/Counter/PWM(TCPWM)块:由一个16位计数器组成,周期长度可由用户编程。包含捕获寄存器、周期寄存器和比较寄存器,可生成PWM占空比输出,还提供真输出和互补输出,可编程偏移量用于死区可编程互补PWM输出。此外,还有一个Kill输入,可强制输出到预定状态,例如在电机驱动系统中检测到过流状态时,可立即关闭驱动FET的PWM信号,无需软件干预。PSoC™ 4000S中有五个TCPWM块。
- 串行通信块(SCB):有两个串行通信块,可编程为SPI、I2C或UART功能。
- I2C模式:硬件I2C块实现了完整的多主和从接口,支持多主仲裁,最高速度可达1 Mbps(快速模式加),具有灵活的缓冲选项以减少CPU的中断开销和延迟。还支持EZI2C,在PSoC 4000S的内存中创建邮箱地址范围,有效将I2C通信简化为对内存数组的读写操作。此外,该块支持8级深度的FIFO用于接收和发送,大大减少了由于CPU未能及时读取数据而导致的时钟拉伸需求。
- UART模式:是一个全功能UART,最高运行速度可达1 Mbps,支持汽车单线接口(LIN)、红外接口(IrDA)和智能卡(ISO7816)协议,以及9位多处理器模式,允许对通过公共RX和TX线连接的外设进行寻址。支持常见的UART功能,如奇偶校验错误、中断检测和帧错误检测,8级深度的FIFO允许更大的CPU服务延迟。
- SPI模式:支持全摩托罗拉SPI、TI SSP和国家微线(半双工形式的SPI),SPI块可使用FIFO。
3.6 GPIO
PSoC™ 4000S最多有24个GPIO,具有以下特点:
- 八种驱动模式:包括模拟输入模式、仅输入模式、各种上拉和下拉组合模式。
- 输入阈值选择:可选择CMOS或LVTTL输入阈值。
- 独立控制:除了驱动强度模式外,还可独立控制输入和输出缓冲器的启用/禁用。
- 可选压摆率:用于控制dV/dt相关噪声,改善电磁干扰(EMI)。
引脚组织成称为端口的逻辑实体,宽度为8位(端口2和3除外)。上电和复位时,块强制进入禁用状态,以避免对任何输入进行短路和/或导致过大的开启电流。高速I/O矩阵用于在可能连接到I/O引脚的各种信号之间进行多路复用。数据输出和引脚状态寄存器分别存储要驱动到引脚的值和引脚本身的状态。每个I/O引脚可根据需要启用中断,每个I/O端口都有一个中断请求(IRQ)和中断服务例程(ISR)向量(PSoC™ 4000S有5个)。
3.7 特殊功能外设
- CAPSENSE™:通过电容式sigma - delta(CSD)块支持,可通过模拟多路复用总线和模拟开关连接到任何引脚,在软件控制下可为系统中的任何可用引脚或引脚组提供CAPSENSE™功能。PSoC™ Creator提供了相应的组件,方便用户使用。通过在另一个模拟多路复用总线上驱动屏蔽电压,可提供防水能力,还可实现接近感应功能。CAPSENSE™块有两个IDACs,在不使用CAPSENSE™或使用CAPSENSE™但不具备防水功能时,可用于通用目的。此外,该块还提供10位斜率ADC功能,可与CAPSENSE™功能结合使用。它是一个先进、低噪声、可编程的块,具有可编程的电压参考和电流源范围,以提高灵敏度和灵活性,还可使用外部参考电压。采用全波CSD模式,交替感应到VDDA和地,以消除与电源相关的噪声。
- LCD段驱动:有一个LCD控制器,可驱动多达4个公共端和20个段,采用全数字方法驱动LCD段,无需生成内部LCD电压。使用数字相关和PWM两种方法,数字相关方法适用于STN显示器,但可能会降低TN(较便宜)显示器的对比度;PWM方法功耗较高,但在驱动TN显示器时效果更好。LCD操作在深度睡眠模式下支持刷新一个小的显示缓冲区(4位;每个端口1个32位寄存器)。
四、引脚布局与功能
4.1 引脚列表
提供了24 - 引脚QFN和28 - 引脚SSOP封装的引脚列表,所有端口引脚都支持GPIO功能。不同封装的引脚对应关系如下表所示:
| 24 - QFN |
|
28 - SSOP |
|
| Pin |
Name |
Pin |
Name |
| 13 |
P0.0 |
19 |
P0.0 |
| 14 |
P0.1 |
20 |
P0.1 |
|
21 |
PO.2 |
|
22 |
P0.3 |
| 15 |
P0.4 |
|
|
| 16 |
P0.5 |
|
|
| 17 |
P0.6 |
23 |
P0.6 |
|
24 |
P0.7 |
| 18 |
XRES |
25 |
XRES |
| 19 |
VCCD |
26 |
VCCD |
| 20 |
VSSD |
27 |
VSS |
| 21 |
VDD |
28 |
VDD |
| 22 |
VSSA |
|
|
|
1 |
P1.0 |
|
2 |
P1.1 |
| 23 |
P1.2 |
3 |
P1.2 |
| 24 |
P1.3 |
4 |
P1.3 |
|
5 |
P1.4 |
| 1 |
P1.7 |
6 |
P1.7 |
| 2 |
P2.0 |
|
|
| 3 |
P2.1 |
|
|
|
7 |
P2.4 |
|
8 |
P2.5 |
| 4 |
P2.6 |
9 |
P2.6 |
| 5 |
P2.7 |
10 |
P2.7 |
| 6 |
P3.0 |
11 |
P3.0 |
|
12 |
P3.1 |
| 7 |
P3.2 |
13 |
P3.2 |
| 8 |
P3.3 |
14 |
P3.3 |
| 9 |
P4.0 |
15 |
P4.0 |
| 10 |
P4.1 |
16 |
P4.1 |
| 11 |
P4.2 |
17 |
P4.2 |
| 12 |
P4.3 |
18 |
P4.3 |
4.2 引脚功能描述
- 电源引脚:VDDD为数字部分供电,VDDA为模拟部分供电,VSSD和VSSA分别为数字和模拟部分的接地引脚,VCCD为调节后的数字电源(1.8 V ±5%),在某些封装中,VDDA和VDDD内部短路并作为单个电源VDD引出,VSSA和VSSD内部短路并作为单个接地VSS引出。
- 备用引脚功能:每个端口引脚可分配多种功能,如模拟I/O、数字外设功能、LCD引脚或CAPSENSE™引脚,具体引脚分配如下表所示:
| Port/ pin |
Analog |
Smart I/O |
Alternate function 1 |
Alternate func - tion 2 |
Alternate func - tion 3 |
Deep Sleep 1 |
Deep Sleep 2 |
| P0.0 |
lpcomp.in_p[0] |
tcpwm.tr_in[0] |
scb[0].spi_se - lect1:0 |
|
|
|
|
| P0.1 |
lpcomp.in_n[0] |
tcpwm.tr_in[1] |
scb[0].spi_se - lect2:0 |
|
|
|
|
| P0.2 |
lpcomp.in_p[1] |
|
scb[0].spi_se - lect3:0 |
|
|
|
|
| P0.3 |
lpcomp.in_n[1] |
|
|
|
|
|
|
| P0.4 |
wco.wco_in |
|
scb[1].uart_rx:0 |
scb[1].i2c_scl:0 |
scb[1].spi_mosi:1 |
|
|
| P0.5 |
wco.wco_out |
|
scb[1].uart_tx:0 |
scb[1].i2c_sda:0 |
scb[1].spi_miso:1 |
|
|
| P0.6 |
srss.ext_clk |
|
scb[1].uart_cts:0 |
scb[1].spi_clk |
打开APP阅读更多精彩内容