当前位置:网站首页>SPI传输出现数据与时钟不匹配延后问题分析与解决
SPI传输出现数据与时钟不匹配延后问题分析与解决
2022-07-25 14:59:00 【王二车】
硬件环境
4G模块:FIBOCOM_AL940,基于MDM9628 CordX-A7 1.3 GHz单核,RAM 70M ROM 150M,包含两组spi接口,只能做主设备,最大支持50M时钟速率;
MCU单片机:RH850/F1K,包含两组spi接口,支持主从模式;从模式最大支持5M时钟速率;
4G模块电源域1.8V,单片机3.3V电源域,中间使用TXS0104E和TXS0108E芯片转换电平;
4G模块做主模式,单片机做从设备,但由单片机发射数据到4G模块;
问题描述
在时钟速率2.4以下数据发送正常:0xaa 0x55

在3.2M以上就出现第二个字节数据与时钟不匹配,向后偏移了一个时钟bit位,最后一个bit高低位在时钟空闲时不会被改变:


通过直连数据线和时钟线,3.5M速率正常,但会大量丢失数据,单片机没有发送数据出来

时钟在4.8M时,时钟向后偏移一到三个随机的出现。
问题分析
1、怀疑电平转换芯片设置的模式不对导致最大数据速率问题,修改spi的4种模式无改善;

2、怀疑时钟和数据线的上下来电阻问题,修改尝试后无改善;
3、怀疑是4G模块数据采样导致的问题,断开数据线测量单片机端的数据管脚,无改善;
4、怀疑4G模块时钟芯片不标准导致,与IMX8的时钟进行对比,有细微差异,但波形符合手册要求;




5、单片机与IMX8连接是通信正常的,都是3.3V电平没有电平转换,通信的程序在4G模块通信就异常,单片机开发工程师表示程序一样没有改动,所以不是软件问题,结果只对比了spi代码,在对比单片机时钟代码发现了异常,倍频设置项有差异,4G模块默认使用EMCLK,IMX8使用PPLLOUT,这就导致了倍频的差异:

问题解决
单片机选择时钟源为PPLLOUT后,数据发送正常,5M速率下也正常,但后面测试还是有不同程度的丢包概率发生。
问题总结
涉及到硬件工程师,BSP工程师,单片机工程师,4G模块spi驱动开发工程师,单片机技术支持,最后发现是一个设置的问题,耗时几周才把这个简单的spi问题解决,确实汗颜啊。
边栏推荐
- Awk from getting started to digging in (21) awk script debugging
- Gonzalez Digital Image Processing Chapter 1 Introduction
- [C topic] Li Kou 206. reverse the linked list
- C#,C/S升级更新
- Gson and fastjson
- PHP implements non blocking (concurrent) request mode through native curl
- Implementation of redis distributed lock
- Ssh server rejected password
- [MySQL series] - how much do you know about the index
- L1 and L2 regularization
猜你喜欢

【MySQL必知必会】触发器 | 权限管理

32 chrome调试工具的使用

System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

27 classification of selectors

变分(Calculus of variations)的概念及运算规则

45padding won't open the box

The concept and operation rules of calculus of variations

bridge-nf-call-ip6tables is an unknown key异常处理

EDA chip design solution based on AMD epyc server

The solution to the problem that the progress bar of ros2 installation connext RMW is stuck at 13%
随机推荐
QT connect, signal, slot and lambda comparison
Gson and fastjson
Raft of distributed consistency protocol
[thread knowledge points] - spin lock
"Ask every day" how locksupport realizes thread waiting and wakeup
Deng Qinglin, a technical expert of Alibaba cloud: Best Practices for disaster recovery and remote multi activity across availability zones on cloud
BigDecimal rounds the data
Examples of bio, NiO, AIO
河源市区推出消防安全主题奶茶 助推夏季火灾防控
二维数组赋初值你会几种方法?
(原创)自定义一个滚屏的RecyclerView
微信公众号正式环境上线部署,第三方公众平台接入
【JS高级】js之正则相关函数以及正则对象_02
MySQL 45 talks about | 06 global locks and table locks: Why are there so many obstacles to adding a field to a table?
44 新浪导航 ,小米边栏 练习
Log4j2 basic configuration
sql to linq 之存储过程偏
MySQL sort
Syntax summary of easygui
给VS2010自动设置模板,加头注释