linux底层驱动开发之系统总线BUS篇
梦断星魂
这个作者很懒,什么都没留下…
展开
-
linux系统总线之一I2C总线
I2C总线深入浅出 IIC总线,是INTER-IC串行总线的缩写。INTER-IC原文大意是用于相互作用的集成电路,这种集成电路主要由双向串行时钟线SCL和双向串行数据线SDA两条线路组成,由荷兰菲利浦公司于80年代研制开发成功。 IIC总线在传送数据时其速率可达100kbps,最高速率时可达400kbps,总线上允许连接的设备数主要决定于总线上的电容量,一般设定转载 2012-10-13 13:19:45 · 512 阅读 · 0 评论 -
linux系统总线三之SPORT口的配置
1.SPORT是全双工的,能同时收发数据.2.SPORT用帧同步脉冲来标志每个字或者包的开始,用位时钟来标志每个数据位的起始.3.SPORT口有一个DATA FIFO,规格4X32或者8X16,还有一个shift register.数据先传送到DATA FIFO,再传送至shift register.4.SPORT口能够主辅两路数据同时发送,共用时钟和帧信号,,数据是独立的.PRI转载 2012-10-13 13:20:02 · 959 阅读 · 0 评论 -
linux系统总线SPI总线一之SPI协议介绍
SPI总线协议介绍一、技术性能 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平转载 2012-10-13 13:18:17 · 1134 阅读 · 0 评论 -
linux系统总线SPI总线三之SPI主控制器驱动程序分析
嵌入式微处理器访问SPI设备有两种方式:使用GPIO模拟SPI接口的工作时序或者使用SPI控制器。使用GPIO模拟SPI接口的工作时序是非常容易实现的,但是会导致大量的时间耗费在模拟SPI接口的时序上,访问效率比较低,容易成为系统瓶颈。这里主要分析使用SPI控制器的情况。在内核的drivers/spi/目录下有两个spi主控制器驱动程序:spi_s3c24xx.c和spi_s3c24xx_转载 2014-11-10 17:09:57 · 1214 阅读 · 0 评论 -
linux系统总线SPI二之SPI子系统软件架构及结构体
1. SPI子系统架构详解SPI总线上有两类设备:一类是主控端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块;一类是受控端,例如一些SPI接口的Flash、传感器等等。主控端是SPI总线的控制者,通过使用SPI协议主动发起SPI总线上的会话,而受控端则被动接受SPI主控端的指令,并作出相应的响应。图还未画好,之后补上,补上后在一些写分析,哈哈。。。转载 2014-11-10 17:04:32 · 721 阅读 · 0 评论 -
linux系统总线SPI总线四之SPI设备驱动程序
前篇文章分析了SPI主控制器驱动,也就是SPI总线驱动,既然总线有了,根据linux设备驱动模型,还得有SPI设备和SPI设备驱动。SPI设备是在板级文件中注册,SPI设备驱动需要用户自己实现,好在内核为我们提供了一个通用的SPI设备驱动spidev.c,下面就来分析一下这个文件,该文件位于kernel3.0.15/drivers/spi/spidev.c。1. 模块初始化和注销:spidev转载 2014-11-10 17:13:07 · 1046 阅读 · 0 评论 -
I2C协议详解
1.1 I2C总线知识1.1.1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2 I2C总线特征转载 2015-01-13 15:01:35 · 689 阅读 · 0 评论