dsp6713中文手册挂仿真器启动和自启动的区别

TMS320C6713 DSP的SPI接口设计_中华文本库
第1页/共9页
TMS320C6713B DSP的SPI接口设计 引言
随着信号处理技术的发展,在实际的信号处理系统中,DSP需要与不同的设备之间进行数据交换。SPI接口是外部设备中经常使用到的接口技术。
本文根据笔者在调试TMS320C6713B DSP与S3C2440A ARM芯片通信时的经验,介绍了将TMS320C6713B的多通道缓冲串口(McBSP)配置成SPI模式后与ARM芯片进行数据通信的方法并给出了相应的程序代码。
1、SPI通信协议
SPI(Serial Peripheral Interface)总线接口是由摩托罗拉公司提出的一种串行同步通讯协议,这是一个包含4根信号线的通信协议。SPI 接口包括串行数据输入(主输入从输出MISO),串行数据输出(主输出从输入MOSI),串行移位时钟(SCK)以及从使能信号(SS)四种信号。一个完整的SPI通信系统由一个主设备和一个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。主设备通过产生移位时钟来发起通讯。通讯时,数据由主设备的MOSI输出,MISO输入,数据在时钟的上升或下降沿由MOSI 输出,在紧接着的下降或上升沿由MISO 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。 SPI的数据传输是基于时钟信号来完成的。在每一次数据传输开始时,由主设备产生时钟信号,每一个时钟周期传输1bit数据,传送完相应的8/16bit数据后,时钟信号变为无效,传输结束。在不进行数据传输时,主设备使SS信号保持高电平。产生数据输出前,主设备将SS变为低电平以使能从设备,完成数据传输后,SS又转换为高电平。
使用SPI总线接口与外部通信时,可以采用4种不同的数据传输模式。这4种模式的区别主要在于串行时钟(SCK)停止时电平值的高低以及时钟是否延迟输出,也就是设置时钟的极性及相位。时钟极性(CPOL)用于配置时钟空闲时的电平值,CPOL为0时,串行同步时钟的空闲状态为低电平;为1时,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)配置用于选择时钟是否延迟输出,
两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设时钟相位和极性应该一致。
第1页/共9页
寻找更多 ""21ic官方微信-->
后使用快捷导航没有帐号?
查看: 1664|回复: 15
DSP6713自启动问题
&&已结帖(10)
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
将程序烧写进FLASH以后,系统自启动不能每次都成功,偶尔会失败,没有找到问题。因为是FPGA控制DSP上电,时序上先启动外设,DSP是最后启动的,测量了一下复位波形似乎也是这样的。复位时间也是按照DATASHEET的要求设置的。但是DSP本身启动了说明启动代码也不应该有问题。我想问问各位大神,除了启动代码和上电时序还有可能在哪里出问题导致自启动不成功呢?有没有遇见过这样的问题解决了的朋友呢?
满意回复+10
用示波器吧
这个效果较好
看看上电瞬间是不是低电平 有没有跳变
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
怎么没有人回答啊,大神们都去哪儿了?
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:126.00受赏:2926.20
主题帖子积分
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是低电平
欢迎进入 &
& && && & TI忠诚粉丝!
H-JTAG ARM仿真器代理
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是 ...
这个存储器地址的点评怎么测啊?我不怎么懂硬件哈
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:126.00受赏:2926.20
主题帖子积分
eagle200203 发表于
这个存储器地址的点评怎么测啊?我不怎么懂硬件哈
用示波器吧& &这个效果较好
看看上电瞬间是不是低电平 有没有跳变
欢迎进入 &
& && && & TI忠诚粉丝!
H-JTAG ARM仿真器代理
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
eagle200203 发表于
这个存储器地址的点评怎么测啊?我不怎么懂硬件哈
麻烦再问一下哈,您说的存储器是不是FLASH?地址线有32根,测哪一个呢?
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是 ...
麻烦再问一下哈,您说的存储器是不是FLASH?地址线有32根,测哪一个呢?
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
用示波器吧& &这个效果较好
看看上电瞬间是不是低电平 有没有跳变
搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊?
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:126.00受赏:2926.20
主题帖子积分
eagle200203 发表于
搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊? ...
就是看看在flash连接的地址线就可以啦&&
欢迎进入 &
& && && & TI忠诚粉丝!
H-JTAG ARM仿真器代理
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:126.00受赏:2926.20
主题帖子积分
eagle200203 发表于
搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊? ...
就是看看在flash连接的地址线就可以啦&&
欢迎进入 &
& && && & TI忠诚粉丝!
H-JTAG ARM仿真器代理
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
就是看看在flash连接的地址线就可以啦
还有一个问题哈,觉得很奇怪的,我用SEED6713的开发板烧写一段简单的程序,在定时器里面做两件事,点灯和发送串口数据。将程序烧写进FALSH之后,启动的时候挂仿真器是正常的,定时亮灯和输出串口数据,但是用跳针就只是定时亮灯了,串口数据输出错误,这是为何啊?烧写出了问题还是启动出了问题啊?
同样的代码烧写进我们自己做的板子,就换成了另外的情况,那就是有时候DSP启动不起来,但是一旦启动起来了定时器和串口都是正常的(不挂仿真器,用跳针哈),大侠分析一下这是啥问题呢?
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:126.00受赏:2926.20
主题帖子积分
eagle200203 发表于
还有一个问题哈,觉得很奇怪的,我用SEED6713的开发板烧写一段简单的程序,在定时器里面做两件事,点灯和 ...
你说的跳针是干什么的& &
要么启动要么不启动还可以理解& &
启动时挂仿真器& &会不会是代码在RAM中跑了
关于自己做的板子有时候不启动肯定是加载代码时外扩flash的起始地址都不为零
欢迎进入 &
& && && & TI忠诚粉丝!
H-JTAG ARM仿真器代理
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
你说的跳针是干什么的& &
要么启动要么不启动还可以理解& &
启动时挂仿真器& &会不会是代码在RAM中跑了 ...
关于自己的板子有时不启动的问题已经找到了,应该是晶振过大的问题。
过程是这样的,我拉了一个做硬件的老师傅帮我找问题,用示波器测量启动时刻的数据线、地址线,发现正常启动时复位后的读信号和片选信号都是正常的;一旦启动不起来,在复位后读信号、片选信号也是有的,但是紧跟着会出现一个3.1M的时钟信号(不知道如何产生的),而且这个信号一直有,就像死循环,所以代码就跑不起来了,启动失败。
老师傅耐心的把开发板和我们自己的板子做对比,发现启动阶段,我们读写周期是7.9ns,开发板是3.9ns,(忘了是us还是ns了,反正是2倍关系哈)。然后我就反应过来我们的晶振是50M,开发板是25M,刚好是它的两倍,老师傅就干脆换个小点的晶振试试。于是换了个16M的,奇迹发生了,哈哈:lol,断电连续试验100次全部启动成功,按复位键重复试验100次也全部启动成功,总算解决了问题。
然后老师傅就说可能启动对时序有要求,外部晶振不能太大啊!
和老师傅一起干活就是爽,有耐心,抓得住关键啊,问题一找一个准,可惜他今年就要退休了,以后麻烦了啊,出问题都不知道找谁!:'(
这个问题得到解决哈,把原因给大家分享,也谢谢各位大侠的指点!还望各位继续在其他问题上多多指点我这个菜鸟哈!:loveliness:
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
你说的跳针是干什么的& &
要么启动要么不启动还可以理解& &
启动时挂仿真器& &会不会是代码在RAM中跑了 ...
特别要感谢版主的提点哦,感激不尽哈!:lol
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
主题帖子积分
专家等级:结帖率:63%
主题帖子积分
中级技术员, 积分 201, 距离下一级还需 99 积分
中级技术员, 积分 201, 距离下一级还需 99 积分
zhangmangui 发表于
你说的跳针是干什么的& &
要么启动要么不启动还可以理解& &
启动时挂仿真器& &会不会是代码在RAM中跑了 ...
不过开发板的问题还是没有解决,不知道为何只是挂仿真器是时候正确,呵呵,先不管了,以后有时间再来版主哈
主题帖子积分
高级技术员, 积分 598, 距离下一级还需 402 积分
高级技术员, 积分 598, 距离下一级还需 402 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 598, 距离下一级还需 402 积分
高级技术员, 积分 598, 距离下一级还需 402 积分
So strange....
技术新星奖章
人才类勋章
时间类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
涓涓之细流
发帖类勋章
时间类勋章7509人阅读
本文将阅读TMS320C6713的数据手册(Datasheet)过程记录下来。
因为本次阅读数据手册的目的是获取最小系统的硬件设计相关的信息,因此将会说明如何筛选数据手册中的相关部分阅读。
TMS320C6713的数据手册可以在搜索下载获得,也可以到TI官网下载。
1. 确定阅读目标
为绘制TMS320C6713的最小系统,因此,主要关注核心的硬件,比如供电、复位、时钟以及启动方式配置等。如果不添加相关的外设,则数据手册中有关外设的讲解可以略过。
2. 阅读数据手册首页的关于芯片功能的基本信息
数据手册上的第一页很重要,比如从上面很容易就可以看出6713为浮点DSP,主频、指令速度等。
还有启动的配置方式,封装方式,供电方式,这些是在设计最小系统时都需要考虑的问题。比如我们从中可以看出,6713分别需要3.3V和1.2给IO口和DSP内核供电,因此我们必需设计电源电路能同时产生1.2V和3.3V的稳定供电电压。
3. 熟悉最小系统的构成
TMS320C6713最小系统由7部分组成,
熟悉了最小系统我们就知道电路设计过程中要完成哪些功能呢,在继续阅读数据手册时也知道要关注哪些功能了。
我们要关注电源的设计,功能设置一般包括启动方式配置,下载方式配置,存储器访问方式配置等等,关注复位的方法(高电平复位?低电平复位),关注需要哪几种时钟,是否需要外扩存储器、存储器的映射关系(如果要外扩存储器需要知道映射关系)。JTAG电路一般比较固定,可以在网络上查找近乎固定的电路模式,但不同芯片的JTAG电路略有不同,注意区分。DSP6713使用14脚的JTAG接口。
4. 快速阅览数据手册
如果这是第一次阅读该数据手册,强烈建议先不要直接大范围地跳着阅读,而应该“阅览”,阅览指快速的往下读,觉得与最小系统设计无关的部分可以直接很快跳过。
阅读时对芯片整体系统的描述最好仔细阅读,比如下面的描写6713处理器特性的表格和功能图(对存在的外设要知道外设是干嘛用的,但不用知道用法),其它相关的内容应该形成一个框架,需要知道大致的位置,需要时再详细阅读。
存储器的映射图
若外扩存储器,外扩存储器的地址至少从0x(EMIF CE0)开始。
数据手册接着就是各种详细的关于外设的寄存器配置了,这些可以暂时不用去管,记住大概位置,快速翻过,用到的时候再详细看,接着往下,看到“DEVICE CONFIGURATIONS”,设备配置,当然很重要了(与最小系统中的功能设置部分对应),我们要详细地看看,如果可以还可以按照自己的方式做个笔记,首先有下面一段,
On the C6713 device, bootmode and certain device configurations/peripheral selections are determined at
device reset, while other device configurations/peripheral selections are software-configurable via the device
configurations register (DEVCFG) [address location 0x019C0200] after device reset.
为什么要有设备配置?因为现在的芯片有很管脚具备复用功能(有多种功能),我们要按照自己的方式配置成自己需要的功能。
上面那段话的意思是说:启动模式和设备配置/外设选择在设备复位时决定了(暗指上电时就由硬件决定了),还有一些设备配置是由软件寄存器(DEVCFG)配置的。很明显,我们这里更关注上电前硬件要做哪些配置。
哦,这手册很总结地对要进行复位时要配置好的硬件部分进行了描述(H12的上拉,HD8大小端配置,HD[4:3]启动模式,CLKMODE0时钟选择模式),我在自己的电路中选择配置为HD12=1上拉,HD8=1小端,HD[4:3]=10,CLKMODE0=1方波时钟输入。除了对芯片的模式进行配置外,还要对“外设选择”进行配置(下图),这里配置HD14=0即不使能HPI。
接着往下看,“TERMINAL FUNCTIONS&”,管脚功能,我们记住该位置(可以在pdf中添加书签),暂不细看,在绘制芯片的原理图封装时主要参考该表格。
表格中描述了管脚信号名称,管脚号,管脚类型(输入/输出/三态等),也对管脚功能做了描述。
接下来看到TMS320C6000系列的命名方法,作为课外知识学习下,
接着,看到曙光——“文档支持”,该部分给出了一些参考文档,是继续深入学习的最好参考资料,因此至少要记着有这么些资料可供参考。
还有很多资源可以从TI的官网上获得。
然后数据手册中有一大块是对各种外设寄存器的描述,可暂时跳过。
然后,也是这里关注的重点,电源供电:(1)电源供电顺序是DSP核要比IO口先上电,断电顺序刚好相反,数据手册上给出了相应的电源供电电路的方案,
数据手册中还对供电去耦的相关内容进行了描述:
In order to properly decouple the supply planes from system noise, place as many capacitors (caps) as possible
close to the DSP. Assuming 0603 caps, the user should be able to fit a total of 60 caps — 30 for the core supply
and 30 for the I/O supply. These caps need to be close (no more than 1.25 cm maximum distance) to the DSP
to be effective. Physically smaller caps are better, such as 0402, but the size needs to be evaluated from a
yield/manufacturing point-of-view. Parasitic inductance limits the effectiveness of the decoupling capacitors,
therefore physically smaller capacitors should be used while maintaining the largest available capacitance
value. As with the selection of any component, verification of capacitor availability over the product’s production
lifetime needs to be considered.
接着还对JTAG的接口、启动模式(Bootmode)和复位相关的内容进行了描述。
(1)JTAG的接口
The TMS320C6713 DSP requires that both TRSTand RESETresets be asserted upon power up to be properly
initialized. While RESETinitializes the DSP core, TRSTinitializes the DSP’s emulation logic. Both resets are
required for proper operation.
Note: TRSTis synchronous and must be clocked by TCLK; otherwise, BSCAN may not respond as expected
after TRSTis asserted.
While both TRSTand RESETneed to be asserted upon power up, only RESETneeds to be released for the
DSP to boot properly. TRSTmay be asserted indefinitely for normal operation, keeping the JTAG port interface
and DSP’s emulation logic in the reset state. TRSTonly needs to be released when it is necessary to use a JTAG
controller to debug the DSP or exercise the DSP’s boundary scan functionality.
The TMS320C6713 DSP includes an internal pulldown (IPD) on the TRSTpin to ensure that TRSTwill always
be asserted upon power up and the DSP’s internal emulation logic will always be properly initialized when this
pin is not routed out. JTAG controllers from Texas Instruments actively drive TRSThigh. However, some
third-party JTAG controllers may not drive TRSThigh but expect the use of an external pullup resistor on TRST.
When using this type of JTAG controller, assert TRSTto initialize the DSP after powerup and externally drive
TRSThigh before attempting any emulation or boundary scan operations.
Following the release of RESET, the low-to-high transition of TRSTmust be “seen” to latch the state of EMU1
and EMU0. The EMU[1:0] pins configure the device for either Boundary Scan mode or Emulation mode. For
more detailed information, see the terminal functions section of this data sheet. Note: The DESIGN-WARNING
section of the TMS320C6713 BSDL file contains information and constraints regarding proper device operation
while in Boundary Scan Mode. For more detailed information on the C6713 JTAG emulation, see the
TMS320C6000 DSP Designing for JTAG Emulation Reference Guide(literature number SPRU641).
(2)启动模式
The C6713 has three types of boot modes:
 Host boot
If host boot is selected, upon release of internal reset, the CPU is internally “stalled” while the remainder of
the device is released. During this period, an external host can initialize the CPU’s memory space as
necessary through the host interface, including internal configuration registers, such as those that control
the EMIF or other peripherals. Once the host is finished with all necessary initialization, it must set the
DSPINT bit in the HPIC register to complete the boot process. This transition causes the boot configuration
logic to bring the CPU out of the “stalled” state. The CPU then begins execution from address 0. The DSPINT
condition is not latched by the CPU, because it occurs while the CPU is still internally “stalled”. Also, DSPINT
brings the CPU out of the “stalled” state only if the host boot process is selected. All memory may be written
to and read by the host. This allows for the host to verify what it sends to the DSP if required. After the CPU is
out of the “stalled” state , the CPU needs to clear the DSPINT, otherwise, no more DSPINTs can be received.
 Emulation boot
Emulation boot mode is a variation of host boot. In this mode, it is not necessary for a host to load code or to
set DSPINT to release the CPU from the “stalled” state. Instead, the emulator will set DSPINT if it has not
been previously set so that the CPU can begin executing code from address 0. Prior to beginning execution,
the emulator sets a breakpoint at address 0. This prevents the execution of invalid code by halting the CPU
prior to executing the first instruction. Emulation boot is a good tool in the debug phase of development.
 EMIF boot (using default ROM timings)
Upon the release of internal reset, the 1K-Byte ROM code located in the beginning of CE1is copied to
address 0 by the EDMA using the default ROM timings, while the CPU is internally “stalled”. The data should
be stored in the endian format that the system is using. The boot process also lets you choose the width of
the ROM. In this case, the EMIF automatically assembles consecutive 8-bit bytes or 16-bit half-words to
form the 32-bit instruction words to be copied. The transfer is automatically done by the EDMA as a
single-frame block transfer from the ROM to address 0. After completion of the block transfer, the CPU is
released from the “stalled” state and start running from address 0.
A hardware reset (RESET) is required to place the DSP into a known good state out of power-up.The RESET
signal can be asserted (pulled low) prior to ramping the core and I/O voltages or after the core and I/O voltages
have reached their proper operating conditions. As a best practice, reset should be held low during power-up.
Prior to deasserting RESET(low-to-high transition), the core and I/O voltages should be at their proper
operating conditions and CLKIN should also be running at the correct frequency.
再接着数据手册的后面就是一些相关的时序,在编程时尤为关键,但不是现在考虑的问题;最后就是机械封装结构了,PCB封装的绘制主要参考数据手册结尾处的机械封装描述。
到此,我们已经完整的阅览了遍TMS320C6713的数据手册了。有人觉得阅读数据手册很枯燥,但有目的有重点地去阅读,自我觉得阅读数据手册是了解一个芯片最快速有效的方法。在阅读时注意:
(1)确定阅读目标
(2)确定关注框架/内容:可以绘制思维导图(推荐XMind软件)帮助阅读
(3)第一次阅读要“阅览”,并对重点但一时无法记忆的内容使用pdf书签标记,其它次要内容知道大概位置就OK了,以后阅读直接跳转到需要了解的位置阅读即可。
(4)&好记性不如烂笔头“,数据手册就是一本讲解芯片的书,阅读时要时刻注意总结记笔记。
原则上,一份100多页的数据手册在4个小时的时间内完全可以阅览完,若4小时内没有阅览完毕,说明太过关注细节了,否则说明可能漏掉了重要的东西。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1412464次
积分:12846
积分:12846
排名:第804名
原创:188篇
转载:44篇
评论:560条
博客内文章若存在图片或格式问题,请移步到备份
文章:17篇
阅读:176491
文章:10篇
阅读:196255RS232远程配置DSP;引言;RS232远程配置的基本思路是,PC端通过RS2;DSP在线编程是指不更改目标系统硬件的情况下,实;(1)JTAG接口不能满足远距离传输要求,难以实;(2)不能在高、低温等复杂环境下工作;;(3)由于需要连接仿真器进行程序下载,因此在进行;(4)接口信号太多,难以在小体积设备上应用;在本项目中,考虑到实际应用,不可能通过JTA
RS232远程配置DSP
RS232远程配置的基本思路是,PC端通过RS232串口向DSP发送配置信息,DSP将接收的配置信息存入到NORFLASH中,DSP的自启动方式设置为ROM引导自启动,这样DSP在重启后就可以从FLASH中载入配置信息并开始运行。简单地说,RS232串口实现的功能就是实现DSP在线编程,即烧写FLASH。
DSP在线编程是指不更改目标系统硬件的情况下,实现系统功能的更新。一般的DSP在线编程实现方法是:通过JTAG接口下载FLASH写入程序和代码数据到DSP片内运行,实现对FLASH的编程。这种传统方法具有下载速度快、无需添加额外接口设备等有点,被广泛采用。然而这种方法虽然比较简单,但也存在许多的不足之处:
(1)JTAG接口不能满足远距离传输要求,难以实现远端系统的在线编程;
(2)不能在高、低温等复杂环境下工作;
(3)由于需要连接仿真器进行程序下载,因此在进行程序更新时常常需要打开设备外壳才能实现;
(4)接口信号太多,难以在小体积设备上应用。
在本项目中,考虑到实际应用,不可能通过JTAG接口来实现系统功能更新,为此拟采用RS232串口来进行DSP在线编程。这种方法进行程序加载具有方便、灵活的特点。使用串行接口,接口信号简单;同时RS232串行传输具有距离远(能够实现异地程序下载)、抗干扰
性能好、环境适应性强等特点,非常适合本项目中的远程配置DSP。 实现原理
TMS320C6713与其它芯片相比,自启动过程有很大的不同之处,TMS320C6713是采用两次引导来完成整个引导过程。在DSP芯片复位后,EDMA从CEl空间(FLASH)拷贝1KB的数据到地址0处,然后退出复位状态,开始执行地址0处的1KB的程序代码。而FLASH存储器其它部分的程序代码则需要用最开始搬移的1KB程序代码来再次引导,直至FLASH存储器中的所有数据全部搬移到DSP的内部RAM中,整个自举过程才完毕。
通过以上对DSP上电引导过程的描述,在使用RS232串口配置DSP时,预先需要编写一个控制程序Control,使用DSP仿真器通过JTAG接口对FLASH芯片烧入该控制程序。这个控制程序的主要功能是完成串口通信数据检测、FLASH编程操作以及DSP用户代码加载。在每次上电或重启后,DSP依靠其设置好的自启动方式从FLASH中加载Control程序到DSP内部开始运行,此后DSP被Control程序接管。Control程序监视串口通讯数据,如果检测到PC机发送的程序更新指令,则开始接收用户代码并缓存到DSP片内,在用户代码全部接收完成后,启动FLASH编程指令将用户代码全部编程到FLASH中。如果没有检测到程序更新指令,则Control程序负责搬移FLASH中已有的DSP用户代码到DSP内部的程序RAM中开始运行,此后DSP完全由用户程序控制。
以上就是串口配置DSP的大体过程,DSP程序经调试完成后,首
次写入FLASH由DSP仿真器经JTAG接口实现,此后的程序更新则都通过串口在线完成,不需要仿真器的参与。当需要更新程序时,主控PC机首先发送程序更新指令给DSP,在DSP返回确认指令后,PC机与DSP建立通信连接;接下来开始按低字节在前,高字节在后的顺序依次加载新程序到DSP,DSP在数据接收完成后,将数据写入到FLASH中。为了确保可靠性,在程序接收完成后,DSP进行校验,验证程序是否接收正确,如不正确则重新建立连接,重新传输程序数据。在系统重新上电后,DSP自动从FLASH加载、运行更新程序。
注:(1)在设计中,Control程序与用户程序在FLASH中必须分开存储。Control程序可设置为写保护,不能随便擦除,所以在操作过程中遇到突然掉电或误操作引起的擦除、写入不成功也不会影响程序的再次更新。
(2)DSP将主控PC机传来的数据按顺序写入到FLASH中,所以要实现上电自启动,就需要在主控PC机上把COFF文件转换成符合自启动格式的二进制文件。
(3)为了判断一段更新程序是否传输完毕,需要在数据传输时加入起始位和终止位。
1.硬件实现
图1:硬件连接框图
TI公司的TMS320C6713B芯片不仅具有强大的处理内核,能够完成各种复杂的数据处理任务,同时片内硬件资源充足。在设计中,计算机采用RS232串口标准,通过MAX3232实现电平格式转换后送往FPGA,FPGA实现串并数据转换(UART)和产生串口收发中断,最后通过DSP提供的EMIF接口实现与DSP无缝数据交互,其硬件连接方式如图1所示。
2.软件实现
(1)在线编程软件设计(主控PC端)
在线编程软件由编程文件载入模块、串口配置模块、控制管理模块组成,属于计算机端应用程序。编程文件载入模块完成的是编程文件的装载(已进行格式转换的用户代码),在代码段前后加入起始终止位;串口配置模块用于配置串口通讯端口及速率;控制管理模块主要实现在线编程时与DSP的交互和发送程序数据等功能。
(2)Control软件设计(DSP端)
Control软件主要包括编程文件接收模块、校验模块、FLASH编程模块、二次加载模块以及控制模块等。
编程文件接收模块负责接收来
自串口的编程文件,把收到的字节缓存到已分配的内存中,经校验模块校验无误后,启用FLASH编程模块完成FLASH的擦除及写入操作,将编程文件写入到FLASH中。若校验模块校验有误,则需在线编程软件重新发送数据。二次加载模块负责引导DSP用户程序的执行。控制模块是Control程序的调度者,负责检测串口发送的程序更新信号,如果收到更新信号,则控制DSP工作在Control程序接管状态,如果没有收到更新信号,则启动二次加载模块代入FLASH中已有的用户程序开始运行。
包含各类专业文献、专业论文、各类资格考试、行业资料、应用写作文书、高等教育、生活休闲娱乐、54RS232远程配置DSP等内容。 
 而现代的 UPS 采用先进的 DSP 控制技术,具有超宽的输入电压范围,在额定输入...向用户提供了两个 RS232 接口,一个计算机干接点 接口和一组远程报警继电器触点...  DSP 通过 GPRS 模块发送短消息通知远程值班人员及时处理...即使用 AT 命令通过 RS232串口控制 GPRS 模块连接 ...接收数据流程如下:上位监控中心系统通过设置一个同定...  计算机网络中心机房远程监控系统_计算机硬件及网络_IT...DSP A/D 监控主机 电压显示 温度显示 湿度显示 ...RS232 接口:计算机通过该口对监控主机进行综合设置。...  通过电力线进行远程控制和保护开关 ; [8] 利用快速数字信号处理(DSP)芯片技术...[11] 3、光纤专网,它的接口方式以以太网通信方式、RS-232 专线方式和 E1 ...  LST 命令和 DSP 命令的区别: LST 命令通常用来查看...修改 RS 功率配置 &命令:MOD PDSCHCCFG &参数:本...另外一个是 M2000 可以远程连接的 IP 地址,LDT ...  RS485 串行接口控制、协议接口控制、系统软件管理等...最新 DSP 处理技术 双玻璃设计,防止反光 最低照度...ST-IR2232 ST-IR2252 第 10 页 远程视频监控...  它可配置立体声 4 路 2 分频,立体声 3 分频,立体 4 分频,乃至 8 分频...DSP4000 可以通过附带的软件连接计算机的 RS232 接口作为远程操控。 DSP4000 ...  TTL 或 RS422 24 位数字增量编码器 无 TI 公司的 TMS320F240 DSP 32 位 ...(RS232,RS422) 电阻输出(10 通道) 3.2.5.3 增量编码器接口 增量编码器...  通过电平转换 电路 MAX3232 将 3.3V 的 LVTTL 电平转换成标准的 RS232 电平,...这一部分程序是初始化串口配置。 这部分是初始化 DSPVC5402 的时钟。 这个是...}

我要回帖

更多关于 dsp c6713 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信