找回密码
立即注册
搜索
发回帖 发新帖

6611

积分

0

好友

800

主题
发表于 3 小时前 | 查看: 5| 回复: 0

最近在使用 FPGA,感觉和 MCU 有很多不一样的地方,这里简单总结一下。我手头用的是 GW1NR-9K 系列,资源和价格都还算合适,除了支持相当多的电平标准之外,还有一些平时不太会用到的特性,值得记录。

FPGA IO 电平标准与驱动选项列表

4/8/16/24 mA 驱动能力

驱动能力表示管脚作为输出时能够提供的驱动强度。数值越大,上升沿和下降沿通常越快,但噪声、功耗和过冲也可能随之增大。它并不是要求外设必须消耗这么大的电流,而是给了一个能力上限的参考。

怎么用电流评估驱动能力?

GPIO 同时涉及电压和电流,只是它们由两个不同的配置分别决定。常见的 LVCMOS33 决定逻辑电压约为 0 V / 3.3 V,而 DRIVE=8 则决定管脚输出高低电平时的驱动能力约为 8 mA。

这个驱动强度并不是说管脚始终输出 8 mA,也不是一个恒流源。实际电流仍然取决于负载:

电流 = 电压 ÷ 负载阻抗

拿 ADC 的 DIN、SCLK 和 CS 来说,它们都属于高阻数字输入,稳态电流很小,主要只是在电平跳变时给线路和输入电容充放电。驱动强度越大,可以理解为 FPGA 输出端的等效电阻越小:能更快地给线路电容充放电,上升沿、下降沿更陡,带多个数字输入时更稳定,但也更容易产生过冲、振铃和电磁干扰。

比如 FPGA 输出高电平时,电压加载在等效输出电阻上,最后作用到线路电容和外设输入。选择 24 mA 通常比 4 mA 充电更快,但并不代表电压变成了 24 V,输出仍然约为 3.3 V。

一般来说,驱动强度选得不理想,主要影响信号边沿和稳定性。

Bus Keeper

管脚没有被外部驱动时,Bus Keeper 会弱保持最后一次高、低电平,而不是固定拉高或拉低。

常见的用途包括:多个设备共享数据总线、外设有三态输出信号、FPGA 管脚需要暂时保持前一状态等。它可以减少悬空输入导致的随机跳变、额外功耗和误触发。

它与上下拉的区别如下:

配置 外部释放后
上拉 固定趋向高电平
下拉 固定趋向低电平
Bus Keeper 保持最后一次电平
无任何配置 可能悬空并随机变化

需要提醒的是,Bus Keeper 的保持能力很弱,外部设备仍能轻松改变电平。它不能替代寄存器存储数据,也不能用于保持精确的模拟电压。

去迟滞

这个从字面上就能理解个大概。前几天的诺贝尔奖设备里就对数据做了延迟处理,这里的情况也差不多:走线时信号有的快有的慢,那就让快的稍微慢一点,和慢的对齐。

把某些输入信号人为延迟一小段时间,从而对齐数据和时钟,常用于高速并行总线、源同步接口、DDR 数据与时钟对齐、修正 PCB 走线长度差、调整输入建立时间和保持时间等场景。

FPGA 单端输入去迟滞配置表

但是需要注意,这种延迟通常只有纳秒或更小的调节范围,不能当作毫秒级定时器来用。

热插拔

支持热插拔意味着系统带电时插入或拔出连接器,I/O 具有一定的保护和安全行为。例如减少未供电器件被信号线反向供电、上电过程中尽量保持高阻、限制异常电流、避免电源顺序不同导致锁死等。

但 GPIO 即使支持热插拔,也不能直接接入超过额定范围的电压。

FPGA 热插拔特性参数表

FPGA 确实挺好玩的,有一种放飞自我的感觉:

FPGA I/O 推荐工作条件电压参数表

后面还有一个调整边沿的选项,这次就先不展开了。如果你也在折腾 FPGA,欢迎到 云栈社区 一起交流踩坑经验和心得。




上一篇:ADMX1001 差分感测 DPD 算法解析:THD 如何做到 -130 dBc
下一篇:MiniMax M3.1 Flash发布:Agent国模第一,忙时MiniMax闲时大肥鱼
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-21 05:27 , Processed in 0.075324 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表