基于C8051F530A单片机的LIN总线楼宇开关节点设计

2021-08-09 03:23朱海洋
电子技术与软件工程 2021年11期
关键词:楼宇寄存器总线

朱海洋

(广东松山职业技术学院 广东省韶关市 512126)

目前大部分高校实验楼宇照明系统控制基本上都还是手动操作,由于师生疏忽忘记关灯等现象时有发生,既浪费能源又存在安全隐患,而且还会影响灯泡使用寿命[1-2]。当灯泡发生故障时,还需要人工报修,否则有可能长时间得不到修复,对日常使用造成影响。随着光源技术、物联网控制技术的不断发展,楼宇照明逐步迈向节能化、智能化、信息化的全新高度,促进了智能照明技术的发展。用电设备智能控制技术是楼宇智能控制的重要组成部分,其核心是实现用电设备智能控制,方便用户使用,促进节能减排,满足用户多元化的需求[3]。无线通信安装方式简单,便于操作,在智能家居中得到了广泛的应用,但是其抗干扰性差、信号衰减快,组网操作复杂,无法适用于大面积、远程通信的智能照明控制场合。LIN(Local Interconnect Network)总线始创于1998年,是专为降低汽车成本而开发的一种分布式电子总线,在不需要高带宽和多功能应用场合,使用LIN 总线可以大大节省成本。LIN 总线采用单总线,环路中最多能支持16 个节点,总线电缆最大长度为40 米,这将使总线性能得到优化,很快由最初的汽车行业扩展到工业控制的各个领域。本文以高校实验室灯光智能控制为研究对象,提出了基于LIN 总线的智能开关组网控制策略,详细介绍LIN 总线协议原理、节点的硬件和软件设计过程,对楼宇智能化控制等设计极具参考价值。

1 LIN单总线协议概述

1.1 LIN总线简介

LIN(局域互联网络)是LocalInterconnect Network 的缩写,于1998年10月在德国被首次提出,是一种基于UART/SCI(Universal Asynchronous Receiver-Transmitter/SerialCommunication Interface)通用异步收发器/串行通信接口的低成本串行通信协议。LIN 总线遵循国际标准ISO9141 协议,使用12V 信号线,单总线结构,最大通信速率为20bit/s。LIN 总线采用主/从策略,包含一个LIN 主机和1~15 个LIN 从机,可应用于汽车、家电、办公设备、智能楼宇等多种领域,能大幅度削减成本。主节点主要实现调度总线上帧的传输次序、监测数据、处理数据、提供同步时钟、接收从节点发出总线唤醒命令,而从节点不能主动发送数据,需要接收主机发送的帧头后再决定是否发送应答、接收应答或既不接收也不发送应答,如图1 所示。

1.2 LIN总线帧结构

图1:LIN 总线拓扑结构

图2:LIN 总线信号帧结构

图3:LIN 节点开关硬件组成框图

LIN 总线是一种轮询总线,无需仲裁机制,通信完全由主节点上的主任务控制。主节点同时包含一个主任务和一个从任务,而每个从节点仅包含一个从任务。LIN 总线以信号帧为基本传输单位,每帧信号包含消息头(Message Header)和消息响应(Message Response)。消息头包含同步间隔(用于标记帧的开始)、同步字段(供从节点同步时钟)和识别码(Identifier),消息响应包含数据和校验码,此外还有响应间隔是便于从机有时间做出消息响应,如图2 所示。识别码包含一个6bit ID 码和2bit 校验字段。ID 为特定消息地址,而非目标,从0~64 共64 个标识符,其中0~59 用于传输信号,60~61 用诊断,62~63 系统保留。从机接收并解码ID 后开始响应消息,响应消息包含1~8 字节数据字段和一个8bit 校验和。

2 LIN节点开关硬件设计

2.1 总体设计

基于LIN 单总线的楼宇灯控LIN 节点总体设计框图如图3 虚线部分所示,包含电源、微控制器、LIN 收发器、参数测量电路、负载开关控制等。电源电路提供LIN 总线12V 接口电压和芯片工作电压,微控制器为系统核心,实现LIN 总线收发通信和系统控制,参数测量实现负载电压、电流功率等参数测量,控制开关控制灯泡通断。1 个LIN 子网系统最多能挂接16 个LIN 节点,LIN 子网通过网关汇接到整栋大楼智能楼宇主网系统。

图4:供电电路

图5:LIN 总线收发控制器

2.2 AC/DC供电设计

系统需使用+12V、+5V 两组电压,+12V 供LIN 总线通信使用,+5V 供供系统芯片使用。使用LNK623 开关电源芯片设计电源方案,并应用PI Expert 9.0 仿真软件快速设计电路如图4 所示,分别输出电压+12V/0.1A、+5V/0.1A 两路电压,图中给出了元件详细参数。通过PI Expert 9.0 仿真软件设计的变压器参数如下:EF12.6 铁氧体磁芯 PC40 材质,初线径0.15mm 级绕285 匝,次级线径0.29mm分别绕15 匝、12 匝,反馈绕组线径0.17mm 绕13 匝,磁芯开气息宽度0.1mm。

2.3 LIN收发控制器实现

基于C8051F530A 设计LIN 总线通信收发控制器如图5 所示。C8051F530A 是Silicon 公司的CIP-51 内核单片机,内置一个LIN2.1 控制器,完全兼容MCS-51 单片机指令,且70%的指令为单周期或双周期指令,最高指令速度为25MIPS。20 脚TSSOP 封装,共有16 个通用I/O 口,工作电压为1.8-5.25V,内置8Kb 可在系统编程的256BFlash 数据存储器。

C8051F530A 内部LIN 控制器由四部分构成:LIN 访问寄存器、LIN 数据寄存器、LIN 控制寄存器、状态机及码流逻辑控制电路,此外还提供了三个与CPU 操作接口寄存器。通过编程,可以控制LIN 收发器工作于主机节点(Master)或从机节点(Slave)模式,并具有自动波特率调整功能。

2.3.1 主机模式

工作在主机模式时,LIN 主机节点负责消息传输调度,发送包含同步中断字段、同步字段、标识符字段的消息帧头信号。消息发送或接收调度步骤依次为:装载6bitID 到指定ID 寄存器、装载数据长度到指定SIZE 寄存器、设置主机发送或接收的数据传输方向、设置中断控制位启动发送。当发送结束或发送出错时将会自动触发中断。

图6:负载参数测量电路

2.3.2 从机模式

配置为从机模式时LIN 从机节点必须等待来自主机节点发送的命令。从机节点检测主机节点发送的信号帧的头信息,若从机节点使能自动波特率校准功能,从机节点内部数据码元将自动与主机数据流同步。有3 种情况会导致从机产生中断,分别为接收到ID 识别码、传输完成、传输出错。

2.3.3 寄存器

与LIN 收发器相关的寄存器有CPU 接口寄存器和LIN 寄存器。CPU 接口寄存器为LIN 控制器编程接口寄存器,有LINADDR、LINDATA、LINC 三寄存器,分别实现LIN 寄存器的地址选择、数据读写、模式控制等操作。CPU 需要访问LIN 寄存器时,将写寄存器的地址值到LINADDR 寄存器,通过读写LINDATA 寄存器即可实现对指定LIN 寄存器的读写操作,从而实现LIN 数据收发和其他控制操作。

图7:负载控制电路

图8:软件设计流程图

2.4 负载测量测量及控制

该部分电路以HLW8012 为核心实现电压、电流测量及有功功率测量,实现负载参数实时测量及故障诊断。HLW8012 是深圳市合力为科技有限公司推出的单相电能计量芯片,设计电路如图6 所示。图6 中R2 为高精度鏮铜电阻采样负载电流信号,经U1 的2、3 脚进入内部PGA 放大、ADC 转换后测量出电流有效值所对应电压值,并进行V/F 变换后从CF1 脚输出频率与电流大小成正比的脉冲信号,交流电压信号则通过R4 降压后经U1 的4 脚输入内部PGA 放大、ADC 转换后计算出电压值,并经过V/F 变换后从CF1脚输出频率与电压大小成正比的脉冲信号。CF1 引脚具体输出为电压或电流脉冲信号由SEL 脚选通。测量的有功功率值频率值则从CF 引脚输出。SEL、CF、CF1 通过光耦隔离后与C8051F530A 单片机I/O连接,实现负载参数测量及状态监控,并通过LIN总线上传。

图6 中T1 为双向可控硅组成的负载电子开关控制电路,其详细控制原理图如图7 所示。图7 中U2 为光耦,T1 为800V0.6A 双向可控硅。该节点通过LIN 总线接收到开关灯控制信号,当微控制器输出ON/OFF 信号为高电平时U2 导通、T1 导通,负载DS1 得电工作,当其为低电平时T1 截止负载不工作,从而通过LIN 总线控制节点开关灯。由于U2 具有过零点自动触发功能,这将导致T1亦在过零点被触发开通,从而使负载产生冲击电流最小,对电网污染最小。

3 LIN节点开关软件设计

3.1 主机节点通信设计

在LIN 总线通信系统,由主机节点提供总线同步信号和通信ID,从机节点接收到后若与自身ID 匹配成功则向主机节点发送数据和响应,完成通信。主机的操作过程可分为LIN 设备初始化、发送操作、接收中断三个部分。LIN 设备初始化实现设置主从节点收发模式、通信波特率设置、发送数据长度设置、清除所有错误标记、设置收发模式。当主机节点设置为发送操作时在发送操作中将拟发送数据加载到数据寄存器,启动发送传输则自动完成数据发送操作。当将主机节点设置为接收模式时,当其接收完数据后会触发中断,在中断程序中读取从机发送的数据。主机通信流程图如图8(a)所示。

3.2 从机节点通信设计

主机为从机设置了本机开、本机关、广播开、广播关、本机状态检测、读取本机功率等命令,从机节点永远工作于被动接收状态。在接收到主机节点发送新一帧新信息时,如果检测到有新的ID 被接收,则从机节点进入数据接收状态,并读取ID 并判断是否属于本机。从节点根据主节点发送的标识符进行接收、发送或什么也不做。需要发送的从节点发送主节点请求的字节数,并以一个校验和字段结束传输。每个从机节点设置3 个ID 用以实现本机接收、本机发送、广播接收等功能。从机节点依据接收到的ID 定义功能进入接收或发送数据流程,如图8(b)所示。

4 结束语

文章介绍了LIN 总线协议及LIN 节点软硬件设计,可以实现LIN 总线组网控制。在LIN 网络中有且只能有1 个主机,最多可有15 个从机。LIN 总线网络仅需一条通信线即可完成控制,可以节约耗材、减少布线施工,具有数据双向传输能力,能实现自动控制、参数测量等功能,适合用于实验室等集中开关控制和传感探测等场合。基于LIN 总线网络的智能控制开关系统可作为独立的子网系统经网关接入CAN-BUS、Ethernet 等网络,从而组成整栋大楼的楼宇智能化控制系统,具有广泛的应用前景。

猜你喜欢
楼宇寄存器总线
商务楼宇治理中党建融入的逻辑与路径——基于广州S楼宇的观察与思考
Lite寄存器模型的设计与实现
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
分簇结构向量寄存器分配策略研究*
智美兼具的精品——评测君和睿通Homates H10楼宇对讲室内门口机
高层楼宇灭火装备
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计
高速数模转换器AD9779/AD9788的应用