1. IIC驱动架构
IIC驱动包含两部分:IIC总线驱动和设备驱动。总线驱动是对硬件设备适配器端的实现,主要包含i2c_adapter,i2c_algorithm和控制i2c适配器产生通信信号的函数。I2c_adapter和一套i2c读写algorithm绑定,i2c_algorithm包含对i2c总线的访问方式。IIC总线驱动完成i2c_driver的注册,IO空间分配,IIC硬件设备时钟的设定,主从模式以及收发模式的设定等。通过i2c_adapter可以控制I2C总线上开始,结束等信号的产生。
IIC设备驱动提供用户空间和i2c总线驱动的交互,其定义了i2c_client数据结构以及文件操作ioctrl,open,write等。I2c_client依附于i2c_adapter,用户通过i2c_client结构来调用相应的i2c_adapter,来实现IIC控制。具体层次结构如下:
User ioctrl--------->
I2c_client------------>
I2c_adapter------------>
I2c_algorithm--------------->
IIC硬件
2. Zynq的IIC驱动试验
基于黑金的zynq7020开发板,通过IIC来读写EEPROM,首先在PS端选择IIC端口,导出到PL端,分配引脚。
Zynq上IIC驱动
最新推荐文章于 2024-07-06 10:13:51 发布