3、 TMS320C54XX DSP芯片和AN2131Q芯片的软件连接

AN2131Q芯片和TMS320C54XX DSP芯片之间的软件连接包括四个部分:AN2131Q对FIFO1的写、AN2131Q对FIFO2的读、DSP对FIFO1的读、DSP对FIFO2的写。为了描述方便,将FIFO1的三个状态信号称之为:EF1、HF1和FF1,将FIFO2的状态信号称为EF2、HF2和HF2。

3.1 AN2131Q写FIFO1

当USB总线上有数据要传送至DSP时,AN2131Q查询HF1。若HF1无效,AN2131Q一次向FIFO1写入一个数据包。包大小要小于或等于FIFO1容量的一半,写每一个字节时不需再查询FF1。

3.2 DSP读FIFO1

DSP每次从FIFO1中读入一个数据包。每读一个字节前,DSP需要查询EF1,只有当EF1无效(FIFO1不空)时,DSP才可能进行读操作。

3.3 DSP写FIFO2

当DSP有数据要传送至主机时,DSP把数据打包,每次向FIFO2中写入一包数据。方法同AN2131Q写FIFO1,只不过DSP查询的信号是HF2。写完一包后,DSP向AN2131Q发一个中断信号,DSP在写下一包数据时要等待AN2131Q的应答。AN2131Q应答的方法是利用DSP的外部中断INT1中断DSP。

3.4 AN2131Q读FIFO2

AN2131Q收到DSP发出的中断信号,应答DSP后,从FIFO2中读入一包数据,不用再查询EF2。

3.5 数据包格式

每个数据包由包头和数据两部分构成如图3所示。包头长度为一个字节,指明以字节为单位包中数据(不含包头)的长度。包中的数据要少于或等于64字节,即最大的包总长度为65字节。

3.6 DSP中断AN2131Q的方法

通过操作控制字向AN2131Q发一个负脉冲,下降沿有效,时序要求如图4所示。

3.7 DSP读FIFO状态

方法一是DSP通过读I/O地址0xxx xxxx xxxx x010b可获得状态信号EF1和HF2。方法二是DSP通过置TMS320VC5409状态寄存器ST1中的XF位,从BIO引脚上获取状态信号。当XF置1时,BIO引脚反映HF2的电平,当XF置0时反映EF1的电平。

4 、AN2131Q芯片驱动程序的实现

AN2131Q芯片的一个特点就是能够按照个人需要通过“下载”和“重列举”动态地改变设备性能。AN2131Q芯片内部有不可改变的存储单元存放特有的代理号(VID)和产品号(PID),VID/PID将绑定主机中的某个设备驱动程序,而该驱动程序的唯一任务就是向AN2131Q下载程序代码。

用户需要编写三个程序来实现USB设备的使用。一个是负责USB接口调用程序,用于PC机识别USB设备;另一个是安装USB的信息文件,用于对USB设备的一些说明;第三个是AN2131Q使用的程序,用于对数据的传输。下面对这三个程序分别做一些简单的说明。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查