0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TI TCI6488 3内核DSP的bootload程序

电子工程师 2018-04-06 08:18 次阅读

多核DSPBootloader代码加载方法,引言无线通信产业不断推进创新,像WCDMA、WiMAX、MIMO和4G都需要增强的性能.性能增强,提供更大通信带宽的同时意味着越来越大的数据流量。多内核DSP强大的处理能力,兼具FPGA的扩展特性和阵列优点以及DSP的相似性和

无线通信产业不断推进创新,像WCDMA、WiMAX、MIMO和4G都需要增强的性能.性能增强,提供更大通信带宽的同时意味着越来越大的数据流量。多内核DSP强大的处理能力,兼具FPGA的扩展特性和阵列优点以及DSP的相似性和效率。提供了一种高效、易于开发的解决方案,倍受设备商的青睐。而无线协议标准从2G的GSM到3G的WCDMA,冉到4G的LTE,其协议标准的不断更新,以及运营商、设备商对低硬件成本的要求,需要实现一种平滑的协议标准软升级方案,即不改变硬件平台就可实现协议标准的升级。TI公司推出的3内核DSP芯片TCl6488以其强大的数据处理能力,同时支持多种代码加载方式,在满足数据处理要求的同时,支持网络式代码加载,正迎合了这种软升级需求。

1 协议介绍

TI公司推出的DSP芯片TCl648718 (Faraday)具有3个内核,每个内核工作频率均为1GHz.其支持的boot load模式有12C EEPROM、EMAC(以太网口)、SRIO(Serial Rapid IO.即串行快速10)i种模式[3].其中EMAC支持IOM/IOOM/I 000M bit/s传输速率,SRIO支持1.25G/2.5G/3.125G bit/s传输速率.以太网口EMAC支持IPV4,因此可以实现远程、快速的加载代码.SRIO支持内存代码的直接读写,外部主机可以将DSP内存视为本地内存进行直接的读写.SRIO boot load模式时,外部主机直接写DSP本地内存.其3.125G biffs的线上速率,可以达到2.5G bit/s的传输带宽,效率高达80%,加载代码速度极快.采用EMAC和SRIO相结合的方式可以实现一点到多点的快速代码加载。

1.1 EMAC boot load传输协议

以太网口EMAC支持的拓扑结构有星型、总线型、树型、混合型.其boot load帧格式分为以下几个部分分别讨论:DIX Ethernet、IPV4、Boot Table Frame. Header、Boot Table Frame. Payload。如表1所示。

(1)DIX Ethenet:14 bytes

该部分占用14 bytes,分别为6 byte8的DMAC。目的MAC地址、6 bytes的SMAC.源MAC地址和2 bytes的类型参数Type.该部分固定为Ox0080.目的MAC地址(DMAC)为DSP芯片自身的MAC地址.源MAC地址(SMAC)为主机MAC地址。

(2)IPV4

支持的IP协议类型为IPV4,可选长度为20 bytes或84bytes.本文中采用20 bytes。

1.2 SRIO协议

TCl6488支持的SRIO协议1.2版本link rate速率为1x, 2x,4x。即1.25G,2.5G,3.125G bit/s.支持的拓扑结构有星型、环型等。

SRIO协议规定有两种传输方式:Direct IO与Message方式.当DSP处于SRIO boot load模式时,利用外部引脚进行配置其NODE ID,根据配置的不同,采用Direct IO方式对不同NODE ID的DSP内存直接进行读写,将代码直接写入到DSP内存.类似于外部主设备将DSP内存视为自身内存进行写操作,以此完成boot load.当代码加载完毕时发送Doorbell中断到不同NODE ID的DSP主核(即核0).DSP立即从boot模式跳转到正常模式。执行加载的代码。

2 现有方案分析

代码加载主要依靠DSP芯片的各个接口实现.TI公司C64x系列主要接口有12C、HPI、EMIF等接口,C64x+系列主要接口有12C、EMAC、SRIO等。

I2C传输速率为lOkbps到400kbps,外接EEPROM,常用于固化代码的boot load,不利于升级.

HPI接口有效带宽往往最多只能达到20~30Mbps.操作较复杂,且不易组网.在多核DSP系列里已经去掉HPI接口.

EMAC接口支持10M/100M/1000Mbps三种速率,支持总线形、星形拓扑组网结构.

SRIO接口支持1.25G12.5G/3.125G bps三种速率,支持星形、环形、U形菊花链等拓扑结构.

利用EMAC与SRIO结合的方式可以实现基于IP、可远程控制的局部传输网络,组网灵活可控.

3 原理框图

利用DSP EMAC接口支持IPV4的网络特性,以及SRIO接口使DSP间可以形成的U形菊花链或星形拓扑结构,可以灵活组网。原理框图如图I所示。其中基带处理板与主控板之间由背板连接,主控板通过网线与交换机或路由器连接。主控板与基带板之间组建局域网,由主控板分配IP。远程PC可以通过主控板IP访问到任何一块基带板的CPU。对CPU进行操作,可以对任意一块基带板上的DSP进行代码加载。


4 加载流程

流程图如图2所示。CPU加载DSPl的详细过程说明如下:基带板上电后主控板为背板上各槽位上的基带板的CPU分配IP地址.CPU通过EPLD加载自身程序,与主控板通过SGMII接口获取自身IP地址。远程PC机telnet登录到CPU,下发命令加载CPU底层驱动程序;CPU底层驱动加载成功后,远程Pc下发加载DSP程序命令.以加载DSP1为例,详细说明加载DSP1的过程.CPU加载DSP1时首先给该DSP1复位获取DSP1的MAC地址,成功获取到DSP1的MAC地址后,利用ftp协议从远程PC上获取DSP1的代码,将DSP1的代码存到CPU的内存.此时DSP1一直处于boot load的EMAC加载模式.CPU将DSP1的代码根据EMAC加载协议往DSP1发送代码.当发送完毕代码后,向DSP1发送一包长度为0的加载代码,作为结束包.DSP1根据EMAC加载协议,当收到该包后则从加载模式跳转为正常模式,PC指针从OxOOS00000开始运行.因此对于DSP而言,Ox00800000地址开始的一段空间,必须存放中断向量表.

否则程序将不会正确运行.此时DSP的3个内核同时从Ox00800000开始运行。

加载DSP2至加载DSPn时,首先由CPU根据ftp协议从PC端获取DSPk(k=2?3.n)的代码.根据EMAC发送协议,将DSPk代码发送到DSP1.DSP1收到DSPk的代码后,根据SRIO加载协议加载DSPk的代码.DSPk代码加载完毕后,DSP1向DSPk发送一个SRIO中断。标志加载结束.DSPk响应该SRIO中断。从SRIO加载模式跳转到正常模式,开始从Ox00800000地址开始运行.整个加载过程结束。

5 结束语

通过方案的比较,选择了易于组网,且可控、方便,利于软升级的方案.很方便的设计了TI TCI6488 3内核DSP的bootload程序.完成了DSP系统自举加载.按照该设计思路编制的boot load程序已在WCDMA基站的基带处理板中得到应用,DSP系统能很好的复位及快速、方便的自举加载,更换版本容易,系统运行稳定可靠。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    552

    文章

    7958

    浏览量

    347898
收藏 人收藏

    评论

    相关推荐

    从TMS320TCI648x DSP的EDMA v2.0迁移到EDMA v3.0

    电子发烧友网站提供《从TMS320TCI648x DSP的EDMA v2.0迁移到EDMA v3.0.pdf》资料免费下载
    发表于 10-16 11:33 0次下载
    从TMS320<b class='flag-5'>TCI</b>648x <b class='flag-5'>DSP</b>的EDMA v2.0迁移到EDMA v3.0

    TMS320C6457/TMS320TCI6484/TMS320TCI6487/88 DDR2实施指南

    电子发烧友网站提供《TMS320C6457/TMS320TCI6484/TMS320TCI6487/88 DDR2实施指南.pdf》资料免费下载
    发表于 10-16 11:27 0次下载
    TMS320C6457/TMS320<b class='flag-5'>TCI</b>6484/TMS320<b class='flag-5'>TCI</b>6487/88 DDR2实施指南

    TMS320C6472/TMS320TCI6486的吞吐量应用程序报告

    电子发烧友网站提供《TMS320C6472/TMS320TCI6486的吞吐量应用程序报告.pdf》资料免费下载
    发表于 10-14 09:27 0次下载
    TMS320C6472/TMS320<b class='flag-5'>TCI</b>6486的吞吐量应用<b class='flag-5'>程序</b>报告

    TMS320TCI6484和TMS320C6457 SERDES实施指南

    电子发烧友网站提供《TMS320TCI6484和TMS320C6457 SERDES实施指南.pdf》资料免费下载
    发表于 10-14 09:21 0次下载
    TMS320<b class='flag-5'>TCI</b>6484和TMS320C6457 SERDES实施指南

    TMS320TCI6484和TMS320C6457 DSPs硬件设计指南

    电子发烧友网站提供《TMS320TCI6484和TMS320C6457 DSPs硬件设计指南.pdf》资料免费下载
    发表于 10-14 09:19 0次下载
    TMS320<b class='flag-5'>TCI</b>6484和TMS320C6457 DSPs硬件设计指南

    TI Keystone DSP Hyperlink SerDes IBIS-AMI型号

    电子发烧友网站提供《TI Keystone DSP Hyperlink SerDes IBIS-AMI型号.pdf》资料免费下载
    发表于 10-12 11:39 0次下载
    <b class='flag-5'>TI</b> Keystone <b class='flag-5'>DSP</b> Hyperlink SerDes IBIS-AMI型号

    国产DSP,自研指令集内核C2000,F28335、F280049、F28377

    国产DSP,自研指令集内核架构,自研工具链,完美替代TI的 C2000系列产品,F280049、F28335、F28377 性能、主频、外设、内存,全面提高30%-80%, 基于eclipse做
    发表于 09-26 13:56

    TI Arm内核三角函数的优化

    电子发烧友网站提供《TI Arm内核三角函数的优化.pdf》资料免费下载
    发表于 09-11 09:19 0次下载
    <b class='flag-5'>TI</b> Arm<b class='flag-5'>内核</b>三角函数的优化

    linux驱动程序如何加载进内核

    在Linux系统中,驱动程序内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序
    的头像 发表于 08-30 15:02 336次阅读

    TI C64x+ DSP内核异常处理机制的应用

    电子发烧友网站提供《TI C64x+ DSP内核异常处理机制的应用.pdf》资料免费下载
    发表于 08-28 11:54 0次下载
    <b class='flag-5'>TI</b> C64x+ <b class='flag-5'>DSP</b><b class='flag-5'>内核</b>异常处理机制的应用

    内核程序漏洞介绍

    电子发烧友网站提供《内核程序漏洞介绍.pdf》资料免费下载
    发表于 08-12 09:38 0次下载

    先楫6880如何实现bootload + APP应用跳转

    一。bootload + app程序跳转过程讲解 1.先楫6880cpu内核的启动流程,目前是支持两种方式: (1).flash启动。 (2).emmc启动。 由于芯片内部固化的192K的rom
    发表于 04-26 16:03

    使用bootload启动,app程序采用ucosiii,接收发送数据n次后app程序就进入了HardFault_Handler的原因?

    使用bootload启动,只要在bootload或者app运行程序中设置SCB->AIRCR后,app程序采用ucosiii,接收发送数据n次后(接收发送采用中断),app
    发表于 04-15 06:34

    stm32h745 bootload升级老跳转不了怎么解决?

    bootload升级老跳转不了 需要注意些啥呀
    发表于 03-22 08:06

    CCES烧写adsp-21589,程序烧写进FLASH重新上电没有正常BOOTLOAD是为什么?

    CCES烧写adsp-21589的问题困扰我好多天了。可用的资料太少,能交流的人太少。目前的问题,程序烧写进FLASH,但是重新上电没有正常BOOTLOAD。思来想去,CCES设置有几处不是很明白
    发表于 11-28 08:00