通讯汇总-FPGA-CYUSB2.0
本合集用于汇总常见物理通讯方式, 包括但不限于USB, BLE, WIFI, NFC, 千兆以太网, [url=]万兆以太网[/url], PCIE, 同轴, 光纤等. 内容首先会概述不同硬件及软件环境如何搭建, 然后测得各通讯方式的实际数据带载带宽, 目的是方便读者方案选型时参考使用. 至于各通讯方式具体的参数, 特性, SDK开发内容, 后面再以针对性合集展示. 此合集会做长期更新以完善更多有趣新颖的通讯方式. 本章主要讲解以FPGA作为主控, 外挂Cypress公司的USB PHY 2.0芯片 cy68013a/14a, 可实现USB2.0 HS 理论 480Mbit/s 数据传输率.
1. 硬件环境搭建 1.1 USB2.0环境选用黑金ALINX[url=]开发板[/url], 型号为AX515, 其包含了Altera CycloneIV FPGA(EP4CE15F23C8)和Cypress USB2.0 PHY(CY7C68013A)芯片 2. 固件环境 2.1 CY68013A: 本测试USB部分设置是参照官方文档<AN61345 - Designing With EZ-USB FX2LP Slave FIFO Interface>将CY68013A配置成slaveFIFO模式使用, 架构图如下 2.2 FL2LP固件中包含fw.c和slave.[url=]c[/url][url=]文件[/url], 其中fw.c包含main函数. main函数首先执行一些日常操作的步骤, 然后会调用TD_init()函数来初始化配置参数, 之后进入死循环持续工作, 其中会循环执行到TD_Poll()函数. 此函数用于同步化FPGA和FX2LP间所传输的数据. 2.3 fw.c 文档一般不做修改, 主要修改Slave.c文档中的TD_Init和TD_Poll函数 2.4 StreamIN FPGA 固件如下图, FPGA会持续监控FLAGD信号, 如果可以写入数据至USB PHY则会立刻持续不断的写入 2.5 StreamOUT FPGA 固件如下图, FPGA会持续监控FLAGA信号, 如果可以从USB PHY读出数据则会立刻持续不断的读出 3. PC 软件环境 3.1 PC系统环境, windows11 intel i7 12700F 内存32G 3.2 Cypress官方提供了cyusb3驱动, 可通过安装官方开发包CySuiteUSB_3_4_7获得, 同时此开发包里面也包含速率测试软件Cypress USB StreamExample 4. 测试结果
最后, 如果喜欢此内容的话, 还请关注, 收藏和分享给更多喜欢的人. 也可添加UP主微信, 加入<微机原子>微信群, 希望大家可以提问, 讨论, 共同进步.
|