DSP芯片(TMS320C6711D)的Flash存储器(A(精)

合集下载

TMS320C6201_6701DSP处理器与FLASH存储器的接口设计 (1)

TMS320C6201_6701DSP处理器与FLASH存储器的接口设计 (1)
芯片执行速度很快, 所以叠加的字符是连贯的。
" 中 国 广 播 电 视 设 备 工 业 协 会 应 用 电 视 专 业 协 会@应 用 电 视— —— 设 备 原 理 与 工 程 实 践 ( 第 ) 版) 电子工业出 @北 京 : 版社, )%%" 顾 红, 苏 为 民@视 频 字 符 叠 加 技 术 的 发 展 及 四 种 $ 孙泓波,
(59 是 针 对 实 时 数 字 信 号 处 理 而 设 计 的 数 字 信 号
处理器, 由于它具有计算速度快、 体积小、 用 (59 芯 片 =<5$"#’)# 于 )%6" 年 在 美 国 =B 公 司 产生以来, (59 处 理 器 便 显 示 出 强 盛 的 生 命 力 。 短 短 二 十多年, 世 界 上 许 多 公 司 便 开 发 出 各 种 规 格 的 (59 处 理 器, 并使它们在通信、 自动控制、 雷达、 气象、 导航、 机器 人 等 许 多 嵌 入 式 实 时 领 域 得 到 了 广 泛 应 用 。 "# 世 纪 %# 年 代 后 期 美 国 =B 公 司 推 出 的 面 向 通 讯 领 域 的 新 一 代 $" 位 的 =<5$"#’3### 系 列 (59 芯 片 ( 简 称 ’3### ) 是目前 世 界 上 最 先 进 的 (59 处 理 器 , 其 中 ’3"CC 和 ’31CC 为 通 用 $" 位 定 点 系 列 (59 处 理 器 , ’3-CC 为 通 用 $" 位 浮 点 系 列 (59 处 理 器 , 其 指 令 速 度 分 别 高 达 %3# ,
!-$ "#$%! & "#’%! 的 引 导 工 作 方 式 在加电后, 只能 9:&%! ; 9:<%! 可 采 用 直 接 从 零 地 址 (

基于TMS320C67系列DSP的FLASH烧写和程序加载研究

基于TMS320C67系列DSP的FLASH烧写和程序加载研究
1 概述
1997 年,美国 TI 公司发布了新一代 DSPs 芯片 TMS320C6000,包括定点系列和浮点系列。其 中定点系列是 TMS320C62xx,浮点系列是 TMS320C67xx,二者互相兼容。TMS320C67 系列 DSP 具有 高速处理能力以及强大对外接口能力,工程应用很广泛,在军事通讯、电子对抗、雷达系统和制 导武器等需要高度智能化的应用领域,占有不可替代的优势。
218
(3)使用 MAP1 方式,如果目标程序使用如反三角函数 asin(),atan()等基于查找表方式的
函数,因为查找表放置在.cinit 段中,该数据段必须放在片内数据存储器中才能被数据存储器
控制器 DMC 访问(如将.cinit 放入 PMEM,主机加载工作正常;但烧写 FLASH 后,上电加载程序,
MEMORY
{
PMEM1:
org=0000f000h len=00001000h
PMEM2:
org=00000000h len=00000200h
SBSRAM: org=00400000h len=00040000h
DMEM:
org=80002000h len=00008000h
}
(4)打开烧写程序工程 C,该程序将 SBSRAM 内数据烧写至 FLASH;操作时,先加载数据(工
NOP 5
MVC B0,PDATA_O
STP *A0
ADD A0,4,A0
SUB B2,1,B2
[B2] B NEXTR
NOP 5
SUB B2,1,B2
[B2] B NEXTR
NOP 5
搬运工程 B 调用该函数:
void main()
{
int i;

dsp考试试卷

dsp考试试卷

一、填空题(每空2分,共16分)1、对于TMS320C54x系列DSP芯片,下列说法正确的是(??)(A) 专用型DSP????????(B)32位DSP??????(C) 定点型DSP????????(D) 浮点型DSP???2、要使DSP能够响应某个可屏蔽中断,下面的说法正确的是(???)A.需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0B.需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1C.需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置0D.需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置13、若链接器命令文件的MEMORY部分如下所示:???????MEMORY???????{????????PAGE?0:???PROG:????????origin=C00h,???length=1000h ????????PAGE?1:???DATA:????????origin=80h,????length=200h ???????}?则下面说法不正确的是()A、程序存储器配置为4K字大小?????B、程序存储器配置为8K字大小C、??数据存储器配置为512字大小?????D、数据存储器取名为DATA5、C54X DSP的流水线是由(??)级(也即是由多少个操作阶段)组成。

???????(A)?4????????(B) 6???????(C) 8????????(D) 106、假定AR3中当前值为200h,AR0中的值为20h,下面说法正确的是(???)A、在执行指令*AR3+0B后,AR3的值是200h;B、在执行指令*AR3-0B后,AR3的值为23Fh;C、在执行指令*AR3-0B后,AR3的值是180h;7、下面对一些常用的伪指令说法正确的是:(???)??A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号;??B、.ref?所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;??C、.sect命令定义的段是未初始化的段;??D、.usect命令定义的段是未初始化的段。

DSP芯片(TMS320C6711D)的Flash存储器(AM29LV400B)的在线编程方式

DSP芯片(TMS320C6711D)的Flash存储器(AM29LV400B)的在线编程方式

DSP芯片(TMS320C6711D)的Flash存储器
(AM29LV400B)的在线编程方式
在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电
可擦除的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 的就绪。

TMS320C6713的FLASH引导装载系统设计

TMS320C6713的FLASH引导装载系统设计

在TMS320C6713板中,为了使SDRAM,FLASH运行起来,需要设置寄存器,同时同步时钟需要进行PLL 的设置。

基本寄存器构型:/* EMIF setup */*(int *)EMIF_GCTL = 0x00000068;*(int *)EMIF_CE0 = 0x20f20333; /* CE0 SDRAM */*(int *)EMIF_CE1 = 0xffffff23; /* CE1 Flash */*(int *)EMIF_CE2 = 0x20f20323; /* CE2 I/O 32-bit async */*(int *)EMIF_CE3 = 0xffffff23; /* CE3 I/O 32-bit async */*(int *)EMIF_SDRAMCTL = 0x53116000; /* SDRAM control (32 Mb) */*(int *)EMIF_SDRAMTIM = 0x00000578; /* SDRAM timing (refresh) */*(int *)EMIF_SDRAMEXT = 0x000a8529; /* SDRAM Extension register */PLL寄存器构型:/* Set the PLL back to power on reset state*/*(int *)PLL_CSR = 0x00000048;*(int *)PLL_DIV3 = 0x00008001;*(int *)PLL_DIV2 = 0x00008001;*(int *)PLL_DIV1 = 0x00008000;*(int *)PLL_DIV0 = 0x00008000;*(int *)PLL_MULT = 0x00000007;*(int *)PLL_OSCDIV1 = 0x00008007;2 TMS320C6713 DSP板的Loader过程和以往TI公司的DSP(如3x,4x)采用引导表由固化在DSP内部的引导程序实现程序的自引导不同,TMS320C6000系列DSP采用的是一种新的引导方法,对于TMS320C6713,上电后,若选择从EMIF引导程序,则DSP自动将位于地址空间CE1(0x90000000~0x9FFFFFFF)开头的1KB代码传输到地址空间0处。

DSP(TMS320C6713)入门之旅五、I2C的理解和使用

DSP(TMS320C6713)入门之旅五、I2C的理解和使用

一般DSP上面都集成了I2C模块,这样在连接外部器件时可以很方便的控制外部的器件。

I2C 基本上都是用于外部控制的,因为是是串行总线。

在我们的实验板上I2C总线连接到了两个从设备上面,一个是我们的eeprom,另一个是我们的音频芯片AIC23。

通过I2C协议我们写入和读取eeprom数据,控制AIC23的声音一些属性!简介一下I2C协议的规则:一. 技术性能:工作速率有100K和400K两种;支持多机通讯;支持多主控模块,但同一时刻只允许有一个主控;由数据线SDA和时钟SCL构成的串行总线;每个电路和模块都有唯一的地址;每个器件可以使用独立电源二. 基本工作原理:以启动信号START来掌管总线,以停止信号STOP来释放总线;每次通讯以START开始,以STOP结束;启动信号START后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R/W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据;当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号;每个数据字节在传送时都是高位(MSB)在前;写通讯过程:1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2. 发送一个地址字节(包括7位地址码和一位R/W);3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4. 主控收到ACK后开始发送第一个数据字节;5. 被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束;6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;读通讯过程:1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线;2. 发送一个地址字节(包括7位地址码和一位R/W);3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK);4. 主控收到ACK后释放数据总线,开始接收第一个数据字节;5. 主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束;6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线;DSP中IIC模块框图:1. 总线空闲状态SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高;2. 启动信号START时钟信号SCL保持高电平,数据信号SDA的电平被拉低(即负跳变)。

DSP(TMS320C6713)入门之旅四、edma的理解和使用

DSP(TMS320C6713)入门之旅四、edma的理解和使用

EDMA的全称是:Enhanced Direct Memory Access(增强型dma),增强型直接内存存取(EDMA)是数字信号处理器(DSP)中用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输的能力,能够满足实时图像处理中高速数据传输的要求。

以TI公司的TMS320C6713型DSP为例,介绍EDMA控制器的特点。

结合实例给出EDMA在数据实时传输中的具体控制和实现方法。

实验结果表明,通过灵活控制EDMA不仅能够提高数据的传输效率,而且能够充分发挥:DSP的高速性能。

也就是在我们一般的dma的基础上做了一下加工以完成特定的功能。

比如我们dma传送数据一般是连续的一片数据块,但是我们想间隔着传送就不行了。

还有就是增强型的dma可以实现二维的传送和一个事件可以发起两次传送,这样就可以很好的服务我们的数据传送要求!如图EDMA结构图:可以看到我们配置自己的edma之后,就等待传送事件的到来,当传送事件到来的时候edma的控制器就接受到一个触发信号,就进入传送过程。

传送的规则定义在edma的每一个通道的参数设置里面,我们可以通过控制传送的参数来达到我们要传送的数据的控制的目的!传送参数表如图:第一个双字就是控制edma传送的规则,比如:一维单元同步,一维帧同步,二维等等。

这些控制属性得在这个域里面对其进行说明。

第二个双字就是告诉edma要传送数据的源地址,第三个双字的帧的数目和单元的数目,第四个双字就是告诉edma要传送数据的目的地址。

第五个双字告诉edma下一次触发时地址的偏移量的量。

第六个双字就是当前的单元传送完成之后的单元数目的重载值和是否edma是否需要要链接到下一个edma(注意:这儿是通道链接)我们先来理解几个概念:事件链接:实质就是想一个事件触发之后引起两次edma的搬移,当然这两次搬移不是同一个edma通道,如果是同一个edma通道,相当于同样的数据搬移两次,这样不仅没有意义,还会占用内部总线带宽,印象片内数据的流动的速度。

DSP课后习题与思考题

DSP课后习题与思考题

第一章习题与思考题一、填空:1.Instruction Cycle(指令周期)是执行一条指令所需的时间,指令周期的单位是(nS纳秒)。

所以DSP单周期指令的周期也是(时钟周期)。

2.选择DSP芯片所需考虑的因素有(DSP芯片性能)、(片内硬件资源)、(价格)、(DSP芯片的开发工具)等。

3.TMS320LF2407A控制器是专门为基于(控制)的应用而设计的。

其运算速度最大可为(40MIPS),最小指令周期为(25nS)。

4.TMS320LF2407ADSP控制器有强大的外设功能,包括(时间管理器EVA,EVB)、(控制器局域网CAN)、(串行接口SPI,SCI)、(模/数转换器ADC)、(看门狗定时器)。

5.TMS320LF2407ADSP芯片有RAM:(DARAM)、(SARAM),是(16)位。

二、思考题:1. 根据TI公司对DSP命名的方法。

解释给出芯片型号的各个字段的意义。

TMS 320 LF 2407APGE2. 为何将TMS320x2000系列的DSP也称作DSP数字信号控制器或DSP单片机。

3. 与TMS320x240x系列器件相比,TMS320x240xA器件增加了那些新特点。

运行速度加快30MHz——40MHz片上Flash/Rom中的代码可以加密;PDPINTX、CAPn、XINTn、和ADCSOC管脚有输入保护电路;PDPINTx管脚的状态反映在COMCONx寄存器中。

第二章习题与思考题一、填空:1.TMS320LF240xA系列DSP控制器采用了改进的(哈佛结构)总线,具有分离的(程序总线)和(数据总线),使用(四)级流水线作业。

2.TMS320LF240xA系列DSP控制器具有两套相互独立的(程序操作总线)和(数据操作总线),共有6套16位的内部总线构成,分别为(程序读总线PRDB、程序地址总线PAB、数据读总线DRDB、数据写总线DWDB、数据读地址总线DRAB、数据写地址总线DWAB)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP芯片(TMS320C6711D)的Flash存
储器(A
在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电可擦除的Flash存储器中。

要实现一个嵌入式系统的带电脱机运行,在线编程就成为嵌入式系统开发过程的必经之路。

由于在线编程涉及到硬件和软件方面的内容,因此要从顶层设计和系统的角度来考虑在线编程。

硬件设计要为软件设计作铺垫,尽可能简化软件设计。

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

1DSP与Fla
在嵌入式系统中,为了实现程序的脱机自动运行,程序往往固化在电可擦除的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存储器的编程或擦除状态。

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存储器的一次编程(数据写入)过程完成时,才能进行下一次的编程(数据写入)。

软件设计繁琐,且要经过多次调试。

相关文档
最新文档