关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于USB总线的ADSP-TS101S链路口加载

基于USB总线的ADSP-TS101S链路口加载

作者:时间:2012-07-23来源:网络收藏

3.3 LINK口发送模块与接口模块之间的接口
接口除用于加载TS101外,还可用于TS101正常工作时与PC机的数据传输,故对于不同意义的下行信息,需要根据其功能做不同处理。
上位机向FX2LP发送数据时,是通过将需要发送的数据打包(每包的大小由固件程序决定),每隔固定一段时间向下发送一包实现的。在这里,每包数据包含512个字节,其中前8个字节用来当帧头,后504个为需要下传的数据。可通过帧头的不同来区分下行信息的不同意义。其具体含义如表1所示。

本文引用地址:http://www.eepw.com.cn/article/202238.htm

f.JPG


FPGA轮询每包数据的帧头,如果是TS101与PC机交互数据,则送到双口RAM中;如果是TS101加载数据,则送到LINK口发送模块中;如果是/BMS拉高(低)指令,则通过相应的管脚拉高(低)/BMS;如果是复位TS101指令,则通知复位逻辑对TS101进行复位,同时复位数据缓冲FIF O。
在实现基于的TS101的LINK加载时,上位机将DSP加载文件(.ldr文件)打包后,通过USB线缆向FX2LP发送。.ldr文件的大小不一定为504字节的整倍数,因此最后一包数最后可能有很多0。必须把这些0去掉,否则可能在加载TS101时导致其死机。为解决该问题,在帧头定义中,用帧头2来区分是否为最后一包数,如果不是最后一包数,上位机打包时,帧头2赋为01F8(即504),如果是最后一包数,则把将有效数据长度赋给帧头2。FPGA不断将TS101加载数据送到LINK口发送模块中,当发现是最后一包数据时,读取有效数据的长度,并启动一个计数器,当计到该长度时,让FIFO读使能失效,则只有ldr文件的有效数据被加载到TS101中。

4 TS101程序在线重加载和固化的实现
首先通过上位机发送/BMS拉高指令,让FPGA将TS101的/BMS管脚拉高,然后发送复位TS101指令,复位TS101和FIFO;之后,发送/BMS拉低指令,让FPGA将TS101的/BMS管脚拉低,最后,将ldr文件打包为TS101加载数据包并向下发送。发送完毕后,TS101即可运行该程序。
若要实现TS101程序的固化,则可将要烧写的程序生成为ASCII格式的ldr文件,转化为.dat格式,通过include指令编译到EPROM(FLASH)的烧写程序中,生成为Link加载ldr文件,通过USB进行加载。烧写完成后,可通过闪灯或通过USB上传状态信息来指示烧写结果。

5 结束语
文中提出的基于USB的TS101链路口加载方法成功应用于某雷达信号处理平台的程序加载,其功能验证是通过使用本方法加载各种DSP应用程序并进行功能测试来完成的。使用该方案能稳定可靠的实现TS101程序的重加载,并且能对与之相连的FLASH芯片AT29LV040A进行成功烧写。


上一页 1 2 3 4 下一页

关键词: ADSP-TS USB 总线

评论


相关推荐

技术专区

关闭