关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 数字温度传感器DS1621在Linux下的IIC接口驱动设计

数字温度传感器DS1621在Linux下的IIC接口驱动设计

作者:时间:2011-03-22来源:网络收藏


3.2 从器件,设备的初始化代码

3.3 总线的初始化

对S3C2440的控制器进行配置时需要用到的寄存器有:CON、IICSTAT、IICDS、IICADD。
IICCON:IIC总线控制寄存器;IICSTAT:IIC总线控制状态寄存器;HCDS:IIC总线接收/发送数据移位寄存器;IICADD:IIC总线地址寄存器。
1)S3C2440的GPE15为HCSDA,是串行数据线端口,GPE14为IICSCL,是串行时钟线;
2)将IICCON设置为:0xA7,表示传输过程中ACK应答使能,IIC的工作时钟为:HCCLK=fpclk/512,IlC总线中断使能,数据传输的时钟为:Tx clock=IICCLK/(IICCON[3:O]+1),约为400 k/s;
3)将IICSTAT置为:0x10,即使用从器件接收数据模式,数据输出/接收使能。


3.4 主器件从HC总线读数据
对于的寄存器配置,当通过IIC读取从器件的数据时,需要切换数据收发的方向,S3C2440先在主机发送数据模式下,向从器件DS1621发送从地址、DS1621内部寄存器的子地址和写信号位,然后在主机接收数据模式下,再次向从器件发送从地址和读信号位,并将子地址内的数据读回,其读数据操作如图5所示。

本文引用地址:http://www.eepw.com.cn/article/162269.htm


其中S为发送开始标志START,W为写信号位,R为读信号位,A为ACK应答信号,RS为重复开始信号REPEATED START,NA为主机收回数据后发送的NACK信号,P为停止信号STOP。

3.5 主器件向IIC总线写数据

3.6 S3C2440从DS1621获得数据,保存在内核空间并传送到用户空间

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程


传感器相关文章:传感器工作原理


风速传感器相关文章:风速传感器原理
上拉电阻相关文章:上拉电阻原理
温湿度控制器相关文章:温湿度控制器原理


评论


相关推荐

技术专区

关闭