基于MC9S12DP256微控制器和芯片实现工业CAN 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)接口。工业CAN I/O模块从逻辑上分成基板、电源和I/O板三个基本电路板。板与板之间的数据传送由串行外设接口(SPI)协议保证。

基板的组成

工业CAN I/O模块中基板的主要功能是对模块实施控制,并与系统控制单元进行通信。基板配备有8个模拟通道。基板从逻辑上又可以分成微控制器模块、CAN接口、模拟输入和RS232_485接口4个模块。

a.微控制器模块

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

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

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

基板上有一个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或类似主机的RS232接口,以及一个用于工业应用的RS485接口。

电源板

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

电源板的主器件是一个带高速CAN收发器的多输出电源集成电路PC33394。该器件内置有开关型整流器,可提供预调节的输出,后面紧跟一个低压降输出 (LDO)调节器。并应用并没有用到PC33394的全部功能。内部开关调节器集成了实现降压/生压整流器的电路。该电路眼板上只实现了降压调节器。回扫转换器提供对称的电压为模块的模拟通道供电。变压器输出电压经整流后由线性稳压器产生一对称的+12V、-12V输出电压。

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

I/O板

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

a.输入模块

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

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

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

b.输出模块

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

应用介绍

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

表1:所有的事件描述

芯片

责任编辑:gt


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分