APP下载

基于SEP3203的CAN总线通信设计与开发*
——基于Probit模型和Anova模型

2015-05-25蔡长安姜锦凯

关键词:收发器中断以太网

蔡长安,钟 锐,姜锦凯

(1.江苏盐城师范学院,盐城 224002;2.东南大学,南京 210096;3.淮安市气象局,223001)

基于SEP3203的CAN总线通信设计与开发*
——基于Probit模型和Anova模型

蔡长安1,钟 锐2,姜锦凯3

(1.江苏盐城师范学院,盐城 224002;2.东南大学,南京 210096;3.淮安市气象局,223001)

简要分析了SEP3203微处理器、MCP2515控制器、MCP2551总线收发器,介绍了利用芯片SEP3203扩展CAN接口的方法——利用SPI接口扩展CAN总线接口,给出了CAN总线接口的软硬件设计及其应用,测试结果表明是方案是可行的。

SEP3203;总线接口;嵌入式系统

随着Internet技术的持续发展,控制系统与网络通信系统的集成已成为控制网络技术的一个热点,作为网络化系统的重要组成部分现场总线系统,近年来在实际控制系统中得到了广泛的应用。CAN(Controller Area Network)总线具有一种可靠性高、容错性强等特点深受用户的欢迎。并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。例如在铁路系统中,为了保证行车的安全,需要对铁轨及周围状态进行实时检测,这些设备采用的方式是RS232、RS485、RJ45以太网接口、USB接口和CAN等,并通过专线连接到监控中心的设备。这种方式浪费资源,也不易于设备的统一管理。因此,需要一种安装在铁路沿线的设备发送的信息统一收集并通过一条专线直接送往监控中心。特别是RS232等串口等方式连接的,无法集中、全面、准确而实时地监控数据。基于这种原因,设计出一种串口以太转换器数据终端,终端有以太网口、USB接口、CAN总线接口,现只针对一种多种扩展CAN总线接口的方法。

ARM7TDMI处理器是ARM7处理器系列成员之一,是目前应用较广的32位高性能嵌入式RISC处理器,SEP3203[1]是东南大学国家专用集成电路系统工程技术研究中心基于ARM7TDMI处理器内核设计的16/32位RISC微处理器芯片。它面向低成本手持设备和其它通用嵌入式设备,为用户提供了丰富的外设、低功耗管理和低成本的外存配置。

1 串口以太网转换终端与CAN接口相关的电路结构

为了实现该转换模块的研究,首先要选择一个硬件平台即嵌入式处理器。由于ARM是基于精简指令系统(RISC)的32位内核,代码效率高,运行速度快,综合性能强,在基于ARM体系结构的嵌入式CPU中,基于ARM7TDMI体系结构的SEP3203嵌入式微处理器拥有较好的技术支持,因此转换器选择SEP3203作为硬件平台;转换系统必须要有电源,供整个系统用;系统工作时需要有工作时钟,故系统需要有时钟电路;由于用户需要的转换器要有串口、USB、以太网口、CAN总线接口等功能,由于只介绍CAN总线接口,其它可参看文献[2,3]。与CAN总线接口相关电路结构的部分如图1所示。

图1 转换终端CAN接口部分相关电路结构

2 CAN接口电路的硬件设计

CAN接口部分主要有SEP3203微处理器、控制器MCP2515、MCP2551总线收发器等部件组成,图2是CAN接口原理图。由于SEP3202微处理器没有预留CAN接口,要实现CAN总线[4]的连接和数据传输,通过SPI同步串行接口和MCP2515控制器相连。MCP2510是Microchip公司为简化CAN总线的接口应用而专门设计的一种独立CAN控制器芯片,完全支持CAN V2.0B技术规范。该器件具有如下特征:能发送和接收标准和扩展数据帧以及远程帧;自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,减少了主单片机的开销。通讯速率为1 Mb/s;与MCU的连接是通过业界标准串行外设接口(SPI)来实现的,速率可以达到10 MHz;带有可编程预分频器的时钟输出引脚,带有可选使能设定的中断输出引脚。系统中担负着报文的发送、接收、过滤等工作,是CAN总线接口控制板的核心器件。MCP2515外接16 MHz晶体作振荡源,将CAN总线速度配置为125 kbps,MCP2515有3个引脚(TX0RTSA、TX1RTSA、TX2RTSA)可以配置成通用的输进脚。由于MCP2515的输出信号驱动能力不够,而且与CAN总线物理接口的要求存在很大的差异,因此必须与CAN收发器MCP2551相连,由CAN收发器与CAN物理总线直接连接,实现通信。MCP2551是Microchip公司生产的可容错的高速CAN总线收发器芯片,支持1 Mbps的运行速率,可连接高达112个节点,适合12 V和24 V系统,管脚特性与MCP2515完全兼容。它与系统物理总线相连,具有差分发射和接收能力,可将很多节点与同一网络相连接。在通讯总线两端各加一个120 Ω的电阻,对于匹配总线阻抗起相当重要的作用,否则数据的抗干扰性和可靠性会大大降低,甚至无法通讯。在实际应用中,为提高系统的抗干扰能力,还可以在控制器和收发器之间添加光耦电路,防止串入信号干扰,实现CAN各结点的电气隔离。

3 嵌入式操作系统μC-OS/II

目前比较流行的嵌入式实时操作系统(RTOS)主要有嵌入式Linux、Win CE、Palm OS、Sybian、VxWorks、Nuclear、μC-OS/II等。其中嵌入式Linux、Win CE、Palm OS、Sybian称为软实时嵌入式操作系统,适用于对实时性要求一般的系统中,而VxWorks、Nuclear、μC-OS/II称为硬实时嵌入式操作系统,适用于对实时性要求较高的系统。选择μC-OS/II操作系统作为开发的平台的主要原因:它的内核是完全免费的,用户不需要支付任何费用,有利于降低系统开发成本。它的源代码是公开,源代码的开放可以使用户对系统有一个全面彻底的了解,并可根据实际需要对源代码进行裁减或添加用户自己的模块,增强系统的性能。系统内核实用性强、可靠性高。要使μC-OS/II在SEP3203微处理器上运行,需要对其进行移植,这就需要修改3个和ARM体系结构相关的文件(OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C)。具体修改参照文献[5]。

图2 CAN接口电路

4 CAN协议的实现

CAN软件接口为应用层提供访问CAN控制器MCP2515一个便捷的“通道”,该“通道”屏蔽了CAN控制器MCP2515工作的实现细节,使得应用层面向通信是透明的。CAN接口通过SPI通信来实现对CAN控制器操作。通信接口程序包括初始化、数据发送、数据接收、错误处理[6]。

(1)CAN控制初始化。初始化包括硬件使能、软件复位、配置工作模式、设置CAN的波特率、设置ID过滤器、切换MCP2515到正常状态等。初始化程序是完成CAN接口通信的关键,主要用来完成CAN控制器工作方式的选择,SEP3203的SPI可以工作在4种模式,但是MCP2515的SPI接口只支持其中的2种模式,因此应该将SEP3203的SPI接口配置为MCP2515支持的模式,程序配置为正常模式的中断方式。

初始化采用函数是CAN_Init完成,首先设置为配置模式,函数是CAN_ChgMode,然后设置控制控制寄存器、中断使能寄存器、设置置接收屏蔽标识符、收滤波标识符等。

(2)发送数据。发送数据首先将待发送的数据打包成符合CAN协议的帧格式,然后读取相应的发送状态,进行相应的发送配置(数据长度、修改控制位等),写入发送缓冲区,启动发射模式并自动发送。在这过程中两种情况被执行,一是在发送中断响应中,如果当前有任务发送,通过发送缓冲区记录标志来确定空的发送缓冲区并向其中写入发送帧,然后启动发射模式进行发送;二是在接收中断响应中,在接收处理完后如果有发送任务且有发送缓冲区空,会处理发送任务。发送部分的主要代码如下:

(3)接收数据。数据接收方式有查询和中断2种方式。程序采用中断方式,在初始化程序中必须使能接收中断。在中断服务程序中,读取ID值来确定当前是那个接收缓冲区的数据是否准备好,准备好的就可以读取,接收帧首先读取ID值,确定是那个节点发射的,并据此把数据存放在相应的位置。主要代码如下:

(4)错误处理。在总线发生故障的情况下,产生错误中断,需要访问相应的错误寄存器来确定的错误的类型,并据此作出相应的处理。

5 结 语

采用RAM7TDMI芯片的SEP3203集成的SPI接口扩展的CAN总线接口,在不改变CAN总线特点的前提下,PCB布线简单可靠,增强了系统的可靠性,实现了低成本的CAN构建方案。方案用于串口以太网转换器终端的扩展。

[1]徐金波.基于SEP3203微处理器的信息终端的应用研究[D].南京:东南大学,2006

[2]蔡长安,钟锐.串行通信转网络通信数据模块的电路设计[J].计算机测量与控制,2009,17(11):2322-2324

[3]蔡长安,钟锐,王盈瑛.串行通信转网络通信数据模块的设计[J].计算机应用与软件,2010,27(1):94-97

[4]刘光平.基于CAN总线的地铁屏蔽门控制系统研究[J].重庆工商大学:自然科学版,2012,29(12):66-71

[5]时龙兴,凌明,王学香,等.嵌入式系统——基于SEP3203微处理器的应用开发[M].北京:电子工业出版社,2006

[6]陶志东,周纯杰,宋明权,等.基于S3c2410的CAN总线接口的设计与开发[J].可编程控制器与工厂自动化,2006,(1):58-71

Design and Development of CAN Bus Communication Based on SEP3203

CAI Chang-an1,ZHONG Rui2,JIANG Jin-kai
(1.Yancheng Teachers College,Yancheng 224002,China; 2.Southeast University,Nanjing 210096,China)

This paper briefly analyzes SEP3203 micro-processor,MCP 2515 controller and MCP2551 bus transceiver,and introduces the method to use chip SEP3203 to extend CAN interface,using SPI interface to extend CAN bus interface and provides the design of software and hardware of CAN bus interface and its application.Testing results show that this scheme is feasible.

SEP3203;bus interface;embedded system

TP311.53

A

1672-058X(2015)02-0033-04

10.16055/j.issn.1672-058X.2015.0002.007

责任编辑:田 静

2010-06-28;

2014-07-12.

盐城市科技局项目(YKN2013012);盐城师范学院科技项目(13YCKL006).

蔡长安(1964-),男,江苏盐城人,高级实验师,硕士,从事计算机应用研究.

猜你喜欢

收发器中断以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
光纤收发器故障排除经验谈
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
千里移防,卫勤保障不中断
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用