I2C总线配置与测试(CCS裸班测试)
2015-07-29 22:21
190 查看
1、 管脚复用
在gel文件中可以找到控制管脚复用的寄存器,一般为PINMUX寄存器,例如I2C时钟线连接GPIO20管脚,查手册知此管脚的控制位为PINMUX3寄存器的21与22位,两位都为一时为gpio口,为1和0时为I2C口。设为I2C时可写为
PINMUX3 |= 0x0400000;
PINMUX3 &= ~0x0200000;
2、时钟频率设置
I2C的初始化函数为
Int16 EVMDM365_I2C_init()
{
I2C-ICMDR = 0; //reset I2C
I2C-ICPSC = 2; //config prescaler for 8Mhz
I2C-ICCLKL = 35; //config clk LOW for 100kHz
I2C-ICCLKH = 35; //config clk HIGH for 100kHz
I2C-ICMDR |= ICMDR-IRS; //release I2C from reset
}
计算公式为:
prescaler = 输入时钟/(I2C-ICPSC +1),且要求prescaler大于5Mhz小于16Mhz
I2C时钟线频率=prescaler/(I2C-ICCLKL+I2C-ICCLKH+10)
输入时钟为24MHz,经过上述计算得I2C时钟为100kHz
3、I2C时序
正确的I2C时序可如下表示:
时序问题是I2C的关键,需要注意的是:
1) 设备地址:一般为7位地址和1位读写位,实际地址左移一位,例如设备读地址为0xD0,实际为0x68
2) 寄存器地址:寄存器地址为1字节还是2字节?寄存器是只读还是可读写?寄存器的某几位是否已经写死?
3) 读时序:读时序需要先写再读,且写后不能有stop,这就需要写完改写某些寄存器位的值
在gel文件中可以找到控制管脚复用的寄存器,一般为PINMUX寄存器,例如I2C时钟线连接GPIO20管脚,查手册知此管脚的控制位为PINMUX3寄存器的21与22位,两位都为一时为gpio口,为1和0时为I2C口。设为I2C时可写为
PINMUX3 |= 0x0400000;
PINMUX3 &= ~0x0200000;
2、时钟频率设置
I2C的初始化函数为
Int16 EVMDM365_I2C_init()
{
I2C-ICMDR = 0; //reset I2C
I2C-ICPSC = 2; //config prescaler for 8Mhz
I2C-ICCLKL = 35; //config clk LOW for 100kHz
I2C-ICCLKH = 35; //config clk HIGH for 100kHz
I2C-ICMDR |= ICMDR-IRS; //release I2C from reset
}
计算公式为:
prescaler = 输入时钟/(I2C-ICPSC +1),且要求prescaler大于5Mhz小于16Mhz
I2C时钟线频率=prescaler/(I2C-ICCLKL+I2C-ICCLKH+10)
输入时钟为24MHz,经过上述计算得I2C时钟为100kHz
3、I2C时序
正确的I2C时序可如下表示:
时序问题是I2C的关键,需要注意的是:
1) 设备地址:一般为7位地址和1位读写位,实际地址左移一位,例如设备读地址为0xD0,实际为0x68
2) 寄存器地址:寄存器地址为1字节还是2字节?寄存器是只读还是可读写?寄存器的某几位是否已经写死?
3) 读时序:读时序需要先写再读,且写后不能有stop,这就需要写完改写某些寄存器位的值
相关文章推荐
- Squares
- 暑假集训-个人赛第四场
- iOS 显示HTML字符串
- 还在蛋壳里--android学习之吐槽篇
- poj 3691 AC自动机+dp(修复DNA使其不带病毒)
- NoSQL架构实践(三)——以NoSQL为缓存
- Xiangqi
- Java中堆内存和栈内存详解
- c#根据公式进行自动计算的实现
- Java学习笔记(七) Enumertation接口的理解和使用和StringTokenizer的使用
- (转)struts2 Action获取表单数据
- js事件代理和js知识一些小结1
- Power of Two
- python解析网页时的错误(EOF in middle of construct)
- iphone6 plus以下设备适配经验总结
- 关于Apache和Tomcat的关系说明
- shell 基础知识
- pxe+kickstart 实现基于网络的无人值守安装操作系统
- CS281: Advanced Machine Learning 第二节 probability theory 概率论
- WXHL 学习总结连载(三)