O 引言
家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。
CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检测控制而开发的一种串行数据通讯协议,它是一种多主机总线,通讯介质可以是双绞线、同轴电缆或光导纤维,通讯速率为1Mb/s。CAN总线具有卓越的性能,极高的可靠性和独特的设计,广泛应用于工业自动化、交通工具、医疗仪器以及建筑、环境控制等众多部门。
1 家庭智能化控制系统的组成
家庭智能化控制系统是电视、洗衣机、空调及水表、电表、燃气表等设备的指挥通信和信息管理的核心,主要功能是与远程控制系统进行数传通信,接收各种控制口令,完成对相应设备的实时控制。
控制系统中凡具有嵌入式微处理器或微计算机的单体均通过CAN总线相互连接。组成分布式局部网,实现数据交换和信息资源共享。这种设计具有以下优点:减少了通信端口、连接电缆;抗干扰能力强;配置灵活、系统扩展和升级方便;调试简单,检修方便。
由CAN总线组成的家庭智能化控制系统原理如图1所示。
2 PLC与CAN总线的连接
现以GE FANUC系列90 PLC为例,给出一个PLC与CAN总线的连接方案。
GE系列90 PLC都带有经转换的RS 232串行通讯口,编程计算机通过此串口与PLC进行通讯和编程。RS 232标准电平采用负逻辑,规定+3~+15V之间的任意电平为逻辑“0”电平,-3~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN _H”和“CAM_L”,静态时均为2.5 V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。
RS 232串口的帧格式为:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收的地址/数据位),1位停止位。而CAN的数据帧格式为:帧信息+ID+数据(可分为标准帧和扩展帧两种格式)。因此,设计时就需要有一个微控制器来实现电平和帧格式等的转换,其转换方式如图2所示。
用单片机AT89C52作为微处理器;用SJAl000作为CAN微控制器,SJAl000中集成了CAN协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理;高速光电隔离用6N137实现,其作用是防止串入信号干扰;MAX232用来完成RS 232电平到微控制器接口芯片TTL电平的转换。具体的硬件接口电路参见SJAl000的资料,但有以下几点需要注意:
(1)CAN总线两端接有一个120 Ω的电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠性。但实际上只需保证CAN网络中“CAN_H”和“CAN_L”之间的跨接电阻为60 Ω即可。
(2)SJAl000的20引脚RXl在不使用时可接地,配合CDR.6的置位可使总线长度大大增加。
(3)引脚TX0,TXl的接法决定了串行输出的电平。具体关系可参考输出控制寄存器OCR的设置。
(4)AT82C250的RS引脚与地间接有1个斜率电阻。电阻大小可根据总线通信速度作适当调整,一般在16~140 kΩ之间。
(5)MAX232外围需要4个电解电容C1,C2,C3,C4,这些电容也是内部电源转换所需电容,其取值均为1μF/25 V,宜选用钽电容并且位置应用量靠近芯片,电源Vcc和地之间要接1个0.1μF的去耦电容。
在微处理控制下,RS 232和CAN进行数据交换时,采用串口接收和CAN中断方式可提高工作效率。SJAl000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。其主程序流程图如图3所示。[page]
数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍CAN波特率的设置、串口波特率的自动检测、串口数据流量控制。
CAN协议中的要素之一是波特率。可以设置位周期中的位采样点位置和采样次数,以使可以自由地优化应用网络性能,但在优化过程中,要注意位定时参数基准参考振荡器的容差和系统中不同信号传播延迟之间的关系。
系统的位速率fbit表示每单位时间传输数据位的量,即波特率fbit=1/tbit。额定的位定时由3个互不重叠的段SYNC_SEG,TSEGl和TSEG2组成,这3个时间段分别是tSYNC_SEG,tTSEGl和tTSEG2。所以,额定位周期tbit是3个时间段的和:tbit=tSYNC_SEG+tTSEGl+tTSEG2。位周期中这些段都用整数个基本时间单位来表示。该时间单位叫时间份额TQ,时间份额的持续时间是CAN系统时钟的一个周期tSCL,可从振荡器时钟周期tCLK取得。通过编程预分频因数(波特率预设值BRP)可以调整CAN系统时钟,即tSCL=BRP×2tCLK=2BPR/CLK。
对CAN位定时计算的另一个很重要的时间段是同步跳转宽度(SJW),持续时间是tSJW。SJW段并不是位周期的一段,只是定义了在重同步事件中被增长或缩短的位周期的最大TQ数量。此外,CAN协议还允许用户指定位采样模式(SAM),分别是单次采样和三次采样模式(在3个采样结果中选出1个)。在单次采样模式中,采样点在TESG1段的末端。而三次采样模式比单次采样多取两个采样点,它们在TSEGl段末端的前面,之间相差一个TQ。上面所提到的BPR,SJW,SAM,TESGl,TESG2都可由用户通过CAN控制器的内装中寄存器BTR0和BTRl来定义。设置好BTR0和BTRl后,实际传输的波特率范围为:最大=1/(tbit-tSJW),最小=1/(tbit+tSJW)。
检测转换装置的串口波特率,首先可对主机的接收波特率(以9600 b/s为例)进行设定,并在终端发送一个特定的字符(以回车符为例),这样,主机根据接收到的字符信息就可以确定转换装置的通信波特率。回车符的ASCII值是0DH,在不同波特率下接收到的值如表1所列。
数据在两个串口之间的传输时,常常会出现丢失数据的现象。由于单片机缓冲区有限,如接收数据时缓冲区已满,那么此时继续发送来的数据就会丢失。而流控制能有效地解决该问题,当接收端数据处理不过来时,流控制系统就会发出“不再接收”的信号,而使发送端停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据丢失。常用的两种流控制是硬件流控制(包括RTS/CTS,DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面仅就硬件流控制RTS/CTS加以说明。
采用硬件进行流控制时,串口终端RTS,CTS接到单片机的I/O口,通过置I/O口为1或0来接收和发出起停信号。数据终端设备(如计算机)使用RTS来起始单片机发出的数据流,而单片机则用CTS来起动和暂停来自计算机的数据流。实现这种硬件握手方式时,在编程时根据接收端缓冲区的大小设置一个高位标志和一个低位标志,当缓冲区内数据量达到高位时,就在接收端将CTS线置低(送逻辑0),而当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高为止。RTS则用来标明接收设备有没有准备好接收数据。
以下是CAN接收子程序:
3 结语
通过对家庭智能控制系统的分析,采用PLC与CAN总线构建成控制性局域网,通过仿真系统的测试,该总线完全能完成对家庭智能终端设备实行控制,但要使它控制的稳定性和实时性得到进一步提高,还需在此基础上作更加深入的研究。
关键字:CAN总线 家庭智能化 控制系统
引用地址:CAN总线在家庭智能化控制系统中的应用研究
家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。
CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检测控制而开发的一种串行数据通讯协议,它是一种多主机总线,通讯介质可以是双绞线、同轴电缆或光导纤维,通讯速率为1Mb/s。CAN总线具有卓越的性能,极高的可靠性和独特的设计,广泛应用于工业自动化、交通工具、医疗仪器以及建筑、环境控制等众多部门。
1 家庭智能化控制系统的组成
家庭智能化控制系统是电视、洗衣机、空调及水表、电表、燃气表等设备的指挥通信和信息管理的核心,主要功能是与远程控制系统进行数传通信,接收各种控制口令,完成对相应设备的实时控制。
控制系统中凡具有嵌入式微处理器或微计算机的单体均通过CAN总线相互连接。组成分布式局部网,实现数据交换和信息资源共享。这种设计具有以下优点:减少了通信端口、连接电缆;抗干扰能力强;配置灵活、系统扩展和升级方便;调试简单,检修方便。
由CAN总线组成的家庭智能化控制系统原理如图1所示。
2 PLC与CAN总线的连接
现以GE FANUC系列90 PLC为例,给出一个PLC与CAN总线的连接方案。
GE系列90 PLC都带有经转换的RS 232串行通讯口,编程计算机通过此串口与PLC进行通讯和编程。RS 232标准电平采用负逻辑,规定+3~+15V之间的任意电平为逻辑“0”电平,-3~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN _H”和“CAM_L”,静态时均为2.5 V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。
RS 232串口的帧格式为:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收的地址/数据位),1位停止位。而CAN的数据帧格式为:帧信息+ID+数据(可分为标准帧和扩展帧两种格式)。因此,设计时就需要有一个微控制器来实现电平和帧格式等的转换,其转换方式如图2所示。
用单片机AT89C52作为微处理器;用SJAl000作为CAN微控制器,SJAl000中集成了CAN协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理;高速光电隔离用6N137实现,其作用是防止串入信号干扰;MAX232用来完成RS 232电平到微控制器接口芯片TTL电平的转换。具体的硬件接口电路参见SJAl000的资料,但有以下几点需要注意:
(1)CAN总线两端接有一个120 Ω的电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠性。但实际上只需保证CAN网络中“CAN_H”和“CAN_L”之间的跨接电阻为60 Ω即可。
(2)SJAl000的20引脚RXl在不使用时可接地,配合CDR.6的置位可使总线长度大大增加。
(3)引脚TX0,TXl的接法决定了串行输出的电平。具体关系可参考输出控制寄存器OCR的设置。
(4)AT82C250的RS引脚与地间接有1个斜率电阻。电阻大小可根据总线通信速度作适当调整,一般在16~140 kΩ之间。
(5)MAX232外围需要4个电解电容C1,C2,C3,C4,这些电容也是内部电源转换所需电容,其取值均为1μF/25 V,宜选用钽电容并且位置应用量靠近芯片,电源Vcc和地之间要接1个0.1μF的去耦电容。
在微处理控制下,RS 232和CAN进行数据交换时,采用串口接收和CAN中断方式可提高工作效率。SJAl000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。其主程序流程图如图3所示。[page]
数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍CAN波特率的设置、串口波特率的自动检测、串口数据流量控制。
CAN协议中的要素之一是波特率。可以设置位周期中的位采样点位置和采样次数,以使可以自由地优化应用网络性能,但在优化过程中,要注意位定时参数基准参考振荡器的容差和系统中不同信号传播延迟之间的关系。
系统的位速率fbit表示每单位时间传输数据位的量,即波特率fbit=1/tbit。额定的位定时由3个互不重叠的段SYNC_SEG,TSEGl和TSEG2组成,这3个时间段分别是tSYNC_SEG,tTSEGl和tTSEG2。所以,额定位周期tbit是3个时间段的和:tbit=tSYNC_SEG+tTSEGl+tTSEG2。位周期中这些段都用整数个基本时间单位来表示。该时间单位叫时间份额TQ,时间份额的持续时间是CAN系统时钟的一个周期tSCL,可从振荡器时钟周期tCLK取得。通过编程预分频因数(波特率预设值BRP)可以调整CAN系统时钟,即tSCL=BRP×2tCLK=2BPR/CLK。
对CAN位定时计算的另一个很重要的时间段是同步跳转宽度(SJW),持续时间是tSJW。SJW段并不是位周期的一段,只是定义了在重同步事件中被增长或缩短的位周期的最大TQ数量。此外,CAN协议还允许用户指定位采样模式(SAM),分别是单次采样和三次采样模式(在3个采样结果中选出1个)。在单次采样模式中,采样点在TESG1段的末端。而三次采样模式比单次采样多取两个采样点,它们在TSEGl段末端的前面,之间相差一个TQ。上面所提到的BPR,SJW,SAM,TESGl,TESG2都可由用户通过CAN控制器的内装中寄存器BTR0和BTRl来定义。设置好BTR0和BTRl后,实际传输的波特率范围为:最大=1/(tbit-tSJW),最小=1/(tbit+tSJW)。
检测转换装置的串口波特率,首先可对主机的接收波特率(以9600 b/s为例)进行设定,并在终端发送一个特定的字符(以回车符为例),这样,主机根据接收到的字符信息就可以确定转换装置的通信波特率。回车符的ASCII值是0DH,在不同波特率下接收到的值如表1所列。
数据在两个串口之间的传输时,常常会出现丢失数据的现象。由于单片机缓冲区有限,如接收数据时缓冲区已满,那么此时继续发送来的数据就会丢失。而流控制能有效地解决该问题,当接收端数据处理不过来时,流控制系统就会发出“不再接收”的信号,而使发送端停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据丢失。常用的两种流控制是硬件流控制(包括RTS/CTS,DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面仅就硬件流控制RTS/CTS加以说明。
采用硬件进行流控制时,串口终端RTS,CTS接到单片机的I/O口,通过置I/O口为1或0来接收和发出起停信号。数据终端设备(如计算机)使用RTS来起始单片机发出的数据流,而单片机则用CTS来起动和暂停来自计算机的数据流。实现这种硬件握手方式时,在编程时根据接收端缓冲区的大小设置一个高位标志和一个低位标志,当缓冲区内数据量达到高位时,就在接收端将CTS线置低(送逻辑0),而当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高为止。RTS则用来标明接收设备有没有准备好接收数据。
以下是CAN接收子程序:
3 结语
通过对家庭智能控制系统的分析,采用PLC与CAN总线构建成控制性局域网,通过仿真系统的测试,该总线完全能完成对家庭智能终端设备实行控制,但要使它控制的稳定性和实时性得到进一步提高,还需在此基础上作更加深入的研究。
上一篇:PROFIBUS-DP总线技术在焦炉车辆中的应用
下一篇:Molex:如何做好连接器市场
推荐阅读最新更新时间:2024-05-02 23:03
DCS控制系统中的三种总线的通讯协议
从 DCS 控制系统 的级成结构看可以分为三大部分:带I/O部件的控制器、通讯网络和人机接口(HSI)。控制器I/O部件直接与生产过程相连,接收现场设备送来的信号;人机接口是操作人员与DCS相互交换信息的设备;通讯网络将控制器和人机接口联系起来,形成一个有机的整体。早期的DCS系统的通讯网络都是专用的,DCS有几级网络,完成不同模件之间的通讯。从目前的情况来看,DCS的最多网络级有四级,它们分别是I/O总线、 现场总线 、控制总线和DCS网络。 I/O总线,它把多种I/O信号送到控制器,由控制器读取I/O信号。这称为I/O总线。I/O板相互之间并不交换数据。I/O总线的速率是不高的。从几十K到几兆不等。这与计算机技术的发展情况有
[嵌入式]
虹科案例 | 基于虹科工业树莓派的AGV机器小车控制系统
基于虹科工业树莓派的 AGV机器小车控制系统 前言 2020年爆发的疫情放大了人在自然风险下的脆弱性,也进一步地促进了AGV等自动化设备在各行领域的应用。自动导向小车(AGV)是一种移动机器人,主要用来储运各类物料,为系统柔性化、集成化、高效运行提供了重要保证,在现代制造企业物流系统中占有重要地位。 HongKe Technology 虹 / 科 / 方 / 案 01 应用背景 随着5G时代的到来,不少AGV企业也意识到将移动机器人赋予更多“从车辆到机器人”的概念、乘5G浪潮和推动智能化转型是移动机器人企业的大势所趋。5G网络将生产设备无缝连接,满足工业环境下设备互联和远程交互应用需求。随着
[机器人]
基于单片机的步进电机控制系统设计
单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行工作。因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。 1 系统设计原理 步进
[模拟电子]
基于CAN总线的PLC/IPC印染设备控制系统
1 引言 CAN总线是现场总线的一种,最初用于汽车内部检测部件与执行部件之间的数据通讯,有极强的抗恶劣环境和抗干扰能力。由于本身的特点,其应用范围已经由交通运输扩展到过程控制、数控机床、机器人、智能建筑、医疗器械等领域,被公认是几种最有前途的现场总线之一。 与多数现场总线(如Profibus、CC-Link等)的物理层采用RS485主从协议不一样,CAN的介质访问采用载波侦听多路访问(CSMA)技术,从而允许多主工作方式。并且,由于采用非破坏性总线仲裁技术,大大节省了总线冲突仲裁时间。与多数现场总线不一样,CAN总线只有物理层和数据链路层,应用层留给用户开发,使用户拥有了相当的灵活性。这些优点令人注目,以致于一些
[工业控制]
中国工业机器人伺服控制系统用量上升 接线端子市场看好
机器人作为典型的机电一体化技术密集型产品,在市场驱动下需要朝着更灵活、更智能的方向发展,而灵活与智能是通过“关节”和控制系统实现的,关节越多,所需要的伺服控制系统就越多,机器人的柔性与准确度就越高。伺服控制系统的连接又离不开接线端子,故随着机器人的精密发展,接线端子的使用量会升高。下面就随工业控制小编一起来了解一下相关内容吧。 机器人快速增长促进端子市场发展 2017年,工业机器人市场的快速增长将带动伺服系统市场规模不断上升。随着人口红利的消退,广阔的机器人市场空间以及现阶段相对较低的工业机器人密度,中国工业机器人市场迎来黄金发展期。受这一趋势影响,未来五年国产伺服系统复合增长率约为35%,到2020年我国工业机器人用伺服系
[工业控制]
基于CAN总线的汽车仪表设计研究
汽车仪表是汽车与驾驶员进行信息交流的窗口,是汽车信息的中心,能够集中、直观、迅速地反映汽车在行驶过程中的各种动态指标,如行驶速度、里程、电系状况、制动、压力、发动机转速、冷却液温度、油量、各种危险报警。随着科技进步,汽车排放、节能、安全和舒适性等使用性能不断提高,汽车电子控制程度也越来越高。汽车电子控制装置必须迅速、准确地处理各种信息,并通过仪表显示出来,使驾驶员能够及时了解并掌握汽车的运行状态,以妥善处理各种情况。 这里给出一种基于CAN(Controller Area Network)总线的汽车仪表设计方案。该仪表利用CAN总线使其成为车身网络一部分,遵循SAE J1939协议读取发动机转速、水温等信息。仪表还能接收
[单片机]
PLC常用基本指令控制系统设计
PLC是一项技能,需要进行不断的练习和实践,作为一个新手小白,要怎么学呢?从哪方面入手? 其实在学习PLC之前,是先了解自己学习需求,比如PLC是个什么产品?你学会了有什么用?学成了PLC,它可以给你带来是什么样的价值? PLC难不难?其实PLC入门不难,但想学到精通却很难,本文简单举两个例子,一起来了解一下PLC的工作过程。使用了一些PPT作为讲解,为大家呈现关于PLC,究竟有哪些基础内容,需要先去了解! 当然了这只是一些简单的控制,梯形图和原理图非常类似,同时PLC还要学会一些常见的指令。
[嵌入式]