TI TCI6488 3内核DSP的bootload程序

多核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系统能很好的复位及快速、方便的自举加载,更换版本容易,系统运行稳定可靠。

环境因素对微通道板(MCP)的使用影响
我国的工业机器人与国外产品的差距在哪里
中国移动已与中国广电共建5G网络,实现迅速建成覆盖全国5G网络
总结Linux中用于文本处理的awk、sed、grep命令用法
基于蓝牙智能车位锁的设计与实现
TI TCI6488 3内核DSP的bootload程序
NPN的共射极放大电路分析
高速数字系统的串音是怎么引起的?应该如何控制和消除
适合进行医疗设备预测的AI框架及案例分析
带来全新多媒体体验!AMD全新发布Radeon RX 7900 GRE显卡
云天励飞重磅发布新一代AI芯片DeepEdge10
边缘计算常见误区分析
光宽带网络服务关系到“宽带中国”的全面实施
安信可Ai-WB2系列模组概述
为什么需要画面帧的准确性?如何探究画面帧的准确性
基于TIDA-00792的多节 36-48V 电池管理系统参考设计
远光数智化实训平台 职业赛场晋级就靠它
魅族pro7什么时候上市?魅族pro7最新消息:魅族pro7换“芯”后或走上人生巅峰,此时还面临着哪些困境?
无人机负面报道不断 还可能被用作恐怖袭击
电流互感器的四种接线方式