CAN总线设计

合集下载

CAN总线设计(最终版)(1)

CAN总线设计(最终版)(1)

CAN-USB适配器设计*****指导老师:***学院名称:*****专业班级:****设计提交日期:**年**月摘要随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案。

USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。

本文介绍了一种基于新型USB接口芯片CH372的CAN总线网络适配器系统的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接的方案。

利用芯片CH372可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。

该系统在工业现场较之以往的系统,可以更加灵活,高速,高效地完成大量数据交换,并可应用于多种控制系统之中,具有很大的应用价值。

关键词:USB;CH372;CAN;SJA100;适配器目录1.设计思想 (3)2.CAN总线与USB的转换概述 (4)3. 适配器硬件接口设计 (5)3.1 USB接口电路 (5)3.2 CAN总线接口电路 (7)4.USB通用设备接口芯片CH372 (8)4.1 概述 (8)4.2 引脚功能说明 (9)4.3 内部结构 (9)4.4 命令 (10)5.软件设计 (10)5.1 概述 (10)5.2主监控程序设计 (12)5.3 CAN和USB接口芯片的初始化 (13)5.4 CAN报文的发送 (15)5.5 CAN报文的接收 (17)5.6.自检过程 (19)5.7 USB下传子程序设计 (20)5.8 USB上传子程序设计 (22)5.9.USB—CAN转换器计算机端软件设计 (23)6. 抗干扰措施 (25)7. 估算成本 (26)8. 应用实例介绍 (27)9 总结及设计心得 (28)10 参考文献 (28)1 设计思想现场总线网络技术的实现需要与计算机相结合。

目前,在微机上扩展CAN总线接口设备一般采用PCI总线或者RS-232总线。

PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩展;RS-232虽然插拔方便,但是传输速率太慢。

基于CAN总线的设计

基于CAN总线的设计

CAN总线的特点:
CAN总线有如下基本特点: (1)多主站依据优先权进行总线访问。 总线开放时,任何单元均可开始发送报文,具有最高优先权的报 文的单元赢得总线访问权。 利用这个特点可以用液晶显示器作为多主 机的公用监视器,不用每台主机配一个监视器,从而节约系统成本。 (2)无破坏性的基于优先权的仲裁。 网络上的每个主机可以同时发送,哪个主机的数据可以发送出去 取决于主机所发送报文的标识符决定的优先权的大小,没有发送出去 的帧可自动重发。 (3)借助接收滤波的多地址帧传送 收到报文的标识符与本机的接收码寄存器与屏蔽寄存器相比较, 符合的报文本机才予以接收。
CAN总线的特点:
(4)远程数据请求。 网络上的每个接点可以发送一个远程帧给另一个接点,请求该接 点的数据帧,该数据帧与对应的远程帧以相同的标识符ID命名。 (5)配置灵活性 通过八个寄存器进行接点配置,每个接点可以接收,也可以发送 (6)全系统数据相容性 (7)错误检测和出错信令 有五种错误类型,每个接点都设置有一个发送出错计数器和一个 接收出错计数器。发送接点和接收接点在检测到错误时,出错计数器 根据一定规则进行加减,并根据错误计数器数值发送错误标志(活动 错误标志和认可错误标志),当错误计数器数值大于255时,该接点 变为“脱离总线”状态,输出输入引脚浮空,既不发送,也不接收。
CAN于汽车车窗智能控制系统上的应用:
各节点单元相关命令和状态通过CAN控制器以报文格式由CAN 总线完成与其他节点单元信息间的传输和共享。 • 其中报文的发送由CAN控制器遵循CAN协议规范自动完成。首 先CPU必须将待发送的数据按特定格式组合成一帧报文,进入CAN控 制发送缓冲器中,并置位命令寄存器中的发送请求标志,发送处理可 通过中断请求或查询状态标志进行控制。其发送程序分发送远程帧和 数据帧两种,远程帧无数据场。 报文的接收程序负责节点报文的接收 以及总线关闭、错误报警、接收溢出等其他情况处理。报文的收发主 要有中断接收方式和查询接收方式。 •

基于单片机的CAN总线数据采集设计与实现

基于单片机的CAN总线数据采集设计与实现

基于单片机的CAN总线数据采集设计与实现一、引言现代汽车的电子控制系统日益复杂,CAN(Controller Area Network)总线作为汽车电子系统中的一种通信协议,广泛应用于汽车内部各种控制单元之间的数据传输。

在汽车电子控制系统中,CAN总线的应用越来越广泛,它不仅能够实现各个控制单元之间的数据交换,还可以实现各种外部传感器和执行器与控制单元之间的快速通信。

对CAN总线的数据采集和处理变得越来越重要。

本文将介绍一种基于单片机的CAN总线数据采集设计与实现方法,通过使用单片机控制CAN总线进行数据的采集和处理,实现对汽车电子系统中的各种传感器的数据采集和处理,为汽车电子控制系统提供更加灵活和高效的数据交换方式。

二、CAN总线数据采集设计原理1. CAN总线基本原理CAN(Controller Area Network)总线是一种串行通信协议,它是一种快速、高效的数据传输方式。

传统的串行通信方式采用的是点对点通信方式,而CAN总线可以实现多节点之间的并行通信,因此具有更高的传输效率和更好的稳定性。

CAN总线的基本组成包括控制器、主控节点、被控节点等。

CAN总线数据采集的基本原理是通过单片机控制CAN总线进行通信,实现对CAN总线上的数据进行采集和处理。

单片机可以通过CAN控制器与CAN总线进行通信,实现数据的接收和发送。

通过编程实现CAN数据帧的接收和解析,可以实现对CAN总线上的数据进行采集和处理。

1. 硬件设计基于单片机的CAN总线数据采集设计的硬件主要包括单片机、CAN总线收发器、外部时钟电路等。

单片机是整个系统的核心部件,它通过CAN总线收发器与CAN总线进行通信,并通过外部时钟电路提供时钟信号。

CAN总线收发器用于将单片机的数字信号转换成CAN总线上的模拟信号,并将CAN总线上的模拟信号转换成单片机的数字信号,实现单片机与CAN总线的通信。

3. 实现步骤第一步,硬件连接。

将单片机、CAN总线收发器、外部时钟电路等硬件按照设计要求进行连接,并进行电气连接的检查和测试。

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项

CAN总线接口电路设计注意事项CAN(Controller Area Network)总线是一种广泛应用于汽车电子、工业自动化等领域的串行通信协议。

CAN总线接口电路设计的关键因素包括信号线路、电源与地线路、保护电路等部分。

以下是设计CAN总线接口电路时需注意的几个方面:1.信号线路设计信号线路的设计应考虑信号的稳定性、抗干扰能力和传输速率。

首先,应尽量降低信号线的长度以减小信号传输的延迟。

同时,为保证信号的稳定性和抗干扰能力,应使用屏蔽线缆,并正确接地以防止地回流问题。

另外,为提高传输速率,可采用信号差分传输方式,即CAN-H和CAN-L两个线进行差分传输。

2.电源与地线路设计电源与地线路的设计应考虑到CAN总线工作的稳定性和可靠性。

首先,电源线路应提供稳定的电压,以满足CAN总线的要求。

此外,地线路应设计合理,确保地的连续性和低阻抗。

同时,为降低地回流对信号传输的干扰,应采用低阻抗地连接方式,即在CAN控制器和每个节点上都连接一段短接电阻。

此外,为提高抗干扰能力,还可使用电源和地线的滤波电路。

3.保护电路设计保护电路是为了保护CAN控制器和节点不受外部干扰和短路等异常情况的影响。

首先,需要设置电压保护电路,以防止过压和过载等情况对硬件造成损坏。

同时,还应考虑到静电放电和电磁干扰等问题,采用保护电阻、TVS二极管等元件进行保护。

另外,还应设计电流限制电路,以防止短路时过大的电流对硬件造成烧毁。

4.稳压和滤波电路设计稳压和滤波电路的设计是为了提供干净的电源和地线,保证CAN总线的正常工作。

稳压电路可采用稳压芯片或稳压二极管等元件来实现,以保持电源的稳定性。

滤波电路可采用电感、电容等元件,滤除电源和地线上的高频噪声干扰,提高CAN总线的抗干扰能力。

5.PCB布局和阻抗匹配在PCB设计中,应合理布局CAN总线接口电路的各个元件和信号线路,以降低互相干扰的可能性。

可以根据信号的传输速率和长度选择合适的线路宽度,确保信号的传输速率和阻抗匹配。

CAN总线接口电路的硬件设计

CAN总线接口电路的硬件设计

CAN总线接口电路的硬件设计首先,CAN总线接口电路的设计需要考虑以下几个方面:电气特性、线路传输、保护电路以及电源设计。

1. 电气特性设计:CAN总线通信的电气特性主要包括传输速率、传输距离和传输噪声等。

根据CAN总线的规范,通信速率可分为几个常用的速率,如1Mbps、500Kbps、250Kbps等。

在设计CAN总线接口电路时,需要选择与所应用的CAN总线通信速率相匹配的晶振,并根据晶振选择合适的分频比。

此外,CAN总线的传输距离较短,一般在40米以内,因此需要考虑信号的传输衰减和时序的稳定性。

传输噪声是CAN总线设计中的一个重要问题,为了减少噪声的干扰,可以采取屏蔽线路、独立地线、滤波电路等措施。

2.线路传输设计:CAN总线的传输线路一般是双绞线,这种线路能够减少电磁干扰,提高传输质量。

在设计CAN总线接口电路时,需要合理布局CAN总线线路,确保信号的稳定传输。

在布线过程中,需要避免与其他高干扰信号线路的交叉和并行,以减少电磁干扰的可能性。

对于长距离传输的CAN总线,还需要考虑电缆的衰减和传输质量,可以通过使用中继器来增强信号。

3.保护电路设计:CAN总线接口电路需要设计合适的保护电路,以防止过压、过流、过热等故障对电路和设备的损坏。

常见的保护电路有瞬态电压抑制器(TVS)、过流保护电路和热敏电阻等。

瞬态电压抑制器可以抑制大功率瞬态电流,保护电路免受过压的影响;过流保护电路可监测和控制电流变化,确保电路不会因过大的电流而损坏;热敏电阻可用于监测电路的温度,并在温度超过预设值时触发保护机制。

4.电源设计:CAN总线接口电路的电源设计需要考虑电源稳定性和滤波。

稳定的电源可以提供稳定的工作环境,减少因电源波动而产生的故障。

滤波电路可以滤除电源中的噪声,提高电源的质量。

通常情况下,CAN总线接口电路需要提供3.3V或5V的电源供电,可以使用稳压器或开关电源等方式得到所需的电源电压。

总之,CAN总线接口电路的硬件设计需要考虑电气特性、线路传输、保护电路以及电源设计等方面的问题。

can总线电路设计

can总线电路设计

can总线电路设计摘要:1.CAN 总线电路设计概述2.CAN 总线电路的组成部分3.CAN 总线电路的设计流程4.CAN 总线电路的常见问题及解决方法5.总结正文:一、CAN 总线电路设计概述CAN 总线(Controller Area Network)是一种常用于车辆和工业控制领域的通信协议,其主要特点是多主控制器、高可靠性、实时性、高抗干扰能力和低成本。

CAN 总线电路设计是指在硬件层面实现CAN 总线通信的过程,主要包括CAN 控制器、CAN 总线驱动器、CAN 总线收发器等组成部分。

二、CAN 总线电路的组成部分1.CAN 控制器:CAN 控制器是CAN 总线电路的核心部分,负责处理CAN 总线通信的逻辑和数据传输。

常见的CAN 控制器有Microchip 的MCP2510、STMicroelectronics 的STM32 等。

2.CAN 总线驱动器:CAN 总线驱动器负责将CAN 控制器输出的信号转换为适合在总线上传输的信号,同时也能将总线上的信号转换为CAN 控制器能识别的信号。

常见的CAN 总线驱动器有TJA1020、MCP2003 等。

3.CAN 总线收发器:CAN 总线收发器负责处理CAN 总线上的物理层通信,包括信号的放大、整形、滤波等功能。

常见的CAN 总线收发器有MCP2020、TJA1021 等。

三、CAN 总线电路的设计流程1.确定设计需求:根据实际应用需求,确定CAN 总线通信的节点数量、通信速率、传输距离等参数。

2.选择合适的CAN 控制器、驱动器和收发器:根据设计需求,选择性能、接口、封装等满足需求的CAN 控制器、驱动器和收发器。

3.电路设计:设计CAN 总线电路的电源、时钟、接地等部分,同时根据CAN 控制器、驱动器和收发器的接口,设计相应的连接线路。

4.程序设计:编写CAN 总线通信的软件程序,包括初始化CAN 控制器、发送和接收数据、错误检测和处理等功能。

CAN总线系统的设计与实现

CAN总线系统的设计与实现CAN(Controller Area Network)总线是一种用于多节点通信的串行通信协议,最初由德国BOSCH公司于1986年开发用于汽车电子系统中。

随着技术的不断发展,CAN总线逐渐应用于各种工业和嵌入式系统中。

在设计CAN总线系统时,首先需要选择合适的CAN控制器。

CAN控制器是实现CAN通信的核心,其功能包括CAN消息的发送和接收、硬件过滤和错误检测等。

常见的CAN控制器芯片有TI的MCP2515、Microchip的MCP2510等。

选择合适的CAN控制器要考虑通信速率、节点数量、工作温度和可靠性等因素。

传输媒介是CAN总线系统中节点之间传输数据的介质。

常用的传输媒介有双绞线、光纤和无线。

双绞线是最常用的传输媒介,其优点是成本低、抗干扰能力较强;光纤适用于传输距离较长和电磁噪声较多的环境;无线传输适用于节点位置变动频繁的场景。

选择传输媒介时要综合考虑通信距离、成本和抗干扰能力等因素。

节点设备是CAN总线系统中实际参与通信的设备。

节点设备的功能包括CAN消息的生成和解析、CAN总线的物理层连接和节点地址的配置等。

节点设备可以是传感器、执行器、控制器等,可以是硬件设备也可以是软件模拟。

在软件方面,CAN总线系统中的核心是CAN协议栈。

CAN协议栈包括物理层、数据链路层和应用层。

物理层负责将CAN消息转化为电信号传输;数据链路层负责CAN消息的错误检测和纠正;应用层负责解析CAN消息的内容并进行相应的处理。

常见的CAN协议栈有CANopen、J1939和DeviceNet等。

在设计CAN总线系统时需要考虑以下几个方面:1.系统拓扑结构:包括总线结构和节点分布。

总线结构可以是总线型、星型或树型;节点分布要考虑节点之间的通信距离和可靠性要求。

2. 通信速率:通信速率是指CAN总线上消息的传输速率,取决于CAN控制器的时钟频率。

通信速率需要根据实际应用需求确定,通常有几百kbps到几十Mbps不等。

can总线接口电路设计

can总线接口电路设计Can总线接口电路设计一、引言Can总线是一种常用的串行通信协议,广泛应用于汽车电子、工业自动化等领域。

Can总线接口电路的设计是实现Can总线通信的关键。

本文将从Can总线的基本原理、Can总线接口电路的设计要点以及常见的设计方案等方面进行探讨。

二、Can总线的基本原理Can总线是一种多主机、多节点的串行通信协议,采用差分信号传输方式。

其基本原理包括以下几个方面:1. 差分信号传输:Can总线采用两条线分别传输正负两个信号,通过差分电压来传递信息。

这种差分传输方式具有抗干扰能力强、传输距离远等优点。

2. 冲突检测与容错机制:Can总线采用冲突检测与容错机制,可以在多个节点同时发送数据时进行冲突检测,并通过优先级来解决冲突,确保数据传输的可靠性。

3. 高速传输:Can总线的通信速率可以达到几百kbps甚至几Mbps,能够满足高速数据传输的需求。

三、Can总线接口电路的设计要点Can总线接口电路的设计要考虑以下几个方面:1. 差分信号传输:Can总线的接口电路应保证正负两个信号的差分电压,一般通过差分放大器或差分驱动器来实现。

2. 抗干扰能力:Can总线在工业环境中应用广泛,接口电路应具备良好的抗干扰能力,包括抑制共模干扰、抑制电磁干扰等。

3. 高速传输:Can总线的通信速率较高,接口电路应具备足够的带宽和响应速度,以满足高速传输的需求。

4. 电源稳定性:Can总线接口电路对电源的稳定性要求较高,应采取合适的电源滤波和稳压措施,以确保电源的可靠性和稳定性。

5. 保护电路设计:Can总线接口电路应具备过压保护、过流保护等保护电路,以防止外部干扰对接口电路和总线的损坏。

四、常见的Can总线接口电路设计方案根据应用需求和成本考虑,常见的Can总线接口电路设计方案包括以下几种:1. 集成电路方案:使用Can总线收发器芯片,如TI的SN65HVD230等,通过将芯片与控制器进行连接,实现Can总线的收发功能。

汽车can总线系统原理设计与应用

汽车can总线系统原理设计与应用汽车CAN总线系统原理设计与应用一、引言汽车CAN总线系统是现代汽车电子控制系统中的重要组成部分,它采用了一种先进的通信协议,为汽车电子控制单元(ECU)之间提供了高效可靠的数据传输方式。

本文将介绍汽车CAN总线系统的原理设计与应用。

二、汽车CAN总线系统的原理设计1. 总线拓扑结构汽车CAN总线系统采用了总线拓扑结构,即多个ECU通过一根总线进行通信。

这种结构可以有效减少线缆的使用量,降低系统成本,并且具有良好的可扩展性。

2. CAN通信协议汽车CAN总线系统采用了CAN通信协议,它是一种基于事件驱动的通信协议。

CAN总线上的每个ECU都有一个唯一的标识符,用于区分不同的节点。

当一个节点有数据需要发送时,它会将数据发送到总线上,并附带自己的标识符。

其他节点会监听总线上的数据,当收到符合自己标识符的数据时,就会接收并处理。

3. 数据传输汽车CAN总线系统采用了差分传输方式,即数据信号由两个相对电平相反的信号线组成。

这种方式可以有效降低传输过程中的电磁干扰,提高数据传输的可靠性。

4. 容错机制汽车CAN总线系统具有良好的容错机制,当总线上发生错误时,系统能够进行自我修复。

CAN总线采用了循环冗余校验(CRC)技术,可以检测数据传输过程中的错误。

此外,CAN总线还具有冲突检测和错误重传机制,确保数据的可靠传输。

三、汽车CAN总线系统的应用1. 发动机控制系统汽车CAN总线系统在发动机控制系统中发挥着重要作用。

各个传感器和执行器通过CAN总线连接到发动机控制单元(ECU),实现对发动机的监测和控制。

通过CAN总线,发动机控制单元可以获取发动机的工作参数,并根据这些参数进行精确的控制,提高发动机的性能和燃油经济性。

2. 制动系统汽车CAN总线系统在制动系统中也有广泛应用。

刹车踏板的行程传感器、刹车盘温度传感器、刹车液位传感器等信息通过CAN总线传输到制动控制单元(ECU),实现对制动系统的实时监测和控制。

CAN总线隔离器的设计与应用

CAN总线隔离器的设计与应用一、CAN总线隔离器的设计原理1.电气隔离原理:CAN总线隔离器采用电气隔离原理,将输入端和输出端通过隔离芯片隔离开,阻断了输入输出之间的电气连接,从而实现信号的隔离传输。

2.隔离芯片选型:设计者需要选择合适的隔离芯片,常用的隔离芯片包括光耦隔离芯片、互补金属氧化物半导体场效应管(CMOS)芯片等。

不同的芯片具有不同的隔离特性和传输性能,需根据具体的应用场景选择合适的隔离芯片。

3.电源隔离:为了确保输入和输出两端的电源之间不存在共地问题,需要为隔离芯片提供独立的电源。

优化电源设计可以减少电源对传输信号的影响,提高隔离器的性能。

4.基带滤波:为了降低传输过程中的噪声和其他干扰信号,可以在输入和输出两端添加滤波电路,滤除高频噪声和杂散信号,保证信号的高质量传输。

二、CAN总线隔离器的应用1.信号隔离:CAN总线隔离器可以将输入和输出信号进行隔离,解决传输过程中由于信号干扰而引起的数据丢失、传输错误等问题。

2.多地电位差:在一些工业环境中,由于地电位差等问题,会导致总线节点之间存在电气连接,造成信号传输异常。

通过使用CAN总线隔离器,可以解决多地电位差问题,保证信号的准确传输。

3.数据保护:在一些应用场景中,需要将敏感数据从CAN总线系统中隔离出来,以保护数据的隐私和安全性。

CAN总线隔离器可以实现对敏感数据的隔离传输,确保数据不被非授权人员获取。

4.兼容性提升:在一些旧有的车辆或设备中,CAN总线系统可能存在着电气兼容性问题,通过加装CAN总线隔离器,可以有效提升CAN总线系统的兼容性,使其能够适应新的设备或系统的要求。

5.设备抗干扰:工业环境中常常存在各种电气噪声和外部干扰源,对CAN总线系统的正常传输会产生不利影响。

CAN总线隔离器可以有效降低外部干扰对信号传输的影响,提高系统抗干扰能力。

总之,CAN总线隔离器是一种在CAN总线系统中用于信号隔离的重要设备,通过合理的设计和应用,可以有效解决信号干扰、地电位差、兼容性问题等,提高系统的可靠性和稳定性,具有广泛的应用前景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机应用课程设计报告`题目:基于单片机的16*16点阵系统设计专业:…班级:姓名:学号:地点:时间:指导老师:~摘要现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。

它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。

CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。

本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。

关键字:现场总线; CAN总线;单片机;控制系统目录1 绪论 (1)CAN总线的简单介绍 (1)CAN总线的优势 (1)网络各节点之间的数据通信实时性强 (2)缩短了开发周期 (2)已形成国际标准的现场总线 (2)最有前途的现场总线之一 (2)2 硬件电路设计 (3)单片机模块 (3)STC89C52主要特性如下: (4)STC89C52RC单片机的工作模式 (5)CAN总线控制器模块 (6)SJA1000简介 (6)PCA82C250简介 (9)通信模块和外围接口 (11)通信模块 (11)外围接口 (12)3 CAN总线控制系统软件设计 (13)初始化程序 (13)数据的接收和发送功能 (15)发送数据 (15)接收数据 (17)4 总结 (19)参考文献 (20)附录一 (21)1 绪论CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,CAN总线的应用范围遍及从高速网络到低本钱的多线路网络,在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps,同时,它可以廉价地应用于交通运载工具电气系统中,例如,灯光聚束电气窗口等等以代替所需要的硬件连接。

CAN总线采用双绞线串行通讯方式,检错能力强,可在高噪声干扰环境中工作,CAN总线具有优先和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-BUS上,形成多主机局部网络,其可靠性和实时性远高于普通的通讯技术。

本文所论述的CAN总线控制系统是一个类似单片机最小开发系统一样的开发板,其主要分为三个部分:单片机模块,CAN总线控制模块,外围接口和通信模块。

单片机模块主要是用单片机来控制整个系统,CAN总线控制模块主要是利用CAN总线控制器来实现和外围CAN总线的通信和交换信息,而外围接口和通信模块主要功能是为单片机下载程序和连接外围功能模块,主要是连接一些其他功能模块来实现相关的功能,接口分为输入接口和输出接口,这样可使一个系统构成闭环控制系统,从而可有效的实现所需要的控制功能,完成以后可应用于各种领域,实现各种控制功能,例如说路灯控制,汽车上的一些通信,电机控制等。

CAN总线的简单介绍CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。

是国际上应用最广泛的现场总线之一。

在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。

近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

CAN(controller area network)最初是由德国Bosch公司在80年代初期,为了解决汽车中众多的控制与测量设备之间的数据交换而开发的一种串行数据通信总线,属于现场总线的范畴,1993年成为国际标注(ISO11898:道路车辆的高速控制器局域岗数字交换系统标准)。

CAN总线是一种有效支持分布式控制系统或实时控制的串行通信网络,是一个多主总线,总线上的各节点都有权随时向其他节点发送信息,总线冲突时通过总线仲裁方式决定占用总线的节点,实现在电磁干扰环境下,远距离实时数据的可靠传输。

CAN总线的优势CAN是一种有效支持分布式控制或实时控制的串行通信网络。

和目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:1.2.1 网络各节点之间的数据通信实时性强首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性,而利用RS-485只能构成主从结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。

1.2.2 缩短了开发周期CAN总线通过CAN接收器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。

这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象,而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现显现在网络中,因个别节点出现问题,使得总线出于“锁死”状态,而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些都是仅有电气协议的RS-485所无法比拟的。

1.2.3 已形成国际标准的现场总线另外,于其他现场总线相比较,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线,这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。

1.2.4 最有前途的现场总线之一CAN即控制器局域网络,属于工业现场总线的范畴,于一般的通信总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。

由于其良好的性能及独特设计,CAN总线越来越受到人们的重视。

它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ、PORSCHE、ROLLS-ROYCE等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信,同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、过程控制、机械工业、农用机械、数控机床、医疗器械及传感器等领域发展,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一,其典型的应用协议有:SAEJ1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

2 硬件电路设计此控制系统主要有三个主要的模块组成,第一步分为单片机模块,第二部分为CAN总线控制器模块,第三部分为通信和外围接口,其主要分为输出和输入接口,使系统构成一个闭环系统,从而实现所需要的控制功能。

系统功能结构图如图1示输入设备输出设备89C52单片机SJA1000通信控制器82C250 CAN总线图1 系统结构示意图单片机模块图2为系统单片机模块的电路图图2 单片机模块电路图本系统单片机选择的是STC89C52,是双列直插式40引脚,其芯片引脚图如图2-4。

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

图3 STC89C52的芯片引脚图2.1.1 STC89C52主要特性如下:1. 增强型 8051 单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。

2. 工作电压:~(5V单片机)/~(3V单片机)。

3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。

4. 用户应用程序空间为8K字节。

5. 片上集成512字节RAM。

6. 通用I/O口(32个)复位后为,P1/P2/P3/P4是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒即可完成一片。

8.具有EEPROM功能。

9.具有看门狗功能。

10.共3个16位定时器/计数器,即定时器T0、T1、T2。

11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。

12.通用异步串行口(UART),还可用定时器软件实现多个UART。

13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)。

14. PDIP封装。

2.1.2 STC89C52RC单片机的工作模式掉电模式:典型功耗<μA,可由外部中断唤醒,中断返回后,继续执行原程序。

空闲模式:典型功耗2mA典型功耗。

正常工作模式:典型功耗4mA~7mA典型功耗。

掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。

STC89C52RC引脚功能说明:VCC(40引脚):电源电压;VSS(20引脚):接地。

P0端口(~,39~32引脚):P0口是一个漏极开路的8位双向I/O口。

作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。

P1端口(~,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

P2端口(~,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O 端口。

对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。

P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

P3 端口(~,10~17 引脚):P3 是一个带内部上拉电阻的 8 位双向I/O端口。

P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。

相关文档
最新文档