嵌入式接口汇总

1.总述

接口名称SPII2CUARTCANUSBDVPMIPI
引脚

MOSI

MISO

CLK

CS

GND

SDA

CLK

RX

TX

GND

CAN_H

CAN_L

VCC

D+

D-

GND

DATA_1~DATA8

HSYNC

VSYNC

CLK

GND

R(T)XCP

R(T)XCN

R(T)XD0P

R(T)XD0N

R(T)XD1P

R(T)XD0P

同步方式CLK同步CLK同步波特率同步波特率同步有帧同步包 一般是1msCLK同步差分clk同步
用途同步双工,一主对多从同步单工,一主对多从异步双工,单设备多设备单设备单设备单设备
速度<100Mbps<1Mbps<3Mbps

1Mbps,

500k,250k,125k

480,12,1.5<100Mbps<600Mbps

2.SPI

2.1 4种模式:

模式0:空闲为低电平,上升沿开始采样,最常用的模式。

模式1:空闲为低电平,下降沿开始采样。

模式2:空闲为高电平,上升沿开始采样。

模式3:空闲为高电平,下降沿开始采样。

2.2 问题处理方法:

当SPI出现异常时,常用的查找问题方式包括以下几种:

  1. 检查硬件连接。

  2. 检查时钟和数据线状态:通过示波器或逻辑分析仪等工具检查时钟和数据线的状态是否符合SPI协议中定义的模式。

  3. 检查主从设备配置:确保主设备和从设备的SPI配置正确,包括时钟速率、数据位宽等参数是否一致。

  4. 检查电源和地连接:确保主从设备之间的电源和地连接正常,避免因电源供应问题导致通信异常。

  5. 查看SPI协议栈和驱动程序:检查SPI协议栈或驱动程序是否正确配置和使用。可能需要检查相关的软件代码,包括初始化、数据传输和错误处理等部分。

  6. 考虑环境因素:某些环境因素,如电磁干扰、信号衰减等,可能影响SPI通信的稳定性。在高干扰环境中,可能需要采取额外的屏蔽措施或使用更高抗干扰能力的硬件设备。

  7. 日志和调试信息:通过查看系统日志和调试信息,了解SPI通信过程中是否有异常或错误提示,有助于定位问题所在。

  8. 逐步排除法:如果以上方法都无法解决问题,可以采用逐步排除法,逐个排查可能存在问题的因素,从而找出并解决问题。

3.I2C 

3.1 I2C传输流程 

        1.开始信号 sda,scl拉高再拉低。

       1.主机发送设备地址一般7位的ID地址(地址的最后一位用于指示读写操作,0表示写,1表示读),然后拉高 sda等待应答

        2.如果匹配,从机会先发应答信号(sda拉低 就是bit0)(可能再回发ID给主机)

        3.之后就可以传输数据或读寄存器的操作了。1.发送一个字节,并返回应答状态。2接收一个字节,并发送应答或非应答信号.
利用“线与”判断总线占用状态
  可以将多个开漏输出的Pin脚,连接到一条线上,形成“与逻辑”关系,即“线与”功能,任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
如果总线上的一个A设备将SDA拉高,这时总线上另一个B设备已将SDA拉低,这时由于1&0=0,所以A设备检查SDA的时候会发现不是高电平而是低电平,这就表明总线上已经有其他设备占用总线了,A只好放弃,如果检测是高电平那就可以使用。

4.uart

UART的一帧由起始位、数据位、校验位和停止位组成

为什么UART的传输需要起始位?

因为UART没有控制线,要让接收方知道什么时候开始接收数据,需要一些手段,UART数据的传输中,只有一根线,所以在发送数据之前,先发一位逻辑“0”作为数据发送的起始标志,接收方在空闲时,当检测到有一个低电平,则开始接逐位接收数据。

5.CAN 

5.1帧类型

 数据帧,帧间隔,错误帧,远程帧,过载帧。

5.2 CAN-FD和CAN

CAN的数据长度(DATA)是8个字节(11位的标识符)

下面是传统CAN的数据帧格式示意图:

| SOF | Frame Type | Identifier | RTR | Control | Data | CRC | ACK | EOF |
|-----|------------|------------|-----|---------|------|-----|-----|-----|
| 1   | 1          | 11 or 29    | 0/1 | 6      | 0-8字节| 15  | 1   | 7   |

其中:

  • SOF:帧起始标识符,固定为一个始终为 recessive 的位。
  • Frame Type:用于区分数据帧和远程帧。
  • Identifier:消息的标识符,可以是11位(标准CAN)或29位(扩展CAN)。
  • RTR:仅在远程帧中存在,用于指示数据帧或远程帧。
  • Control:控制字段,包含数据长度和帧格式信息。
  • Data:消息的实际数据,长度可变,最多8字节。
  • CRC:循环冗余校验,用于检测数据传输错误。
  • ACK:用于确认数据帧是否已被成功接收。
  • EOF:帧结束标识符,表示数据帧的结束。

CAN-FD的数据长度是64个字节

5.3 当CAN通信出现问题时,可以采取以下步骤来查找问题:

  1. 检查物理连接:确保所有CAN设备之间的物理连接正常。检查电缆、连接器、接地等是否存在问题。

  2. 检查供电:确保所有CAN设备都有足够的供电。低电压或不稳定的电源可能导致通信问题。

  3. 检查终端电阻:在CAN网络的两端应该连接终端电阻。确保终端电阻的值正确,并且连接正常。

  4. 检查软件配置:检查CAN设备的软件配置,包括波特率、过滤器设置、模式等是否正确配置。

  5. 检查错误报告:CAN总线上的设备通常会记录错误,可以通过查看设备的错误报告来确定是否有任何通信错误发生。

  6. 使用调试工具:使用CAN总线分析仪或者CAN调试工具来监视CAN通信,并且诊断任何问题。这些工具可以捕获CAN帧、分析错误、检查波形等。

  7. 排除故障设备:通过逐个排除CAN网络中的设备,可以确定是哪个设备导致了通信问题。

  8. 检查电磁干扰:CAN通信可能受到电磁干扰的影响。尽量减少电磁干扰的源头,或者采取屏蔽措施来保护CAN通信。

  9. 软件调试:如果问题是由于软件错误导致的,可以通过调试软件代码来查找并解决问题。

  10. 查看文档资料:查阅CAN设备的文档资料,可能会有特定的故障排除步骤或者常见问题解决方案。

5.4 模式 

  1. 普通模式:

    • 在普通模式下,CAN控制器将发送的数据帧发送到总线上,接收到的数据帧来自总线上的其他节点。换句话说,发送的数据帧会通过总线传输到其他节点,并由其他节点接收处理。
  2. 回环模式:

    • 在回环模式下,发送的数据帧不会真正通过总线发送到其他节点,而是会被CAN控制器直接接收,然后发送方会从本地环回中接收到这个数据帧。这样可以用于自我测试、诊断以及验证CAN控制器本地环路是否正确工作。
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值