zoukankan      html  css  js  c++  java
  • GPIO-FPGA架构

    GPIO是一种软件运行期间能够动态配置和控制的通用引脚

    有不同的GPIObank,每个GPIO口的bank都会有编号的区分,

    每个GPIO口除了通用的输入输出功能以外,还有其他复用功能,例如GPIO5_b4可以复用成:

    • spi0_clk
    • ts0_data4
    • uart4exp_ctsn

    一、GPIO的特性

    1.可编程控制GPIO中断

    2.可边沿触发或者电平触发

    3输入输出可承受5V

    4读写过程中通过位地址线进行位屏蔽

    5弱上拉和若下拉电阻

    6.2、4/8mA驱动,以及带驱动转换速率skew rate()的8没A驱动

    7开漏使能,数字输入使能

    二、GPIO的工作模式

    1.高阻输入

    实际上就是一个带有施密特触发输入的三态缓冲器(U1)高的输入阻抗,施密特触发输入的作用就是将缓慢变化,或是畸变的输入脉冲信号整形成理想的矩形脉冲信号。读脉冲信号把当前的电平状态读出到内部总线上,不执行读操作的时候,外部管脚和内部总线隔离。

    2.推挽输出

    这里的推挽主要指的是T1 和T2组成的反相器部分,T1或者T2导通的时候,都具有低的阻抗,但是T1T2不会同时导通,或者同时关闭,这样形成的就是推挽输出。在实际的开发板上,T1T2实际上是多组可编程选通的晶体管,驱动能力可以自行配置为各种电流输出的。GPIO还有回读的功能,实现回读功能的实际上是一个简单的三态门U2,回读到的是管教的输出缓存状态,不是外部管脚的状态。

    U17.com是输出缓存器,在执行GPIO管教的写操作的时候,在写脉冲的作用下,数据被锁存到Q和Q1。

    3.开漏输出

    开漏输出的结果与推挽输出类似,GPIO管脚在开漏输出下的等效结构模式图,,实际上就是一个开关,输出1时断开,输出0时接到地上,(有一定的内阻)。回读的时候读到的仍然是输出锁存器的状态,而不是外部管脚的pin状态。开漏输出不能用于输入。

    实际用用的时候要加上上拉电阻,开漏输出可以方便的实现线与逻辑,另外他可以实现不同逻辑电平之间的转换,只需要接一个上拉电阻,不需要额外的转换电路。典型的应用例子就是基于OD的IIC总线。

    4.钳位二极管

    作用在于防止外部管脚Pin的输入电压过高或者过低,VDD的正常供电电压是3.3V,如果从pin输入信号电压超过VDD加上二极管D1的导通压降假定0.6V(),着二极管D1导通,会把多余的电流引入到VDD,而真正输入到内部的信号不会超过3.9V,同理,D2可以限制输入电压的最小值,使之不超过-0.6V 。

    另外,加上一个ZYNQ的IO的用法:

    附加一个树莓配的GPIO配置方法:https://blog.csdn.net/xukai871105/article/details/12684617

  • 相关阅读:
    tf_upgrade_v2.exe实验
    tf.random_uniform出错tensorflow2.0出错
    Tensorflow2.0变化
    Anaconda安装PyTorch
    Anaconda是如何进行版本管理的?
    CUDA开发指南
    Tensorflow视频教程&Pytorch视频教程
    Applied Spatiotemporal Data Mining应用时空数据挖掘
    GAN one-shot
    基于深度学习的图像超分辨率重建 一种基于非负矩阵分解的高光谱影像模拟方法
  • 原文地址:https://www.cnblogs.com/Dinging006/p/9531005.html
Copyright © 2011-2022 走看看