ADSP-2183x/ADSP-SC83x数字信号处理器深度解析
在电子工程领域,数字信号处理器(DSP)的性能和功能对于各类应用的实现起着至关重要的作用。今天,我们就来深入探讨一下ADSP-2183x/ADSP-SC83x系列DSP,看看它究竟有哪些独特之处。
文件下载:ADSP-21834.pdf
一、产品概述
ADSP-2183x/ADSP-SC83x属于SHARC®-FX家族产品,其SHARC-FX核心采用单指令多数据(SIMD)矢量浮点架构,大多数组合下每个周期最多可发出四条指令。该系列处理器的SHARC-FX核心处理速度最高可达1 GHz,还配备了高达2 MB的L2内存,非常适合低延迟应用。其中,ADSP-SC834/SC835除了SHARC-FX核心外,还集成了Arm® Cortex®-M33,为应用提供了更丰富的连接选项。
| 表1对比了上一代SHARC+核心和SHARC-FX核心的部分特性: | Feature | SHARC+ | SHARC-FX |
|---|---|---|---|
| Float32 Operations Per Cycle | 2 multiply and 2 add | 8 fused multiply-add and 8 add | |
| 1K Complex FFT Benchmark | 11,000 cycles | 2,500 cycles | |
| Instruction Format | One to four operations, 16 to 48 bits | One to four operations, 16 to 128 bits | |
| L1 Memory | 640 kB (4-bank shared by data RAM, instruction RAM, and cache) | 512 kB data RAM, 256 kB data cache, 64 kB instruction RAM, 32 kB instruction cache | |
| Float64 Operations Per Cycle | 2 every 6 cycles | 4 each cycle | |
| Logf/expf Scalar Benchmark | Single Sample Biquad Performance | 2 channels and 2 stages every 8 cycles, 50 cycles | 8 channels and 2 stages every 8 cycles, 4 cycles |
从这些对比中可以明显看出,SHARC-FX核心在性能上有了显著提升。
| 表2则展示了不同型号处理器的特性差异: | Processor Feature | DSP Only | Enhanced Connectivity | ||||
|---|---|---|---|---|---|---|---|
| ADSP-21834 | ADSP-21835 | ADSP-21836 | ADSP-21837 | ADSP-SC834 | ADSP-SC835 | ||
| SHARC-FX DSP Core (MHz, Maximum) | 800 | 800, 1000 | 800 | 800,1000 | 800 | 800,1000 | |
| L1 D-RAM/ I-RAM (kB) | 512/64 | 512/64 | 512/64 | 512/64 | 512/64 | 512/64 | |
| L1 D-Cache/l-Cache (kB) | 256/32 | 256/32 | 256/32 | 256/32 | 256/32 | 256/32 | |
| Arm Cortex-M33 Core (MHz, Maximum) | N/A | N/A | N/A | N/A | 400 | 400,333 | |
| L1 D-RAM/ I-RAM (kB) | N/A | N/A | N/A | N/A | 128/64 | 128/64 | |
| System Memory - L2 SRAM (kB) | 1024 | 2048 | 1024 | 2048 | 1024 | 2048 | |
| DDR3L3 Controller (16-Bit) | 1 | 1 | 1 | 1 | 1 | 1 | |
| FIRs Per SHARC-FX Core | 2 | 2 | 2 | 2 | 2 | 2 | |
| IIRs Per SHARC-FX Core | 4 | 4 | 4 | 4 | 4 | 4 | |
| Security Crypto Engine | Yes | Yes | Yes | Yes | Yes | Yes | |
| 其他特性 | ... | ... | ... | ... | ... | ... |
工程师在选择处理器时,可以根据具体的应用需求,参考这些特性来做出合适的决策。
二、核心特性
(一)SHARC-FX处理器核心
SHARC-FX是由ADI和Cadence联合开发的DSP核心,它并非与SHARC和SHARC+ DSP核心的指令集架构(ISA)兼容。其具有以下几个显著特点:
- 4 - Way VLIW:每个周期可发出1到4个操作,指令宽度为16到128位。每个周期可执行加载、存储、标量ALU操作、第二个加载或ALU操作、矢量ALU操作或矢量ALU乘法累加操作。
- 256 - Bit SIMD:这个宽SIMD单元可分为8、16、32或64位宽的通道。例如,该单元每个周期可执行8个32位乘法累加操作。矢量的每个通道可通过布尔寄存器启用或禁用,以实现条件操作。还支持整个矢量的置换,用于小表查找,并且增加了对快速直方图的支持。
- DSP特性:支持循环计数器、循环寻址和定点算术,具有20、40和80位累加器、二进制点移位和舍入以及饱和功能。
- 数据类型支持:能处理所有主要数据类型,包括8、16、32和64位整数,8、16和32位定点(实数和复数),以及32和64位浮点(实数和复数)。
- L1数据缓存和RAM:包含256 kB数据缓存、512 kB数据RAM、32 kB指令缓存和64 kB指令RAM。缓存采用回写或直写方式,使用64B行,四路关联且采用LRU替换策略。所有内存都采用ECC保护。
- 内存保护单元(MPU):虽然内存是物理寻址的,但ADSP-2183x/ADSP-SC83x的MPU可控制多达32个可变大小地址范围的访问和缓存行为。
- 高级算术:通过融合乘法累加支持高精度浮点运算,还具备精确平方根和倒数的种子。处理器核心可执行高效但不精确的浮点错误检查,也能在定点饱和时中断。log2f和exp2f操作可在一个周期内执行,这些操作可用于单周期倒数、平方根、除法和幂运算,但精度较低。编译器能识别标准函数的矢量版本,如sinf和sqrtf操作,并可自动向量化包含它们的循环。
- 内置中断控制器:ADSP-2183x/ADSP-SC83x处理器配备236输入矢量中断控制器。每个输入可以是高电平或低电平有效,边沿或电平触发,并且可以有15个优先级之一。
- 内置直接内存访问引擎(iDMA):提供一个快速、低延迟的DMA控制器,用于在数据RAM之间移动数据块。
- CoreSight调试:采用Arm® CoreSightTM SoC - 600调试标准,具有断点、观察点和PC跟踪功能。还可以对各种事件进行计数,如缓存未命中和流水线停顿,用于性能分析。使用第三方仿真器时,仿真器必须支持CoreSight SoC - 600。
(二)Arm Cortex - M33处理器(仅ADSP - SC834/SC835)
ADSP-SC834/SC835中的Arm Cortex-M33处理器具有低门数、高能效的特点,具体特性如下:
- 64 kB指令RAM和128 kB数据RAM。
- 顺序发布流水线。
- 采用Arm® Thumb® - 2技术。
- 嵌套矢量中断控制器(NVIC)与处理器紧密集成。
- 浮点单元(FPU)支持单精度算术。
- 通过嵌入式跟踪宏单元(ETM)接口支持跟踪。
- 具备Arm® TrustZone®安全扩展。
- 拥有Armv8 - M DSP扩展。
- 内存保护单元(MPU)具有16个安全区域和16个非安全区域。
NVIC与Arm Cortex-M33核心紧密集成,可实现低延迟中断处理,其功能包括最多236个外部中断、16级中断、动态中断优先级重新排序、优先级分组、支持尾链和中断的延迟到达,以及安全中断优先级高于非安全中断。
三、系统架构
(一)系统L2内存
SHARC-FX核心、Arm Cortex-M33核心和系统DMA通道可使用高达16 Mb(2 MB)的系统L2 SRAM内存。L2 SRAM块最多可分为八个存储体,以支持对L2内存端口的并发访问。SHARC-FX核心对L2内存空间的访问是多周期访问。该内存空间可用于多种情况,如加速器和外设的源和目标内存,避免访问外部内存;作为DMA描述符的存储位置;为SHARC-FX核心存储额外数据,以避免外部内存延迟并减少外部内存带宽;以及存储SHARC-FX核心缓存的数据。
(二)一次性可编程内存(OTP)
处理器具有7 kb的一次性可编程(OTP)内存,可通过内存映射访问。该内存可使用自定义密钥进行编程,支持安全启动和安全操作。
(三)I/O内存空间
映射的I/O包括SPI1/SPI2/xSPI内存地址空间。
(四)系统交叉开关(SCBs)
系统交叉开关(SCBs)是片上系统总线互连的基本构建模块,采用交换矩阵风格。SCBs将系统总线请求者连接到系统总线完成者,提供多个总线请求者和多个总线完成者之间的并发数据传输。由多个SCBs构建的分层模型提供了高效的功率和面积系统互连。其特点包括高效的流水线总线传输协议、全双工总线操作、并发总线传输支持以及选择性总线互连保护的保护模型。
(五)直接内存访问(DMA)
处理器使用直接内存访问(DMA)在内存空间内或内存空间与外设之间传输数据。处理器可以指定数据传输操作,然后在完全集成的DMA控制器独立执行数据传输时返回正常处理。DMA传输可以在内存和外设之间或一个内存和另一个内存之间进行。每个内存到内存的DMA流使用两个通道:源通道和目标通道。所有DMA通道都可以在所有片上和片外内存之间传输数据。程序可以使用基于描述符或基于寄存器的两种DMA传输类型。基于寄存器的DMA允许处理器直接对DMA控制寄存器进行编程以启动DMA传输,完成后,DMA控制寄存器会自动更新为原始设置值以进行连续传输。基于描述符的DMA传输需要存储在内存中的一组参数来启动DMA序列,并且可以通过编程DMA通道在当前序列完成后自动设置并启动另一个DMA传输,从而将多个DMA序列链接在一起。
四、安全与安全特性
(一)Arm TrustZone
ADSP-SC83x处理器提供集成到Arm Cortex-M33处理器中的TrustZone技术,该技术可在整个系统架构中扩展安全状态。
(二)加密硬件加速器
支持基于标准的硬件加速加密、解密、认证和真随机数生成。支持的硬件加速加密算法包括AES(ECB、CBC、ICM和CTR模式,128位、192位和256位密钥)、DES(ECB和CBC模式,56位密钥)、3DES(ECB和CBC模式,3x 56位密钥)和ARC4(有状态和无状态模式,最多128位密钥)。支持的硬件加速哈希函数包括SHA - 1、SHA - 2(224位和256位摘要)、HMAC变换(SHA - 1和SHA - 2)和MD5。还提供公钥加速器(PKA)以卸载计算密集型公钥加密操作。同时具备基于硬件的非确定性随机数生成器和伪随机数生成器。安全启动功能通过224位和256位椭圆曲线数字签名确保启动流的完整性和真实性,还可选择通过AES - 128加密确保机密性。此外,还提供密码保护的安全调试功能,仅允许受信任的用户使用调试工具访问系统。
(三)系统保护单元(SPU)
系统保护单元(SPU)通过提供写保护机制,防止意外或不必要地访问外设的MMR空间。用户可以选择并配置受保护的外设,以及配置外设要防范的系统MMR请求者。SPU也是安全架构的一部分,除了提供写保护功能外,还用于定义系统中的哪些资源是安全的或非安全的,并阻止非安全请求者访问安全资源。
(四)系统内存保护单元(SMPU)
系统内存保护单元(SMPU)提供对定义内存区域的读和/或写事务的内存保护。ADSP-2183x/ADSP-SC83x处理器中除了SHARC-FX L1外的每个内存空间都有SMPU单元。SMPU也是安全架构的一部分,允许用户防止任意读和/或写事务,并将内存区域定义为安全的,防止非安全请求者访问这些内存区域。
需要注意的是,ADI不保证这些安全特性能提供绝对安全。
五、安全特性
(一)ECC保护的SHARC-FX核心L1内存
SHARC-FX L1内存空间中的SRAM和缓存由SECDEC保护。单比特错误会自动纠正并写回,多比特错误会重试几次,然后引发异常。缓存标签和BTB也以同样的方式受到保护。
(二)ECC保护的L2内存
纠错码(ECC)可纠正单事件翻转。L2内存由单错误纠正/双错误检测(SEC/DED)码保护。默认情况下,ECC是启用的,但可以按存储体禁用。单比特错误会透明纠正,如果启用,双比特错误可以发出系统事件或故障。ECC保护对用户完全透明,即使L2内存由8位或16位实体读写。
(三)奇偶校验和ECC保护的外设内存
以下外设内存添加了奇偶校验保护:ASRC、IIR、FIR、CRYPTO、EMAC、MLB和TRACE。CAN FD内存由ECC保护。
(四)循环冗余校验(CRC)保护的内存
CRC引擎可保护L1、L2甚至L3(DDR3L)内存的系统错误(指针错误)和静态内容(指令代码)。处理器具有两个嵌入在内存到内存DMA控制器中的CRC引擎。在内存传输期间,可以自动计算或比较CRC校验和。或者,单个DMA工作单元可以根据DMA描述符链指令连续清理单个或多个内存区域。CRC引擎还保护启动过程中加载的数据。
(五)信号看门狗
16个通用(GP)定时器具有监测片外信号的模式。看门狗周期模式监测外部信号的周期是否在预期范围内,看门狗宽度模式监测外部信号的脉冲宽度是否在预期范围内。这两种模式有助于检测系统级信号的意外翻转或无翻转情况。
(六)系统事件控制器(SEC)
除了系统事件,系统事件控制器(SEC)还支持故障管理,包括故障动作配置、超时、内部指示(通过系统中断)、外部指示(通过SYS_FAULT引脚)和系统复位。
(七)内存错误控制器(MEC)
内存错误控制器(MEC)管理来自核心和外设的内存奇偶校验/ECC错误和警告,并发出中断和触发信号。
六、处理器外设
(一)动态内存控制器(DMC)
16位动态内存控制器(DMC)与DDR3L(JESD79 - 3F)接口,支持512 Mb到8 Gb的内存。还添加了一个预取缓冲区(PFB)以提高读取访问性能,启用PFB时,它支持可选的预测预取,可改善非线性访问模式的性能。
(二)数字音频接口(DAI)
处理器支持两个相同的数字音频接口(DAI)单元。DAI可以通过信号路由单元(SRU)将各种外设连接到任何DAI引脚。SRU是一个矩阵路由单元(或多路复用器组),可在软件控制下实现每个DAI实例提供的外设之间的互连。DAI包括SPORTs、ASRC、S/PDIF、PCG和PDM等外设。DAI_PINx引脚缓冲器可用于改变输入信号的极性,也可作为GPIO引脚使用。DAI输入信号可在上升沿、下降沿或两者触发中断。
(三)其他外设
还包括串行端口(SPORT)、异步采样率转换器(ASRC)、S/PDIF兼容数字音频接收器/发送器、精密时钟发生器(PCG)、脉冲密度调制(PDM)麦克风接口、通用异步接收器/发送器(UART)端口、串行外设接口(SPI)端口、xSPI(带八进制和HyperBus支持)、链接端口(LP)、以太网媒体访问控制器(EMAC)、控制器区域网络(CAN FD)、脉冲宽度调制器(PWM)单元、定时器、通用计数器(CNT)、内务管理模数转换器(HADC)、媒体本地总线(MediaLB)、2线控制器接口(TWI)和通用I/O(GPIO)等外设,每个外设都有其独特的功能和应用场景。
-
数字信号处理器
+关注
关注
5文章
522浏览量
28490
发布评论请先 登录
深度解析ADSP - TS101S TigerSHARC嵌入式处理器
ADSP-BF60x 系列处理器:高性能与多功能的完美融合
深度解析ADSP - BF542/ADSP - BF544等系列处理器:特性、应用及设计要点
解析ADSP - BF52x系列处理器:高性能与低功耗的完美融合
ADSP-21593/21594/ADSP-SC592/SC594处理器:高性能与多功能的完美融合
ADSP-SC57x/ADSP-2157x处理器:高性能数字信号处理的理想之选
高性能音频处理利器:ADSP - 21477/ADSP - 21478/ADSP - 21479处理器深度解析
ADSP-2148x SHARC处理器:音频处理领域的强大之选
探索ADSP - 21371/ADSP - 21375 SHARC处理器:高性能音频处理的利器
深度解析ADSP-2126x:高性能音频处理的理想之选
ADSP - 2185M数字信号处理器深度剖析:特性、架构与应用指南
Analog Devices Inc. ADSP-SC598双SHARC+®数字信号处理器数据手册
Analog Devices Inc. ADSPSC835W-EV-SOM模块化系统 (SOM) 板数据手册
ADSP-2183x/ADSP-SC83x数字信号处理器深度解析
评论