特征
高达600兆赫的高性能Blackfin处理器;两个16位mac,两个40位alu,四个8位视频alu,40位移位器类似risc的寄存器和指令模型,便于编程和编译器友好支持;高级调试、跟踪和性能监视;工作电压范围广;适用于汽车应用;可编程片上电压调节器;160球CSP U BGA、169球PBGA和176领先LQFP包装;记忆高达148k字节的片上存储器;;提供存储器保护的存储器管理单元;带无胶支撑的外部存储器控制器;sdram、sram、flash和rom;SPI的灵活内存启动选项;外部存储器;外围设备;并行外围接口ppi,支持ITU-R 656视频数据格式;2个双通道、全双工同步串行端口,支持8个立体声I2;S通道2存储器到存储器dma;8外围DMASPI兼容端口;三个32位定时器/计数器,支持脉宽调制;实时时钟和看门狗定时器;32位核心计时器;最多16个通用I/O引脚(GPIO);支持irda的uart;事件处理程序调试/JTAG接口;能倍频的片上锁相环。
一般说明
adsp-bf531/adsp-bf532/adsp-bf533处理器是blackfin系列产品的一员,集成了模拟设备公司/英特尔微信号体系结构(msa)。blackfin处理器将双mac最先进的信号处理引擎、干净、正交risclike微处理器指令集的优点以及单指令、多数据(simd)多媒体功能结合到一个指令集体系结构中。
adsp-bf531/adsp-bf532/adsp-bf533处理器完全兼容代码和管脚,仅在性能和片上存储器方面有所不同。
通过集成一组丰富的业界领先的系统外围设备和内存,Blackfin处理器是下一代应用程序的首选平台,这些应用程序需要RISC般的可编程性、多媒体支持和集成包中的前沿信号处理。
便携式低功耗架构
Blackfin处理器提供世界级的电源管理和性能。blackfin处理器采用低功耗和低电压设计方法,具有动态电源管理功能,能够改变电压和工作频率,显著降低总体功耗。与仅仅改变工作频率相比,改变电压和频率可以显著降低功耗。这意味着便携式设备的电池寿命更长。
系统集成
adsp-bf531/adsp-bf532/adsp-bf533处理器是下一代数字通信和消费类多媒体应用的高度集成的系统芯片解决方案。通过将行业标准接口与高性能信号处理核心相结合,用户可以快速开发经济高效的解决方案,而无需昂贵的外部组件。系统外围设备包括一个uart端口、一个spi端口、两个串行端口(sports)、四个通用定时器(三个具有pwm功能)、一个实时时钟、一个看门狗定时器和一个并行外围接口。
处理器外围设备
adsp-bf531/adsp-bf532/adsp-bf533处理器-通过多条高带宽总线连接到核心的一组丰富的外围设备,提供了系统配置的灵活性以及出色的整体系统性能(参见第1页图1中的功能框图)。通用外围设备包括uart、具有pwm(脉冲宽度调制)和脉冲测量能力的定时器、通用i/o管脚、实时时钟和看门狗定时器等功能。这组功能满足了各种典型的系统支持需求,并且通过部件的系统扩展能力得到了增强。除了这些通用外设外,处理器还包含高速串行和并行端口,用于连接各种音频、视频和调制解调器编解码器功能;用于灵活管理来自片上外设或外部源的中断的中断控制器;以及用于定制处理器和系统对许多应用场景的性能和功率特性。
除通用I/O、实时时钟和计时器外,所有外围设备都由灵活的DMA结构支持。还有一个单独的内存dma通道,专用于处理器的各种内存空间(包括外部sdram和异步内存)之间的数据传输。多条运行频率高达133mhz的片上总线提供足够的带宽,使处理器核心与所有片上和外部外设上的活动一起运行。
这些处理器包括一个支持处理器动态电源管理能力的片内电压调节器。电压调节器提供VDDEXT的一系列核心电压水平。用户可自行决定绕过电压调节器。
黑鳍处理器核心
如第5页图2所示,Blackfin处理器核心包含两个16位乘法器、两个40位累加器、两个40位ALU、四个视频ALU和一个40位移位器。计算单元处理来自寄存器文件的8位、16位或32位数据。
计算寄存器文件包含八个32位寄存器。当对16位操作数数据执行计算操作时,寄存器文件作为16个独立的16位寄存器运行。计算操作的所有操作数都来自多端口寄存器文件和指令常量字段。
每个mac可以在每个周期中执行16位乘以16位的乘法,将结果累加到40位累加器中。支持有符号和无符号格式、舍入和饱和。
ALU对16位或32位数据执行一组传统的算术和逻辑操作。此外,还包括许多特殊指令,以加速各种信号处理任务。这些操作包括位操作,如字段提取和总体计数、模232乘法、除法原语、饱和和舍入以及符号/指数检测。视频指令集包括字节对齐和打包操作、带剪裁的16位和8位加法、8位平均操作和8位减法/绝对值/累加(saa)操作。还提供了比较/选择和向量搜索指令。
对于某些指令,可以在寄存器对(计算寄存器的16位高半部分和16位低半部分)上同时执行两个16位alu操作。使用第二个ALU可以执行四个16位操作。
40位移位器可以执行移位和旋转,用于支持规范化、字段提取和字段存放指令。程序序列器控制指令执行的流程,包括指令对齐和解码。对于程序流控制,Sequencer支持PC相对和间接条件跳转(带有静态分支预测)和子例程调用。提供硬件以支持零开销循环。体系结构是完全互锁的,这意味着程序员在执行具有数据依赖性的指令时不需要管理管道。
地址运算单元提供两个地址,用于同时从存储器中进行双回迁。它包含一个多端口寄存器文件,由四组32位索引、修改、长度和基址寄存器(用于循环缓冲)和八个额外的32位指针寄存器(用于C型索引堆栈操作)组成。
blackfin处理器支持改进的哈佛架构和层次化的内存结构。一级(l1)存储器通常以全处理器速度运行,很少或没有延迟。在l1级,指令存储器仅保存指令。两个数据存储器保存数据,专用的草稿行数据存储器存储堆栈和局部变量信息。
此外,还提供了多个l1内存块,提供sram和高速缓存的可配置组合。内存管理单元(mmu)为可能在核心上运行的单个任务提供内存保护,并可以保护系统寄存器不受意外访问。
该体系结构提供了三种操作模式:用户模式、管理模式和仿真模式。用户模式限制了对某些系统资源的访问,从而提供了一个受保护的软件环境,而管理模式对系统和核心资源的访问是不受限制的。
blackfin处理器指令集已经过优化,因此16位操作码代表了最常用的指令,从而产生了极好的编译代码密度。复杂的dsp指令被编码成32位操作码,表示功能齐全的多功能指令。blackfin处理器支持有限的多发能力,其中32位指令可以与两个16位指令并行发出,允许程序员在一个指令周期内使用许多核心资源。
blackfin处理器汇编语言使用代数语法,便于编码和可读性。该架构已被优化用于与C/C++编译器一起使用,从而导致快速和高效的软件实现。
存储器结构
adsp-bf531/adsp-bf532/adsp-bf533处理器使用32位地址将内存视为单个统一的4g字节地址空间。所有资源,包括内部存储器、外部存储器和I/O控制寄存器,都占用这个公共地址空间的单独部分。该地址空间的存储器部分以分层结构布置,以提供一些非常快、低延迟的片上存储器(如cache或sram)和较大、较低成本和性能的片外存储器系统的良好成本/性能平衡。参见第6页图3、图4和图5。
l1内存系统是blackfin处理器可用的主要最高性能内存。通过外部总线接口单元(ebiu)访问的片外存储器系统提供sdram、闪存和sram的扩展,可选地访问高达132m字节的物理存储器。
存储器dma控制器提供高带宽数据移动能力。它可以在内部存储器和外部存储器空间之间执行代码或数据的块传输。
内部(片上)存储器
处理器有三块片上存储器,提供对内核的高带宽访问。第一块是l1指令存储器,由高达80k字节的sram组成,其中16k字节可配置为四路集合关联缓存。此内存以处理器的最高速度访问。
第二片上存储器块是l1数据存储器,由一个或两个高达32k字节的列组成。内存库是可配置的,提供缓存和sram功能。此内存块以全处理器速度访问。
第三个内存块是4k字节的scratchpad sram,其运行速度与l1内存相同,但只能作为数据sram访问,不能配置为高速缓存。
外部(片外)存储器
外部存储器通过外部总线接口单元(EBIU)访问。这个16位接口提供了到同步dram(sdram)以及多达四个异步存储设备(包括flash、eprom、rom、sram和内存映射i/o设备)的无胶连接。
兼容PC133的SDRAM控制器可编程为接口高达128M字节的SDRAM。sdram控制器允许每个内部sdram银行打开一行,最多可以打开四个内部sdram银行,从而提高系统的整体性能。
异步存储器控制器可以编程控制多达四组设备,具有非常灵活的定时参数,可用于多种设备。无论使用的设备大小如何,每个存储组都占用一个1兆字节的段,因此只有在每个存储组都充满1兆字节的内存时,这些存储组才是连续的。
I/O内存空间
Blackfin处理器不定义单独的I/O空间。所有资源都通过平面32位地址空间映射。片上I/O设备将其控制寄存器映射到4G字节地址空间顶部附近的地址处的内存映射寄存器(MMR)。它们被分成两个较小的块,一个包含用于所有核心功能的控制mmr,另一个包含用于设置和控制核心外部芯片外设所需的寄存器。mmr只能在supervisor模式下访问,并显示为片上外围设备的保留空间。
引导
adsp-bf531/adsp-bf532/adsp-bf533处理器包含一个小的引导内核,该内核为引导配置适当的外围设备。如果处理器配置为从引导ROM内存空间引导,则处理器开始从片上引导ROM执行。
事件处理
处理器上的事件控制器将所有异步和同步事件处理给处理器。adsp-bf531/adsp-bf532/adsp-bf533处理器提供支持嵌套和优先级的事件处理。嵌套允许多个事件服务例程同时处于活动状态。优先级排序确保高优先级事件的服务优先于低优先级事件的服务。控制器支持五种不同类型的事件:
(1)、仿真——仿真事件导致处理器进入仿真模式,允许通过JTAG接口命令和控制处理器。
(2)、重置–此事件重置处理器。
(3)、不可屏蔽中断(NMI)–NMI事件可以由软件看门狗定时器或NMI输入信号生成到处理器。NMI事件通常用作断电指示器,以启动系统的有序关机。
(4)、异常–与程序流同步发生的事件(即,在允许指令完成之前发生异常)。数据对齐冲突和未定义的指令等条件会导致异常。
(5)、中断-与程序流异步发生的事件。它们是由输入管脚、定时器和其他外围设备以及显式软件指令引起的。
每个事件类型都有一个关联的寄存器来保存返回地址和一个关联的事件指令返回。当事件被触发时,处理器的状态保存在管理器堆栈中。
adsp-bf531/adsp-bf532/adsp-bf533处理器的事件控制器由两级组成:核心事件控制器(cec)和系统中断控制器(sic)。核心事件控制器与系统中断控制器一起工作,对所有系统事件进行优先级排序和控制。概念上,来自外围设备的中断进入sic,然后直接路由到cec的通用中断。
核心事件控制器(CEC)
除了专用中断和异常事件外,CEC还支持9个通用中断(IVG15–7)。在这些通用中断中,建议为软件中断处理程序保留两个最低优先级的中断(ivg15-14),留下7个优先级的中断输入来支持处理器的外围设备。表2描述了CEC的输入,在事件向量表(EVT)中标识了它们的名称,并列出了它们的优先级。
系统中断控制器(SIC)
系统中断控制器提供从许多外围中断源到cec的优先级通用中断输入的事件映射和路由。尽管处理器提供了一个默认的映射,但是用户可以通过将适当的值写入中断分配寄存器(sic_iarx)来改变中断事件的映射和优先级。表3描述了到SIC的输入和到CEC的默认映射。
事件控制
处理器提供了非常灵活的机制来控制事件的处理。在cec中,三个寄存器用于协调和控制事件。每个寄存器宽32位:
(1)、CEC中断锁存寄存器(ILAT)–ILAT寄存器指示事件被锁存的时间。当处理器锁定事件时设置适当的位,当事件被系统接受时清除适当的位。此寄存器由控制器自动更新,但也可以写入以清除(取消)锁定事件。此寄存器可以在supervisor模式下读取,也只能在supervisor模式下清除相应的imask位时写入。
(2)、CEC中断屏蔽寄存器(IMASK)–IMASK寄存器控制单个事件的屏蔽和取消屏蔽。当在imask寄存器中设置一个位时,该事件将被取消屏蔽,并在断言时由cec处理。imask寄存器中的一个清除位屏蔽了该事件,防止处理器处理该事件,即使该事件可能被锁存在ilat寄存器中。此寄存器可以在管理器模式下读取或写入。注意,通用中断可以分别使用sti和cli指令全局启用和禁用。
(3)、CEC中断挂起寄存器(IPEND)–IPEND寄存器跟踪所有嵌套事件。IPEND寄存器中的一个设置位表示事件当前处于活动状态或在某个级别嵌套。此寄存器由控制器自动更新,但在管理器模式下可以读取。
SIC通过提供三个32位中断控制和状态寄存器来进一步控制事件处理。每个寄存器包含一个与表3所示的每个外围中断事件相对应的位。
(1)、SIC中断屏蔽寄存器(SIC_IMASK)–该寄存器控制每个外围中断事件的屏蔽和取消屏蔽。当在该寄存器中设置一个位时,该外围事件将被取消屏蔽,并在断言时由系统处理。此寄存器中的一个清除位屏蔽了外围事件,从而阻止处理器处理该事件。
(2)、SIC中断状态寄存器(SIC_ISR)–由于多个外设可以映射到单个事件,该寄存器允许软件确定触发中断的外设事件源。设置位表示外设正在断言中断,清除位表示外设没有断言事件。
(3)、SIC中断唤醒启用寄存器(SIC_iwr)–通过启用该寄存器中的相应位,可以配置一个外设来唤醒处理器,如果在生成事件时内核处于空闲状态。请参阅第11页的动态电源管理。
由于多个中断源可以映射到一个通用中断,因此在中断处理之前或过程中,可以同时对已在此中断输入上检测到的中断事件进行多个脉冲断言。作为中断确认,sic监视ipend寄存器的内容。
当检测到中断上升沿时,设置适当的ILAT寄存器位(检测需要两个核心时钟周期)。当设置了相应的ipend寄存器位时,该位被清除。IPEND位表示事件已进入处理器管道。此时,cec在相应的事件输入上识别并排队下一个上升沿事件。从通用中断的上升沿转换到断言的ipend输出的最小延迟是三个核心时钟周期;但是,延迟可能要高得多,这取决于处理器内部的活动和状态。
DMA控制器
adsp-bf531/adsp-bf532/adsp-bf533处理器有多个独立的dma信道,支持自动数据传输,处理器核心的开销最小。DMA传输可以发生在处理器的内部存储器和任何支持DMA的外围设备之间。另外,dma传输可以在任何支持dma的外围设备和连接到外部存储器接口的外部设备之间完成,包括sdram控制器和异步存储器控制器。支持dma的外设包括sports、spi端口、uart和ppi。每个支持dma的外设至少有一个专用dma信道。
dma控制器支持一维(1-d)和二维(2-d)dma传输。dma传输初始化可以从寄存器或称为描述符块的参数集实现。
二维dma功能支持任意行和列大小(最多64k个元素乘以64k个元素),任意行和列步长(最多±32k个元素)。此外,列步长可以小于行步长,从而允许实现交错数据流。此功能在视频应用程序中特别有用,在这些应用程序中,数据可以动态解交织。
dma控制器支持的dma类型的示例包括:
(1)、一个单独的线性缓冲器,完成后停止
(2)、一个循环的、自动刷新的缓冲区,它中断每个满缓冲区或部分满缓冲区
(3)、使用描述符链表的1-D或2-D DMA
(4)、使用描述符数组的二维DMA,仅指定公共页中的基本DMA地址
除了专用外围dma信道外,还有两对存储器dma信道,用于处理器系统的各种存储器之间的传输。这使得在任何存储器(包括外部sdram、rom、sram和flash存储器)之间传输数据块的处理器干预最小。存储器dma传输可以通过非常灵活的基于描述符的方法或基于标准寄存器的自动缓冲机制来控制。
实时时钟
处理器实时时钟(RTC)提供了一组强大的数字手表功能,包括当前时间、秒表和闹钟。RTC由ADSP-BF531/ADSP-BF532/ADSP-BF533处理器外部的32.768 kHz晶体计时。rtc外围设备有专用的电源管脚,因此即使处理器的其余部分处于低功耗状态,它也可以保持通电和计时。RTC提供多种可编程中断选项,包括每秒中断、分钟、小时或白天时钟计时、可编程秒表倒计时中断或在编程报警时间中断。
32.768khz的输入时钟频率被预分频器分成1hz的信号。计时器的计数器功能由四个计数器组成:60秒计数器、60分钟计数器、24小时计数器和32768天计数器。
启用时,当定时器输出与报警控制寄存器中的编程值匹配时,报警功能生成中断。这两个闹钟是一天中的时间和一天中的时间。
秒表功能从编程值开始倒计时,分辨率为1秒。当秒表启用且计数器下溢时,会生成中断。与其他外围设备一样,rtc可以在生成任何rtc唤醒事件时将处理器从睡眠模式唤醒。此外,rtc唤醒事件可以将处理器从深度睡眠模式唤醒,并将芯片内部电压调节器从断电状态唤醒。将RTC引脚RTXi和RTXo与外部组件连接,如图6所示。
看门狗定时器
adsp-bf531/adsp-bf532/adsp-bf533处理器包括一个32位定时器,可用于实现软件看门狗功能。如果计时器在被软件重置之前过期,软件看门狗可以通过生成硬件重置、不可屏蔽中断(nmi)或通用中断来强制处理器进入已知状态,从而提高系统可用性。程序员初始化计时器的计数值,启用适当的中断,然后启用计时器。此后,软件必须在计数器从编程值计数为零之前重新加载计数器。这可以保护系统不处于未知状态,在这种状态下,通常会重置计时器的软件由于外部噪声条件或软件错误而停止运行。
如果配置为生成硬件重置,看门狗计时器将重置核心和处理器外围设备。复位后,软件可以通过询问看门狗定时器控制寄存器中的状态位来确定看门狗是否是硬件复位的源。
计时器由系统时钟(SCLK)以最大频率FSCLK计时。
计时器
在adsp-bf531/adsp-bf532/adsp-bf533处理器中有四个通用可编程定时器单元。三个定时器有一个外部引脚,可以配置为脉冲宽度调制器(pwm)或定时器输出,作为定时器时钟的输入,或作为测量脉冲宽度和外部事件周期的机制。这些定时器可以与到pf1引脚(taclk)的外部时钟输入、到ppi时钟引脚(tmrclk)的外部时钟输入或到内部sclk同步。
定时器单元可与uart一起用于测量数据流中脉冲的宽度,以便为串行信道提供自动音频检测功能。
定时器可以产生对处理器核心的中断,为同步提供周期性事件,可以是对系统时钟,也可以是对外部信号的计数。
除了三个通用可编程定时器外,还提供了第四个定时器。这个额外的计时器由内部处理器时钟计时,通常用作生成操作系统周期性中断的系统时钟。
串行端口(运动型)
adsp-bf531/adsp-bf532/adsp-bf533处理器包含两个用于串行和多处理器通信的双通道同步串行端口(sport0和sport1)。运动支持以下功能:
(1)、可进行I2s操作。
(2)、双向操作-每项运动都有两组独立的发送和接收管脚,支持八个I2s立体声音频通道。
(3)、缓冲(8深)传输和接收端口——每个端口都有一个数据寄存器,用于在其他处理器组件之间传输数据字,并有一个移位寄存器,用于将数据移入和移出数据寄存器。
(4)、时钟-每个发送和接收端口可以使用外部串行时钟,也可以生成自己的时钟,频率范围从(fsclk/131070)Hz到(fsclk/2)Hz。
(5)、字长–每个运动支持长度从3位到32位的串行数据字,首先传输最高有效位或最低有效位。
(6)、帧-每个发送和接收端口都可以运行,每个数据字有或没有帧同步信号。帧同步信号可以在内部或外部产生,高电平或低电平,具有两个脉冲宽度和早期或晚期帧同步。
(7)、硬件压扩-根据ITU建议G.711,每个运动都可以执行A律或μ律压扩。压扩可以在运动的发射和/或接收信道上选择,而无需额外的延迟。
(8)、具有单周期开销的DMA操作–每个运动可以自动接收和传输多个内存数据缓冲区。处理器可以链接或链运动和存储器之间的dma传输序列。
(9)、中断-每个传输和接收端口在完成数据字传输时产生中断,或在通过dma传输一个或多个数据缓冲区之后。
(10)、多通道能力——每项运动在1024通道窗口中支持128个通道,并与H.100、H.110、MVIP-90和HMVIP标准兼容。
通过设置PLL控制寄存器的位15,可以启用额外的250 mV运动输入滞后。设置此位时,所有运动输入引脚的滞后都会增加。
串行外围接口(SPI)端口adsp-bf531/adsp-bf532/adsp-bf533处理器具有spi兼容端口,使处理器能够与多个spi兼容设备通信。
spi接口使用三个管脚传输数据:两个数据管脚(主输出从机输入、mosi和主输入从机输出,miso)和一个时钟管脚(串行时钟,sck)。SPI芯片选择输入引脚(spiss)让其他spi设备选择进程-sor和七个spi芯片选择输出管脚(spisel7–1),让处理器选择其他spi设备。spi选择管脚是重新配置的通用i/o管脚。使用这些管脚,spi端口提供全双工、同步串行接口,支持主/从模式和多主环境。
spi端口的波特率和时钟相位/极性是可编程的,它有一个集成的dma控制器,可配置为支持发送或接收数据流。spi-dma控制器在任何给定的时间只能为单向访问提供服务。
spi端口时钟速率计算如下:
其中16位spi_baud寄存器包含2到65535的值。在传输过程中,spi端口通过在其两条串行数据线上串行地移入和移出数据来同时发送和接收数据。串行时钟线同步两条串行数据线上的数据移位和采样。
异步接口
adsp-bf531/adsp-bf532/adsp-bf533处理器提供全双工通用异步收发(uart)端口,与pc标准uart完全兼容。UART端口为其他外设或主机提供简化的UART接口,支持全双工、支持DMA、异步串行数据传输。UART端口支持5个数据位到8个数据位、1个停止位或2个停止位以及无奇偶校验。UART端口支持两种操作模式:
(1)、PIO(编程I/O)-处理器通过写入或读取I/O映射的UART寄存器来发送或接收数据。数据在发送和接收时都是双缓冲的。
(2)、DMA(直接存储器访问)–DMA控制器传输发送和接收数据。这就减少了在存储器之间传输数据所需的中断次数和频率。uart有两个专用的dma信道,一个用于发送,一个用于接收。这些dma信道的默认优先级比大多数dma信道低,因为它们的服务速率相对较低。波特率、串行数据格式、错误代码生成和状态以及UART端口的中断都是可编程的。
UART可编程功能包括:
(1)、支持从(fsclk/1048576)比特/秒到(fsclk/16)比特/秒的比特率。
(2)、支持每帧7位到12位的数据格式。
(3)、发送和接收操作都可以配置为向处理器生成可屏蔽中断。
UART端口的时钟速率计算如下:
其中16位uart_除数来自uart_dlh寄存器(最高有效8位)和uart_dll寄存器(最低有效8位)。结合通用定时器功能,支持自动音频检测。
在支持红外数据关联(irda)串行红外物理层链路规范(sir)协议的情况下,uart的功能进一步扩展。
通用I/O端口F
adsp-bf531/adsp-bf532/adsp-bf533处理器具有端口F上的16个双向通用I/O引脚(PF15–0)。每个通用I/O引脚可通过操作GPIO控制、状态和中断寄存器进行单独控制:
(1)、GPIO方向控制寄存器-指定每个单独的PFX管脚作为输入或输出的方向。
(2)、GPIO控制和状态寄存器——处理器采用“写一修改”机制,允许在单个指令中修改单个GPIO管脚的任何组合,而不影响任何其他GPIO管脚的级别。提供四个控制寄存器。写入一个寄存器以设置GPIO管脚值,写入一个寄存器以清除GPIO管脚值,写入一个寄存器以切换GPIO管脚值,写入一个寄存器以指定GPIO管脚值。读取GPIO状态寄存器允许软件询问GPIO引脚的意义。
(3)、GPIO中断屏蔽寄存器——两个GPIO中断屏蔽寄存器允许每个单独的PFX引脚作为处理器的中断。与用于设置和清除单个GPIO引脚值的两个GPIO控制寄存器类似,一个GPIO中断屏蔽寄存器设置位以启用中断功能,另一个GPIO中断屏蔽寄存器清除位以禁用中断功能。定义为输入的pfx管脚可以配置为生成硬件中断,而输出的pfx管脚可以由软件中断触发。
(4)、GPIO中断敏感寄存器-两个GPIO中断敏感寄存器指定单个PFX管脚是水平敏感还是边缘敏感,并指定边缘敏感是仅信号的上升边缘还是上升边缘和下降边缘都重要。一个寄存器选择灵敏度的类型,一个寄存器选择哪些边对于边缘灵敏度是重要的。
并行外围接口
处理器提供一个并行外围接口(ppi),可以直接连接到并行adc和dac、视频编码器和解码器以及其他通用外围设备。ppi由一个专用的输入时钟管脚、最多三个帧同步管脚和最多16个数据管脚组成。输入时钟支持高达系统时钟速率一半的并行数据速率,同步信号可以配置为输入或输出。
ppi支持多种通用和itu-r 656操作模式。在通用模式下,ppi提供最多16位数据的半双工双向数据传输。还提供多达三个帧同步信号。在itu-r 656模式下,ppi提供8位或10位视频数据的半双工双向传输。此外,支持嵌入式线起始(sol)和场起始(sof)前导码包的片上解码。
通用模式说明
ppi的通用模式旨在适应各种各样的数据捕获和传输应用。
支持三种不同的子模式:
(1)、输入模式-帧同步和数据输入到PPI。
(2)、帧捕获模式–帧同步是PPI的输出,但数据是输入。
(3)、输出模式–帧同步和数据是来自PPI的输出。
输入方式
输入模式用于ADC应用,以及与硬件信令的视频通信。在最简单的形式中,ppi_fs1是一个外部帧同步输入,用于控制何时读取数据。ppi_延迟mmr允许在接收该帧同步和启动数据读取之间的延迟(以ppi_clk周期为单位)。输入数据样本的数量是用户可编程的,并由ppi计数寄存器的内容定义。PPI支持8位和10位到16位数据,可在PPI_控制寄存器中编程。
帧捕获模式
帧捕获模式允许视频源充当从属(例如,用于帧捕获)。处理器控制何时读取视频源。ppi_fs1是hsync输出,ppi_fs2是vsync输出。
输出模式
输出模式用于传输视频或其他数据,最多三个输出帧同步。通常,单帧同步适用于数据转换器应用,而两帧或三帧同步可用于通过硬件信令发送视频。
ITU-R 656模式描述
ppi的itu-r 656模式旨在适应各种各样的视频捕获、处理和传输应用。支持三种不同的子模式:
(1)、仅活动视频模式
(2)、仅垂直消隐模式
(3)、全场模式
仅活动视频模式
仅当感兴趣的是字段的活动视频部分而不是任何消隐间隔时,使用“仅活动视频”模式。ppi不读取活动视频结束(eav)和活动视频开始(sav)前导符号之间的任何数据,或在垂直消隐间隔期间存在的任何数据。在此模式下,控制字节序列不存储到内存中;它们由ppi过滤。在同步到字段1的开头之后,ppi将忽略传入的样本,直到它看到sav代码为止。用户指定每帧的活动视频线数(在PPI计数寄存器中)。
垂直消隐间隔模式
在此模式下,PPI只传输垂直消隐间隔(VBI)数据。
全场模式
在此模式下,通过ppi读取整个传入的比特流。这包括活动视频、控制前导序列和可嵌入水平和垂直消隐间隔中的辅助数据。数据传输在与字段1同步后立即开始。数据通过8个dma引擎从处理器核心自动传输到同步通道或从同步通道传输。
动态电源管理
adsp-bf531/adsp-bf532/adsp-bf533处理器提供四种工作模式,每种模式具有不同的性能/功率配置。此外,动态电源管理还提供了动态改变处理器核心电源电压的控制功能,进一步降低了功耗。控制每个处理器外围设备的时钟也可以降低功耗。有关每个模式的电源设置摘要。
全开启工作模式最大性能
在全开模式下,PLL被启用且不被旁路,提供最大工作频率的能力。这是可以获得最大性能的加电默认执行状态。处理器核心和所有启用的外围设备都以全速运行。
主动运行模式适度节能
在激活模式下,PLL被启用但被旁路。由于pll被旁路,处理器的核心时钟(cclk)和系统时钟(sclk)以输入时钟(clkin)的频率运行。dma接入可用于适当配置的l1存储器。
在激活模式下,可以通过PLL控制寄存器(PLL U CTL)禁用PLL。如果禁用,PLL必须重新启用,然后才能转换到完全打开或睡眠模式。
休眠工作模式高动态节能
睡眠模式通过禁用处理器核心的时钟(cclk)来减少动态功耗。然而,pll和系统时钟(sclk)继续在此模式下工作。通常,外部事件或rtc活动会唤醒处理器。当处于睡眠模式时,唤醒断言会使处理器检测到PLL控制寄存器(PLL U CTL)中旁路位的值。如果禁用旁路,处理器将转换到完全打开模式。如果启用旁路,处理器将转换到活动模式。在睡眠模式下,不支持对一级内存的系统DMA访问。
深度睡眠操作模式最大动态节能
深度睡眠模式通过禁用处理器核心(CCLK)和所有同步外围设备(SCLK)的时钟,最大限度地节省动态功耗。异步外围设备(如rtc)可能仍在运行,但无法访问内部资源或外部内存。这种断电模式只能通过断言重置中断(reset)或由rtc生成的异步中断退出。当处于深度睡眠模式时,rtc异步中断会导致进程-或转换到活动模式。在深度睡眠模式下断言重置会导致处理器转换到fullon模式。
休眠状态最大静态功耗节省
休眠状态通过禁用处理器核心(CCLK)和所有同步外围设备(SCLK)的电压和时钟,最大限度地节省静态功耗。通过将b 00写入vr ctl寄存器的频率位,可以关闭处理器的内部电压调节器。除了禁用时钟外,还将内部电源电压(VDDINT)设置为0 V,以提供最低的静态功耗。如果要保留处理器状态,任何内部存储的关键信息(内存内容、寄存器内容等)必须在断电前写入非易失性存储设备。
由于VDDEXT仍在此模式下提供,除非另有规定,否则所有外部引脚均为三态。这使得可以连接到处理器的其他设备仍然可以通电,而不会产生不必要的电流。内部电源调节器可以被实时时钟唤醒或断言重置管脚。
节电
处理器支持三个不同的电源域。多个电源域的使用最大限度地提高了灵活性,同时保持了对行业标准和惯例的遵从性。通过将处理器的内部逻辑隔离到自己的电源域中,与rtc和其他i/o分离,处理器可以利用动态电源管理,而不影响rtc或其他i/o设备。对于不同的电源域没有排序要求。
处理器消耗的功率很大程度上是处理器时钟频率和工作电压平方的函数。例如,时钟频率降低25%,动态功耗降低25%,而电压降低25%,动态功耗降低40%以上。此外,这些节电是相加的,因为如果时钟频率和电源电压都降低,则节电可以是显著的。
处理器的动态电源管理特性允许动态控制处理器的输入电压(vddint)和时钟频率(fcclk)。功耗节省可以使用功耗节省因子和功耗节省百分比计算进行建模。
节电系数计算如下:
式中变量为:
fcclknom是标称核心时钟频率;fcclkred是降低的核心时钟频率;vddintnom是标称内部电源电压;vddintred是降低的内部电源电压;tnom是在fcclknom运行的持续时间;tred是在fcclkred运行的持续时间。
节电百分比计算如下:
电压调节
blackfin处理器提供了一个片内电压调节器,可以从vddext电源产生适当的vddint电压电平。具体型号的调节器公差和可接受的VDDEXT范围见第20页的操作条件。
图7显示了完成电源管理系统所需的典型外部组件。调节器控制内部逻辑电压水平,并可通过电压调节器控制寄存器(vr_ctl)以50 mV的增量进行编程。为了降低待机功耗,可以对内部电压调节器进行编程,以便在保持I/O电源(VDDEXT)供电的同时切断处理器核心的电源。当处于休眠状态时,I/O电源仍在使用中,因此不需要外部缓冲区。电压调节器可以通过rtc唤醒或断言重置,这两个操作都会启动启动序列。用户也可以自行决定禁用和绕过调节器。
电压调节器布局指南
调节器外部元件放置、电路板布线和旁路电容器都对注入芯片上其他模拟电路的噪声有显著影响。在进行电路板布局时,应将VROUT1–0记录道和电压调节器外部组件视为噪声源,且不得将其布线或放置在电路板上的敏感电路或组件附近。所有的内部和I/O电源都应该被旁路,旁路电容器应该尽可能靠近处理器。
有关片上电压调节器和相关电路板设计指南的更多详细信息,请参阅模拟设备网站()上的开关调节器设计注意事项ADSP-BF533 Blackfin处理器(EE-228)应用说明-使用“EE-228”上的网站搜索。
时钟信号
adsp-bf531/adsp-bf532/adsp-bf533处理器可以由外部晶体、正弦波输入或从外部时钟振荡器导出的缓冲成形时钟进行时钟。
如果使用外部时钟,则它应为TTL兼容信号,在正常运行期间不得停止、更改或低于指定频率运行。此信号连接到处理器的clkin管脚。使用外部时钟时,外部引脚必须保持未连接状态。或者,由于处理器包括片内振荡器电路,因此可以使用外部晶体。对于基频操作,使用图8所示的电路。
在clkin和xtal管脚上连接有一个平行的谐振、基频、微处理器级晶体。CLKIN和XTAL引脚之间的片内电阻在500 K范围内。通常不建议进一步并联电阻器。图8所示的两个电容器和串联电阻微调正弦频率的相位和振幅。图8所示的电容器和电阻值仅为典型值。电容值取决于晶体制造商的负载电容建议和物理PCB布局。电阻值取决于晶体制造商指定的驱动电平。系统设计应在对超过允许温度范围的多个设备进行仔细调查的基础上验证自定义值。
第三泛音晶体可以在高于25兆赫的频率下使用。然后,如图8所示,通过添加调谐电感电路,对电路进行修改,以确保晶体仅在第三泛音处工作。
如图9所示,核心时钟(cclk)和系统外围时钟(sclk)是从输入时钟(clkin)信号导出的。片上pll能够将clkin信号乘以用户可编程的0.5到64倍倍增因数(以指定的最小值和最大值为界VCO频率)。默认乘数为10,但可以通过软件指令序列进行修改。实时频率变化可以通过简单地写入pll_div寄存器来实现。
所有的片上外围设备都由系统时钟(SCLK)进行计时。系统时钟频率可通过PLL_div寄存器的SSEL3–0位进行编程。在SSEL字段中编程的值定义了PLL输出(VCO)和系统时钟之间的分频比。SCLK除法器值为1到15。表6说明了典型的系统时钟比率。
系统时钟的最大频率是fsclk。必须选择除数比以将系统时钟频率限制在fsclk的最大值。通过将适当的值写入pll除数寄存器(pll_div),可以在没有pll锁延迟的情况下动态更改ssel值。当SSEL值改变时,它会影响从SCLK信号导出其时钟信号的所有外围设备。
核心时钟(cclk)频率也可以通过pll_div寄存器的csel1–0位来动态改变。如表7所示,支持的cclk除法器比率为1、2、4和8。这种可编程核心时钟功能对于快速核心频率修改非常有用。
启动模式
adsp-bf531/adsp-bf532/adsp-bf533处理器有两种机制,用于在复位后自动加载内部l1指令存储器。第三种模式是从外部内存执行,绕过引导序列。
在上电复位和软件启动复位期间采样的复位配置寄存器的BMode引脚实现以下模式:
(1)、从16位外部存储器执行–执行从地址0x2000 0000开始,16位打包。在这种模式下引导rom被旁路。所有配置设置都是为最慢的设备设置的(3个周期保持时间;15个周期R/W访问时间;4个周期设置)。
(2)、从8位或16位外部闪存启动-位于启动ROM内存空间中的闪存启动例程使用异步内存组0设置。所有配置设置都是为最慢的设备设置的(3个周期保持时间;15个周期R/W访问时间;4个周期设置)。
(3)、从SPI串行EEPROM/闪存(8位、16位或24位可寻址,或ATMEL AT45DB041、AT45DB081或AT45DB161)引导-SPI使用PF2输出引脚选择单个SPI EEPROM/闪存设备,提交读取命令和连续地址字节(0x00),直到检测到有效的8位、16位或24位可寻址EEPROM/闪存设备,并开始cl在一级指令存储器开始时将数据锁定到处理器中。
(4)、从SPI串行主机引导–Blackfin处理器以SPI从机模式运行,配置为从SPI主机(主)代理接收LDR文件的字节。为了在引导rom繁忙时阻止主机设备进行传输,blackfin处理器断言一个称为主机等待(host wait,hwait)的gpio pin,以向主机设备发出信号,在解除对标志的断言之前,不再发送任何字节。GPIO管脚由用户选择,该信息通过LDR图像中标记头的位[10:5]传输到Blackfin处理器。
对于每个引导模式,首先从外部存储器设备读取10字节的头。头指定要传输的字节数和内存目标地址。任何启动序列都可以加载多个内存块。加载完所有块后,程序从一级指令sram开始执行。
此外,复位配置寄存器的第4位可由应用程序代码设置,以在软件复位期间绕过正常引导顺序。在这种情况下,处理器直接跳到l1指令存储器的开头。
指令集说明
blackfin处理器系列汇编语言指令集采用代数语法,易于编码和可读。这些指令经过了专门的调整,以提供一个灵活的、密集编码的指令集,它可以编译成非常小的最终内存大小。指令集还提供功能齐全的多功能指令,允许程序员在一条指令中使用许多处理器核心资源。再加上在微控制器上经常看到的许多特性,在编译C和C++源代码时,这个指令集是非常有效的。此外,该体系结构还支持用户(算法/应用程序代码)和管理员(O/S内核、设备驱动程序、调试器、ISRS)两种操作模式,允许对核心处理器进行多级访问资源。
汇编语言利用了处理器独特的体系结构,具有以下优点:
(1)、无缝集成的DSP/CPU功能针对8位和16位操作进行了优化。
(2)、多问题加载/存储修改的哈佛架构,支持两个16位Mac或四个8位ALU+两个加载/存储+每个周期两个指针更新。
(3)、所有寄存器、I/O和内存都映射到统一的4G字节内存空间中,提供了简化的编程模型。
(4)、微控制器功能,例如任意位和位字段操作、插入和提取;8位、16位和32位数据类型上的整数操作;以及独立的用户和管理器堆栈指针。
(5)、代码密度增强,包括16位和32位指令的混合(无模式切换,无代码分离)。常用指令以16位编码。
开发工具
模拟设备通过一整套软件和硬件开发工具支持其处理器,包括集成开发环境(包括CrossCore Embedded Studio和/或VisualDSP++)、评估产品、模拟器和各种软件插件。
集成开发环境(IDE)
对于C/C++软件编写和编辑、代码生成和调试支持,模拟设备提供了两种IDE。
最新的ide crosscore embedded studio基于eclipse框架。它支持大多数模拟设备处理器系列,是未来处理器(包括多核设备)的首选IDE。CrossCore Embedded Studio无缝集成了可用的软件插件,以支持实时操作系统、文件系统、TCP/IP堆栈、USB堆栈、算法软件模块和评估硬件板支持包。有关更多信息,请访问/cces。TM其他的模拟设备ide,visualdsp++,支持crosscore嵌入式studio发布之前引入的处理器系列。该ide包括模拟设备vdk实时操作系统和开源tcp/ip协议栈。有关更多信息,请访问/visualdsp。请注意,visualdsp++将不支持未来的模拟设备处理器。
EZ-KIT Lite评估板
对于处理器评估,模拟设备提供广泛的EZ-KIT Lite评估板。包括处理器和关键外设,评估板还支持片上仿真能力等评估和开发功能。还提供了各种EZ扩展器,这些扩展器是提供额外专门功能的子卡,包括音频和视频处理。有关更多信息,请访问并搜索“ezkit”或“ezextender”。
EZ-KIT Lite评估套件
以更经济有效的方式了解模拟设备处理器,模拟设备提供了一系列的ezkit lite评估工具包。每个评估套件包括一个EZ-KIT Lite评估板、下载可用IDE评估版本的说明、USB电缆和电源。EZ-Kit Lite板上的USB控制器连接到用户PC的USB端口,使所选IDE评估套件能够模拟电路中的板上处理器。这允许客户下载、执行和调试EZ-Kit Lite系统的程序。它还支持车载闪存设备的电路内编程,以存储用户特定的启动代码,从而实现独立操作。随着CrossCore Embedded Studio或VisualDSP++的完整版本的安装(单独出售),工程师可以为支持的EZKit或任何使用支持的模拟设备处理器的自定义系统开发软件。
用于CrossCore Embedded Studio的软件加载项
模拟设备提供与CrossCore Embedded Studio无缝集成的软件插件,以扩展其功能并缩短开发时间。插件包括评估硬件的板支持包、各种中间件包和算法模块。这些加载项中的文档、帮助、配置对话框和编码示例在加载项安装后可通过CrossCore Embedded Studio IDE查看。
评估硬件的板支持包
EZ-Kit Lite评估板和Ezextender子卡的软件支持由称为板支持包(BSP)的软件加载项提供。bsp包含所需的驱动程序、相关的发行说明,并为给定的评估硬件选择示例代码。特定BSP的下载链接位于相关EZ-Kit或Ezextender产品的网页上。该链接位于产品网页的产品下载区域。
算法模块
为了加快开发速度,模拟设备提供了执行流行的音频和视频处理算法的插件。这些可与CrossCore Embedded Studio和VisualDSP++一起使用。有关更多信息,请访问并搜索“blackfin软件模块”或“sharc软件模块”。
设计与模拟器兼容的dsp板(目标)
对于嵌入式系统的测试和调试,模拟设备提供了一系列的模拟器。在每个jtag dsp上,模拟设备提供ieee 1149.1jtag测试访问端口(tap)。使用这个jtag接口可以方便地进行电路内仿真。模拟器通过处理器的tap访问处理器的内部特性,允许开发人员加载代码、设置断点、查看变量、内存和寄存器。处理器必须停止以发送数据和命令,但一旦模拟器完成某个操作,dsp系统将设置为全速运行,而不会影响系统计时。模拟器要求目标板包含一个头部,该头部支持将dsp的jtag端口连接到模拟器。
有关目标板设计问题的详细信息,包括机械布局、单处理器连接、信号缓冲、信号终端和仿真器吊舱逻辑,请参阅工程师在模拟设备网站()上的“模拟设备JTAG仿真技术参考”(EE-68)注释-使用“EE-68”上的网站搜索。文档定期更新以跟上仿真器支持的改进。
附加信息
以下出版物描述了ADSP-BF531/ADSP-bf532/ADSP-bf533处理器(及相关处理器)可从任何模拟设备销售办公室订购,或通过我们的网站以电子方式访问:
(1)、Blackfin处理器入门
(2)、ADSP-BF533 Blackfin处理器硬件参考
(3)、Blackfin处理器编程参考
(4)、ADSP-BF531/ADSP-BF532/ADSP-BF533黑鳍处理器异常列表
相关信号链
信号链是一系列信号调节电子元件,它们接收输入(从采样实时现象或从存储数据中获取的数据),并将链的一部分的输出提供给下一部分。信号链通常用于信号处理应用中,以收集和处理数据或应用基于实时现象分析的系统控制。有关此术语和相关主题的更多信息,请参阅维基百科中的“信号链”条目或模拟设备网站上的ee术语表。
模拟设备通过提供设计为能够很好地协同工作的信号处理组件来简化信号处理系统的开发。网站上提供了一个查看特定应用程序和相关组件之间关系的工具。
实验室网站(/circuits)电路中的应用信号链页面提供:TM
(1)、各种电路类型和应用的信号链图形电路框图
(2)、从每个链中的组件向下钻取到选择指南和应用程序信息
(3)、采用最佳实践设计技术的参考设计
管脚说明
ADSP-BF531/ADSP-BF532/ADSP-BF533处理器的管脚定义。复位期间和复位后,除存储器接口、异步存储器控制和同步存储器控制管脚外,所有管脚均为三个状态。这些管脚都被驱动得很高,除了clkout,它以系统时钟速率切换。在休眠期间,除非表9中另有说明,否则所有输出都是三态的。
如果br处于活动状态(不管是否断言了reset),那么内存管脚也会有三个状态。所有未使用的I/O管脚都禁用了其输入缓冲区,但需要上拉或下拉的管脚除外,如表中所示。
为了保持最大的功能性,减少封装尺寸和管脚数量,一些管脚具有双重、多路复用功能。如果管脚功能可重新配置,则默认状态以纯文本显示,而备用功能-部件规格如有更改,恕不另行通知。
1、调节器可在0.85 V至1.2 V的水平下产生VDDINT,公差为-5%至+10%,1.25 V公差为-4%至+10%,1.3 V公差为-0%至+10%。
2、当vddext<2.25v时,不支持片上电压调节。
3、适用于除clkin之外的所有输入和双向管脚。
4、adsp-bf531/adsp-bf532/adsp-bf533处理器允许3.3v电压(始终接受最高3.6v的最大vih),但电压符合性(在输出端,voh)取决于输入vddext,因为voh(最大)大约等于vddext(最大)。此3.3 V公差适用于双向引脚(数据15–0、tmr2–0、pf15–0、ppi3–0,RSCLK1–0、TSCLK1–0、RFS1–0、TFS1–0、mosi、miso、sck)和仅输入管脚(br、ardy、ppi-clk、dr0pri、dr0sec、dr1pri、dr1sec、rx、rtxi、tck、tdi、tms,trst、clkin、reset、nmi和bmode1–0)。
5、仅适用于clkin pin。
6、适用于所有输入和双向管脚。
注意:在选择MSEL、SSEL和CSEL比率时要小心,以免超过最大核心时钟和系统时钟规范。