Infineon XC161CJ-16F:高性能16位单片机的全方位解析

电子说

1.4w人已加入

描述

Infineon XC161CJ-16F:高性能16位单片机的全方位解析

在电子设计领域,高性能单片机一直是工程师们关注的焦点。今天就来深入探讨一下英飞凌(Infineon)的XC161CJ-16F 16位单片机,这款产品基于C166SV2内核,具备众多强大特性,能满足多种复杂应用需求。

文件下载:XC161CJ16F40FBBFXQMA1.pdf

一、产品概述与特性总结

1.1 高性能CPU

XC161CJ-16F拥有一个高性能的16位CPU,采用5级流水线设计。在40MHz的CPU时钟下,指令周期时间仅为25ns,可实现单周期执行。其具备1周期乘法(16×16位)、后台除法(32/16位,21个周期)、1周期乘加(MAC)指令等强大运算能力。同时,增强的布尔位操作功能、零周期跳转执行、支持高级语言(HLL)和操作系统的额外指令,以及基于寄存器的设计和快速上下文切换支持,使其在运算和控制方面表现卓越。其16MB的线性地址空间为代码和数据提供了充足的存储容量。

1.2 丰富的外设

  • 中断系统:拥有16优先级级别的中断系统,73个中断源,采样率低至50ns。通过外设事件控制器(PEC)实现8通道中断驱动的单周期数据传输,24位指针可覆盖整个地址空间。
  • 时钟生成:可通过片上PLL(系数1:0.15…1:10)或预分频器(系数1:1…60:1)生成时钟。
  • 片上内存:包括2KB片上双端口RAM(DPRAM)、4KB片上数据SRAM(DSRAM)、2KB片上程序/数据SRAM(PSRAM)和128KB片上程序内存(闪存)。
  • 片上外设:12通道A/D转换器,可编程分辨率(10位或8位)和转换时间(低至2.55µs或2.15µs);两个16通道通用捕获/比较单元(32个输入/输出引脚);多功能通用定时器单元,包含5个定时器;两个同步/异步串行通道(USARTs);两个高速同步串行通道;片上TwinCAN接口(Rev. 2.0B active),两个CAN节点上有32个消息对象,具备网关功能;串行数据链路模块(SDLM),符合J1850标准,支持Class 2;IIC总线接口(10位寻址,400kbit/s),3个通道(复用);片上实时时钟,由专用振荡器驱动。

1.3 其他特性

  • 外部总线:支持高达12MB的外部地址空间,可编程外部总线特性,包括多复用或解复用的外部地址/数据总线、可选的地址总线宽度、16位或8位数据总线宽度、五个可编程芯片选择信号,以及Hold和Hold - Acknowledge总线仲裁支持。
  • I/O端口:多达99个通用I/O线,部分具有可选的输入阈值和迟滞。
  • 开发支持:片上引导加载器,支持多种开发工具,如C编译器、宏汇编器包、仿真器、评估板、HLL调试器、模拟器、逻辑分析仪反汇编器、编程板等。
  • 调试支持:通过JTAG接口提供片上调试支持。
  • 封装:采用144引脚的绿色TQFP封装,0.5mm(19.7mil)间距,符合RoHS标准。

二、具体功能模块解析

2.1 内存子系统和组织

XC161的内存空间采用冯·诺依曼架构,所有内部和外部资源都组织在同一个线性地址空间内,共16MB,分为256个64KB的段,每个段由四个16KB的数据页组成。内部数据内存区域和特殊功能寄存器区域(SFR和ESFR)映射到段0(系统段)。

  • 程序管理单元(PMU):处理所有代码提取,控制对程序内存(如闪存和PSRAM)的访问。
  • 数据管理单元(DMU):处理所有数据传输,控制对DSRAM和片上外设的访问。
  • 片上闪存:128KB的片上闪存用于存储代码或常量数据,组织为四个8KB扇区、一个32KB扇区和一个64KB扇区,每个扇区可单独写保护、擦除和编程,整个闪存区域可进行读保护。
  • 其他内存:2KB的PSRAM用于存储用户代码或数据,4KB的DSRAM用于存储通用用户数据,2KB的DPRAM用于存储用户定义变量、系统堆栈和通用寄存器组。

2.2 外部总线控制器(EBC)

EBC可将外部内存访问模式编程为单芯片模式或四种不同的外部内存访问模式,包括16…24位地址、16位数据的解复用或复用模式,以及16…24位地址、8位数据的解复用或复用模式。可生成多达5个外部(overline{CS})信号,支持通过“Ready”功能访问慢速内存或具有不同访问时间的模块,具备HOLD/HLDA总线仲裁协议,可通过寄存器对外部总线接口的重要时序特性进行编程,还可定义多达4个独立的地址窗口。

2.3 中央处理单元(CPU)

CPU的核心由一个5级执行流水线和一个2级指令提取流水线、一个16位算术逻辑单元(ALU)、一个32位/40位乘加单元(MAC)、一个提供三个寄存器组的寄存器文件和专用SFR组成。大多数指令可在一个机器周期内执行,如移位和旋转指令、乘法和大多数MAC指令。CPU有一个寄存器上下文,最多包含三个寄存器组,每个组有16个16位通用寄存器(GPR)。系统堆栈最多可存储32K字,通过堆栈指针(SP)寄存器访问。

2.4 中断系统

XC161的中断响应时间通常为8个CPU时钟,支持多种快速灵活的响应机制。中断请求可由中断控制器或外设事件控制器(PEC)处理。PEC服务可在一个周期内完成单字节或字的数据传输,XC161有8个PEC通道。每个中断节点有一个单独的控制寄存器,可将其编程为16个中断优先级级别之一。还提供快速外部中断输入和软件中断支持。同时,XC161具备硬件陷阱机制,用于处理运行时的异常或错误条件。

2.5 片上调试支持(OCDS)

OCDS提供了广泛的调试和仿真功能,可在目标系统环境中调试运行在XC161上的用户软件。通过符合IEEE - 1149的JTAG端口和中断接口,外部调试设备可控制OCDS。支持多个断点触发、单步执行、注入任意指令以及对整个内部地址空间的读写访问。

2.6 捕获/比较单元(CAPCOM1/2)

CAPCOM单元支持在多达32个通道上生成和控制时序序列,最大分辨率为1个系统时钟周期(交错模式下为8个周期)。四个16位定时器(T0/T1,T7/T8)提供两个独立的时基,输入时钟可编程为内部系统时钟的多个预分频值,或来自GPT2模块中定时器T6的溢出/下溢。每个模块有16个双用途捕获/比较寄存器,可单独分配给定时器并编程为捕获或比较功能。

2.7 通用定时器(GPT12E)单元

GPT12E单元是一个灵活的多功能定时器/计数器结构,包含五个16位定时器,分为GPT1和GPT2两个模块。每个定时器可独立操作或与同一模块中的其他定时器级联。GPT1模块中的定时器T2、T3、T4可配置为四种基本操作模式:定时器、门控定时器、计数器和增量接口模式。GPT2模块提供精确的事件控制和时间测量,其定时器T5和T6的计数方向可编程,可通过外部信号动态改变。

2.8 实时时钟(RTC)

RTC模块由单独的时钟驱动,可使用片上辅助振荡器频率或预分频后的片上主振荡器频率。它由一系列分频器块组成,所有定时器向上计数,每个定时器可生成中断请求。RTC可用于确定当前时间和日期、提供系统时间滴答、进行长期测量以及设置闹钟中断。

2.9 A/D转换器

片上集成了一个10位A/D转换器,具有12个复用输入通道和采样保持电路,采用逐次逼近法。采样时间和转换时间可编程,支持四种转换模式:标准单通道转换、单通道连续转换、自动扫描和自动扫描连续转换,还支持通道注入模式。具备溢出错误检测/保护功能,可通过PEC自动将转换结果存储到内存中。ADC在每次复位和正常操作时自动执行校准周期,可通过软件控制将模拟输入引脚与数字IO或输入级断开,具有自动掉电功能以降低功耗。

2.10 异步/同步串行接口(ASC0/ASC1)

ASC0/ASC1提供与其他微控制器、处理器、终端或外部外设组件的串行通信,向上兼容英飞凌8位微控制器系列的串行端口,支持全双工异步通信和半双工同步通信。有一个专用的波特率发生器,可精确生成所有标准波特率。提供5个独立的中断向量用于传输、接收、错误处理和波特率检测。

2.11 高速同步串行通道(SSC0/SSC1)

SSC0/SSC1支持全双工和半双工同步通信,可与串行连接的外设组件接口,支持完整的SPI功能。有一个专用的波特率发生器,可设置所有标准波特率。提供三个独立的中断向量用于传输、接收和错误处理。

2.12 串行数据链路模块(SDLM)

SDLM通过外部J1850总线收发器在J1850类型的复用串行总线上提供串行通信,符合SAE Class B J1850规范(VPW),支持Class 2协议,具有可变脉冲宽度(VPW)操作和高速4X操作,具备可编程归一化位、可编程延迟、数字噪声滤波器、掉电模式和自动唤醒支持等功能。

2.13 TwinCAN模块

TwinCAN模块可根据CAN规范V2.0 part B(active)自主处理CAN帧的传输和接收,两个Full - CAN节点共享资源,提供多达32个消息对象,可分配给CAN节点并组合成FIFO结构,每个对象有单独的接受过滤掩码。具备网关功能,可实现两个独立CAN总线系统之间的自动数据交换。

2.14 IIC总线模块

IIC总线模块可根据IIC总线规范处理两线IIC总线上的帧传输和接收,可在从模式、主模式或多主模式下运行,支持7位或10位寻址,最多可在扩展缓冲区中存储4个发送/接收数据字节。

2.15 看门狗定时器

看门狗定时器是一种故障安全机制,芯片复位后始终启用,可在执行EINIT指令前禁用(兼容模式),或通过执行DISWDT和ENWDT指令随时禁用和启用。软件需在其溢出前重启定时器,否则会产生内部硬件复位并拉低RSTOUT引脚。

2.16 时钟生成

时钟生成单元使用可编程的片上PLL和多个预分频器生成时钟信号,主时钟(f{MC})是参考时钟信号,用于TwinCAN并输出到外部系统。CPU时钟(f{CPU})和系统时钟(f_{sys})可直接从主时钟获得或通过2:1预分频器获得。片上振荡器可驱动外部晶体或接受外部时钟信号,PLL可在旁路模式下提供独立时钟以监控振荡器时钟信号,振荡器看门狗可在振荡器时钟缺失时提供紧急时钟。

2.17 并行端口

XC161提供多达99个I/O线,分为九个输入/输出端口和一个输入端口。所有端口线可按位寻址,输入/输出线可通过方向寄存器单独编程为输入或输出。部分I/O端口的输出驱动器可配置为推挽或开漏操作,端口的输入阈值可选(TTL或类似CMOS),所有端口线都有可编程的备用输入或输出功能。

2.18 电源管理

XC161提供多种电源管理机制,包括电源节省模式(空闲模式、睡眠模式和掉电模式)、时钟生成管理和外设管理。片上RTC支持间歇性操作,通过生成周期性唤醒信号,在保证系统快速响应的同时降低平均功耗。

2.19 指令集

XC161的指令集包括标准算术指令、DSP导向的算术指令、逻辑指令、布尔位操作指令、比较和循环控制指令、移位和旋转指令、优先级指令、数据移动指令、系统堆栈指令、跳转和调用指令、返回指令、系统控制指令和杂项指令等。基本指令长度为2或4字节,提供多种寻址模式。

三、电气参数

3.1 绝对最大额定值

包括存储温度、结温、各引脚电压、输入电流等参数的限制,超过这些值可能会对设备造成永久性损坏。

3.2 工作条件

规定了数字核心电源电压、IO焊盘电源电压、电源电压差、数字地电压、过载电流、外部负载电容和环境温度等参数的范围,以确保XC161的正确运行。

3.3 DC参数

包括输入低电压、输入高电压、输入迟滞、输出低电压、输出高电压、输入泄漏电流、配置上拉/下拉电流、电平保持电流、XTAL1/XTAL3输入电流和引脚电容等参数。

3.4 模拟/数字转换器参数

涉及A/D转换器的模拟参考电源、模拟参考地、模拟输入电压范围、基本时钟频率、转换时间、校准时间、总未调整误差、电容和电阻等参数。

3.5 AC参数

  • 内部时序定义:内部操作由内部主时钟(f{MC})控制,(f{MC})可通过不同机制从振荡器时钟信号(f{osc})生成。CPU和EBC由CPU时钟(f{CPU})时钟,其他外设由系统时钟(f{sys})时钟。PLL操作会导致(f{MC})的抖动,影响TCP的持续时间。
  • 片上闪存操作:闪存模块在固定访问时间内提供数据,访问时间、编程时间和擦除时间与系统频率有关。
  • 外部时钟驱动XTAL1:规定了振荡器周期、高时间、低时间、上升时间和下降时间等参数。
  • 测试波形:说明了输入输出波形的参考时间和浮动波形的判断标准。
  • 外部总线时序:包括CLKOUT参考信号的周期、高时间、低时间、上升时间和下降时间,以及外部总线周期的各个阶段的可编程持续时间和相关的输出延迟、输出保持时间、输入建立时间和输入保持时间等参数。还介绍了通过READY输入控制总线周期和外部总线仲裁的时序。

四、封装和可靠性

4.1 封装

提供了绿色封装PG - TQFP - 144 - 7和标准封装P - TQFP - 144 - 19的热阻参数和封装外形尺寸。

4.2 闪存内存参数

闪存的数据保留时间取决于擦除和编程次数,规定了10³次擦除/编程周期下的数据保留时间和5年数据保留时间下的闪存擦除耐久性。

英飞凌的XC161CJ-16F单片机凭借其高性能的CPU、丰富的外设、灵活的电源管理和完善的调试支持等特性,在工业控制、汽车电子等众多领域具有广阔的应用前景。工程师们在设计过程中,可根据具体需求充分利用其各项功能,打造出高效、稳定的电子系统。大家在使用这款单片机的过程中,有没有遇到过什么有趣的问题或者独特的应用案例呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分