嵌入式开发之hi3519---i2c MDIO PHY uboot phy调试总结
首先调试检查硬件,再调试软件
首先仔细阅读phy和主芯片datesheet ,尤其着重阅读mii寄存器,它是mac和phy交换信息的媒介。
硬件注意:关于phy的芯片需要注意的有几点:1、mdio接口和rgmii或者mii接口是否正确。2、电源是否稳定,晶振是否起振并且频率匹配。3、phy地址的配置是否正确,不能是0地址,因为0地址默认是所以芯片的地址。4、phy芯片输出时钟是否正确。4、phy和主芯片rgmii接口电平是否匹配。5、phy间的线序是否正确以及线路是否完好。6、mac和phy间的数据速率是否匹配即都是千兆百兆或10兆。
关于主芯片mac部分接口注意:1、rgmii或者mii以及mdio接口是否正确。2、mdio时序是否正确。3、rgmii时钟是否正确。
需要了解自协商过程以及mac->phy->phy->mac中间的连接,如果有一个断了就不能正确通信,因此首先得确保每段连接的接口物理和时序是正确的:对于phy间就是自协商成功,对于mac和phy间就是rgmii的时序正确即确保都是相同的数据速率(千兆百兆或10兆)。
mii寄存器解读:Status Register 0x01以及Extended Status Register 0x0F是用来显示phy自身能力以及当前状态的寄存器,因此有些值是默认的不能修改的,Link Partner Ability Register 0x05是用来显示连接伙伴能力的寄存器,而最终的协商结果是在Control Register 0x00的6、13 SPEED SELECTION和8 DUPLEX MODE位中的,因此程序中读取phy连接速度时应该读取该寄存器的值,而不是自身能力寄存器的值。海思的uboot中就出现了该错误。
注意mdio接口是主从接口可以一拖多,所以地址尤为重要,00地址是广播地址,不能使用该地址,uboot mii命令的使用,其可以驱动mdio接口,可以用此来调试phy芯片寄存器!!关于其应用可以在common/cmd_mii.c 文件结尾出看到,或者此博文中http://www.cnblogs.com/pengdonglin137/p/3682637.html
关于RGMII时序问题,rgmii的发送和接收时钟一直是125Mhz,不过在100M和10M模式时,数据的采样频率会延迟一些时钟,因此在mac端的数据要保持一些时钟,否则时序会出错!!
关于phy芯片的配置,正常情况下phy寄存器因为是mii标准寄存器,所以用原厂自带uboot配置就可以,除非自己调试phy芯片自带的功能,才配置其特殊功能寄存器,比如回环测试等。
在调试ar8031时可以通过loopback来测试环路是否通,有本地回环测试和远端回环测试,这样分别检查本地和远端回路是否联通,这样很容易发现哪边不通,具体看ar8031手册2.5.2,来通过mii配置寄存器。100M loopback: register 0x0 = 0xA100是错误的应该是6100。
本地回环测试就是ping自己的ip地址,这样数据就会接收回来。
远端回环测试
软件方面注意:需要分两部分来调试:1、phy芯片mii标准寄存器的配置以及phy工作原理,以及主芯片mac部分的寄存器配置和时钟配置是否正确,phy接口配置正确,mdio部分配置是否正确。
2、详细了解uboot下mac和phy驱动架构。3、在uboot代码中跟踪调试。
下面介绍uboot-2010.06中hi3531的mac phy驱动架构以及工作流程。
未完待续。。。。
http://blog.csdn.net/xiaoaid01/article/details/51104837
嵌入式开发之hi3519---i2c MDIO PHY uboot phy调试总结的更多相关文章
- 嵌入式开发之zynq---Zynq PS侧I2C驱动架构
http://blog.chinaunix.net/uid-24148050-id-120532.html http://bbs.csdn.net/topics/390538368?page=1 ht ...
- 嵌入式开发之NorFlash 和NandFlash
http://blog.csdn.net/tigerjibo/article/details/9322035 [摘要]:作为一个嵌入式工程师,要对NorFlash 和NandFlash要有最起码的认知 ...
- 嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102
1.1 xilinx zynqMp 架构 1.1.1 16nm 级别工艺 Zynq UltraScale+ MPSoC架构 Xilinx新一代Zynq针对控制.图像和网络应用推出了差异化的产品系,这 ...
- 嵌入式开发之hi3519---spi nor flash启动
author:pkf qq:1327706646 1.官方hi3519默认是硬件3byte 地址模式,配置完ddr始终后,sdkv100.020是可以支持正常启动,用到低位16Mflash内存 2.如 ...
- 嵌入式开发之zynq——赛灵思的一款两a9加一fpga芯片的开发板
没办法,回家入职新公司,做通信的,用到这款zynq加ad9163射频架构的开发版,要我做驱动,这可是初次接触zynq,带fpga的集成芯片,心里还是有点惊喜和忧愁,忧愁怎么最快啃下这个硬骨头,好吧上网 ...
- Jetty 开发指南: 嵌入式开发之HelloWorld
Jetty 嵌入式之 HelloWorld 本节提供一个教程,演示如何快速开发针对Jetty API的嵌入式代码. 1. 下载 Jar 包 Jetty被分解为许多jar和依赖项,通过选择最小的jar集 ...
- 嵌入式开发之hi3519---GPIO 驱动
在一个嵌入式系统中使用最多的莫过于 通用输入输出 GPIO口.看到论坛中经常有朋友问海思为什么没有提供GPIO驱动.其实不然. 在海思SDK xxx/osdrv/tools/board_tools/ ...
- 嵌入式开发之uart---rs232 和rs485 和rj45和usb简介
(1) profilebus和can(control控制器局域网)和hub(集线器) (uart)通用异步传输 rs232: ibm 提出的,两根线,按位bit传输,是端到端的单信号电平模式,理论上有 ...
- 嵌入式开发之makefile---交叉编译静态库和动态库的生成和调用
c和cpp 混合的动态库生成: $(LIBSO): $(COBJS) $(CPPOBJS) $(CPP) -shared -o $@ $^ $(LIBS) ////////////////////// ...
随机推荐
- CF643E. Bear and Destroying Subtrees 期望dp
题目链接 CF643E. Bear and Destroying Subtrees 题解 dp[i][j]表示以i为根的子树中,树高小于等于j的概率 转移就是dp[i][j] = 0.5 + 0.5 ...
- DNS解析全过程分析
DNS解析过程 1.检查浏览器缓存中是否缓存过该域名对应的IP地址 用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址, 当用户再次访问的时候,浏览器就会从缓存中查找该域名对应 ...
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)(转)
用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编 ...
- delphi StringGrid 表格的复制粘贴
//参考如下代码--uses Clipbrd; function StringGridSelectText(mStringGrid: TStringGrid): string;var I, J: I ...
- ArcGIS Pro 中不可用的工具
有些可用于 ArcMap 之类的其他 ArcGIS Desktop 应用程序的地理处理工具在 ArcGIS Pro 中不可用.用于处理 ArcGIS Pro 所不支持的数据格式的地理处理工具已被移除, ...
- 如何使用Cassandra来存储time-series类型的数据
Cassandra非常适合存储时序类型的数据,本文我们将使用一个气象站的例子,该气象站每分钟需要存储一条温度数据. 一.方案1,每个设备占用一行 这个方案的思路就是给每个数据源创建一行 ...
- [Canvas]炸弹人初成版
试玩请点此下载代码,并使用浏览器打开index.html. 用方向键操作小人,空格键放炸弹,把敌人消灭算赢,被炸弹炸中或是碰到敌人算输. 图例: 源码: <!DOCTYPE html> & ...
- WPF下载文件并且动态显示进度
前台新建一个控件ProgressBar控件,并命名为pbDown WebRequest request = WebRequest.Create("http://file ...
- grid - 通过网格线号码来定位网格项目
网格线实际上是代表线的开始.结束. 两者之间就是网格列或行. 以下css仅对子元素生效 ,具体详情可以看后面示例 grid-row-start: 2; grid-row-end: 3; grid-co ...
- awesomes前端资源库网站
https://www.awesomes.cn http://www.cnblogs.com/jiujiaoyangkang/p/4998518.html (web app自适应框架flexible) ...