• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

GPIO可以模拟所有的协议么

莱克迷KW 2019-04-24 浏览量:1186
GPIO可以模拟所有的协议么
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 低速的是可以的,串口,IIC,SPI,这些是可以的。

    高速的不可以了,GPIO 翻转速度也有那么快,比如USB,HDMI,这些比较困难了

其他答案 数量:8
  • 看具体的协议类型吧,在驱动能足够的情况下,常见的uart、iic、spi都可以试试。但也不是绝对的,比如uart输出的电平一般是cpu使用的电平(TTL),而485和232则有电气性能规定,一般需要涉及到电平转换,iic通信时候最重要的步骤是拉低电平控制收发,iic总线上的设备一多,gpio肯定是不足以拉低电平的,一般可以通过加一个三极管来增强其驱动能力。

    需要差分信号的,gpio模拟也够呛。因为本身就不是按差分设计的,所以无论时序还是走线,都难以做到。

  • 理论上是这样,但是有些接口,比如以太网 USB那些,速度很快,有一定的硬件协议,而且时序要求较高的,这样模拟可能会导致误码率增加,这种一般要硬件的控制器

    对于常规的接口,如I2C SPI等,可以用IO模拟,特别是I2C,目前用模拟的比较多,因为它速度很慢,而且只有两根线

  • 但从数据输出来说,主要看GPIO的输出最高频率,如果不太高,有些传输协议也不能很好模拟。

    而电压匹配问题则可以后面添加驱动或者电平转换,反而不是大问题。

  • 不可以,gpio速度有限,只能模拟低速设备,像hdmi这些高频信号就不行,不过有的单片机是可以模拟usb低速设备的,用汇编编写可以提高执行效率,速度再高就不模拟了

  • 只要gpio速度够快 mcu内存足够大 理论上是可以模拟任何协议

    比如iic uart spi usb(低速) 

    比如arduino uno (非ch340g)的串口下载模块 就是用的单片机模拟的usb转ttl

    • 发布于23小时前
    • 举报
    • 评论 0
    • 0
    • 0

  • 低速的可以,高速的不行,gpio 口的反转速度慢
    • 发布于21小时前
    • 举报
    • 评论 0
    • 0
    • 0

  • 并不是所有的,速度低的可以,比如串口的,IIC的

    高速 的就不太好模拟了,时序上达不到,比如USB

    • 发布于11小时前
    • 举报
    • 评论 0
    • 0
    • 0

  • 并不可以的啊,高速 的DDR就不可模拟,

    低速度的,串口,SPI,IIC是可以模拟的

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

GPIO可以模拟所有的协议么