基于ADSP-BF537的视频SOC验证方案设计

发布者:独行侠客最新更新时间:2007-04-28 来源: 电子报关键字:嵌入式  FPGA  功耗 手机看文章 扫描二维码
随时随地手机看文章

随着硅片集成技术的高速发展,片上系统SoC(system-on-a-Chip)已经成为现代数字系统设计的必然趋势。SoC和一般数字系统最主要的区别是前者在单一硅片内集成了独立的嵌入式CPU,必要的存储器控制器也要求集成到SoC芯片内,所以对SoC系统的软硬件协同实时验证便成为SoC设计的难点。基于IP的可重用设计方法已经成为数字系统设计工程师普遍采用的系统设计方法。于是,设计者采用第三方IP或自行设计的软核或两者的组合来搭建符合要求的系统。对于一个SoC系统,嵌入式CPU的选择至关重要。第三方提供CPU的方式有软核和固核,如果在设计过程中仅被授权采用第三方优化的固核(版图级),则前端FPGA实时验证问题自然凸现出来。解决的办法是选择相应CPU的验证开发板或者采用其他处理器。本文介绍一种利用嵌入Blackfin处理器的ADSP-BF537作为处理器进行SoC的FPGA实时验证的方案及其总线接口转换模块的设计。SoC系统验证平台结构框图如图1所示。

1 ADSP简介

ADSP是ADI(Analog Device Inc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin处理器的ADSP-BF533一经推出便被很多国家的设计人员立即采用,后续系列产品ADSP-BF5xx也被更多的系统设计厂家应用到各自的产品中。正是因为ADSP-BF5xx系列芯片是以功能强大性能卓越的Blackfin处理器为内核而推出的高效DSP芯片,使得人们可以采用ADSP-BF5xx系列芯片作为处理器进行视频SoC的FPGA实时验证。Blackfin处理器集成了一个由ADI公司和Intel公司联合开发的基于MSA(Micro Signal Architecture)的16/32位嵌入式处理器,支持32位RISC指令集,采用10级流水线,集成了两个16位乘法加速器,内核主频最高可以达到600MHz[1]。

2 ADSP外部Momory总线介绍

ADSP外部Memory总线可以进行同步或异步操作,前者是通过时钟输出端CLKOUT进行同步的。本文所采用的ADSP-BF537 Ez-kit Lite开发套件的外部Memory总线的可用地址仅为19位(ADDR[19:1]),并且采用AMS[3:0]选中相应的外部区域。ADSP-BF537的四个选通信号线对应的外部Memory地址范围如表1所示[2]。可以看出,直接利用ADSP外部Memory总线操作的地址空间只有4MB容量,显然不能满足SoC的选址需求,必须进行接口总线的转换来提高寻址范围。

ADSP-BF537外部Memory读写时序波形如图2所示,其中的ARDY信号是由外设产生的。ADSP通过设置EBIU_AMBCTLx寄存器,允许传输过程中使用ARDY握手信号,用来增强系统运行的准确度。ARDY信号的有效电平是可以设置的。

EBIU_AMBCTLx寄存器还可以改变ADSP对外读写操作的时序,包括数据建立时间、读写通路时间以及数据保持时间。例如,图2所示的写操作建立时间、通路时间和保持时间分别是2个周期、2个周期和1个周期。如果使能ARDY信号,并设置为高电平有效,则在设定的读写时间内,ARDY为低电平表示外设不能写入或者读出数据,需要ADSP继续保持相应的读写等待状态,直到ARDY信号被拉为高电平;只有当ADSP检测到ARDY为高电平时,才能将DATA数据作为有效数据。上述过程如图2中的读操作,ARDY信号被拉低了一个周期。

ADSP-BF537的外部Memory地址总线位宽是ADDR[19:1],这样可以使ADSP灵活地对16/32位数据进行地址选址。例如,如果对连续地址进行16位数据的读写操作,ADDR[19:1]只需依次加1,而ADSP软件开发工具中相应的内部变量数据类型定义为short即可[3];类似地,如果要读写的数据类型为int(32位)数据,则每次访问外部地址时,ADSP会连续产生两次读写操作,并且地址总线ADDR[19:1]是连续的。

3 AHB总线介绍

AHB(Advanced High-performance Bus)是AMBA总线中用途最为广泛的一种高速总线,因其协议简单、可综合性强、支持主频高、功耗低,已经被很多SoC芯片作为内部高速系统总线。大多数第三方IP厂商提供的功能模块的接口都支持AMBA总线协议。AHB基本传输时序如图3所示[4]。

4消除信号的亚稳态现象

在本次视频SoC的FPGA验证方案中,采用ADSP的外部Memory总线,FPGA既可以利用同步时钟输出CLKOUT进行同步设计,也可以采用异步总线读写。如果不使用CLKOUT而采用异步设计,则在总线转换接口模块设计中,首先需要保证消除读写信号亚稳态现象。ADSP内核主频可以达到600MHz,外部Memory总线的采样时钟(CLKOUT)动态调整范围也很大,因此对异步输入信号可以采用增加同步触发器进行锁存延时的方法来消除亚稳态[5]。具体实现方法是在异步输入信号的前端加2-3级同步触发器。FPGA验证证明:当CLKOUT频率为50MHz,FPGA系统主频为25MHz时,3级同步锁存完全可以消除亚稳态,从而保证ADSP在外部Memory总线上正确进行数据传输。
5总线转换状态机设计

目前,大多数采用AMBA总线的SoC系统内部的总线位宽是32位,多数嵌入式CPU和第三方IP核总线位宽也均为32位,因为32位地址总线和数据总线已经可以满足绝大多数SoC系统的存储器映射寄存器的地址分配和数据交换以及外部SDRAM和FLASH的寻址需求。ADSP-BF537的外部Memory数据总线是16位,并且地址总线只有19位,因此必须通过增加必要的状态来解决总线位宽的不匹配问题。

为了实现ADSP对外进行32位的地址操作和数据操作,可以利用Blackfin处理器分两次进行读写操作。写操作分两次进行,第一次写,先传输地址和数据的高16位,第二次写才将32位的地址和数据信号传输到AHB总线上;进行读操作时,需要AHB产生两次读动作,这样才能使有效的32位数据被Blackfin处理器正确接收。第一次读到有效的32位数据后传输高位,第二次读到后传输低位,并且每次读操作都需要Blackfin发出两次读动作,以便组合出AHB的32位地址。这样就可以突破ADSP-BF537对外只能进行4MB空间存取的限制。以上描述过程的状态机转换图如图4所示。

利用ADSP作为SoC系统处理器进行SoC验证时,ADSP进行的主要操作是读写系统内部各个功能模块的Memory映射控制寄存器,并且通过SDRAM控制器对SoC系统的外部SDRAM进行数据交换操作。因此总线转换状态机分成读传输和写传输两大部分。

当ADSP需要进行外部Memory总线传输时,首先会把相应的ams信号拉低,这时总线转换状态机应该使AHB进入BUSREQ状态,要求仲裁器释放AHB总线给CPU(ADSP)。

对于一个写操作,需定义一个wr_flag标志位来确定是否产生AHB写动作。ams信号拉低后,经过可配置的写建立时间后,写控制信号awe被拉低,初始化的wr_flag为0,表明ADSP进行的是第一次写操作。进入的WRITE_H状态用来锁存写地址和写数据的高16位,同时会把wr_flag置为1,但并不向AHB总线发出写命令。一个周期后重新进入BUSREQ状态,等待ADSP下一个写命令。ADSP发出第二次写命令后,状态机检测到awe=0和wr_flag=1后进入WRITE_L_ADDR状态,表明需要向AHB发出写命令,包括hwrite、haddr、htrans、hsize等AHB控制信号。haddr是两次写操作地址(16位)组合而成的32位地址,htrans=2和hsize=2,表明是非连续传输,传输数据位宽是32位。下一个周期,状态进入WRITE_L_DATA,两次写操作数据也相应组合成32位。如果AHB slave的hready为高,则32位数据释放到AHB总线上,同时复位AHB控制信号,下一个周期返回IDLE状态;如果hready为低,则继续保持WRITE_L_DATA状态,直到AHB slave把hready拉高有效。如果等待时间过长,可以增加一个计数器使状态机在一定时间后自动返回IDLE状态,并标记相应的error状态寄存器。例如,需要通过ADSP向haddr[31:0]=0x1234_5678地址内写入hwdata[31:0]=0xaabb_ccdd,则测试平台(采用vmt slave)模拟ADSP对外进行两次写操作,第一次向addr[18:0]=0x1234内写0xaabb,第二次向addr[18:0]=0x5678内写0xccdd,如图5所示。第二次写操作后正确产生AHB写操作。

同样,对于一个读操作,状态机也需要两次对AHB发出读动作,把读到的slave数据分高低位两次传输给ADSP,不同的是,为了保证AHB读地址是32位,而不仅仅是ADSP外部Memory地址总线的19位,每次AHB的读命令,需要ADSP两次读动作,第一次读用来传输高位地址,第二次读才能把完整的32位地址传送到AHB上,使AHB产生读操作。上述过程的状态依次是图4中的READ_ADDR_H、READ_ADDR_L、READ_HOLD、READ_TRANSFER。标志位rd_complete用来区分AHB的两次读动作,为0时在READ_TRANSFER状态传输读取数据的高16位,被ADSP读取,下一个周期后进入BUSREQ状态等待下一个读命令;为1时在READ_TRANSTER状态传输读取数据的低16位,并返回IDLE状态。例如需要读取上述已经被写入地址haddr[31:0]=0x1235_5678的值时,第一次ADSP发出读addr[18:0]=0x1234,第二次发出读addr[18:0]=0x5678,这时ADSP的data只传输高位数据0xaabb,ADSP再发两次相同的读命令后,data才传输低位数据0xccdd。对应的读操作的仿真波形如图6所示。


如前所述,ADSP外部Memory总线在对外读写时可以通过EBIU_AMBCTlx寄存器来选择是否选通握手信号ARDY。为了提高传输的可靠性和准确度,在设计转换模块时需要考虑ARDY,如图5、图6中的读写操作时序图所示,在每一次数据传输完成的最后一个状态,需要将ARDY信号置1,然后在下一个IDLE或BUSREQ状态将ARDY清0,这样可以保证ADSP能正确读到ADSP外部Memory数据总线上的有效数据,防止因ADSP对外读写时序设置不合理而造成系统不能正常运行。

6 FPGA实现

本模块的设计是用于FPGA验证用途的,对于大型视频SoC系统的FPGA实时验证,往往需要采用大容量的FPGA,因此本设计采用Altera Stratix II EP2S60器件进行FPGA验证。采用Quartus综合和布局布线后,一共需要140个ALUT和131个寄存器,最快时钟可以达到300MHz。因为ADSP可以设置外部Memory总线的读写时序,所以对外访问的速率不是惟一的。为了实现16位到32位的转换虽然增加了读写的次数,但因为ADSP外部Memory同步时钟频率调整范围很大,因此本设计完全可以满足IP核功能验证对频率的要求,对于视频SoC内部基本AHB总线和APB总线上的功能模块都能正确实时验证。基于ADSP-BF537内部嵌入的Blackfin处理器及其DSP接口,已经利用本接口模块成功地验证了AHB总线上的H264和MPEG一2的encode与decode加速器、Ethernet MAC控制器、SDRAM控制器以及APB总线上的UART、TIMER、AC97、GPIO和LCD控制器等低速外设。

随着验证环节在SoC产品开发过程中所占时间和开销的迅速增加,Altera和Xilinx在其大容量FPGA芯片产品中,都集成了特定类型的CPU作为系统处理器,但它们都受到特定FPGA器件的限制[6]。因此利用ADSP内嵌的强大Blackfin处理器和丰富的DSP外设,可以有效地提高验证的效率和功能的完整性。本文的总线接口模块的设计对具有不同读写时序的验证板的正常工作起着重要的作用,SoC原型的搭建必然要求本模块能真实反映实际AHB总线的动作,这样对于保证各个功能模块的完整性和实时工作将起很大的作用。

关键字:嵌入式  FPGA  功耗 引用地址:基于ADSP-BF537的视频SOC验证方案设计

上一篇:基于DSP DUC的短波阵列信号发生器
下一篇:MAX5121及其在DSP系统中的应用

推荐阅读最新更新时间:2024-05-13 18:35

嵌入式开发人员要使用FPGA的原因
在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件的革新性电子产品设计打开了大门,这就是一个很好的例子。简言之,把设计的主要元素——在这儿是控制“智能”——转入到软领域后,设计工程师就可以在更短时间内创建出更好、更智能、更廉价的产品。   这个变化意味着嵌入式软件开发人员是当今定义电子产品功能和特性的主要推动者,并且最终将把硬件生产出来。该方法的成功因素在于减少硬件复杂度和把设计的控制元素转变到可编程领域带来的开放灵活性。   今天,大容量、低成本可编程器件的到来给电子产品设计的发展
[嵌入式]
<font color='red'>嵌入式</font>开发人员要使用<font color='red'>FPGA</font>的原因
“英特尔精尖制造日”解读全球晶体管密度最高的制程工艺
  “ 英特尔 精尖制造日”活动今天举行,展示了 英特尔 制程工艺的多项重要进展,包括: 英特尔 10纳米制程功耗和性能的最新细节,英特尔首款10纳米 FPGA 的计划,并宣布了业内首款面向数据中心应用的64层3D NAND产品已实现商用并出货。下面就随半导体小编一起来了解一下相关内容吧。 英特尔公司全球副总裁兼中国区总裁杨旭   欢迎来自合作伙伴、客户、政府部门和学术界的嘉宾以及新闻媒体出席2017年9月19日在北京举行的“英特尔精尖制造日”活动。此次活动着眼于快速发展的中国技术生态系统,重申英特尔与中国半导体产业共成长的承诺。英特尔在中国深耕32年,打造了世界级的晶圆制造和封装测试工厂,自2004年以来在华协议总投入达
[半导体设计/制造]
Silicon Labs推出使功耗减半的新型IoT Wi-Fi器件
Silicon Labs (亦称“芯科科技”,NASDAQ:SLAB)日前推出全新Wi-Fi® 产品组合,旨在简化对功耗敏感的电池供电型Wi-Fi产品的设计,这些产品包括IP安全摄像头、销售点(PoS)终端和消费者健康护理设备等。新型WF200收发器和WFM200模块支持2.4GHz 802.11 b/g/n Wi-Fi,特别针对能效进行了优化,同时提供了在家庭和商业网络中不断增加的互联设备所必须的高性能和可靠连接性。 Silicon Labs高级副总裁兼IoT产品总经理Daniel Cooley表示:“我们发布的首款低功耗Wi-Fi产品组合特别为IoT而设计,在安全、电池供电的互联设备设计方面取得了前所未有的突破性进展。毫无
[网络通信]
嵌入式软件产业与软件集成”会议报道
2009年6月20日,“嵌入式软件产业与软件集成“主题讨论会在北京航空航天大学如心会议中心召开。何立民、邵贝贝、谭军、周立功、何小庆、魏洪兴、陈瑜、马忠梅等联谊会委员,特邀发言人朱明远、韩青、杨欣欣和魏永明,英特尔、飞思卡尔、德州仪器、微芯、方舟、简约纳等国内外半导体公司代表,中和威、红旗软件、软通动力、麦克泰、飞漫、华清远见等嵌入式软件公司代表,中科院、清华大学、北京大学、北航、北理工、太原理工、北工大、工信部软件和集成电路促进中心、电子学会、半导体行业协会、微机专委会的代表,北航出版社、《单片机与嵌入式系统应用》、《电子技术应用》、《电子设计技术》、电子工程世界、与非网和《今日电子》等媒体代表,约60人出席了会议。
[嵌入式]
基于Proteus的单片机应用于嵌入式系统设计方案
1 概述 随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。如图1所示,用户程序需要在硬件完成的情况下才能进行联调,如果在调试过程中发现需修改硬件,则要重新制板。因此无论从硬件成本还是开发周期来看,其高风险、低效率的特性显露无遗。来自英国
[单片机]
基于Proteus的单片机应用于<font color='red'>嵌入式</font>系统设计方案
嵌入式stm32学习:I2C-读写EEPROM
bsp_i2c_gpio.h #ifndef _BSP_I2C_GPIO_H #define _BSP_I2C_GPIO_H #include stm32f4xx.h #include inttypes.h #define EEPROM_I2C_WR 0 /* 写控制bit */ #define EEPROM_I2C_RD 1 /* 读控制bit */ /* 定义I2C总线连接的GPIO端口,用户只需要修改下面四行代码即可任意改变SCL和SDA的引脚 */ #define EEPROM_I2C_GPIO_PORT GPIOB #define EEPROM_I2C_G
[单片机]
功耗LED照明应用的电源管理技术
  当控制一组LED来实现照明应用时,LED亮度与电功率的关系是决定可见光质量的关键技术指标。在低功耗应用中,由于电流源有限,同时点亮整套LED以达到昀大亮度可能无法实现。为了在使用低功率电源时获得昀佳亮度,必须有效管理每个LED的功耗。这需要一种电源管理技术,实现在给定时间内只为一套LED中的一组供电。还要对该时间间隔进行管理,以实现所需的发光强度,而在视觉上不会发现各组LED是交替点亮的。   要确定给定时间间隔内点亮的LED数量,必须确定应用的可用功率和发光强度。必须仔细查看LED数据手册中发光强度与正向电流特性的关系,以选择满足所需亮度级别的LED。确定了应用为达到所需亮度级别而需要的LED数量后,可通过如下方式计算LED
[电源管理]
μC/O-SII内核扩展接口的低功耗模式
引 言 随着消费类电子产品的功能日益复杂,在其中移植或固化实时操作系统已不是新鲜事了,如手机、PDA等等。对于该类产品,低功耗特性往往占有举足轻重的地位。如何在操作系统层面上,尽量降低系统功耗,是一个值得探讨的问题。一般来说,嵌入式CPU都具有低功耗的工作模式,如果在任务调度的空闲时间,使CPU进入这种模式,就能大幅度降低系统功耗。 本文以嵌入式实时操作系统μC/OS-II在飞思卡尔8位单片机HCS08GT60上的移植为例,详细讨论如何利用μC/OS-II给出的内核扩展接口,实现一个低功耗的嵌入式实时系统;进一步分析如何选择一种合适的低功耗模式。μC/OS-II是一种可移植、可固化、可裁剪的可剥夺型多任务内核。由于其源码公开、
[应用]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved