[开发工具] Proteus是否无法正确仿真STM32的开漏输出

[复制链接]
986|0
 楼主| elephant00 发表于 2024-5-6 11:36 | 显示全部楼层 |阅读模式
软件:Proteus 8.16(Build36097)
MCU:STM32F103C8T6,用Proteus库中的STM32F103C8仿真
问题描述:用软件模拟I2C驱动PCF8574,并以Proteus仿真。通过STM32CubeMX将上述MCU的PB8、PB9引脚配置为开漏输出且无内部上/下拉电阻,并将两个引脚分别与PCF8574的SDA与SCL引脚相连。IO口的配置代码如图所示:
时钟线与数据线分别通过2.2K的上拉电阻连接至5V电源(按照STM32F1系列的手册,PB8、9可耐受5V电压),MCU的电源电压配置为3.3V,PCF8574的电源电压配置为5V,仿真电路如图所示
结果发现,时钟线与数据线的逻辑高电平未被上拉至5V,而仅有3.3V,故PCF8574没有响应(按照规格书,该IC的逻辑高电平输入电压应满足Vin>0.7Vcc=3.5V>3.3V)。改用3.3V电源电压驱动PCF8574,发现其SDA无法将数据线拉至逻辑低电平,仿真波形如图所示(读出数据应为0x23):
遂用如下电路图测试:
表明PB8未处于开漏输出状态。不知这是不是Proteus仿真STM32的bug?




您需要登录后才可以回帖 登录 | 注册

本版积分规则

1031

主题

3946

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部