Python中pyusb的开发及使用
因为项目的需求,需要将FPGA端的图像像素数据经过USB2.0协议传输到PC端,因此需要使用python的pyusb库来进行数据的发送和接收。以下纪录在使用pyusb库的方法和所遇到的问题。
一、USB接口介绍
在本次的开发过程中,我的FPGA开发板上所使用的是Cypress公司EZ-USB系列的CY7C68013A驱动芯片进行USB数据传输,CY7C68013A是一款含高速USB2.0通信协议及兼容的8051控制芯片,在此芯片中含16KB的内部RAM,不需外加存储器就可以直接运行固件程序。CY7C68013A的内部8051处理器的工作频率可以为48MHz,24MHz,12MHz,在我的FPGA开发板上使用的是24MHz的作为时钟输入。CY7C68013A内部集成了4个FIFO,大小共为4K字节,用户可以通过设置让其工作在Master或Slave模式。CY7C68013A含有一个I2C接口用于连接外部的EEPROM,用户先把写好的固件程序.iic文件下载到EEPROM,CY7C68013A上电启动时会自动读取EEPROM的程序到内部的RAM开始运行。
本次项目中使用到的CY7C68013A芯片配置固件程序使其工作在Slave FIFO异步读写模式,其中设置EP2、EP4的FIFO为数据输出端口,EP6、EP8的FIFO为数据输入端口,每个端口含有两个512字节的FIFO,如果一个512字节的端口被读空或者写满,硬件会自动切换到另一个512字节的FIFO。关于USB硬件的介绍到此结束,如需更改CY7C68013A的工作模式,端口、信号的配置,可以详细了解CY7C68013A的固件程序进行修改。
二、USB的驱动安装
1、
在此链接下载libusb库。
2、
双击安装,选择对应的usb接口,install ,生成 LibUSB-Win32 文件夹,(一路next就不贴图了)
3、
在LibUSB-Win32 文件夹下的bin目录下,点击inf-wizard安装驱动,生成USB驱动信息,保存在任意目录下。