基于Linux系统多种总线驱动统一接口的实现方法.doc
《基于Linux系统多种总线驱动统一接口的实现方法.doc》由会员分享,可在线阅读,更多相关《基于Linux系统多种总线驱动统一接口的实现方法.doc(3页珍藏版)》请在三一文库上搜索。
1、基于Linux系统多种总线驱动统一接口的实现方法在Linux内核中单独实现TTY、I2C、SPI、ISA、USB等多种总线驱动时,每一种总线的实现都有各自的特点,如参数设置不同,实现的结构不同等。以TTY、I2C为例,TTY采用的是基于线路规程的三层结构,而I2C则是基于用户句柄和适配器的三层结构。当然,这些驱动都是功能齐全而强大的,但对于并不复杂的应用而言,这样的控制是比较繁琐的,而且,对于移植也是不利的。例如,某个应用系统原先使用一款I2C接口的时钟芯片,但后来系统升级换成了一款SPI接口的时钟芯片,这时就不得不对程序做较大的改动了。本文给出了一种多种串行总线统一接口的实现方法,并以ARM
2、9为平台,以I2C、1-Wire、SPI为例验证了方法的可行性。1 总线协议及其工作过程多数的串行总线都基于主从结构,如果总线中包含了时钟信号线,那么,该时钟信号就由主机提供,而如果还包含了片选信号,通常也由主机来控制。也就是说,主机发起通信,从机处于被动状态,所以,对于总线时序的分析,只需讨论主控制器端的时序,而从设备的时序就是它的逆向过程。11 SPI协议及其工作过程SPI总线是摩托罗拉公司提出的一种串行总线协议,该总线由4根基本的信号线组成,分别是CS、SI、SO、SCK。其中SCK是串行总线时钟,由主设备提供;而SI、SO分别对应于数据输入和数据输出信号。在一主多从的系统中,片选信号决
3、定当前有效的从设备。SPI总线的工作过程是:首先,主机发起通信,通过片选信号激活从设备;然后,主机在串行时钟SCK信号的同步下,将地址、命令、数据信息从串行数据输出信号(相对主机而言)SI送出;而从设备则在SCK信号的同步下接收主机发送来的数据,并作出相应反应,最后将结果从数据输入信号(相对主机而言)SO送出。S3C2440中对SPI总线的控制,就是集中于对rSPCONn、rSPSTAn、rSPPINn、rSPPREn、rSPTDATn和rSPRDATn的控制。其中rSPCONn用于DMA设置、工作模式选择、时钟相位选择,rSPSTAn用于控制器状态查询,rSPPINn用于多主机下出错检测和片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 系统 多种 总线 驱动 统一 接口 实现 方法
链接地址:https://www.31doc.com/p-3410967.html