ADSP-2183x/ADSP-SC83x数字信号处理器深度解析

电子说

1.4w人已加入

描述

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)兼容。其具有以下几个显著特点:

  1. 4 - Way VLIW:每个周期可发出1到4个操作,指令宽度为16到128位。每个周期可执行加载、存储、标量ALU操作、第二个加载或ALU操作、矢量ALU操作或矢量ALU乘法累加操作。
  2. 256 - Bit SIMD:这个宽SIMD单元可分为8、16、32或64位宽的通道。例如,该单元每个周期可执行8个32位乘法累加操作。矢量的每个通道可通过布尔寄存器启用或禁用,以实现条件操作。还支持整个矢量的置换,用于小表查找,并且增加了对快速直方图的支持。
  3. DSP特性:支持循环计数器、循环寻址和定点算术,具有20、40和80位累加器、二进制点移位和舍入以及饱和功能。
  4. 数据类型支持:能处理所有主要数据类型,包括8、16、32和64位整数,8、16和32位定点(实数和复数),以及32和64位浮点(实数和复数)。
  5. L1数据缓存和RAM:包含256 kB数据缓存、512 kB数据RAM、32 kB指令缓存和64 kB指令RAM。缓存采用回写或直写方式,使用64B行,四路关联且采用LRU替换策略。所有内存都采用ECC保护。
  6. 内存保护单元(MPU):虽然内存是物理寻址的,但ADSP-2183x/ADSP-SC83x的MPU可控制多达32个可变大小地址范围的访问和缓存行为。
  7. 高级算术:通过融合乘法累加支持高精度浮点运算,还具备精确平方根和倒数的种子。处理器核心可执行高效但不精确的浮点错误检查,也能在定点饱和时中断。log2f和exp2f操作可在一个周期内执行,这些操作可用于单周期倒数、平方根、除法和幂运算,但精度较低。编译器能识别标准函数的矢量版本,如sinf和sqrtf操作,并可自动向量化包含它们的循环。
  8. 内置中断控制器:ADSP-2183x/ADSP-SC83x处理器配备236输入矢量中断控制器。每个输入可以是高电平或低电平有效,边沿或电平触发,并且可以有15个优先级之一。
  9. 内置直接内存访问引擎(iDMA):提供一个快速、低延迟的DMA控制器,用于在数据RAM之间移动数据块。
  10. 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)等外设,每个外设都有其独特的功能和应用场景。

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

全部0条评论

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

×
20
完善资料,
赚取积分