基于ARM核和CAN总线的煤矸石分选系统
扫描二维码
随时随地手机看文章
摘要:简要介绍了ARM(Advanced RISCM achines)微控制器和CAN(Controlle rArea Network)总线技术构成的煤矸石在线识别与自动分选系统,给出了ARM微控制器AT91M40800与CAN总线控制器SJA1000之间相连的硬件电路,论述了硬件接口之间的数据通信实现技术,给出了数据通信的软件设计流程。CPLD(EPM7128)是用来调整时序和实现在线修改。实验证明了设计的可行性,探索了一种新的选煤技术。
关键词:ARM微控制器 ;CAN总线 ;煤矸石 ;分选系统 ;CPLD
引言
随着嵌入式技术的不断发展,高性能、低功耗、低价格的32位RISC芯片的ARM微控制器呈现出强劲的发展趋势,嵌入式系统和现场总线技术结合,结合二者的优点,为传统的选煤技术提供了新的改造方案。将嵌入式技术和现场总线技术相互融合,设计了一种新的煤块和矸石在线识别与自动分选系统。
煤矸石在线识别与自动分选系统
煤块和矸石在线识别与自动分选系统的原理框图如图1所示。根据选煤工艺要求,本系统主要由下面三大部分构成:
图1 煤矸石在线自动分选系统框图
(1)检测部分:由进料斗、输送带、CCD摄像头、图像数据采集电路等组成。开采出来的原煤常含有矸石,必须将矸石从传送带上挑选出来。CCD摄像头将煤与矸石图像送图像数据采集电路进行转换,转换后的信息送入ARM微控制器,通过CAN总线网络传送到PC机进行处理。
(2)识别与控制部分:由计算机、ARM微控制器和测控设备组成,它是整个系统的核心。根据模式识别算法计算出煤和矸石的灰分含量,ARM微控制器识别和判断出煤矸石后,完成控制动作。如果判断为煤,控制部分不动作,原煤自然落入煤料斗,从煤块通道运走。如果判断为矸石,发出控制信号,打开阀门,使矸石落入矸石通道。
(3)分拣机构:由阀门、物料斗和系统供电设备等组成,通过CAN总线网络,完成多个通道的煤和矸石的自动分选和运输。
芯片介绍
AT91M40800
AT91M40800是ATMEL公司基于ARM7TDMI核的16位/32位微控制器系列中具有较高性价比的一款芯片,其核心为高性能的32位RISC(Reduced Intro-duction Set Computer)体系结构,并具有16位(thumb)指令集。通过可编程的外部总线接口(EBI)直接连接到包括FLASH在内的各种片外存储器,8个优先级的中断向量控制器和片内外围数据控制器显著提高了器件的实时性能。AT91M40800集成了ARM7DMIARMThumb处理器内核,提供了8kB的片内SRAM,8个片选线,32个可编程I/O口,软件可编程的8位或16位的数据总线,最大可寻址空间64MB,两个USART,每个USART有两个专用的外围数据控制器通道,内置可编程的看门狗定时器,8个具有优先级、可单独屏蔽的向量中断控制器,4个外部中断控制寄存器,4个外部中断,包括一个高优先级、低延迟的中断请求,3个外部时钟输入,3通道16位定时器/计数器。
SJA1000
由于煤仓、矸石山与分选车间各自有一定距离,需要集中管理和信息处理。而现场总线技术可以把单个分散的测量控制设备变成网络节点,以总线为纽带,把它们连接成可以相互沟通信息、共同完成自动控制任务的网络系统与控制系统。CAN通信速率最高可达1Mbps,直接传输距离最远可达10km(速率5kbps以下),可挂接设备最多达110个,可以完成多通道同时分选和运输任务。SJA1000是Philips公司生产的独立型CAN总线控制器,用于汽车和一般工业环境中的控制器局域网络,它是Philips公司半导体PCA82C200CAN控制器(BasicCAN)的替代产品,增加了新的工作模式(PeliCAN模式),可以方便的和不同模式的处理器相连接,组成CAN控制网络。
硬件接口电路设计
图2 是SJA1000收发器与AT91M40800芯片的接口电路原理图。
图2 SJA1000与AT91M40800接口电路原理图
EPM7128用来完成接口间信号的转换与配置,EPM7128的输入来自AT91M40800的片选信号NCS2,数据线D0~D7,地址A0~A1,读信号NRD,写信号NWE和系统复位信号RST,经过内部的逻辑综合处理,产生SJA1000所需的功能信号。根据各芯片信号线的要求及端口地址的分配,可以写出CAN总线收发器的输入/输出逻辑关系表达式如下:
CAN=NCS2·A0
CANALE=NCS2•A0•(NRD+NWE)
CANRD=NRD
CANWR=NWE
CANRST=NCS2+RST
选定SJA1000的地址端口为400000H,数据端口的地址为400001H和复位端口地址为400002H。由于CAN控制器SJA1000的地址数据是复用的,通过ALE信号下降沿可以锁存总线上的地址信号。但是AT91M40800的地址总线和数据总线是单独提供的,不能直接与SJA1000的地址数据总线相连。所以要解决SJA1000与AT91M40800的接口问题,关键在于如何将访问SJA1000所需的信号送入其中。这里采用的办法是分两次I/O操作完成,第一次往地址端口400000H送入地址值作为SJA1000的单元地址。此时,片选没有选通,数据锁存在AD0~AD7总线上。第二次访问数据端口400001H时,SJA1000被选中,在ALE信号作用下将第一次的地址值写入SJA1000,CPU对SJA1000进行读/写操作。复位可以分为系统复位和程序复位两种。系统复位信号RST和程序复位信号在EPM7128中进行逻辑或操作,两者之一有效均可使SJA1000可靠的复位。
为了保证数据通信的可靠性,在CAN总线终端各连接一个120Ω的终端反射电阻,进行总线阻抗匹配。SJA1000的TX1引脚通过10k8的电阻接地,RX1引脚电平必须维持在0.5Vcc以上。否则,不能形成CAN总线所需的逻辑电平。如果通信距离较近,环境干扰较小,可以不采用光电隔离电路6N137,这时,可以将82C251的VREF直接与RX1引脚相连,从而简化了电路。
ARM微控制器与CAN总线的数据通信
AT91M40800通过外部总线接口(EBI)产生访问片外存储器和外部器件的信号,EBI支持不同的访问协议,可实现对外部器件的单周期访问,设计中EBI的设置为:(1)选择8位数据总线 ;(2)选择标准读协议 ;(3)选择8个周期的等待时间 ;(4)片选线NCS2的基地址为400000H。所有程序均采用AT91库的C语言编写,它具有可读性强、容易移植、开发简单、调试方便等优点。正确的初始化是程序正常运行的基础,系统的初始化主要是AT91M40800微处理器和SJA1000的初始化(SJA1000工作晶振16M),初始化流程如图3所示。
图3 通信软件初始化流程图
结论
采用ARM微控制器的AT91M40800芯片和CAN总线控制器SJA1000构成的煤矸石在线识别与自动分选系统,跟传统的MCU作为控制的CAN总线网络相比,是一种新颖的CAN总线网络系统。基于ARM微控制器的嵌入式系统与CAN总线的处理系统具有良好的实时性、可靠性和灵活性,为落后的选煤技术提供了一种新方法。