ARM硬件接口及总线介绍

ARM总线架构:分高速总线和低速总线,类似pc机的南北桥。


常用总线接口介绍:

uart:

接口介绍:uart和com是指物理接口形式,ttl和rs232是指电平信号标准。Uart为4线接口(VCC、GND、TX、RX)采用ttl电平,0为低电平(0V),1为高电平(3.3V或以上)。COM是PC机上的9线接口,采用RS232电平(负逻辑电平,+5-+12V为低电平,-12--5V为高电平)。

时序协议:

波特率:此参数容易和比特率混淆,其实他们是由区别的。具体可以百度更清楚。但是我认为uart中的波特率就可以认为是比特率,即每秒传输的位数(bit)。一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数(bit)。 
起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。 
数据位:可以选择的值有5,6,7,8这四个值,可以传输这么多个值为0或者1的bit位。这个参数最好为8,因为如果此值为其他的值时当你传输的是ASCII值时一般解析肯定会出问题。理由很简单,一个ASCII字符值为8位,如果一帧的数据位为7,那么还有一位就是不确定的值,这样就会出错。 
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输“A”(01000001)为例。 
1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。图-1的波形就是这种情况。 
2、当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 
此位还可以去除,即不需要奇偶校验位。 
停止位:它是一帧数据的结束标志。可以是1bit、1.5bit、2bit的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生产此uart信号时用两个波形点来表示一个bit。这个可以不必深究。。。 
空闲位:没有数据传输时线路上的电平状态。为逻辑1。 
传输方向
:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”如果是MSB那么就是01000001(如图-2),如果是LSB那么就是10000010(如下图的图-4) 

spi:

接口介绍:

SPI是一种高速的,全双工,同步的通信总线。分为主(master)、从(slave)两种模式,一个SPI通讯系统需要包含一个(且只能是一个)maser(主设备),一个或多个slave(从设备)。 主从角色不能切换。

SPI接口的读写操作,都是由master发起。当存在多个从设备时,通过各自的片选(slave select)信号进行管理。

除了供电、接地两个模拟连接以外,SPI总线定义四组数字信号:

    - 接口时钟SCLKSerial Clock,也叫SCKCLK),master输出至slave的通讯时钟。
    - MOSI Master Output Slave Input,也叫SIMOMTSR、DI、DIN、SI)自master输出至slave的数据线。
    - MISO Master Input Slave Output,也叫SOMIMRST、DO、DOUT、SO)自slave输出至master的数据线。
    - SS(Slave select,也叫nSSCS、CSB、CSN、EN、nSS、STE、SYNCmasterslave的片选信号,自master输出至slave,低有效。

时序协议:

spi速率取决于时钟速率,一般速率能达到30M以上。

主从一对一连接时如下:


注释:

    - 某些芯片产品上,对SPI两条数据线的命名为SDO/SDI。此时需要将masterSDO连接到slaveSDI,将masterSDI连接到slaveSDO
    - 当系统中只有一个SLAVE时,且SLAVE的SS是低电平有效时,Slave的SS接口直接接地也不影响通讯。当然了,实际应用中,如果要考虑到功耗等因素,处理起来或许就不那么简单了,具体问题具体分析。
    - 有的芯片SPI接口的SS信号,对电平敏感,通讯前确保SS是低电平就好;而有的SPI芯片的SS信号是下降沿敏感的。比如Maxim MAX1242 ADC,开始通讯前,需要SS信号有一个高→低的翻转。 
    - 多数SLAVE的MISO接口有三态输出(高电平、低电平、高阻),当SS无效时,它们的MISO信号输出高阻态(啥都没接的状态)。若SLAVE的MISO接口不支持高阻输出,则无法应用于多SLAVE的SPI系统。

主从多对一连接时如下:

spi为沿采样,SPI的接口时序配置由两个参数决定:
1、 CPOL,clock polarity,译作时钟极性。
2、 CPHA,clock phase,译作时钟相位。
CPOL具体说明:
CPOL用于定义时钟信号在空闲状态下处于高电平还是低电平,为1代表高电平,0为低电平。
知道这些就好,很简单的一个概念 。如果存在疑问,结合下面的时序图理解就好。
CPHA具体说明:
首先,在同步接口中,肯定存在一个接口时钟,用来同步采样接口上数据的。
CPHA就是用来定义数据采样在第几个边沿的。为1代表第二个边沿采样,为0代表第一个边沿采样。
以上两个参数,总共有四种组合:
MODE 0: CPOL=0, CPHA=0 ,CLK限制状态为低电平,第一个边沿采样,所以是上升沿采样。
MODE 1: CPOL=0, CPHA=1CLK限制状态为低电平,第二个边沿采样,所以是下降沿采样。
MODE 2: CPOL=1, CPHA=0 CLK限制状态为高电平,第一个边沿采样,所以是下降沿采样。
MODE 3: CPOL=1, CPHA=1 CLK限制状态为高电平,第二个边沿采样,所以是上升沿采样。

I2c:

接口介绍:
i2c总线接口除了供电和地之外,还有两根线,数据线SDA和时钟线SCL。I2C的每个设备既可以做主设备也可以做从设备,设备间通讯是通过唯一地址来区分,这个地址可以根据设备芯片手册得知或者配置。
I2c总线传输速率分为标准模式(100kbit/s)、快速模式(400kbit/s)、高速模式(3.4Mbit/s)。
I2c接线图如下:

协议介绍:

SDIO总线
       SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。
       SDIO的HOST可以连接多个DEVICE,如下图所示:
       这个是同SD的总线一样的,其中有如下的几种信号
1.       CLK信号:HOST给DEVICE的时钟信号.
2.       CMD信号:双向的信号,用于传送命令和反应。
3.       DAT0-DAT3 信号:四条用于传送的数据线。
4.       VDD信号:电源信号。
5.       VSS1,VSS2:电源地信号。
在SDIO总线定义中,DAT1信号线复用为中断线。在SDIO的1BIT模式下DAT0用来传输数据,DAT1用作中断线。在SDIO的4BIT模式下DAT0-DAT3用来传输数据,其中DAT1复用作中断线。
SDIO命令:
       SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求。其中请求和回应中会数据信息。
1.       Command:用于开始传输的命令,是由HOST端发往DEVICE端的。其中命令是通过CMD信号线传送的。
2.       Response:回应是DEVICE返回的HOST的命令,作为Command的回应。也是通过
CMD线传送的。
3.       Data:数据是双向的传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。
  SDIO的每次操作都是由HOST在CMD线上发起一个CMD,对于有的CMD,DEVICE需要返回Response,有的则不需要。
       对于读命令,首先HOST会向DEVICE发送命令,紧接着DEVICE会返回一个握手信号,此时,当HOST收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着CRC校验码。当整个读传送完毕后,HOST会再次发送一个命令,通知DEVICE操作完毕,DEVICE同时会返回一个响应。
       对于写命令,首先HOST会向DEVICE发送命令,紧接着DEVICE会返回一个握手信号,此时,当HOST收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着CRC校验码。当整个写传送完毕后,HOST会再次发送一个命令,通知DEVICE操作完毕,DEVICE同时会返回一个响应。
I2S:
 I2S协议作为音频数据传输协议,由Philips制定。该协议由三条数据线组成:
1、SCLK:串行时钟,频率= 2 * 采样频率 * 采样位数。
2、WS:字段(声道)选择,用来切换左右声道数据。WS = 采样频率(fs)。
a、1(左声道)
b、0(右声道)
3、SD:串行数据(二进制补码)(MSB--->LSB:数据由最高位到最低位依次传输)
PCM:

IIS的采样频率一般为44.1KHZ和48KHZ做
PCM采样频率一般为8K,16K。
它们有四组信号: 位时钟信号,同步信号,数据输入,数据输出。     
PCM一般传单声道的声音,也可以传立体声。
IIS一般传立体声。数据格式都为PCM格式。   
左(右)声道的一个点一般为16位,两个声道加起来为32位。
IIS为一个周期传2点。   

1.PCM(脉冲编码调制)
 (1) 时钟脉冲 BCLK ;BCLK的频率=2×采样频率×采样位数 

 (2) 帧同步信号FS; 该信号为低时该帧数据有效

 (3)接收数据DR

 (4)发送数据DX  

在FS信号的上升沿,数据传输从MSB(Most Significant Bit)字开始,FS频率等于采样率。
FS信号之后开始数据字的传输,单个的数据位按顺序进行传输,1个时钟周期传输1个数据字。
发送MSB时,信号的等级首先降到最低,以避免在不同终端的接口使用不同的数据方案时造成MSB的丢失。
  PCM接口很容易实现,原则上能够支持任何数据方案和任何采样率:

  但需要每个音频通道获得一个独立的数据队列

lvds接口:

lvds接口采用差分总线。接口主要包括数据线和时钟线。数据线用于传输RGB、数据使能、行同步、厂同步。

lvds接口分为单路6bitlvds、双路6bitlvds、单路8bitlvds、双路8bitlvds。8bit、6bit代表基色信号的位数,跟液晶屏有关,决定了液晶屏的颜色精度。

单路、双路主要用于解决传输速率,对于高分辨率的液晶屏,若时钟不满足传输速度,则采用双路。

单路6bit一共四个通道,一个通道用于时钟线,3个通道作为数据线。单路8bit是五通道,双路8bit是10通道。

一般单通道可以达到720p分辨率,双通道可以达到1080p分辨率。

RGB接口:

最大分辨率和时钟频率

         a. Parallel RGB

            分辨率:1920 * 1080

            时钟频率:1920*1080*60*1.2 = 149MHZ

         b. Serial RGB

            分辨率:800 * 480

            时钟频率:800*3*480*60*1.2 = 83MHZ

Parallel Rgb


serial rgb






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值