c语言sscanf函数的用法是什么
312
2022-11-12
基于DSP实现USB芯片的固件程序流程和设计
这里需要说明的有如下几点: ①HHWIL主要用来区分第1个/第2个Halfword的传输,且仅在半宁传输时出现。由于主机没有数据线和地址线复用的情况,因此在这里将HAS置高电平。 HDSl、HDS2作为数据选通信号,主要用于主机寻址HPI周期内控制数据传输,在本次工作中没有用到,而为了调试方便,保留了HDSl和HDS2,通过高低电平控制它们的变化。由于HDSl、HDS2和HCS在片内是组合为一个低有效的HSTROBE信号,其组成关系如下: HSTROBE=NOT(HDSl XOR HDS2)OR HCS所以HDSl置低电平,HDS2置高电平,利用HCS的信号变化控制HPI读/写初始化。 ②HCNTL[1:O]主要用来控制当前访问的是HPI的哪个寄存器。在HP1初始化时完成HPIC寄存器的控制信息。HPID寄存器主要实现数据传输时数据的读取/写入。此处没有用到HPI的地址操作,因此HPIA作为地址寄存器不需要送入控制信息。 ③HD[15:O]对应于PB[7:o]、PD[7:0]接口,由于为半字传输方式,因此在这里需要将HD5置低电平,以满足芯片复位时HD5为低电平。 3.2 固件调试部分 固件程序流程图如图3所示。
(1)初始化部分 该部分用来确定整个过程采用的方式,确定端点的传输方式、方向和缓存区的大小,设置HPI接口的HPIC寄存器以及设备的枚举。本设计采用的是GPIF传输方式,端点选择的是批量传输。采用的端点是EP2和EP6。EP2传输方向为OUT,缓存区大小为1024字节;EP6传输方向为IN,缓存区大小为l024字节;通过对HPIC的操作确定HPI的工作方式以及HPID的数据传输方式。编写GPIF数据中断函数和USB设备描述符。 (2)GPIF波形部分 GPIF波形采用Cypress公司提供的GPIF Designer来实现。GPIF Designer通过简单形象的界面解决了复杂程序表示的GPIF时序设计问题。与DSP HPI接口相符合的读、写时序如图4和图5所示。
(3)中断产生时GPIF数据传输 在程序中实现每当缓存区数据达到l024字节或为最后一包数据时,自动进行数据传输。下面的程序是EP2将数据发送到DSP端的程序:
EP6将从DSP收到的数据传给主控端的程序如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~