USB小白学习之路(11) Cy7c68013A驱动电路设计注意事项(转)
Cy7c68013A驱动电路设计注意事项
转自:http://group.chinaaet.com/116/79029#0-tsina-1-71467-397232819ff9a47a7b7e80a40613cfe1
CY7C68013的驱动电路非常简单,除了提供24MHz时钟源,设计好USB差分接口,做好电源滤波,其他信号均可由数字控制。这里简单的对Bingo设计CV7C68013A-56PVXC驱动电路进行介绍,如下所示:
(1)首先,USB差分电路设计的好坏,决定了实际能运行的速率。
采用USB-Mini接口进行68013的通信,同时完成板卡的供电功能。USB理论上能提供500mA的电流,2.5W的功率足够支撑板卡的工作。同时500mA自恢复保险丝的设计,有效的保护了PC USB接口的安全。
在Layout D+、D- USB差分信号线的时候,一定要特别注意走线。
此外,外壳通过1uF接地,简单而有效的进行了电路的ESD保护。
(2)通过FPGA输入24MHz有源时钟,如下:
实际上可以采用无源晶振,同时通过XTALOUT输出24MHz给FPGA作为全局时钟,进一步降低PCB设计的成本。
(3)CY7C68013A配置芯片24LC64 EEPROM,
注意上拉电阻!
另外:如果EEPROM非空,或者说当前固件本机未安装驱动,可以通过短接P3,来实现68013上电从内部启动。当然如果是全新的片子,一些无所谓了。
(4)复位引脚的配置
理论上68013的复位引脚直接高电平即可,但实际上经过多次的测试,发现RESET外接耦合电容,否则68013没有100%的成功率能完整正常启动,。这仅是经验总结,因此这一部分电路千万不要偷懒,如下所示:
(5)坑爹的RESERVED设置
此外,最坑爹的RESERVED虽说是预留引脚,但是却不能NC。手册明文规定必须拉低,否则PC无法识别68013!
(6)WAKEUP功能时钟上啦,我们不做产品,不许睡觉!
(7)同步时钟IFCLK由外部FPGA输入,如下(12MHz输出可用与验证IC是否正常工作):
(8)选择FIFO0,不允许数据输出,屏蔽数据读取,不进行包传输,EmptyY与Full功能暂时不用,片选始终有效,WR使能信号由外部FPGA输入,配置如下:
这样做完全是由于TQFP144的FPGA引脚资源有限,通过固定的配置,换来了功能的实现。如果FPGA有足够的IO,可以讲这些68013这些固定引脚较直接通过FPGA进行灵活的配置。
这里USB_WR作为同步FIFO数据写入使能信号,由FPGA控制。
此外,设计中没有引出FLAGB(FULL)、FLAGC(EMPTY)引脚,不仅仅由于FPGA引脚的有限,设计中可以直接忽略FLAGB、FLAGC的技巧,在于降低数据的写入速率。实际上经验告诉我们,写入30FPS的640*480的视频,即12MHz的速率进行写入,可以完全忽略FULL、EMPTY信号。因为68013完全有这个能力在这段时间处理好数据的缓存、发送,我们可以接受这个风险!!!
(当然这是迫不得已的……)
(9)这里FIFO选择了8Bit输出,如下所示:
(10)PA0中断输入CMOS帧信号,用来同步数据,如下:
(11)PD5作为触发写入的信号,连接至FPGA作为输出使能,如下所示:
这里PD3、PD4、PD6实际上没有使用到。PD3、PD4用于用户采用68013实现CMOS Sensor的初始化接口,此设计中这两个IO没有使用到,PD6为预留。
(12)PD5、PD6从FPGA全局时钟数据,这里主要使用了PD5-USB_Trigger写入触发使能信号,如下:
(13)PD3、PD4预留(暂时没用到)初始化接口直接输入FPGA;68013 同步时钟信号IFCLK、写入使能信号WR直接从FPGA IO输出,如下所示:
USB小白学习之路(11) Cy7c68013A驱动电路设计注意事项(转)的更多相关文章
- USB小白学习之路(10) CY7C68013A Slave FIFO模式下的标志位(转)
转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html CY7C68013含有4个大端点,可以用来处理数据量较大的传输, ...
- USB小白学习之路(12) Cy7c68013A固件之Slave FIFO(转)
Cy7c68013固件之Slave FIFO 转自:http://blog.csdn.net/zengshaoqing/article/details/53053539 选择SlaveFIFO传输方式 ...
- USB小白学习之路(8)FX2LP cy7c68013A——Slave FIFO 与FPGA通信(转)
此博客转自CSDN:http://blog.csdn.net/xx116213/article/details/50535682 这个博客只对自己理解CY7C68013的配置有一定的帮助,对于配置CY ...
- USB小白学习之路(1) Cypress固件架构解析
Cypress固件架构彻底解析及USB枚举 1. RAM的区别 56pin或者100pin的cy7c68013A,只有内部RAM,不支持外部RAM 128pin的cy7c68013A在pin脚EA=0 ...
- USB小白学习之路(6) IIC EEPROM读取解析
IIC EEPROM读取解析 1. 编译错误处理(这里可以忽略) 在解压包解压了程序后,直接编译,出现如下错误. *** WARNING L14: INCOMPATIBLE MEMORY MODEL ...
- USB小白学习之路(3) 通过自定义请求存取外部RAM
通过自定义请求存取外部RAM 1. 实验简述 此实验是对自定义的供应商特殊命令(vendor specific command bRequest = 0xA3)进行解析,程序中的read me说明如下 ...
- USB小白学习之路(5) HID鼠标程序
HID鼠标程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...
- USB小白学习之路(4)HID键盘程序
HID键盘程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...
- USB小白学习之路(2)端点IN/OUT互换
端点2(out)和端点6(in)的out_in互换 注:这里的out和in都是以host为标准说的,out是host的out,在设备(Cy7c68013)这里其实是输入端口:in是host的in,在设 ...
随机推荐
- day55-mysql-用户权限、修改秘密、忘记密码
.用户权限:新创建的用户没有库,如果想让新用户访问我的库,必须给它授权才可以.我在使用的navicat要关闭新用户的连接才可以授权给它. .创建用户 '; -- 创建用户 .移除用户 drop use ...
- [原]PInvoke导致栈破坏
原, 总结, 调试, 调试案例 项目中遇到一个诡异的问题,程序在升级到.net4.6.1后会崩溃,提示访问只读内存区.大概现象如下: debug版不崩溃,release版稳定崩溃. 只有x64位的程 ...
- python基础——异常处理及断言
python常见的异常类型? 异常有很多种类型,常见的由语法错误(SyntaxError).类型错误(TypeError).名字错误(NameError)等等,但我们要知道的是异常本身就是一个类的实例 ...
- echarts 实现柱状图重叠而不是相互增加
1.引入echart 所需要的js和css,这不再引入 总量的数据是包含分量且大于等于分量 先上效果图: 当我们查看总量时,显示的是将分量的也包含里面,这样就不是叠加的数量了 2.直接上代码 (可复制 ...
- oracle_(第一课) 安装oracle数据库
首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...
- static及final知识点整理
final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译 ...
- com.google.zxing:core 生成二维码的简单使用
String content = ""; int size = 240; Hashtable<EncodeHintType, String> hints = new H ...
- 深入JVM内核--GC算法和种类
GC的概念 Garbage Collection 垃圾收集 1960年 List 使用了GC Java中,GC的对象是堆空间和永久区 引用计数法 老牌垃圾回收算法 通过引用计算来回收垃圾 使用者 CO ...
- css3 transform 变形属性详解
本文主要介绍了css3 属性transform的相关内容,针对CSS3变形.CSS3转换.CSS3旋转.CSS3缩放.扭曲和矩阵做了详细的讲解.希望对你有所帮助. 这个很简单,就跟border-rad ...
- LeetCode Day 2
LeetCode0004 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 n ...