当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 通常情况下,进行DSP系统开发调试时,都要配备一片SRAM芯片作为片外程序RAM。调试时,使用相应的仿真板将程序下载到SRAM中,这样DSP系统通过运行SRAM中的程序代码来实现相应的

通常情况下,进行DSP系统开发调试时,都要配备一片SRAM芯片作为片外程序RAM。调试时,使用相应的仿真板将程序下载到SRAM中,这样DSP系统通过运行SRAM中的程序代码来实现相应的操作。

可以看到,DSP系统调试时,关键是要将程序下载到SRAM中,因此如果能将程序代码通过单片机写入SRAM中,则同样可以完成对DSP系统的调试。下面具体介绍在不使用仿真板的情况下,如何运用单片机AT89S5l对DSP芯片TMS320LF2407进行在线调试。1 硬件设计
1.1 TMS320LF2407在线调试的实现过程完成DSP系统的调试,首先要将程序的源代码写入片外SRAM中。此时,单片机与SRAM组成一个系统,单片机可将分离出来的DSP程序代码写入SRAM中。完成这一操作后,切断单片机与SRAM的联系,使DSP与SRAM组成一个独立的系统,并将LF2407配置为微处理方式,即MP/MC引脚置为高电平。这样DSP系统开始工作,LF2407从外部SRAM的0000H单元处开始执行程序代码。当修改DSP的程序时,只需修改单片机中相应的代码区,然后重新写入SRAM中即可。单片机的ISP功能能非常方便的完成这一过程,实现DSP系统的在线调试。1.2 硬件实现单片机选用AT89S5l,该芯片具有在系统编程功能,能通过并口下载线十分方便地修改和下载程序。TMS320LF2407的片外程序RAM选用64K×16位的SRAM芯片CY7C102lV,该芯片的BHE和BLE引脚分别用来使能SRAM的高8位和低8位。硬件框图如图l所示。由于89S51是5V供电,而CY7C102lV是3.3V供电,因此要进行5V和3.3V电平的转换。图1中,单片机端的地址线和控制线分别通过74LVCl6245和74LVC245将5V电子转换为3.3V电平。数据线的电平转换建议采用74LVC245,该芯片采用5V和3.3V双电源供电,它可以将数据线上的5V和3.3V电平相互转换,可实现单片机读、写RAM中的数据。读出的数据可以通过串口发送到计算机上,这样可以检验写入SRAM中的代码是否正确。89S5l为8位单片机,而CY7Cl02lV和DSP数据位都为16位,所以代码的写入要分两次写入,先写低8位,再写高8位。高8位数据线和低8位数据线之间可以加一个8位的拨码开关,当向SRAM中写数据时合上开关,而当要运行DSP时则必须将拨码开关断开。当代码正确写入SRAM后,将DSP的MP/MC引脚跳至高电平,选择MP方式运行片外程序RAM复位后,即可以使DSP运行。设计中一定要注意以下情况:由于MCU-SRAM和DSP-SRAM两个系统的数据线和地址线存在共用的情况,所以当一个系统在运行时,数据线和地址线不能受到另一芯片相关引脚状态的影响,否则这一系统将无法正常运行。因此,一定要注意控制好各个芯片的片选信号,以保证两个系统分别运行时地址线和数据线不相互影响。2 软件设计TI公司的CC’C2000编译后生成的*.out文件为通用对象文件格式(coft),该格式是一种结构性文件格式,而单片机的烧入程序必须为bex文件格式,所以要将*.out文件转化为hex文件格式才能烧人单片机中。转换步骤如下。①生成*.out形式的公用目标文件(coff)。当在TI公司的集成开发环境CC’C2000下进行程序开发时,都会经过编译和链接,最后生成*.out文件。②对*.out文件进行提取,从中筛选出对最后装载有用的代码和地址信息。第一步所产生的*.out文件由于是coff格式的文件,其可重定位特性使得用户可以对程序在允许的地址范围内灵活地安排。正因为如此,*.out文件还不是完全的可执行代码,它里面包含有一些关于程序中各个段的诸如起始地址、段长度这样的辅助信息,如果把这些信息连同程序代码都装入DSP内部,程序是不会被正常执行的。这时必须要对*.out进行辅助信息与可执行代码的提取与分离,这个任务要靠专门的程序完成。这里采用TI公司提供的程序,程序的名称是:coff_both.exe。它可以在TI的网站上免费下载。利用该程序将*.out文件进行操作,最后生成所需的*.out.c文件。具体操作是把Coff_both.exe和exam-pie.out文件放在同一目录下,在DOS命令提示符下键入:Coff_both-out example.out,这时就会生成example.out.c格式的文件。该文件的形式见如下。sectlon=,vectorssrc_addr=0x0length=0x6(6)dest_addr_0x0space=00x7980,Ox0150,0x7980,0xol50,0x7980,0x0150,checksum=0x78D0seCtlon=.textsrc_addr=0x0length=0xl3(19)dest_addr=0x150space=00xBE4l,0xBE46,0xBE42,0xBE44,0xBCEO,0xAE18,0x83FE,0xAE29,Ox00E8,oxBCE1,0xAEl0,0x0000,0xAE1A,0xFFAA,0x8B00,0x8B00,0x8B00,0x7980,0x015E.Checksum=0xF59可以看到,这个程序有两段程序.vect和.text,起始地址分别为0000h和0150h,分别由6个字和19个字的代码组成。这些十六进制代码则是最后真正被执行的LF2407程序代码,也是单片机需要写入SRAM中的代码。第二步生成的*.out.c文件明确地告诉了程序有几个段,每个段的大小,段的起始地址以及每个段的十六进制代码。有了这个文件,就知道该写些什么内容到SRAM中去才能够开始执行LF2407的程序了。接下来要做的就是编写单片机的应用程序把*.out.c文件中的十六进制代码写入SRAM内部。程序框图如图2所示。3 结 论通过单片机对LF2407进行程序装载属于一种基于RAM的在线编程,它不用对程序存储器进行烧写,属于一种软配置。利用单片机AT89S5l的ISP功能可以实现程序的修改和烧写,使系统具有在线开发的特点。

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

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 隧道灯 驱动电源
关闭