N年前做门禁系统上位机软件开发的时候突击培训过串口通信编程基础。后来在我的脑海里一直认为RS485总线能且只能挂接256个设备(因为地址是1byte,取值范围也就0-255)。
后来经过几个项目的了解,发现这个数字有着比较大的出入。有专门做串口嵌入式设备开发的说RS485总线只能挂接32个节点,这是由它自身的驱动能力决定的。而到网上搜索发现有人说可以支持128个,也有说能支持256个,甚至400个......莫衷一是。
后来静下心来找了一些资料发现他们说的都没错(咳,只怪自己理解有误没有理论联系实际啊):
485通讯中一个串口可以控制多少个设备的问题是与该485网络中的电气特性和协议特性所决定的。所谓电气特性就是指的是要保证485网络中的特征阻抗在允许的范围内,应该是120欧姆左右,连接的设备越多,特征阻抗越小,所以一般在485网络中一般都要加120欧姆的终端电阻。同时还要保证信号的衰减在可接受范围内。如MIXIM489,你就知道他能分辨的电压是什么了。所以就有了长距离传输加中继的情况了。所谓协议特性是指在485网络中传输的协议支持的寻址范围,如MODBUS应该是32个,不过好象只能连接31个设备,因为还有一个留给自己(应该是这样,具体的我有点忘记)。
设备数和接口驱动芯片有关: 32 SN75176,MAX490,MAX485,SN75179,SN75180,MAX488等 64 SN75184 128 MAX487 256 MAX1482,MAX3080等。
RS-485的”节点数”主要是依”接收器输入阻抗”而定;根据规定,标准RS-485接口的输入阻抗为≥12kΩ,相应的标准驱动节点数为32个。为适应更多节点的通信场合,有些芯片的输入阻抗设计成1/2负载(≥24kΩ)、1/4负载(≥48kΩ)甚至1/8负载(≥96kΩ),相应的节点数可增加到64个、128个和256个。以泓格的I/O模块为例,每个485网络最多的节点为256个,加中继I-7510后,每个485网只要工作在不同的波特率:1200,2400,4800,9600,19200,38400,57600,115200之下,就可以允许相同的地址号。所以中继模块不但可以使通讯距离增加,还可以增加节点数。泓格模块的485网络中节点数最大为:256*8=2048个。
一条RS485总线能并联多少台设备要看什么芯片,并和所用电缆的品质相关,节点越多、传输距离越远、电磁环境越恶劣,所选的电缆要求就越高。
支持32个节点数的芯片:SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX490
支持64个节点数的芯片:SN75LBC184
支持128个节点数的芯片:MAX487,MAX1487
支持256个节点数的芯片:MAX1482,MAX1483,MAX3080~MAX3089
关键字:RS485总线 串口通信
引用地址:
RS485总线究竟能挂接多少个设备?
推荐阅读最新更新时间:2024-05-02 23:52
LabVIEW与STC89C54单片机串口通信实现
1.概述 在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、PLC等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种高级语言,比如VB、Delphi等以及NI公司的图形化虚拟仪器软件开发环境LabVIEW.由于LabVIEW采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今LabVIEW已经渗透到工业测量的各个领域,与此同时在嵌入式、FPGA、DSP、实时控制等领域也发挥着巨大的作用。 2.
[单片机]
labview与单片机串口通信
VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。 VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪器。它还支持多平台工作、多接口控制,是一个多类型的函数库。 在LabVIEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。 在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户
[单片机]
STM32之USART串口通信<二>
一、简单demo 通过232串口,与上位机进行通信。首先保证单片机232串口与电脑的串口接口相连,当然电脑是USB接口,其实USB接口的实质也是串口。我们实现上位机发送一个16进制的数据,单片机接受到数据后显示,并且2倍发送给上位机。 1、usart_init();串口初始化 void usart_init() { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructrue; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA
[单片机]
RS485总线基本入门常识
1. RS485 总线基本特性 根据RS485 工业总线标准,RS485 工业总线为特性阻抗120Ω的半双工通讯总线,其最大负载能力为32 个有效负载(包括主控设备与被控设备)
2. RS485 总线传输距离 当使用0.56mm(24AWG)双绞线作为通讯电缆时,根据波特率的不同,最大传输距离理论值如下
波特率 最大传输距离
2400Bps 1800米
4800Bps 1200米
9600Bps 800米
3. 连接方式与终端电阻
a) RS485工业总线标准要求各设备之间采用菊花链式连接方式,两头必须接有120Ω终端电阻。(如图1)简化连接可采用图2,但“D”段距离不得超过7 米
[嵌入式]
μC/OS—II的嵌入式串口通信模块设计
在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率、缩短开发周期。μC/OS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8"32位不同框架的微处理器上。但μC/OS-II仅是一个实时内核,它不像其他实时操作系统(如嵌入式Linux)那样提供给用户一些API函数接口。在μC/OS-II实时内核下,对外设的访问接口没有统一完善,有很多工作需要用户自己去完成。串口通信是单片机测控系统的重要组成部分,异步串行口是一个比较简单又很具代表性的中断驱动外设。本文以单片机中的串口为例,介绍μC/OS—II下编写中断服务程序以及外设驅动程序的一般思路。
1 μC/OS-II的
[工业控制]
基于STM32F103的贴片机控制系统的设计与实现
贴片机又称“表面贴装系统”(Surface Mount System),是一种通过移动、吸取、安放动作把表贴元件精准放置在指定位置的一种自动化设备。在实际生产线中,先由点胶机对PCB板进行点胶操作,然后由贴片机进行贴装操作,最后由回流焊机焊接,完成整个PCB板的焊接任务,是SMT流水线中不可或缺的一环。目前发达国家垄断了贴片机的主要领域,我国的贴片机产业完全靠进口。而且在实际生产中,国际上的自动贴片机虽然效率与精度最高,但大都造价昂贵,功能单一,适用于大型企业。而手动贴片机造价低廉,但效率极低,精度取决于操作者得水平,且无法解放双手。 本文以STM32F103RBT6为主控芯片,设计了一种适应于个体经营者、学校实验以及科研制板等
[单片机]
STM32 串口通信OLED屏幕显示(IIC)心得体会
主机:单片机 从机:oled 当主机向从机写入数据时,从机需要向主机返回应答信号 每写入一个字节,则需等待应答信号:在scl和sda都为高时 当主机向从机中读取数据时,主机需要向从机给应答信号 此时,给应答信号,则表示还需要读取数据;如果给非应答信号,则表示不再读取数据 IIC模式 SDA PA1 //D1 SCL PA2 //D0 DC PA3 //地址选择 0 地址为0x78 1 地址为0x7A RES PA4 //复位引脚 CS PA5 //默认接地 电阻R3换到R1 R8短接 16(8x16)号字体 一个字符纵向占两个字节 横向占一个字节 12(6x8)号字体 一个字符纵向占1个字节 横向占6bit 主
[单片机]
【C51自学笔记】串口通信+RS-232C接口+ RS-422A/RS-485接口
简介: 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。 并行通信 串行通信 串行通信的异步通信 异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。 串行通信的传输方向 单工是指数据传输仅能沿一个方向,不能实现反向传输。 半双工是指数据传输可以沿两个方向,但需要分时进行。 全双工是指数据可以同时进行双向传输。 串行
[单片机]