微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 两种采用CAN总线进行通信的系统比较

两种采用CAN总线进行通信的系统比较

时间:08-31 来源:互联网 点击:

can总线是一种有效支持分布式控制或实时控制的串行通信网络,它可实现全分布式多机系统,且无主、从之分;具有传输速度快、自动解决总线竞争、实时性好、可靠性高、纠错能力强等特点,目前已成为一种国际总线标准。
由于can总线具有诸多优点,它的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统、工业自动化、建筑物环境控制、机床、电梯控制、医疗设备等领域得到了较为广泛的应用。

  sja1000是一种独立的can控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是philips半导体公司pca82c200can控制器(basiccan)的替代产品,而且它增加了一种新的操作模式——pelican,这种模式支持具有很多新特性的can2.0b协议。sja1000的基本特性以及电气参数均与pca82c200独立can控制器兼容,具有pca82c200模式(即默认的basiccan模式),有扩展的接收缓冲器64字节,先进先出(fifo),支持can2.0a和can2.0b协议,支持11位和29位标识码,通信位速率可达1mbps。

  独立的can控制器芯片需要外接一个处理器,接受外部cpu的控制才能运行。如果处理器内带有can控制器,那么无疑会大大简化应用系统的硬件设计,系统的可靠性也会有很大的提高。所以出现了很多带有can控制器的处理器,philips公司的p8xc591单片机就是其中的一种,它完全履行can2.0b规范,并提供一个直接从sja1000独立can控制器的软件移植路径。

2 两种通信方式介绍

  2.1 独立的can控制器sja1000通信方式

  sja1000是一种独立的can控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是philips公司pca82c200can控制器(basiccan)的替代产品,它在完全兼容pca82c200的基础上,增加了一种新的工作模式pelican,sja1000完全支持具有很多新特性的can2.0b协议。sja1000的工作模式通过其内部的时钟分频寄存器(cdr)中的can模式位来选择,硬件复位时默认模式是basiccan工作模式[1]。

  sja1000可以支持多种微处理器的时序特性,如intel模式或motorola模式。sja1000与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问sja1000,在设计接口电路时,sja1000的片选地址应与其他外部存储器的片选地址在逻辑上无冲突。

  sja1000有2种模式可以供微处理器访问其内部寄存器,2种模式下的访问是有区别的,这2种模式分别是复位模式和工作模式,当硬件复位、控制器掉线、置位请求位时,sja1000进入复位模式。当清楚其内部控制寄存器(cr)中的复位请求位时,sja1000进入工作模式,有些内部的寄存器只能在复位模式下访问,有些寄存器只能在工作模式下访问,而有些寄存器在这2种模式下都可以访问。

  2.2 philips单片机p8xc591的通信方式

  philips半导体公司的p8xc591是一个用先进的coms工艺制造的高性能8位单片机,具有片内can控制器。它从mcs-51微控制器家族派生而来,采用了强大的80c51指令集,并成功的包括了philips半导体sja1000,can控制器的pelican功能,提供了专用的硬件,其方框图如图1所示。全静态内核提供了扩展的节电方式。振荡器可停止和恢复而不会丢失数据。改进的1:1内部时钟分频器在12mhz外部时钟速率时实现500ns指令周期[1]。

图1 p8xc591的方框图


  p8xc591是一个高性能的微控制器,其专注的硬件结构及增强型的philips“rx+内核”使得其可以广泛用于工业控制和汽车领域。片上自带的can控制器为can的应用提供许多专用的硬件功能。p8xc591完全履行can2.0b规范并提供一个直接从sja1000独立can控制器的软件移植路径。p8xc591具有can的扩充特性,其中包括增强型接收滤波器、支持系统维护、诊断、系统优化以及接收fifo特性等,使得p8xc591具有非常广泛的应用领域。

  p8xc591包含的嵌入式can控制器具有下列功能模块:can内核模块,根据can2.0b规范控制can帧的发送和接收;can接口模块,包含了5个实现cpu与can控制器连接的特殊功能寄存器,对重要can寄存器的访问通过快速自动增加的寻址特性和对特殊功能寄存器的位寻址来实现;can控制器的发送缓冲区模块,能够保存一个完整的can信息扩展或标准帧格式,只要通过cpu启动发送信息,字节就从发送缓冲区传输到can内核模块,当接收一个信息时,can内核模块将串行位流转换成并行数据输入到接收滤波器,通过该可编程滤波器,p8xc591确定实际接收到的信息,所有由接收滤波器接收的数据都保存在接收fifo(64字节)中,取决于操作模式和数据长度的不同该接收缓冲区最多可保存21个can信息。这使用户在指定系统的中断服务和中断优先级时有更多的灵活性,因为数据溢出的可能性大大降低。

  除了普通的can特性以外,p8xc-591还提供增强型pelican。pelican具有4个独立可配置的接收滤波器组,每个组都有4个可选的接收滤波器配置;每个接收滤波器都有32位区分符、32位代码和32位屏蔽;所有滤波器配置都可在运行中改变;支持更高层协议的接收滤波器;接收fifo特性;只听模式及自检测模式;只有达到fifo接收中断级才能产生接收中断;在接收到高优先级数据帧时立即产生接收中断;支持系统维护、诊断和优化等特性[2]。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top