分类: 控制协议

A+B+C

2018/11/14 at 15:00分类:控制协议

StartUp1()
{
// Org=0x0381
Name=”Start Task1″
NULL
}

Task1
{
// Org=0x0382
Name=”A+B”
START(0XF5,29,0XFF,0XFE,0X00,255,255)
Delay(0.5)
CancelTask(2) //结束任务2
CancelTask(3) //结束任务3
CancelTask(4) //结束任务4
LDS(0xF5,0x14,0x0F,0xF9,0x00,0x00,0x00)//第四个字节f9为join指令,第三个字节为join值,第二个字节为区域号
Delay(0.5)
LDS(0xF5,0x14,0x03,0xF9,0x00,0x03,0x00)//先拆开然再合并//第六个字节(0X03)为join值

    NULL

}

Task2
{
// Org=0x03A2
Name=”B+C”
START(0XF5,29,0XFF,0XFE,0X01,255,255)
Delay(0.5)
CancelTask(1)
CancelTask(3)
CancelTask(4)
LDS(0xF5,0x14,0x0F,0xF9,0x00,0x00,0x00)
Delay(0.5)
LDS(0xF5,0x14,0x06,0xF9,0x00,0x06,0x00)
NULL
}

Task3
{
// Org=0x03C2
Name=”A+B+C”
START(0XF5,29,0XFF,0XFE,0X02,255,255)
DELAY(0.5)
CancelTask(2)
CancelTask(1)
CancelTask(4)
LDS(0xF5,0x14,0x0F,0xF9,0x00,0x00,0x00)
Delay(0.5)
LDS(0xF5,0x14,0x0F,0xF9,0x00,0x0F,0x00)

    NULL

}

Task4
{
// Org=0x03E2
Name=”A,B,C,拆开”
START(0XF5,29,0XFF,0XFE,0X03,255,255)
DELAY(0.5)
CancelTask(2)
CancelTask(3)
CancelTask(1)
LDS(0xF5,0x14,0x0F,0xF9,0x00,0x00,0x00)

    NULL

}

Task5()
{
// Org=0x0386
Name=”Task 5″
NULL
}

Task6()
{
// Org=0x0387
Name=”Task 6″
NULL
}

Task7()
{
// Org=0x0388
Name=”Task 7″
NULL
}

Task8()
{
// Org=0x0389
Name=”Task 8″
NULL
}

Enocean无线无源技术

2013/08/23 at 21:53分类:控制协议

EnOcean是一种新型的无线传输技术,由德国的EnOcean GmbH公司提出,该技术的同Zigbee、WiFi、Bluetooth、Z-Wave等无线技术相比最大的优点就是极低的功耗,可以在1mW的发射功率传输距离超过300米。

基于超低功耗的特性,EnOcean及其发起的EnOcean联盟成员开发出了一系列的无线、无电池、无限制的开关产品及传感器产品以及和其他网络传输技术衔接的网关产品。这些产品可以不用布线、免维护的运用于绿色节能智能建筑、工业数据采集、仪器仪表及其他很多领域。

EnOcean作为一种绿色无源的新技术,已经在全世界范围内得到了广泛的关注。目前为止,全世界有超过10万座建筑物采用了EnOcean的绿色技术。

世界上现有多家公司正基于该技术开发出造福人类的绿色低碳的高科技产品。比如享誉世界的Thermokon,ABB,Lutuo等公司。EnOcean公司一直致力于将EnOcean技术标准化,对此,EnOcean公司CEO Laurent Giai-Miniet表示:“EnOcean是2001年从西门子独立出来的。采用EnOcean技术的大厦管理系统从2003年起开始启用。在欧洲,使用该技术的大厦为数众多,大约有100家公司的250种产品。但是,有一天,某客户公司表示,不希望依靠特定企业的垄断技术。我们明白技术垄断会成为普及的障碍,因此于2007年10月启动了标准化活动。”今年4月,基于 EnOcean公司技术的设备间无线通信标准“EnOcean”被采纳为国际标准“ISO/IEC 14543-3-10”。ISO/IEC 14543-3-10中规定了协议栈中的物理层、数据链路层和网络层,应用层采用EnOcean普及推进业界团体EnOcean Alliance规定的配置。“我们正在设想使构筑的照明系统实现与“智能住宅”或“智能建筑”的联动。我们推进的“EnOcean”作为该领域的无线技术,正以欧洲为中心获得广泛应用。已经在超过25万栋的大楼上,采用于照明及空调的开关等。”Laurent Giai-Miniet表示,“现在,我们盼望已久的EnOcean终于成为了国际标准。这样我们就可以与ZigBee、无线LAN等其他无线技术在同一舞台上竞争了。我们的技术优势在于功耗低。与同样以低功耗为特点的ZigBee相比,还不到其1/10。”目前,推进EnOcean普及的业界团体EnOcean Alliance的会员企业超过了250家。

最近以日本为代表的亚洲加盟企业也在不断增加。加入EnOcean联盟的日本企业2011年只有两家,到2012年4月已经超过了25家。使用低功耗LED系统,进一步降低照明用电量的时机今后会更加成熟。届时,可降低功耗的控制用无线技术,无疑会更加重要。

Dynalite Dynet Opcodes(RS485公开协议)

2011/09/17 at 19:08分类:控制协议

Below is a listing of some common DyNet
Opcodes, for use by integration programmers wanting to connect to a Dynalite
system:

Interface

Use RS485, 9600,
8 bit data, 1 start bit, 1 stop bit, no parity. Idle between Bytes to be <
1ms. Delay between Packets to be > 10ms.

Logical Message Protocol

8Byte packet,
Checksum = Negative 8 bit 2’s complement sum of Bytes 1-7. All numbers in
hexadecimal:

Select Current Preset

Byte 0: 1C
hex

Byte 1: Area

Byte 2: Fade Rate low Byte (usually 100)

Byte 3: Preset: 0 = P1, 1 = P2, 2 = P3, 3 = P4, A = P5, B = P6, C = P7, D =
P8

Byte 4: Fade Rate high Byte (usually 0)

Byte 5: Preset Bank: 0 = P1 – P8, 1 = P9 – P16, 2 = P17 – P24 etc.

Byte 6: Join

Byte 7: Checksum

Example: Select Preset 4 in Area 1:

[1C] [01] [20] [03] [00] [00] [FF] [C1]

Set to Off

Byte 0 1C
hex

Byte 1 Area

Byte 2 Fade Rate low Byte (usually 100)

Byte 3 4

Byte 4 Fade Rate high Byte (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Turn Area 1 Off:

[1C] [03] [0A] [04] [00] [00] [FF] [D4]

Decrement Level (sent to dimmers)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Fade Rate low Byte (usually 100)

Byte 3 5

Byte 4 Fade Rate high Byte (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Decrease the level of Area 3:

[1C] [03] [1F] [05] [00] [00] [FF] [BE]

Increment Level (sent to dimmers)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Fade Rate low Byte (usually 100)

Byte 3 6

Byte 4 Fade Rate high Byte (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Decrease the level of Area 3:

[1C] [03] [1F] [06] [00] [00] [FF] [BD]

Save Current Preset

Byte 0 –
1C

Byte 1 – Area

Byte 2 – Not used

Byte 3 – Opcode $66

Byte 4 – Not used

Byte 5 – Not used

Byte 6 – Join or Domain

Byte 7 – Checksum

Example: Save Current Preset in Area 1:

[1C] [01] [00] [66] [00] [00] [FF] [7E]

Restore Saved
Preset

Byte 0 –
1C

Byte 1 – Area

Byte 2 – Fade – low Byte

Byte 3 – Opcode 67

Byte 4 – Fade – high Byte

Byte 5 – Not used

Byte 6 – Join or Domain

Byte 7 – Checksum

Example: Restore Saved Preset in Area 1:

[1C] [01] [FA] [67] [00] [00] [FF] [83]

Preset Offset

Byte 0 –
1C

Byte 1 – Area

Byte 2 – Data – Offset value plus Bit 8 set, to distinguish Preset Offset from
Swap Bank

Byte 3 – Opcode $64

Byte 4 – Not used

Byte 5 – Not used

Byte 6 – Join or Domain

Byte 7 – Checksum

Example: Preset Offset of 15 in Area 1:

[1C] [01] [8F] [64] [00] [00] [FF] [F1]

Reset Preset

Byte 0 – 1C

Byte 1 – Area

Byte 2 – Fade – low Byte

Byte 3 – Opcode $0F

Byte 4 – Fade – high Byte

Byte 5 – Not used

Byte 6 – Join or Domain

Byte 7 – Checksum

Example: Reset Preset in Area 1 over 5 seconds:

[1C] [01] [FA] [0F] [00] [00] [FF] [DB]

Area Linking

The Base Area acts
like an Area 0 for all Channels that have that Base Area defined, and is useful
as a global control for a block of Areas. The following is for the 24 Areas
directly above the Base Area, as used by the Set Area Links and Clear Area
Links messages:

Byte 2 Bit 7 is the 1st Area, and Bit 0 is 8th

Byte 4 Bit 7 is the 9th, and Bit 0 is the 16th

Byte 5 Bit 7 is the 17th, and Bit 0 is the 24th

Set Area Links:

Byte 0 –
1C

Byte 1 – Area

Byte 2 – Data – Areas to Link

Byte 3 – Opcode $20

Byte 4 – Data – Areas to Link

Byte 5 – Data – Areas to Link

Byte 6 – Join

Byte 7 – Checksum

Example: Link Areas 4 & 5 (assumes Base Area = 3):

[1C] [04] [80] [20] [00] [00] [FF] [C0]

Clear Area Links

Byte 0 –
1C

Byte 1 – Area

Byte 2 – Data – Areas to Unlink

Byte 3 – Opcode $21

Byte 4 – Data – Areas to Unlink

Byte 5 – Data – Areas to Unlink

Byte 6 – Join

Byte 7 – Checksum

Example: Separate Areas 4 & 5 (assumes Base Area = 3):

[1C] [04] [80] [21] [00] [00] [FF] [C0]

Un Panic

Clears panic
condition (Unlocks Smart Panels & restores previous dimmer Preset)

Byte 0 1C hex

Byte 1 AREA

Byte 2 Unused(usually 0)

Byte 3 18 hex

Byte 4 Unused(usually 0)

Byte 5 Unused(usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Restore normal operation in Area 2:

[1C] [02] [F0] [18] [00] [00] [FF] [DB]

Panic

Sets panic
condition (Locks Smart Panels & selects dimmer Panic Preset)

Byte 0 1C hex

Byte 1 AREA

Byte 2 Unused(usually 0)

Byte 3 17 hex

Byte 4 Unused(usually 0)

Byte 5 Unused(usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Select Panic Mode in Area 2:

[1C] [02] [F0] [17] [00] [00] [FF] [DC]

Request Channel Level (sent to dimmer)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 61 hex

Byte 4 Unused(usually 0)

Byte 5 Unused(usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Request Level of Channel 5 (Area 2):

[1C] [02] [04] [61] [00] [00] [FF] [7E]

Report Channel Level (reply from dimmer)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 60 hex

Byte 4 Target LEVEL (01 = 100%, FF = 0%)

Byte 5 Current LEVEL (01 = 100%, FF = 0%)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Report that Channel 5 (Area 2) Target Level is 58% & Current Level
is 58%:

[1C] [02] [04] [60] [70] [70] [FF] [9F]

Start Fading To
A Level (0.1 sec to 25.5 sec)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 71 hex

Byte 4 CHANNEL LEVEL (01 = 100%, FF = 0%)

Byte 5 Fade Rate (0.1 sec INTERVAL)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Area 2 Channel 3 Fade to 50% over 5 seconds:

[1C] [02] [02] [71] [82] [32] [FF] [BC]

Start Fading to a Level (1 sec to 255 sec)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 72 hex

Byte 4 CHANNEL LEVEL (01 = 100%, FF = 0%)

Byte 5 Fade Rate (1 sec INTERVAL)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Area 2 Channel 3 Fade to 50% over 50 seconds:

[1C] [02] [02] [72] [82] [32] [FF] [BB]

Start Fading to a Level (1 min to 22 min)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 73 hex

Byte 4 CHANNEL LEVEL (01 = 100%, FF = 0%)

Byte 5 Fade Rate (1 min INTERVAL, max of 22)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Area 2 Channel 3 Fade to 50% over 15 minutes:

[1C] [02] [02] [73] [82] [0f] [FF] [DD]

Stop Fading

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 76 hex

Byte 4 Unused (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Area 4 Channel 6 Stop Fading:

[1C] [04] [05] [76] [00] [00] [FF] [66]

Report Preset (reply from dimmers – response from 63 message)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 PRESET NUMBER (0 origin)

Byte 3 62 hex

Byte 4 Unused(usually 0)

Byte 5 Unused(usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Area 4 is currently in Preset 6:

[1C] [04] [05] [62] [00] [00] [FF] [7A]

Request Preset
(sent to dimmers)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Unused(usually 0)

Byte 3 63 hex

Byte 4 Unused(usually 0)

Byte 5 Unused(usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Request Current Preset of Area 4:

[1C] [04] [00] [63] [00] [00] [FF] [7E]

Start Fading to A Level (All Channels in an Area)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 LEVEL (01 = 100%, FF = 0%)

Byte 3 79 hex

Byte 4 Fade Rate low Byte (usually 100)

Byte 5 Fade Rate high Byte (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Fade Area 4 to 50% over 2 sec:

[1C] [04] [82] [79] [64] [00] [FF] [82]

Stop Fading (All Channels In An Area)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Unused (usually 0)

Byte 3 7A hex

Byte 4 Unused (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Halt the Fade in Area 4 at the current level:

[1C] [04] [00] [7A] [00] [00] [FF] [67]

Toggle Channel State(Preset • Off or Off • Preset)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 CHANNEL NUMBER (0 origin)

Byte 3 70 hex

Byte 4 UNUSED (usually 0)

Byte 5 UNUSED (usually 0)

Byte 6 TBAR (usually FF hex)

Byte 7 CHECKSUM

Example: Toggle Channel State of Area 4 CH8:

[1C] [07] [09] [70] [00] [00] [FF] [65]

Program Toggle Preset (sent to dimmer)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Channel Number (0 origin)

Byte 3 7D hex

Byte 4 LEVEL

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Save the Level of Area 4 CH8 to the Toggle Preset:

[1C] [07] [09] [70] [00] [00] [FF] [65]

Leave Program
Mode – Saves light level to the current Preset (sent to dimmers)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Unused (usually 0)

Byte 3 8

Byte 4 Unused (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Save the Current Channel Levels of Area 4 to the Current Preset:

[1C] [04] [00] [08] [00] [00] [FF] [D9]

Lock Control Panels (sent to dimmers with Keyboard inputs and Smart Panels)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Unused (usually 0)

Byte 3 15

Byte 4 Unused (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Lock All Control Panels in Area 6:

[1C] [06] [00] [15] [00] [00] [FF] [CA]

Unlock Control Panels (sent to dimmers with Keyboard inputs and Smart
Panels)

Byte 0 1C
hex

Byte 1 AREA

Byte 2 Unused (usually 0)

Byte 3 15

Byte 4 Unused (usually 0)

Byte 5 Unused (usually 0)

Byte 6 Join (usually FF hex)

Byte 7 Checksum

Example: Lock All Control Panels in Area 6:

[1C] [06] [00] [16] [00] [00] [FF] [C9]

 

KNX技术

2010/11/26 at 16:45分类:控制协议

一、传输技术特点
  KNX/EIB 是一个基于事件控制的分布式总线系统。系统采用串行数据通讯进行控制、监测和状态报告。所有总线装置均通过共享的串行传输连接(即总线)相互交换信息。数据传输按照总线协议所确定的规则进行。需发送的信息先打包形成标准传输格式(即报文),然后通过总线从一个传感装置(命令发送者)传送到一个或多个执行装置(命令接收者)。
knx
  KNX/EIB 的数据传输和总线装置的电源(DC 24V)共用一条电缆。报文调制在直流信号上。一个报文中的单个数据是异步传输的,但整个报文作为一个整体是通过增加起始位和停止位同步传输的。
  异步传输作为共享通讯物理介质的总线的访问需要访问控制,KNX/EIB 采用CSMA/CA(避免碰撞的载波侦听多路访问协议〕,CSMA/CD 协议保证对总线的访问在不降低传输速率的同时不发生碰撞。
  虽然所有总线装置都在侦听并传输报文,但只有具体相应地址的装置才作出响应。为了发送报文,总线装置必需首先侦听总线,等待其他总线装置正在发送报文完毕(这称为载波侦听Carrier Sense)。一旦总线空闲,从理论上说,每个总线装置都可以启动发送过程(这个称为多路访问(Multiple Access)。
  如果两个总线装置同时开始发送,具有高优先级的总线装置无需延迟可继续传送(这称为碰撞避免Collision Avoidance)。同时低优先级的总线装置中止传送,等待下次再试,如果两者具有相同的优先级,那么物理地址较低的可以优先。

二、拓扑结构
  系统最小的结构称为线路,一般情况下(使用一个640mA总线电源)最多可以有64个总线元件在同一线路上运行。如有需要可以在通过计算线路长度和总线通讯负荷后,通过增加系统设备来增加一条线路上总线设备的数量,最多一条线路可以增加到256个总线设备。
  一条线路(包括所有分支)的导线长度不能超过1000m,总线装置与最近的电源之间的导线距离不能超过350m。为了确保避免报文碰撞,两个总线装置之间的导线距离不能超过700m。
  总线电缆可与220V供电电缆并行敷设,并可形成回路和分支。总线导线不需要终端连接器。当总线连接的总线元件超过64个时,则最多可以有15条线路通过线路耦合器(LC)组合连接在一条主线上。上图所述结构称为域。每条线路可以连接64个总线元件,一个域包含15条线路,故可以连接15*64个总线元件。

  安装总线可以按主干线的方式进行扩展,干线耦合器(BC)将其域连接到主干线上。总线上可以连接15个域,故可以连接超过14000个总线元件。

三、总线元件
  总线元件分为两类:传感器和驱动器。
  传感器负责探测建筑物中智能面板的操作;光线,温度,湿度等信号变化;定时器的定时时间到达等信号。
  驱动器负责在接收传感器传送的总线信号并执行相应的操作,如开闭和调节灯光的亮度;上下遮阳电机/调节百叶等;开关空调风机,调节水阀门等。

四、总线电源及技术参数
  每条双绞线KNX/EIB 线路都有自己独立的电源,这就保证即使某条线路断电,KNX/EIB 系统的其他部分仍能正常工作。
  KNX/EIB 总线电源为它所在线路上的每个总线装置提供直流24V安全超低电电压SELV(safety extra low voltage)。
  根据每条总线上的总线设备数量,可以选择160mA 或320mA 或640mA的KNX/EIB 总线电源。KNX/EIB 总线电源还有限压和限流保护装置并提供200ms的短暂断电缓冲。
  总线负载与其所连的总线装置种类相关,总线装置需在大于21.5V的直流电压下工作,总线装置的功耗一般为150mW,但如果有额外耗电的应用单元(如发光二极管LEDs),其功耗可能增加到200mW。如果在短距离(例如在同一个控制盘)内联有超过30个总线装置,那么电源必需安装在这些装置附近。在一条线路内允许连接最多两个电源,两个电源之间必需相隔至少200m(导线长度)的距离。

Cbus Pci Protocol (cbus RS232协议)

2010/05/26 at 16:16分类:控制协议

DMX512协议 中文版

2009/11/22 at 01:45分类:控制协议

前 言……………………………………………………………………..III
1 范围………………………………………………………………………… 5
2 引用标准…………………………………………………………………….. 5
3 术语和定义…………………………………………………………………… 5
4 电气特性和物理层……………………………………………………………… 6
4.1 绝缘要求…………………………………………………………………… 6
4.2 拓扑结构…………………………………………………………………… 7
4.3 DMX512 端口………………………………………………………………… 7
4.4 数据线和地线连接……………………………………………………………. 7
4.5 推荐接地连接……………………………………………………………….. 7
4.6 主要数据链路……………………………………………………………….. 7
4.7 辅助数据链路……………………………………………………………….. 8
4.8 数据链路信号标识/名称……………………………………………………….. 8
4.9 数据链路终接方法……………………………………………………………. 8
4.10 没有加电的设备…………………………………………………………….. 8
5 标称的工作特性……………………………………………………………….. 8
5.1 电池供电设备的机壳………………………………………………………….. 8
5.2 发送器数据链路接地………………………………………………………….. 8
5.3 采用参考地方式的发送器………………………………………………………. 9
5.4 禁止使用的发送器接地方式……………………………………………………. 10
5.5 接收端数据链路接地…………………………………………………………. 10
5.6 隔离的接收机特性…………………………………………………………… 10
5.7 禁止使用的接收机接地方法……………………………………………………. 11
5.8 DMX512 处理设备……………………………………………………………. 12
5.9 负载要求………………………………………………………………….. 12
6 保护……………………………………………………………………….. 12
6.1 消除互连损坏的最低保护要求………………………………………………….. 12
6.2 消除静电(ESD)的最低保护要求…………………………………………………. 12
7 连接方法……………………………………………………………………. 12
7.1 便携式设备的连接器…………………………………………………………. 12
7.2 固定设备连接器…………………………………………………………….. 13
7.3 RJ45 连接器………………………………………………………………… 13
8 数据传输协议………………………………………………………………… 14
8.1 数据格式………………………………………………………………….. 14
8.2 字段数据格式………………………………………………………………. 14
8.3 传输暂停………………………………………………………………….. 14
8.4 传输暂停结束标志…………………………………………………………… 14
8.5 开始码……………………………………………………………………. 14
8.6 数据分块的最大数…………………………………………………………… 16
8.7 数据分块最小数…………………………………………………………….. 16
8.8 字段之间的数据线状态……………………………………………………….. 16
8.9 传输暂停之间的数据线状态……………………………………………………. 16
8.10 两个传输暂停之间的间隔…………………………………………………….. 16
8.11 数据传输时序图……………………………………………………………. 16
9 接收端特性………………………………………………………………….. 18
9.1 拒绝错误接收的数据帧……………………………………………………….. 18
9.2 错误数据的容错和重传……………………………………………………….. 18
9.3 在最大刷新率下的接收性能……………………………………………………. 18
9.4 数据包处理等待时间…………………………………………………………. 18
10 标志和声明…………………………………………………………………. 18
10.1 本标准标识……………………………………………………………….. 19
10.2 DMX512 接口标志…………………………………………………………… 19
10.3 数据线终止标志……………………………………………………………. 19
10.4 接地和绝缘标志……………………………………………………………. 19
10.5 必需的声明和标志………………………………………………………….. 20

 

PDF档下载:

中文版:http://pan.baidu.com/share/link?shareid=243275536&uk=3155103257

英文版:http://pan.baidu.com/share/link?shareid=245522690&uk=3155103257

RS-232、RS-422与RS-485协议标准

2009/11/22 at 01:03分类:控制协议

一、RS-232、RS-422与RS-485的由来
  RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。因此在视频界的应用,许多厂家都建立了一套高层通信协议,或公开或厂家独家使用。如录像机厂家中的Sony与松下对录像机的RS-422控制协议是有差异的,视频服务器上的控制协议则更多了,如Louth、Odetis协议是公开的,而ProLINK则是基于Profile上的。
  二、RS-232串行接口标准
  目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。
  收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。所以RS-232适合本地设备之间的通信。
  三、RS-422与RS-485串行接口标准
   1.平衡传输
  RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。
   通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。
接收器也作与发送端相对的规定,收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。
  2.RS-422电气规定
  RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。
   RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。
  RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。
  3.RS-485电气规定
  由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。
  而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进, 无论四线还是二线连接方式总线上可多接到32个设备。
  RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间,RS-485接收器最小输入阻抗为12k剑鳵S-422是4k健;旧峡梢运礡S-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。
  RS-485与RS-422一样,其最大传输距离约为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mb/s。
   RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输总线的两端。
   四、RS-422与RS-485的网络安装注意要点
  RS-422可支持10个节点,RS-485支持32个节点,因此多节点构成网络。网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。在构建网络时,应注意如下几点:
   1.采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。
   2.应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。
  总之,应该提供一条单一、连续的信号通道作为总线。
   五、RS-422与RS-485传输线上匹配的一些说明
  对RS-422与RS-485总线网络一般要使用终接电阻进行匹配。但在短距离与低速率下可以不用考虑终端匹配。那么在什么情况下不用考虑匹配呢?理论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。但这在实际上难以掌握,美国MAXIM公司有篇文章提到一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。例如具有限斜率特性的RS-485接口MAX483输出信号的上升或下降时间最小为250ns,典型双绞线上的信号传输速率约为0.2m/ns(24AWG PVC电缆),那么只要数据速率在250kb/s以内、电缆长度不超过16米,采用MAX483作为RS-485接口时就可以不加终端匹配。
  一般终端匹配采用终接电阻方法,前文已有提及,RS-422在总线电缆的远端并接电阻,RS-485则应在总线电缆的开始和末端都需并接终接电阻。终接电阻一般在RS-422网络中取100Ω,在RS-485网络中取120Ω。相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100~120Ω。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
  另外一种比较省电的匹配方式是RC匹配。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。
  还有一种采用二极管的匹配方法。这种方案虽未实现真正的“匹配”,但它利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的。节能效果显著。
   六、RS-422与RS-485的接地问题
  电子系统接地是很重要的,但常常被忽视。接地处理不当往往会导致电子系统不能稳定工作甚至危及系统安全。RS-422与RS-485传输网络的接地同样也是很重要的,因为接地系统不合理会影响整个网络的稳定性,尤其是在工作环境比较恶劣和传输距离较远的情况下,对于接地的要求更为严格。否则接口损坏率较高。很多情况下,连接RS-422、RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有下面二个原因:
   1.共模干扰问题:正如前文已述,RS-422与RS-485接口均采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,如RS-422共模电压范围为-7~+7V,而RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。RS-422与RS-485标准均规定V OS ≤3V,但V GPD 可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入V CM 超出正常范围,并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。
   2.(EMI)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
  由于上述原因,RS-422、RS-485尽管采用差分平衡传输方式,但对整个RS-422或RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压V GPD 被短路。这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。这是最通常的接地方法。
  值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信。笔者认为,可以采取以下三种措施:
   (1) 如果干扰源内阻不是非常小,可以在接地线上加限流电阻以限制干扰电流。接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信。
   (2) 采用浮地技术,隔断接地环路。这是较常用也是十分有效的一种方法,当共模干扰内阻很小时上述方法已不能奏效,此时可以考虑将引入干扰的节点(例如处于恶劣的工作环境的现场设备)浮置起来(也就是系统的电路地与机壳或大地隔离),这样就隔断了接地环路,不会形成很大的环路电流。
   (3) 采用隔离接口。有些情况下,出于安全或其它方面的考虑,电路地必须与机壳或大地相连,不能悬浮,这时可以采用隔离接口来隔断接地回路,但是仍然应该有一条地线将隔离侧的公共端与其它接口的工作地相连。
   七、RS-422与RS-485的网络失效保护
  RS-422与RS-485标准都规定了接收器门限为±200mV。这样规定能够提供比较高的噪声抑制能力,如前文所述,当接收器A电平比B电平高+200mV以上时,输出为正逻辑,反之,则输出为负逻辑。但由于第三态的存在,即在主机在发端发完一个信息数据后,将总线置于第三态,即总线空闲时没有任何信号驱动总线,使AB之间的电压在-200~+200mV直至趋于0V,这带来了一个问题:接收器输出状态不确定。如果接收机的输出为0V,网络中从机将把其解释为一个新的启动位,并试图读取后续字节,由于永远不会有停止位,产生一个帧错误结果,不再有设备请求总线,网络陷于瘫痪状态。除上述所述的总线空闲会造成两线电压差低于200mV的情况外,开路或短路时也会出现这种情况。故应采取一定的措施避免接收器处于不确定状态。
  通常是在总线上加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥-200mV)。将A上拉到地,B下拉到5V,电阻的典型值是1kΩ,具体数值随电缆的电容变化而变化。
  上述方法是比较经典的方法,但它仍然不能解决总线短路时的问题,有些厂家将接收门限移到-200mV/-50mV,可解决这个问题。例如Maxim公司的MAX3080系列RS-485接口,不仅省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
   八、RS-422与RS-485的瞬态保护
  前文提到的信号接地措施,只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。由于传输线对高频信号而言就是相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。
  实际应用环境下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如电机、变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏RS-422或RS-485通信接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。
   1.隔离保护方法。这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离,已有器件厂商将所有这些元件集成在一片IC中,使用起来非常简便,如Maxim公司的MAX1480/MAX1490,隔离电压可达2500V。这种方案的优点是可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易,缺点是成本较高。
   2.旁路保护方法。这种方案利用瞬态抑制元件(如TVS、MOV、气体放电管等)将危害性的瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的连接大地的通道,实现起来比较困难。实际应用中是将上述两种方案结合起来灵活加以运用,在这种方法中,隔离接口对大幅度瞬态干扰进行隔离,旁路元件则保护隔离接口不被过高的瞬态电压击穿。