欢迎访问ic37.com |
会员登录 免费注册
发布采购

ADSP-BF561是Blackfin嵌入式对称多处理器

日期:2019-11-15标签: (来源:互联网)

特征

双对称600 MHz高性能Blackfin内核328K字节片上存储器;每个Blackfin核心包括两个16位mac、两个40位alu、四个8位视频alu,40位移位器类似RISC的寄存器和指令模型,便于编程和编译器友好支持高级调试、跟踪和性能监视工作电压范围广;256球CSP_BGA(2种尺寸)和297球PBGA;程序包选项;外围设备;双12通道DMA控制器(支持24个外围dma);2存储器到存储器dma;2个内存到内存dma和1个内存DMA控制器;12个通用32位定时器/计数器,带脉冲宽度调制能力;SPI兼容端口;支持IrDA的UART;双看门狗定时器;双32位核心计时器;48个可编程标志(GPIO);频率为0.5×64×的片上锁相环乘法;支持2个并行输入/输出外围接口单元;ITU-R656视频和模拟前端无胶接口;ADC公司;2个双通道、全双工同步串行端口,支持8个立体声I2;S通道。

一般说明

Blackfin系列产品针对多种多方法ADSP-BF561处理器,是® dia、工业和电信应用。该设备的核心是两个独立的模拟设备Blackfin处理器。这些Blackfin处理器结合了一个双mac最先进的信号处理引擎,一个干净的、正交的RISC类微处理器指令集的优势,以及单指令、多数据(SIMD)多媒体功能在一个指令集架构中的优势。

ADSP-BF561处理器有328K字节的片内存储器。每个Blackfin core包括:

(1)、16K字节的指令SRAM/cache

(2)、16K字节的指令SRAM

(3)、32K字节的数据SRAM/缓存

(4)、32K字节的数据SRAM

(5)、4K字节的scratchpad SRAM

其他片上存储器外围设备包括:

(1)、128K字节的低延迟片上L2 SRAM

(2)、四通道内存DMA控制器

(3)、外部存储器控制器,支持SDRAM、移动SDRAM、SRAM和闪存。

便携式低功耗架构

Blackfin处理器提供世界级的电源管理和性能。Blackfin处理器采用低功耗和低电压设计方法,具有动态电源管理功能,能够改变电压和工作频率,显著降低总体功耗。与仅仅改变工作频率相比,改变电压和频率可以显著降低功耗。这意味着便携式设备的电池寿命更长。

黑鳍处理器核心

如图2所示,每个Blackfin核心包含两个乘法器/累加器(mac)、两个40位alu、四个视频alu和一个移位器计算单元处理来自寄存器文件的8位、16位或32位数据。

每个MAC在每个周期中执行16位乘以16位的乘法,累积到40位的结果,提供8位扩展精度。ALU执行一组标准的算术和逻辑操作。具有两个能够在16位或32位数据上操作的ALU,计算单元的灵活性覆盖了一组不同的应用需求的信号处理要求。

两个32位输入寄存器中的每一个都可以看作是两个16位半,所以每个ALU都可以完成非常灵活的单机。

16位算术运算。通过将寄存器视为16位操作数对,可以在一个周期内完成双16位或单32位操作。通过进一步利用第二个ALU,可以简单地完成四个16位操作,从而加快每周期的吞吐量。

强大的40位移位器具有广泛的功能,可以执行数据的移位、旋转、标准化、提取和存储。计算单元的数据可在16个16位条目或8个32位条目的多端口寄存器文件中找到。

强大的程序序列器控制指令执行的流程,包括指令对齐和解码。sequencer支持条件跳转和子例程调用,以及零开销循环。循环缓冲区在本地存储指令,消除了对紧循环代码的指令内存访问。

两个数据地址生成器(DAG)为同时从内存中获取双操作数提供地址。DAG共享一个包含四组32位索引、修改、长度和基址寄存器的寄存器文件。八个额外的32位寄存器为变量和堆栈位置的通用索引提供指针。

Blackfin处理器支持改进的哈佛架构和层次化的内存结构。一级(L1)存储器通常以全处理器速度运行,很少或没有延迟。二级(L2)存储器是其他存储器,片内或片外,可能需要多个处理器周期才能访问。在L1级,指令存储器仅保存指令。两个数据存储器保存数据,专用的草稿行数据存储器存储堆栈和局部变量信息。在二级系统中,只有一个统一的内存空间,可以存储指令和数据。

此外,一级指令存储器的一半和一级数据存储器的一半可以配置为静态ram(sram)或高速缓存。存储器管理单元(MMU)为可能在核心上运行的单个任务提供存储器保护,并且可以保护系统寄存器不受意外访问。

该体系结构提供了三种操作模式:用户模式、管理模式和仿真模式。用户模式限制了对某些系统资源的访问,从而提供了一个受保护的软件环境,而管理模式对系统和核心资源的访问是不受限制的。

对Blackfin指令集进行了优化,使16位操作码代表最常用的指令,从而产生了极好的编译代码密度。复杂的数字信号处理器指令被编码成32位操作码,代表功能齐全的多功能指令。Blackfin处理器支持有限的多发能力,其中32位指令可以与两个16位指令并行发出,允许程序员在一个指令周期内使用许多核心资源。

Blackfin汇编语言使用代数语法,便于编码和可读性。该架构已经与VisualDSP C/C++编译器一起优化使用,从而实现快速高效的软件实现。

存储器结构

ADSP-BF561使用32位地址将内存视为单个统一的4G字节地址空间。所有资源,包括内部存储器、外部存储器和I/O控制寄存器,都占用这个公共地址空间的单独部分。该地址空间的存储器部分以分层结构布置,以提供一些非常快、低延迟的存储器的良好的成本/性能平衡,例如非常接近处理器的高速缓存或SRAM,以及距离处理器更远的更大、更低成本和性能的存储器系统。ADSP-BF561内存映射如图3所示。

每个内核中的L1内存系统是每个Blackfin内核可用的最高性能内存。二级内存提供额外的容量,但性能较低。最后,通过外部总线接口单元(EBIU)访问的片外存储器系统提供SDRAM、闪存和SRAM扩展,可选地访问超过768M字节的物理存储器。存储器DMA控制器提供高带宽数据移动能力。它们可以在内部L1/L2存储器和外部存储器空间之间执行代码或数据的块传输。

内部(片上)存储器

ADSP-BF561有四块片上存储器,提供对核心的高带宽访问。

第一个是每个Blackfin核的L1指令存储器,由16K字节的四路集合关联高速缓存存储器和16K字节的SRAM组成。高速缓存存储器也可以配置为SRAM。此内存以处理器的最高速度访问。当配置为SRAM时,两个16K存储组中的每一个都被分成4K子组,这些子组可以由处理器和DMA独立访问。

第二个片上存储器块是每个Blackfin核的L1数据存储器,它由四组16K字节组成。L1数据存储器组中的两个可以配置为双向集合关联高速缓存的一种方式或SRAM。另外两个组被配置为SRAM。所有银行都以全处理器速度访问。当配置为SRAM时,四个16K存储组中的每一个都被分成4K子组,这些子组可以由处理器和DMA独立访问。

与每个核心相关联的第三个存储器块是4K字节的scratchpad SRAM,其运行速度与L1存储器相同,但只能作为数据SRAM访问(它不能配置为高速缓存存储器,也不能通过DMA访问)。

第四个片上存储系统是L2 SRAM存储阵列,它提供128K字节的高速SRAM,工作频率为核心频率的一半,延迟比L1存储组稍长。二级存储器是一种统一的指令和数据存储器,可以存储系统设计所需的任何代码和数据的混合。Blackfin核心共享一个专用的低延迟64位宽数据路径端口,该端口连接到L2 SRAM内存。

每个Blackfin核心处理器都有自己的一组核心内存映射寄存器(MMR),但共享相同的系统MMR寄存器和128K字节的L2 SRAM内存。

外部(片外)存储器

ADSP-BF561外部存储器通过外部总线接口单元(EBIU)访问。该接口提供了一个无胶连接,最多可连接四组同步DRAM(SDRAM)和四组异步存储设备,包括闪存、EPROM、ROM、SRAM和内存映射I/O设备。

兼容PC133的SDRAM控制器可编程为最多与四个SDRAM组接口,每个SDRAM组包含16M字节到128M字节,最多可访问512M字节的SDRAM。每个银行都是独立可编程的,并且与相邻银行相邻,而不管不同银行的规模或其位置如何。这允许系统存储器的灵活配置和可升级性,同时允许内核将所有SDRAM视为单个、连续的物理地址空间。

异步存储器控制器还可以被编程,以控制多达四个设备非常灵活的时间参数的各种设备的银行。无论使用的设备大小如何,每个存储组都占用一个64M字节的段,因此只有在完全填充64M字节的内存时,这些存储组才是连续的。

I/O内存空间

Blackfin处理器不定义单独的I/O空间。所有资源都通过平面32位地址空间映射。Onchip I/O设备将其控制寄存器映射到靠近4G字节地址空间顶部的地址处的内存映射寄存器(mmr)。它们被分成两个较小的块,一个包含所有核心功能的控制mmr,另一个包含核心外部芯片外设的设置和控制所需的寄存器。核心mmr只能由核心访问,并且只能在supervisor模式下访问,并且由片上外围设备显示为保留空间。在管理模式下,核心可以访问系统mmr,并且可以映射为可见或保留到其他设备,具体取决于所需的系统保护模型。

启动

ADSP-BF561包含一个小的引导内核,它为引导配置适当的外围设备。如果ADSP-BF561配置为从引导ROM内存空间引导,处理器将从片上引导ROM开始执行。

事件处理

ADSP-BF561上的事件控制器处理处理器的所有异步和同步事件。ADSP-BF561提供支持嵌套和优先级的事件处理。嵌套允许多个事件服务例程同时处于活动状态。优先级排序确保高优先级事件的服务优先于低优先级事件的服务。控制器支持五种不同类型的事件:

(1)、仿真——仿真事件导致处理器进入仿真模式,允许通过JTAG接口命令和控制处理器。

(2)、重置–此事件重置处理器。

(3)、不可屏蔽中断(NMI)–NMI事件可以由软件看门狗定时器或NMI输入信号生成到处理器。NMI事件通常用作断电指示器,以启动系统的有序关机。

(4)、异常–与程序流同步发生的事件,即,在指令被允许完成之前将执行异常。数据对齐冲突或未定义的指令等条件会导致异常。

(5)、中断-与程序流异步发生的事件。它们是由定时器、外围设备、输入管脚和显式软件指令引起的。

每个事件都有一个关联的寄存器来保存返回地址和一个关联的“从事件返回”指令。当事件被触发时,处理器的状态保存在管理器堆栈中。

ADSP-BF561事件控制器由两个阶段组成:核心事件控制器(CEC)和系统中断控制器(SIC)。核心事件控制器与系统中断控制器一起工作,对所有系统事件进行优先级排序和控制。

概念上,来自外围设备的中断进入SIC,然后直接路由到CEC的通用中断。

核心事件控制器(CEC)

除了专用中断和异常事件外,CEC还支持9个通用中断(IVG15–7)。在这些通用中断中,建议为软件中断处理程序保留两个最低优先级的中断(IVG15-14),保留七个优先级的中断输入以支持ADSP-BF561的外围设备。表1描述了CEC的输入,在事件向量表(EVT)中标识了它们的名称,并列出了它们的优先级。

系统中断控制器(SIC)

系统中断控制器提供从许多外围中断源到CEC的优先级通用中断输入的事件映射和路由。尽管ADSP-BF561提供了一个默认映射,但是用户可以通过将适当的值写入中断分配寄存器(SIC_IAR7–0)。表2描述了到SIC的输入和到CEC的默认映射。

事件控制

ADSP-BF561为用户提供了一种非常灵活的机制来控制事件的处理。在CEC中,三个寄存器用于协调和控制事件。每个寄存器都有16位宽,而每个位代表一个特定的事件类。

•CEC中断锁存寄存器(ILAT)–ILAT寄存器指示事件被锁存的时间。当处理器锁定事件时设置适当的位,当事件被系统接受时清除适当的位。此寄存器由控制器自动更新,但也可以写入以清除(取消)锁定事件。此寄存器可以在supervisor模式下读取,也只能在supervisor模式下清除相应的IMASK位时写入。

•CEC中断屏蔽寄存器(IMASK)–IMASK寄存器控制单个事件的屏蔽和取消屏蔽。当在IMASK寄存器中设置一个位时,该事件将被取消屏蔽,并在断言时由CEC处理。IMASK寄存器中的清除位屏蔽了事件,从而阻止处理器为事件提供服务

即使事件可能被锁定在ILAT寄存器中。在管理模式下,可以读取或写入此寄存器。

注意,通用中断可以分别使用STI和CLI指令全局启用和禁用。

•CEC中断挂起寄存器(IPEND)–IPEND寄存器跟踪所有嵌套事件。IPEND寄存器中的一个设置位表示事件当前处于活动状态或在某个级别嵌套。此寄存器由控制器自动更新,但在管理器模式下可以读取。

通过提供6个32位中断控制和状态寄存器,SIC允许进一步控制事件处理。每个寄存器包含与表2中所示的每个外围中断事件相对应的位。

•SIC中断屏蔽寄存器(SIC_IMASKx)–这些寄存器控制每个外围中断事件的屏蔽和取消屏蔽。当在这些寄存器中设置一个位时,该外围事件将被取消屏蔽,并在断言时由系统处理。这些寄存器中的一个清除位屏蔽了外围事件,从而阻止处理器处理该事件。

•SIC中断状态寄存器(SIC_ISRx)–由于多个外设可以映射到单个事件,这些寄存器允许软件确定触发中断的外设事件源。设置位表示外设正在断言中断;清除位表示外设没有断言事件。

•SIC中断唤醒启用寄存器(SIC_IWRx)–通过启用这些寄存器中的相应位,可以将每个外围设备配置为在生成事件时处理器处于关机模式时唤醒处理器。

由于多个中断源可以映射到一个通用中断,因此在中断处理之前或过程中,可以同时对已在此中断输入上检测到的中断事件进行多个脉冲断言。作为中断确认,SIC监视IPEND寄存器的内容。

当检测到中断上升沿时,设置适当的ILAT寄存器位(检测需要两个核心时钟周期)。当设置了相应的IPEND寄存器位时,该位被清除。IPEND位表示事件已进入处理器管道。此时,CEC将识别下一个上升沿事件并在相应的事件输入上排队。从通用中断的上升沿转换到断言的IPEND输出的最小延迟是三个核心时钟周期;但是,延迟可能要高得多,这取决于处理器内部的活动和模式。

DMA控制器

ADSP-BF561有两个独立的DMA控制器,支持以最小的DSP核开销自动传输数据。DMA传输可以发生在ADSP-BF561内部存储器和任何支持DMA的外围设备之间。另外,DMA传输可以在任何支持DMA的外围设备和连接到外部存储器接口的外部设备之间完成,包括SDRAM控制器和异步存储器控制器。支持DMA的外围设备包括运动、SPI端口、UART和PPI。每个支持DMA的外设至少有一个专用DMA信道。

ADSP-BF561 DMA控制器支持一维(1-D)和二维(2-D)DMA传输。DMA传输初始化可以从寄存器或称为描述符块的参数集实现。

二维DMA功能支持任意行和列大小(最多64K个元素乘以64K个元素),任意行和列步长(最多±32K个元素)。此外,列步长可以小于行步长,从而允许实现交错数据流。此功能在视频应用程序中特别有用,在这些应用程序中,数据可以在运行中被解交错。

ADSP-BF561 DMA控制器支持的DMA类型的示例包括:

•完成后停止的单个线性缓冲器。

•一个循环自动刷新缓冲区,在每个满缓冲区或部分满缓冲区上中断。

•使用描述符链表的1-D或2-D DMA。

•使用描述符数组的二维DMA,仅指定公共页中的基本DMA地址。

除了专用外设DMA信道外,每个DMA控制器还具有四个存储器DMA信道,用于在ADSP-BF561的各种存储器之间进行传输系统。这使得在任何存储器(包括外部SDRAM、ROM、SRAM和flash存储器)之间的数据块的传输能够在最小的处理器干预下进行。存储器DMA传输可以由非常灵活的基于描述符的方法或由基于标准寄存器的自动缓冲机制来控制。

此外,ADSP-BF561具有四信道内部存储器DMA(IMDMA)控制器。IMDMA控制器允许在任何内部L1和L2存储器之间进行数据传输。

看门狗定时器

每个ADSP-BF561核心包括一个32位定时器,可用于实现软件看门狗功能。如果计时器在被软件重置之前过期,软件看门狗可以通过生成硬件重置、不可屏蔽中断(NMI)或通用中断,将处理器强制到已知状态,从而提高系统可用性。程序员初始化计时器的计数值,启用适当的中断,然后启用计时器。此后,软件必须在计数器从编程值计数为零之前重新加载计数器。这可以保护系统不处于未知状态,在这种状态下,通常会重置计时器的软件由于外部噪声条件或软件错误而停止运行。

重置后,软件可以通过询问定时器控制寄存器中的状态位来确定看门狗是否是硬件重置的源,该状态位仅在看门狗生成重置时设置。

计时器由系统时钟(SCLK)以最大频率F来计时。

计时器

ADSP-BF561中有14个可编程定时器单元。

12个通用定时器单元中的每一个都可以独立编程为脉冲宽度调制器(PWM)、内部或外部时钟定时器或脉冲宽度计数器。通用定时器单元可与UART一起用于测量数据流中脉冲的宽度,以为串行信道提供自动音频检测功能。通用定时器可以产生对处理器核心的中断,为处理器时钟或外部信号计数的同步提供周期性事件。

除了12个通用可编程定时器外,还为每个核心提供了另一个定时器。这些额外计时器由内部处理器时钟(CCLK)计时,通常用作生成操作系统周期性中断的系统时钟。

串行端口(运动型)

ADSP-BF561包含两个用于串行和多处理器通信的双通道同步串行端口(SPORT0和SPORT1)。运动支持以下

特征:

•可进行I2S操作。

•双向操作–每项运动都有两组独立的发射和接收管脚,支持八个I2S立体声音频通道。

•缓冲(8深)传输和接收端口——每个端口都有一个数据寄存器,用于在其他DSP组件之间传输数据字,并有移位寄存器,用于将数据移入和移出数据寄存器。

•时钟-每个发送和接收端口可以使用外部串行时钟,也可以生成自己的时钟,频率范围从(f/131070)Hz到(f/2)Hz。SCLK公司SCLK公司

•字长–每个运动支持长度从3位到32位的串行数据字,首先传输最高有效位或最低有效位。

•帧-每个发送和接收端口都可以运行,每个数据字有或没有帧同步信号。帧同步信号可以在内部或外部产生,高电平或低电平,具有两个脉冲宽度和早期或晚期帧同步。

•硬件压扩-根据ITU建议G.711,每个运动都可以执行A律或μ律压扩。压扩可以在运动的发射和/或接收信道上选择,而无需额外的延迟。

•具有单周期开销的DMA操作–每个运动可以自动接收和传输多个内存数据缓冲区。数字信号处理器可以链接或链运动和存储器之间的DMA传输序列。

•中断-每个传输和接收端口在完成数据字传输时产生中断,或在通过DMA系统。

•多通道功能–每项运动在1024通道窗口中支持128个通道,并与H.100、H.110、MVIP-90和HMVIP标准兼容。

通过设置PLL控制寄存器的位15,可以启用额外的250 mV运动输入滞后。设置此位时,所有运动输入引脚的滞后都会增加。

串行外围接口(SPI)端口

ADSP-BF561处理器有一个SPI兼容端口,使处理器能够与多个SPI兼容设备通信。

SPI接口使用三个管脚传输数据:两个数据管脚(主输出从机输入、MOSI和主输入从机输出,MISO)和一个时钟管脚(串行时钟,SCK)。SPI芯片选择输入引脚(SPIS)让其他SPI设备选择过程sor和七个SPI芯片选择输出管脚(SPISEL7–1),让处理器选择其他SPI设备。SPI选择管脚是重新配置的可编程标志管脚。使用这些管脚,SPI端口提供全双工、同步串行接口,支持主/从模式和多主环境。

SPI端口的波特率和时钟相位/极性是可编程的,它有一个集成的DMA控制器,可配置为支持发送或接收数据流。SPI-DMA控制器在任何给定的时间只能为单向访问提供服务。

SPI端口时钟速率计算如下:

在传输过程中,SPI端口通过在其两条串行数据线上串行地移入和移出数据来同时发送和接收数据。串行时钟线同步两条串行数据线上的数据移位和采样。

UART端口

ADSP-BF561处理器提供全双工通用异步收发(UART)端口,与PC标准UART完全兼容。UART端口为其他外设或主机提供简化的UART接口,支持全双工、支持DMA、异步串行数据传输。UART端口支持5个数据位到8个数据位、1个停止位或2个停止位以及无奇偶校验。UART端口支持两种操作模式:

•PIO(编程I/O)-处理器通过写入或读取I/O映射的UART寄存器来发送或接收数据。数据在发送和接收时都是双缓冲的。

•DMA(直接存储器访问)–DMA控制器传输发送和接收数据。这就减少了在存储器之间传输数据所需的中断次数和频率。UART有两个专用的DMA信道,一个用于发送,一个用于接收。这些DMA信道的默认优先级比大多数DMA信道低,因为它们的服务速率相对较低。

波特率、串行数据格式、错误代码生成和状态以及UART端口的中断都是可编程的。

UART可编程功能包括:

•支持从(f/1048576)比特/秒到(f/16)比特/秒的比特率。SCLK公司SCLK公司

•支持每帧7位到12位的数据格式。

•发送和接收操作都可以配置为向处理器生成可屏蔽中断。

UART端口的时钟速率计算如下:

其中16位UART_除数来自UART_DLH寄存器(最高有效8位)和UART_DLL寄存器(最低有效8位)。

结合通用定时器功能,支持自动音频检测。

在支持红外数据关联(IrDA)串行红外物理层链路规范(SIR)协议的情况下,UART的功能进一步扩展。

可编程标志(PFx)

ADSP-BF561具有48个双向、通用I/O、可编程标志(PF47–0)引脚。外设使用一些可编程的标志引脚(见第17页的引脚说明)。当不用作外设引脚时,每个可编程标志可通过操纵标志控制、状态和中断寄存器进行单独控制,如下所示:

•标志方向控制寄存器-指定每个单独的PFx管脚作为输入或输出的方向。

•标志控制和状态寄存器——ADSP-BF561采用“写一个设置”和“写一个清除”机制,允许在单个指令中设置或清除单个标志的任何组合,而不是强制软件使用读-修改-写过程来控制单个标志的设置,不影响任何其他标志的级别。提供两个控制寄存器,一个寄存器被写入以设置标志值,另一个寄存器被写入以清除标志值。读取标志状态寄存器允许软件询问标志的意义。

•标志中断屏蔽寄存器——这些寄存器允许每个单独的PFx引脚作为处理器的中断。与用于设置和清除单个标志值的标志控制寄存器类似,一个标志中断屏蔽寄存器设置位以启用中断功能,另一个标志中断屏蔽寄存器清除位以禁用中断功能。定义为输入的PFx管脚可以配置为生成硬件中断,而输出的PFx管脚可以配置为生成软件中断。

•标志中断敏感寄存器-这些寄存器指定单个PFx管脚是电平敏感还是边缘敏感,如果边缘敏感,则指定信号的上升边缘或上升边缘和下降边缘是否有效。一个寄存器选择灵敏度的类型,一个寄存器选择哪些边对于边缘灵敏度是重要的。

并行外围接口

ADSP-BF561处理器提供两个并行外设接口(PPI0、PPI1),可直接连接并行A/D和D/A转换器、视频编解码器和其他通用外设。PPI由一个专用的输入时钟管脚、最多3个帧同步管脚和最多16个数据管脚组成。输入时钟支持高达f/2mhz的并行数据速率,同步信号可以配置为输入或输出。SCLK公司

PPI支持多种通用和ITU-R 656操作模式。在通用模式下,PPI提供最多16位数据的半双工双向数据传输。还提供多达3个帧同步信号。在ITU-R 656模式下,PPI提供8位或10位视频数据的半双工双向传输。此外,还支持嵌入式线起始(SOL)和场起始(SOF)前导码包的片上解码。

通用模式说明

PPI的通用模式旨在适应各种各样的数据捕获和传输应用。支持三种不同的子模式:

•输入模式-帧同步和数据输入到PPI。

•帧捕获模式–帧同步是PPI的输出,但数据是输入。

•输出模式–帧同步和数据是来自PPI的输出。

输入模式

输入模式用于ADC应用,以及与硬件信令的视频通信。在最简单的形式中,PPI_FS1是一个外部帧同步输入,用于控制何时读取数据。PPI_延迟MMR允许在接收该帧同步和启动数据读取之间的延迟(以PPI_CLK周期为单位)。输入数据样本的数量是用户可编程的,并由PPI计数寄存器的内容定义。PPI支持8位和10位到16位数据,可在PPI_控制寄存器中编程。

帧捕获模式

帧捕获模式允许视频源充当从属(例如,用于帧捕获)。ADSP-BF561处理器控制何时读取视频源。PPI_FS1是HSYNC输出,PPI_FS2是VSYNC输出。

输出模式

输出模式用于传输视频或其他数据,最多三个输出帧同步。通常,单帧同步适用于数据转换器应用,而两帧或三帧同步可用于通过硬件信令发送视频。

ITU-R 656模式描述

PPI的ITU-R 656模式旨在适应各种各样的视频捕获、处理和传输应用。支持三种不同的子模式:

•仅活动视频模式

•仅垂直消隐模式

•全场模式

仅活动视频模式

仅当一个字段的活动视频部分感兴趣而不是任何消隐间隔时才使用活动视频唯一模式。PPI不读取活动视频结束(EAV)和活动视频开始(SAV)前导符号之间的任何数据,或在垂直消隐间隔期间存在的任何数据。在此模式下,控制字节序列不存储到内存中;它们由PPI过滤。在同步到字段1的开头之后,PPI将忽略传入的样本,直到它看到SAV代码为止。用户指定每帧的活动视频线数(在PPI计数寄存器中)。

垂直消隐间隔模式

在此模式下,PPI只传输垂直消隐间隔(VBI)数据。

全场模式

在此模式下,通过PPI读取整个传入的比特流。这包括可以嵌入在水平和垂直消隐间隔中的活动视频、控制前导序列和辅助数据。数据传输在与字段1同步后立即开始。

动态电源管理

ADSP-BF561提供四种电源管理模式和一种电源管理状态,每种模式具有不同的性能/电源配置文件。此外,动态电源管理还提供了动态改变处理器核心电源电压的控制功能,进一步降低了功耗。控制每个ADSP-BF561外围设备的时钟也降低了功耗。

满工作模式最大性能

在全导通模式下,PLL被启用并且不被绕过,提供最大操作频率的能力。这是实现性能最大的默认执行状态。处理器核心和所有启用的外围设备都以全速运行。

主动运行模式适度节能

在激活模式下,PLL被启用但被旁路。由于PLL被旁路,处理器的核心时钟(CCLK)和系统时钟(SCLK)以输入时钟(CLKIN)的频率运行。在这种模式下,可以改变CLKIN到CCLK的倍增比,尽管在进入完全开启模式之前,这些改变是无法实现的。DMA接入可用于适当配置的L1和L2存储器。

在激活模式下,可以通过PLL控制寄存器(PLL U CTL)禁用PLL。如果禁用,在转换到完全打开或睡眠模式之前,必须重新启用PLL。

休眠工作模式高动态节能

睡眠模式通过禁用处理器核心的时钟(CCLK)来减少功耗。然而,PLL和系统时钟(SCLK)继续在此模式下工作。通常,外部事件会唤醒处理器。当处于睡眠模式时,唤醒断言将使处理器检测到PLL控制寄存器(PLL控制寄存器)中的旁路位的值。

当处于睡眠模式时,系统DMA访问仅对外部存储器可用,而对L1或片上L2存储器不可用。

深度睡眠操作模式最大动态功率节省

深度睡眠模式通过禁用时钟到处理器内核(CCLK)和所有同步外围设备(SCLK)来最大化功率节省。异步外围设备将无法访问内部资源或外部内存。这种断电模式只能通过复位引脚的断言而退出。(重置)。如果禁用旁路,处理器将转换到完全打开模式。如果启用旁路,处理器将转换到活动模式。

休眠状态最大静态功耗节省

休眠状态通过禁用处理器核心(CCLK)和所有同步外围设备(SCLK)的电压和时钟来最大化静态功率节省。通过将b#00写入VR#CTL寄存器的频率位,可以关闭处理器的内部电压调节器。这将同时禁用CCLK和SCLK。此外,它还将内部电源电压(V)设置为0 V,以提供最低的静态功耗。如果要保留处理器状态,任何内部存储的关键信息(内存内容、寄存器内容等)必须在断电前写入非易失性存储设备。由于在此模式下仍提供V,除非另有规定,否则所有外部引脚均为三态。这使得可以连接到处理器的其他设备仍然可以通电,而不会产生不必要的电流。内部供应调节器可以通过断言点滴文本重置pin。

节电

ADSP-BF561支持两个不同的电源域。多个电源域的使用最大限度地提高灵活性,同时保持符合行业标准和公约。通过将ADSP-BF561的内部逻辑隔离到自己的电源域中,与I/O分离,处理器可以利用动态电源管理,而不影响I/O设备。对于不同的电源域没有排序要求。

处理器消耗的功率很大程度上是处理器时钟频率和工作电压平方的函数。例如,时钟频率降低25%,动态功耗降低25%,而电压降低25%,动态功耗降低40%以上。此外,这些节电是相加的,因为如果时钟频率和电源电压都降低,则节电可以是显著的。

ADSP-BF561的动态电源管理特性允许动态控制处理器的输入电压(V)和时钟频率(f)。

功耗节省可以使用功耗节省因子和功耗节省百分比计算进行建模。

节电系数计算如下:

式中变量为:

fCCLKNOM是标称核心时钟频率;fCCLKRED是降低的核心时钟频率;VDDINTNOM是标称内部电源电压;VDDINTRED是降低的内部电源电压;NOM是在fCCLKNOM运行的持续时间;tRED是在fCCLKRED运行的持续时间;节电百分比计算如下:% power savings = (1 – power savings factor) × 100%。

电压调节

ADSP-BF561处理器提供一个片内电压调节器,可以从V电源产生适当的V电压电平。具体型号的调节器公差和可接受的V范围见第20页的操作条件。

图4显示了完成电源管理系统所需的典型外部组件。调节器控制内部逻辑电压水平,并可通过电压调节器控制寄存器(VR_CTL)以50 mV的增量进行编程。为了降低待机功耗,可以对内部电压调节器进行编程,以便在保持I/O电源(V)供应的同时切断处理器核心的电源。在hibernate状态下,仍然可以应用V,因此不需要外部缓冲区。

通过断言RESET从断电状态激活,RESET随后将启动引导序列。用户也可以自行决定禁用和绕过调节器。

内部电压调节功能不适用于任何600兆赫速度等级型号或汽车等级型号。需要外部电压调节,以确保这些部件在600 MHz下正确工作。

电压调节器布局指南

调节器外部元件放置、电路板布线和旁路电容器都对注入芯片上其他模拟电路的噪声有显著影响。在进行电路板布局时,应将VROUT1–0记录道和电压调节器外部组件视为噪声源,且不得将其布线或放置在电路板上的敏感电路或组件附近。所有内部和I/O电源均应通过旁路电容器进行旁路,旁路电容器应尽可能靠近ADSP-BF561处理器。

有关片上电压调节器和相关电路板设计指南的更多详细信息,请参阅模拟设备网站(www.Analog.com)上的开关调节器设计注意事项ADSP-BF533 Blackfin处理器(EE-228)应用说明-使用“EE-228”上的网站搜索。

时钟信号

ADSP-BF561处理器可以由外部晶体、正弦波输入或从外部时钟振荡器导出的缓冲成形时钟进行时钟。

如果使用外部时钟,则它应为TTL兼容信号,在正常运行期间不得停止、更改或低于指定频率运行。此信号连接到处理器的CLKIN管脚。使用外部时钟时,外部引脚必须保持未连接状态。

或者,由于ADSP-BF561处理器包括片内振荡器电路,因此可以使用外部晶体。对于基频操作,使用图5所示的电路。一个并联谐振,基频,微处理器级晶体是连接在CLKIN和XTAL引脚。CLKIN与XTAL引脚之间的片上电阻在500 kΩ范围内。通常不建议进一步并联电阻器。图5所示的两个电容器和串联电阻微调正弦频率的相位和振幅。图5所示的电容器和电阻值仅为典型值。电容值取决于晶体制造商的负载电容建议和物理PCB布局。电阻值取决于晶体制造商指定的驱动电平。系统设计应在对超过允许温度范围的多个设备进行仔细调查的基础上验证自定义值。

第三泛音晶体可以在高于25兆赫的频率下使用。然后,如图5所示,通过添加调谐电感电路,对电路进行修改,以确保晶体仅在第三泛音处工作。

如图6所示,核心时钟(CCLK)和系统外围时钟(SCLK)是从输入时钟(CLKIN)信号导出的。片上PLL能够将CLKIN信号乘以用户可编程的0.5×到64×乘法。默认乘数为10倍,但可以通过软件指令序列进行修改。实时频率变化可以通过简单地写入PLL_DIV寄存器来实现。

所有的片上外围设备都由系统时钟(SCLK)进行计时。系统时钟频率可通过SSEL3–PLL_DIV寄存器的0位。编程值在SSEL字段中定义PLL输出(VCO)和系统时钟之间的分频比。SCLK除法器值为1到15。

系统时钟比率示例

系统时钟的最大频率是F。注意,必须选择除数比以将系统时钟频率限制到其最大值F。通过将适当的值写入PLL除数寄存器(PLLI DIV),SSLE值可以动态地改变而不需要任何PLL锁定延迟。

核心时钟(CCLK)频率也可以通过PLL_DIV寄存器的CSEL1–0位来动态改变。如表6所示,支持的CCLK除法器比率为1、2、4和8。这种可编程核心时钟功能对于快速核心频率修改非常有用。

核心时钟比率

通过PLLYL CTL寄存器编程改变的最大PLL时钟时间为40μs。通过内部电压调节器改变内部电压的最大时间也是40μs。PLLYROCCNT寄存器的复位值为0x200。该值应进行编程,以确保在电压改变或编程新的MSEL值时,唤醒时间为40μs。该值应进行编程,以确保在电压和MSEL值同时改变时,唤醒时间为80μs。PLL_LOCKCNT寄存器的时基是CLKIN周期。

启动模式

ADSP-BF561有三种机制(见表7),用于在复位后自动加载内部L1指令存储器、L2或外部存储器。第四种模式是从外部内存执行,绕过引导序列。

在上电复位和软件启动复位期间采样的复位配置寄存器的BMODE引脚实现以下模式:

•从16位外部存储器执行–执行从地址0x2000 0000开始,16位打包。在这种模式下引导ROM被旁路。所有配置设置都是为可能最慢的设备设置的(3个周期保持时间、15个周期R/W访问时间、4个周期设置)。注意,在旁路模式下,只有Core A可以从外部存储器执行指令。

•从8位/16位外部闪存引导–位于引导ROM内存空间中的8位/16位闪存引导例程使用异步内存组0设置。

所有配置设置都是为最慢的设备设置的(3个周期保持时间;15个周期R/W访问时间;4个周期设置)。

•从SPI主机设备引导–Blackfin处理器以SPI从机模式运行,配置为从SPI主机(主)代理接收.LDR文件的字节。为了在引导ROM繁忙时阻止主机设备进行传输,Blackfin处理器断言一个称为主机等待(host wait,HWAIT)的GPIO pin,以向主机设备发出信号,在解除对标志的断言之前,不再发送任何字节。标志由用户选择,该信息通过标志头的位10:5传输到Blackfin处理器。

•从SPI串行EEPROM(16位、24位可寻址)引导-SPI使用PF2输出引脚选择单个SPIEPROM设备,在地址0x0000提交一个读取命令,并开始将数据计时到L1指令存储器的开头。必须使用16位、24位可寻址SPI兼容EPROM。

对于每个引导模式,引导加载协议用于将程序和数据块从外部内存设备传输到其指定的内存位置。任何启动序列都可以加载多个内存块。加载完所有块后,核心A程序从一级指令SRAM(0xFFA0 0000)开始执行。核心B保持heldoff状态,直到核心a清除SICA_SYSCR的第5位。之后,核心B将在地址0xFF60 0000处开始执行。

此外,复位配置寄存器的第4位可由应用程序代码设置,以在软件复位期间绕过正常引导顺序。在这种情况下,处理器直接跳到L1指令存储器的开头。

指令集说明

Blackfin处理器系列汇编语言指令集采用了一种代数语法,该语法旨在简化编码和可读性。指令被特别调整,以提供一个灵活的,密集编码的指令集,编译到非常小的最终内存大小。指令集还提供功能齐全的多功能指令,允许程序员在一条指令中使用许多处理器核心资源。再加上在微控制器上经常看到的许多特性,在编译C和C++源代码时,这个指令集是非常有效的。此外,该体系结构还支持用户(算法/应用程序代码)和主管(O/S内核、设备驱动程序、调试器、ISRs)操作模式,允许对核心处理器资源进行多级访问。

汇编语言利用了处理器独特的体系结构,具有以下优点:

•无缝集成的DSP/CPU功能针对8位和16位操作进行了优化。

•多问题加载/存储修改的哈佛体系结构,支持两个16位MAC或四个8位ALU加上两个加载/存储加上每个周期两个指针更新。

•所有寄存器、I/O和内存都映射到一个统一的4G字节内存空间,提供了一个简化的编程模型。

•微控制器功能,例如任意位和位字段操作、插入和提取;8位、16位和32位数据类型上的整数操作;以及独立的用户和内核堆栈指针。

代码密度增强,包括16位和32位指令的混合(无模式切换,无代码隔离)。常用指令编码为16位。

开发工具

ADSP-BF561支持一套完整的交叉核心软件和硬件开发工具,包括模拟设备模拟器和VisualDSP++开发环境。支持其他模拟设备处理器的模拟器硬件也完全模拟ADSP-BF561。

VisualDSP++项目管理环境允许程序员开发和调试应用程序。该环境包括一个易于使用的汇编程序,它基于代数语法、存档器(库管理员/库生成器)、链接器、加载器、循环精确指令级模拟器、C/C++编译器和C/C++运行时库,其中包括DSP和数学函数。这些工具的一个关键点是C/C++代码效率。编译器已经开发了用于将C/C++代码有效地翻译为BLASFIN程序集。处理器具有改进编译C/C++代码效率的体系结构特征。

VisualDSP++调试器具有许多重要功能。数据可视化增强了绘图包,提供了显著的灵活性水平。这种用户数据的图形表示使程序员能够快速确定算法的性能。随着算法在复杂度上的增长,这种能力对设计者的开发进度具有日益重要的意义,从而提高生产率。统计分析使程序员能够在处理器运行程序时对其进行非侵入式轮询。VisualDSP++独有的这一特性使软件开发人员能够被动地收集重要的代码执行度量,而不会中断程序的实时特性。从本质上说,开发人员可以快速有效地识别软件中的瓶颈。通过使用profiler,程序员可以专注于程序中影响性能的那些区域,并采取纠正措施。

用VisualDSP++调试程序调试C/C++和汇编程序,程序员可以:

查看混合C/C++和汇编代码(交织源和对象信息)。

•插入断点。

•在寄存器、内存和堆栈上设置条件断点。

•跟踪指令执行。

•执行程序执行的线性或统计分析。

•填充、转储和以图形方式绘制内存内容。

•执行源代码级调试。

•创建自定义调试器窗口。

VisualDSP++IDE允许程序员定义和管理软件开发。它的对话框和属性页允许程序员配置和管理所有的开发工具,包括VisualDSP++编辑器中的颜色语法突出显示。这些功能允许程序员:

•控制开发工具如何处理输入和生成输出。

•与工具的命令行开关保持一对一的通信。

VisualDSP++内核(VDK)结合了专门为解决嵌入式实时编程的内存和时间限制而定制的调度和资源管理。这些功能使工程师能够更有效地开发代码,从而在开发新的应用程序代码时无需从头开始。VDK特性包括线程、关键和非计划区域、信号量、事件和设备标志。VDK还支持基于优先级、先发制人、协作和时间分段的调度方法。此外,VDK被设计成可扩展的。如果应用程序不使用特定功能,则该功能的支持代码将从目标系统中排除。

因为VDK是一个库,所以开发人员可以决定是否使用它。VDK集成到VisualDSP++开发环境中,但也可以与标准的命令行工具一起使用。使用VDK时,开发环境帮助开发人员执行许多容易出错的任务,并帮助管理系统资源,自动生成各种基于VDK的对象,以及在调试使用VDK的应用程序时可视化系统状态。

专家链接器可以用来可视化地操作代码和数据在嵌入式系统中的位置。内存利用率可以以彩色编码的图形形式查看。通过拖动鼠标,代码和数据可以轻松地移动到处理器或外部内存的不同区域。可以检查运行时堆栈和堆的使用情况。专家链接器与现有的链接器定义文件(LDF)完全兼容,允许开发人员在图形和文本环境之间移动。

模拟设备仿真器使用ADSP-BF561的IEEE1149.1JTAG测试访问端口在仿真过程中监视和控制目标板处理器。模拟器提供全速模拟,允许检查和修改内存、寄存器和处理器堆栈。通过使用处理器的JTAG接口可以确保非侵入式电路内仿真。仿真程序不会影响目标系统的加载或定时。

除了模拟设备提供的软件和硬件开发工具外,第三方还提供了一系列支持Blackfin处理器系列的工具。第三方软件工具包括DSP库、实时操作系统和框图设计工具。

EZ-KIT Lite评估板

要评估ADSP-BF561处理器,请使用ADSP-BF561 EZ-KIT Lite板可从模拟设备获得。订单零件号ADDS-BF561-EZLITE。该板具有片上仿真功能,并配备有®启用软件开发。提供多张子卡。

设计一个与模拟器兼容的处理器板

模拟设备系列模拟器是每个系统开发人员测试和调试硬件和软件系统所需的工具。模拟设备在ADSP-BF561上提供了一个IEEE1149.1JTAG测试访问端口(TAP)。模拟器使用TAP访问处理器的内部特性,允许开发人员加载代码、设置断点、观察变量、观察内存和检查寄存器。处理器必须暂停以发送数据和命令,但一旦模拟器完成操作,处理器将设置为全速运行,而不会影响系统计时。

要使用这些模拟器,目标板必须包含一个将处理器的JTAG端口连接到模拟器的头。

有关目标板设计问题的详细信息,包括机械布局、单处理器连接、多处理器扫描链、信号缓冲、信号终端和模拟器pod逻辑,请参阅模拟设备网站(www.Analog.com)上的模拟设备JTAG仿真技术参考(EE-68)-使用“EE-68”上的网站搜索定期更新以跟上仿真器支持的改进。

相关文件

以下描述ADSP-BF561处理器(及相关处理器)的出版物可从任何模拟设备销售办公室订购或在我们的网站上以电子方式访问:

•Blackfin处理器入门

•ADSP-BF561 Blackfin处理器硬件参考

•ADSP-BF53x/BF56x黑鳍处理器编程参考

•ADSP-BF561 Blackfin处理器异常列表