造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

SN65HVD230实际应用

2018/06/19177 作者:佚名
导读: 某自动测试系统需要多路实时可控的交流供电电源,为此,笔者设计了基于CAN总线的智能电源控制器。该系统的主控计算机中安装了CAN总线通信控制卡,电源控制器中装有CAN总线通信适配卡,故可通过控制卡和适配卡来实现计算机和各智能电源控制器之间的通信,从而完成对各电源控制器的控制及对各电源控制器输出状态的检测. 系统原理 该电源控制器采用SN65HVD230型CAN总线收发器和Cyg

某自动测试系统需要多路实时可控的交流供电电源,为此,笔者设计了基于CAN总线的智能电源控制器。该系统的主控计算机中安装了CAN总线通信控制卡,电源控制器中装有CAN总线通信适配卡,故可通过控制卡和适配卡来实现计算机和各智能电源控制器之间的通信,从而完成对各电源控制器的控制及对各电源控制器输出状态的检测.

系统原理

该电源控制器采用SN65HVD230型CAN总线收发器和Cygnal公司生产的具有3.3V集成式CAN控制器的C8051F040型单片机来设计CAN总线通信控制卡及CAN总线通信适配卡。其原理框图如图4所示,通过PC控制各个网络节点来实现其具体的控制功能,并以此组成网络控制系统。

CAN总线通信控制卡的设计

在整个CAN控制网络中,CAN总线通信控制卡起着非常重要的作用。该卡主要包括C8051F040型单片机、双口RAM及其控制电路、中断申请电路、复位电路和CAN驱动电路。该控制卡的结构框图如图5所示。CAN通信控制卡通过CAN总线将各个节点串联起来,从而将一个等网络变成一个简单的"一主多从"控制网络。PC通过CAN总线通信控制卡向网络中各个具有不同地址的节点发送各种格式的控制命令字,并将各网络节点中代表各节点状态的数据字读回,以此实现整个CAN网络的控制。

CAN节点的设计

在整个CAN控制网络中,节点是整个网络的"从者",他通过相应的地址匹配来识别控制卡发来的信息。若信息不是发送给自己的,则不进行所有动作,若信息是发给自己的,则该节点接收信息,并执行相应的操作。在CAN控制网络中,信息通过帧模式进行传送。CAN节点根据设定的帧格式内容进入相应的控制程式,以对外围电路进行操作控制。CAN节点系统框图如图6所示。

混合电平电路抗干扰设计

由于智能电源控制器本身是个混合电平系统,内部有多路220V/50Hz交流电、控制电路的3.3V直流电平、CAN控制网络接口电平等不同电平,因此必须实现不同电平信号的隔离,以增强系统的抗干扰能力。

本系统通过对C8051F040控制信号进行光隔离和驱动处理后控制继电器,以实现对交流电源的输出控制,从而确保了大功率交流电源和内部控制电路之间的有效隔离。而CAN接口在收发器和控制器之间采用了LVTTL/LVCMOS兼容高速光隔离来实现不同电平之间的电气隔离。

系统软件设计

系统软件主要由CAN总线通信控制卡控制程式和各个节点控制程式二部分组成。CAN总线通信控制卡控制程式是基于视窗系统的编程,这里不再多述,本文主要给出各个节点的控制程式。

各种控制功能主要通过调用系统的通用函数和功能函数来实现。其中,系统通用函数用于系统的初始化及一些通用功能的实现。首先对CAN系统进行初始化,同时完成端口设置、位时间确定、消息体的设置等。其节点初始化函数如下:

WDTCN=0xde; //关watch dog

WDTCN=0xad;

config_IO(void); //端口设置函数,实现控制模块的控制引脚的分配

Clock(void); //时钟及CAN总线速度定义函数

clear_msg_objects(void);//各个消息体的清除函数

msg_objects_init(void);//CAN消息体初始化函数

……

startCAN(); //系统允许进行CAN通讯

EA=1; //系统开中断;

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读