当前位置:首页 > 电源 > 数字电源
[导读]本文所叙述的引导方法在四通道数据采集系统中得到了有效的验证,并且整个过程操作起来非常方便快捷。

1 Bootloader分析

       TI公司的DSP芯片出厂时,在片内ROM中固化有引导装载程序Bootloader,其主要功能就是将外部的程序装载到片内RAM中运行,以提高系统的运行速度。

       TMS320VC5409是TI公司的一款定点DSP芯片,其指令周期可达10ns,片内有32K×16位的RAM,性价比极高,被广泛应用在嵌入式系统、数据采集系统中。TMS320VC5409的Bootloacler程序位于片内ROM的0F800H~0FBFFH空间。系统上电时,DSP将检查外部引脚MP/MC的状态,如果该引脚为高电平,则DSP按微处理器模式启动;如果该引脚为低电平,则DSP按微计算机模式启动。此时,系统从0FF80H地址处开始执行程序,0FF80H是Bootloader的中断矢量。因此,如果系统上电时MP/MC的状态为低电平,DSP将从FF80H处跳转到F800H开始执行TI的Bootloader自动装载程序。

       进入Bootloader程序后,首先检查DSP引脚INT2的状态,如果为低电平,则进入HPI引导装载模式,如果INT2为高电平则接下来检查INT3引脚。如果INT3引脚为低电平,则进入串行EEPROM引导装载模式,如果INT3为高电平则进入并行引导装载模式。当并行引导装载模式失败后,系统会自动进入串行口引导装载模式.串行口引导装载失败后,系统又将进入I/O口引导装载模式。

       当进入并行引导装载模式后,DSl 首先读取地址为0FFFFH的I/O空间单元,并将该单元的值作为引导表的首地址.在数据地址空间中读取引导表的第一个字,如果该字的值为10AAH,则进入16位引导模式,如果低字节为08H,则再进一步读取下一个值,如果该值的低字节为AAH,则进人8位引导模式。如果从I/o地址空间中读取的引导表首地址所对应的引导表中得不到正确的引导信息,那么DSP将会从数据空间的0FFFFH地址再去读一个字作为引导表首地址,进而再从引导表首地址读取一个字。如果该字为lOAAH,则立即进入l6位引导模式,否则,将按8位方式处理:从0FFFFH读取一字节作为引导表首地址的低字节,从0FFFEH读取一字节作为引导首地址的高字节,再从引导表首地址读取一个值,如果低字节为08H,则再读引导表的下一个值,如果为AAH,则说明外部存储器是8位宽度,进入8位引导装载模式;如果以上步骤不能获取正确的引导信息,那么DSP将进人串行口引导装载模式。

       如果并行引导装载成功,DSP将从装载后新的程序开始地址执行程序。详细的并行引导流程图如图1所示。

流程图


2 硬件设计

       在本系统中,FLASH选用的是Atmel公司的AT29LVl024,AT29LVl024容量为64K×16位,可以满足一般的应用要求,并且其工作电压为3V~3.6V,可以直接与TMS320VC5409接口而不必再使用电压接口芯片进行转接,使硬件电路更为简单。

       从TMS320VC5409的存储器空间映射得知,在MP/M C=0 时,外部存储器空间映射的地址范围为8000H-FFFFH共32K,因此Flash中的程序部分必须位于8000H~FFFFH的地址范围,才能成功引导。笔者的程序量小于32K×16位,因此可以将Flash的地址线A0-A15直接与DSP的地址线AO~Al5相连,然后将程序烧录到Flash的32K之后的位置,这样程序刚好位于DSP的8000H~FFFFH范围。如果程序量大于32K字,则可将Flash的前32K地址编码在DSP的8000H~FFFFH范围.采用分页的方式,逐步装载需要运行的程序。 本文中,采用从DATA空间引导,具体的电路连接如图2所示。

dsp与flash接口电路


       Flash的地址线AO-A15直接与DSP的低16根地址线A0-A15相连。

       Flash的16位数

       据线DO-D15直接接DSP的16位数据总线D0-D15。

       FLASH的写信号WE直接接高电平(因为对Flash的编程采用编程器烧录)。

       Flash的片选信号CE直接接低电平或者接DSP的DS引脚。 Flash的读信号OE接DSP的存储器读信号MSTRB。

       DSP的MP/MC引脚接低电平。

       DSP的INTl-INT3引脚通过上拉电阻接高电平

3 代码设计和数据转换

       硬件设计完成后,可以编写一段代码进行测试。

       在TI的DSP开发环境CCS中建立一个工程项目test pjt,包括三个文件:test_main.c、test_vector.asm和load.cmd。

       需要说明的是,虽然DSP和Flash都是16位的,但是一般的编程器都是按8位从.hex文件中读取数据.每读一个字节,地址就会增加1,因此连接命令文件中必须将memwidth和romwidth的值设置为8,否则编程器读取hex文件时会出现错误,这通常是导致引导过程失败的主要原因。 连接命令编写完毕后,将test.out文件、连接命令文件load.cmd以及hex500.exe文件拷贝到同一目录下,在Windows系统命令提示下进入该目录,执行命令行:

       hex500 I0ad.cmd

       即可生成test.hex文件,同时还生成mxp文件test.mxp,供查看详情。

       test.hex文件生成后,运行编程器烧录软件(本设计用的是西尔特的suPERPRO 6 8 0),选择器件为 AT29LVl024。打开test.hex文件,此时会发现AT29LVl024的地址范围是0 0 0 0 0H-1FFFFH共128K,而不是0000H-FFFFH,这就是为什么需要将存储器数据宽度设定为8以及将程序烧录起始地址bootorg设置为0xl8000的原因。0x18000除以2为0x0C000,也即,燃录地址Oxl8OOO在系统中的地址为OxOC000,位于8000H~FFFFH的外部存储器映射范围内。

       另外,还发现编程器软件打开的test.hex文件中,最后两字节并不是引导表的首地址(这大概是HEX500有什么bug的缘故吧),因此需将1FFFEH的内容改为COH,将1FFFFH的内容改为00H,C000H是本例中引导表在实际DSP系统中的首地址。将18000H的内容从08H改为10H,此处为08H是因为连接命令文件中的数据宽度设置为8位,而系统中DSP和Flash的实际数据宽度都为16位,引导过程应该采用16位引导装载。因此需要将08H改为10H。修改完成后,还需将整个文件的高低字节进行交换,因为编程器打开的.hex文件高字节在前,低字节在后,而16位Flash的编程是低字节在前高字节在后。经过如此修改和调整后,即可对Flash器件进行编程了。

       将编程后的Flash装到系统中,用示波器查看DSP的引脚XF,如果有方波出现,则说明引导装载已经成功,程序代码已被调入到内部RAM中运行。

结语

       本文所叙述的引导方法在四通道数据采集系统中得到了有效的验证,并且整个过程操作起来非常方便快捷。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭