当前位置:首页 > 电源 > 数字电源
[导读]在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电可擦除的Flash存储器中。要实现一个嵌入式系统的带电脱机运行,在线编程就成为嵌入式系统开发过程的必经之路。由于在线编程涉及到硬件和软件方面的内容

在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电可擦除的Flash存储器中。要实现一个嵌入式系统的带电脱机运行,在线编程就成为嵌入式系统开发过程的必经之路。由于在线编程涉及到硬件和软件方面的内容,因此要从顶层设计和系统的角度来考虑在线编程。硬件设计要为软件设计作铺垫,尽可能简化软件设计。

  本文以TI公司的DSP芯片TMS320C6711D和AMD公司的4 Mb Flash存储器AM29LV400B为例来介绍两种在线编程方式。

  1 DSP与Flash存储器的两种硬件连接关系

  1.1 以Ready信号作为硬件握手

  带有Ready信号的TMS320C6711D的EMIF(Exterhal Memory InteRFace)接口与Flash存储器AM29LV400B的硬件连接如图1所示。由于AM29LV-400B输出的就绪信号/忙信号()为OD(漏极开路)输出,需要在该信号上加上拉电阻并连接到VCC。

  


 

  1.2 采用无Ready硬件连接的软件握手

  不带Ready信号的TMS320C6711D与Flash存储器AM29LV400B的硬件连接如图2所示。

  

 

  2 软件设计

  2.1 带有硬件握手的软件设计

  带有Ready信号连接的Flash存储器编程时序如图3所示。Flash的就绪信号/忙信号()输出为低电平时,表明Flash正忙,处于编程或擦除状态。由于DSP与Flash存储器采用Ready/Busy信号作为硬件握手信号,当Ready/Busy信号为低电平时,CPU在总线时序上插入等待周期,直到Ready/Busy信号解除(为高电平)。在Ready信号为低电平期间,由于CPU处于等待状态,程序被暂停执行,因此不需要通过软件来判断Flash存储器的编程或擦除状态。

  

[!--empirenews.page--]
 

  

 

  

[!--empirenews.page--]

2.2 带有软件握手的软件设计

  Flash的就绪信号/忙信号()输出为低电平时,表明Flash正忙,处于编程或擦除状态,此时写入或读出的数据是无效的,不是程序员需要的数据;当该信号输出为高电平时,表明Flash已处于就绪状态,可对其进行写入或读出数据的操作。

  由于DSP与Flash存储器的接口采用软件握手,在对Flash存储器进行编程或擦除时,DSP的总线周期中不会由硬件自动插入等待周期,如果此时仍采用2.1节的Flash编程函数对Flash存储器进行编程,则会得到错误的编程结果。编程结束后会发现Flash存储器中有一部分内容仍然是0xFFFF,处于编程前的状态。虽然对Flash存储器进行了编程操作,但由于Flash存储器上一次编程操作还未完成,本次的编程操作无效,数据根本写不进Flash存储器。在CCS3.1中用“View/Memery”功能查看Flash存储器,就会发现Flash存储器中的数据等间隔地出现编程正确和编程不正确的现象。笔者在自己设计的TMS320C6711D-250嵌入式模块(带有AM29LV400B Flash存储器)上,通过断开DSP与Flash存储器的硬件Ready信号进行编程测试,无等待状态的测试结果见表1,有等待状态的测试结果见表2。

  

 

  可见,在没有硬件握手的情况下,需要通过软件来判断当前Flash存储器编程或擦除的状态来进行编程操作。如果Flash存储器正处于编程或擦除过程中,则无法继续对Flash存储器进行编程,需等到Flash存储器上一次数据编程(写入)完成时才能进行下一次数据编程(写入)。否则,会得到错误的编程结果,造成编程后数据校验失败。

  大多数Flash存储器都提供了一个或几个状态位来表示当前Flash存储器编程或擦除的状态,大多支持通过其数据总线D7数据位的状态来判断Flash存储器当前编程或擦除的状态。这是大多数Flash存储器数据手册推荐的编程轮询算法,但经过笔者测试,这种算法比较繁琐,会造成部分编程内容不正确,可采用将编程数据读出、与写入数据进行比较的简单方法,实现软件等待状态的插入。

  说明:TMS320C6711D与AM29LV400B Flash存储器采用16位数据连接,DSP EMIF CEl存储器空间初始化为32位总线宽度(CEl端口连接16位Flash存储器),读取/写入Flash存储器的32位数据中高16位无效。

  带有软握手的Flash存储器编程函数如下:

  

 

  3 两种在线编程方式的区别

  在硬件上加入硬件握手的Flash存储器在线编程方式设计简单,在应用中只须考虑擦除和编程,而无须考虑Flash存储器的当前状态。当Flash存储器正处于擦除和编程状态而未完成时,Flash存储器产生的忙信号通过Flash存储器与DSP之间的硬件连接直接送入DSP,由DSP硬件在其总线访问周期中自动插入等待周期,暂停DSP处理器的执行;当Flash擦除和编程状态完成时,由Flash存储器产生的就绪信号通过Flash存储器与DSP之间的直接硬件连接将就绪信号送入DSP,解除DSP的等待状态,继续程序的执行。而采用软件握手的Flash在线编程方式需要程序员在软件中判断Flash存储器的当前状态。只有当Flash存储器擦除过程完成时,才能对其进行编程;当Flash存储器的一次编程(数据写入)过程完成时,才能进行下一次的编程(数据写入)。软件设计繁琐,且要经过多次调试。

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

中国深圳,2025年9月10日——Credo Technology Group Holding Ltd(纳斯达克代码:CRDO)是一家提供安全可靠高速连接方案的科创型企业,今日正式发布其高性能、低功耗Bluebird 数...

关键字: DSP芯片 AI 算力

传感器是能感受规定的被测量并按照一定的规律转换成可用输出信号的器件或装置。传感器有许多种,在先进测量技术这门课中提到了许多传感器,在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设...

关键字: 传感器 信号

高功率脉冲发射机作为一种能够产生高能量、短脉冲信号的设备,在众多领域发挥着关键作用。在雷达系统中,它为目标探测提供强大的发射功率,使得雷达能够在远距离精确识别和跟踪目标;在通信领域,可用于实现高速率、大容量的数据传输;在...

关键字: 高功率 脉冲发射机 信号

近年来,又出现了另一类数据密集处理型芯片DSP。DSP由于其特殊的结构、专门的硬件乘法器和特殊的指令,使其能快速地实现各种数字信号处理及满足各种高实时性要求。

关键字: DSP芯片

在当今数字化、智能化的时代,电子设备无处不在,从智能手机、智能家居到工业控制系统,它们在提升生活品质与生产效率的同时,也面临着高频干扰与兼容性问题的挑战。高频干扰会导致设备信号传输不稳定、数据丢失,甚至系统崩溃;兼容性问...

关键字: 高频干扰 兼容性 信号

在当今电子技术飞速发展的时代,随着电子产品不断向小型化、高性能化迈进,印刷电路板(PCB)的设计变得愈发复杂和精密。过孔,作为 PCB 中连接不同层线路的关键元件,其对信号完整性的影响已成为电路设计中不可忽视的重要因素。...

关键字: 印刷电路板 电路设计 信号

在当今高速发展的电子系统领域,信号完整性已然成为确保系统性能与可靠性的关键要素。从驱动到连接器的信号传输路径宛如一条信息高速公路,而接收端则如同这条公路的终点收费站,其设置的合理性直接关乎信号能否准确无误地抵达目的地。若...

关键字: 信号 连接器 驱动

数字信号处理(DSP)芯片广泛应用于工业控制、通信、汽车电子等领域,其硬件安全性成为制约系统可靠性的核心问题。攻击者可通过侧信道攻击窃取敏感数据或破坏芯片功能,而可信执行环境(TEE)则为代码与数据提供了隔离的运行空间。...

关键字: DSP芯片 硬件安全

在电子系统设计与信号传输过程中,工程师们常常会遇到信号波形不理想的情况。其中,信号波形下降沿出现上冲现象是较为常见的问题之一。这种异常不仅会干扰信号的正常传输,影响系统的性能和稳定性,甚至可能导致系统出现误判等严重后果。...

关键字: 信号 干扰 电子系统

在印刷电路板(PCB)设计中,过孔作为连接不同层线路的重要元件,其对信号完整性的影响不容忽视。随着电子技术的飞速发展,电路的工作频率不断提高,信号上升沿时间越来越短,这使得过孔对信号的影响愈发显著。在许多情况下,我们必须...

关键字: 印刷电路板 过孔 信号
关闭