XS1-A8A-64-FB96:高性能多核心微控制器的深度剖析
在嵌入式应用的领域中,多核心微控制器正扮演着越来越重要的角色。今天,我们就来深入探讨一款具有代表性的产品——XS1 - A8A - 64 - FB96,看看它能为我们带来哪些惊喜。
1. 核心特性概览
XS1 - A8A - 64 - FB96属于32位多核心微控制器XS1 - A系列,它将xCORE架构的低延迟和时序确定性带入了主流嵌入式应用。与传统微控制器不同,它能同时执行多个实时任务,并通过高速网络在任务间进行通信。其主要特性包括:
- 多核心架构:拥有8个实时逻辑核心,核心共享高达500 MIPS的处理能力,每个逻辑核心都有保证的吞吐量,还有16x32bit专用寄存器和丰富的指令集。
- 模拟功能:配备12b 1MSPS 4通道SAR模数转换器,能实现高精度的模拟信号转换。
- 电源管理:包含1个LDO和2个DC - DC转换器以及电源管理单元,还有看门狗定时器,保障系统的稳定运行。
- 可编程I/O:拥有42个通用I/O引脚,可灵活配置为输入或输出,支持多种端口类型。
- 通信能力:具备32个通道端,可与其他核心进行通信。
- 内存配置:64KB内部单周期SRAM用于代码和数据存储,8KB内部OTP用于应用启动代码,还有128字节的深度睡眠内存。
- 安全特性:具备编程锁和AES引导加载器,保障系统的安全性。
2. 硬件资源详解
2.1 逻辑核心
该设备的xCORE Tile有8个活跃的逻辑核心,它们通过共享的四级流水线发布指令。当活跃核心不超过4个时,每个核心分配四分之一的处理周期;当超过4个时,每个核心至少分配1/n个周期(n为核心数量)。这种分配方式保证了核心性能的基本下限,但由于I/O延迟等因素,核心的实际性能可能会高于预测值。
2.2 xTIME调度器
xTIME调度器负责处理xCORE Tile资源产生的事件,如通道端、定时器和I/O引脚的事件。它无需RTOS就能确保所有事件得到处理和同步,使得任务可以在各自的逻辑xCORE上独立运行,还可以通过协作式多任务在单个核心上共享一组低优先级任务。
2.3 硬件响应端口
硬件响应端口将xCORE tile连接到一个或多个物理引脚,定义了硬件与软件之间的接口。它提供了1bit、4bit、8bit、16bit和32bit等多种端口类型,所有端口引脚只能提供输出或输入,不同方向的信号不能映射到同一端口。端口逻辑可以驱动引脚高低电平,也可以采样引脚值,并可选择等待特定条件。数据通过FIFO在引脚和核心之间传输,每个端口还有一个16位计数器,可用于控制数据传输时间。
2.4 时钟块
xCORE设备包含一组可编程时钟块,可用于控制端口的执行速率。每个xCORE tile有六个时钟块,第一个时钟块提供tile参考时钟,默认频率为100MHz,其余时钟块可设置不同频率。时钟块可以使用1位端口作为时钟源,以外部应用时钟驱动输入和输出接口。
2.5 通道和通道端
逻辑核心通过通道端之间的点对点连接进行通信。通道端是xCORE tile上的资源,由程序分配,每个通道端有唯一的系统标识符。数据可以在通道端之间同步或异步传输。
2.6 xCONNECT开关和链路
XMOS设备提供可扩展架构,多个xCORE设备可以连接在一起形成一个系统。每个xCORE设备都有xCONNECT互连,通过开关和XMOS链路提供通信基础设施。链路可以根据带宽需求选择2线或5线模式,支持电路交换、流和分组交换数据。
3. 振荡器与PLL
3.1 振荡器
振荡器模块提供了多种时钟源选择:
- 与外部谐振器(晶体或陶瓷)配合的振荡器电路,可为主实时计数器和xCORE Tile提供时钟源。
- 20 MHz硅振荡器,可在无需外部晶体的情况下启动和执行代码。
- 31,250 Hz振荡器,可在低功耗模式下使实时计数器运行。
通过封装引脚、外设寄存器和数字节点控制寄存器可以控制振荡器的选择。
3.2 PLL
PLL用于从低速外部振荡器创建高速处理器时钟。PLL的乘法值可以通过两个MODE引脚选择,并可通过软件更改以调整tile频率或降低功耗。
4. 启动过程
设备通过将RST_N拉低保持复位状态,释放RST_N后开始内部复位过程。大约750,000个输入时钟后,所有GPIO引脚启用内部上拉电阻,处理器根据MODE0和MODE1的设置以相应的时钟速度启动。启动源可以通过MODE[3:2]控制,支持从SPI主设备、xConnect链路或OTP启动。
4.1 从SPI主设备启动
如果设置为从SPI主设备启动,处理器会启用指定的四个引脚,并以2.5 MHz的时钟驱动SPI时钟。发出READ命令,从地址0x000000读取数据。
4.2 从xConnect链路启动
如果设置为从xConnect链路启动,处理器在启动过程开始约200 ns后启用Link B,然后进行一系列操作,包括分配通道端、输入启动映像等。
4.3 从OTP启动
如果启用安全启动,启动映像将从OTP内存的地址0读取。这一特性可用于实现安全引导加载器,从外部闪存加载加密映像,进行解密和CRC检查。
5. 内存管理
5.1 OTP
xCORE Tile集成了8 KB一次性可编程(OTP)内存和安全寄存器,OTP内存分为四个扇区,可用于实现安全引导加载器和存储加密密钥。数据在电源启动时从OTP加载到安全寄存器,其他数据复制到SRAM并首先在处理器上执行。
5.2 SRAM
xCORE Tile集成了一个64KB的SRAM银行,用于指令和数据存储。所有内部内存为32位宽,支持字节、半字或字访问,且在一个tile时钟周期内执行。
5.3 深度睡眠内存
设备包含128字节的深度睡眠内存,用于在睡眠模式下存储状态。该内存是易失性的,设备输入电源移除后数据将丢失。
6. 模数转换器
设备的12位1MSample/秒逐次逼近寄存器(SAR)模数转换器(ADC)有4个输入引脚,通过ADC_SAMPLE引脚控制采样。采样数据通过通道端传输,可选择单个数据包或包含多个连续样本的数据包。ADC使用外部参考电压,通常为3V3。
7. 监督逻辑与能量管理
7.1 监督逻辑
独立的监督电路提供上电复位、欠压保护和看门狗功能,有助于设计出能够优雅故障的系统,同时降低物料清单成本。
7.2 能量管理
设备可以由外部5V核心和3.3V I/O电源或单个3.3V电源供电。包含两个DC - DC降压转换器,可将3.3 - 5V输入电压转换为模拟外设和数字节点所需的1.8V和1.0V电路电压。设备在电源启动和关闭过程中会经历多个状态,可通过一组寄存器进行配置。为了节省电源,设备可以进入深度睡眠模式,此时数字节点和大部分外设将断电。
8. JTAG与调试
JTAG模块可用于加载程序、边界扫描测试、在线源级调试和编程OTP内存。JTAG链结构包含调试TAP、边界扫描TAP和处理器TAP,通过DEBUG_N引脚可以同步多个处理器的调试。
9. 电路板集成与设计建议
9.1 电路板布局
XS1 - A8A - 64 - FB96设备针对低成本PCB布局进行了优化,但需要仔细布局以最大化设备性能。例如,DC - DC转换器的输入和输出引脚需要放置适当的电容和电感,以满足效率要求。
9.2 焊盘图案和焊锡模板
文档提供了基于RoHS合规工艺的焊盘图案建议,最终的焊盘图案和焊锡膏决策由客户负责,应根据制造工艺进行调整。
9.3 接地和热过孔
建议在每个接地球旁边设置过孔,以实现低电感接地连接和良好的热性能。
9.4 湿度敏感性
XMOS设备像所有半导体设备一样,容易吸收水分。设备从密封包装中取出后,应在规定的时间和条件下使用,否则需要进行烘烤处理。
10. 应用示例
文档提供了多个2层PCB的示例原理图和布局,包括使用24 MHz晶体、振荡器或内部20 MHz振荡器的设计。这些示例展示了不同的时钟源和启动方式,同时还说明了闪存、AVDD、RST和JTAG连接的可选性。
总结
XS1 - A8A - 64 - FB96多核心微控制器以其丰富的功能和强大的性能,为嵌入式应用提供了一个优秀的解决方案。无论是在实时控制、模拟信号处理还是通信方面,它都展现出了卓越的能力。电子工程师在设计时,需要充分考虑其硬件资源的特点和优势,结合具体应用场景进行合理配置,以实现最佳的系统性能。你在使用类似多核心微控制器时,遇到过哪些挑战呢?欢迎在评论区分享你的经验。
-
嵌入式应用
+关注
关注
0文章
83浏览量
18995
发布评论请先 登录
XS1-A8A-64-FB96:高性能多核心微控制器的深度剖析
评论