复杂接口的基础知识点——OSI七层模型、Serdes技术和数据校验

我个人把FPGA设计中会接触到的接口分为三大类:简单接口,一般接口和复杂接口。所谓简单接口是指的协议规则较简单的串行接口,比如SPI、UART、IIC等,这类接口我们可以自己编写代码来实现(当然也可以用IP核)。一般接口是指的协议规则较为复杂的并行接口,比如AXI、PCI、DDR等,我们可能理解起来还算容易,但是要自己编代码来实现,那就不容易了,一般实现就用IP核。复杂接口是指的数据传输通过协议包来完成的、协议规则复杂的通过差分信号传输的高速串行接口,比如PCIe、以太网、USB、CAN等,这些接口协议让我们理解它们的规则就存在着难度,如果还能自己编代码实现出来,那必然是技术大牛了,所以我们一般也是用IP核来实现(其实这类接口的IP核的使用方法都挺复杂的…)。

事实上,从总线技术的发展历史我们也可以看出,设备间的通信最开始就是用的简单串行接口,后来随着数据量和速度的逐步提高,就发展出了并行接口,再后来数据量和速度进一步提高,并行接口的很多问题暴露出来(比如并行线太多导致布线灾难,每条线的延迟不一样,时钟偏移等),于是又回到串行接口,只是这时的串行接口就属于复杂的高速串行接口了。高速串行接口的共同特点是差分信号传输、协议分层、使用协议包传输数据、使用一定的规则来保证数据的可靠性。因此,在具体讲复杂接口之前,我想先简单介绍三个基础知识点,OSI七层模型、Serdes技术和数据校验技术,这同时也是十分重要的设计思想。文中Serdes部分参考自https://www.cnblogs.com/rouwawa/p/13524703.html,后面我还会专门写文章来讲述Xilinx的serdes的IP以及数据校验技术。

一、OSI七层模型

国际标准化组织(ISO)曾提出过一个开放系统互连参考模型OSI-RM,全称是Open Systems Interconnenction Reference Model.这个模型将整个开放互联系统分为7层,如下图所示。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值