经验1:快速获取资料
如果直接从 http://www.cypress.com/ 网站进入搜索资料则速度很慢,如果点击如下连接则速度比较快。CY7C68013A 资源下载地址:
http://app.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=285&PageID=-285&type=null&group=null&family=null&segment=null&application=null&keyword=CY7C68013A&paginate=1
经验2:硬件设计
在布线前一定要阅读一下文档guide_to_successful_ez_usb_fx2lp_tm__and_ez_usb_fx1_tm__hardware_design_and_debug___an15456_12.pdf。这篇文档是一篇硬件设计和调试指南,列举了电路工作不正常可能出现的原因。
该文硬件CheckList章节如下:(原稿是英文,我按自己的理解进行了翻译)
(1)所有的电源引脚(AVCC、VCC)必须连接到3.0V-3.6V。
(2)VCC上升时间不能太快,至少需要200uS。一般情况下,电源端有大容量滤波电容(比如100uF),可以保证这一点,但是有些电路滤波电容很小(如0.1uF),则可能不满足这个要求。不过我已经做过试验,当VCC上升时间为100uS时,电路也可以正常工作。
(3)当使用晶体振荡器时,RESET复位信号至少持续5ms。如果使用外部振荡源,则RESET信号至少持续200uS。
(4)24M晶振(±100 ppm)负载电容选择12pF。
(5) RESERVED 管脚必须接地。从字面理解,此管脚是保留引脚,我误认为可以悬空不接。但是如果此管脚不接地,则芯片会进入测试模式。希望大家不要再范跟我一样的错误。
(6)SCL、SDA口线必须有上拉电阻,推荐是2.2K欧姆。即使不使用串行EEPROM,也需要接电阻。
(7)如果没有使用外部ROM(针对有外部总线的型号),则EA脚必须接地。如果EA是高,则CPU会从外部ROM取指运行。
(8)WAKEUP 管脚必须接高或者低,不能让其悬空。如果不需要USB设备进入挂起模式(suspend ),则可以将此管脚接地。
经验3:电路调试
如果电路工作正常,则CLKOUT 管脚会输出12MHz方波。大家可以通过测量这个管脚的信号进行故障定位。
(1) 如果CLKOUT没有输出方波,则检查:AVCC/VCC管脚是否连接;VCC上升时间;晶体振荡器是否起振;复位信号持续时间是否足够长;RESERVED 管脚是否接地。
(2)如果上电时CLKOUT有方波输出但很快就消失了,则检查:WAKEUP关键是否连接正确;USB D+、D-数据线线序是否正确;晶体振荡器频率偏差太大(可测量CLKOUT方波频率,应该满足12 MHz +/- 100 ppm)。
(3)CLKOUT持续有12M方波,但是windows枚举设备失败。如果WAKEUP接地(即禁止挂起模式),则请再次检查硬件CheckList中的没一点是否满足要求。如果WAKEUP接高,则检查SCL、SDA是否有上拉电阻;EA是否接地。
(4)CLKOUT输出48MHz方波。可能为同类设备安装了其它类型的驱动程序,请删除驱动后重新安装。
删除USB驱动的方法:
(a)打开Regedit, 找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/USB 文件夹,删除所有VID、PID相符的项(如“Vid_04b4&Pid_8613”)
(b)在windows/inf 文件下,找到oemxx.inf 文件 (xx 是两位数字),该文件包含相同的pid、vid。可以使用UltraEdit 进行全文搜索关键字来定位具体的文件,找到后删除它。
用户206706 2009-6-13 16:17