STM32/TMS320F2812+W5500硬软件调试总结

news/2024/11/25 1:59:33/

使用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次数据都是稳定的,这样就排除了这个不稳定的状态时的数据。这样就蒙混过关了!!??


http://www.ppmy.cn/news/287003.html

相关文章

基于STM32F407+W5500的freemodbus tcp移植与实现

环境:STM32CUBEMX6.6.1 MDK532 freemodbus1.6 首先是创建能驱动W5500的工程 主要用到硬件为SPI UART SPI速度建议不要太快,SPI1可以设置到40M,但是没必要这么快。 导出工程 添加fputc重定义 找到W5500官方例子 参考例程WIZnet W5500/W…

Stm32F407与W5500用DMA通信

详见 https://javakys.wordpress.com/2014/09/04/upgrade-w5500-throughput-on-nucleo-stm32f401re-using-spi-dma/

基于stm32f407下的W5500网卡驱动(上)

前段时间布置的任务是弄w5500的驱动,w5500本身硬件就具有tcp/ip协议,这样就省去了再把tcp协议栈移植到Uclinux的麻烦,而且我的存储空间一直是不够用的,所以选择w5500作为一个网卡来使用是再合适不过。 仔细看了一遍w5500的说明pdf…

W5500寄存器描述

4 寄存器描述 4.1 通用寄存器 MR (模式寄存器 - Mode Register) [R/W] [0x0000] [0x00]2 2 注脚符号 : 【可读/写】【内存地址】【默认值】 - [Read/Write] [Address] [Reset value] 该寄存器用于 S/W 复位,ping block模式和PPPoE模式。 表格 6 通用寄存器描述…

生信宝典文章集锦,一站式学习生信!众多干货,有趣有料

生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题。但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程序。也…

送书 | 知乎阅读300w+的生信学习指南(更新版)

先送书 在上周的留言送书活动中,恭喜下面这位读者获得书籍“Oracle高性能系统架构实战大全”,请及时与生信宝典编辑(shengxinbaodian)联系。 2020过去三分之一了,您年初定的小目标完成多少了呢?您又发生了哪…

生信宝典教程大放送,一站式学习生信技术

生物信息学包含生物数据分析、数据可视化、重复工作程序化,是生物、医学科研必备的技能之一。生信宝典精心组织生信学习系列教程、生信工具精品教程,通过大量的生信例子、关键的注释、浓缩的语句和录制的视频帮助快速掌握生信知识。 征稿:诚邀…

送你一个目录,一站式学习生信!众多干货,有趣有料!

生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题。但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程序。也…