采用分而治之的方法设计嵌入式系统

技术分类: 嵌入式系统  | 2007-08-21
来源:嵌入式在线 | 作者:赛普拉斯半导体 Jon Pearson

  设计定制器件时应采用定义了稳定协议和接口且经过验证的I2C从控制器实现方案,最常用的协议是目前大多数I2C从控制器件所采用的、基于寄存器的协议。相关概要信息如下:

  对于I2C,所有的事务处理均由主控制器启动;

  每个从器件都具有一个I2C 7位地址(最低有效位表明事务处理是“读”还是“写”);

  每个从器件都具有一个内部地址寄存器,用于存储一个指向包含了数据、命令或状态信息的内部表指针;

  每个从器件均定义了其寄存器的地址及其功能,指明它们是只读型的还是读/写型的;

  一个写处理事务由一个具有I2C器件7位地址和写操作位的字节以及一个位于其后的、用于设定内部地址寄存器的字节组成,如果在处理事务中有更多的字节,则它们将被写入以新设定的内部地址为起点的从器件;

  一个读处理事务由一个具有I2C器件7位地址和读操作位的字节以及一个位于其后的主控制器组成,该主控制器用于记录从器件的字节数,并在结束时提供停止信号。由此可见,I2C从控制器与双端口RAM很相似,非常易于使用。

  接下来要选择可编程器件,赛普拉斯公司推出的微控制器件PSoC拥有处理大多数I2C从控制器所需的全部功能,并提供了一种易用的工具,从而简化了增加I2C从控制器的工作,只需“拖、放、选择地址”即可。

  首先,定义一个按钮输入的从器件,创建一个具有3个地址引脚和7个按钮输入的器件,并通过配置使之接受一个靠近5V直流系统电源的

常开开关。按钮状态将在一个由I2C主控制器进行存取的单字节中提供。

  其次,定义用于控制LED的从器件,创建一个具有2个地址引脚并能够以10mA的电流来驱动8个LED(分为4红4绿)的器件。定义被称为“Command”的单字节用于执行I2C的命令输入,以控制LED。该字节的4个低位用于控制红光LED,而4个高位则负责控制绿光LED。

  接下来,还可以更加细致地定义定制I2C主控制器/从控制器的接口,进一步实现从控制级的客户化设计。如果想把系统主控制器从一个轮询器件变为一个接收报警信号的中断器件时,则可以给按钮输入设备增加一根输出线。这些改动能够进一步地把主系统处理器与低级设备相隔离,并提供了在不影响主系统的情况下继续改善子系统的更大灵活性。

  将分而治之的概念推广到所有的通信总线

  本文所讨论和说明的概念可适用于任何的总线类型,需要做的是定义满足各种不同需要的协议,以最大限度地缩短无线、便携系统中的传输时间,或是在苛刻的工业环境中实现完善的检错/纠错。

  主控制器可以被称为集线器,从控制器可以被看作一个节点并具有预定的响应时间,但是,分而治之的思想仍然适用:把普通、重复的测量和低级控制分配给级别最低的点,而将重要的工作留给系统控制器来完成。另外,在各种情况下都必须建立功能强大、精确定义的接口,以便为下一级的设计留出一定的自由度,在不影响较高级设备的情况下方便地改变设计方案。

0
0
(请您对文章做出评价)
1】【2
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

  • 博客推荐

  • 论坛推荐

  • 在线研讨会