当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]TMS320VC5402是 TI公司的一种16位数字信号处理器,以其独有的低功耗和高性价比,受到用户的欢迎。C54x操作灵活及运行速度高;使用改进的哈佛结构,具有专用硬件逻辑的CPU、

TMS320VC5402是 TI公司的一种16位数字信号处理器,以其独有的低功耗和高性价比,受到用户的欢迎。C54x操作灵活及运行速度高;使用改进的哈佛结构,具有专用硬件逻辑的CPU、片内存储器和外设接口,以及高度专业化的指令集。而且, C54系列DSP与主机连接通过HPI(Host Port Interface)接口,以逻辑电路设计简单、不需要额外的存储器和程序更新方便优点,可以应用灵活多样的引导加载模式以实现接口和处理功能开发。

HPI口是C54x DSP系列芯片内部的并行接口部件,用于与其他总线或CPU主机之间进行连接通信,主机是HPI口的主控者,通过专用地址和数据寄存器、HPI控制寄存器以及外部数据和接口控制信号与HPI口通信。

USB接口具有即插即用,速度快(最高可达480Mbps)等特点,可成为PC机的外围设备扩展中应用日益广泛的接口标准,基于USB总线对DSP实现HPI自举,可以降低成本,也便于DSP与PC机的高速数据通信,鉴于此种考虑,本文介绍一种利用USB2.0接口控制芯片(CY7C68013-56PVC)实现TMS320VC5402自举的实现方案。

USB2.0芯片及其GPIF简介

本方案采用的USB2.0接口控制芯片是Cvpress公司的CY7C6801356PVC,该系列芯片是世界上第一款支持USB2.0的集成微控制器芯片,它集成有USB2.0收发器、智能串行接口引擎(SIE)、增强的8051微处理器,通用可编程接口(GPIF)、片上RAM和FIFO存储器.该系列芯片的智能引擎也支持USB1.1协议,因此,它具有很好兼容性。

CY7C68013与外设有主/从两种接口方式:可编程接口GPIF和Slave FIFO,可编程接口GPIF是一个微状态机,可由软件编写读写控制时序,也可以作为USB FIFO的主控制器与DSP进行无缝连接,GPIF可工作在自动模式,USB总线和GPIF接口域直接进行数据传输,无需8051内核直接参入,以此解决 USB2.0高速传输的"瓶颈"问题,GPIF与8051内核关系如图1所示。

硬件设计原理

自举从本质上说就是DSP上电后,在Bootloader引导下,获取应用程序并开始运行的过程,TMS320VC5402上电以后,当 MP/MC为低电平时,系统将从片内ROM的OFF80H开始执行,此处的跳转指令使程序跳转至BootLoader程序入口处(OF800H处)。 Bootloader程序先清除IFR,并设置HPI入口点(0x7F)的值为0,置HINT为低,再检测INT2是否置位,如置位则进行HIP自举,具过程如图2所示。

 


DSP复位之后,如检测到HPI自举方式有效,就可以进行HPI自举引导,基于USB总线的HPI自举,就是在Bootloader引导下,通过USB接口控制芯片把程序数据由主机(PC)写入DSP内部RAM(DARAM)并使DSP开始运行的过程,该自举过程分为三个步骤:一是写HPIC, 以设置HPI控制参数;二是写HPIA,设置访问DSP的首地址;三是通过HPID下载程序。

首先,推动EZ-USB Control Panel下载CY7C68013的固件程序。当重枚举结束,驱动程序(ezusb.sis)重新安装成功后,在Control Panel中通过发送请求的方式由端点0向HPIC发送两个相同的8位控制字,而当HPIC初始化完成之后,再通过端点0设置欲下载程序段到DSP中的首地址HPIA.HPIC、HPIA设置好之后,就可以通过端点2下载DSP程序代码段,程序代码段需要分段下载,实际上,CY7C68013通过端点2把数据写入HPID,然后,DSP按照HPIA指定的地址,由DMA自动将HPID中的数据写到RAM,接口控制时序可由GPIF软件编程控制,程序数据分段下载完毕之后,再将程序的入口地址通过端点0写入0x7F处,在主机下载程序的过程中,DSP将一直检测0x7F是否为0,如不为0,即判定DSP已由主机进行了HPI自举加载,并按照该值跳转PC指针,以开始运行,进而完成HPI自举。

硬件电路

本设计用CY7C68013-56PVC与TMS320VC5402的HPI口相连接,接口选择GPIF模式,硬件电路如图3所示,该方案中,HCNTL[1:0]与GPIF的低位地址线PA3、PA2相连,以选择需要访问的HPI的HPIA、HPIC,HPID寄存器,CTL0接至 HR/W,可作为读写控制信号,HDS1与输出信号线CTL1相连,以作为HPI访问的选通信号,HBIL与输出信号线CTL2相连,已用于识别传输的是第一个字节还是第二个字节,HRDY接输入信号线RDY0.用于通过主机查询HPI口的状态,HINT、INT2与INT0连接,可确保HPI自举有效,HCS接GND,可使HPI片选信号有效,HPIENA接高电平时,HPI使能,HAS、HDS2接高电平时,信号线禁用。数据线PD[7:0]与 HD[7:0]相连,可在控制时序作用下传输一切数据信号。HPI接口控制时序由CTL0、CTL1、CTL2引脚输出,在自举过程中,系统将关闭 CY7C68013所有的中断,若要通过中断实现数据通信的握手,可以在自举完毕打开CY7C68013的中断。

 


CY7C68013的具体配置为:启用GPIF接口控制数据传输,GPIF接口采用内部时钟(48MHz);端点2设置为批量传输输出端点,最大传输值是512字节,双缓冲;终端4、8禁用。端点6可作为批量传输输入端点来向主机传输数据,需要说明的是端点6不是自举所必需的。

DSP应用程序设计

实现TMS320VC5402 HPI自举的前提是生成DSP应用程序的分段Hex代码文件,在CCS中可用汇编语言,C语言等编写应用程序源代码,经汇编、链接、编译后,生成可执行的公共目标文件格式(COFF)的文件,COFF文件不能用于HPI自举引导,而需要利用TI公司的文件格式转换工具hex00.exe,将COFF文件转换为Hex格式文件[5].格式转换的关键是正确编写Hex命令文件,下面讨论如何编写这种命令文件,例如将包含text段的源程序链接、编译生成 test.out文件,编写命令文件时,可利用hex500.exe将test.out转换为对应text段的Hex文件,命令文件test为。cmd如下:

-i //生成Intel格式

test.out //输入文件

ROMS

{

PAGE 0:ROM1:org=0x2000,Length=0x2000,romwidth=16,memwidth=16,

files={test1.hex} //text段的起始地址为0x2000

} //如有多端就可增加多个ROM SECTIONS

[!--empirenews.page--]

{text:paddr=0x2000} //如有多端就可增加多个部分

在DOS环境下,利用hex500.exe转换命令文件test.cmd,就可得到test1.hex文件,通过CY7C68013把test1.hex文件写入DSP内部RAM,再把程序的入口地址写入0x7F处,便可完成自举。

USB固件程序设计

Cypress公司提供有USB的辅助开发工具:EZ-USB Control Panel,GPIF Designer.通过GPIF Designer可以生成GPIF波形图及相应的C源代码gpif.c.Cypress公司同时提供了固件程序框架,因而可把gpif.c加入固件程序框架进行开发,从而提高开发效率。本方案中,固件程序设计的重点是对GPIF的编程,以便生成符合HPI接口的时序的波形描述代码,以用于控制数据传输,HPI自举需要的GPIF控制波形描述符为:单字节写,FIFO写。HPIA、HPIC的初始化需要单字节写控制时序,程序代码写入HPID需要 FIFO写控制时序,若要实现二者的数据通信,还需要单字节读、FIFO读等控制波形描述符。

HPIC、HPIA的初始值是在EZUSB Control Panel中通过制造商请求工具栏由EP0发送的,固件程序中还要有相应的请求处理程序,以完成具体的设置,如假定HPIC请求类型的ID为 0xB6.HPIC=0x0101,则请求工具栏的具体参数应为:Req=0xB6,Value=0x0000,Index=0xBEEF,Length=2,Dir=0,Hex Bytes=0101,固件中应加入的请求处理程序为:

case 0xB6:

{EPOBCL=0; //EP0使能

while(EP01STAT&bmEP0BSY); //等待EPO数据接收完毕

while(!HPI_RDY); //等待HPI处理完毕

IOA=0x00; //选择HPIC寄存器

GPIFWFSELECT=0x1E; //选择写低字节的单字节写控制波形

while(!(GPIFTRIG&0x80))

{;}

XGPIFSGLDATLX=EP0BUF[0]; //写低字节数据

GPIFWFSELECT=0x4E; //选择写高字节的单字节写控制波形

while(!(GPIFTRIG&0x80))

{;}

XGPIFSGLDATALX=EP0BUF[1]; //写高字节数据

break;}

设置程序下载的首地址(HPIA值)的请求处理程序与设置HPIC的程序基本相同,只需按照请求类型的ID,来改变访问寄存器的地址即可,访问HPIA时,HCNTL[1:0]=10b,即IOA=0x08.

访问HPID下载程序数据时,可采用大端点EP2自动打包方式(AUTOIN=1),即将数据发送到端点后,自动传到FIFO中,等待写 HPID条件具备,再启动GPIF,以将程序数据写入HPID,访问HPDI可采用地址自动增加模式(HCNTL[1:0]=01b),写数据前,地址自动加1,这样,数据便可以经过DSP内部DMA自动写入内部RAM,写HPID的程序如下:

if(GPIFTRIG&0x80) //GPIF接口是否处于空闲状态

{if(!(EP24FIFOELGS&0x02)) //自动向量是否可以访问EP2FIFO中数据

{IOA=0x04; //选择HPID寄存器,且访问时地址自动增加

while(!HPI_RDY); //等待HPI处理完毕

SYNCDELAY;

GPIFTCB1=EP2FIFOBCH; //写入的字节数

SYNCDELAY;

GPIFTCB0=EP2FIFOBCL;

SYNCDELAY;

GPIFTRIG=GPIF_EP2; //启动写数据

SYNCDELAY;

While(!(GPIFTRIG&0x80) //等待写入完毕

{;}

SYNCDELAY;}}

这样程序数据就可以分段通过端点2写入DSP内部RAM,最后再把入口地址写入0x7F,以完成HPI自举,值得注意的是,采用此种方式访问HPID时,写入HPIA的初值为程序入口的一个地址,例如,写test1.hex时,应设定HPIA=0x1fff.

为缩短开发周期,本设计采用开发包中通用驱动(ezusb.sys)和EZUSB Control Panel进行开发、调试、也可以对通用驱动、控制面板的源程序在VC++环境(需要DDK的支持)下进行二次开发,以便编译出开发者满意的驱动程序和上位机程序。

结语

通过实践证明,基于USB2.0总线DSP HPI自举的方案是可行的,可以达到预期效果,该方案可以省掉外扩的EPROM、FLASH及RAM等程序存储器,故可节约成本,也便于DSP软件算法升级,而且符合嵌入式系统要求,有很好的应用前景,当然,该方案还有待进一步优化与增强,若要访问外部存储器,还需要编写二次引导程序,以便通过该程序把内部存储器中的数据编译到外部存储器,若需DSP与主机实时通信,则需要USB固件和DSP源程序中编写相应的中断服务程序。

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

现如今,越来越多的半导体厂商开始重视低功耗设计,以不断提升产品性能和优化应用方案来满足更多的市场需求。作为行业的引领者,PI在该领域内必然不会缺席,其最近推出的InnoMux-2™系列单级独立稳压的多路输出离线式电源IC...

关键字: PI IC 电源开关

近日,功率变换IC领域的全球领导者Power Integrations推出了一款InnoSwitch™5-Pro系列高效率、可数字控制的反激式开关IC,旨在为业界提供一种更高功率、更低成本的快充解决方案。

关键字: PI IC 电源开关

在这篇文章中,小编将对USB接口的相关内容和情况加以介绍以帮助大家增进对USB接口的了解程度,和小编一起来阅读以下内容吧。

关键字: USB 通用串行总线 总线

近几年,PI围绕氮化镓技术,已经先后推出了750V和900V耐压的PowiGaN™开关器件;而如今,PI为了进一步提高开关电源的效率和可靠性,又全新开发了一款单管氮化镓电源IC——InnoSwitch™3-EP 1250...

关键字: PI IC 氮化镓 开关电源

InnoSwitch3-EP 1250V IC强化了公司在高压氮化镓技术领域的持续领先地位!

关键字: 氮化镓 PI 开关电源

今天,小编将在这篇文章中为大家带来嵌入式总线技术的有关报道,通过阅读这篇文章,大家可以对嵌入式总线技术具备清晰的认识,主要内容如下。

关键字: 嵌入式 总线

- 经过升级后,MediaGo的IVT过滤器可以识别40多种无效流量 旧金山2023年9月21日 /美通社/ -- 百度国际事业部旗下基于深度学习的智能广告平台MediaGo今天宣布与世界领先的全渠道广告欺诈...

关键字: MEDIA TE PI GO

亚特兰大2023年9月16日 /美通社/ -- 在2023年AppMarket解决方案大奖中,低代码软件开发领域的先驱和领导者Xebia荣获跨行业价值奖。 这一认可凸显了X...

关键字: APP MARKET PPM PI

杭州2023年9月12日 /美通社/ -- 2023年9月8日,国际独立第三方检测、检验和认证机构德国莱茵TÜV集团(以下简称"TÜV...

关键字: 光伏组件 可持续发展 光伏企业 PI

(全球TMT2023年8月24日讯)新思科技(Synopsys, Inc.)宣布已经完成对PikeTec GmbH的收购。PikeTec是汽车控制单元系统软件测试和验证解决方案的领导者之一。软件定义汽车(SDVs)的出...

关键字: 新思科技 TE PI SYNOPSYS
关闭
关闭