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

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

3天内不再提示

接收器是一种低成本μC,可检测传输速率并根据新速率调整其软件

PCB线路板打样 来源:LONG 2019-08-13 16:07 次阅读

RS-232是PC世界中最常见的串行接口。大多数RS-232接口以固定传输速率与接收器通信,例如9600波特。但是如果变送器以不同的传输速率运行会发生什么?不同的传输速率要求接收器检测速率并将软件调整到新的通信速度。以下关于接收器如何检测RS-232接口的传输速率的描述没有描述接收和发送例程的实现。相反,它描述了一个由发射器和接收器组成的系统。发送器(例如,PC)将字符发送到接收器。接收器是一种低成本μC,可检测传输速率并根据新速率调整其软件。实现原理很简单。

发送器向接收器发送校准值。接收器测量接收校准值位的时间。基于该测量,接收器计算1比特的传输时间。该方法将此时间用于波特率发生器。诀窍是测量输入比特流的时间并计算接收1比特的平均时间。自动波特例程的这种实现假设接收器知道校准值的比特序列并且接收器知道何时校准。该技术使用PIC16C54BμC。 μC通过MAX232芯片连接到PC。 PC将校准字符发送到μC。我们选择ASCII值为“?”因为比特序列。自动波特率例程测量接收比特流中的那些的时间,然后将时间除以6。结果是例程接收或发送1位所需的时间。

由于PIC16C54B没有硬件USART,因此软件程序会测量位序列的时序。清单1给出了autobaud例程的源代码。校准字符包含一个起始位,一个停止位和无奇偶校验位。对于时间测量,该技术使用16位计数器,该计数器提供一系列传输速度。在例程的第一部分,软件初始化计数器和自动波特率状态寄存器AUTOB_STATUS。寄存器存储有关自动波特率例程的输入信号是否太慢或太快的信息。您可以使用此信息检查校准过程是否成功。初始化之后,自动波特率程序查找起始位,这是一个逻辑从一到零的转换。检测到起始位后,自动波特率程序会查找反向转换。检测到此转换后,例程开始使用16位软件计数器测量时间。软件递增16位计数器的低字节,直到计数器溢出。

当发生溢出时,16位计数器的高字节递增1。这个过程一直持续到从逻辑1变为零或计数器的高字节溢出为止。在任何一种情况下,例程都会在AUTOB_STATUS中设置一个标志,以指示输入信号是快还是慢。否则,软件计算1位的传输时间。此时间会生成发送或接收例程的波特率。这些例程需要1比特的传输时间,以产生用于比特采样的延迟或用于比特传输。软件通过将测量时间除以校准值中传输的数量来计算1位的传输时间。在校准值“?”的情况下,有必要将测量时间除以6。除以6需要将16位计数器/寄存器向右移动三次,同时从左侧绘制零。除法后,程序将位时间除以2,计算半位的传输。该时间图在接收例程中用于将位采样置于位的中间。除以2需要将16位计数器简单地移位到左侧的一个位置。程序将此操作的结果存储在两个寄存器中:AUTOHALF_LOW和AUTOHALF_HIGH。

程序完成此计算后,需要将1.5位的传输时间调整为软件开销。该调整涉及减去执行发送或接收例程所需的指令周期数。减法后,软件会验证结果是否小于零。如果是这样,输入信号太快,并且例程在AUTOB_STATUS寄存器中设置错误标志。调整后,软件通过验证16位计数器的值为零来验证输入信号是否过快。如果输入信号不是太快,则自动波特率例程返回到操作系统

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

    关注

    14

    文章

    2214

    浏览量

    70629
  • PCB打样
    +关注

    关注

    17

    文章

    2965

    浏览量

    21376
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27455
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42567
收藏 人收藏

    评论

    相关推荐

    低成本485中继的原理与设计

    ,并将接收下来的数据送往U2,由U2将数据向右边的485发送出去。同理,当U2先接收到数据时,可由U1将数据向左边的485发送出去。 值得提的是:R8、C3时间常数应
    发表于 12-23 17:42

    串口线传输距离

    。由于接收器采用高输入阻抗和发送驱动比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多接10个节点。即
    发表于 02-27 16:01

    15 W无线充电接收器参考设计

    有线充电设置为首选项,以便节省能源I2C和UART保留了接收器与主AP (应用处理)进行通信的能力,可用于安全或内容交付功能本参考解决方案附带恩智浦嵌入式无线充电器软件库,
    发表于 06-25 17:42

    RF采样:全新的采样速率数据转换

    找到一种具有足够采样速率能力和动态范围来捕获高端通信设备所需宽带信号的数据转换...... 图1:适用于宽带信号的传统超外差接收器架构 全新的更高采样
    发表于 09-06 14:58

    实测lora传输速率

    /(197844-70444)=446 2、速率=100*142*8*1000/(306874-197844)=10423、速率=50*142*8*1000/(368444-306874)=923结论:单个包终端接收
    发表于 01-14 11:19

    基于ADV7612 HDMI接收器低成本解决方案

    EVAL-ADV7612-7511,Advantiv视频评估板(AVEB)是低成本解决方案,用于评估ADV7612 HDMI接收器和/或ADV7511 HDMI发送的性能。评估板
    发表于 03-07 09:55

    串口通信方式1输入“接收器以所选择波特率的16倍速率采样RXD引脚电平”

    教程的原话:“用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存
    发表于 08-15 23:42

    低成本无线射频芯片A7105

    A7105是低成本且适用于2.4GHz ISM频段的无线应用的射频芯片。内置高灵敏的接收器(1Mbps@ -93dbm),所以在10米以内的应用产品,工作频率编程设置,最高速率50
    发表于 06-27 14:07

    IT66021FN是单端口HDMI接收器

    单端口HDMI1.4个具有3D支持的接收器般说明IT66021FN是单端口HDMI接收器,与HDMI 1.4b,HDMI 1.4b 3D完全兼容 HDCP 1.4以及向后兼容DVI 1.0规范
    发表于 08-11 11:34

    为什么要设计一种低成本的差动音频信号传输方案

    为什么要设计一种低成本的差动音频信号传输方案?低成本的差动音频信号传输方案有哪几种?分别有什么优势?
    发表于 07-30 06:43

    Silicon Labs无线接收器Si4355可以同时支持传输速率为2.4/9.6Kbps的数据吗?

    Silicon Labs无线接收器Si4355可以同时支持传输速率为2.4/9.6Kbps的数据吗?
    发表于 10-28 08:25

    1394的传输速率是多少?

    1394的传输速率是多少? 1394a 传输速率高达400Mbp/s 1394b 传输速率
    发表于 04-14 18:46 3703次阅读

    网卡的传输速率

    网卡的传输速率  网卡速率是指网卡每秒钟接收或发送数据的能力,单位是Mbps(兆
    发表于 12-26 11:51 2305次阅读

    转换器的传输速率

    转换器的传输速率 不同的转换器产品由于转换接口的不同,传输速率也不同,典型接口传输速率如下:
    发表于 01-08 14:05 673次阅读

    收发器的传输速率

    收发器的传输速率  不同的收发器产品由于转换接口的不同,传输速率也不同,典型接口传输速率
    发表于 01-08 14:16 4040次阅读