CAN总线与RS转换接口电路设计Word格式文档下载.docx

上传人:b****6 文档编号:21666433 上传时间:2023-01-31 格式:DOCX 页数:25 大小:209.89KB
下载 相关 举报
CAN总线与RS转换接口电路设计Word格式文档下载.docx_第1页
第1页 / 共25页
CAN总线与RS转换接口电路设计Word格式文档下载.docx_第2页
第2页 / 共25页
CAN总线与RS转换接口电路设计Word格式文档下载.docx_第3页
第3页 / 共25页
CAN总线与RS转换接口电路设计Word格式文档下载.docx_第4页
第4页 / 共25页
CAN总线与RS转换接口电路设计Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

CAN总线与RS转换接口电路设计Word格式文档下载.docx

《CAN总线与RS转换接口电路设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《CAN总线与RS转换接口电路设计Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

CAN总线与RS转换接口电路设计Word格式文档下载.docx

CAN总线协议层次结构由高到低如表1-1所示。

表1-1CAN总线协议层次结构

协议层

对应OSI模型

说明

LLC

数据链路层

逻辑链路控制子层,用于为链路中的数据传输提供上层控制手段

MAC

媒体访问控制子层,用于控制帧结构、仲裁、错误界定等数据传输的具体实现

物理层

物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输

LLC层和MAC层也可以看作是CAN总线数据链路层的两个子层。

其中LLC层接收MAC层传递的报文,主要完成报文滤波、过载通知以与恢复管理等工作。

而MAC层则为数据报文的传输进行具体的控制,包括帧结构控制、总线仲裁、错误检测、出错界定、报文收发控制等工作。

物理层定义了信号是如何实际传输的,因此涉与到位时间、位编码、同步的解释,CAN总线协议并未对物理层部分进行具体的规定。

1.3CAN总线报文传输结构

报文传输由以下4个不同的帧类型所表示

1.数据帧:

数据帧携带数据从发送器至接收器。

数据帧由7个不同的位场组成:

帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。

数据场的长度可以为0。

数据帧(或远程帧)通过帧间空间与前述的各帧分开。

2.远程帧:

总线单元发出远程帧,请求发送具有同一识别符的数据帧。

远程帧由6个不同的位场组成:

帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。

通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置。

3.错误帧:

任何单元检测到总线错误就发出错误帧。

错误帧由两个不同的场组成。

第一个场用作为不同站提供的错误标志(ERRORFLAG)的叠加。

第二个场是错误界定符。

为了能正确地终止错误帧,“错误被动”的节点要求总线至少有长度为3个位时间的总线空闲(如果“错误被动”的接收器有本地错误的话)。

因此,总线的载荷不应为100%。

有两种形式的错误标志,主动错误标志(Activeerrorflag)和被动错误标志(Passiveerrorflag)。

4.过载帧:

过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

过载帧包括两个位场:

过载标志和过载界定符。

有两种过载条件都会导致过载标志的传送:

(1)接收器的内部条件(此接收器对于下一数据帧或远程帧需要有一延时)。

(2)间歇场期间检测到一“显性”位。

由过载条件1而引发的过载帧只允许起始于所期望的间歇场的第一个位时间开始。

而由过载条件2引发的过载帧应起始于所检测到“显性”位之后的位。

1.4CAN总线错误处理

1.4.1错误检测

有以下5种不同的错误类型(这5种错误不会相互排斥)

1.位错误(BitError)

单元在发送位的同时也对总线进行监视。

如果所发送的位值与所监视的位值不相合,则在此位时间里检测到一个位错误。

但是在仲裁场(ARBITRATIONFIELD)的填充位流期间或应答间隙(ACKSLOT)发送一“隐性”位的情况是例外的。

此时,当监视到一“显性”位时,不会发出位错误。

当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误。

2.填充错误(StruffError)

如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测到一个填充错误。

3.CRC错误(CRCError)

CRC序列包括发送器的CRC计算结果。

接收器计算CRC的方法与发送器相同。

如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误。

4.形式错误(FormError)

当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误。

(备注:

接收器的帧末尾最后一位期间的显性位不被当作帧错误)

5.应答错误(AcknowledgmentError)

只要在应答间隙(ACKSLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误。

1.4.2错误标定

检测到错误条件的站通过发送错误标志指示错误。

对于“错误主动”的节点,错误信息为“主动错误标志”,对于“错误被动”的节点,错误信息为“被动错误标志”。

站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出错误标志信息。

只要检测到的错误的条件是CRC错误,错误标志的发送开始于ACK界定符之后的位(其他的错误条件除外)。

2.CAN控制器SJA1000分析

2.1CAN节点结构与SJA1000操作模式

SJA1000独立的CAN控制器有2个不同的操作模式:

BasicCAN模式(和PCA82C200兼容);

PeliCAN模式

BasicCAN模式是上电后默认的操作模式。

因此用PCA82C200开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。

PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B规范的帧类型。

而且它还提供一些增强功能,例如,SJA1000支持一些错误分析功能,支持系统诊断、系统维护和系统优化,而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。

使SJA1000能应用于更宽的领域。

本设计采用PeliCAN模式,因此只给出PeliCAN模式增强功能。

如表2-1所示。

表2-1PeliCAN模式的增强功能

CAN2.0B(active)

CAN2.0Bactive支持带有29位标识符的网络扩展应用

发送缓冲器

有11位或29位标识符的报文的单报文发送缓冲器

增强的验收滤波器

两个验收滤波器模式支持11位和29位标识符的滤波

可读的错误计数器

支持错误分析在原型阶段和在正常操作期间可用于:

诊断、系统维护、系统优化

可编程的出错警告界限

错误代码捕捉寄存器

出错中断

仲裁丢失捕捉中断

支持系统优化包括报文延迟时间的分析

单次发送

使软件命令最小化和允许快速重载发送缓冲器

仅听模式

SJA1000能够作为一个认可的CAN监控器操作,可以分析CAN总线通信或进行自动位速率检测

自测试模式

支持全部CAN节点的功能自测试或在一个系统内的自接收

通常,每个CAN模块能够被分成不同的功能块,如图2-1所示。

CAN控制器执行在CAN规范里规定的完整CAN协议。

它通常用于报文缓冲和验收滤波。

通用CAN收发器实现从CAN控制器到CAN总线物理层的电气连接。

而所有这些CAN功能都由一个模块控制器控制,它负责执行应用层的功能。

图2-1CAN模块装置

2.2SJA1000内部结构与其功能分析

1.SJA1000内部结构

SJA1000内部可以分为接口管理逻辑、发送缓冲区、接收FIFO、比特流处理器、接收滤波器、定位逻辑器、错误管理逻辑、复位模块和振荡电路这几个部分组成。

其内部结构和相互关系如图2-2所示。

图2-2SJA1000内部结构图

2.SJA1000引脚功能

SJA1000中共有28个外部引脚,芯片封装形式可以是DIP28,也可以是SO28。

AD7~AD0(引脚2、1、28~23)这8个引脚为8位地址/数据端

ALE/AS(引脚3)Intel模式下,该引脚为ALE信号输入端。

Motorola模式下,该引脚为AS信号输入端。

/CS(引脚4)芯片片选端

/RD/E(引脚5)Intel模式下,该引脚为/RD信号输入端,Motorola模式下,

该引脚为E信号输入端。

/WR(引脚6)Intel模式下,该引脚为/WR信号输入端,Motorola模式下,

该引脚为RD//WR信号输入端。

CLKOUT(引脚7)SJA1000的

时钟信号输入端。

该时钟频率可以由SJA1000的内部时钟控制寄存器进行可编程控制,若时钟控制寄存器的ClockOff位为1,则该引脚无效。

VSS1(引脚8)逻辑地

XTAL1、XTAL2(引脚9、10)外部晶振接入端。

Mode(引脚11)模式选择端。

该引脚用于处理器接口的选择,当该引脚接高电平时,SJA1000工作在Intel模式,当该引脚接低电平时,SJA1000工作在Motorola模式。

VDD3(引脚12)输出驱动器的电源端。

TX0、TX1(引脚13、14)CAN输出驱动器的输出端0和输出端1。

VSS3(引脚15)输出驱动器的接地端。

/INT(引脚16)中断信号输出端。

当产生事件且内部中断寄存器对应位被置位时,该引脚产生低电平,通知处理器产生外部中断,处理器可以通过查看中断事件寄存器来了解发生了何种中断。

该引脚为集电极开路,因此多个/INT信号可以直接连接在一起产生线“或”。

/RST(引脚17)芯片复位端。

VDD2(引脚18)输入比较器的电源端。

RX0、RX1(引脚19、20)CAN输入比较器的输入端0和输入端1。

VSS2(引脚21)输入比较器的接地端。

VDD1(引脚22)电源端。

3.SJA1000寄存器与其功能

SJA1000的功能配置和行为由主控制器的命令控制。

因此SJA1000能满足不同属性的CAN总线系统的要求。

主控制器和SJA1000之间的数据交换经过一组寄存器(控制段)和一个RAM(报文缓冲器)完成。

RAM部分的寄存器和地址窗口组成了发送和接收缓冲器,对于主控制器来说就象是外围器件寄存器。

表2-2根据它们在系统的作用分组列出了SJA1000寄存器。

注意,一些寄存器只在PeliCAN模式有效,控制寄存器仅在BasicCAN模式里有效。

一些寄存器是只读的或只写的,还有一些只能在复位模式中访问。

表2-2SJA1000内部寄存器的分类

使用类型

寄存器名称(符号)

寄存器地址

功能

PeilCAN模式

BasicCAN模式

选择不同的操作模式的要素

模式(MOD)

选择睡眠模式、验收滤波器模式、自测试模式、只听模式和复位模式

控制(CR)

在BasicCAN模式里选择复位模式

命令(CMR)

BasicCAN模式的睡眠模式命令

时钟分频器(CDR)

31

在CLKOUT设置时钟信号(引脚7)选择PeilCAN模式、比较器旁路模式、TX1(管脚14)输出模式

设定CAN通讯的要素

验收码(ACK)

验收屏蔽(AVR)

16~29

20~23

4

5

验收滤波器位的模式选择

总线定时寄存器0(BTR0)

总线定时寄存器1(BTR1)

6

7

位定时参数的设置

输出控制(OCR)

8

输出驱动器属性的选择

1

自接收、清除数据超载、释放接收缓冲器、中止传输和传输请求的命令

状态(SR)

2

报文缓冲器的状态、CAN核心模块的状态

中断(IR)

3

CAN中断标志

中断使能(IER)

在PeilCAN模式使能和禁能中断

在BasicCAN模式使能和禁能中断事件

复杂的错误检测和分析的要素

仲裁丢失捕捉(ALC)

11

显示仲裁丢失的位置

错误代码捕捉(ECC)

12

显示最近一次的错误类型和位置

出错警告界限(EWLR)

13

产生出错警告中断的阀值选择

RX错误记数(RXERR)

14

反映接收错误记数器的当前值

TX错误记数(TXERR)

14、15

反映发送错误计数器的当前值

Rx报文计数器(RMC)

29

接收FIFO里的报文数量

RX缓冲器起始地址(RBSA)

30

显示接收缓冲器提供的报文的当前内部RAM地址

信息缓冲器

发送缓冲器(TXBUF)

16~28

10~19

接收缓冲器(RXBUF)

20~29

(1)发送缓冲器/接收缓冲器

在CAN总线上发送的数据被载入SJA1000的存储区,这个存储区叫“发送缓冲器”。

从CAN总线上收到的数据也存储在SJA1000的存储区,这个存储区叫“接收缓冲器”,在BasicCAN模式下。

这些缓冲器包括2、3或5个字节的标识符和帧信息(取决于模式和帧类型),而最多可以包含8个数据字节。

在PeliCAN模式:

这些缓冲器是13个字节长(见表2-3)

−1字节帧信息

−2个或4个标识符字节(标准帧或扩展帧)

−最多8个数据字节。

表2-3是PeliCAN模式里的RX缓冲器1(读访问)和TX缓冲器(写访问2)

表2-3PeliCAN模式读访问和写访问

CAN地址(十进制)

名称

组成和标注

16

帧信息

1位说明,如果报文包括一个标准帧或扩展帧

1位远程传输请求位

4位数据长度码,说明数据字节的数量

17,18

标识符字节1,2

标准帧:

11位标识符

扩展帧:

16位标识符

19,20

标识符字节3,4

仅扩展帧:

13个标识符

帧类型

19~26

21~28

数据字节1~8

由数据长度码说明,最多8个数据字节

(2)验收滤波器

独立的CAN控制器SJA1000装配了一个多功能的验收滤波器,该滤波器允许自动检查标识符和数据字节。

使用这些有效的滤波方法,可以防止对于某个节点无效的报文或报文组存储在接收缓冲器里。

因此降低了主控制器的处理负载。

滤波器由验收码寄存器和屏蔽寄存器根据给定算法来控制。

接收到的数据会和验收代码寄存器中的值进行逐位比较。

接收屏蔽寄存器定义与比较相关的位的位置(0=相关1=不相关)。

只有收到的报文相应位与验收代码寄存器的相应位相同,报文才会被接收。

PeliCAN模式的验收滤波已被扩展:

4个8位的验收码寄存器(ACR0,ACR1,ACR2和ACR3)和验收屏蔽寄存器(AMR0,AMR1,AMR2和AMR3)可以用多种方法滤波报文。

报文的哪些位用于验收滤波,取决于收到的帧(标准帧或扩展帧)和选择的滤波器模式(单滤波器或双滤波器)。

对于不需要经过验收滤波的报文位(例如报文组被定义为接受),验收屏蔽寄存器必须相应的位位置上置“1”。

如果报文不包括数据字节(例如:

是一个远程帧或者数据长度码为零)但是验收滤波包括数据字节,则如果标识符直到RTR位都有效的话,报文会被接收。

3.CAN总线与RS-232转换接口电路设计

3.1CAN总线与RS-232转换接口电路总体设计

图3-1CAN与RS-232接口转换电路

图3-1为CAN总线与RS-232接口转换电路图。

整个转换接口电路包括:

主控制模块、RS-232接口转换电路和CAN控制模块3个主要部分。

主控制模块处理CAN总线以与RS-232接口的数据通信和控制,利用AT89C51完成两种格式数据帧的交换,并对接口进行控制。

RS-232接口电路由MAX232芯片构成,实现将单片机串口的TTL电平与RS-232电平的相互转换。

CAN控制器模块,主要完成CAN协议的物理层和数据链路层协议的实现。

其中物理接口采用PCA82C250芯片实现物理层的电平转换和传输。

CAN控制器使用SJA1000芯片,实现数据链路层协议。

3.2主控制模块电路设计

图3-2主控制模块电路图

主控制模块负责处理CAN以与RS-232接口的数据通信与控制,利用AT89C51完成两种格式数据帧的交换,并对接口进行控制。

如图3-2中所示,RS-232与CAN的转接板主要实现RS-232接口与CAN总线接口之间的数据传输,其运算量不大,因此选用可以有效降低成本的AT89C51作为整个设计的主控制器。

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,1000次可擦写周期,三级加密程序存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内振荡器与时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM、定时/计数器、窜行通信口与中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止所有部件工作直到下一个硬件复位。

AT89C51的电源使用+5V电源,同时其P3.5、P3.4以与P1.4~P1.5外接一个DIP6开关,用于设置单片机本身的地址信息。

AT89C51使用的晶振信号由SJA1000提供(SJA1000用24MHz的片外晶振),SJA1000的CLKOUT引脚接入MCU的XTAL1引脚。

3.2.1AT89C51与6116电路设计

图3-3AT89C51与6116连接电路图

由于CAN总线速率与RS-232接口速率并不相同,因此设计中还增加了片外RAM芯片6116,用作转换双方的数据缓冲区。

设计中使用P2.7接反向器连接6116的片选端,所以接口转换电路中的片外RAM的起始地址实际上应为0X8000。

AT89C51通过数据总线、地址总线与控制总线与存储器连接,如图3-4所示:

图3-4片外存储器原理框图

本设计中选用的是6116。

6116为2KX8位的静态RAM,其逻辑图3-5如下:

图3-5片外RAM6116逻辑图

其中A0~A10为11根地址线,I/O~I/O7为8根数据线,/E为片选端,当/E低电平有效时才能选中芯片。

/G为数据输出选通端,/W为写信号端。

其工作方式见表3-1:

表3-1片外数据存储器工作方式

控制信号

/E

/G

/W

非选通

3.2.2看门狗电路设计

一般有软件看门狗和硬件看门狗两种。

软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。

硬件看门狗是真正意义上的“程序运行监视器”,如计数型的看门狗电路通常由555多谐振荡器、计数器以与一些电阻、电容等组成,分立元件组成的系统电路较为复杂,运行不够可靠。

所以本设计使用带有SPI总线接口的X25045实现硬件看门狗功能。

图3-6X25045芯片图

1.X25045引脚功能

/CS:

片选择输入

SO:

串行输出,数据由此引脚逐位输出

SI:

串行输入,数据或命令由此引脚逐位写入X25045

SCK:

串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出

/WP:

写保护输入。

当它低电平时,写操作被禁止

Vss:

Vcc:

电源电压

RESET:

复位输出

2.X25045的特性

可选时间的看门狗定时器

VCC的降压检测和复位控制

5种标准的开始复位电压

使用特定的编程顺序即可对低电压检测和复位开始电压进行编程

复位电压可低至VCC=1V

省电特性

在看门狗打开时,电源小于50uA

在看门狗关闭时,电源小于10uA

在读操作时,电源小于2mA

4K位EEPROM1000000次的擦写周期

具有数据的块保护功能,可以保护1/4、1/2或全部的EEPROM,当然也可以置于不保护状态

内建防误写措施

用指令允许写操作

写保护引脚

时钟可达3.3M

短的编程时间

16字节的页写模式

写时由器件内部自动完成

典型的器件写周期为5ms

3.X25045功能

如图3-7所示,X25045将四种功能合于一体,上电复位控制、看门狗定时器、降压管理以与具有块保护功能的串行EEPROM,它有助于简化转换接口的设计,减少印制板的占用面积,提高可靠行。

图3-7X25045内部结构图

该芯片内的串行EEPROM具有块锁保护COMS串行EEPROM,它被组织成8位的结构,它由一个由四线构成的SPI总线方式进行操作,其擦写周期至少有1000000次,并且写好的数据能够保存100年。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1