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