位置:51电子网 » 技术资料 » 接口电路

四通道位置控制的CAN总线节点设计与实现

发布时间:2008/6/3 0:00:00 访问次数:443

摘 要:本文介绍了一种基于单片机系统的can总线接口系统,通过将can总线上的数字指令转换为模拟控制信号,送给已有的四路电动伺服模拟控制系统。该方案实现了四通道位置控制的can总线节点设计。
关键词:can总线;位置随动系统;d/a转换;多路模拟开关

概述
根据课题要求,并经充分考虑can总线数据通讯的特点、四个通道位置控制规律及实际工程的环境与条件之后,设计了一个can总线节点,并利用四个通道的控制信号来实施四路位置控制。该系统的结构关系如图1所示,根据该图可以把本文中要描述的系统划分为三个部分:can总线接口电路、单片机系统、d/a转换电路。can总线接口电路主要提供can总线物理层通讯协议所要求的电气连接,保证可靠通讯;单片机系统是本can总线节点的中枢,主要是控制和协调各部分的正常工作,并按算法计算形成四通道的控制信号;d/a转换电路则要把单片机所形成的四个通道的数字控制信号转化为四路模拟控制信号去驱动四路的电机控制系统,同时要保证系统允许的延时和信号的线性度,最终完成对四通道的位置控制。

硬件设计
can总线接口电路设计
完整的接口电路原理图如图2所示,该电路包含了can总线协议控制芯片sja1000(与pcx82c200兼容)和can总线驱动芯片82c250以及它们各自的外围电路。在此只讨论实现过程中几个具体问题。
片选信号:总体方案设计中确定了本系统地址空间的分配,can总线接口电路占用了c000~dfff。为了有效利用已有的逻辑芯片,采用线选法产生片选信号canselt。片选信号canselt低电平有效。
总线连接:由于sja1000本身具有分时复用的8位地址数据总线,并且引脚3、引脚5以及引脚6分别对应单片机地址锁存信号ale、读信号和写信号,因此可以直接与80c196kc单片机的地址数据总线、控制总线对应连接。
中断信号:当sja1000进行总线通信,需要单片机参与处理时,就在引脚16产生一个中断信号。这些触发中断的事件包括总线上成功接收到有效数据帧、成功发送数据帧、can协议芯片被其它can节点唤醒、接收缓冲区超限以及总线状态出错等。引脚16平时维持高电平,中断时产生一个负跳变信号。由于80c196kc单片机的外部中断正跳变信号有效,所以sja1000的中断信号要经过一个非门再送到单片机的外部中断引脚。但在实际电路中,无中断产生时,sja1000的引脚16是观察不到高电平的,只能观察到0.7v~0.8v的电平信号。这是因为高电平被下级的非门导通拉低所致,不影响正常使用。
多路d/a转换通道电路设计
can总线是一种串行总线,总线上传输的信息是数字信号,而已有的电机控制系统是模拟控制系统,因此需要设计d/a转换电路来解决这一问题。在d/a转换接口设计中主要考虑的问题是d/a转换芯片的选择、数字量的码输入及模拟量的极性输出、参考电压电流源、模拟电量输出的调整与分配等。基于上述因素,本设计电路结构如图3所示。在该结构中采用同一个d/a转换芯片分时、分别对各路信号进行d/a转换,再由一个多路采样保持电路将转换结果分时提取,并送到各路模拟信号通道。
由于电机模拟控制系统的性能指标如下:
输入/输出关系:输入为±10v;对应电机输出齿轮轴转动为±250;位置控制精度:角度误差≤±0.10;
则0.1杂φ男藕诺缪?:

又知d/a转换分辨率频亩ㄒ逦?

另外,双极性输出情况下,最高有效位msb用作符号位,决定输出电压的极性。由以上则可得出,为了满足电机模拟控制系统精度要求的d/a器件所需位数为9位。但是在实际中电路器件或电源的误差是不可避免的,所以根据经验应选用12位d/a转换器件,以保证实际d/a转换的结果满足系统指标的要求。
在图3中,多路模拟开关与保持电路实际上构成的是一个采样保持器,该采样保持器的设计在本文所述的多路d/a转化电路设计中是至关重要的。采样保持器一般由模拟开关、存储元件(保持电容)和缓冲放大器组成,保持电容在实际应用中还起到了信号滤波的作用。如果在模拟开关之后不加保持电容或加得不当,都会在最终模拟输出的波形上出现尖峰脉冲。根据调试经验该保持电容取0.01mf时的效果较好。取得太小,则“毛刺”不能有效被去除,取得太大则影响d/a转换电路的速度。另外,当采样开关(多路模拟开关)断开后,保持电容进入信号电压保持状态。由于采样开关、保持电容、输出缓冲放大器都存在漏电流,所以会造成保持电容中电量的流失。如设保持电压u=10v,保持电容c取0.01mf,则可以计算出放电时间t=1s。可见,控制模拟开关的关断时间要大于20ms,小于1s。

软件设计
软件设计是围绕can总线通讯进行的,它包括can总线通讯初始化、can总线数据帧的定义和通讯中断服务程序设计。
can总线通讯初始化
在系统上电复位后,程序将完成下面两项工作:
1)根据硬件系统的连接方式和要求确定微处理器的设置。
2)在sja1000复位后,需要设置与通信相关的参数:模式的选择、接收码寄存器、接收屏蔽寄存器和总线定时等。
在系统运行的过程中,

摘 要:本文介绍了一种基于单片机系统的can总线接口系统,通过将can总线上的数字指令转换为模拟控制信号,送给已有的四路电动伺服模拟控制系统。该方案实现了四通道位置控制的can总线节点设计。
关键词:can总线;位置随动系统;d/a转换;多路模拟开关

概述
根据课题要求,并经充分考虑can总线数据通讯的特点、四个通道位置控制规律及实际工程的环境与条件之后,设计了一个can总线节点,并利用四个通道的控制信号来实施四路位置控制。该系统的结构关系如图1所示,根据该图可以把本文中要描述的系统划分为三个部分:can总线接口电路、单片机系统、d/a转换电路。can总线接口电路主要提供can总线物理层通讯协议所要求的电气连接,保证可靠通讯;单片机系统是本can总线节点的中枢,主要是控制和协调各部分的正常工作,并按算法计算形成四通道的控制信号;d/a转换电路则要把单片机所形成的四个通道的数字控制信号转化为四路模拟控制信号去驱动四路的电机控制系统,同时要保证系统允许的延时和信号的线性度,最终完成对四通道的位置控制。

硬件设计
can总线接口电路设计
完整的接口电路原理图如图2所示,该电路包含了can总线协议控制芯片sja1000(与pcx82c200兼容)和can总线驱动芯片82c250以及它们各自的外围电路。在此只讨论实现过程中几个具体问题。
片选信号:总体方案设计中确定了本系统地址空间的分配,can总线接口电路占用了c000~dfff。为了有效利用已有的逻辑芯片,采用线选法产生片选信号canselt。片选信号canselt低电平有效。
总线连接:由于sja1000本身具有分时复用的8位地址数据总线,并且引脚3、引脚5以及引脚6分别对应单片机地址锁存信号ale、读信号和写信号,因此可以直接与80c196kc单片机的地址数据总线、控制总线对应连接。
中断信号:当sja1000进行总线通信,需要单片机参与处理时,就在引脚16产生一个中断信号。这些触发中断的事件包括总线上成功接收到有效数据帧、成功发送数据帧、can协议芯片被其它can节点唤醒、接收缓冲区超限以及总线状态出错等。引脚16平时维持高电平,中断时产生一个负跳变信号。由于80c196kc单片机的外部中断正跳变信号有效,所以sja1000的中断信号要经过一个非门再送到单片机的外部中断引脚。但在实际电路中,无中断产生时,sja1000的引脚16是观察不到高电平的,只能观察到0.7v~0.8v的电平信号。这是因为高电平被下级的非门导通拉低所致,不影响正常使用。
多路d/a转换通道电路设计
can总线是一种串行总线,总线上传输的信息是数字信号,而已有的电机控制系统是模拟控制系统,因此需要设计d/a转换电路来解决这一问题。在d/a转换接口设计中主要考虑的问题是d/a转换芯片的选择、数字量的码输入及模拟量的极性输出、参考电压电流源、模拟电量输出的调整与分配等。基于上述因素,本设计电路结构如图3所示。在该结构中采用同一个d/a转换芯片分时、分别对各路信号进行d/a转换,再由一个多路采样保持电路将转换结果分时提取,并送到各路模拟信号通道。
由于电机模拟控制系统的性能指标如下:
输入/输出关系:输入为±10v;对应电机输出齿轮轴转动为±250;位置控制精度:角度误差≤±0.10;
则0.1杂φ男藕诺缪?:

又知d/a转换分辨率频亩ㄒ逦?

另外,双极性输出情况下,最高有效位msb用作符号位,决定输出电压的极性。由以上则可得出,为了满足电机模拟控制系统精度要求的d/a器件所需位数为9位。但是在实际中电路器件或电源的误差是不可避免的,所以根据经验应选用12位d/a转换器件,以保证实际d/a转换的结果满足系统指标的要求。
在图3中,多路模拟开关与保持电路实际上构成的是一个采样保持器,该采样保持器的设计在本文所述的多路d/a转化电路设计中是至关重要的。采样保持器一般由模拟开关、存储元件(保持电容)和缓冲放大器组成,保持电容在实际应用中还起到了信号滤波的作用。如果在模拟开关之后不加保持电容或加得不当,都会在最终模拟输出的波形上出现尖峰脉冲。根据调试经验该保持电容取0.01mf时的效果较好。取得太小,则“毛刺”不能有效被去除,取得太大则影响d/a转换电路的速度。另外,当采样开关(多路模拟开关)断开后,保持电容进入信号电压保持状态。由于采样开关、保持电容、输出缓冲放大器都存在漏电流,所以会造成保持电容中电量的流失。如设保持电压u=10v,保持电容c取0.01mf,则可以计算出放电时间t=1s。可见,控制模拟开关的关断时间要大于20ms,小于1s。

软件设计
软件设计是围绕can总线通讯进行的,它包括can总线通讯初始化、can总线数据帧的定义和通讯中断服务程序设计。
can总线通讯初始化
在系统上电复位后,程序将完成下面两项工作:
1)根据硬件系统的连接方式和要求确定微处理器的设置。
2)在sja1000复位后,需要设置与通信相关的参数:模式的选择、接收码寄存器、接收屏蔽寄存器和总线定时等。
在系统运行的过程中,

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!