注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

LINUX驱动之SPI子系统之一概述  

2012-10-11 20:49:23|  分类: LINUX内核驱动 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

LINUX驱动之SPI子系统之一概述

Spi子系统的访问可以有两种方式,一种是使用SPI控制器,第二种方法是使用GPIO模拟SPI的时序,但这种方法有一个很大的缺点,即时序的模拟需要耗费大量的时间,形成访问的瓶颈,造成效率不高。这两种方法对应的主要文件在内核的drivers/spi/spi_s3c24xx_gpio.c、drivers/spi/spi_s3c24xx.c两个文件上。

所以这里主要介绍使用SPI控制器的方法。在这里还有一处要说明,你虽然可以仍然使用平台设备platform_device_register和平台驱动platform_driver_register来实现驱动的注册,但SPI子系统单独提供了另外的注册函数,就象你可以使用subsys_initcall做为入口,也可以使用module_init做为入口(所用的地方不同但作用基本相同)。比如:

spi_register_driver对应platform_driver_register

下面有必要介绍一下SPI协议,它是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s(主从)模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号,SPI一般来说是四线串行总线结构。
接口:
SCLK——Serial Clock(output from master)时钟(主设备发出)
MOSI/SIMO——Master Output, Slave Input(output from master)数据信号线mosi(主设备发出)
MISO/SOMI——Master Input,Slave Outpu(output from slave)数据信号线(从设备)
SS——Slave Select(active low;output from master)片选信号

更详细的大家可以参看相应的硬件的DATASHEET表,那个才是权威。

今天简单的说明一下整体的情况,从明天开始,详细的介绍SPI的工作流程。

努力要从今日始。

  评论这张
 
阅读(1598)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017