嵌入式系统/ARM技术中的CAN总线分布式系统适配卡和控制单元设计
摘要:介绍CAN总线分布式系统中适配卡和控制单元的硬件组成及软件的设计方法,给出硬件原理图;详细分析SJA1000的初始化方法、验收滤波器的原理和使用方法、通信程序的设计,并给出CAN通信中断服务程序和初始化程序流程图。 关键词:CAN总线 适配卡 控制单元 SJA1000 双口RAM 1 CAN总线分布式系统的结构 系统结构如图1所示。本系统由上位监控计算机、CAN总线适配卡和控制单元三部分构成。其中上位监控计算机采用IBM-PC兼容机,主要负责对系统数据的接收与管理、控制命令的发送以及各控制单元动态参数和设备状态实时显示。控制单元以单片机为核心,主要负 CAN总线,全称Controller Area Network,是一种广泛应用在嵌入式系统和汽车电子中的通信协议,尤其适合于分布式系统的实时数据交换。CAN总线以其高可靠性、抗干扰性以及高效的数据传输特性,被广泛用于工业自动化、汽车电子、医疗设备等领域。 在文中提到的CAN总线分布式系统中,系统主要由三部分构成:上位监控计算机、CAN总线适配卡和控制单元。上位监控计算机通常基于IBM-PC兼容机,主要负责数据管理、控制命令的发送以及数据显示。控制单元则由单片机(如文中未明确指出的型号)组成,负责环境参数检测、数据处理以及对SJA1000的控制。 CAN总线适配卡作为PC机与CAN总线间的桥梁,它包含了微处理器、CAN总线控制器SJA1000、CAN总线收发器和双口RAM。双口RAM用于实现PC机与适配卡之间的高速数据交换,通过设备映射到PC机的内存空间。适配卡上的光电隔离器增强了系统的抗干扰能力,而总线两端的120Ω电阻则用于匹配总线阻抗,确保信号传输质量。 SJA1000是Philips公司的一款高性能CAN控制器,能够执行物理层和数据链路层的功能。它包含寄存器组和报文缓冲区,能够存储待发送或接收的报文。此外,SJA1000还配备了64字节的接收FIFO(RXFIFO),用于在CPU处理其他任务时接收数据,提升了系统的并行处理能力。 在适配卡的硬件设计中,采用了ISA接口连接PC机,利用双口RAM(如IDT7132)进行数据交换,解决了两个端口可能产生的冲突问题。为了提高抗干扰性,还在CAN器件间添加了高速隔离器件6N137。同时,82C250作为CAN总线接口芯片,延长了通信距离。 软件设计方面,文中提到了SJA1000的初始化方法,这涉及到配置其寄存器以设定工作模式、波特率等。验收滤波器的设置用于筛选接收的CAN消息,只有符合滤波条件的数据才会被接收。通信程序设计包括中断服务程序和初始化程序流程,中断服务程序用于处理CAN通信中断事件,初始化程序则负责设置CAN控制器的工作状态。 这篇摘要详细阐述了一个基于CAN总线的分布式系统的设计,涵盖了硬件结构、关键部件(如SJA1000)的使用,以及软件设计的关键环节。这种设计思路对于理解CAN总线系统及其在嵌入式系统/ARM技术中的应用具有重要的参考价值。
- 粉丝: 12
- 资源: 926
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0