TI的电压转换芯片TXS0108E在MDIO总线上的运用
现在在做的板子处理单元使用的是英伟达的xavier模组,利用nxp的SJA1105Q芯片做switch拓展网络,使用的phy是KSZ9031芯片。前期做设计时考虑较少,希望将网络部分独立出来。所以就单独给网络部分供电使用了VDD_ETH_3.3\1.8V\1.2V。因为sja1105每个rgmii接口的供电都是3.3v、1.8v选配的,xavier模组的电压是1.8v的,ksz9031选择了3.3v。这中间就出现了一个问题,ksz9031的SMI总线需要挂在xavier上,但是电压不匹配。我们选择了TXS0108E 这颗料做电平的转换。但是xavier在通过MDIO读PHY的寄存器的时候总是0xffffffff这种,没有任何信息。
TXS0108在phy端MDIO上上拉4.7k,其他不做处理。我测试了txs0108的输入输出,波形很正常。
MDIO在TXS0108输入输出波形对比:
MDC在TXS0108输入输出波形对比:
连TI的fae都不知道问题在哪里!
我们尝试过直接将phy修改VDD_IO为1.8V供电,跳过电压转换芯片,可以接收到PHY的返回值是0x221622h。
对比了正常读到数据的示波器波形和异常的波形如下:
正常读值波形:
异常读值的波形。
后来查阅了SMI总线的协议,如下。
MDC\MDIO时序图:
总结是在turnaround位之前是MAC端输出单向的,MDC是单向的数据,这些都可以正常输出。但是在turnaround的时,如果是读的话,需要mac是高阻状态,因为txs0108e芯片内部有上拉,对phy来讲,几遍mac高阻了,phy也无法得到对应的电流感应值。phy有两种方式来确定mac端是否为高阻状态,第一种是因为phy规格书建议MDIO上拉电阻是1k到4.7k,电压支持1.8v,2.5v,3.3v。可以直接取最大值和最小值中间所有的电流值认为是高祖。另一种是上电初始化的时候读一下电流。经过试验,很明显是后一种。
因为我们电压转换芯片A端电压使用的是板子的电VDD_1V8;B端使用的网络的VDD_ETH_3.3v。网络的电是长电,所以phy在初始化的时候读电流时,txs0108e输出时高祖的,但是在mac读phy状态中间,mac高祖时,phy读电流的时候是将电压转换芯片本身内部上拉部分的电流都考虑进去了。这个偏差导致phy没有办法转换成驱动端。将网络修改为VDD_3.3V供电这个问题就解决了。

中间还做过其他的试验,过程很漫长。。。。结果很美好啊~

TI的电压转换芯片TXS0108E在MDIO总线上的运用相关推荐

  1. 以太网扫盲(一)各种网络总线 mii总线,mdio总线介绍

    本文主要介绍以太网的MAC(Media Access Control,即媒体访问控制子层协议)和PHY(物理层)之间的MII(Media Independent Interface ,媒体独立接口), ...

  2. linux网络设备—mdio总线

    一.结构体 struct mii_bus {const char *name; //总线名char id[MII_BUS_ID_SIZE]; //idvoid *priv; //私有数据int (*r ...

  3. MDIO总线+88E1111调试笔记

    在U_boot下调试以太网的mdio总线 我这里调试的案例是通过的复旦微的FMQL45T900+88E1111来调试的,最开始我是直接参考复旦微的官方手册 (坑有点多,需要自己多做两次才能避开)直接使 ...

  4. 调试LM1117电压转换芯片

    LM1117(不是LM117)电源芯片是低压差线性稳压器,简称LDO(low dropout regulator),是一种非隔离(输入输出电压的地是一个地)的电压转换芯片.因此,在使用的时候,尽量让输 ...

  5. 总线上加三个终端电阻可以吗_汽车维修中CAN总线的常规检修方法!

    当CAN总线出现故障或数据传输异常时,往往会出现多种奇怪的故障现象,如仪表板显示异常,车辆无法启动,启动后无法熄灭,车辆动力性能下降,某些电控系统功能失等.这是因为相关数据或信息是通过CAN总线传输的 ...

  6. STM32中I2C总线上数据的读、写。

    /*** @brief 从I2C1总线上的某一器件的某一起始地址中读取一定字节的数据到数组中* @param driver_Addr:I2C器件地址* @param start_Addr:起始字节地址 ...

  7. STM32外设有哪些?外设在总线上是怎么挂载的?

    一:STM32外设有哪些? 外设在STM32库文件的下面路径下:(STM32库:stm32f10x_stdperiph_lib) stm32f10x_stdperiph_lib\STM32F10x_S ...

  8. 总线上加三个终端电阻可以吗_什么是RS485总线?怎么使用RS485总线?

    一.什么是RS485总线? 工业现场经常要采集多点数据,模拟信号或开关信号,一般用到RS485总线,RS-485采用半双工工作方式,支持多点数据通信.RS-485总线网络拓扑一般采用终端匹配的总线型结 ...

  9. IIC总线上挂载多个从机的程序实现

    文章目录 IIC总线上挂载多个从机的程序实现 IIC简介: 1.项目的硬件参考电路: 2.程序实现: 2.1.程序框架设计: 2.2 IIC 总线接口程序实现: 2.3 加速度传感器的配置: 2.4 ...

最新文章

  1. MySQL主从复制故障案例一
  2. sublime text2 用ctags插件实现方法定位(转)
  3. Basic的Json与Xml
  4. No module named 'Tkinter'
  5. 怎么让员工服从管理_职场 | 在职场中,遇到不服从管理的员工,该怎么办呢?...
  6. 漫步数学分析九——级数
  7. JavaEE中使用绝对目录的说明
  8. 当罗密欧遇到朱丽叶... ...当指针遇到数组
  9. java 并发之volatile
  10. 行车环境实时语义分割与深度估计
  11. bzoj千题计划164:bzoj5123: 线段树的匹配
  12. cad打开a3样板图形_cad开始怎样设置A3纸?
  13. 【转载】Android 中东阿拉伯语适配,看这一篇够了。
  14. php微信客服,微信客服管理 - 微信公众平台开发者文档 - php中文网手册
  15. 自动关闭QQ迷你首页的小程序(加上自己的一些理解)
  16. ubuntu20.04截图快捷键
  17. 厦门理工嵌入式开发LPC1768开发板教程
  18. 【ha知识两问】ha软件是什么?ha软件用途有哪些?
  19. ZOJ 3587 Marlon#39;s String 扩展KMP
  20. 从mpeg ts文件中提取I帧(3):pes包的解析

热门文章

  1. stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
  2. Scrum中文网解析敏捷实践编年史
  3. Github每日精选(第23期):macOS下的开源清理工具lemon-cleaner
  4. Siri算数字人吗?清华人大教授、初创公司CTO、 产业专家与快手工程师一起说|CCF C³...
  5. linux 占用内存 脚本,如何利用Bash脚本监控Linux的内存使用情况
  6. ESP8266-Arduino编程实例-BME680环境传感器驱动
  7. 1.Python教程--基础篇(全)
  8. 【Python问题】解决python的pandas使用to_excel()函数出现问题
  9. 「收藏」人工智能中常见机器学习算法优缺点有哪些?
  10. 你一定需要一款功能强大的图像批量处理软件