DSP外部Flash存储器在线编程的软硬件设计
摘要:详细介绍DSP与Flash存储器的两种硬件接口方式及在线编程,分析了两种硬件接口方式下在线编程的区别,给出了相应的在线编程核心代码并在实际电路上测试通过,可作为DSP嵌入式系统设计的参考。
关键词:在线编程;Flash存储器;硬件握手;软件握手
引言
随着嵌入式系统向体积更小、性能更高的方向发展,传统的DIP(双列直插)集成电路因体积庞大、元器件I/O引脚数量受封装限制等缺陷,已逐渐淡出人们的视线。在嵌入式产品设计中,大量采用SMT贴片元器件,既提高了性能,又节省了宝贵的空间。由于采用贴片元器件,无法将Flash存储器等元器件从电路板上取下来单独进行编程。专用编程器的方式已经很少采用,取而代之的是采用基于仿真器连接的JTAG接口的在线编程方式。这种在系统带电编程的方式不受时间和空间的限制,随时随地都可进行,且产品软件版本升级容易。
在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电可擦除的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所示。
评论