找回密码
 注册
查看: 661|回复: 53
打印 上一主题 下一主题

求教,单IO怎么实现多路不同状态输出,要求实时性高,低延迟。

[复制链接]
  • TA的每日心情
    奋斗
    2025-1-16 15:21
  • 签到天数: 41 天

    [LV.5]常住居民I

    跳转到指定楼层
    1#
     楼主| 发表于 2025-1-14 09:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    如题,单IO怎么实现多路不同状态输出,要求实时性高,低延迟。真值表如附件,要求单IO输入时,分出两个控制口,一个为高,另一个同时为低,且没有输入时(即高阻时),要求输出状态稳定(同时为高,或同时为低),想请教下有什么简单的方法实现,器件最少,,小弟脑袋瓜转不过来了,求指点迷津,讨论指导。
    : B6 x4 ~' U4 N' O5 y9 G+ k

    真值表.png (10.91 KB, 下载次数: 6)

    真值表

    真值表

    评分

    参与人数 1威望 +5 收起 理由
    超級狗 + 5 你也是三不五時來有求必應那個!

    查看全部评分

    该用户从未签到

    推荐
    发表于 2025-1-16 10:21 | 只看该作者
    梦家好 发表于 2025-1-16 09:469 p: f' E& K& O
    你看这样行不行,把上拉电压更成3.3V是不是就可以了

    " E  _" K: d2 e. V! c' ^只能说能用。但是出问题概率很大。! t% `. V! e4 K' ]1 r9 H' B
    器件常规用法:npn和nmos正常使用连低端。pnp和pmos正常使用接高端。如果不这样需要考虑专用驱动
    ) l# [- D4 [  p2 |你图纸中pnp接了gnd。那么e级会被b级二极管钳位,当b为0V时,e是0.7V。这个电平能不能正常识别为低?并且一般ic输出低电平不一定是0V,0.2~0.3V很正常。这种情况怎么解决?. p1 y. A  s8 ?7 r) a  n2 c% N
    随着b电压升高,管子会导通,e级电流开始出现。但是e级不是接VCC,有电阻。这个电阻的压降会让e级电压降低,会不会影响后面电路检测高电平?$ u- i1 O/ U1 z) I' I. x1 ]- S6 Q

    点评

    看一下表, 問題是使用邏輯的0,1 , 也給了邏輯電路的 0,1 信號確認電壓, 你又看不懂嗎??  发表于 2025-1-16 15:12

    该用户从未签到

    推荐
    发表于 2025-1-20 08:39 | 只看该作者
    再见海贼王 发表于 2025-1-18 15:54
    , J' N9 k- ^, J0 s" E凑个热闹,不知道这样行不行

    3 _# P4 @9 q( v6 O狗斑竹,我是被哪颗子弹击中了,阵亡的迷迷糊糊: ?$ n# T1 S9 c  R3 y) _
    开个玩笑;我是画草图是样想的:IN输入1时  B输出1,A输出0   ( x# M7 z* Y8 J' k! j; _+ u* ?& n0 A
                                                    IN输入0时  B输出0,A输出1
    5 z% u3 F: j: ]0 G8 k4 o9 f                                                IN为HZ时,B为0,右侧MOS通过分压导通A输出0
    + K/ Q! G. E- ]$ J' N, I' E不知道是不是哪里还没考虑到: Y7 y* L9 ?' o; ]+ F7 {

    点评

    谢谢分享!: 5.0
    谢谢分享!: 5
    我也是過年前抖個包袱罷了,感謝參與討論!^_^  发表于 2025-1-22 11:52

    该用户从未签到

    4#
    发表于 2025-1-14 09:35 | 只看该作者
    本帖最后由 huo_xing 于 2025-1-14 09:36 编辑
    ' F) |9 v! `& [) Q$ v9 ?, d7 _9 P
    , I) u, k7 h- S8 W. XIO给个初始状态,比如上拉或下拉。一路直接到A,另外一路通过反相器到B如果对A和B信号延时有要求,可以在A链路上加个缓冲器
    1 Q2 n& d: s4 p8 X2 e) E% C

    点评

    对了,要求电路待机时,输出只能同时为高或者同时为低,可以理解为待机时,IO口不能有电平得高阻(这个一般单片机可以实现),且待机双路的输出状态得一致(同时高或者低),大佬看看?  详情 回复 发表于 2025-1-14 09:43
  • TA的每日心情
    奋斗
    2025-1-16 15:21
  • 签到天数: 41 天

    [LV.5]常住居民I

    5#
     楼主| 发表于 2025-1-14 09:40 | 只看该作者
    对了,要求电路待机时,输出只能同时为高或者同时为低

    点评

    谢谢分享!: 5.0
    谢谢分享!: 5
    似乎沒人鳥你這句話!^_^  发表于 2025-1-15 10:07
  • TA的每日心情
    奋斗
    2025-1-16 15:21
  • 签到天数: 41 天

    [LV.5]常住居民I

    6#
     楼主| 发表于 2025-1-14 09:43 | 只看该作者
    huo_xing 发表于 2025-1-14 09:35, C/ O1 B2 h( l4 H/ j
    IO给个初始状态,比如上拉或下拉。一路直接到A,另外一路通过反相器到B如果对A和B信号延时有要求,可以在A ...

    3 a3 F3 u7 ^+ {5 G2 c' x对了,要求电路待机时,输出只能同时为高或者同时为低,可以理解为待机时,IO口不能有电平得高阻(这个一般单片机可以实现),且待机双路的输出状态得一致(同时高或者低),大佬看看?; e& C! d3 }& u

    " q. x  I( M6 n( X

    点评

    对啊。不是说要给初始状态吗? 比如IO下拉,那么单片机io就算高阻了,外面还有电阻指定状态呢  详情 回复 发表于 2025-1-14 09:49

    该用户从未签到

    7#
    发表于 2025-1-14 09:49 | 只看该作者
    Scisci 发表于 2025-1-14 09:43
    7 G* h) X+ A( ~) T0 d1 d7 v2 }对了,要求电路待机时,输出只能同时为高或者同时为低,可以理解为待机时,IO口不能有电平得高阻(这个一 ...

    , T2 b1 u# |& {7 F对啊。不是说要给初始状态吗?
    5 x  P8 e5 h7 w& F$ j+ D1 o比如IO下拉,那么单片机io就算高阻了,外面还有电阻指定状态呢: ^( L+ A1 b3 ^4 ~2 Q) Y! M' c

    点评

    小弟试了下,貌似默认状态时输出是两个状态,貌似不行,你看我画的对不对  详情 回复 发表于 2025-1-14 09:56
  • TA的每日心情
    奋斗
    2025-1-16 15:21
  • 签到天数: 41 天

    [LV.5]常住居民I

    8#
     楼主| 发表于 2025-1-14 09:56 | 只看该作者
    huo_xing 发表于 2025-1-14 09:49; l# s* S) s$ p
    对啊。不是说要给初始状态吗?' c0 v4 Q5 Z/ o& r5 z9 N* }! ?7 U6 c
    比如IO下拉,那么单片机io就算高阻了,外面还有电阻指定状态呢

    & ]  F7 C% V3 o' w7 R小弟试了下,貌似默认状态时输出是两个状态,貌似不行,你看我画的对不对2 M! H$ C7 J; V' l8 ^) |

    反向器.png (227.47 KB, 下载次数: 7)

    反向器类

    反向器类

    点评

    还一个办法是选带OE引脚的缓冲器和反相器。休眠时OE拉掉,让缓冲器和反相器高阻,通过下拉确定输出状态  发表于 2025-1-14 10:15
    那理解错了不能这么搞。 换个思路,把输出A,B电源受控。休眠时电源关闭,通过下拉到地确认状态。  详情 回复 发表于 2025-1-14 10:03

    该用户从未签到

    9#
    发表于 2025-1-14 10:03 | 只看该作者
    Scisci 发表于 2025-1-14 09:569 X" S6 ?. K: S% U- e5 R
    小弟试了下,貌似默认状态时输出是两个状态,貌似不行,你看我画的对不对
    7 `2 @% w1 M$ I. M+ B
    那理解错了不能这么搞。8 m0 C0 h4 |) B# v: V& S- Y! C
    换个思路,把输出A,B电源受控。休眠时电源关闭,通过下拉到地确认状态。/ L2 C% D) O& M! ?5 W$ S# T

    点评

    小弟有個想法,利用視窗比較器(Windows Comparator)辨別高阻抗(Hi-Z)。 [*]VIN 用兩個等值的電阻分壓。 [*]VIN = High,分壓點是 High,VOUT = Low。 [*]VIN = Low,分壓點是 Low,VOUT = Low。 [*]VIN  详情 回复 发表于 2025-1-14 11:15
    这边电路是正常工作的,不休眠;另外提议的电源受控是不是又要一路IO控制了?那就失去意义了;亦或者是某个输出(A或B)同时控制某一路的电源?没想通  详情 回复 发表于 2025-1-14 10:20
  • TA的每日心情
    奋斗
    2025-1-16 15:21
  • 签到天数: 41 天

    [LV.5]常住居民I

    10#
     楼主| 发表于 2025-1-14 10:20 | 只看该作者
    huo_xing 发表于 2025-1-14 10:03
    . i8 ^/ K0 S1 A1 |3 h, @0 L3 T7 T# [那理解错了不能这么搞。
    8 F4 c: b; u7 z5 O换个思路,把输出A,B电源受控。休眠时电源关闭,通过下拉到地确认状态。

    0 r! b# m' N$ y% W" W这边电路是正常工作的,不休眠;另外提议的电源受控是不是又要一路IO控制了?那就失去意义了;亦或者是某个输出(A或B)同时控制某一路的电源?没想通

    点评

    啥都想要。想想在理论上可行吗?  详情 回复 发表于 2025-1-14 10:30

    评分

    参与人数 1威望 +5 收起 理由
    超級狗 + 5 太多觀世音,你選一個拜吧!

    查看全部评分

    该用户从未签到

    11#
    发表于 2025-1-14 10:30 | 只看该作者
    Scisci 发表于 2025-1-14 10:20: V: y; Z+ U: ^+ |
    这边电路是正常工作的,不休眠;另外提议的电源受控是不是又要一路IO控制了?那就失去意义了;亦或者是某 ...

    / l) [/ {  t5 v" `啥都想要。想想在理论上可行吗?

    该用户从未签到

    12#
    发表于 2025-1-14 11:15 | 只看该作者
    huo_xing 发表于 2025-1-14 10:03: l( }" T0 E$ d" x. `) L
    那理解错了不能这么搞。
    2 A5 m2 @3 J9 E0 b, m1 _$ {# ]换个思路,把输出A,B电源受控。休眠时电源关闭,通过下拉到地确认状态。

    - V9 B; B+ C3 c0 y" K4 Q小弟有個想法,利用視窗比較器Windows Comparator)辨別高阻抗Hi-Z)。
    ; B& X6 x( r1 T: a- J4 c
    & k7 W) O$ g7 @0 z, f
    • VIN 用兩個等值的電阻分壓。
    • VIN = High,分壓點是 High,VOUT = Low。
    • VIN = Low,分壓點是 Low,VOUT = Low。
    • VIN = Hi-Z,分壓點是 VCC/2,VOUT = High。
      ) z  c; X+ H7 Z4 U
    ) F9 u0 l  x9 b3 A3 f' ?7 i, s
    後面可以用多工器Multiplexer)或邏輯閘Logic Gate)搞出樓主要的結果。
    " t; s# v' N" J4 E4 f, u! g6 w0 H4 P* g; B( b4 ?) P
    蠢主意僅供參考!
    " b; D: T$ }( ~2 g! L% q
    * F% y6 q" u9 p" v
    - I5 a( L! R- A1 N+ U5 ~7 b* x# ~
    8 g+ U3 z; [6 U( U9 ~, N0 p

    Window Comparator.jpg (19.21 KB, 下载次数: 1)

    Window Comparator.jpg

    Window Comparator Transfer Function.jpg (40.29 KB, 下载次数: 5)

    Window Comparator Transfer Function.jpg

    tidub01.pdf

    1.47 MB, 下载次数: 0, 下载积分: 威望 -5

    点评

    方案理论可行,这个图上两路比较器输出线与了,不能输出高电平。需要重新设计。这种情况和我上次遇到的找模拟隔离器差不多,问题是成本能不能搞下来。 工作上有时候面对无理需求,不能太软弱。  详情 回复 发表于 2025-1-14 11:27

    该用户从未签到

    13#
    发表于 2025-1-14 11:27 | 只看该作者
    超級狗 发表于 2025-1-14 11:159 a/ ]" P& c- J4 h
    小弟有個想法,利用視窗比較器(Windows Comparator)辨別高阻抗(Hi-Z)。

    1 e/ ?# H7 R: f0 ]方案理论可行,这个图上两路比较器输出线与了,不能输出高电平。需要重新设计。这种情况和我上次遇到的找模拟隔离器差不多,问题是成本能不能搞下来。( u7 E) p( J. }* P
    工作上有时候面对无理需求,不能太软弱。+ Z3 l1 G& A' |& u* @) S
    7 R8 l& i" W, N1 a; {7 M4 L) @. R/ N

    点评

    谢谢分享!: 5.0
    谢谢分享!: 5
    感谢狗版主和翅膀奶龙版主耐心指导,可是小弟还是没转过弯来,貌似都差一些,和真值表不符哇  发表于 2025-1-14 13:25
    有些人拿咱們硬賤攻城獅當觀世音菩薩 - 有求必應!>_<!!!  发表于 2025-1-14 12:01
    不是比较器选择问题。是这个电路设计上不能输出高电平。 正常工作,无论Vin输入是高还是低,两路比较器中总有一个输出低的。线与后输出都是低。不能输出高电平。  详情 回复 发表于 2025-1-14 11:41
    谢谢分享!: 5
    輸出並接就一定要選開漏Open Drain)極輸出的比較器。^_^  发表于 2025-1-14 11:34

    该用户从未签到

    14#
    发表于 2025-1-14 11:41 | 只看该作者
    huo_xing 发表于 2025-1-14 11:27# N" D& @8 z: m! @5 G
    方案理论可行,这个图上两路比较器输出线与了,不能输出高电平。需要重新设计。这种情况和我上次遇到的找 ...

    " E0 o; e- T/ n9 A: n; V不是比较器选择问题。是这个电路设计上不能输出高电平。
    1 E2 Y7 S& A; m6 W: g# f4 Q正常工作,无论Vin输入是高还是低,两路比较器中总有一个输出低的。线与后输出都是低。不能输出高电平。
    3 ]" g1 i# u! `8 p
  • TA的每日心情
    开心
    2025-1-23 15:05
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    15#
    发表于 2025-1-14 11:57 | 只看该作者
    本帖最后由 aarom 于 2025-1-14 12:16 编辑 1 r) t2 e. X0 z6 Q1 o% R2 f
    9 v- ]( _5 ~) r; y
    单IO = MCU ADC input ; y; Z" M3 @" r+ @
    . s7 b- I+ B4 H$ N
    A, B = GPIO
    7 ?6 R0 H  Q9 @5 z& q7 C0 b: L4 `  a  m+ }
    就電阻電容和1 個帶 ADC input 的 MCU./ ^) Z0 ]3 }9 l8 b/ G
    6 p/ s0 i5 j+ n
    根本不用op等其他IC.

    7 v$ L/ R6 E, }6 y6 c3 F& C: M# K2 Y4 V4 s
    单IO 使用 ADC input 能產生多種變化, 就看你想幾種, 使用電壓控制變化.
    ( d0 u/ B$ O* D- h; P! l9 l' v# t% I$ [
    单IO
    # ^& w/ n9 K8 J3 V1.使用兩電阻對VCC和GND分壓接MCU ADC 腳位 ,
    ( Q7 x3 p' `; @+ B* m" K8 s   當未輸入型態.(半壓) ,看你要保持A,B電位,或反相了.! H/ S* Y2 h; i8 j6 v" ^% }" N: Q% A
    2.单IO 接分壓 MCU ADC 腳位 , 當单IO 高電位 A= 0. B = 1. (靠程式了.)0 N/ h& ?& E1 q; M* W& T
    3.单IO 接分壓 MCU ADC 腳位 , 當单IO 低電位 A= 1. B = 0. (靠程式了.)
    ! y0 @% `' M  s3 _3 `

    + s8 d5 w, U  h0 j* p* ]
    0 H6 `6 z+ y% k+ G: I
    " F: b, z. F. J$ c! p* H; f
    # @2 {- ?" c8 `7 [  J

    " `: n4 N7 D& \; S  ^; h
      W1 J# I) `) a9 e: N; H( \
  • TA的每日心情
    开心
    2025-1-24 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    16#
    发表于 2025-1-14 13:20 | 只看该作者
    本帖最后由 梦家好 于 2025-1-15 11:41 编辑 + o! w! f" N# u9 n

    " F0 s" S( k" p, }0 e8 Z- n' z传个图片,我都不会,好土,这个图片应该能够说明吧,时延得看你的速度具体是多少,可以选用不同的

    NPN_PNP.png (47.34 KB, 下载次数: 6)

    NPN_PNP.png

    点评

    A和B的位置弄反了  详情 回复 发表于 2025-1-15 11:43

    该用户从未签到

    17#
    发表于 2025-1-14 14:02 | 只看该作者
    设计思路:
    $ r% z8 q6 W" p8 @1. io输出通过2个比较器确认输入状态。两个比较器有三种状态:11和00是正常模式,10是高阻模式。5 J* B/ ^- [/ U7 s- L. E7 c
    2. 11和00模式控制反相器和缓冲器输入。10控制反相器和缓冲器oe。

    点评

    邏輯電路,不是0,就是1, 沒所謂高阻.  发表于 2025-1-14 14:24
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-3-10 11:02 , Processed in 0.109375 second(s), 29 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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