FPGA电平标准的介绍

        对FPGA的管脚进行约束的时候,常常看到这样的电平标准,例如LVCOM18,LVCOS25,LVDS,LVDS25等等,其实这些都是一系列的电平标准。

        针对数字电路而言,数字电路表示电平的只有1和0两个状态,在实际的电路中,需要约定什么样的电压为1,什么样的电压为0。

        数字电路中的双阈值是这样定义的,例如TTL接口电平标准:对于输出端,状态1的电压要求为大于等于2.4V,状态0的电压要求为小于等于0.5V;对于输入端,状态1的判定要求为大于等于2.0V,状态0的判定要求为小于等于0.8V;也就是需要大于某一个阈值表示电平1,小于某一个阈值表示电平0.

 电平标准的分类

        常见IO接口可分为单端IO接口和差分IO接口,详细的IO标准参见下图。单端IO接口和差分IO接口均满足高速接口传输,区别在于应用场合不同。

 TTL

        TTL是Transistor-Transistor Logic的英文缩写,从其命名就可以看出,这种接口电平标准的初衷是用于基于三极管结构的数字系统之间的。

        工作于TTL接口标准下的数字电路,其内部有源器件的标准电源供给应为5V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于2.4V,状态0的电压要求为小于等于0.5V;

        对于输入端,状态1的判定要求为大于等于2.0V,状态0的判定要求为小于等于0.8V;

LVTTL

        由于2.4V与5V之间还有很大空间,这对改善噪声干扰并没有什么明显的好处,而且还会增加系统的功耗,并且由于数字状态1、0之间电平相差较大,还会影响到数字电路的响应速度。因此后来就把TTL的电压范围进行了一些压缩,从而形成了LVTTL——Low Voltage Transistor-Transistor Logic,也即低压TTL电平标准。以下介绍两种目前常用的LVTTL标准:

LVTTL3V3

        LVTTL3V3的意思,即其内部有源器件的标准电源供给为3.3V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于2.4V,状态0的电压要求为小于等于0.4V;

        对于输入端,状态1的判定要求为大于等于2.0V,状态0的判定要求为小于等于0.8V;

        对比输出、输入端的电压要求可知,为了保证双阀值判定的稳定性和抗噪性,输出端的电压要求仍比输入端的双阀值判定标准要严格,这点对于所有的数字系统接口标准是一样的,以后不再赘述。

LVTTL2V5

        LVTTL2V5的意思,即其内部有源器件的标准电源供给为2.5V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于2.0V,状态0的电压要求为小于等于0.2V;

        对于输入端,状态1的判定要求为大于等于1.7V,状态0的判定要求为小于等于0.7V

CMOS

        CMOS是Complementary Metal Oxide Semiconductor的英文缩写,从其命名就可以看出,这种接口电平标准的初衷是用于基于NMOS、PMOS组成的MOS管结构的数字系统之间的。

        工作于CMOS接口标准下的数字电路,其内部有源器件的标准电源供给为5V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于4.45V,状态0的电压要求为小于等于0.5V;

        对于输入端,状态1的判定要求为大于等于3.5V,状态0的判定要求为小于等于1.5V。

        CMOS与TTL接口相比,有了更大的噪声容限,并且其输入阻抗也远大于TTL输入阻抗。

LVCOMS

        同TTL一样,鉴于功耗和响应速度的考虑,CMOS也同样衍生出了LVCMOS接口标准,并且由于MOS管相对于三极管的导通门限更加低,因此LVCMOS比LVTTL更容易使用较低的电压进行通信。以下介绍几种目前常用的LVTTL标准:

LVCOMS33

        LVCMOS3V3的意思,即其内部有源器件的标准电源供给为3.3V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于3.2V,状态0的电压要求为小于等于0.4V;

        对于输入端,状态1的判定要求为大于等于2.0V,状态0的判定要求为小于等于0.7V。

LVCOMS25

        LVCMOS2V5的意思,即其内部有源器件的标准电源供给为2.5V,输出、输入情况如下:

        对于输出端,状态1的电压要求为大于等于2.0V,状态0的电压要求为小于等于0.4V;

        对于输入端,状态1的判定要求为大于等于1.7V,状态0的判定要求为小于等于0.7V。

LVCOMS18

        LVCMOS1V8的意思,即其内部有源器件的标准电源供给为VCC=1.8V,当然这是有一定容忍度的,不过与之前介绍的电平标准不同,这个容忍度会影响它的输出、输入情况,介绍如下:

        对于输出端,状态1的电压要求为大于等于VCC-0.45V(若VCC精确等于1.8V,则为1.35V),状态0的电压要求为小于等于0.45V;

        对于输入端,状态1的判定要求为大于等于0.65倍的VCC(若VCC精确等于1.8V,则为1.17V),状态0的判定要求为小于等于0.35倍的VCC(若VCC精确等于1.8V,则为0.63V)。

LVCOMS15

        LVCMOS1V5的意思,即其内部有源器件的标准电源供给为VCC=1.5V,它的容忍度也会影响到其输出、输入情况,介绍如下:

        对于输出端,LVCMOS1V5没有明确的要求,但是肯定是状态1越接近VCC越好,状态0越接近0V越好;

        对于输入端,状态1的判定要求为大于等于0.65倍的VCC(若VCC精确等于1.5V,则为0.975V),状态0的判定要求为小于等于0.35倍的VCC(若VCC精确等于1.5V,则为0.525V)。

LVCOMS12

        LVCMOS1V2的意思,即其内部有源器件的标准电源供给为VCC=1.2V,它的容忍度也会影响到其输出、输入情况,介绍如下:

        对于输出端,LVCMOS1V2也没有明确的要求,但是肯定是状态1越接近VCC越好,状态0越接近0V越好;

         对于输入端,状态1的判定要求为大于等于0.65倍的VCC(若VCC精确等于1.2V,则为0.78V),状态0的判定要求为小于等于0.35倍的VCC(若VCC精确等于1.2V,则为0.42V)。

LVDS

        低电压差分信号。其特性如下:LVDS的电压摆幅仅有350mV左右,电流也仅有3.5mA左右,而且又是差分传输,因此具有高速、超低功耗、低噪声和低成本等优良特性。

RS232

        RS232是美国电子工业协会EIA(全称为Electronic Industry Association)制定的一种串行物理接口标准。RS是Recommended Standard的缩写,中文意思为推荐标准,232为标识号。RS232总线标准共设有25条信号线,这里我们仅讨论其数字电平接口判定标准。

        RS232的标准电源供给为±12V或±15V,状态1的电压要求为-15V到-3V之间,状态0的电压要求为3V到15V之间。

RS485

        RS485相当于RS232的升级版,与LVDS类似,RS485也是采用差分的形式来传递信息(不过RS485是真的传了两路电压信号过去),因此抗干扰性要优于RS232。这里,我们同样仅关心其数字电平接口判定标准。

        RS485的状态1,其两线之间的电压差要求为2V到6V之间;状态0,其两线之间的电压差要求为-6V到-2V之间。

不同标准之间能否混连?

         有时候受限于两方的一些配置情况,可能并不能找出统一的电平标准来进行通信,那么此时,是不是除了设计接口转换电路板以外就没有别的方法了呢?并不是的,其实,有些不同的接口电平标准是可以兼容的。

         首先单端和差分是不可能兼容的,因为从物理连线上它们就不一样。但是对于同种类的接口,如果A电平标准的输出符合B电平标准的输入,那么就称A的输出可驱动B的输入,如果反之亦然,那么称A、B两种电平标准可相互驱动。

        例如,CMOS的输出是可以驱动TTL输入的,但是反之则不行,因为TTL的状态1输出仅为大于等于2.4V,并不能达到CMOS判决状态1所需要的大于等于3.5V;但是LVTTL3V3和LVCMOS3V3却可以相互驱动,因为它们的输出都能满足彼此的输入判定要求。

如何得知FPGA上面的引脚是上面标准

         电平标准分为板子内部和外部的拓展。面对芯片内部的引脚,通常我们使用VIVADO的TCL命令get_io_standards -of,具体方法如下图。当我们面对外部的拓展引脚,通常采用查询该外部拓展的电平手册的方式来进行。

以BANK117为例子,其支持的电平标准结果如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/149668.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11.15 知识总结(模板层、模型层)

一、 模板层 1.1 过滤器 1.什么是过滤器? 过滤器类似于python的内置函数,用来把变量值加以修饰后再显示。 2. 语法 1、 {{ 变量名|过滤器名 }} 2、链式调用:上一个过滤器的结果继续被下一个过滤器处理 {{ 变量名|过滤器1|过滤器2 }} 3、有的过…

栈与队列:用队列实现栈

目录 题目: 栈和队列的数据模型对比: 思路分析: 代码分析: 一、定义栈 二、初始化栈 三、入栈 四、出栈⭐ 代码解析: 五、获取栈顶元素 六、 判断栈是否为空 七、销毁栈 完整代码: 需…

在webstorm中配置sass编译环境

1.下载ruby 下载地址:ruby下载 2.安装ruby 下载之后,有一个exe安装包 双击exe文件 ,并选择自己的安装位置(这个位置一定要记得,需要在webstorm中使用)。其他的步骤默认安装即可。 3.安装sass ruby安装成功后…

记feign调用第三方接口时header是multipart/form-data

1.请求第三方接口,用feign请求 请求第三方接口,用feign请求,header不通,feign的写法不同 调用时报错Could not write request: no suitable HttpMessageConverter found for request type [com.ccreate.cnpc.mall.dto.zm.ZMPage…

程序员的护城河:技术深度、创新精神与软实力的完美结合

文章目录 1. 技术深度:建立坚实的技术基石2. 创新精神:应对变革的利器3. 软实力:沟通协作构筑团队防线4. 结合三者构筑完美护城河 🎉程序员的护城河:技术深度、创新精神与软实力的完美结合 ☆* o(≧▽≦)o *☆嗨~我是I…

【Maven】进阶

文章目录 1. 聚合2. 继承3. 属性变量定义与使用4. 版本管理5. 资源配置6. 多环境配置7. 跳过测试(了解) 1. 聚合 为了防止某个模块(dao)更新了,重新编译了,导致和其他模块不兼容,需要用一个roo…

移植freertos到qemu上运行

1、freertos源码下载 参考博客:《freertos源码下载和目录结构分析》; 2、编译freertos 2.1、选择合适的Demo freertos官方已经适配过qemu,所以我们并不需要做源码级别的移植,只需要选择合适的Demo文件夹。 2.2、修改Makefile 2.3…

sCrypt 发布零知识证明精选列表

sCrypt 发布了与零知识证明相关的精选列表,包括:教程,编程语言,工具,书籍,社区,证明系统。欢迎收藏 github 代码仓:https://github.com/sCrypt-Inc/awesome-zero-knowledge-proofs。…

spark与scala的对应版本查看

仓库地址 https://mvnrepository.com/artifact/org.apache.spark/spark-core 总结 spark3.0 以后,不再支持 scala2.11spark3.0 以后,只能用 scala2.12以上

Zabbix邮箱告警

1.在邮箱中获取授权码 2.zabbix配置 agengt配置 添加以下配置 [rootserver03 ~]# visudo zabbix ALL(ALL) NOPASSWD: ALL [rootserver03 ~]# vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands1 #允许接收远程命令 修改原有的值,不要在末…

Windows系统CMake+VS编译protobuf

目录 一些名词CMake构建VS工程下载protobuf源码下载CMake编译QT中使用 方案二失败:CMakeQT自带的Mingw编译参考链接 一些名词 lib dll lib库实际上分为两种,一种是静态链接lib库或者叫做静态lib库,另一种叫做动态链接库dll库的lib导入库或称…

.Net8 Blazor 尝鲜

全栈 Web UI 随着 .NET 8 的发布,Blazor 已成为全堆栈 Web UI 框架,可用于开发在组件或页面级别呈现内容的应用,其中包含: 用于生成静态 HTML 的静态服务器呈现。使用 Blazor Server 托管模型的交互式服务器呈现。使用 Blazor W…

LINMP搭建wordpress-数据库不分离

目录 一、nginx部署 1.安装nginx前的系统依赖环境检查 2.下载nginx源代码包 3.解压缩源码包 4.创建普通的nginx用户 5.开始编译安装nginx服务 6.创建一个软连接以供集中管理 7.配置nginx环境变量 二、mysql 1.创建普通mysql用户 2.下载mysql二进制代码包 3.创建mys…

吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II

8.5、特征与直观理解I 一、神经网络的学习特性 神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1​,x2​,...,xn​ 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网…

【MySQL】MVCC(多版本并发控制)详解

MVCC MVCC概述 MVCC,全称 Multi-Version Concurrency Control ,即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC就是在ReadCommitte…

echarts实现不展示X轴Y轴轴线、刻度

今日工作中需要实现折线图的简图,就是只看个大概趋势不展示具体坐标,查阅了文档记录一下。 initCharts(_id, _name, yAxisData, _unit){if(this[_id]) this[_id].clear();this[_id] $echarts.init(document.getElementById(_id));const options {grid…

基于Springboot+Vue的社区医院管理系统

基于SpringbootVue的社区医院管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 医生列表 医生详情 登录界面 管理员界面 医生界面 摘要 社区医院管…

van-dialog弹窗异步关闭-校验表单

van-dialog弹窗异步关闭 有时候我们需要通过弹窗去处理表单数据,在原生微信小程序配合vant组件中有多种方式实现,其中UI美观度最高的就是通过van-dialog嵌套表单实现。 通常表单涉及到是否必填,在van-dialog的确认事件中直接return是无法阻止…

POE也收费了

一直通过POE在用chatgpt,今天下午发现要收费了…

二百零三、Flume——Flume实时采集数据频率为1s的高频率Kafka数据直接写入ODS层表的HDFS文件路径下

一、目的 在离线数仓中,需要用Flume去采集Kafka中的数据,然后写入HDFS中。 由于每种数据类型的频率、数据大小、数据规模不同,因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume,感觉Flume的使用难点就是配置文件 二、…