CAN总线/RS232智能电平转换器的设计.doc

CAN总线/RS232智能电平转换器的设计.doc

ID:59007455

大小:110.00 KB

页数:5页

时间:2020-09-15

CAN总线/RS232智能电平转换器的设计.doc_第1页
CAN总线/RS232智能电平转换器的设计.doc_第2页
CAN总线/RS232智能电平转换器的设计.doc_第3页
CAN总线/RS232智能电平转换器的设计.doc_第4页
CAN总线/RS232智能电平转换器的设计.doc_第5页
资源描述:

《CAN总线/RS232智能电平转换器的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1引言CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是一种国际标准的,高性价的现场总线,在自动控制领域具有重要作用。CAN是一种多主方式的串行通讯总线,具有较高的实时性能,因此,广泛应用于汽车工业、航空工业、工业控制、安全防护等领域。由于PC机无CAN接口,因此,PC机与智能节点构成CAN总线系统可采用RS232/CAN、并口/CAN、USB/CAN、ISA卡/CAN以及PCI卡/CAN方式接入。而采用RS232/CAN接入时,需采用CAN/RS232接口标准转换。针对这一问题,提出了CAN/RS232智能电

2、平转换器设计方案,以SJAl000作为独立CAN控制器,完成CAN通信协议。并在SJAl000与驱动器之间连接高速光耦,从而实现总线各点间的电气隔离。2硬件电路设计CAN/RS232智能电平转换器硬件电路主要由微处理器AT89C52、独立CAN通讯控制器SJAl000、CAN总线驱动器82C250、高速光电耦合器6N136、TTL电平与RS232电平转换器ICL232、LED数码管显示电路以及为SJAl000提供初始地址的拨码电路组成,其结构框图如图1所示。3CAN控制器SJAlOOOSJAl000是一款独立CAN控制器,应用于移动目标和工

3、业局域区域网控制领域。该器件是Philips公司CAN控制器PCA82C200的替代产品。SJAl000具有两种工作模式,本设计采用PeliCAN工作模式。3.1SJAl000与AT89C52的接口设计SJAl000与AT89C52的接口电路如图2所示。AT89C52负责sJAl000的初始化,控制SJAl000来实现数据的接收和发送等通讯任务。SJAl000的ADO~AD7连接至AT89C52的P0端口,CS连接至AT89C52的P3.4(AT89C52的定时器T0不起作用)。当P3.4为0时,AT89C52选中SJAl000,并通过访问

4、外部RAM低地址区实现P0端口的读/写操作,从而对SJAl000相应寄存器执行读/写操作。SJAl000的RD、WR、ALE引脚分别与AT89C52的对应引脚相连,SJAl000的INT引脚接AT89C52的INTO引脚。AT89C52还可通过中断方式访问SJAl000。为了增强系统的稳定性,采用双晶体振荡器,AT89C52采用11.0592MHz的晶体振荡器,SJAl000选用16MHz的晶体振荡器。复位电路可选用DSl232,其输出引脚ARES与SRES分别与AT89C5l的RESET引脚和SJAl000的RESET引脚相连。3.2SJ

5、Al000与驱动器的连接SJAl000的TX0、RX0引脚不是直接与82C250的TXD、RXD引脚相连,而是通过高速光耦6N136与82C250相连,这样可增强CAN总线节点的抗干扰能力,从而实现总线各节点间电气隔离。高速光耦6N136用于保护SJAl000型CAN总线控制器,该光耦两侧采用5V的DC—DC电源.可使器件的VCC与VCCl完全隔离,提高系统的抗干扰能力以及节点的稳定性和安全性。图3所示为SJAl000与CAN驱动器82C250的连接电路。4软件程序设计系统软件程序设计包括:主程序、CAN节点初始化子程序、RS232报文发送

6、子程序、RS232报文接收子程序、CAN报文接收子程序以及CAN报文发送子程序。其主程序流程图如图4所示。4.1CAN节点初始化独立CAN控制器SJAl000必须在上电或硬件复位后设置CAN通讯。上电后SJAl000的17引脚得到一个复位电平(低电平),使其进入复位模式。初始化包括设置工作方式、接收滤波方式、接收屏蔽寄存器和接收代码寄存器、波特率参数和中断允许寄存器。初始化设置完成后,SJAl000则进入工作状态,开始执行通讯任务。SJAl000寄存器初始化,首先要将其模式寄存器(MOD)复位模式位置为l,再通过时钟分频寄存器(CDR)选择

7、PeliCAN工作模式,同时关闭时钟输出(CLOCKOUT);通过中断允许寄存器(IER)开启发送中断、溢出中断和错误警告中断;向接收屏蔽寄存器(AMR)和接收代码(ACR)寄存器赋初值;通过总线定时寄存器0(BTR0)和总线定时寄存器1(BTRl)设置波特率;为输出控制寄存器(OCR)赋初值;通过接收缓冲器起始地址寄存器(RBSA)来设置接收缓冲器FIF0的起始地址;清除发送错误计数寄存器(TXERR);清除错误代码捕捉寄存器(ECC),最后再次选择方式寄存器(MOD),设置单滤波,并返回工作状态。4.2RS232报文发送AT89C52内

8、含一组全双工串行传输界面,可同时接收或传输外部数据,其信号为TTL电平。由于与标准的RS232界面不兼容,须加电平准转换IC才可与RS232相连。AT89C52串行发送及接收数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。