电子发烧友App

硬声App

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

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

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

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

2023-06-19 | zip | 0.00 MB | 次下载 | 2积分

资料介绍

描述

快速串行概述

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山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费