MSP430与I2C总线接口技术的研究

2019-07-31 20:34发布

    引言

       MSP430单片机自从2000年问世以来,就以其功能完善、超低功耗、开发简便的特点得到了许多设计人员的青睐。MSP430与传统的51单片机在结构上有很大的区别。其中之一就是:在MSP430的外围接口电路中,没有提供像51那样控制外设读、写、地址锁存信号的硬件电路。与这种接口电路相适应,MSP430更倾向使用I2C总线



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
1988020566
1楼-- · 2019-07-31 21:33
      2 MSP430与I2C总线器件接口

       通过上述的介绍了解了MSP430中I/O口的一些控制特点。以下介绍如何利用这些特点实现I2C总线的接口。如图2所示,使用41系列单片机的P6.6产生I2C总线的时序同步信号;使用P6.7完成I2C总线的串行数据输入输出;利用P2.0接收LM92产生的中断信号。基于I2C总线规范,通过对LM92的A0、A1和AT240的A0、A1、A2设定不同的器件地址,两个器件可以共用SCL、SDA。


1988020566
2楼-- · 2019-07-31 22:55
 精彩回答 2  元偷偷看……
1988020566
3楼-- · 2019-08-01 03:56
  2.2 简化I2C接口的方法

       众所周知,实现I2C



1988020566
4楼-- · 2019-08-01 05:44
     3 I2C总线控制时序的实现

       以上讲述了I2C总线最基本的操作时序。I2C总线中的各种操作都是由这些基本操作组合完成的。由于I2C总线器件的类型、功能、结构不尽相同,因此每一种器件具体控制时序有所区别。图4是AT2402读取指定字节数据控制时序。从图中可以看出一个读取操作中要使用到起始、发送字节、处理回应、接收字节、停止这些基本操作。附录中的代码就实现了这个时序。对于AT2402还有其他控制的时序,如字节写时序、数据页读时序、地址读取时序等等[1]。附录中代码对基本操作分别编写为子程序。对于不同的功能时序,可以通过子程序的调用来实现。


       LM92是一种高精度的温度传感器,它也采用I2C总线方式控制。图5是该器件读取温度数据的时序。因为它的功能和结构与AT2402有很大的区别,所以二者控制时序不尽相同。如图4和图5,虽然都是实现读取操作,但是二者时序差别很大,LM92的控制时序明显要复杂的多。不过仔细分析可以看出这些时序也都是由一些基本操作组合实现的。这样就可以在上述方法的基础上完善LM92所需要的基本操作子程序,进而根据时序需要安排子程序实现对LM92的各种控制。


       综上所述,要实现I2C总线的控制时序,需要仔细分析各种器件的时序要求及特点,构建所有的基本操作,并按时序要求合理安排基本操作。
1988020566
5楼-- · 2019-08-01 07:37
     4结束语

       应用上述的设计方法和电路,实现了MSP430与I2C总线器件的接口,很好的控制AT2402和LM92,达到了预期的目标。实践证明该方法对实现I2C总线器件控制非常有效,而且使用该方法编制的程序代码量小,执行效率高。该方法为MSP430与I2C总线接口提供了一种可行的方案。
YingziSeek
6楼-- · 2019-08-01 08:14
谢谢楼主,学习了

一周热门 更多>