USB_SlaveFIFO开发记录(CY7C68013A)
来源:互联网 发布:秋冬季棉拖鞋淘宝 编辑:程序博客网 时间:2024/06/05 17:01
基于Cypress公司USB2.0芯片CY7C68013A的速传接口开发(供开发人员参考)
配置模式:SLAVE-FIFO
开发环境搭建:安装 cy3681_ez_usb_fx2_development_kit_15开发包,
或者cy3684_ez_usb_fx2lp_development_kit_15开发包
一、硬件电路
关键注意点:
1. CY7C68013A芯片的PA0~PA7这8个IO脚为开漏配置,最好在使用时接上10K电阻上拉;
2. CY7C68013A芯片系统时钟为外接24MHz时钟,也可以由FPGA提供,片上51内核内置PLL倍频,此时的系统内部工作时钟为48MHz;
3. 芯片通信时钟IFCLK可选择由内部自身提供,也可外部提供,一般选择48MHz,突出USB2.0的高速通信速率,最好选择外部提供,保证与外部控制器FPGA的时序同步;
芯片内部没有存储RAM,需要外接一片EPPROM与芯片的IIC接口进行Programme,此时固件也必须生产.iic 的文件;(具体见附件)
二、电脑USB驱动文件.SYS \.INF开发
当连接好的硬件电路首次接入电脑,会出现未识别硬件的提示,解决识别问题操作步骤如下:
1. 通过右键“我的电脑”进入设备管理器,查看通用串行总线控制器找到带有感叹号的未识别硬件;
2. 右键未识别硬件,选择属性,再进入属性中的详细信息,在属性选择栏中选择“硬件ID”,则会弹出类似如下图:
将硬件ID 的VID号和PID号记录下来;
3. 找到已安装的USB开发包中的Driver中的.INF文件,可以直接打开修改里面对应的VID与PID号即可;
4. 修改完后,更新硬件驱动则能被识别。
三、CY7C68013A固件配置
------------------------------------- 固件配置 -*重要*↓ ------------------------------------------
1.配置固件ID ,在dscr.a51文件中
2.配置USB识别字符,即USB接入电脑后识别的名称,在dscr.a51文件中:
3.关于固件具体功能配置,很重要说明:很重要说明:很重要说明:
USB芯片 CY7C68013A固件配置说明:
配置模式:SLAVE FIFO模式
功能参数配置:
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1); //CPU Clock Speed=48MHz、CLKOUT不输出
SYNCDELAY;
IFCONFIG =0x43; //设置为SLAVE FIFO模式、内部FIFO时钟为48MHz、同步通信模式Synchronously
SYNCDELAY;
EP2CFG=0xA0;//将EP2寄存器设置为输出缓存OUT、BULK模式、4倍缓存、512Bytes
SYNCDELAY;
EP4CFG=0;//未用
SYNCDELAY;
EP6CFG=0xE0;//将EP6寄存器设置为输入缓存IN、BULK模式、4倍缓存、512Bytes
SYNCDELAY;
EP8CFG=0;
SYNCDELAY;
FIFORESET = 0x80;//类似刷新配置功能,使其有效 - start
SYNCDELAY;
FIFORESET = 0x02;
SYNCDELAY;
FIFORESET = 0x04;
SYNCDELAY;
FIFORESET = 0x06;
SYNCDELAY;
FIFORESET = 0x08;
SYNCDELAY;
FIFORESET = 0x00;// - end
SYNCDELAY;
PINFLAGSAB = 0x8C;//将FLAGB脚设置为EP2EF(EP2寄存器空标志- OUT -非空即读)、FLAGA为EP2FF(EP2满标志)
SYNCDELAY;
PINFLAGSCD = 0xFE;//将FLAGD脚设置为EP8FF(EP8满标志)、FLAGC为EP6FF(EP6满标志- IN -非满即写)
SYNCDELAY;
PORTACFG = 0x0;//未使用FLAGD(SLCS)引脚功能
SYNCDELAY;
FIFOPINPOLAR = 0x00;//默认选定所有引脚为低电平有效
SYNCDELAY;
EP2FIFOCFG = 0x11;//设置为自动输出模式AUTOOUT - 16位数据接口
SYNCDELAY;
EP6FIFOCFG = 0x09;//设置为自动输入模式AUTOIN - 16位数据接口
SYNCDELAY;
FIFOADR0 - FIFOADR1 :
00 : EP2
01 : EP4
10 : EP6
11 : EP8
------------------------------------------------固件配置↑-------------------------------------------------------------
(图片内容为上传)
- USB_SlaveFIFO开发记录(CY7C68013A)
- EZ-USB FX2 LP CY7C68013A 开发基本概念
- EZ-USB FX2 LP CY7C68013A 开发指南(1)--基本概念
- Window XP驱动开发(十七) CY7C68013A GPIF的配置
- EZ-USB FX2 LP CY7C68013A 开发指南(1)--基本概念
- cy7c68013a笔记
- CY7C68013A数据传输
- 【补充】EZ-USB FX2 LP CY7C68013A 开发指南(2)--控制传输 端点0,ep0,ep0buf
- EZ-USB FX2 LP CY7C68013A 开发指南(3)--设备枚举过程
- EZ-USB FX2 LP CY7C68013A 开发指南(4)--基于Linux的驱动编写
- Window XP驱动开发(十三) 芯片功能驱动端 (代码实现,针对USB2.0 芯片CY7C68013A)
- Window XP驱动开发(十七) 芯片固件程序设计 (代码实现,针对USB2.0 芯片CY7C68013A)
- EZ-USB FX2 LP CY7C68013A 开发指南(2)--控制传输 端点0,ep0,ep0buf
- CY7C68013A在win8 64位或者win764bit下的上位机开发
- 基于FPGA与CY7C68013A的数据采集开发板测试(一)
- Window XP驱动开发(十七) 芯片固件程序设计 (代码实现,针对USB2.0 芯片CY7C68013A)
- Keli5 打开Cypress CY7C68013A(51单片机)官方开发包例程
- cy7c68013a的方波程序
- 深入理解Java虚拟机之垃圾收集算法(1)
- 解决Chrome谷歌浏览器书签多设备无法同步的问题
- 哈希算法 C语言实现(采用链表)
- php三维数组取数实例
- 作业
- USB_SlaveFIFO开发记录(CY7C68013A)
- 定制类实现链式生成路径
- C 链表
- Gson使用回顾
- 只要5分钟用数据可视化带你看遍11月份新闻热点事件
- webRTC base模块MessageQueue消息队列的实现
- HTML5(十二)
- jsonp
- srync