0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何构建一个简单的UART到磁带接口

454398 来源:工程师吴畏 2019-08-01 11:00 次阅读

示意图

如何构建一个简单的UART到磁带接口

UART到盒式磁带接口如何工作?

要将数据保存到磁带上,我们必须转换我们的串行数据(来自UART)到磁带盒驱动器可以记录的音频信号。考虑到磁带的频率范围充其量是非常糟糕的,我们将不得不使用低频音频音调。由于电路的设计考虑了简单性,我们将使用单音系统,其中音调的存在代表1位而没有音调代表0位。其他磁带系统使用频率键移位,其中频率变化代表数据,但包含更复杂的电路(如带通滤波器等)。

第一步我们将记录数据,这是通过一个555非稳态电路(IC1)和一个单位增益缓冲器(U1A)完成的。当UART输入为高电平时,555的复位引脚也为高电平,这导致555产生大约4kHz的方波。当输入为低电平时,555的复位也很低,这可以防止555振荡,从而不会产生音调。然后通过U1A缓冲该音调以改善输出阻抗,然后将其馈入旁路电容器以产生振荡大约0V的音调,而不是具有正偏移。然后,该旁路信号直接连接到盒式磁带录音机的输入端,因此,当串行数据被发送到该电路时,它将导致数据编码的音调被记录到磁带上。

第二步是读取我们保存到磁带上的数据。这是通过两个电路实现的:施密特触发器和555单稳态电路。如果从磁带检测到大信号(即,我们记录的音调的声音),则施密特触发器用于产生输出,如果没有检测到音调(即,来自我们的数据的0),则没有输出。唯一的问题是,当有音时,施密特触发器将以与输入音调(4kHz)相同的速率打开和关闭。因此,我们必须使用一个在检测到快速音调时保持打开的电路。这是monostable的用武之地(IC3)。但这不是你普通的单稳态;这个单稳态是一个可以重新触发的! monostable被设计为在触发时保持300us,但如果555在打开状态期间被重新触发,它将不会重新启动单稳态。这就是Q1的功能 - 使电容器C8放电,该电容器C8直接负责单稳态导通。因此,到555单稳态电路的重复信号(即音调)将导致单稳态保持开启直到没有进一步的触发。结果是输出与输入的原始UART信号相匹配。

当UART的波特率为300时,电路效果最佳,并且非常可靠。 RV1是一个调节输出信号强度的电位计,而RV2将调节施密特触发器的触发电平。如果您正在努力读取数据,RV2是需要考虑的因素,但如果配置正确,则该电路非常准确,几乎没有丢失的位。波特率可以增加,但这需要更高的频率音调和更快的单稳态。单稳时间略长于音调时间,以确保单稳态在重复触发之间保持不变。

构造

像我的大多数电路一样,一个是由所有通孔部件制成的;上班很容易。该项目可以使用许多技术构建,包括面包板,条板和PCB。就个人而言,为方便起见,我在这个项目中使用了PCB,并且附有PCB文件(包括CNC代码),因此你也可以构建这个PCB!

酷想法

我想尝试的一个想法是将其用作调制解调器。如果构建其中两个,一侧连接到一部电话而另一侧连接到第二部电话,理论上,您应该能够通过电话线传输数据。电话信号质量差可能不允许这样,但如果它有效,你基本上可以设计自己的互联网系统和协议!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • uart
    +关注

    关注

    22

    文章

    1156

    浏览量

    99938
收藏 人收藏

    评论

    相关推荐

    串联的总线舵机是不是只用UART接口就能控制呢?

    串联的总线舵机是不是只用UART接口就能控制呢
    发表于 03-07 06:30

    TC1728没有LIN接口,只有UART接口,可以用UART接口实现LIN接口吗?

    TC1728没有LIN接口,只有UART接口。可以用UART接口实现LIN接口吗?
    发表于 02-06 06:51

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢? RT-Thread的RTT_Draco是一款高性能的MCU芯片,它提供了外置UART接口(TXD,RXD)用于
    的头像 发表于 01-16 17:11 331次阅读

    嵌入式系统串口UART接口为啥没有数据输出

    点击关注,电磁兼容不迷路。1.简单解释SOC的串口UART接口做啥用雷卯大家常说嵌入式里面的串口,一般是指UART(UniversalAsynchronousReceiverTrans
    的头像 发表于 08-16 11:47 539次阅读
    嵌入式系统串口<b class='flag-5'>UART</b><b class='flag-5'>接口</b>为啥没有数据输出

    移植FPGA上只有JTAG接口,进行MCU调试是采用其他扩展引脚定位为MCU的JTAG调试?

    移植FPGA上,只有JTAG接口。再进行MCU调试的话,是采用其他扩展引脚定位为MCU的JTAG调试?还是使用FPGA的uart串口
    发表于 08-11 13:41

    构建简单的裸机程序使用Arm DS-5

    本教程将带您完成创建、配置和构建简单的裸机程序使用Arm DS-5。要在应用程序构建完成后运行它,本教程将带您完成配置
    发表于 08-02 08:27

    如何使用Arm Compiler 5工具链构建简单的C程序

    使用Arm编译器构建hello世界教程向您展示了如何使用Arm Compiler 5工具链构建简单的C程序。 本教程超越了基础知识,探索
    发表于 08-02 06:57

    如何构建一个简单的家庭自动化

    电子发烧友网站提供《如何构建一个简单的家庭自动化.zip》资料免费下载
    发表于 07-05 11:41 0次下载
    如何<b class='flag-5'>构建</b>一个<b class='flag-5'>简单</b>的家庭自动化

    简单的音乐游戏构建

    电子发烧友网站提供《简单的音乐游戏构建.zip》资料免费下载
    发表于 06-20 09:54 0次下载
    <b class='flag-5'>简单</b>的音乐游戏<b class='flag-5'>构建</b>

    构建一个简单的机械臂

    电子发烧友网站提供《构建一个简单的机械臂.zip》资料免费下载
    发表于 06-14 14:55 0次下载
    <b class='flag-5'>构建</b>一个<b class='flag-5'>简单</b>的机械臂

    想要构建简单的wifi温度计,在哪里可以找到这样简单的工具包和源代码?

    我们正计划构建简单的 wifi 温度计。内置热电偶。可充电电池。Android 应用程序以 F 和 C 显示温度。电池百分比。任何演示套件随时可用?请告诉我们在哪里可以找到这样
    发表于 06-01 09:15

    想要构建简单的wifi可充电电池充电,在哪里可以找到这样简单的工具包和源代码?

    我们正计划构建简单的 wifi 可充电电池充电。计划使用简单的典型 3.7V 2500mAh 锂离子 USB 可充电电池或类似硬件。显示
    发表于 06-01 07:14

    如何通过GCC为ARM构建简单的代码?

    我可以通过 GCC 为 ARM 构建简单的代码,我正在尝试使用 gdbserver 和 arm-none-eabi.gdb 在 MCB4300 上运行它。链接器脚本和启动代码取自
    发表于 05-24 07:23

    如何为5.8ghz wifi频段构建简单的wifi中继器?

    似乎没有任何供应商提供双频 wifi 模块?我想为 5.8ghz wifi 频段构建简单的 wifi 中继器。这是用于 FPV 的无人机,因此它必须是 5.8ghz wifi。2.
    发表于 05-16 07:29

    如何构建简单的传感器?

    您可以自己构建简单的传感器。 我的博客上有 PNP 和
    发表于 04-28 08:23