当前位置:首页 > 嵌入式 > 嵌入式硬件

来源:21IC中国电子网 ; 作者:电子科技大学 韩玮
本文档详细说明了双片ADSP-21160系统的加载,以及如何在VISUAL DSP++集成开发环境中通过DSP将引导程序上载到FLASH中。SHARC系列是美国模拟器件公司(Analog Devices)的重要芯片系列之一。该系列产品具有很强的数字信号处理能力,多片SHARC芯片可以构成更为处理能力强大的系统,广泛应用于通信,雷达等领域。SHARC系列芯片族包含了ADSP-21060/21061/21601/21065L,以及最新的21160/21161系列。它们共同的特点是不但有强大的处理能力,而且有丰富的接口资源,十分适合多片级联构成功能更复杂的系统。
在多片系统中,如何对多片SHARC DSP进行程序加载是一个比较实际的问题,本文就是从硬件构架和软件流程上对双片ADSP-21160的SHARC系统的加载问题进行分析的。
1.;双片ADSP-21160系统的硬件构架
1.1;双片ADSP-21160的连接以AD21160N为例。
两片SHARC分别为DSP1和DSP2,相应的ID2~0管脚置为001和010。其中ID为001的是主片,ID为010的为从片。
如果系统采用非主机引导模式,每片的/HBG,/HBR分别置为无效状态(拉高)。
如果加载采用EPROM引导,每片SHARC的/BMS做线或后和EPROM的/CE相连。并且每片的BR1,BR2对应相连,其余BRx置为无效(拉高)。
ACK信号决定了总线权的转移,应该把ACK强制拉高。当ID = 000(单片系统),或者ID = 001(多片系统的主片)的时候,ACK会自动内部拉高。为了保险起见,可以把主片和从片的ACK都在外部强制拉高。否则,会出现总线权不能交给从片的现象。
地址总线和数据总线对应相连,并和EPROM的地址线,数据线相连。
当双片系统加电后,主片ADSP-21160和从片ADSP-21160都是从EPROM中读出256个字节的初始程序段。这256个字节的程序段包含了加载初始化信息,在此段的最后有一张跳转表,显示了不同ID的程序对应的不同的存储地址。SHARC通过读自己的系统寄存器得到自己的ID,然后取出自己所要加载的程序代码的偏移地址。
根据SHARC的总线制裁机制,ID号低的SHARC有较高的优先权,所以ID=001的主片先加载。当第一片加载完毕后,通过BR1通知第二片可以开始加载,总线权转移到ID=010的SHARC。当第二片加载完毕后,通过BR2通知系统,然后此双片系统开始运行程序。
;;
1.2;ADSP-21160与FLASH的连接
FLASH的CE,OE,WE分别与AD21160的BMS,RD,WR相连,其中BMS表示片选信号,WR为写信号,RD为读信号。另外FLASH的地址线和数据线也分别与DSP连接好。
如果把AD21160的MS0~2与FLASH的片选线相连,就是把FLASH成了AD21160的外部扩展存储区。这样会带来方便,首先,可以在VisualDSP++ for SHARC中直接读FLASH里的数据,无需编程读出;其次,可以用直接读写的办法烧写FLASH,还可以用软件控制插入的等待时间。
如果仅用BMS与FLASH相连,那么就只能用DMA的方式进行FLASH的读写操作。
1.3;烧写FLASH的方式
当使用BMS片选FLASH的时候,FLASH作为AD21160的字节存储空间,AD21160只能通过DMA方式访问FLASH。
完成一次DMA传送需对4个存储器映像寄存器进行设置。注意,写FLASH只能使用DMA10。
具体如下:

1.设置BSO,使BMS强制有效,并打开DMA10的中断使能;
;;USTAT1 = DM(SYSCON);
BIT SET USTAT1 BSO;
DM(SYSCON) = USTAT1;
;;BIT SET MODE1 IRPTEN;
;;BIT SET IMASK EP1I;
;;BIT SET IMASK EP0I;
2.注意对FLASH的写是字节编程,所以要把数据文件转化为8bit的字节形式。每次DMA只能送出一个字节。
3.因为BMS片选FLASH,所以不能对FLASH的读写进行插入等待状态的指令。变通的办法是,DMA次数寄存器设为3或3以上的整数,即对同一个地址连续多次写入同一个字节,等效于插入等待状态,拉宽写使能信号的宽度。
4.有关FLASH读写时序,请参看所使用的FLASH的datasheet,并按照其时序和控制字要求,使用SHARC的汇编指令编写FLASH的烧写程序。该程序可以通过仿真器在SHARC芯片上运行,实现把.dat文件烧写到FLASH中。
2.;双片系统的LDF文件
LDF文件是对系统的存储资源进行说明和定义的文件,双片系统的LDF与单片的LDF有所不同。为了更好的进行双片之间的通信,其LDF文件一般定义如下:
ARCHITECTURE(ADSP-21160);;;;;;21160系统
SEARCH_DIR( $ADI_DSP\211xx\lib ); 库文件路径
$LIBRARIES = lib160.dlb

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在软件开发中,边界条件检查是确保程序稳定性的关键环节。当面对参数验证、资源分配或数据完整性校验时,开发者常在if语句和assert断言间徘徊。两者虽都能捕捉错误,但设计哲学与适用场景迥异。

关键字: assert 程序

在这篇文章中,小编将对PLC的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: PLC 模块化 程序

2025年8月14日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下诠鼎推出基于新突思(Synaptics)SL1680嵌入式处理器的AI疲劳驾驶检测方案。

关键字: AI 嵌入式处理器 Type-C

在现代电子系统中,电源扮演着核心角色,如同人体的心脏,为整个系统稳定运行提供不可或缺的动力支持。从日常生活中的智能设备,到复杂精密的工业控制系统,再到关乎国计民生的航空航天、医疗等关键领域,电源的可靠性直接决定了系统的稳...

关键字: 电源 设备 系统

在现代计算机中,CPU(中央处理器)是最重要的组成部分之一。它负责执行程序指令和处理数据,因此CPU的性能直接影响到计算机的整体运行效率。然而,许多用户在使用计算机时可能会遇到CPU占用率过高的问题,这不仅会导致计算机运...

关键字: CPU 系统

对程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一。一般是优化了代码的尺寸,就会带来执行时间的增加;如果优化了程序的执行速度,通常会带来代码增加的副作用。很难鱼与熊掌兼得,只能在...

关键字: 单片机 程序

一个程序首先要保证正确性,在保证正确性的基础上,性能也是一个重要的考量。要编写高性能的程序,必须选择合适的算法和数据结构。

关键字: CPU 程序 缓存

嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

关键字: 嵌入式处理器 ARM

米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA 252 PIN设计,存储配置1GB/2GB...

关键字: 核心板 开发板 嵌入式处理器

在现代科技和工业领域,电源的稳定性和可靠性是确保设备正常运行和系统稳定工作的基石。然而,电源系统的复杂性使得其可靠性预测成为一个极具挑战性的任务。本文将从多个角度探讨电源可靠性如何实现更精准的预测,以期为相关领域的研究和...

关键字: 电源 可靠性 系统
关闭