W5300是一款全硬件TCP/IP协议嵌入式以太网控制芯片,用于要求高速的嵌入式系统。

W5300的目标是在高性能的嵌入式领域,如多媒体数据流服务。与WIZnet现有的芯片方案相比较,

W5300在内存空间和数据处理能力等方面都有很大的提高。W5300特别适用于IPTV,IP机顶盒和数字电视等大流量多媒体数据的传输。通过一个集成有TCP/IP协议和10/100M的以太网MAC和PHY的单芯片可以非常简单和快捷地实现Internet连接。
W5300与主机(MCU)采用总线接口。通过直接访问方式或间接访问方式,W5300可以很容易与主机接口,就像访问SRAM存储器。W5300的通信数据可以通过每个端口的TX/RX FIFO寄存器访问。由于这些特性,即使一个初学者也很容易使用W5300实现Internet连接。
那么今天就介绍一下,如何测试W5300的内部TX/RX存储器。

内部TX/RX存储器

W5300内部集成128KB存储器用于通信。该存储器根据TMSR和RMSR的寄存器设置分成TX和RX存储器,并在每一个Socket端口又重新划分为对应端口的TX和RX存储器。

用户不能从主机直接访问内部TX/RX存储器,但是可以通过每个Socket端口的FIFO寄存器间接访问。并且通过使用Sn_TX_FIFOR和Sn_RX_FIFOR,可以间接访问TX和RX存储器。

在W5300正常工作时,TX存储器只允许通过Sn_TX_FIFOR进行主机写操作,RX存储器只允许通过Sn_RX_FIFOR进行主机读操作。为了检查主机是否将数据正确地写入TX存储器,主机是否正确地从RX存储器读出数据,W5300需要工作在存储器测试模式。

发送(TX)存储器具有内部访问指针。无论何时主机写Sn_TX_FIFOR,内部访问指针都会自Sn_TX_FIFOR存入SOCKET n的TX缓存后,以2byte的偏移量从基址增加到TX缓存的终点。

访问指针自基址向TX内存的终点增加,为了防止主机持续的写入Sn_TX_FIFOR,当Sn_TX_FIFOR写满指定大小寄存器,访问指针会从终点返回基址起始位置。一般来说,访问指针的自动增加和回滚功能防止了Sn_TX_FIFOR的Host-Write。然而,如果MR寄存器的MT位设置为‘1’,此功能甚至能够避免Sn_TX_FIFOR的Host-Read. 因此,此功能可以验证发送(TX)内存的Host-Write操作。

Sn_RX_FIFOR & RX 存储器

接收(RX)存储器也具有内部访问指针。无论何时主机读Sn_RX_FIFOR,内部访问指针都会自Sn_RX_FIFOR存入SOCKET n的RX缓存后,以2byte的偏移量从基址增加到RX缓存的终点。

当主机持续地从访问指针读取Sn_RX_FIFOR到终点时,访问指针又回到基点。当Sn_RX_FIFOR读取的数据与分配的存储器大小相同时,访问存储器就会回到起点。通常,访问指针增加和回滚功能只是避免Sn_RX_FIFOR的Host-Read。可是,如果MR的‘MT’位被设置为‘1’,那么这个功能甚至能够避免Sn_RX_FIFOR的Host-Write。使用该功能可以验证发送(RX)存储器的Host-Read操作。

如何测试 SOCKET 存储器

测试步骤如下:

  • W5300初始化
  • SOCKET存储器分配
  • 设置MR的MT位
  • 打开SOCKET n
  • SOCKET n存储器测试
  • 关闭SOCKET n
  • 复位MR的MT位

例1) SOCKET 1 TX 存储器测试 16位数据总线宽度 & 直接地址模式。

例2) SOCKET 1 RX存储器测试 8 位数据总线宽度 & 直接地址模式

例3) SOCKET 1 TX 存储器测试 16位数据总线宽度 & 间接地址模式。

例4) SOCKET 1 RX 存储器测试 8位数据总线宽度 & 间接地址模式。

(样例程序见:http://blog.iwiznet.cn/?p=5264)

故障排除指南

当内部存储器测试不能正常进行时,检查如下内容。

  • 检查VCC3V3, VCC3A3, VCC1V8, VCC1A8电源
  • 检查25MHz工作时钟
  • 检查/RESET信号(应该最少保持2us低电平)
  • 检查在访问W5300时,/CS、 /RD、 /WR信号是否正确地置低。
  • 检查IDR
  • 检查寄存器的读/写操作,例如SHAR, GAR, SUBR, SIPR
  • 检查MR寄存器的值(DBW, MT, IND bit )
  • 检查每个Socket所有的TMSR和RMSR大小的总和应该为128
  • 检查每个Socket的TMSR寄存器大小应该为8的倍数
  • 检查每个Socket的RMSR寄存器的大小应该为8的倍数
  • 检查MTYPER的设定值

在完成了上述检查之后,如果你仍然不能进行存储器测试,按照如下格式转储W5300的所有寄存器,并发至wiznethk@wiznettechnology.com

感谢关注!

如何测试W5300的内部TX/RX存储器?相关推荐

  1. 功率放大芯片采用RFX2411 分集开关的2.4 GHz TX / RX增强器

    描述 RFX2411 具有分集开关的2.4 GHz TX / RX增强器,用于IoT / BLE / ZigBee RFX2411N是一款完全集成的单芯片单芯片RFeIC(RF前端集成电路)包含所有无 ...

  2. powermock模拟对象_使用PowerMock测试对象的内部状态

    powermock模拟对象 大多数单元测试都集中于测试对象的行为以证明其有效. 这可以通过编写一个JUnit测试来实现,该测试调用对象的公共方法,然后测试这些调用的返回值是否与先前定义的一组期望值匹配 ...

  3. 使用PowerMock测试对象的内部状态

    大多数单元测试都集中于测试对象的行为以证明其有效. 这可以通过编写一个JUnit测试来实现,该测试调用对象的公共方法,然后测试这些调用的返回值是否与先前定义的一组期望值匹配. 这是一种非常常见且成功的 ...

  4. 【Google Play】创建和管理内部测试版本 ( 创建内部测试版本 | 检查并发布内部测试版本 )

    Google Play 上架完整流程 系列文章目录 [Google Play]创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 ) [Google Play]创建并设置应用 ( 访 ...

  5. orangepi——uart串口开发(TX,RX)

    基于wiringPi的串口开发 1.简介 串口是嵌入式常用的一种通信方式,串口协议涉及到波特率.奇偶校验位.数据位.停止位等.如何配置寄存器. 串行接口的简称,按照一位一位的顺序传输. wiringP ...

  6. MCU的CAN TX RX无数据问题

    MCU的CAN TX RX无数据问题 /*superyangMCU-qq群:450803186*/ MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是 ...

  7. 嵌入式软件稳定性测试,嵌入式软件测试报告(内部).doc

    嵌入式软件测试报告(内部) 软件(内部)测试报告 XXX系统 测试分析报告评审 V1.0 编 写 人: 编写日期: 审 核 人: 审核日期: 修 订 页 修订章节修订内容简述版本号修订日期修订人目录 ...

  8. 无线路由器wifi TX/RX率和实际吞吐量的区别

    无意中发现无线路由器中 wifi  TX/RX率都超过100M bit/s,但是电脑实际上10M bit/s都没有.网上查到两个解释: "The TX/RX rate is the rate ...

  9. MCU的CAN TX RX无数据问题 MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是3V,这个电压不是外部供进去的,这是由于MCU和RX TX平时

    MCU的CAN TX RX无数据问题 MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是3V,这个电压不是外部供进去的,这是由于MCU和RX TX平时 ...

最新文章

  1. 计算机科学速成课】[40集全/精校] - Crash Course Computer Science
  2. Java 服务端推送消息有那么难吗?
  3. win10共享打印机怎么设置_小编为你叙述 win10系统网络共享理光打印机的设置方法的技巧介绍 -win10使用教程...
  4. huggingface实操_Transformers 简介(上)
  5. 都是虚拟串口软件惹的祸
  6. nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂
  7. 浅谈webpack打包原理
  8. 名字英文name域名_企业建站必读:六大方法锁定最佳企业域名
  9. 枚举、宏定义enum /defint/typedef
  10. ATK - Accessibility Toolkit - 辅助功能工具包
  11. 计算机教师继续教育心得,教师继续教育培训个人心得体会
  12. 彩虹易支付源码v8.1.1-支持多通道轮训/API退款/实名认证/完善手动提现t0t1
  13. 2022MathorCup-D题思路
  14. python动态心形代码-python心形代码
  15. 2017计算机组装视频,【2017年整理】计算机组装维修教程11.ppt
  16. 美图android手机刷机教程,美图手机如何刷机
  17. 用“掩码位图“,制作类似.png的“透明图片“①
  18. 巧学活用html4,新人教英语巧学活用必修一.docx
  19. 一个人工作之余6元上线一款APP的血泪史
  20. 双控专业就业机器人_东北大学自动化双控考研专业就业方向

热门文章

  1. 在Windows下编译OpenSSL(VS2005)【转】
  2. 调用servlet java_请问调用servlet并从JavaScript调用Java代码以及参数
  3. php 用户中心 框架,OpenCenter —— PHP 通用用户中心框架【国人开发,代码托管在 Git@OSC】...
  4. 数据库 memorial
  5. websocket python unity_Unity 连接WebSocket(ws://)服务器
  6. decimal转换为int_FPGA基础知识极简教程(10)二进制到BCD转换算法
  7. python测试开发django-173.bootstrap实现table表格行内编辑
  8. nohup java 运行main_在linux下利用nohup来后台运行java程序
  9. 张家口zec挖矿软件哪里下载_电脑小白去哪里下载正规软件?
  10. python 封闭图形面积_python实现计算图形面积