摘要:簡要介紹了ARM(Advanced RISCM achines)微控制器和CAN(Controlle rArea Network)總線技術(shù)構(gòu)成的煤矸石在線識別與自動分選系統(tǒng),給出了ARM微控制器AT91M40800與CAN總線控制器SJA1000之間相連的硬件電路,論述了硬件接口之間的數(shù)據(jù)通信實現(xiàn)技術(shù),給出了數(shù)據(jù)通信的軟件設(shè)計流程。CPLD(EPM7128)是用來調(diào)整時序和實現(xiàn)在線修改。實驗證明了設(shè)計的可行性,探索了一種新的選煤技術(shù)。
關(guān)鍵詞:ARM微控制器 ;CAN總線 ;煤矸石 ;分選系統(tǒng) ;CPLD
引言
隨著嵌入式技術(shù)的不斷發(fā)展,高性能、低功耗、低價格的32位RISC芯片的ARM微控制器呈現(xiàn)出強(qiáng)勁的發(fā)展趨勢,嵌入式系統(tǒng)和現(xiàn)場總線技術(shù)結(jié)合,結(jié)合二者的優(yōu)點,為傳統(tǒng)的選煤技術(shù)提供了新的改造方案。將嵌入式技術(shù)和現(xiàn)場總線技術(shù)相互融合,設(shè)計了一種新的煤塊和矸石在線識別與自動分選系統(tǒng)。
煤矸石在線識別與自動分選系統(tǒng)
煤塊和矸石在線識別與自動分選系統(tǒng)的原理框圖如圖1所示。根據(jù)選煤工藝要求,本系統(tǒng)主要由下面三大部分構(gòu)成:
圖1 煤矸石在線自動分選系統(tǒng)框圖
(1)檢測部分:由進(jìn)料斗、輸送帶、CCD攝像頭、圖像數(shù)據(jù)采集電路等組成。開采出來的原煤常含有矸石,必須將矸石從傳送帶上挑選出來。CCD攝像頭將煤與矸石圖像送圖像數(shù)據(jù)采集電路進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的信息送入ARM微控制器,通過CAN總線網(wǎng)絡(luò)傳送到PC機(jī)進(jìn)行處理。
(2)識別與控制部分:由計算機(jī)、ARM微控制器和測控設(shè)備組成,它是整個系統(tǒng)的核心。根據(jù)模式識別算法計算出煤和矸石的灰分含量,ARM微控制器識別和判斷出煤矸石后,完成控制動作。如果判斷為煤,控制部分不動作,原煤自然落入煤料斗,從煤塊通道運走。如果判斷為矸石,發(fā)出控制信號,打開閥門,使矸石落入矸石通道。
(3)分揀機(jī)構(gòu):由閥門、物料斗和系統(tǒng)供電設(shè)備等組成,通過CAN總線網(wǎng)絡(luò),完成多個通道的煤和矸石的自動分選和運輸。
芯片介紹
AT91M40800
AT91M40800是ATMEL公司基于ARM7TDMI核的16位/32位微控制器系列中具有較高性價比的一款芯片,其核心為高性能的32位RISC(Reduced Intro-duction Set Computer)體系結(jié)構(gòu),并具有16位(thumb)指令集。通過可編程的外部總線接口(EBI)直接連接到包括FLASH在內(nèi)的各種片外存儲器,8個優(yōu)先級的中斷向量控制器和片內(nèi)外圍數(shù)據(jù)控制器顯著提高了器件的實時性能。AT91M40800集成了ARM7DMIARMThumb處理器內(nèi)核,提供了8kB的片內(nèi)SRAM,8個片選線,32個可編程I/O口,軟件可編程的8位或16位的數(shù)據(jù)總線,最大可尋址空間64MB,兩個USART,每個USART有兩個專用的外圍數(shù)據(jù)控制器通道,內(nèi)置可編程的看門狗定時器,8個具有優(yōu)先級、可單獨屏蔽的向量中斷控制器,4個外部中斷控制寄存器,4個外部中斷,包括一個高優(yōu)先級、低延遲的中斷請求,3個外部時鐘輸入,3通道16位定時器/計數(shù)器。
SJA1000
由于煤倉、矸石山與分選車間各自有一定距離,需要集中管理和信息處理。而現(xiàn)場總線技術(shù)可以把單個分散的測量控制設(shè)備變成網(wǎng)絡(luò)節(jié)點,以總線為紐帶,把它們連接成可以相互溝通信息、共同完成自動控制任務(wù)的網(wǎng)絡(luò)系統(tǒng)與控制系統(tǒng)。CAN通信速率最高可達(dá)1Mbps,直接傳輸距離最遠(yuǎn)可達(dá)10km(速率5kbps以下),可掛接設(shè)備最多達(dá)110個,可以完成多通道同時分選和運輸任務(wù)。SJA1000是Philips公司生產(chǎn)的獨立型CAN總線控制器,用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò),它是Philips公司半導(dǎo)體PCA82C200CAN控制器(BasicCAN)的替代產(chǎn)品,增加了新的工作模式(PeliCAN模式),可以方便的和不同模式的處理器相連接,組成CAN控制網(wǎng)絡(luò)。
硬件接口電路設(shè)計
圖2是SJA1000收發(fā)器與AT91M40800芯片的接口電路原理圖。
圖2 SJA1000與AT91M40800接口電路原理圖
EPM7128用來完成接口間信號的轉(zhuǎn)換與配置,EPM7128的輸入來自AT91M40800的片選信號NCS2,數(shù)據(jù)線D0~D7,地址A0~A1,讀信號NRD,寫信號NWE和系統(tǒng)復(fù)位信號RST,經(jīng)過內(nèi)部的邏輯綜合處理,產(chǎn)生SJA1000所需的功能信號。根據(jù)各芯片信號線的要求及端口地址的分配,可以寫出CAN總線收發(fā)器的輸入/輸出邏輯關(guān)系表達(dá)式如下:
CAN=NCS2·A0
CANALE=NCS2?A0?(NRD+NWE)
CANRD=NRD
CANWR=NWE
CANRST=NCS2+RST
選定SJA1000的地址端口為400000H,數(shù)據(jù)端口的地址為400001H和復(fù)位端口地址為400002H。由于CAN控制器SJA1000的地址數(shù)據(jù)是復(fù)用的,通過ALE信號下降沿可以鎖存總線上的地址信號。但是AT91M40800的地址總線和數(shù)據(jù)總線是單獨提供的,不能直接與SJA1000的地址數(shù)據(jù)總線相連。所以要解決SJA1000與AT91M40800的接口問題,關(guān)鍵在于如何將訪問SJA1000所需的信號送入其中。這里采用的辦法是分兩次I/O操作完成,第一次往地址端口400000H送入地址值作為SJA1000的單元地址。此時,片選沒有選通,數(shù)據(jù)鎖存在AD0~AD7總線上。第二次訪問數(shù)據(jù)端口400001H時,SJA1000被選中,在ALE信號作用下將第一次的地址值寫入SJA1000,CPU對SJA1000進(jìn)行讀/寫操作。復(fù)位可以分為系統(tǒng)復(fù)位和程序復(fù)位兩種。系統(tǒng)復(fù)位信號RST和程序復(fù)位信號在EPM7128中進(jìn)行邏輯或操作,兩者之一有效均可使SJA1000可靠的復(fù)位。
為了保證數(shù)據(jù)通信的可靠性,在CAN總線終端各連接一個120Ω的終端反射電阻,進(jìn)行總線阻抗匹配。SJA1000的TX1引腳通過10k8的電阻接地,RX1引腳電平必須維持在0.5Vcc以上。否則,不能形成CAN總線所需的邏輯電平。如果通信距離較近,環(huán)境干擾較小,可以不采用光電隔離電路6N137,這時,可以將82C251的VREF直接與RX1引腳相連,從而簡化了電路。
ARM微控制器與CAN總線的數(shù)據(jù)通信
AT91M40800通過外部總線接口(EBI)產(chǎn)生訪問片外存儲器和外部器件的信號,EBI支持不同的訪問協(xié)議,可實現(xiàn)對外部器件的單周期訪問,設(shè)計中EBI的設(shè)置為:(1)選擇8位數(shù)據(jù)總線 ;(2)選擇標(biāo)準(zhǔn)讀協(xié)議 ;(3)選擇8個周期的等待時間 ;(4)片選線NCS2的基地址為400000H。所有程序均采用AT91庫的C語言編寫,它具有可讀性強(qiáng)、容易移植、開發(fā)簡單、調(diào)試方便等優(yōu)點。正確的初始化是程序正常運行的基礎(chǔ),系統(tǒng)的初始化主要是AT91M40800微處理器和SJA1000的初始化(SJA1000工作晶振16M),初始化流程如圖3所示。
圖3 通信軟件初始化流程圖
結(jié)論
采用ARM微控制器的AT91M40800芯片和CAN總線控制器SJA1000構(gòu)成的煤矸石在線識別與自動分選系統(tǒng),跟傳統(tǒng)的MCU作為控制的CAN總線網(wǎng)絡(luò)相比,是一種新穎的CAN總線網(wǎng)絡(luò)系統(tǒng)?;贏RM微控制器的嵌入式系統(tǒng)與CAN總線的處理系統(tǒng)具有良好的實時性、可靠性和靈活性,為落后的選煤技術(shù)提供了一種新方法。