ARM-Linux-IIC设备的添加与驱动实现

2012-02-15 03:29:46怯肇乾吴志亮
电子设计工程 2012年10期
关键词:设备

怯肇乾,吴志亮

(郑州精益达汽车零部件有限公司,河南 郑州 100044)

广泛应用的ARM-Linux及其Android的嵌入式软硬件系统中,常常涉及到内部整合电路IIC (Inter-Integrated Circuit)总线的操作及其设备的添加与驱动的实现。基于ARM内核的各类微处理器芯片中,通常都会集成一到几个IIC总线控制器,用以连接存储器、传感器、人机界面等IIC设备。没有操作系统的常规应用中,根据IIC控制器和所选IIC设备的特点,按照IIC通信协议,通过直接明了的编程设计,很容易在系统中实现IIC设备的添加与驱动。而ARM-Linux嵌入式操作系统,对IIC采用分层分散的总线架构,虽然做到了稳定、高效、模块化,却使向其中添加需要的IIC设备及其驱动实现困难了很多,常规的驱动设计方法不能用了。ARMLinux下,IIC总线的体系框架是怎样的?如何因地制宜向其中添加IIC设备并顺利实现其驱动程序设计呢?本文以下将展开详细阐述。

1 IIC总线设备驱动及其实现分析

ARM-Linux下,IIC分为3个层次:IIC内核、IIC总线驱动和IIC设备驱动。IIC内核提供核心数据结构的定义和相关接口函数,实现驱动的注册、注销管理,设备的探测、检查,以及无关具体适配器的读写通信代码。IIC总线驱动定义具体的适配器结构i2c_adapter及其算法结构i2c_algorithm,控制适配器以主控方式产生IIC通信时序。IIC内核和IIC总线驱动共同完成硬件上的主机总线控制器驱动。IIC设备驱动定义描述具体设备的i2c_client,以具体的i2c_driver实现从机设备驱动,包括read、write以及ioctl等用户层接口。ARMLinux-IIC总线驱动的框架结构及其所在的软/硬件体系如图1所示。

图1 ARM-Linux-IIC总线驱动的框……

登录APP查看全文

猜你喜欢
设备
谐响应分析在设备减振中的应用
调试新设备
当代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010开发的设备管理信息系统
基于MPU6050简单控制设备
电子制作(2018年11期)2018-08-04 03:26:08
广播发射设备中平衡输入与不平衡输入的转换
电子制作(2018年10期)2018-08-04 03:24:48
食之无味,弃之可惜 那些槽点满满的可穿戴智能设备
500kV输变电设备运行维护探讨
工业设计(2016年12期)2016-04-16 02:52:00
HTC斥资千万美元入股虚拟现实设备商WEVR
IT时代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保设备篇
如何在设备采购中节省成本