2
西安郵電大学
现场总线课程设计报告书
系 部 名 称 :
自动化学院
学 生 姓 名 :
2 号:陈浩
6 号:韩兆斌
27 号:王飞
34 号:朱博涛
专 业 名 称 :
自动化
班
时
级 :
自动化 1402
间 :
2017 年 3 月 13 日 至
2017 年 3 月 24 日
CAN/RS232 网关节点设计
一、 设计要求:
利用单片机,SJA1000,MAX232 设计网关节点,收集各个 CAN 节
点数据。并上传至上位机,并下达命令。要求:
1、CAN/RS232 信号转换;
2、解析 CAN 协议,采集各 CAN 节点数据;
3、将节点数据打包上传至上位机。
二、设计方案分析
1、方案设计:
1.1、系统电路设计思路
本设计由 80C51 单片机作为主控制器进行 CAN 数据的接受以及
RS232 协议的转换。电路主要由 80C51 主控制器、CAN 控制器和收发
器、MAX232 控制器、电源构成。STC89C51 将 CAN 控制器从总线上收
到的数据进行协议转换,然后将数据封装成 RS232 协议发送到 TTL,
串到上位机。同时将从 MAX232 收到的信号发送到 CAN 控制器,CAN
收发器再传递到 CAN 总线上,完成整个过程。单片机通过 CAN 总线
控制器、CAN 驱动器连接至 CAN 总线,与总线的其他节点通信,实现
对信息的采集以及传送。同时通过上位机发送命令控制总线的数据传
输。
1.2、系统原理框图
1.3、实验器材:
AT89C51、SJA1000、MAX232、TJA1050。
2、背景知识介绍:
AT89C51 是一种带 4K 字节 FLASH 存储器的低电压、高性能
CMOS 8 位微处理器。是一种带 2K 字节闪存可编程可擦除只读存
储器的单片机。由于将多功能 8 位 CPU 和闪烁存储器组合在单
个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051
是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提
供了一种灵活性高并且价廉的方案。 89C51 是一种带 4K 字节闪
烁可编程可擦除只读存储器的低电压、高性能 CMOS8 位微处理
器 ,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100
次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与
工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8
位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 89C51 是一种
高效微控制器,89C2051 是它的一种精简版本。89C51 单片机为
很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图 2.2 单片机 80c51 引脚图
2.2、SJA1000 控制器介绍
SJA1000 是一种独立控制器,用于移动目标和一般工业环
境中的区域网络控制(CAN),它是 PHILIPS 半导体 PCA82C200 CAN
控制器 BasicCAN 的替代产品而且它增加了一种新的工作模式
PeliCAN, 这种模式支持具有很多新特性的 CAN 2.0B 协议。
图 2.3 CAN 控制器 SJA1000 图
SJA1000 控制模块:
1.接口管理逻辑 IML
接口管理逻辑解释来自 CPU 的命令控制 CAN 寄存器的寻址向主
控制器提供中断信息和状态信息。
2.发送缓冲器 TXB
发送缓冲器是 CPU 和 BSP 位流处理器之间的接口能够存储发送
到 CAN 网络上的完整信息缓冲器长 13 个字节由 CPU 写入 BSP 读出。
3.接收缓冲器 RXB RXFIFO
接收缓冲器是验收滤波器和 CPU 之间的接口用来储存从 CAN 总
线上接收和接收的信息接收缓冲器 RXB 13 个字节作为接收 FIFO
RXFIFO 长 64 字节的一个窗口可被 CPU 访问 CPU 在此 FIFO 的支持
下可以在处理信息的时候接收其它信息
4.验收滤波器 ACF:验收滤波器把它其中的数据和接收的识别码
的内容相比较以决定是否接收信息在纯粹的接收测试中所有的信息
都保存在 RXFIFO 中
5. 位流处理器 BSP:位流处理器是一个在发送缓冲器 RXFIFO 和
CAN 总线之间控制数据流的程序装置它还在 CAN 总线上执行错误检
测仲裁填充和错误处理
6.位时序逻辑 BTL:位时序逻辑监视串口的 CAN 总线和处理与总
线有关的位时序它在信息开头弱势-支配的总线传输时同步 CAN 总线
位流硬同步接收信息时再次同步下一次传送软同步 BTL 还提供了可
编程的时间段来补偿传播延迟时间相位转换例如由于振荡漂移和定
义采样点和一位时间内的采样次数
7. 错误管理逻辑 EML:EML 负责传送层模块的错误管制它接收
BSP 的出错报告通知;BSP 和 IML 进行错误统计
2.3、MAX232 介绍
MAX232 芯片是美信(MAXIM)公司专为 RS-232 标准串口设计的
单电源电平转换芯片,使用+5v 单电源供电。器件特别适合电池
供电系统,这是由于其低功耗关断模式可以将功耗减小到 5uW 以
内。MAX225、MAXX233、MAX235 以及 MAX245/MAX246/MAX247 不需
要外部元件,推荐用于印刷电路板面积有限的应用。MAX220–
MAX249 系列线驱动器/接收器,专为 EIA/TIA-232E 以及 V.28/V.24
通信接口设计,尤其是无法提供±12V 电源的应用。
图 2.3
max232 引脚图
2.4、TJA1050 收发器介绍
TJA1050 是 Philips 公司生产的,用以代替 82c50 的高速 CAN 总
线驱动器。该器件提拱了 CAN 控制器与物理总线的差动发送和接受功
能。 TJA1050 除了具有 82c50 的主要特性以外,在某些方面的性能
还做了很大的改善。如下图 2.4 所示:
图 2.4
TJA1050 引脚图
三、硬件设计:
1、系统总电路:
系统电路由两个 CAN 节点组成,其中一个为发送节点,另一个为
接收节点。在发送节点电路模块设有单片机最小系统(包括时钟电路
和复位电路)、SJA1000 控制器、max232、TJA1050 等模块,在接收
节点设有单片机最小系统、显示电路。SJA1000T 是集成的独立 CAN
控制器,它负责完成 CAN 总线通信协议的物理层和数据链路层的功
能。两个节点通过 CAN 总线实现数据实时通信。如下图所示:
2、单片机最小系统
单片机最小系统由单片机STC89C51、时钟电路和复位电路构成。
单片机的P2口和控制器的地址/数据口相连,并作为CAN控制器的片选
控制端口,P0口作为键盘输入和报警控制端口,P1口作为显示输出端
口,P3.2口记录来自湿度传感器的脉冲信号,外部中断INT0接收CAN