几乎是摩尔定律的必然结果:明年,微机将具有更多功能,软件开发团队也会有更宏大的构想。可惜,输出针脚的数量并未增加。找到一个多余输出端口用于诊断、测试或标准I/O都是很困难的。图1中的单一针脚“总线”以简单的附加硬件可提供无数的并行输出。带有RC低通滤波器的微机输出,控制串/并转换器HC164。要向串/并转换器中输入数据,每个位中要含有1-0-1的转换,这种转换可改变低态的长度。如果低态长于低通滤波器的时间常数,会有一个0转到寄存器中。如果低态较短,则有一个1转入寄存器中。这样时钟和数据信号结合成单一信号。低通滤波器可将时钟信号与数据信号分离开。 尽管图1中的电路可控 在微控制器(MCU)和数字信号处理器(DSP)的应用中,经常遇到的问题是有限的输出端口资源。随着技术的发展,微处理器的功能越来越强大,但物理接口的限制常常成为扩展应用的瓶颈。针对这一问题,可以利用RC低通滤波器来扩展微机的输出端口,实现对多个设备的控制。 RC低通滤波器是一种基本的模拟电路,由电容(C)和电阻(R)组成,它可以滤除高频信号,只允许低频信号通过。在这个特定的应用中,RC滤波器被用来分离时钟信号和数据信号,从而在一个单一的输出端口上实现多路并行输出。 图1展示的电路设计中,微机的输出通过一个RC滤波器连接到串/并转换器HC164。在串/并转换过程中,数据被编码为1-0-1的序列,不同的低电平持续时间代表不同的数据位。如果低电平状态持续时间超过了RC滤波器的时间常数,滤波器会识别这个长脉冲为0;相反,如果低电平状态较短,滤波器则会将其解释为1。通过这种方式,时钟信号和数据信号可以复用同一根线,滤波器确保了它们的有效分离。 尽管这样的设计能够有效扩展输出端口,但它可能并不适用于所有类型的负载。例如,对于反应速度较慢的设备,如继电器或液晶显示器(LCD),这种方案可能是合适的。然而,如果连接的是快速响应的设备,如发光二极管(LED),在数据写入期间可能会出现闪烁现象,因为每个位的转换都会导致LED的亮度变化。为了解决这个问题,图3提供了一个改进的电路,它使用了串入/并出寄存器4094,该寄存器有一个频闪输入,可以同时更新所有输出,避免了中间级别的闪烁。 这个4094寄存器与两个单稳态多谐振荡器配合工作,一个产生数据信号,另一个产生频闪信号。这样,所有的并行输出可以同步更新,适用于那些要求无闪烁显示的场合,比如基于HD44780的液晶显示模块。 通过巧妙地利用RC低通滤波器和适当的串/并转换技术,可以有效地扩展微控制器的输出端口,以适应更多的I/O需求。这种方法不仅节约了宝贵的硬件资源,还能够根据负载的不同需求进行调整,为系统设计提供了灵活性。不过,需要注意的是,在实际应用中,必须仔细选择RC滤波器的参数,以确保正确地分离时钟和数据信号,并满足负载的响应速度要求。同时,还要考虑系统的整体性能和稳定性,以确保设计的可靠性和实用性。
- 粉丝: 5
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于微信小程序的点餐系统源码(高分项目代码)
- YOLOv3 的最小 PyTorch 实现.zip
- python 字符解析 单词表 排版 txt转excel 自动分列
- C++中的`std::move`与`std::forward`:完美转发与移动语义的精髓
- yolov3 的 tensorflow 实现.zip
- python-android-dist-v0.7.1.tar.gz
- YOLOv3 的 Keras 实现(Tensorflow 后端).zip
- 深入解析YOLO算法:边界框预测与代码实现
- YoloV3 在 Tensorflow 2.0 中的实现.zip
- C#winform 一个简单的图形配置工具.zip,插入电子元件,虚线方框等等