大家好,好久不见了,距离上次发文章都有两个多星期了,非常高兴同时也非常感谢你们能一直关注我。之前在公众号上收到网友的消息,其大概意思就是问我能不能出点USB干货,为此我就把第二篇——解密USB2.0数据传输机理推迟,先行为大家奉上沉甸甸的干货,希望大家在看完后能多多提建议。
本期文章的主题是CY7C68013A固件程序开发,首先我会简要介绍一下CY7C68013A这款芯片以及官方提供的开发包,然后拿出开发包中的一个例程为大家详细剖析固件程序的整个框架,这些内容主要是为之后的功能实现打基础。
CY7C68013A是Cypress公司FX2LP系列的一款USB2.0控制器,该款芯片以8051内核(是不是想到了STC 51单片机了)为核心,配合USB硬件实现,再加上高速的对外并行接口GPIF(SlaveFIFO),简直是FPGA与PC之间的高速公路,这也正是我选择这款芯片的原因。
CY7C68013A的主要特点有:
◆ 增强型8051内核,48MHz/24MHz/12MHz可选的CPU时钟,扩展的中断系统
◆ I2C、USART
◆ 16KB 片上代码/数据RAM
◆ 支持USB2.0 高速和全速传输
◆ 4个可编程的批量/中断/同步传输端点,一个控制传输专用端点0,一个可编程64字节批量/中断端点
◆ 8位/16位GPIF(SlaveFIFO)接口
◆ USB和GPIF二级中断向量
◆ 4个专用于USB大量数据传输的端点FIFO