使用STM32+W5500方案是一种比较节省CPU开支的方案,无需多余的CPU资源管理Lwip协议。

调试的时候很多情况下无法通信,现结合笔者近10年的调试经验(每次用W5500做板子,不会说是一帆风顺的- -),总结一下经常出现的问题:

一、硬件问题

晶振一般情况不会出现不起振的情况,25MHz无源晶体+18pF电容,无需1M电阻。如果怀疑,那就示波器测测;

看有没有电容电阻焊错的,特别是,把电容错焊为电阻,这样的话电路的表现就是耗电异常;

W5500到带变压器的RJ45之间距离不长的话,10公分以内吧,特别短的话,无需进行阻抗匹配或等长设置,只需要普通的差分布线即可。

二、软件问题

软件问题有的是硬件造成的,有的是软件造成的。

2.1 硬件造成的有:

SPI线过长(过长就是大概超过5-10cm),导致SPI无法支持过高的通信速率,这时候降低SPI主频即可;SPI线过长还会出现一种情况:引脚速度太高。一般把SPI或者其他通信引脚的速率设置为50MHz即可,有时候设置为100MHz会出问题。

2.2 软件造成的问题有:

1、引脚模式定义错误,输入输出模式定义好,另外中断引脚的模式以及使用的外部中断线是否对应上。如果有问题,会无法进入中断。

2、保持头脑清晰,有些代码在UDP模式下不会执行:

3、调试的上位机的防火墙要关闭,主要是公共网和专用网,域网络不用关闭。

4、MDK软件的调试设置,勾选上 Reset and Run,否则下载后不能立即执行,会影响纠错的思路。

5、使用TMS320F2812的时候,无法使用自带的SPI接口进行通信,因为W5500和DSP的SPI通信机制永远都不合拍,自己乖乖写模拟SPI接口吧。其他型号的DSP可以使用,因为其SPI通信时加入了6次采样,可以弥补DSP的SPI的通信机制缺陷(为啥叫缺陷呢,他自己觉得自己很牛,不与其他家的SPI通信机制兼容)。

【补充说明】

有朋友问2812与W5500为什么不兼容,我简单说一下, 这是和时钟极性CPOL和时钟相位CPHA有关。尽管说跟这两个有关,实际上最关键的还不是这个,我先解释CPOL和CPHA,CPOL规定了时钟线在空闲时间是高还是低电平,CPHA规定了是在上升沿采样还是在下降沿采样。这是目前来说最为广泛使用的设置,这里面隐藏了一个属性,就是数据的发送和接收是同时进行还是异步进行的,W5500采用的是同步进行,也就是说,在上升沿或者在下降沿时,对发送和接收数据进行采样,那么数据的电平翻转是在这个同步信号的前一个相位发生的。但是基本上所有的TI DSP都是异步的,你说恶心不恶心?它发送采样是在上升沿,那接收采样就在下降沿,总是跟你对着干,就是不同步,这造成了什么呢?造成了你在读数或者发送的时候,总有一个是出于数据翻转的状态,而不是稳态。从2812以后,TI发现自己恶心了,就自己给自己架了个台阶,勉强算是兼容(屈服)了,是什么呢,就是增加了采样次数,我忘记是16次采样还是8次采样了,这样的话,即使有一次采样时数据是在翻转,那剩下的15次或者7次数据都是稳定的,这样就排除了这个不稳定的状态时的数据。这样就蒙混过关了!!??

STM32/TMS320F2812+W5500硬软件调试总结相关推荐

  1. STM32 USART串口发送软件调试

    直接上代码了了 都有注释 ;

  2. 基于stm32的两轮自平衡小车4(软件调试篇)

    本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录.这里先上效果:转B站 目录 定时器PWM驱动程序 定时器编码器模式驱动程 ...

  3. 单片机编程软件很简单(23),keil单片机编程软件调试stm32

    单片机编程软件的使用意义较强,不论是工作还是学习,单片机编程软件都是常被使用的软件之一.本文对于单片机编程软件的介绍将基于如何采用keil单片机编程软件调试stm32,如果你对单片机编程软件抑或本文内 ...

  4. 基于stm32之w5500以太网应用

    基于stm32之w5500以太网应用 强调一下前半段为基础知识普及(这段还是很重要的.不管用什么工具开发精通协议才是王道),后半段为实战代码干货. 如上图所示,最底下的一层叫做"物理层&qu ...

  5. 【嵌入式】嵌入式硬软件开发介绍(个人看法)

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.嵌入式的定义 二.嵌入式硬件开发 1.要求掌握的入门的能力 (1 ...

  6. keil 中调用printf 的使用 在软件调试下 serial windows 下显示打印信息

    致我的青春和一起在路上奔跑的兄弟.愿我们能在路上感到温暖和力量.... 在程序调试中,不断的打印出变量和一些中间值是相当重要的,在单片机和arm的调试程序中printf 也相当的有用: 目录 1.软件 ...

  7. LDD6410 开发板完全开发手册1——LDD6410硬软件特性

    1. LDD6410硬软件特性1.1 LDD6410的电路板组成和结构 LDD6410 是一款高端 ARM11 处理器开发板,采用三星公司最新推出 S3C6410 处理 器,芯片拥有强大的内部资源和视 ...

  8. 软件调试的艺术笔记:GDB

    很久之前,在https://blog.csdn.net/fengbingchun/article/details/41413381中简单整理过gdb中常用的一些命令,不齐全,这里按照<软件调试的 ...

  9. 图灵2011年6月书讯【误区】【软件调试修炼之道】即将上市

    - 误区:思维中常犯的6个基本错误 --本书通过许多生动玄妙的生活小事,深刻而犀利地揭示了6种思维陷阱,介绍了形成正确信念和作出科学决策应遵循的方法.通过作者引人入胜的叙事方式,层层深入的分析讲解,你 ...

最新文章

  1. 安装eclipse时一直跳转JRE Missing页面
  2. 元宇宙新地王2740万元刷爆纪录!虚拟炒房一周成交6.37亿
  3. IPC——线程信号问题
  4. api接口rsa加密
  5. xftp传输文件报错_Xshell+Xftp--Windows平台远程终端解决方案
  6. 分析 Go time.After 引起内存暴增 OOM 问题
  7. java 制作小游戏_如何用java制作小游戏
  8. 云原生时代老牌IDC巨头谋求转型,世纪互联成立新品牌“互联科技(NEOLINK)”
  9. Nginx 二级子域名完美方案
  10. C++ unsigned long 转化为 unsigned char*
  11. CDH页面中Oozie的调度告警邮箱设置
  12. rocketmq client端源码分析(2)-consumer实现
  13. 新周刊:放弃北上广的10个理由
  14. 软件测试的类型有那些?都有什么不同?
  15. 微信支付分(四)--取消支付分订单
  16. 用户画像无头绪?手把手教你RFM模型
  17. EXCEL 打印设置公共表头
  18. vue.js — 安装Webpake创建一个完整的项目并上传至码云
  19. windows 查看文件的md5值
  20. Android安装BusyBox(三星N7108)

热门文章

  1. C++ Primer Plus学习(四)—— string类实践
  2. 嵌入式linux系统移植的四大步骤_嵌入式 Linux 产品技术评估之系统裁剪与启动速度...
  3. python各个关键词的意思_想学好Python,你必须了解Python中的35个关键词
  4. 软件测试nextdata函数决策表,软件测试NextDate函数决策表测试法实验报告
  5. aws s3 獲取所有文件_Url从Amazon S3获取文件
  6. java线程池示例_Java线程连接示例
  7. c 函数 字符串 find_如何在C ++中使用字符串find()
  8. mongodb卸载_如何在Windows上安装MongoDB,启动,卸载
  9. java se面试题_Java SE 8面试问答(第2部分)
  10. vs2015web开发_2015年最佳10+ Web开发工具和服务