冷烟花
哎呀哎呀哎呀我的妈~蜗牛背着那重重的壳呀,一步一步地往上爬~

随笔分类 -  spi

详解SPI中的极性CPOL和相位CPHA
摘要:SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯.而主从设备之间通过SPI进行通讯,首先要保证两者... 阅读全文
posted @ 2014-05-07 11:07 冷烟花 阅读(6255) 评论(0) 推荐(5)
SPI总线通信电路设计
摘要:数据带宽=(总线频率×数据位宽)÷8B表示带宽,F表示存储器时钟频率,D表示存储器数据总线位数,则带宽为:B(峰值带宽)=F(时钟频率MHz)×D(总线位数bit)/8例如,PC-100的SDRAM带宽计算如下:100MHz×64bit/8=800MB/S由于SPI(serial periphera... 阅读全文
posted @ 2014-05-06 18:00 冷烟花 阅读(18286) 评论(0) 推荐(1)
SPI子系统分析之四:驱动模块
摘要:内核版本:3.9.5SPI控制器层(平台相关)上一节讲了SPI核心层的注册和匹配函数,它是平台无关的.正是在核心层抽象了SPI控制器层的相同部分然后提供了统一的API给SPI设备层来使用.我们这一节就能看到,一个SPI控制器以platform_device的形式注册进内核,并且调用spi_regis... 阅读全文
posted @ 2013-07-01 18:14 冷烟花 阅读(13089) 评论(0) 推荐(0)
SPI子系统分析之三:驱动模块
摘要:内核版本:3.9.5SPI核心层(平台无关)SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位于drivers/spi/spi.c中: 1 static int __init spi_init(vo... 阅读全文
posted @ 2013-07-01 15:17 冷烟花 阅读(2161) 评论(0) 推荐(0)
SPI子系统分析之二:数据结构
摘要:内核版本:3.9.5spi_masterstruct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. 1 /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num则记录了这个总线号*/... 阅读全文
posted @ 2013-07-01 14:54 冷烟花 阅读(4618) 评论(0) 推荐(1)
SPI子系统分析之一:框架
摘要:内核版本:3.9.5SPI子系统概述:一个SPI主控制器对应一条SPI总线,当然在系统中有唯一的总线编号.SPI总线上有两类设备:其一是主控端,通常作为SOC系统的一个子模块出现,很多嵌入式MPU中都常常包含SPI模块;其二是受控端,例如一些SPI接口的Flash,传感器等等;主控端是SPI总线的控... 阅读全文
posted @ 2013-07-01 12:18 冷烟花 阅读(2839) 评论(0) 推荐(0)
SPI protocol驱动编写实例
摘要:内核版本:3.9.5Linux中SPI驱动有俩个部分组成:controller驱动,直接和底层硬件打交道,protocol驱动,针对特定的设备,也是我们要做的.这里只考虑SPI protocol驱动在主线内核中有一个通用的字符型驱动范例spidev.本文不讨论spidev,而是探讨如何编写一个自定义... 阅读全文
posted @ 2013-07-01 10:55 冷烟花 阅读(3276) 评论(0) 推荐(0)
Linux内核SPI支持概述
摘要:1. 什么是SPI?Serial Peripheral Interface是一种同步4线串口链路,用于连接传感器、内存和外设到微控制器.他是一种简单的事实标准,还不足以复杂到需要一份正式的规范.SPI使用主/从配置模式.有3根控制数据传输,其中包含并行数据线:MOSI(Masterout Slave... 阅读全文
posted @ 2013-06-30 23:29 冷烟花 阅读(7793) 评论(0) 推荐(0)