最近要写一个USB的通讯协议,实现USB的数据收发,以前做过一些UART、IIC、SPI的通讯,一开始还以为USB 也是这样,本来还以为很简单,结果越做越复杂,经过两三周的时间,终于实现了整个USB通讯,包括数据的上传、下传、数据的解析等,回想自己在网上找资料的时候,零零散散的查找还挺费劲,就打算自己把学习过程记录下来,虽说功能已经实现,很多东西还都是自己的理解,不一定对,希望能对其他人有点用用处。

从哪里开始

我们在用单片机编写UART之类的通讯协议时,首先想到的应该是时序图,在这种以前模式下,数据都是我们自己一位、一位的按照时钟周期发送出去,这也导致了这些通讯协议数据发送的速率问题,比如我们常见的串口波特率常见的9600,14400,最大一般115200,对于USB2.0的设备数据传输速度可以达到上百Mbps,USB3.0已经达到了GMbps,如此快的通讯速度使得USB不能采用传统的数据收发方式。
在刚开始学习USB的时候,还是推荐大家先去搜一搜USB的介绍资料,大概了解USB是怎么回事就够了,太详细的东西大概率看不懂,也没必要,很多问题都是在设计过程中遇到并解决的。
我这里使用的是Cypress公司的CY7C68013A的芯片,是一个USB2.0微处理器,这个芯片内嵌了增强型的8051微控制器(需要用kei单独对其编写、下载代码,用来配置USB,类似初始化的感觉,虽然8051也可以用来做数据的搬运,但这并没有实际的意义,在一般使用中8051只用来做配置,数据的收发通过ENDPIONT端点完成,8051来配置这些端点的工作模式)。
我这里还有一些当初看过的文档,中英文的都有,先放到这里吧,希望对大家有点用,今天就写这点吧,大家还是要劳逸结合的,随缘续下一篇吧,下一篇介绍一下68013的芯片引脚吧。

文档

1.180896_CY7C68013-A华诺开发文档
2.CY7C68013A-56LTXC
3.USB 中文
4.001-92463_AN61345_-_Designing_With_EZ-USB_FX2LP_Slave_FIFO_Interface
5.CY7C68013A_USB_Board_Manual
6.EZ-USB® FX2LP Datasheet
7.EZ-USB® Technical Reference Manual

链接:https://pan.baidu.com/s/1ZixfvWsOqX-CQOO9Whz_EQ
提取码:lnaj

USB通讯基于FPGA的CY7C68013A实现(1)相关推荐

  1. USB通讯基FPGA的CY7C68013A实现(2)

    写这篇博客的初衷 虽然很多人都会被68013的寄存器配置困扰,但是对于我们的使用来讲,官方和很多厂商会提供固件库,他们都会把常用功能都已经配置好,对于我们直接使用他们的固件就够了,对于我们开发而言可能 ...

  2. 基于FPGA的cy7c68013a双向通信实验

    基于FPGA的cy7c68013a双向通信实验 本实验是基于FPGA的cy7c68013a的USB双向通信实验,以前折腾过一段时间cy7c68013a,没有入门时感觉好难,入门了就会感觉很简单.本教程 ...

  3. linux内核里与usb通讯,基于Linux的USB主/从设备之间的三种通信方式

    在usb -char中,真正的操作开始于usbc_open()函数,列表1给出了函数的一部分代码.笔者由于临时的兴趣,对该代码做了一点修改,取消了错误和超时句柄.在此向代码的原作者Brad Parke ...

  4. 多通路fpga 通信_基于USB通信的FPGA高速数据采集系统研究

    摘要:现阶段,在经济高速发展以及科学技术不断进步的大背景下,我国各行各业都得到了快速发展的良机,对数据采集系统的实际需求也越来越多,也对高速数据采集系统的实用性和精度等都提出了更高的要求.基于此,本文 ...

  5. 基于FPGA的USB高速数据采集系统(免做上位机)

    本篇分享基于FPGA的USB高速数据采集系统,上位机软件采用赛普拉斯官方提供的上位机软件,实现前端AD的采集,经过FPGA处理之后通过USB传输到上位机,将数据保存下来,然后通过MATLAB可以将AD ...

  6. 基于FPGA的USB接口控制器设计(VHDL)(中)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第二篇,中篇,USB通信原理.USB 系统开发以及设计实例.话不多说,上货. 之前有关于 Veril ...

  7. 基于FPGA的USB接口控制器设计(VHDL)(上)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第一篇,上篇,USB 接口简介 以及 USB 体系结构.话不多说,上货. 之前有关于 Verilio ...

  8. FPGA和CY7C68013A的连接以及控制程序(1)

    毕业设计的题目是"基于USB2.0的FPGA和PC之间的通讯".用的是Altera的FPGA,具体型号暂时不清楚,后续会更新.USB控制器用的是CY7C68013A.开发软件是Qu ...

  9. 基于FPGA的UART接口协议设计

    一.PC终端概述 PC终端,Personal Computer 智能终端,通俗的讲,就是利用电脑GUI界面控制我们的外部硬件电路. 因此设计到了PC与外部硬件电路的通信接口.对于台式电脑.个人笔记本, ...

最新文章

  1. onkeyup,onkeydown和onkeypress的区别介绍
  2. 解决wamp、vertrigo等集成环境安装后apache不能启动的问题
  3. python语言解释器的全部代码都是开源的_Python IDE和解释器的区别是什么?
  4. 从烤箱到蒸烤箱、到蒸烤箱集成灶,功能做加法,价格做乘法
  5. 基于MVC的网站和在线教育系统
  6. 如何用python做一个会聊天的女朋友_520来啦~教你用Python给自己造了一个女朋友!...
  7. 根据Ibatis的SqlMap配置文件生成表结构
  8. 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性
  9. JAVA入门→下载安装编译执行、变量、数据类型
  10. Unity 怎么把app改成中文名
  11. FlyMcu 串口无法打开 串口被占用
  12. maven 命令下载jar包(mvn命令根据依赖下载jar包)
  13. 检查dota2服务器是否在线,dota2服务器ping测试脚本分享
  14. Xbox360有线手柄
  15. 直播电商平台开发,点击让窗口抖动动画效果
  16. Linux(四)——CROND和磁盘分区与挂载
  17. 快速了解区块链六大特点
  18. 红外辐射加热器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. 域名和URL是什么?域名和IP是一一对应的吗?
  20. 安全防御(二)--- 防火墙域间双向NAT、域内双向NAT、基于VRRP的双机热备

热门文章

  1. Photon PUN和Photon Server连接问题及解决方法(Unity开发)
  2. SAP MIGO 报错-在例程WERT_SIMULIEREN字段NEUER_PREIS中字段溢出
  3. Spring Boot整合thymeleaf异常 —— 无法通过th:text=“${xxx}“取到值的解决方法
  4. 2023年TikTok营销如何破局?品牌应做好这6点
  5. 一个简单的前端获取手机验证码实现
  6. 欧科云链OKLink ETH浏览器重磅升级,一键触发链上数据可视化
  7. 从人工到智能!百度AI开发者大会分论坛,探寻国球乒乓背后的AI之路
  8. DAC调用INFA命令
  9. android逆向分析之smali语法
  10. 看电脑装的是多少位的系统(暂存),电脑开机密码