找回密码
 注册
关于网站域名变更的通知
查看: 1701|回复: 17
打印 上一主题 下一主题

接入电平转换芯片造成SPI复用不能正常通讯的疑问

[复制链接]
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    跳转到指定楼层
    1#
    发表于 2021-7-23 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    过程描述:一个mcu和两个外设公用一组SPI进行通信,其中外设2由于电源电压不同,SPI数据线使用了电平转换芯片,目前的问题是MCU与外设1进行SPI通讯,MCU的数据输入SDI始终为低电平,当断开与外设2连接的SDI连线后,MCU与外设1的通讯就正常了。疑问:现象上看是由于连接的电平转换芯片对SDI信号线上造成了影响,但是外设2的SPI片选信号已经设置为高电平,也就是没有工作,为什么还会影响外设1的通讯,电平转换信号型号为74LVC2T45DC,请各位高手帮忙分析一下。
    : ?  O) G$ s. q* \' Z! a/ y0 G: w$ ^, h, F7 p, v

    评分

    参与人数 1威望 +1 收起 理由
    zhizhong_0404 + 1

    查看全部评分

    该用户从未签到

    推荐
    发表于 2021-7-23 16:05 | 只看该作者
    tfjiangqi 发表于 2021-7-23 15:58
    % M3 {4 Z( Y! r$ p4 x主要是两端的电平不匹配,所以才用这个芯片,而且之前看芯片手册里没有说这个输出是推挽输出的

    " C* h" X* j! s$ C* A  a1 i所以说你们拍脑袋, 你们这用法,应该先使用4052 或者 SPI  Swtich芯片,把出来的信号一切二,然后做电平转化。这样就没问题聊# V! X% M) ]+ l. g1 {

    点评

    这不是拍脑袋,我这项目选型受很多限制,需要尽量用公司库的元器件,MCU的GPIO资源也没有富余,之所以DIR的控制脚直接固定接地,就是因为现在的MCU可用的GPIO全都用满了,一个剩余都没有,最早考虑使用专用的SPI转换  详情 回复 发表于 2021-7-23 17:29
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    推荐
     楼主| 发表于 2021-7-23 17:29 | 只看该作者
    myiccdream 发表于 2021-7-23 16:05( }$ x: X% ~9 I  O9 G1 Z2 ~9 q7 F8 Z
    所以说你们拍脑袋, 你们这用法,应该先使用4052 或者 SPI  Swtich芯片,把出来的信号一切二,然后做电平 ...

    ; a* D9 f/ {' d% D# @! I这不是拍脑袋,我这项目选型受很多限制,需要尽量用公司库的元器件,MCU的GPIO资源也没有富余,之所以DIR的控制脚直接固定接地,就是因为现在的MCU可用的GPIO全都用满了,一个剩余都没有,最早考虑使用专用的SPI转换芯片,可惜项目不让用,没处在当中当然不会理解。, d/ g, s' M6 {0 I6 a. _4 k6 O

    点评

    电平转换芯片的dir方向管脚,你可以用外设2的片选信号来控啊。。当外设2没被使能的时候,让电平转换芯片的方向变一下,外设2的端口电平就不会影响到你的MCU端口了。  详情 回复 发表于 2021-7-23 21:42

    该用户从未签到

    推荐
    发表于 2021-7-23 14:44 | 只看该作者
    tfjiangqi 发表于 2021-7-23 14:232 V6 y: r6 V" L
    外设2是AD7927,试过将AD7927端的SDI上拉,结果MCU和外设1进行SPI通讯时,SDI就一直是高电平,感觉是电平 ...
    3 L2 f- l) f2 y5 `- `7 a
    你们这是拍脑袋上芯片?# j6 _4 i3 Y% `6 f- U6 W/ f6 {
    SPI 的 MISO。一般空闲都是低电平吧。 你这能想通吧?) f  c2 o# G* s4 h0 S
    你中间加一个74LVC2T45。 74LVC2T45 一看这输入为低电平,那我输出必须为低。 , u  v8 n1 W$ Z0 N  D
    如果74LVC2T45输出低是高阻,那就不会对你总线造成影响。但是如果不是哩,如果2T45是推挽输出哩? 那你就坑了1 n- J) I( d7 v6 C. r; c) D

    点评

    主要是两端的电平不匹配,所以才用这个芯片,而且之前看芯片手册里没有说这个输出是推挽输出的  详情 回复 发表于 2021-7-23 15:58
  • TA的每日心情
    开心
    2021-2-25 15:13
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    2#
    发表于 2021-7-23 10:09 | 只看该作者
    2个信号同时输入到MCU,其中一个断开或高阻态才可以,最好的办法,这个MCU输入信号各自1根线

    点评

    由于MCU的资源有限,只能复用一组SPI,外设2未使用时,电平转换芯片的输入端应该是无输入,电平转换芯片到MCU的输出端应该也是高阻状态  详情 回复 发表于 2021-7-23 10:26
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    3#
     楼主| 发表于 2021-7-23 10:26 | 只看该作者
    startostar 发表于 2021-7-23 10:09# b1 n( ^% A/ C9 s" J
    2个信号同时输入到MCU,其中一个断开或高阻态才可以,最好的办法,这个MCU输入信号各自1根线
    ( w: c9 R  b7 @+ z: T
    由于MCU的资源有限,只能复用一组SPI,外设2未使用时,电平转换芯片的输入端应该是无输入,电平转换芯片到MCU的输出端应该也是高阻状态

    点评

    你上原理图吧,我觉得你的转换芯片控制高阻肯定不对  详情 回复 发表于 2021-7-23 11:05

    该用户从未签到

    4#
    发表于 2021-7-23 10:29 | 只看该作者
    “外设2的SPI设为高电平,外设2没工作”,你要先确认,当外设2处于未选中状态,他的SDO管脚是否为低电平。如果是低电平,那么你MCU的SDI管脚确实会被拉到低。因为你用的电平转换芯片是带缓冲功能的,输出能力很强哦。建议你看下外设2的规格书,看看他未被选中时,芯片的输出是什么形式的,如果只是下拉输出,那么你可以外置一个上拉电阻使得其默认电平是高电平。

    点评

    外设2是AD7927,试过将AD7927端的SDI上拉,结果MCU和外设1进行SPI通讯时,SDI就一直是高电平,感觉是电平转换芯片的输入是高,输出就会强拉为高电平,电平转换没有输入时, 输出就会强拉为低电平,导致互联的SDI无法  详情 回复 发表于 2021-7-23 14:23
  • TA的每日心情
    开心
    2021-2-25 15:13
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    5#
    发表于 2021-7-23 11:05 | 只看该作者
    tfjiangqi 发表于 2021-7-23 10:26
    $ V9 K# j2 A0 L5 E5 a由于MCU的资源有限,只能复用一组SPI,外设2未使用时,电平转换芯片的输入端应该是无输入,电平转换芯片 ...
    % e' X1 Y+ s( B2 _8 S, j* T/ N3 L
    你上原理图吧,我觉得你的转换芯片控制高阻肯定不对, A* S* S5 O; K+ x
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    6#
     楼主| 发表于 2021-7-23 14:23 | 只看该作者
    xidian123 发表于 2021-7-23 10:29
    : A% Q+ o; Y' G9 l3 D“外设2的SPI设为高电平,外设2没工作”,你要先确认,当外设2处于未选中状态,他的SDO管脚是否为低电平。 ...
    ( q/ E" T( B2 ]6 }. L9 b4 ]# O9 L
    外设2是AD7927,试过将AD7927端的SDI上拉,结果MCU和外设1进行SPI通讯时,SDI就一直是高电平,感觉是电平转换芯片的输入是高,输出就会强拉为高电平,电平转换没有输入时, 输出就会强拉为低电平,导致互联的SDI无法通讯

    点评

    你们这是拍脑袋上芯片? SPI 的 MISO。一般空闲都是低电平吧。 你这能想通吧? 你中间加一个74LVC2T45。 74LVC2T45 一看这输入为低电平,那我输出必须为低。 如果74LVC2T45输出低是高阻,那就不会对你总线造成影  详情 回复 发表于 2021-7-23 14:44

    该用户从未签到

    8#
    发表于 2021-7-23 15:11 | 只看该作者
    2T45输出为高阻态不是由输入决定的,而是OE信号决定的。
  • TA的每日心情
    奋斗
    2020-3-27 15:01
  • 签到天数: 1 天

    [LV.1]初来乍到

    9#
    发表于 2021-7-23 15:17 | 只看该作者
    74LVC2T45DC是2 bit电平转换,那么考虑到传输方向,你的SPI电平转换需要3个74LVC2T45DC,MISO用一个电平转换芯片(DIR配置成从外设2到MCU),CSn、CLK、MOSI用两个(DIR配置成从MCU到外设2)。当你想用MCU与外设1通讯时,需要把MISO的这个电平转换芯片的DIR配置成从MCU到外设2。手册里明确了,只有VCCA或VCCB为GND时,才是高阻

    点评

    现在是用了3个74LV2T45,MISO单独用了一个,DIR固定接低电平,方向没错, 现在不太清楚当74LV2T45没有输入时,输出状态是什么?手册里也没看到说明  详情 回复 发表于 2021-7-23 16:04
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    10#
     楼主| 发表于 2021-7-23 15:58 | 只看该作者
    myiccdream 发表于 2021-7-23 14:44! J; j3 c& k9 ?
    你们这是拍脑袋上芯片?
    2 T" B1 [! d, P! `) b, kSPI 的 MISO。一般空闲都是低电平吧。 你这能想通吧?
    ' I2 L- \3 x0 J9 o  m) P你中间加一个74LVC2T45 ...

    - w7 t1 t4 V7 U  ?% g0 v* F& ~主要是两端的电平不匹配,所以才用这个芯片,而且之前看芯片手册里没有说这个输出是推挽输出的4 A! b$ \" A& e- d- [

    点评

    所以说你们拍脑袋, 你们这用法,应该先使用4052 或者 SPI Swtich芯片,把出来的信号一切二,然后做电平转化。这样就没问题聊  详情 回复 发表于 2021-7-23 16:05
  • TA的每日心情
    开心
    2021-9-18 15:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    11#
     楼主| 发表于 2021-7-23 16:04 | 只看该作者
    momokoko 发表于 2021-7-23 15:17, p8 U3 @% e, ~. b2 r5 C# f1 x
    74LVC2T45DC是2 bit电平转换,那么考虑到传输方向,你的SPI电平转换需要3个74LVC2T45DC,MISO用一个电平转 ...
    " ]% f. s* d6 D7 C) q
    现在是用了3个74LV2T45,MISO单独用了一个,DIR固定接低电平,方向没错, 现在不太清楚当74LV2T45没有输入时,输出状态是什么?手册里也没看到说明
    3 J1 \# n2 m3 {/ {' f/ u- `

    该用户从未签到

    14#
    发表于 2021-7-23 17:32 | 只看该作者
    上个原理图哦,让大家看看

    该用户从未签到

    15#
    发表于 2021-7-23 21:42 | 只看该作者
    tfjiangqi 发表于 2021-7-23 17:29- ]: f5 j( m! {6 ?6 Y- ]. e
    这不是拍脑袋,我这项目选型受很多限制,需要尽量用公司库的元器件,MCU的GPIO资源也没有富余,之所以DIR ...

    7 Z0 y3 R, p: u, |. b! ?) ~7 ^, T电平转换芯片的dir方向管脚,你可以用外设2的片选信号来控啊。。当外设2没被使能的时候,让电平转换芯片的方向变一下,外设2的端口电平就不会影响到你的MCU端口了。  j! I9 c$ T, n1 X: V6 V: x
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-18 07:23 , Processed in 0.140625 second(s), 38 queries , Gzip On.

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

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

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