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

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

3天内不再提示

波特率是如何工作的

科技观察员 来源:allaboutcircuits 作者:大卫·彼得森 2022-04-29 15:16 次阅读

在本文中,我们将探讨数据传输速率的挑战,并讨论波特率在旧通信系统中的作用。

计算机通过从一台设备到另一台设备的线路跨线发送“位”数字信息来进行通信。此过程允许设备向您的计算机发送数据或从您的计算机发送数据,您无需担心设置详细信息 - 它可以正常工作。但是,对于某些设备,我们必须提供有关波特率的信息。什么是波特率,它为什么重要?

数字设备之间通信的每个方面都建立在二进制信息的交易之上。最早的设备使用串行和并行通信端口,根据现代标准,速度通常相对较慢。

几乎所有基于现代技术的设备都在计算机背景下处理通信协调。当您将新设备插入备用 USB 端口时,会出现一条消息,提醒您计算机正在“安装设备驱动程序软件”。延迟几秒后,配置完成,我们再也不用担心了。

pYYBAGJrkOuAVIBrAABhN8ZTf0o901.jpg

图 1。常见的 Allen Bradley MicroLogix 1000 使用串行通信方法,其中波特率在 RSLinx 应用程序中选择。

工业设备有点不同。频繁升级计算机系统可能非常昂贵,更不用说风险了。大多数控制系统都包含久经考验的通信协议,但也有点落后于现代自动配置的便利性。我经常连接到 PLC 并被提示提供诸如“波特率”或“半双工和全双工”等术语的信息,同时手动选择 COM 端口来路由信息。

通信协议速度的限制

之前,我提到了串行和并行通信协议。随着数据流变得越来越复杂,每种方法都有自己增加数据吞吐量的方法。对于并行通信,电缆中并排的更多线路可以发送更多数据。随着电子产品变得更小、更紧凑,这带来了明显的挑战。

对于串行通信,更快的数据速率会带来更高的吞吐量。计算机发展的速度允许数据传输速率不断增加,而无需增加捆绑中的电线数量,这对硬件设计人员来说是个好消息。同时,它也给软件开发团队带来了挑战。

最有可能的是,您的计算机可以非常快速地进行通信。诸如以太网 适配器之类的适配器能够达到每秒 10 千兆比特(每秒 10 亿比特)的速度。但是,如果您希望连接到几十年前的设备,它就无法以这种速度处理数据。

设计软件的挑战是了解外围设备共享数据的速度,然后在与该设备通信时将您的计算机限制在该速度。在现代系统中,这就是神秘的“设备驱动软件”中包含的信息。在这两种设备中,限制因素几乎肯定是较旧、速度较慢的设备。

对于早于自动化配置的硬件,这个速度必须在两端手动协调:计算机和外围设备。

为什么速度需要匹配?

传输数据时,通常由 8、16 或 32 位系列的二进制数据片段组成。这些数据字符串可以表示代码、二进制形式的数值或 8 位 ASCII 字符,例如字母、数字或符号。

pYYBAGJrkOyAL30SAAB-1LSlfyM419.jpg

图 2。DirectLogic 105 及其相关软件 DirectSOFT,说明为正确通信选择波特率。

如果发送设备被告知以特定速率发送数据,但接收设备只期望该数据速率的一半,则它将错过所有其他位。不用说,在接收端,数据将是一堆无用的信息。

波特率通常显示为数据交换率的预选列表,因此用户无法输入她或他自己的任意波特率。这些波特率通常从每秒几百位到每秒超过 100,000 位不等。

经验法则是选择可以实现的最快数据速率,而不会留下太多丢失信息的机会。随着数据速率变得更高,一位受到电缆电容干扰的机会增加,并且数据将被破坏。另一方面,选择太低的数据速率可能会提高可靠性,但会花费太多时间发送和接收消息,从而丢失关键的传感器读数。

常见波特率应用

不要期望在基于以太网的适配器和设备上看到可配置的波特率,但在某些情况下可能会遇到这个障碍。

poYBAGJrkO2ACDQeAABVSSb3WFM776.jpg

图 3。Arduino 编程接口,一个常见的业余爱好微处理器平台,通过 Serial.begin 命令(左上角的椭圆形)为控制器板本身选择波特率,并从 PC 终端的列表中选择(右下角的圆圈)。

串行 COM 端口。许多使用标准和专有 COM 端口的微型 PLC 可能需要有关波特率的信息。我已经配置了许多需要此类信息的 MicroLogix1000 处理器。幸运的是,一旦选择了正确的 COM 端口,RSLinx 通常能够自动配置。

DeviceNet 网络。波特率的另一个限制因素是电缆的距离。导线的运行时间越长,预期的波特率就越慢。制造商的规格概述了此类系统的功能。

微处理器。我经常使用业余爱好的微控制器平台,例如 Arduino。在这个设备中,波特率被输入到程序中并加载到电路板上;同样,必须在软件中选择相同的波特率。

较旧的计算机系统,尤其是工业应用中的计算机系统,通信速度不如以太网或其他协议快。为了缓解这种情况,计算机可能会提示您输入波特率。波特率将有助于确保数字设备之间的通信正确且不会丢失任何数据。

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

    关注

    9

    文章

    1526

    浏览量

    63561
  • 通信系统
    +关注

    关注

    6

    文章

    1066

    浏览量

    53054
  • 波特率
    +关注

    关注

    2

    文章

    280

    浏览量

    33759
收藏 人收藏

    评论

    相关推荐

    想将CANFD配置为8MBPS波特率,TESTBOARD_150PC_OUT如何配置吗?

    我想将 CANFD 配置为 8MBPS 波特率,您可以帮我看看TESTBOARD_150PC_OUT如何配置吗? 我配置了 2mbps 的波特率工作正常,但无法配置 8mbps 的波特率
    发表于 03-04 06:31

    #硬声创作季 #CAN #PLC 总线设计的波特率应该如何选择?

    CAN波特率波特率发生器
    学习电子知识
    发布于 :2022年11月02日 20:00:29

    单片机原理及应用: 波特率#单片机

    单片机波特率波特率发生器
    学习硬声知识
    发布于 :2022年11月06日 15:02:57

    为什么51系列单片机常用11.0592MHz的晶振设计?

    古怪的值,这些晶振都是准确,常被使用的。 答2: 当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1的溢出和SMOD的值(PCON.7------双倍速
    发表于 10-13 17:33

    51波特率问题

    51串口选择同步通信晶振11.0592 波特率= fosc / 12但我要波特率为9600我该怎么做换晶振吗?有刚好适合的晶振吗
    发表于 02-19 00:01

    调试记录:USART1 不能设定 600BPS 的波特率

    问题:想要通过STM32F103VDT6的 USART1 以600BPS的波特率与另一颗器件进行通信。通过编写程序测试发现,该通信接口未能工作在 600BPS 的波特率上,而是工作在一
    发表于 11-07 10:57

    FoSC对波特率的限制是什么?

    我可以得到我的18F46K80波特率工作在40兆赫(10兆赫XTAL PLL),但不在64兆赫(16兆赫XTAL PLL)。FoSC对波特率的限制是什么,比如EASART、ECAN和ADC?好的,ADC不是
    发表于 10-16 06:10

    如何为单个uart配置不同的波特率

    自动检测输入波特率。D然后可以根据波特率来相应地起作用所以有人能告诉我如何为相同的UART组件配置不同的波特率吗?注:实际上,如果我设置单独的波特率(使用时钟,它
    发表于 10-31 10:00

    STM32CUBEMX配置图

    STM32CUBEMX配置图1.配置CAN引脚。2.配置MCU时钟3.配置CAN外设相关的参数、波特率工作模式等。CAN波特率的计算1.因为CAN的时钟是AHB1外设时钟,这里为8MHZ。2.根据
    发表于 08-05 07:21

    CAN波特率的计算

    车辆使用的250K 的波特率,使用STM32制作的控制板中的CAN波特率的计算波特率=APB1Clock/(1+CAN_BS1+CAN_BS2)/CAN_Prescaler(PS:CAN_SJW表示
    发表于 08-20 08:11

    波特率9600是什么意思

    波特率9600是什么意思  波特率是一个电子信号上的术语,用于描述信道的数据传输速度。所谓信道,可以是无线的,也可以是有线的,说白了就是两个东西之间传输数据。波特率通常单位是bit/s,也就
    发表于 03-01 07:52

    做了一块CH342F的双串口板子,CH342F工作及其不稳定是什么原因?

    自己做了一块CH342F的双串口板子,看起来很简单,但用起来很郁闷:刚插上去,很快就识别了,设置1M的波特率工作正常。但过了半个小时,终端提示已断开。此时再重插板子,则提示获取描述符失败或重置失败
    发表于 07-20 06:13

    使用cubemx设置的波特率和实际检测的波特率不一致。

    板子型号:stm32f407zgt6问题:波特率不一致问题。使用cubemx设置一个500k的波特率。设置参数如下:但是使用这个波特率去发送代码,CANalyst-ii怎么也接收不到,最后使用
    发表于 08-13 09:08

    为RT1052切换lpuart波特率问题如何解决?

    和 Deinit &init 的方法。两者都不能在切换到如此低的波特率工作。我们甚至尝试将 uart 模块的时钟源从 pll 更改为 osc,但没有效果。你能帮忙解释一下吗?
    发表于 03-23 07:37

    什么是波特率?为什么要设置波特率

    欢迎来到东用知识小课堂!一、什么是波特率波特率(BaudRate)单位bps是用于衡量串口通信速度的单位,它表示每秒钟发送的比特数。如果一个串口的波特率为9600,就表示该串口在一秒钟内可以发送
    的头像 发表于 04-08 00:00 3786次阅读
    什么是<b class='flag-5'>波特率</b>?为什么要设置<b class='flag-5'>波特率</b>?