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