基于CAN总线的嵌入式网络控制器
时间:04-08
来源:互联网
点击:
引言
CAN (Controller Area Network)现场总线是一种支持分布式控制系统或实时性控制的串行通信网络.具有成本低、可靠性高、抗干扰能力和实时性强等特性,是最普及的工业现场总线之一。CAN总线现在己经广泛应用于诸多领域.具有较强的市场竞争力,但要充分发挥它的组网控制功能,打破地域界限,实现远程控制,就必须借助于现在被广泛应用的以太网(Ethemet)技术。
1 系统设计方案
本文所设计的嵌入式协议转换网关,可以实现CAN总线与以太网的互联,即实现以太网能够通过网关读取CAN总线上的数据,同时也可以向CAN总线发送命令以实现上位机对现场设备的监控。如图1网关架构图所示。
图1控制器架构图
本系统的硬件要求功能强大,能够提供足够的平台,因此选择S3C2410X处理器。S3C2410X微处理器是Samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器。S3C2410X内部没有集成的以太网控制器,所以系统设计中选择RTL8019AS控制器作为以太网控制器。另外S3C2410X中也没有集成的CAN控制器,在此选择MCP2510为CAN控制器,S3C2410X通过SPI端口控制MCP2510。
软件设计方面,由于以太网协议比较复杂,由于所选的微处理器和以太网协议比较复杂,以及系统对时间要求比较苛刻.为了更好的管理微处理器,选择了Linux操作系统作为软件开发平台。选择在S3C2410X处理器上运行Linux操作系统,可以为以后的功能拓展打下一个很好的基础,在此基础上扩展功能,无须再改变处理器和操作系统。
2 系统硬件电路设计
本文确定采用ARM9控制器S3C2410芯片为核心微处理器,以及源代码开放的“nux操作系统。其中硬件平台南核心模块和外同电路组成。核心模块上设计有S3C2410X微处理器、SDRAM存储器、F1ash存储器。采用该核心模块作为核心处理器,在硬件电路设计过程中只需设计其外围电路。
2.1电源电路设计
图2 系统5V电源电路原理图
系统中电源的设计是至关重要的,因为它是系统工作的源动力,因此电源的设计也要非常谨慎.要考虑所设计的电源在达到系统稳定工作要求的同时,还要减少系统功耗。在该设计中,需要使用到5V,3.3V和1.8V的直流稳压电源。由于ARM核心板内含有1.8v内核供电电源,因此只需提供5V和3.3V的供电电路,其电源电路分别如网2,图3所示。
图3系统3.3V电源电路原理图
2.2复位电路设计
复位电路的设计是为了在系统工作异常时,能够进行复位,使得系统重新同到正常状态。当nRESET信号变为低时,ARM920T就会放弃所有正在执行的程序,然后从停止点以下的指令地址中取出指令,复位电路图如4所示。
图4系统复位电路原理图
2.3串口电路设计
串行端口的本质功能是作为CPU和串行设备间的编码转换器,RS232串行接口电路用于网关系统与应用系统的短距离双向串行通讯。在本设计中采用的是DB-9接口。在本设计中,虚拟机通过串口向目标机发送命令和接收命令,如在打开目标机时要启动目标机的Linux系统,命令run loadlinux就是通过串口到达目标机的,同样,还有一系列其他的命令语句,都是通过串口实现目标机与虚拟机的必要的命令通讯,串口的电路原理图如下图6所示。
图5系统串口电路原理图
图中表示了RS-232接13与目标机之问的连接关系,它们之间包括了一个SP3232ECA电压转换芯片,SP3232ECA如图中所示,DB-9是接至虚拟机端的,虚拟机需要的工作电压为5v,而目标机即ARM核心板上的一r作电压为3.3v,要在两者问进行数据发送或接收时需进行电平转换。SP3232ECA在接至目标机端时,R1OUT和R20UT串接电阻用来防止意外的逻辑混乱。
2.4 CAN接口电路设计
在S3C2410X处理器中没有直接嵌入的CAN接口,所以要选择独立的CAN控制器。由于S3C2410X处理器设有SPI接口,MCP2510控制器的引脚设计中也包括了SPI接口,这样CAN控制器MCP2510可以通过SPI接口与处理器的SPI接口相连,简化端口电路的设计,所以设计中所选则MCP2510作为CAN控制器。
MCP2510主要由3部分组成:CAN协议引擎:用来为器件及其运行进行配置的控制逻辑和SRAM寄存器:SPI协议模块。CAN协议引擎的功能是处理所有总线上的报文发送和接收。CPU通过SPI接口与器件进行通信。通过使用标准SPI读写命令对寄存器所有读写操作。MCP2510采用标准的4MHz晶体,内部寄存器的控制分频系数来调节。它的输出到总线的速率也可通过设置MCP2510的SPI接口与S3C2410X的SPIO相应的接口相连,实现CPU对其的控制。MCP2510控制器发送输出和接收输入引脚通过光电隔离连接到CAN总线收发器TJAl050上,光电隔离采用高速通信光耦6N137芯片,保证了节点之间在电气上的完全隔离和独立,提高了电路的稳定性和安全性。
2.5以太网接口电路设计
在本设计中RTL.8019AS是以太网控制的核心,10M以太网接口为系统提供了以太网接入的物理通道,它与S3C2410X的相应引脚相连,实现以太网的读写功能。RTL8019AS与S3C2410X相连的引脚如下表1所示。
表1 RTL8019AS与S3C2410X相连的引脚
CAN (Controller Area Network)现场总线是一种支持分布式控制系统或实时性控制的串行通信网络.具有成本低、可靠性高、抗干扰能力和实时性强等特性,是最普及的工业现场总线之一。CAN总线现在己经广泛应用于诸多领域.具有较强的市场竞争力,但要充分发挥它的组网控制功能,打破地域界限,实现远程控制,就必须借助于现在被广泛应用的以太网(Ethemet)技术。
1 系统设计方案
本文所设计的嵌入式协议转换网关,可以实现CAN总线与以太网的互联,即实现以太网能够通过网关读取CAN总线上的数据,同时也可以向CAN总线发送命令以实现上位机对现场设备的监控。如图1网关架构图所示。
图1控制器架构图
本系统的硬件要求功能强大,能够提供足够的平台,因此选择S3C2410X处理器。S3C2410X微处理器是Samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器。S3C2410X内部没有集成的以太网控制器,所以系统设计中选择RTL8019AS控制器作为以太网控制器。另外S3C2410X中也没有集成的CAN控制器,在此选择MCP2510为CAN控制器,S3C2410X通过SPI端口控制MCP2510。
软件设计方面,由于以太网协议比较复杂,由于所选的微处理器和以太网协议比较复杂,以及系统对时间要求比较苛刻.为了更好的管理微处理器,选择了Linux操作系统作为软件开发平台。选择在S3C2410X处理器上运行Linux操作系统,可以为以后的功能拓展打下一个很好的基础,在此基础上扩展功能,无须再改变处理器和操作系统。
2 系统硬件电路设计
本文确定采用ARM9控制器S3C2410芯片为核心微处理器,以及源代码开放的“nux操作系统。其中硬件平台南核心模块和外同电路组成。核心模块上设计有S3C2410X微处理器、SDRAM存储器、F1ash存储器。采用该核心模块作为核心处理器,在硬件电路设计过程中只需设计其外围电路。
2.1电源电路设计
图2 系统5V电源电路原理图
系统中电源的设计是至关重要的,因为它是系统工作的源动力,因此电源的设计也要非常谨慎.要考虑所设计的电源在达到系统稳定工作要求的同时,还要减少系统功耗。在该设计中,需要使用到5V,3.3V和1.8V的直流稳压电源。由于ARM核心板内含有1.8v内核供电电源,因此只需提供5V和3.3V的供电电路,其电源电路分别如网2,图3所示。
图3系统3.3V电源电路原理图
2.2复位电路设计
复位电路的设计是为了在系统工作异常时,能够进行复位,使得系统重新同到正常状态。当nRESET信号变为低时,ARM920T就会放弃所有正在执行的程序,然后从停止点以下的指令地址中取出指令,复位电路图如4所示。
图4系统复位电路原理图
2.3串口电路设计
串行端口的本质功能是作为CPU和串行设备间的编码转换器,RS232串行接口电路用于网关系统与应用系统的短距离双向串行通讯。在本设计中采用的是DB-9接口。在本设计中,虚拟机通过串口向目标机发送命令和接收命令,如在打开目标机时要启动目标机的Linux系统,命令run loadlinux就是通过串口到达目标机的,同样,还有一系列其他的命令语句,都是通过串口实现目标机与虚拟机的必要的命令通讯,串口的电路原理图如下图6所示。
图5系统串口电路原理图
图中表示了RS-232接13与目标机之问的连接关系,它们之间包括了一个SP3232ECA电压转换芯片,SP3232ECA如图中所示,DB-9是接至虚拟机端的,虚拟机需要的工作电压为5v,而目标机即ARM核心板上的一r作电压为3.3v,要在两者问进行数据发送或接收时需进行电平转换。SP3232ECA在接至目标机端时,R1OUT和R20UT串接电阻用来防止意外的逻辑混乱。
2.4 CAN接口电路设计
在S3C2410X处理器中没有直接嵌入的CAN接口,所以要选择独立的CAN控制器。由于S3C2410X处理器设有SPI接口,MCP2510控制器的引脚设计中也包括了SPI接口,这样CAN控制器MCP2510可以通过SPI接口与处理器的SPI接口相连,简化端口电路的设计,所以设计中所选则MCP2510作为CAN控制器。
MCP2510主要由3部分组成:CAN协议引擎:用来为器件及其运行进行配置的控制逻辑和SRAM寄存器:SPI协议模块。CAN协议引擎的功能是处理所有总线上的报文发送和接收。CPU通过SPI接口与器件进行通信。通过使用标准SPI读写命令对寄存器所有读写操作。MCP2510采用标准的4MHz晶体,内部寄存器的控制分频系数来调节。它的输出到总线的速率也可通过设置MCP2510的SPI接口与S3C2410X的SPIO相应的接口相连,实现CPU对其的控制。MCP2510控制器发送输出和接收输入引脚通过光电隔离连接到CAN总线收发器TJAl050上,光电隔离采用高速通信光耦6N137芯片,保证了节点之间在电气上的完全隔离和独立,提高了电路的稳定性和安全性。
2.5以太网接口电路设计
在本设计中RTL.8019AS是以太网控制的核心,10M以太网接口为系统提供了以太网接入的物理通道,它与S3C2410X的相应引脚相连,实现以太网的读写功能。RTL8019AS与S3C2410X相连的引脚如下表1所示。
表1 RTL8019AS与S3C2410X相连的引脚
总线 CAN总线 嵌入式 S3C2410 ARM Linux 电路 稳压电源 电路图 电压 电阻 收发器 相关文章:
- 热插拔和缓冲I2C总线 (04-14)
- PCIe总线何时突破Unix服务器坚冰(02-03)
- TMS320VC5402 HPI接口与PCI总线接口设计(04-12)
- 基于Nios II的I2C总线接口的实现(04-09)
- 双口RAM CY7C026在高速数据采集系统中的应用(04-12)
- 计算机在新型多电机同步系统中的应用(07-08)