总线、接口、协议、存储
长弓的坚持
这个作者很懒,什么都没留下…
展开
-
AXI总线简介
0.绪论AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-streamAXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输...转载 2019-10-28 12:46:48 · 951 阅读 · 2 评论 -
FMC的介绍
FMC:英文全称,FPGA Mezzanine Card。是一个应用范围、适应环境范围和市场领域范围都很广的通用模块。FMC连接器(FMC Connector)是FMC的一个重要组成部分,它连接由FPGA提供的引脚和FMC子板的I/O接口。最新的连接器技术维护的高性能引脚速度可以达到几个Gb/s。一、基本介绍根据美国国家标准对FMC标准(American National Standard for...转载 2018-06-24 12:09:04 · 8124 阅读 · 0 评论 -
VPX总线
VPX总线是VITA(VME International Trade Association, VME国际贸易协会)组织于2007年在其VME总线基础上提出的新一代高速串行总线标准。VPX总线的基本规范、机械结构和总线信号等具体内容均在ANSI/VITA46系列技术规范中定义。一 概述VPX总线来源于VME总线,而VME总线诞生于30年前,结合了Motorola公司Versa总线电气标准和欧式卡机...转载 2018-06-24 11:56:42 · 20409 阅读 · 1 评论 -
UART的16倍频过采样和3倍频过采样
随着电子设计自动化(EDA)技术的发展,可编程逻辑器件FPGA/CPLD已经在许多方面得到了广泛应用,而UART(通用异步收发器) 是在数字通信和控制系统中广泛使用的串行数据传输协议。因此越来越多用户根据自己的需要,以EDA技术作为开发手段,用一块FPGA/CPLD设计出符合自己需要的UART芯片。基于FPGA/ CPLD的UART设计在诸多文献中都有论述,在此不再对UART整个功能模块实现做...转载 2018-05-03 13:30:25 · 7442 阅读 · 0 评论 -
为什么UART串口通信要16倍过采样数据
增强抗干扰是原因之一标准UART可以选16倍采样,也可以选64倍采样,个人觉得应该是方便分频设计. 标准UART的RXD前端有一个"1到0跳变检测器",当其连续接受到8个RXD上的地电平时,该检测器就认为RXD线出现了起始位,进入接受数据状态.在接受状态,接受控制器对数据位7,8,9三个脉冲采样,并遵从三中取二的原则确定最终值.采用这一方法的根本目的还是为了增强抗干扰,提高数据传送的可靠性,采样信...转载 2018-05-03 13:29:33 · 28059 阅读 · 9 评论 -
I2C,485,232,spi区别以半双工,全双工
第一,从硬件上讲,传输数据时的电气特性不同,比如逻辑1和0对应的电平状态;时序不同。第二,因为硬件的原因导致他们的传输距离不同。485可以长达1500米,i2c和spi也就局限于板级的距离,几十厘米吧。232也就1米多。第三,传输速度不同,232和485的波特率最高的也就115.2K,再高的也有却不常用。i2c和spi的可以达到几十M,因为距离很短的嘛。 双工:比如有两个设备进行连接通信,A和B。...转载 2018-05-03 13:08:33 · 19095 阅读 · 0 评论 -
串口的波特率误差对数据发送影响
问题:如果波特率误差为0.16%,连续发送多少个数据后,会出现错误数据在网上看了下,都说在2.5%的误差范围下,可以保证可靠传输,可最近有个程序在误差0.16%的情况下,连续发送5000个数据左右后,出现一次发送错误回答1:误差必须少于5%。当串口抖动的时候,CH芯片和某些低端的串口卡,兼容性稍差。可能和采样的算法有关系。起始位+数据+停止位 ,共十位,至少4倍频才能正确采集,那么一个数据包至少采...转载 2018-05-01 23:06:56 · 28284 阅读 · 1 评论 -
串口通信技术浅析
1. 前言最熟悉的陌生人!用这句话形容“串口”是再贴切不过的了。对嵌入式工程师来说,“串口”是一个再熟悉不过的模块,熟悉到像喝水一样自然。与此同时,有关串口的很多细节,却被渐渐地模糊和忽略,例如:我们经常挂在嘴边的serial、UART、RS232等概念,究竟是怎么回事?它们之间有何联系?有何区别?串口的波特率(baud rate)是怎么定义和计算的?比特率(bit rate)又是怎么回事?二者的...转载 2018-05-01 23:02:36 · 7427 阅读 · 1 评论 -
RS485,RS232,USB,Ethernet 传输速度分别是多少
通讯速度,跟通讯用介质、通讯距离以及通讯环境等多项因素有关,一般情况下:1、RS-485的数据最高传输速率为10M2、RS-232规定的速率为:50、75、100、150、300 600、1200、2400、4800、9600、19200、38400波特3、USB经过多次的升级,有不同的接口速度: USB1.0:192KB/s USB...转载 2018-05-01 23:01:13 · 29054 阅读 · 0 评论 -
工业电脑中PCI、CPCI、PXI插槽的区别
一、PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,是工业电脑的主要扩展插槽,也是工业主板板载最多的插槽类型,ATX结构的工业主板一般带有4~6个PCI插槽,而MINI-ITX工业主板也可带有PCI插槽,应用非常广泛。PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线...转载 2018-04-19 13:29:59 · 15851 阅读 · 0 评论 -
PCI总线和PXI总线的区别
PCI技术: (应该叫总线)1992年intel 推出创立 PCI规范到如今,PCI总线已成为了事实上计算机的标准总线。请看 http://www.eebyte.com/article/list.asp?id=112PCI技术规格简介PXI技术:http://www.ednchina.com/client/ni/aboutPXI.asp1997年,美国国家仪器中国有限公司(National Ins...转载 2018-04-19 13:29:28 · 5289 阅读 · 0 评论 -
SPI时钟极性、时钟相位及片选
SPI协议是一个 4 线、全双工的串口协议。根据串口时钟SCLK的相位SCPH和极性SCPOL的不同,有 4 种组合。1、在主设备处于不使能或者空闲的状态下,主设备输出的从设备选择信号CS保持高电平。2、时钟极性SCPOL参数决定串口时钟SCLK 在无效的状态下是高电平还是低电平: (1)SCPOL=0,串口时钟(sclk)在无效的状态下保持低电平。 (2)SCPOL=1,串口...转载 2018-04-13 13:23:39 · 1652 阅读 · 0 评论 -
JESD204B概述
一、JESD204B概述1、JED204B是什么?一种新型的基于高速SERDES的ADC/DAC数据传输接口。ADC/DAC的采样速率变得越来越高,数据的吞吐量越来越大,对于500MSPS以上的ADC/DAC,动辄就是几十个G的数据吞吐率,采用传统的CMOS和LVDS已经很难满足设计要求,JES...转载 2018-04-13 13:20:09 · 1957 阅读 · 0 评论 -
LVDS接口分类,时序,输出格式
1.1.1 LVDS接口分类 1.1.1.1 单路6bit LVDS 这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。 1.1.1.2 双路6bit LVDS 这种接口电路中,采用双路方式传输,每个基色信号...转载 2018-04-13 13:09:59 · 1870 阅读 · 0 评论 -
时钟极性和时钟相位概念
时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位...转载 2018-04-13 12:52:58 · 17020 阅读 · 1 评论 -
JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答
JESD204B为业界标准序列通信链接,数据转换器与现场可编程门阵列(FPGA)、数字信号处理器(DSP)、特定应用集成电路(ASIC)等装置间的数字数据接口因此能化繁为简,这项标准减少装置间路由进而降低输入/输出及电路板面积需求,符合无线通信、量测、国防、航天等应用所需。一般选择高速模拟数字转换器(ADC)时,ADC延迟高低大多并非重要设计因素或规格,最近...转载 2018-04-13 12:46:34 · 1602 阅读 · 0 评论 -
CPLD/FPGA的UART接口设计之系统时钟(晶振)和波特率关系
UART(UniversalAsynchronous ReceiverTransmitter,通用异步收发器)是一种广泛使用的异步串行数据通信协议。目前大多数MCU、串口通信IC等芯片或模块均支持UART通信,随着CPLD/FPGA应用得越来越广泛,用CPLD/FPGA来设计UART等接口已是数字电路设计的常见应用之一。 由于UART是异步传输,没有传输同步时钟。在CPLD/FPGA的UAR...转载 2018-04-22 20:12:56 · 5180 阅读 · 0 评论 -
在Xilinx FPGA上快速实现 JESD204B
简介JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,该标准的 B 修订版支持高达 12.5 Gbps串行数据速率,并可确保 JESD204 链路具有可重复的确定性延迟。随着转换器的速度和分辨率不断提升,JESD204B接口在ADI高速转换器和集成RF收发器中也变得更为常见。此外,FPGA和ASIC中灵活的串行器/解串器(SERDES)设计正逐步取代连接转换器的传统并行...转载 2018-06-24 12:20:04 · 25684 阅读 · 6 评论 -
CPCI总线结构
一、CPCI简介Compact PCI(Compact Peripheral Component Interconnect)简称CPCI,中文又称“紧凑型PCI”,是国际工业计算机制造者联合会(PCI Industrial Computer Manufacturer's Group,简称PICMG)于1994提出来的一种总线接口标准。是以PCI电气规范为标准的高性能工业用总线。CPCI的CPU及外...转载 2018-06-24 12:27:22 · 10708 阅读 · 1 评论 -
SGMII 和 Serdes 的详细说明
Serdes : SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种时分多路复用(TDM)、点对点的通信技术,即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而大大降低通信成本。S...转载 2019-01-01 13:26:20 · 6292 阅读 · 1 评论 -
ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash介绍
1 ROM 、RAM、IROM、IRAMROM:read only memory 只读存储器ROM是指程序运行的过程中不能直接通过数据总线、地址总线进行数据的写操作,必须借助于相关的控制器接口来进行数据的写操作。ROM大部分对应着外部存储器,主要是用来存储永久性数据的,程序不能在其上运行,也不能在保存程序运行时的数据。比如硬盘、Flash(U盘、Nand、iNand、SSD)、光盘等。但...转载 2018-12-09 21:04:38 · 19666 阅读 · 0 评论 -
vivado如何实现增量编译,加快布局布线
增量编译设计:1、首先完成非增量编译,获得参考的布局布线dcp文件;2、当逻辑修改小于5%,需重新出版本,采用增量编译3、按步骤打开:implementation setting——options——incremental compile,浏览文件4、选择.runs / impl_1 / *.dcp5、点击run implementation,等待结果效果:预计能减少30%...转载 2018-07-26 23:25:34 · 12605 阅读 · 0 评论 -
基于Virtex-6 FPGA的三种串行通信协议测试及对比
在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线。业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三种协议进行了测试及对比分析。首先搭建了基于Virtex-6 FPGA的高速串行协议测试平台;然后设计并分别实现了三种协议的高速数据通信...转载 2018-07-26 23:20:52 · 1492 阅读 · 0 评论 -
PCI总线的三种传输模式
本文来简单地介绍一下PCI Spec规定的三种数据传输模型:Programmed I/O(PIO),Peer-to-Peer和DMA。三种数据传输模型的示意图如下图所示:首先来介绍一下Programmed I/O(PIO)PIO在早期的PC中被广泛使用,因外当时的处理器的速度要远远大于任何其他外设的速度,所以PIO足以胜任所有的任务。举一个例子,比如说某一个PCI设备需要向内存(S...转载 2018-07-26 23:17:24 · 9503 阅读 · 0 评论 -
PCI BAR设置过程
最近因为工作需要用到pci设备的BAR内容,之前看了没深刻印象,这里整理一下。 PCI设备有很好的可配置型和易操作性,这很大方面要归功于其地址空间的可动态分配的特性。而动态分配地址空间就是依赖于BAR(base address register)实现的。BAR是PCI配置空间中从0x10 到 0x24的6个register,用来定义PCI需要的配置空间大小以及配置PCI设备占用的地址空...转载 2018-07-24 23:45:09 · 6433 阅读 · 1 评论 -
pcie 的bar和dma bar2
设备在系统的PCI地址空间里申请一段来用,所申请的空间基址和大小保存在BAR寄存器里。 BAR里的只是PCI域的地址空间,需要映射到IO地址空间里或者内存地址空间里之后软件才能使用。 映射到IO空间的话,用IO读写指令和函数去访问设备;映射到内存空间的话,首先得到的是物理地址,映射到虚拟地址后就可以像用指针那样访问。 IO BAR和MEM BAR分别是映射到IO空间和内存空间的BA...转载 2018-07-24 23:42:22 · 4713 阅读 · 0 评论 -
PCIE BAR空间
PCIE应用程序编程,首先就要理清PCIE BAR空间到底说的是什么。在PCIE配置空间里,0x10开始后面有6个32位的BAR寄存器,BAR寄存器中存储的数据是表示PCIE设备在PCIE地址空间中的基地址,注意这里不是表示PCIE设备内存在CPU内存中的映射地址,关于这两者的关系以及两者如何转换后面会有介绍。 1,BAR寄存器的数据格式,BAR寄存器表示的设备存储类型有memory s...转载 2018-07-24 22:57:01 · 1761 阅读 · 0 评论 -
内存对齐/字节对齐/数据对齐/地址总线对齐
其实是使用InitializeAcl()时发现有个aligned,可我不知道什么是aligned于是乎我就先搜索了对齐,结果发现了一大堆,什么【字节对齐】、【内存对齐】、【地址总线 对齐】、【数据对齐】。他们之间有什么关系吗?相同、不同?参考文章:1. http://en.wikipedia.org/wiki/Data_structure_alignment(最后读吧,E文头晕)2....转载 2018-07-24 13:15:21 · 1164 阅读 · 0 评论 -
四字节对齐(DWORD-aligned)
系统:Windows8.1 64bit CS这两天正好看到InitializeACL() msdn.microsoft.com/en-us/library/windows/desktop/aa378853(v=vs.85).aspx其中nAclLength [in]要求". In addition, this value must be DWORD-aligned. For more i...转载 2018-07-24 13:14:54 · 3169 阅读 · 0 评论 -
PCI&PCIE MSI中断
1、什么是MSI?(Message Signaled Interrupts)用简单的一句话就可以说明msi的原理:cpu有一段特殊的寄存器空间,往这个寄存器里面写数据,就会触发cpu的中断。pci设备经过配置以后,一旦需要上报中断就会往cpu这种寄存器里面写一个值,触发cpu的中断。2、PCI/PCIE Device侧关于MSI的配置:关于MSI特性,PCI提供了一组Capabil...转载 2018-07-24 13:10:24 · 16210 阅读 · 2 评论 -
PCIE的事务类型:posted和non posted transaction
、就其中posted 与non-posted transaction来说可以看PCI中的讲解 1.3.2 Posted和Non-Posted传送方式 PCI总线规定了两类数据传送方式,分别是Posted和Non-Posted数据传送方式。其中使用Posted数据传送方式的总线事务也被称为Posted总线事务;而使用Non-Posted数据传送方式的总线事务也被称为Non-Pos...转载 2018-07-24 13:09:28 · 2427 阅读 · 1 评论 -
PCIe的TLP(Transaction Layer Packet)结构
无论Request TLP,还是作为回应的Completion TLP,它们模样都差不多:图5.1TLP主要由三部分组成:Header,Data和CRC。TLP都是生于发送端的事务层(Transaction Layer),终于接收端的事务层。每个TLP都有一个Header,跟动物一样,没有头就活不了,所以TLP可以没手没脚,但不能没有头。事务层根据上层请求内容,生成TLP Head...转载 2018-07-24 12:56:53 · 22375 阅读 · 2 评论 -
FPGA的SerDes接口
FPGA发展到今天,SerDes(Serializer-Deserializer)基本上是标配了。从PCI到PCI Express, 从ATA到SATA,从并行ADC接口到JESD204, 从RIO到Serial RIO,…等等,都是在借助SerDes来提高性能。SerDes是非常复杂的数模混合设计,用户手册的内容只是描述了森林里面的一棵小树,并不能够解释SerDes是怎么工作的。SerDes怎么...转载 2018-06-24 12:33:35 · 33129 阅读 · 4 评论 -
FPGA在电平接口领域的应用
电子技术的发展,产生了各种各样的电平接口。TTL电平:TTL电平信号之所以被广泛使用,原因是因为:通常我们采用二进制来表示数据。而且规定,+5V等价于逻辑“1”,0V等价于逻辑“0”。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。这是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL三态门CMOS电平:CMOS电平逻辑电平电压接近于电源电压,0 逻辑电平接近...转载 2018-06-24 12:31:34 · 1479 阅读 · 2 评论 -
FPGA作为从机与STM32进行SPI协议通信---Verilog实现
一.SPI协议简要介绍SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 SPI总线是Motorola公司推出的三线同步接口,同步串行3线方...转载 2018-04-17 13:14:59 · 4560 阅读 · 3 评论 -
SPI时钟极性、时钟相位及片选
SPI协议是一个 4 线、全双工的串口协议。根据串口时钟SCLK的相位SCPH和极性SCPOL的不同,有 4 种组合。1、在主设备处于不使能或者空闲的状态下,主设备输出的从设备选择信号CS保持高电平。2、时钟极性SCPOL参数决定串口时钟SCLK 在无效的状态下是高电平还是低电平: (1)SCPOL=0,串口时钟(sclk)在无效的状态下保持低电平。 (2)SCPOL=1,串口...转载 2018-04-11 13:27:01 · 1804 阅读 · 0 评论 -
为什么总线要用一根来表示一bit
为什么总线要用一根来表示一bit?而不是一根表示多个bit?为什么?为什么地址总线要用一根来表示一bit?而不是一根表示多个bit?为什么?不是的啦 亲 你理解还是不到位.一条总线上的各个部件在同一时刻只有一种状态,要么为高电平,要么为低电平.数据发送和接受本质上就是物理层对总线电平状态进行采样,所以一个时刻只能表示1bit 或者0或者1.而波特率只说明一段时间,变化的次数.祝你成功,有问题继续留...转载 2018-04-01 23:04:25 · 1674 阅读 · 0 评论 -
DDR原理详解
首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。 DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个转载 2017-12-30 11:43:24 · 39035 阅读 · 1 评论 -
DDR3调试总结
作为初学者,我认为最好能做到以下三个方面:材料准备与学习、工程建立与调试、日常总结与记录。 有些人会问谁都知道要学习资料,你也猜到了我要说手册,废话,傻子都知道没有手册搞不定的,当然是不只手册啦,如果你是第一次接触,最好下载几篇相关的学术论文,什么,不知去哪找?!不行就百度,我是在知乎上下的(本人西电,有没有师姐校友啊,嘿嘿,本校免费下),简单来说就是下载几篇相关论文,自己对相关的结转载 2017-12-30 11:41:48 · 4699 阅读 · 0 评论 -
DDR读写简介及相关
DDR总线的体系结构如下: 其中DQS是源同步时钟,在接收端使用DQS来读出相应的数据DQ,上升沿和下降沿都有效。DDR1总线,DQS是单端信号,而DDR2&3, DQS则是差分信号。DQS和DQ都是三态信号,在PCB走线上双向传输。CK是地址/命令时钟,是单向信号。DDR总线读写时序如下:转载 2017-12-30 11:36:49 · 12485 阅读 · 0 评论