精华内容
下载资源
问答
  • 常用总线资料

    2015-06-20 23:16:09
    几种常用总线介绍,包括pci,i2c,pxi,vxi,can等的协议介绍
  • 介绍了车辆常用总线技术 一、 汽车总线技术的发展 二、 汽车总线技术的特征 三、 汽车总线的研究重点及关键技术 四、 汽车总线技术的应用意义及国内发展现 五、 各类汽车总线的特点比较 六、 CAN 总线设计详解 ...
  • 主流PC常用总线总结

    千次阅读 2016-09-21 23:18:53
    主流PC常用总线总结 PCI-E; USB; SATA; M.2; Type-C 芯片组; 北桥; 南桥

    常用总线信息

    PCI-E

    英文全称:Peripheral Component Interconnect Express
    设计者: Intel
    连接对象:CPU与显卡,芯片组与SSD、网卡、声卡等设备
    带宽:

    版本 单总线 16条总线(PCI-E x16)
    1.x (2002) 2Gbit/s 40Gbit/s
    2.x (2007) 4Gbit/s 64Gbit/s
    3.0 (2010) 7.877Gbit/s 126.032Gbit/s
    4.0 (可能是2017) 15.754Gbit/s 252.065Gbit/s

    PCI

    英文全称:Peripheral Component Interconnect
    设计者: Intel
    发布时间:1992
    连接对象:芯片组与网卡、声卡、Modem等设备
    带宽:133MB/s
    备注:已被PCI-E取代,但一些主流主板上仍保留PCI接口

    USB

    英文全称:Universal Serial Bus
    设计者: Compaq, DEC, IBM, Intel, Microsoft, NEC and Nortel
    连接对象:芯片组与外围设备(键鼠、Camera、U盘等)
    备注:USB Type-C 是一种新型的连接器
    带宽:

    版本 带宽
    USB 2.0 (2000) 35MB/s
    USB 3.0 (2008) 400MB/s
    USB 3.1 (2013) 1.21GB/s

    SATA

    英文全称:Serial Advanced Technology Attachment
    设计者: Intel、IBM、Dell、APT、Maxtor和Seagate等
    连接对象:芯片组与大容量存储设备
    带宽:

    版本 带宽
    SATA 3.0 (2009) 600MB/s
    SATA 3.2 (2013) 1969MB/s

    相关知识

    当前PC主板芯片组

    以前PC的主板上有北桥和南桥两块芯片。北桥设计用来处理高速信号,通常处理中央处理器、随机存取存储器、AGP 或 PCI Express 的端口,还有与南桥之间的通信[1]。南桥设计用来处理低速信号,包含大多数周边设备接口、多媒体控制器和通信接口功能。例如PCI控制器、ATA控制器、USB控制器、网络控制器、音效控制器[2]
    现在的南北桥芯片已经集成到一个芯片组,即主板芯片组,如图1[3]所示。现在的CPU也已经集成了内存控制器、显卡、PCI-E控制器等。

    Intel B150 芯片组框图

    显卡主流接口

    目前显卡的主流接口都是PCI-E,主流主板也已经不支持AGP。

    关于M.2接口和USB Type-C接口

    M.2接口是一种新连接器,可以提供PCI-E, SATA等总线连接。类似地,USB Type-C也是一种新型的连接器,提供USB总线连接。

    注:本文图片来自于网络

    展开全文
  • 1.1 FPGA常用总线IIC 与SPI选择策略 1.1.1 本节目录 1)本节目录; 2)本节引言; 3)FPGA简介; 4)FPGA常用总线IIC 与SPI选择策略; 5)结束语。 1.1.2 本节引言 “不积跬步,无以至千里;不积小流,无以...

    1.1 FPGA常用总线IIC 与SPI选择策略

    1.1.1 本节目录

    1)本节目录;

    2)本节引言;

    3)FPGA简介;

    4)FPGA常用总线IIC 与SPI选择策略;

    5)结束语。

    1.1.2 本节引言

    “不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。

    1.1.3 FPGA简介

    FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

    FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同,FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。

    与传统模式的芯片设计进行对比,FPGA 芯片并非单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA 本身构成 了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。在此基础上,关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。

    以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

    FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

    1.1.4 FPGA常用总线IIC 与SPI选择策略

    1、SPI接口信号

    SPI是一种四根信号线协议

    SCLK:Serial Clock (output from master);

    MOSI;SIMO:Master Output,Slave Input;

    MISO;SOMI:Master Input,Slave Output;

    SS:Slave Select (active low)。

    2、IIC接口信号

    IIC是多主设备的总线,只使用两条信号线——serial data(SDA)和serial clock(SCL)。

    3、IIC 与SPI总线差异

    A、信号线数量对比

    IIC只需两根信号线,而标准SPI至少四根信号,如果有多个从设备,信号需要更多。一些SPI变种虽然只使用三根线——SCLK、SS和双向的MISO/MOSI,但SS线还是要和从设备一对一根。IIC可以接多个设备,剩线,占优势。

    B、传输速度

    如果应用中必须使用高速数据传输,那么SPI是必然的选择。因为SPI是全双工,IIC的不是。SPI没有定义速度限制,一般的实现通常能达到甚至超过10Mbps。IIC最高的速度也就快速+模式(1Mbps)和高速模式(3.4Mbps),后面的模式还需要额外的I/O缓冲区,还并不是总是容易实现的。SPI速度占据优势。

    C、简洁性

    IIC常被称更优雅于SPI。IIC的优雅在于它的特色——用很轻盈的架构实现了多主设备仲裁和设备路由。

    SPI的优点在于它的结构相当的直观简单,容易实现,并且有很好扩展性。SPI的简单性不足称其优雅,因为要用SPI搭建一个有用的通信平台,还需要在SPI之上构建特定的通信协议软件。

    IIC简洁,协议复杂,SPI直观,协议简单;

    4、经验总结

    1)FPGA开发技术;

    2)Verilog HDL语言;

    3)追求速度选SPI总线,追求多设备选IIC总线,简单选择SPI,复杂选IIC。

    1.1.5 结束语

    第一,希望阅读笔者的博客可以对您有所帮助。

    第二,希望读者可以快速学习FPGA这门技术。

    第三,如果需要技术沟通,可以联系笔者。希望对你有帮助,如果遇到问题,可以一起沟通讨论,邮箱:jhqwy888@163.com

    展开全文
  • 常用总线的简介

    2015-01-16 22:51:10
    2C(Inter-IC)总线 SPI总线 SCI总线 ISA总线 EISA总线 VESA总线 PCI总线 RS-485总线 RS-232-C总线 IEEE-488总线 USB总线 UART Controller Area Network(区域网络控制器),CAN 全称为Controller Area Network
  • 为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备...
  • 常用总线协议总结

    2019-10-04 22:44:43
    1.1片间串行总线 SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 电气信号线上的不同: SPI总线由三条信号线组成:...

    1.1 片间串行总线

    SPI(Serial Peripheral Interface:串行外设接口); 
    I2C(INTER IC BUS) 
    UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 

    电气信号线上的不同: 
         SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 
         如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。 
         I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 
         如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)
         UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。 
         显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。 

    上述三种通信一般都是车载机内部(CPU和IC,IC和IC,车载机内部设备间)通信,通常看不到明线。

    1.2车内总线:

     LIN:Local InternetNetwork

     CAN:Controller Area NetWork

    FlexRay:FlexRay是继CAN 和LIN之后的最新研发成果,可以有效管理多重安全和舒适功能:譬如,FlexRay适用于线控操作(X-by-Wire)。

    IDB-1394:详见:

    http://www.chinabaike.com/t/37988/2015/1007/3492993.html

    MOST:Media Originted Systems Transport

     

    转载于:https://www.cnblogs.com/huangheqingshan/p/5242161.html

    展开全文
  • 为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备...
  • 常用总线之SPI

    2020-01-14 20:47:18
    是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。 SPI优点 支持全双工通信 通信简单 数据传输速率块 SPI缺点 没有指定的流控制,没有应答机制确认是否接收到数...

    什么是SPI?

    SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。

    SPI优点

    1. 支持全双工通信
    2. 通信简单
    3. 数据传输速率块

    SPI缺点

    没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。

    特点

    1. 高速、同步、全双工、非差分、总线式
    2. 主从机通信模式

    协议通信时序详解

    原理及结构

    SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多 个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共 有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

    1. SDO/MOSI – 主设备数据输出,从设备数据输入;
    2. SDI/MISO – 主设备数据输入,从设备数据输出;
    3. SCLK – 时钟信号,由主设备产生;
    4. CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。
      在这里插入图片描述

    通信模式

    需要说明的是,我们SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配 置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们 可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来 控制我们主设备的通信模式,具体如下:

    1. Mode0:CPOL=0,CPHA=0
    2. Mode1:CPOL=0,CPHA=1
    3. Mode2:CPOL=1,CPHA=0
    4. Mode3:CPOL=1,CPHA=1
      时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态;
      时钟相位CPHA 是用来配置数据采样是在第几个边沿;
      CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
      CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时
      CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
      CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿
      例如:
      CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是 SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。
      CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是 SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。
      CPOL=1,CPHA=0:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,也就是 SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。
      CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,也就是 SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。
      在这里插入图片描述
      在这里插入图片描述
      需要注意的是:SPI的主设备能够控制时钟,因为SPI通信并不像UART或者IIC通信那样有专门的通信周期,有专门的通信起始信号,有专门的通信结束信号;所以 SPI协议能够通过控制时钟信号线,当没有数据交流的时候时钟线要么是保持高电平要么是保持低电平。

    示例程序

    #ifndef __MYSPI_H__
    #define __MYSPI_H__
    
    #include "NUC230_240.h"
    #include "string.h"
    
    void udelay(volatile int cnt);
    void spi_init(void);
    void spi_idle(void);
    void spi_start(void);
    unsigned char spi_comunicate(unsigned char txdata);
    
    #define SPI_MF_SS	PC8
    #define SPI_MF_SCLK PC9
    #define SPI_MF_MISO PC10
    #define SPI_MF_MOSI PC11
    #define SPI_MF_RST PC12
    #define SPI_MF_IRQ PC13
    
    
    #endif
    
    
    
    
    #include "myspi.h"
    //#define SPI_MF_SS	PC8
    //#define SPI_MF_SCLK PC9
    //#define SPI_MF_MISO PC10
    //#define SPI_MF_MOSI PC11
    
    //#define SPI_DELAY udelay(1)
    
    void udelay(volatile int cnt)
    {
    	int i = 0,j = 0;
    	for(i = cnt;i > 0;i --)
    	{
    		for(j = 0;j < 72;j ++);
    	}
    }
    
    /**
    *@fun spi_idle - set the SPI BUS at IDLE status
    *@para none
    *@return none
    **/
    void spi_idle()
    {
    	SPI_MF_SCLK = 0;
    	SPI_MF_MOSI = 0;
    	SPI_MF_MISO = 0;
    	SPI_MF_SS = 1;
    }
    
    /**
    *@fun spi_init - Initialize the simulative SPI bus
    *@para none
    *@return none
    **/
    void spi_init()
    {
    	GPIO_SetMode(PC,BIT8 | BIT9 | BIT11,GPIO_PMD_OUTPUT);
    	GPIO_SetMode(PC,BIT10,GPIO_PMD_INPUT);
    	spi_idle();
    }
    
    /**
    *@fun spi_comunicate - send and receive data based on spi bus.
    *@para txdata - the data needed to transfer to slave machine
    *@return rxdata - the data received from slave machine
    **/
    unsigned char spi_comunicate(unsigned char txdata)
    {
    	unsigned char i = 0;
    	unsigned char rxdata = 0;
    	for(i = 0;i < 8;i++)
    	{
    		SPI_MF_SCLK = 0;
    		SPI_MF_MOSI = !!(txdata & 0x80);
    		txdata <<= 1;
    //		SPI_DELAY;
    		
    		SPI_MF_SCLK = 1;
    		rxdata <<= 1;
    		rxdata |= SPI_MF_MISO;
    //		SPI_DELAY;
    	}
    	return rxdata;
    }
    
    /**
    *@fun spi_start - select the slave machine , this fun should be called before "spi_comunicate"
    *@para none
    *@return none
    **/
    void spi_start()
    {
    	SPI_MF_SS = 0;
    //	SPI_DELAY;
    }
    
    void spi_write(unsigned char addr,unsigned char value)
    {
    	addr = addr << 1;
    	spi_start();
    	spi_comunicate(addr);
    	spi_comunicate(value);
    	spi_idle();
    }
    
    unsigned char spi_read(unsigned char addr)
    {
    	unsigned char rxdata = 0;
    	addr = ((addr << 1) | 0x80);
    	spi_start();
    	spi_comunicate(addr);
    	rxdata = spi_comunicate(0);
    	spi_idle();
    	return rxdata;
    }
    
    unsigned int spi_muilt_write(unsigned char saddr,unsigned char buffer[],unsigned int len)
    {
    	unsigned int i;
    	if(!buffer || !len)
    		return 0;
    	spi_start();
    	spi_comunicate(saddr);
    	for(i = 0;i < len;i ++)
    	{
    		spi_comunicate(buffer[i]);
    	}
    	spi_idle();
    	return i;
    }
    
    unsigned int spi_muilt_read(unsigned char addrs[],unsigned char buffer[],unsigned int size)
    {
    	unsigned int i;
    	if(!buffer || !size || !addrs)
    		return 0;
    	spi_start();
    	addrs[0] = ((addrs[0] << 1) | 0x80);
    	spi_comunicate(addrs[0]);
    	for(i = 0;i < size - 1;i ++)
    	{
    		buffer[i] = spi_comunicate(addrs[i+1]);
    	}
    	buffer[i++] = spi_comunicate(0);
    	spi_idle();
    	return i;
    }
    
    
    
    展开全文
  • 常用总线调试工具

    2019-06-18 15:32:01
    spi-tools 对spi总线配置以及发送命令数据 https://github.com/cpb-/spi-tools i2c-test-tools I2C测试 https://i2c.wiki.kernel.org/index.php/I2C_Tools iperf 带宽测试 https://iperf.fr/ ...
  • 文 章 导 读今天给大家汇总下I2C、SPI、UART、CAN等四种常用总线的速率相关的内容,让大家在速率这个侧面的对比中来了解我们常用的通讯总线。1I2C总线的传输速率半双工,两线。 I2C总线速率一般分为三种:① 标志...
  • 常用总线区别与联系

    2017-06-29 10:09:05
    第一个区别当然是名字:   SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线) UART(Universal ...SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输
  • 常用总线的一些笔记

    2014-01-11 19:43:58
    主要了解了I2C总线的特征: 1) 只要求两条总线线路,一条串行数据线SDA ,一条串行时钟线SCL。 2) 每个连接到总线的器件都可以软件定义的唯一的地址,一直存在的简单的主机/从机关系;主机可以作为主机发送器或...
  • 电子设计常用总线--QSPI

    千次阅读 2020-04-13 18:09:05
    总线结构上QSPI与SPI相比最大的结构特点是以80字节的RAM代替了SPI的发送和接收数据寄存器。 该接口可以在以下三种模式下工作: 间接模式:使用 QSPI 寄存器执行全部操作 状态轮询模式:周期性读取外部 Flash ...
  • 常用总线协议---SPI

    2013-07-29 16:54:56
    一 SPI协议概括 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。...SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管
  • 常用总线协议---IIC

    2013-07-29 16:48:18
    同时IIC总线上的设备检测到这个停止信号它就知道处理器已经结束了数据传输,我们就可以各忙各个的了,如休眠等。 再 看数据怎么传:SDA上传输的数据必须在SCL为高电平期间保持稳定:因为外接IIC设备在SCL为高...
  • 常用外部总线介绍

    2020-03-17 09:37:21
    ExternalBus(外部总线) ,通常所说的总线(Bus)指片外总线,是CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路,也称系统总线.外部总线又称为通信总线,用于计算机之间、计算机与远程终端、计算机与外部...
  • 常用通讯总线介绍

    2020-05-15 15:56:30
    1 SPI总线协议 一、技术性能 SPI总线首次推出是在1979年,Motorola公司将SPI总线集成在他们第一支改自68000微处理器的微控制器芯片上。SPI总线是微控制器四线的外部总线(相对于内部总线)。与IIC不同,SPI没有...
  • 01外部总线概述ExternalBus(外部总线) ,通常所说的总线(Bus)指片外总线,是CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路,也称系统总线.外部总线又称...
  • 而在数字电源中,总线技术发挥了很重要的作用,本文结合数字电源中常用总线技术加以介绍。  2 I2C总线  I2C总线是英文“Inter Integrated Circuit Bus”的缩写,常译为“集成电路间总线”或“内部集成电路...
  • 一 I2C总线 二 SDIO SDIO总线  SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,657
精华内容 1,062
关键字:

常用总线