- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I2C相关函数
Linux I2C核心、总线与设备驱动II2C总线仅仅使用SCL、SDA两根信号线就实现了设备之间的数据交互,极大地简化对硬件资源和PCB板布线空间的占用。因此,I2C总线被非常广泛地应用在EEPROM、实时钟、小型LCD等设备与CPU的接口中。Linux定义了系统的I2C驱动体系结构,在Linux系统中,I2C驱动由3部分组成,即I2C核心、I2C总线驱动和I2C设备驱动。这3部分相互协作,形成了非常通用、可适应性很强的I2C框架。本章第1节将对Linux I2C体系结构进行分析,讲明3个组成部分各自的功能及相互联系。第2节将对Linux I2C核心进行分析,解释i2c-core.c文件的功能和主要函数的实现。第3、4节将分别详细介绍I2C总线驱动和I2C设备驱动的编写方法,给出可供参考的设计模板。第5、6节将以第3、4节给出的设计模板为基础,讲解S3C2410 ARM处理器I2C总线驱动及挂接在上的SAA7113H视频模拟/数字转换芯片设备驱动的编写方法。15.1 Linux I2C体系结构Linux的I2C体系结构分为3个组成部分:? I2C核心I2C 核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即“algorithm”,笔者认为直译为“运算方法”并不合适,为免引起误解, 下文将直接使用“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。? I2C总线驱动I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至直接集成在CPU内部。I2C总线驱动主要包含了I2C适配器数据结构i2c_adapter、I2C适配器的algorithm数据结构i2c_algorithm和控制I2C适配器产生通信信号的函数。经由I2C总线驱动的代码,我们可以控制I2C适配器以主控方式产生开始位、停止位、读写周期,以及以从设备方式被读写、产生ACK等。? I2C设备驱动I2C设备驱动是对I2C硬件体系结构中设备端的实现,设备一般挂接在受CPU控制的I2C适配器上,通过I2C适配器与CPU交换数据。I2C设备驱动主要包含了数据结构i2c_driver和i2c_client,我们需要根据具体设备实现其中的成员函数。图15.1 Linux I2C体系结构图15.1 Linux I2C体系结构在Linux 2.6内核中,所有的I2C设备都被在sysfs文件系统中显示,存在于/sys/bus/i2c/目录,以适配器地址和芯片地址的形式列出,如:$ tree /sys/bus/i2c//sys/bus/i2c/|-- devices| |-- 0-0048 - ../../../devices/legacy/i2c-0/0-0048| |-- 0-0049 - ../../../devices/legacy/i2c-0/0-0049| |-- 0-004a - ../../../devices/legacy/i2c-0/0-004a| |-- 0-004b - ../../../devices/legacy/i2c-0/0-004b| |-- 0-004c - ../../../devices/legacy/i2c-0/0-004c| |-- 0-004d - ../../../devices/legacy/i2c-0/0-004d| |-- 0-004e - ../../../devices/legacy/i2c-0/0-004e| `-- 0-004f - ../../../devices/legacy/i2c-0/0-004f`-- drivers|-- i2c_adapter`-- lm75 |-- 0-0048 - ../../../../devices/legacy/i2c-0/0-0048 |-- 0-0049 - ../../../../devices/legacy/i2c-0/0-0049 |-- 0-004a - ../../../../devices/legacy/i2c-0/0-004a |-- 0-004b - ../../../../devices/legacy/i2c-0/0-004b |-- 0-004c - ../../../../devices/legacy/i2c-0/0-004c |-- 0-004d - ../../../../devices/legacy/i2c-0/0-004d |-- 0-004e - ../../../../devices/
您可能关注的文档
- FP4青贮文件.doc
- FORTRAN90历年真题.doc
- Friends 六人行 第一季 中英文全台词0103 The One With the Thumb.doc
- Friends 六人行 第一季 中英文全台词0108 The One Where Nana Dies Twice.doc
- Friends 六人行 第一季 中英文全台词0107 The One With the Blackout.doc
- Friends 六人行 第一季 中英文全台词0122 The One With the Ick Factor.doc
- From Newmark′s communicative theory of translation and semantic translation point of view the translation of English news_1039.doc
- FS-1570中文操作.doc
- FS_1硫酸用不锈钢及其应用.docx
- FTP下载目录.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)