广告

基于HCS12和模拟器件的工业CAN I/O模块设计

2005-04-01 Jaromir Chocholac, Zdenek Kaspar 阅读:
制造行业的发展趋势是更快、更高效和更灵活,为此制造商们正在努力实现开放式分布控制架构。本文讨论了工业CAN I/O模块方案,同时介绍了I/O模块的模块化概念,并对所有组成部分作了详细描述。

基于HCS12和模拟器件的工业CAN I/O模块设计

制造行业的发展趋势是更快、更高效和更灵活,为此制造商们正在努力实现开放式分布控制架构。本文讨论了工业CAN I/O模块方案,同时介绍了I/O模块的模块化概念,并对所有组成部分作了详细描述。

工业CAN I/O模块包含8个模拟输入、16个数字输入、16个数字输出,以及一个兼容高速CAN收发器2.1 A/B的控制器和可选的RS232/RS485收发器。该方案基于飞思卡尔的16位MC9S12DP256微控制器单元。CAN物理收发器有两个可行的替代产品,一个是容错CAN接口MC33388,一个是带多输出电源的高速CAN MC33394。CAN接口与ISO 11898兼容,允许最大数据传送速率为500kbps。数字输入用的是开关监视接口MC33884芯片,数字输出用低端功率开关器件MC33298实现。

本文讨论的模块可以用作高层通信协议软件开发的硬件平台。另外,该模块可以用于用户软件的实现和测试。基于这一目的,电路板需要配备重新编程和调试用的后台调试模式(BDM)接口。模块框图如图1所示。

工业CAN I/O模块是一个模块化系统,它从逻辑上分成基板、电源和I/O板三个基本电路板。板与板之间的数据传送由串行外设接口(SPI)协议保证。

基板的组成

工业CAN I/O模块中这一部分的主要功能是对模块实施控制,并与系统控制单元进行通信。基板配备有8个模拟通道。基板框图如图2所示。

基板从逻辑上又可以分成微控制器模块、CAN接口、模拟输入和RS232_485接口4个基本模块。

a. 微控制器模块

16位MC9S12DP256微控制器单元(MCU)是基板的主要组成部分。

工业CAN I/O模块使用了内嵌于MCU的5个CAN外设之一(CAN0)。根据BOSCH规范的定义,该外设是一个用于实现CAN 2.0 A/B协议的通信控制器。CAN外设是MSCAN(摩托罗拉可伸缩CAN)的一种特定实现。它使用了2个外部引脚,一个输入(RxCAN0)和一个输出(TxCAN0)通过CAN收发器与CAN总线进行通信。一个输出信号用于实现对CAN收发器芯片的控制。

如上所述,板与板之间的数据传送是由SPI协议保证的。SPI模块可以实现MCU与外设之间的全双工串行通信。工业CAN I/O模块使用了MCU的3个SPI外设中的一个(SPI0)。该SPI可以被配置为主模式或从模式。SPI0外设必须选择主模式,因为只有主SPI才能发起到外设的传送。

工业CAN I/O模块使用了内嵌于MCU的两个8通道模数转换器中的一个(AN0)。A/D模块执行模拟到数字的转换,该模块包含了简单模数转换所必需的模块和数字电子电路。A/D转换器的分辨率(8位或10位)是可编程选择的。在工作电压为5V时,模块可以接受5V输入而不会导致永久性损坏。

图1. 工业CAN I/O模块框图。

图2. 基板框图。

基板上有一个8位DIP开关,用于配置节点地址(节点识别号)以及CAN速度。与主机开发系统的单线通信是通过用片上硬件实现的后台调试模式(BDM)系统完成,与目标系统的连接是通过标准的6引脚BDM连接器实现。

b. CAN接口

每个CAN节点是通过收发器芯片实现与CAN总线的物理连接。收发器能够驱动CAN总线所需的大电流,并具有隔离故障CAN或故障站的电流保护功能。基板上的CAN收发器有两个可选项:一个是使用容错CAN接口MC33388;另一个是使用MC33394器件的高速CAN收发器部分。模块使用MC33394器件的高速CAN收发器部分,同时也是电源板的一部分。

c. 模拟输入

模块提供了8个模拟通道。在每个模拟通道的输入部分都有一个衰减斜率是-40dB/dec、截止频率为1kHz的无源低通滤波器。输入滤波器用于滤除在采样之前引入的高频噪声和干扰。

模拟通道可以被配置为电压或电流模式。250欧姆电阻为4到20mA的电流环路提供电流检测和实用的过流保护。模拟通道的电压输入信号的范围是0到10V、0到5V、-5V到+5V、-2.5V到+2.5V,电流范围是4到20mA。输入范围由微控制器控制。

d. RS232_485接口

基板提供了一个用于连接PC或类似主机的RS-232接口,以及一个用于工业应用的RS-485接口。

电源板

电源板能够提供工业CAN I/O模块所需的所有电源。

电源板的主器件是一个带高速CAN收发器的多输出电源集成电路PC33394。该器件内置有开关型整流器,可提供预调节的输出,后面紧跟一个低压降输出(LDO)调节器。本应用并没有用到PC33394的全部功能。

内部开关调节器集成了实现降压或降压/升压整流器的电路。该电路板上只实现了降压调节器。回扫转换器提供对称的电压为模块的模拟通道供电。变压器输出电压经整流后由线性稳压器产生一对称的+12V、-12V输出电压。

高速CAN收发器的物理层将微控制器的CMOS输出及差分总线相接。CAN驱动器具有短路保护功能,可以容许失去电池或接地条件。

I/O板

I/O板提供16个数字输入和16个数字输出。I/O板通过连接器J1连接到基板。从逻辑上I/O板可以分成数字输入和数字输出两个基本模块。

a. 输入模块

板上有2个开关监测接口器件MC33884,它们提供了电子开关和微控制器之间的接口。MC33884监测系统中使用的多个外部开关的开/关状态。该器件提供开关触点的上拉和下拉电流,同时监测输入电压电平。所有输入电路都能防止输入端使用的静态放电电容引起的瞬态。

表1:所有的事件描述。

MC33884可以运行在以下4种模式中的一种:睡眠、正常、轮询和轮询+INT定时器。所有工作模式都可以通过SPI控制进行编程,SPI命令的响应将返回开关状态和模式设置。

该模块使用4个可编程开关到地或电池感应输入,以及每个MC33884的4个开关到地的感应输入。板上的MC33884以并行方式配置使用。

b. 输出模块

板上的2个低端电源开关MC33298能使MCU直接控制各种感性或白热负载。板上的器件也可通过SPI控制进行编程,并以并行配置方式使用。SPI命令的响应将返回器件输出开关的状态。发光二极管D1到D16也反映器件的输出开关状态。闪烁的LED表示开状态。

应用介绍

设计工业CAN I/O板样板的目的是要展示模块在利用CAN连接性的主要特性。对于msCAN外设模块来说,msCAN驱动程序软件(可从Metrowerks获得)已成功用来创建初始化和可读性更高的应用例程,而总的循环时间能够得到显著减少。

模块从上层器件接收配置信息,并返回输入/输出的状态,表1列出了模块的所有事件。工业CAN I/O模块参考设计提供了基于Freescale HCS12和APD器件的工业CAN的应用描述,可以从Freescale网站免费获取。

作者:Jaromir Chocholac


Email: jaromir.chocholac@freescale.com


Zdenek Kaspar


Email: zdenek.kaspar@freescale.com


飞思卡尔半导体公司

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
相关推荐
    广告
    近期热点
    广告
    广告
    可能感兴趣的话题
    广告
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了