当前位置:首页 > 智能硬件 > 智能硬件
[导读]摘要:在DSP系统上运行的程序,系统上电复位后需要加载程序到DSP的程序存储器内。这是使用外部加载模式时的系统开发不可缺少的环节。针对实际需求,提出了一种使用USB对ADSP_TS101S进行链路口加载的方案,并介绍了设

摘要:在DSP系统上运行的程序,系统上电复位后需要加载程序到DSP的程序存储器内。这是使用外部加载模式时的系统开发不可缺少的环节。针对实际需求,提出了一种使用USB对ADSP_TS101S进行链路口加载的方案,并介绍了设计思想和实现过程。实际应用的试验证明,提出的加载方案有效且简单易行。
关键词:ADSP_TS101S;链路口;USB;加载

    ADSP_TS101S(以下简称TS101)是美国ADI公司推出的TigerSHARC系列数字信号处理器中一款高性能的静态超标量处理器,它专为大规模信号处理任务和通信应用进行了结构上的优化,广泛应用于雷达等高速实时信号处理系统。
    将程序代码加载到DSP内部程序空间时,通常采用开发器的JTAG接口将执行文件加载到DSP内存里进行调试;在硬件仿真完成后,又通过JTAG接口将生成的ldr文件烧写到与TS101相连的FLASH里固化。然而在很多情况下,使用开发器加载或固化程序很不方便,甚至无法实现,因此需要开发一种脱离开发器的TS101加载方式。基于这种需求,设计实现了基于USB总线的TS101链路口加载,只需一根USB线缆,即可实现TS1 01的程序在线重加载和固化。

1 Link Port协议
    链路口(Link Port)是TS101的一种高速互联接口,它的通信是通过一个8位的数据总线和3个控制信号进行的,有4组LINK管脚。其中LxC LKIN和LxCLOUT是时钟/应答输入和输出管脚;LxDAT[7:0]-数据输入输出总线;LxDIR是LINK的方向指示信号。Link Port的最简单的连接方式(如图1所示)用了LxCLKIN,LxCLKOUT,和LxDAT。每个ADSP-TS101 DSP的LxCLKOUT与其它的LxCLKIN相连,两片TigerSHARC101 DSP芯片之间用LxDAT数据总线相连。


    Link Port的最小传输单位是8个时钟周期,数据总量为4倍字长(16字节,在时钟的双沿触发)。传输被发送端初始化,只有当接收端设置LxCLKOUT(对于发送端为LxCLKIN)为高电平,发送才能被初始化为一次传输。LxCLKOUT为高电平意味着接收端为接收模式并且接收缓冲器为空。

2 TS101的软件设计流程及加载引导方式
    TS101的软件设计流程如图2所示。其中,链接描述文件(.LDF)定义了整个系统的存储器配置和程序中数据及代码的具体存放位置。加载核文件(.DXE)是指加载引导核程序,其大小为32 bit,放在加载文件的起始部分,其功能是用来实现TS101的正确引导。ADI公司在其DSP集成开发环境Visual DSP++安装目录的ldr子目录下提供了标准加载核文件及相应的源程序(.ASM)和链接描述文件。一般可直接使用提供的标准加载核文件或对其相应的源程序进行简单修改,重新编译链接生成所需的加载核文件。加载文件是由引导加载器(elfloader)将可执行文件进行一定的格式变化,并在起始位置附加上加载核文件生成的。


    加载程序的外部设备可以直接向链路口缓冲写入数据,只要写入速率不超过DSP的主时钟频率即可。此处的外部设备采用计算机的USB总线。鉴于FPGA在数字电路系统设计中具有可靠性高、设计灵活、易于开发等优点,本文采用FPGA进行Link Port与USB的接口设计,使USB的输出满足Link Port的协议,以实现DSP的链路口加载。

3 USB总线及其与Link Port的接口
    采用FPGA实现基于USB总线的TS101的Link Port加载结构框图如图3所示。


3.1 Link Port发送模块
    ADI公司网站上有推荐的实现TS101的Link Port收发协议的VHDL代码,但是比较复杂,鉴于本文只需要使用Link Port的发送功能,且无需缓冲,故根据图1所示的最小Link Port配置编写代码,实现Link Port发送功能。基于FPGA的TS101的Link Port发送模块结构框图如图4所示。


    图4 中的FIFO负责对输出数据进行缓冲,当输入数据的速率高于Link Port时钟的频率时,Link Port的数据可以先存在FIFO数据中,当存入一定数量以后,再以Link Port的时钟把数据读出。当输入数据的速率低于Link Port的时钟数率的时候,Link Port的数据同样可以先存在FIFO中,当存入整数倍的4字数据量后,再以Link Port的时钟的数率发送出去。
    图4中的控制模块是Link Port发送模块的关键模块,主要负责产生读FIFO的读使能信号和Link Port的发送时钟根据Link Port发送的时序特点,使用状态机来实现数据流的控制。当Link Port没有工作时,保持等待状态。需要传输数据时,首先检查LxCLKIN是否为高电平,若是,则说明接收端为接收模式并且接收缓冲器为空,可以初始化一次发送,否则要等待。开始传输数据时,数据首先被写入FIFO中,当判断
到FIFO的输出信号EMPTY为高时,将处于默认高电平的LxCLKOUT信号拉低,在经过6个时钟周期的低电平后(在此期间检测LxCLKIN是否一直为高电平),LxCLKOUT拉高形成第一个LINK时钟上升沿,这个时候应该在数据线上产生FIFO内的第一个输出数据。LxCLKOUT下一周期拉低,第2个数据输出,这样经过16个时钟周期以后表示一次4字传输完毕。然后检测FIFO中剩余的数据FIFO_RDATA_COUNT,若大于4则继续上面的传输操作,否则,说明FIFO中只剩最后一个4字,这次传输LxCLKOUT的最后一个时钟上升沿产生以后,不再变低,一直保持高电平。然后,把本模块中的所有临时寄存器和FIFO复位。在产生完足够长度脉冲长度的清零信号后状态机重新进入等待状态。
3.2 USB接口模块
    USB接口模块采用FPGA控制USB协议解析芯片来实现。其实现框图如图5所示。


    本方案中,USB2.0协议解析芯片选用CYPRESS公司的CY7C68013A,它将一个USB外设所需的所有功能集成在一块芯片上。芯片提供了3种传输数据的方式,文中选择从FIFO(SlaveFIFO)模式。在SlaveFIFO模式下,8051微控制器不在数据的传输通路上,只负责设备的初始化和相应主机的控制传输请求,高速大批量的数据传输通过外部的主控者通过SlaveFIFO接口直接将数据填充到FX2LP的端点中(或者从里面读出),然后由硬件控制将数据传输给主机。
    Slave FIFO的读写方式有两种:同步读写以IFCLK为时钟,IFCLK可以外部输入,也可以使用内部的30 MHz或者48 MHz时钟;异步读写时IFCLK信号无效,只需要提供读写信号即可进行数据读写。本文选择同步读写。
    FPGA采用Xilinx公司的XC3S1000。FPGA在其内部建立2个双口RAM,来缓存收发数据;并与协议解析芯片的各控制信号相连,实现对其的读写控制。文中仅使用这个芯片的接收逻辑实现加载文件的USB总线传输,发送逻辑只用来做辅助调试和状态监测。
3.3 LINK口发送模块与USB接口模块之间的接口
    USB接口除用于加载TS101外,还可用于TS101正常工作时与PC机的数据传输,故对于不同意义的下行信息,需要根据其功能做不同处理。
    上位机向FX2LP发送数据时,是通过将需要发送的数据打包(每包的大小由固件程序决定),每隔固定一段时间向下发送一包实现的。在这里,每包数据包含512个字节,其中前8个字节用来当帧头,后504个为需要下传的数据。可通过帧头的不同来区分下行信息的不同意义。其具体含义如表1所示。


    FPGA轮询每包数据的帧头,如果是TS101与PC机交互数据,则送到双口RAM中;如果是TS101加载数据,则送到LINK口发送模块中;如果是/BMS拉高(低)指令,则通过相应的管脚拉高(低)/BMS;如果是复位TS101指令,则通知复位逻辑对TS101进行复位,同时复位数据缓冲FIF   O。
    在实现基于USB总线的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进行成功烧写。

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

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP

曼谷2023年9月18日 /美通社/ -- 作为东南亚的旅游胜地,泰国一直在全球范围内吸引着无数游客的目光。泰国旅游和体育部近日公布的报告显示,今年前7个月,泰国旅游业总收入约为1.08万亿泰铢(约合人民币2233亿元)...

关键字: BSP GEN 国美 AN
关闭
关闭