嵌入式控制器的输入端口设计分析
时间:06-08
来源:EDN
点击:
引 言
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4部分组成,用于实现对其他设备的控制、监视或管理等功能。
不管是在科研设备中还是在家用微波炉中,都可以看到嵌入式控制技术的影子,嵌入式控制技术已经成功的应用在各种领域中,并且越来越广泛的进入到人们的生活中。
在控制电路的设计中,数据的输入/输出端口是控制器完成数据输出和接收功能的关键部分,因此这一部分电路设计的好坏关系到控制器能否正常工作。1 数字输入端口逻辑设计分析。
1 数字输入端 口逻辑设计分析
以控制器为中心,按照数据的流向分,控制器的端口分为数字输入端和数字输出端两种,其中最简单的一种I/O形式是数字输入。下面从最简单的数字输入端设计来讨论在输入端口设计中遇到的实际问题和解决方法。由于控制器的数据输入输出引脚数量少,并且在使用时要分时复用,因此一般控制器和外部设备之间使用缓冲器或锁存器连接。如图1所示,缓冲器74HC244放置在处理器和外部器件之间,当处理器要读取连接在外部接口上的设备信号时,处理器通过READ引脚使74HC244输出引脚有效。这样,外部设备数据就能够通过74HC244的A0~A3和B0~B3引脚传输到74HC244的缓冲器中,然后被送到数据总线上,微控制器就能够读入设备的数据了。
图1
图1所示的接口方式适合于输入端少的情况,而对于现在面向便携式设备的SoC设计,不仅要求性能高、体积小,更要求功耗低。一般而言,SoC的静态功耗很小,而对负载电容充放电的动态功耗很大。如果总线上挂着很多功能设备,那么会导致总线的电容负载很大。如果总线与片外设备联系,那么控制器还要驱动很长的片外连线以及片外设备。如果系统设计有许多数字输入端,那么采用74HC244这种输入方案就会有些问题。这是由于74HC244三态输出端的最小电容值为20 pF,比SoC内部各节点的电容负载0.05 pF高出三个量级,过多的74HC244连接会使处理器数据总线上的电容负载值比较大,使得数据总线无法接收数据。
为了减小电容对数据输入的影响,可以对图1所示的方案改进成如图2所示的方案,采用数据选择器来替代74HC244,比如用74HC257。74HC257输出端的最大电容值为15 pF,比74HC244的输出端电容稍小一些。从图2中可以看到,采用74HC257可以使控制器的一条数据总线连接两条输入端,这就相当于一条数据总线的输入电容值只有7.5 pF。当然,也可以采用8选1的数字逻辑电路,比如74LS138或74HC151,但是它们没有三态功能,因此要与74HC244结合使用,来提供数字输入功能。这样能使处理器每条数据总线的输入电容降为只使用74HC244时的1/8。
图2
如果系统设计中不需要对多于数据总线数量的数字输入端进行同时取样,以上的74HC244 和 74HC257方案就完全可以适用。如果在系统设计中,要求必须同时取样大量的数字输入端,就必须 在电路设计中使用锁存器来锁存数据。在电路设计中,经常使用的锁存器是74HC374和74HC574,这两种锁存器的功能相当。由于74HC574的输入引脚和输出引脚分列在集成块的两边,这样的排列使制作印刷电路板时的布线比较简单;另一方面,74HC574的输出电容值为15 pF,这个值与74HC244的输出电容值几乎一样,因此在设计中一般选用74HC574,电路连接如图3所示,使用锁存器可以同时取样大量的数据输入端。
图3
数据选择器可以降低每条总线的负载电容值,而不能同时取样数据输入端。使用数据锁存器,会增大数据总线的电容负载,这样就必须在取样数据线的数量和采用数据选择器的数量之间找到一个恰当的点。
图4给出了一个较好的解决方案。在电路中,移位寄存器74HC597被级联在一起,并且与控制器的总线相连接, 这样可以给处理器提供大量的数字输入引脚,同时每条总线上的电容负载值又可以达到最小。
图4
74HC597是移位寄存器,它有8个触发器与输入引脚相连,这些触发器是边沿触发的输入锁存器;同时,74HC597有另外的8个边沿触发的锁存器串联在一起,构成移位寄存器。在图4中,当胶粘逻辑一个上升沿信号给RCLK时,数据输入引脚的信号被同时取样,接下来处理器通过胶粘逻辑传送一个信号给SRLOAD,使取样得到的数据从输入锁存器移入移位寄存器。在移位寄存器内,处理器通过SRCLK使数据每一时钟周期移动一位,数据在READ端允许读出时,由D0引脚送到数据总线上。
还可以对这个电路进行简单变形,将74HC597的QH信号引脚通过一个多路缓冲器连接到每一条数据总线上,比如采用74HC244,这样改进后,减少了处理串行数据的时间,并且可以一次读出。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4部分组成,用于实现对其他设备的控制、监视或管理等功能。
不管是在科研设备中还是在家用微波炉中,都可以看到嵌入式控制技术的影子,嵌入式控制技术已经成功的应用在各种领域中,并且越来越广泛的进入到人们的生活中。
在控制电路的设计中,数据的输入/输出端口是控制器完成数据输出和接收功能的关键部分,因此这一部分电路设计的好坏关系到控制器能否正常工作。1 数字输入端口逻辑设计分析。
1 数字输入端 口逻辑设计分析
以控制器为中心,按照数据的流向分,控制器的端口分为数字输入端和数字输出端两种,其中最简单的一种I/O形式是数字输入。下面从最简单的数字输入端设计来讨论在输入端口设计中遇到的实际问题和解决方法。由于控制器的数据输入输出引脚数量少,并且在使用时要分时复用,因此一般控制器和外部设备之间使用缓冲器或锁存器连接。如图1所示,缓冲器74HC244放置在处理器和外部器件之间,当处理器要读取连接在外部接口上的设备信号时,处理器通过READ引脚使74HC244输出引脚有效。这样,外部设备数据就能够通过74HC244的A0~A3和B0~B3引脚传输到74HC244的缓冲器中,然后被送到数据总线上,微控制器就能够读入设备的数据了。
图1
图1所示的接口方式适合于输入端少的情况,而对于现在面向便携式设备的SoC设计,不仅要求性能高、体积小,更要求功耗低。一般而言,SoC的静态功耗很小,而对负载电容充放电的动态功耗很大。如果总线上挂着很多功能设备,那么会导致总线的电容负载很大。如果总线与片外设备联系,那么控制器还要驱动很长的片外连线以及片外设备。如果系统设计有许多数字输入端,那么采用74HC244这种输入方案就会有些问题。这是由于74HC244三态输出端的最小电容值为20 pF,比SoC内部各节点的电容负载0.05 pF高出三个量级,过多的74HC244连接会使处理器数据总线上的电容负载值比较大,使得数据总线无法接收数据。
为了减小电容对数据输入的影响,可以对图1所示的方案改进成如图2所示的方案,采用数据选择器来替代74HC244,比如用74HC257。74HC257输出端的最大电容值为15 pF,比74HC244的输出端电容稍小一些。从图2中可以看到,采用74HC257可以使控制器的一条数据总线连接两条输入端,这就相当于一条数据总线的输入电容值只有7.5 pF。当然,也可以采用8选1的数字逻辑电路,比如74LS138或74HC151,但是它们没有三态功能,因此要与74HC244结合使用,来提供数字输入功能。这样能使处理器每条数据总线的输入电容降为只使用74HC244时的1/8。
图2
如果系统设计中不需要对多于数据总线数量的数字输入端进行同时取样,以上的74HC244 和 74HC257方案就完全可以适用。如果在系统设计中,要求必须同时取样大量的数字输入端,就必须 在电路设计中使用锁存器来锁存数据。在电路设计中,经常使用的锁存器是74HC374和74HC574,这两种锁存器的功能相当。由于74HC574的输入引脚和输出引脚分列在集成块的两边,这样的排列使制作印刷电路板时的布线比较简单;另一方面,74HC574的输出电容值为15 pF,这个值与74HC244的输出电容值几乎一样,因此在设计中一般选用74HC574,电路连接如图3所示,使用锁存器可以同时取样大量的数据输入端。
图3
数据选择器可以降低每条总线的负载电容值,而不能同时取样数据输入端。使用数据锁存器,会增大数据总线的电容负载,这样就必须在取样数据线的数量和采用数据选择器的数量之间找到一个恰当的点。
图4给出了一个较好的解决方案。在电路中,移位寄存器74HC597被级联在一起,并且与控制器的总线相连接, 这样可以给处理器提供大量的数字输入引脚,同时每条总线上的电容负载值又可以达到最小。
图4
74HC597是移位寄存器,它有8个触发器与输入引脚相连,这些触发器是边沿触发的输入锁存器;同时,74HC597有另外的8个边沿触发的锁存器串联在一起,构成移位寄存器。在图4中,当胶粘逻辑一个上升沿信号给RCLK时,数据输入引脚的信号被同时取样,接下来处理器通过胶粘逻辑传送一个信号给SRLOAD,使取样得到的数据从输入锁存器移入移位寄存器。在移位寄存器内,处理器通过SRCLK使数据每一时钟周期移动一位,数据在READ端允许读出时,由D0引脚送到数据总线上。
还可以对这个电路进行简单变形,将74HC597的QH信号引脚通过一个多路缓冲器连接到每一条数据总线上,比如采用74HC244,这样改进后,减少了处理串行数据的时间,并且可以一次读出。
- 基于CH375的嵌入式USB文件加解密系统的设计(06-22)
- 浅谈嵌入式系统的电路板标准(06-08)
- 基于嵌入式微处理器EP9315的二次开发技术(06-15)
- 嵌入式应用对微处理器的需求(05-30)
- 一种时间触发的多任务调度器设计(06-07)