0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

超全使用串口对DSP进行应用可编程的方法

电子工程师 来源:马玲 孟庆新 作者:马玲 孟庆新 2021-04-02 16:13 次阅读

1引言

通过串口总线可以对TMS320LF2407A FLASH进行编程。串口编程可以对DSP系统编程,同时本文给出了一种可编程的应用方法。

该DSP拥有一个片内串口,可以通过一个外部的电平转换器件与标准RS232器件通讯。该串口不仅仅用于编程,在编程结束后可以配置成标准的串口使用。

Bootloader是一个让用户方便对片内FLASH或RAM进行重新编程升级的工具。Bootloader本身不包含某些编程算法,嵌入在片内的Bootloader只具有一些基本的代码下载指令,并在片内RAM运行。Bootloader一般都提供一些编程片内程序存储器的ISP和IAP的接口

ISP(In-System Programming):使用片内的Bootloader软件和通讯接口,对片内存储器进行编程和重编程。IAP(In Application Programming):IAP对片内存储器执行擦除和写操作,可以由用户代码来执行。

2工作过程

2.1DSP初始化

上电以后,程序首先从地址0x0000开始执行,然后立即跳转到bootloade程序。

.sect vectors

RESET: B _bootloader ; 地址0x0000

……。。

_bootloader :

Bootloade首先对串口进行配置,8位数据位,一位停止位,无校验位,建立与 计算 机的通讯。在此过程中,计算机始终向DSP发送检测字符,0x0D. Bootloade一直通过串口监听计算机通讯,如果连续接受到三个字符与0X0D不相符合,则改为下一个波特率进行监听。当波特率匹配成功后,Bootloade就准备接收9个相同的字符。一旦9个字符接收成功后,Bootloade将发送一个应答信号0XAA,表示通讯建立,从此开始,Bootloade接收到的每一个字符都将发送给计算机,以验证通讯是否正确。

2.2内核传输

内核通过通讯接口,以字节为单位进行传输。首先发送的是低字节,后面是高字节。数据包格式如下:

计算机发送:

①启动地址:一个字(16 bits),每次传输一个字节,低字节优先。

②数据包容量(要传输的字的数目):一个字(16 bits),每次传输一个字节,低字节优先。

③内核代码:每次传输一个字节,低字节优先。一旦内核传输到Ram,内核会发送状态字节来表示初始化的状态。0X0表示发送成功,其它 内容 表示发送失败,计算机会终止传输。

2.3内核操作

内核只要成功传输,则内核程序将接管控制功能。对于TMS320LF2407A,内核程序算法必须满足以下要求:

①内核必须小于0X100字,并且必须在程序空间0Xfe00-0Xfeff安装和执行,程序起始点必须是0Xfe00。

②内核必须返回程序的状态。

③内核程序必须能够将控制功能返回,不会破坏程序使用的变量。

④内核等待擦除,置1和编程的算法。

⑤内核必须装载到有效的地址内存空间内。

2.4擦除算法

擦除算法是第一个被下载到目标芯片内的算法。它将FLASH第一扇区和第二扇区的内容清0,为FLASH置位作准备。成功擦除后,返回0x0,不然就返回一个非零值。

2.5置位

下载置位算法,它可以置位FLASH。成功置位后,返回0x0,不然就返回一个非零值。

2.6编程

下载编程算法,但编程算法并不立即执行,而是下载第一组编程数据。一旦得到编程数据,将会调用编程算法,将下载的编程数据烧写到FLASH里。图2是编程步骤的流程图。

对FLASH第一扇区的编程操作结束以后,编程算法将向 计算 机返回状态。并一直等待下一组编程数据,一直到接收到最后一组数据标志为止。将编程数据烧写到FLASH后,编程算法将控制权交给工作程序。

3使用 方法

为了使用该软件将程序下载到FLASH里,首先要通过编译器将程序编译、调试通过,一般编译器生成的文件格式为COFF格式,该文件包含程序二进制代码,但不包含要烧写到FLASH里的二进制文件。需要使用工具将该文件格式转换为可下载的文件格式。

在芯片内有四个字的密码,在下载程序时要注意。如果下载程序里的密码是0X0000 或0X0FFFF,则不用关心,但如果其它的密码,则需要记录下来,以备下次下载时使用,将密码设置到要下载的程序里,解密原来的芯片。

Password1:set 0000h ;在地址0x0040中的密码

Password2:set 0000h ;在地址0x0041中的密码

Password3:set 0000h ;在地址0x0042中的密码

Password4:set 0000h ;在地址0x0043中的密码

4结果

使用该方法可以方便的对芯片进行程序下载,成本低、操作方便。本方法已经在北京瑞泰公司的DSP开发板上调试通过,稳定可靠。

参考文献

[1]刘和平。 TMS320LF240x DSP结构原理及 应用 。 北京:北京航空航天大学出版社,2002.

[2]张雄伟等。 DSP芯片的原理与开发应用(第3版)[M]。 北京:北京 电子 工业 出版社,2003.

[3]TMS320LF2407A DSP controller. TI 2000.

[4]潭浩强。 C 程序设计[M]。 北京:清华大学出版社,2003.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7962

    浏览量

    348206
  • FlaSh
    +关注

    关注

    10

    文章

    1621

    浏览量

    147735
  • 串口
    +关注

    关注

    14

    文章

    1543

    浏览量

    76163
收藏 人收藏

    评论

    相关推荐

    可编程快纳米光子光谱像素矩阵

    matrix of spectral pixels ”( 耐用且可编程快纳米光子光谱像素矩阵)的研究论文。该工作提出了一种可编程光谱像素矩阵,其由像素化微加热器上的相变材料二氧化钒腔组成,单个
    的头像 发表于 10-09 06:30 171次阅读
    <b class='flag-5'>可编程</b>的<b class='flag-5'>超</b>快纳米光子光谱像素矩阵

    可编程晶振的优点和缺点

    的灵活性和可调整性,使得在多种电子产品设计过程中能够精确地匹配所需的时钟信号‌。可编程晶振是一种能够通过外部编程器对其频率进行调整的晶体振荡器。它采用先进的数字信
    的头像 发表于 09-30 10:44 329次阅读
    <b class='flag-5'>可编程</b>晶振的优点和缺点

    解析可编程 CMOS 振荡器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性

    解析可编程 CMOS 振荡器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性
    的头像 发表于 08-10 10:04 346次阅读
    解析<b class='flag-5'>全</b>硅<b class='flag-5'>可编程</b> CMOS 振荡器 SWPM101 系列(0.01 至 212.5 MHz)的卓越特性

    探索可编程差分振荡器 SWPM201 系列:创新与卓越的融合

    探索可编程差分振荡器 SWPM201 系列:创新与卓越的融合
    的头像 发表于 08-09 09:44 234次阅读
    探索<b class='flag-5'>全</b>硅<b class='flag-5'>可编程</b>差分振荡器 SWPM201 系列:创新与卓越的融合

    可编程晶振都有什么频率的呢?分享3个挑选可编程晶振的技巧

    频率范围全面覆盖,满足多样化需求: • CMOS可编程晶振:1~200MHz宽广选择,为您的基础应用提供稳定可靠的支持。 • 可编程差分晶振:高达2100MHz的卓越性能,满足高速数据传输与信号处理的高标准要求。 • 可编程压控
    的头像 发表于 07-18 18:30 1068次阅读
    <b class='flag-5'>可编程</b>晶振都有什么频率的呢?分享3个挑选<b class='flag-5'>可编程</b>晶振的技巧

    可编程电源的作用是什么

    可编程电源的作用是什么 可编程电源是一种电子设备,它可以根据用户的需求调整输出电压和电流。这种电源广泛应用于各种电子设备和系统的测试、调试和研发过程中。 ### 可编程电源的作用 #### 1.
    的头像 发表于 06-10 15:33 605次阅读

    可编程电源使用方法

    可编程电源使用方法 可编程电源使用方法 摘要:本文详细介绍了可编程电源的使用方法,包括其基本概念
    的头像 发表于 06-10 15:29 888次阅读

    可编程电源如何编程

    可编程电源的编程方法和步骤。 ### 1. 可编程电源的基本概念 可编程电源通常由以下几个部分组成: - **输入模块**:接收交流或直流输
    的头像 发表于 06-10 15:24 1202次阅读

    什么是现场可编程逻辑阵列?它有哪些特点和应用?

    可编程逻辑元件和可编程互连,实现逻辑电路的设计和配置。FPLA在电子系统设计、数字信号处理、网络通信等多个领域都有广泛应用。本文将对现场可编程逻辑阵列进行详细介绍,包括其定义、原理、特
    的头像 发表于 05-23 16:25 794次阅读

    国产可编程硅振荡器用于商业烤箱,兼容SiTime

    国产可编程硅振荡器用于商业烤箱,兼容SiTime
    的头像 发表于 04-08 09:41 6619次阅读
    国产<b class='flag-5'>可编程</b><b class='flag-5'>全</b>硅振荡器用于商业烤箱,兼容SiTime

    现场可编程门阵列的原理和应用

    可以根据用户的设计进行配置,形成所需的逻辑功能。互连资源则是一组可编程的连接通道,用于将PLU连接在一起,以实现用户定义的电路拓扑结构。此外,FPGA还包括输入输出模块(IOB),用于与外部设备或电路进行连接。
    的头像 发表于 03-27 14:49 622次阅读

    现场可编程门阵列是什么

    现场可编程门阵列(Field Programmable Gate Array,简称FPGA)是一种超大规模可编程逻辑器件,由可编程逻辑资源、可编程互连资源和
    的头像 发表于 03-16 16:38 2397次阅读

    用于电视的可编程LCD偏置IC TPS65178/A数据表

    电子发烧友网站提供《用于电视的可编程LCD偏置IC TPS65178/A数据表.pdf》资料免费下载
    发表于 03-07 13:57 6次下载
    用于电视的<b class='flag-5'>全</b><b class='flag-5'>可编程</b>LCD偏置IC TPS65178/A数据表

    可编程逻辑器件的特征及优势科普

    可编程逻辑器件是一种集成电路,具有可编程功能的特性。它们可以根据用户的需求进行编程,从而实现不同的逻辑功能。
    的头像 发表于 02-26 18:24 1067次阅读

    可编程晶振如何设置呢

    可编程晶振的设置很多人其实不知道除了按照说明书上操作,也可以看视频教程尤其是对于可编程晶振设置的方面都是这些细节都是选择,另外也可以咨询专业的FAE工程师进行分解。
    的头像 发表于 02-22 16:21 655次阅读
    <b class='flag-5'>可编程</b>晶振如何设置呢