XUF212 - 512 - FB236:多核微控制器的强大之选
在嵌入式系统的广阔领域中,多核微控制器正逐渐成为提升系统性能、实现复杂功能的关键组件。今天,我们将深入探讨 XMOS 公司的 XUF212 - 512 - FB236 多核微控制器,它凭借其独特的架构和丰富的特性,为开发者带来了全新的设计可能性。
一、xCORE 多核架构的魅力
XUF212 - 512 - FB236 属于 xCORE200 系列,这是一系列 32 位多核微控制器,将 xCORE 架构的低延迟和时序确定性带入了主流嵌入式应用。与传统微控制器不同,xCORE 多核微控制器能够同时执行多个实时任务,并通过高速网络在任务之间进行通信。这种特性使得开发者可以编写软件来实现传统上需要专用硬件才能完成的功能,大大提高了系统的灵活性和可扩展性。
1. 逻辑核心的高效协作
该器件由两个 xCORE 瓷砖(Tile)组成,每个瓷砖包含 6 个活跃的逻辑核心。这些核心通过共享的五级流水线发布指令,采用轮询方式进行指令发布。当最多 5 个逻辑核心活跃时,每个核心将分配到五分之一的处理周期;当超过 5 个核心活跃时,每个核心至少分配到 1/n 个周期(n 为活跃核心数)。逻辑核心由事件触发而非中断,并且会运行至完成,还可以暂停以等待事件。这种设计确保了核心性能的可预测性和稳定性,同时也能充分利用系统资源。
2. xTIME 调度器的智能管理
xTIME 调度器在硬件层面执行类似于实时操作系统(RTOS)的功能。它处理 xCORE 瓷砖资源(如通道端点、定时器和 I/O 引脚)产生的事件,确保所有事件得到服务和同步,无需 RTOS 的支持。I/O 引脚产生的事件由硬件响应端口处理,并直接馈送到相应的 xCORE 瓷砖。xCORE 瓷砖还可以选择等待指定时间过去,或者等待通道上的数据可用。由于每个任务都在自己的逻辑 xCORE 上运行,因此不需要对任务进行优先级排序,还可以通过协作式多任务处理在单个核心上共享一组低优先级任务。
3. 硬件响应端口的灵活接口
硬件响应端口将 xCORE 瓷砖连接到一个或多个物理引脚,定义了连接到 XUF212 - 512 - FB236 的硬件与运行在其上的软件之间的接口。它提供了 1 位、4 位、8 位、16 位和 32 位端口的组合,所有端口引脚只能提供输出或输入,不同方向的信号不能映射到同一端口。端口逻辑可以将引脚驱动为高电平或低电平,也可以采样引脚的值,并可选择等待特定条件。通过专用指令在单个处理器周期内访问端口,xCORE200 的 I/O 引脚还可以用作开漏输出。数据通过包含 SERDES 和传输寄存器的 FIFO 在引脚和核心之间传输,每个端口还有一个 16 位计数器,可用于控制数据传输时间,并提供精确的响应时间控制。
4. 时钟块的精准控制
xCORE 设备包含一组可编程的时钟块,用于控制端口的执行速率。每个 xCORE 瓷砖有 6 个时钟块,第一个时钟块提供瓷砖参考时钟,默认频率为 100MHz,其余时钟块可以设置为不同的频率。时钟块可以使用 1 位端口作为时钟源,允许外部应用时钟驱动输入和输出接口,还可以对 1 位端口的时钟输入进行分频。在许多情况下,I/O 信号伴随着选通信号,xCORE 端口可以输入和解释外部源产生的选通信号,并生成选通信号以伴随输出数据。复位时,每个端口连接到时钟块 0,由 xCORE 瓷砖参考时钟驱动。
5. 通道和通道端点的高效通信
逻辑核心通过点对点连接进行通信,这种连接由两个通道端点形成。通道端点是 xCORE 瓷砖上的资源,由程序分配,每个通道端点具有唯一的系统标识符,包括唯一编号和瓷砖标识符。数据通过输出指令传输到通道端点,另一侧执行输入指令接收数据。数据可以在通道端点之间同步或异步传递,实现了核心之间的高效通信。
6. xCONNECT 开关和链路的可扩展架构
XMOS 设备提供了可扩展的架构,多个 xCORE 设备可以连接在一起形成一个系统。每个 xCORE 设备都有一个 xCONNECT 互连,为系统中各个 xCORE 瓷砖上运行的所有任务提供通信基础设施。互连依赖于一组开关和 XMOS 链路,每个 xCORE 设备有一个片上开关,可以设置电路或路由数据,开关之间通过 xConnect 链路连接。XMOS 链路提供两个开关之间的物理连接,开关的路由算法支持多种拓扑结构,如线性、网状、树状和超立方体。链路可以根据所需带宽在每方向 2 线或每方向 5 线模式下运行,能够高效支持电路交换、流式传输和分组交换数据。
二、丰富的特性与功能
1. 强大的性能指标
XUF212 - 512 - FB236 拥有 12 个实时逻辑核心,分布在 2 个 xCORE 瓷砖上,核心共享高达 1000 MIPS 的处理能力,在双 issue 模式下可达 2000 MIPS。每个逻辑核心保证吞吐量在瓷砖 MIPS 的 1/5 到 1/6 之间,拥有 16x32 位专用寄存器和 167 条高密度 16/32 位指令,除除法指令外,所有指令都能在单时钟周期内执行,还具备 32x32→64 位 MAC 指令,可用于 DSP、算术和用户定义的加密功能。
2. 灵活的 I/O 配置
该器件提供 128 个通用 I/O 引脚,可配置为输入或输出,支持多种端口组合,如最多 32 个 1 位端口、12 个 4 位端口、8 个 8 位端口、4 个 16 位端口和 2 个 32 位端口,还具备 8 个 xCONNECT 链路。端口采样率相对于外部时钟可达 60 MHz,64 个通道端点(每个瓷砖 32 个)可用于与其他核心进行片上或片外通信。
3. 充足的内存资源
内部集成了 512KB 的单周期 SRAM(每个瓷砖最大 256KB)用于代码和数据存储,16KB 的内部 OTP(每个瓷砖最大 8KB)用于应用启动代码,以及 2MB 的内部闪存用于应用代码和覆盖。
4. 丰富的硬件资源
包含 12 个时钟块(每个瓷砖 6 个)、20 个定时器(每个瓷砖 10 个)和 8 个锁(每个瓷砖 4 个),还配备 JTAG 模块用于片上调试。
5. 可靠的安全特性
编程锁可禁用调试并防止读取内存内容,AES 引导加载程序确保外部闪存上的 IP 保密性。
6. 广泛的工作范围
环境温度范围为 -40°C 至 85°C,提供不同的速度等级,如 24 级对应 1200 MIPS,20 级对应 1000 MIPS,典型功耗为 570 mA,采用 236 引脚的 FBGA 封装,间距为 0.5 mm。
三、详细的引脚配置与信号描述
1. 引脚配置
文档提供了详细的引脚配置表,涵盖了从 A 到 W 行的引脚信息,包括电源引脚、JTAG 引脚、I/O 引脚、系统引脚和 USB 引脚等。每个引脚都有明确的功能和属性描述,如 PD/PU(弱下拉或上拉电阻)、ST(施密特触发器)、IOL/IOT/IOR(不同的 I/O 电源)等。
2. 信号描述
对各种信号和 I/O 引脚进行了详细说明,明确了不同引脚的功能、类型和属性。例如,电源引脚包括 GND(数字接地)、OTP_VCC(OTP 电源)、PLL_AVDD(PLL 模拟电源)等;JTAG 引脚包括 RST_N(全局复位输入)、TCK(测试时钟)、TDI(测试数据输入)等;I/O 引脚提供了 128 个,可根据需求进行灵活配置。
四、实际应用与设计要点
1. 启动过程
设备通过将 RST_N 拉低来保持复位状态,复位时所有 GPIO 引脚启用下拉电阻。处理器必须在 VDDIOL 符合规格至少 1 ms 后才能解除复位。释放 RST_N 后,处理器开始内部复位过程,15 - 150 µs 后启动。设备从嵌入的 QSPI 闪存(IS25LP016D)启动,启动映像包含 32 位程序大小、程序和 32 位 CRC 等信息。
2. USB 接口应用
USB PHY 提供高速和全速、设备、主机和即插即用功能。通过一组外设寄存器进行配置,数据通过数字节点上的端口进行通信。使用时,需要注意 USB_VBUS 的连接、外部电阻的使用以及信号路由和布局等问题,以确保 USB 信号的质量和稳定性。
3. JTAG 调试
JTAG 模块可用于加载程序、边界扫描测试、在线源级调试和编程 OTP 内存。JTAG 链结构包含一个 1149.1 兼容的 TAP,可用于 I/O 引脚的边界扫描,还提供对芯片 TAP 的访问,用于加载代码和调试。使用时,TRST_N 引脚在电源上电后必须低电平保持 100 ns,DEBUG_N 引脚可用于同步多个 xCORE 瓷砖的调试。
4. 电路板集成要点
在电路板集成方面,需要注意电源供应、接地、时钟、USB 连接、信号路由和布局等问题。例如,电源供应必须单调上升,输入电压不得超过规格;PLL_AVDD 供应应与其他嘈杂供应分离,并使用低通滤波器;USB 信号的路由和布局应遵循一定的准则,以确保信号质量和 EMI 性能。
五、寄存器配置与访问
1. 寄存器配置概述
设备通过寄存器组进行配置,包括处理器状态寄存器、xCORE 瓷砖配置寄存器、节点配置寄存器和模拟外设寄存器等。不同的寄存器用于控制设备的各种功能和特性,如时钟分频、安全配置、调试控制等。
2. 寄存器访问方法
可以通过特定的函数或通道端点来访问寄存器。例如,访问处理器状态寄存器可以使用 GETPS 和 SETPS 指令,或者使用 XC 中的 getps(reg) 和 setps(reg, value) 函数;访问 xCORE 瓷砖配置寄存器和节点配置寄存器可以使用 write_tile_config_reg(tileref, ...) 和 read_tile_config_reg(tileref, ...) 等函数,也可以通过分配通道端点进行通信。
六、总结与展望
XUF212 - 512 - FB236 多核微控制器凭借其先进的多核架构、丰富的特性和强大的功能,为嵌入式系统设计提供了一个优秀的解决方案。在实际应用中,开发者需要深入理解其架构和特性,合理配置寄存器,注意电路板集成的要点,以充分发挥该器件的性能优势。随着嵌入式技术的不断发展,相信 XUF212 - 512 - FB236 将在更多领域得到广泛应用,为推动嵌入式系统的发展做出贡献。
你在使用 XUF212 - 512 - FB236 过程中遇到过哪些问题?或者你对它的应用有什么独特的见解?欢迎在评论区分享交流。
-
嵌入式系统
+关注
关注
41文章
3830浏览量
133888 -
多核微控制器
+关注
关注
0文章
10浏览量
6164
发布评论请先 登录
XUF212 - 512 - FB236:多核微控制器的强大之选
评论