电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何在FTDI FT2232H上使用快速串行模式

如何在FTDI FT2232H上使用快速串行模式

2023-06-19 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

快速串行概述

FTDI FT2232H 快速串行接口使用以下 4 个引脚:

  • FSDI,输入,数据,接收串行数据
  • FSCLK,输入,来自 FSDI 和 FSDO 的串行数据时钟
  • FSDO,输出,从 FT2232H 输出的串行数据
  • FSCTS,输出,驱动为低电平以指示 FT2232H 我们准备好发送数据

详细时序图在 FTD223H 芯片 4.8.1 节的数据表中。

CYC1000 FPGA 引脚输出到 FT2232H

CYC1000上的 Cyclone 10LP FPGA使用以下引脚连接到 FT2232H 芯片:

  • FSDI 连接到引脚 R7
  • FSCLK 连接到引脚 T7
  • FSDO 连接到引脚 M8
  • FSCTS 连接到引脚 M8。

必须通过更改 EEPROM 在 FT2232H 中启用串行模式

要启用快速串行模式,需要将端口 B 更改为使用 OPTO 隔离,附件是使用 FTDI 编程器进行更改的屏幕截图。

poYBAGOII6qAbWdYAAEnfs7m8_w018.png
 

现在,CYC1000 串行接口将使用快速串行硬件握手,而不是标准的两针串行。PC端使用Linux Ubuntu 18.04,无需加载任何驱动,通过ttyUSBx即可访问接口。

Quartus 精简版 18.1

加载快速串行项目,从菜单文件-> 打开项目-> fast_serial.qpf

poYBAGOII62ALi6yAAHvAxKjM2g025.png
加载项目
 

从菜单中选择 tools->platform designer->select avalon_fast_serial.qsys

pYYBAGOII7CAY81yAAKtt13VgH0141.png
加载平台设计
 

加载平台设计器文件后,将显示 Avalon Bus。

以下是每个块的说明:

  • Master 是与每个 slave 通信的 Avalon 总线 master。
  • in_bytes_to_packets:将来自 Fast Serial rx_module.v 模块的字节放入流中以转发给 Master
  • out_bytes_to_packets:从 Master 获取流并转换为 Fast Serial tx_module.v 的字节流
  • led_gpio_slave:是 Avalon Memory mapped slave to Master。地址为 0x0 到 0x3F。
  • sysid_qsys_0:是 Master 的 Avalon Memory mapped slave。有两个寄存器,系统 ID,硬编码为 0x112233。和时间戳。

快速串行verilog代码

Fast Serial有3个基本模块,

  • clock_fastserial.v:将 clk 除以 2。
  • rx_fastserial.v:使用 FT2232H 的 FSDO 和 FSCLK 引脚为 Avalon 字节流接口创建字节接口。
  • tx_fastserial.v:FSCTS、FSDI 和 FSCLCK 引脚,用于创建字节接口数据包到字节流接口,以将字节传输回 PC

Avalon字节流包说明

第 43 节 Avalon -St to Packets 和 Packets to Bytes Converter Cores 描述了字节流。

这是一个基本描述,数据包使用编码字节流,因此任何保留的字节都会使用转义序列进行编码。该帧具有 SOP、数据包开始 0x7A、EOP 数据包结束 0x7B 和通道 0x7B。这是从手册中摘录的:

如果内核源接口上的 endofpacket 信号被置位,则内核会在数据的最后一个字节之前插入一个数据包结尾 (0x7b)。
如果内核源接口上的通道信号在数据包中更改为新值,则内核会插入一个通道号指示器 (0x7c),后跟新通道号。
如果数据字节是特殊字符,内核会插入一个转义符 (0x7d),然后是与 0x20 异或的数据。

加载FPGA

从菜单中选择 Tools -> Programmer 应该会出现以下对话框。使用开始按钮将图像加载到 FPGA RAM 中。

poYBAGOII7KAWVhuAAB5izuxERU143.png
 

Python 示例

在 python 目录中是一个示例应用程序,用于获取 FPGA ID 和切换 LED。需要安装serial_asyncio

在控制台:python3 avalon_loopback_serial.py

LED 应递增。

提高 tty 的性能

setserial /dev/ttyUSBx low_latency

x CYC1000 连接的 USB 设备,例如,我的是 /dev/ttyUSB0 所以命令是:

setserial /dev/ttyUSB0 low_latency

这在 FT2232H 中使用较低的定时器延迟定时器来增加 FIFO 的消耗。由于命令小于 512 字节(高速 USB 的最小 USB 数据包大小),定时器将到期以发送数据。定时器可以设置为0,所以每微帧发送一次数据。

进一步提高性能,使用 libftdi1 和 C,我仍在努力提高性能,并解决几个错误,但能够实现约 180us 的往返。

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1储能电源市场分析
  2. 7.99 MB  |  10次下载  |  免费
  3. 2储能电源市场分析报告
  4. 2.61 MB   |  6次下载  |  免费
  5. 3磁环电感定制时应该注意什么
  6. 0.32 MB   |  2次下载  |  免费
  7. 4labview文档教程资料(一)
  8. 24.29 MB   |  2次下载  |  免费
  9. 54.5V 至 17V 输入、8A 同步降压 SWIFT™ 转换器TPS568215OA数据表
  10. 1.27MB   |  1次下载  |  免费
  11. 6轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
  12. 0.60 MB   |  1次下载  |  2 积分
  13. 7英集芯IP5353 QFN32 规格书pdf
  14. 2.70 MB  |  1次下载  |  免费
  15. 8采用QFN封装且具有2.95V-6V 输入的LMZ30604 4A电源模块数据表
  16. 1.86MB   |  1次下载  |  免费

本月

  1. 1STM32国内外发展现状
  2. 1.15 MB   |  15次下载  |  免费
  3. 2传感芯片选型指南
  4. 3.60 MB   |  12次下载  |  免费
  5. 3储能电源市场分析
  6. 7.99 MB  |  10次下载  |  免费
  7. 4ATmega8芯片中文手册
  8. 2.45 MB   |  8次下载  |  1 积分
  9. 5TDK电容器产品指南
  10. 11.88 MB   |  7次下载  |  1 积分
  11. 62A多电池高效开关充电器AN_SY6912A中文资料规格书
  12. 1.43 MB   |  7次下载  |  免费
  13. 7STM32F030单片机编程中文参考资料
  14. 15.52 MB   |  6次下载  |  3 积分
  15. 8储能电源市场分析报告
  16. 2.61 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935091次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420050次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233068次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191317次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183316次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73788次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费