LPC4320雙核處理器在支架電液控系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:隨著煤礦自動(dòng)化、智慧礦山的快速發(fā)展,工作面支架電液控系統(tǒng)的功能也更加復(fù)雜。為了滿足支架電液控系統(tǒng)在實(shí)時(shí)姿態(tài)控制、數(shù)據(jù)傳輸以及與工作面采煤機(jī)、刮板機(jī)、視頻監(jiān)控等系統(tǒng)聯(lián)動(dòng)方面的要求,本文基于LPC4320異構(gòu)雙核處理器開發(fā)一種新型支架控制器。既有強(qiáng)大的數(shù)據(jù)處理能力,滿足多通道傳感器實(shí)時(shí)信號采集與處理以及基于數(shù)字信號的支架控制功能的需求,又具有強(qiáng)大的控制能力,實(shí)現(xiàn)支架遠(yuǎn)程控制、自動(dòng)控制、多設(shè)備聯(lián)動(dòng)控制等功能。
引言
起源于國外的液壓支架電液控系統(tǒng)在上世紀(jì)90年代引入國內(nèi),支架電液控系統(tǒng)以高產(chǎn)、高效、安全的特點(diǎn)在國內(nèi)迅速得到了推廣與應(yīng)用。本世紀(jì)初,鄭煤機(jī)、北京天瑪?shù)葒鴥?nèi)廠家在支架電液控系統(tǒng)領(lǐng)域相繼取得關(guān)鍵突破,支架電液控系統(tǒng)在國內(nèi)的發(fā)展進(jìn)入了一個(gè)新階段。國產(chǎn)電液控系統(tǒng)在繼承進(jìn)口電液控系統(tǒng)高產(chǎn)、高效、安全特點(diǎn)的同時(shí),成本得到了大幅下降,進(jìn)一步拉近了用戶與支架電液控系統(tǒng)的距離。目前,數(shù)字化礦山、智慧礦山等研究的進(jìn)一步深入,對綜采工作面支架電液控系統(tǒng)的智能化和自動(dòng)化程度均提出了更高的要求。支架電液控系統(tǒng)不僅要完成對支架的立柱下腔壓力、推移行程、紅外線接收器等常規(guī)傳感器的實(shí)時(shí)數(shù)據(jù)采集,還要具備對姿態(tài)傳感器、高度傳感器、接近傳感器等新型傳感器的實(shí)時(shí)數(shù)據(jù)采集與處理;不僅要完成支架、采煤機(jī)、刮板機(jī)的三機(jī)聯(lián)動(dòng)自動(dòng)割煤,還要具備與工作面視頻系統(tǒng)、支架遠(yuǎn)程控制系統(tǒng)的聯(lián)動(dòng)與控制能力。綜采工作面自動(dòng)化需求的日益提高,要求支架電液控系統(tǒng)不僅要具有動(dòng)作控制能力,還要具有大量數(shù)據(jù)的實(shí)時(shí)傳輸、各種傳感器的數(shù)據(jù)采集與信號處理能力,而目前的51單片機(jī)、ARM7等微控制器很難同時(shí)滿足高性能數(shù)字信號處理能力、大量數(shù)據(jù)傳輸與I/O控制的要求。NXP公司推出的LPC4320微控制器在單芯片內(nèi)無縫集成了Cotex—M4與Cotex—M0兩個(gè)處理器,能夠很好地滿足支架電液控系統(tǒng)對高性能數(shù)字信號處理與大量數(shù)據(jù)傳輸與I/O控制的要求。
1 LPC4320雙核處理器
LPC4320是NXP公司針對數(shù)字信號控制推出的一款異構(gòu)雙核數(shù)字信號控制器(DSC),其M4與M0內(nèi)核運(yùn)行速度均可達(dá)204 MHz,利用M4強(qiáng)大的數(shù)字信號能力與M0的控制能力,可以為DSP與MCU應(yīng)用提供單一的架構(gòu)與開發(fā)環(huán)境。在LPCA320芯片中,M4作為主處理器融合了微控制器的基本功能,如集成向量控制器(NVIC)、低功耗模式、低成本調(diào)試和易用性,以及高性能數(shù)字信號處理功能,如單指令周期MAC、單指令多數(shù)據(jù)(SI MI))技術(shù)、飽和算法、浮點(diǎn)運(yùn)算單元。M0作為協(xié)處理器用來分擔(dān)M4的大量數(shù)據(jù)傳輸與I/O控制任務(wù),減小M4帶寬占用,使得M4可以全力處理數(shù)字信號控制應(yīng)用中的數(shù)學(xué)計(jì)算。
LPC4320異構(gòu)雙核數(shù)字信號處理器的獨(dú)特之處在于其片內(nèi)集成了M4與M0,并為兩者開辟了共享的存儲(chǔ)空間及中斷,可以實(shí)現(xiàn)無縫連接?;诖思軜?gòu),M4作為主處理器可以運(yùn)行嵌入式操作系統(tǒng),主要負(fù)責(zé)各種傳感器的信號采集、處理、基于數(shù)字信號控制的數(shù)學(xué)運(yùn)算等任務(wù),并負(fù)責(zé)對M0處理器的控制與初始化工作;M0作為協(xié)處理器,同樣可以運(yùn)行嵌入式操作系統(tǒng),在M4主處理器的控制下負(fù)責(zé)完成通信、I/O控制,數(shù)據(jù)搬運(yùn)、存儲(chǔ)及人機(jī)交互控制等任務(wù)。以上M4與M0可以單獨(dú)運(yùn)行嵌入式操作系統(tǒng),真正實(shí)現(xiàn)多任務(wù)同時(shí)運(yùn)行,提高系統(tǒng)運(yùn)行的實(shí)時(shí)性及吞吐量。
LPC4320不僅具備雙核處理器的優(yōu)勢,還具有CAN總線、UART等通信接口以及ADC、GPIO等豐富的外設(shè)。綜合考慮硬件性能與軟件開發(fā)的難度,筆者決定以LPC4320為核心開發(fā)新一代液壓支架控制器。
2 系統(tǒng)方案設(shè)計(jì)
2.1 工作面系統(tǒng)方案設(shè)計(jì)
為了實(shí)現(xiàn)對每臺支架的控制,我們在每臺支架上安裝一個(gè)支架控制單元,每個(gè)支架控制單元由支架控制器、電磁閥驅(qū)動(dòng)器、壓力傳感器、行程傳感器、紅外線接收器、接近傳感器、姿態(tài)傳感器等組成。支架控制單元間通過架間電纜相連接,輔以隔爆兼本安型穩(wěn)壓電源、隔離耦合器等組成工作面的支架電液控系統(tǒng)網(wǎng)絡(luò),系統(tǒng)方案如圖1所示。
在工作面支架電液控系統(tǒng)網(wǎng)絡(luò)中,工作面總線用于支架控制單元與順槽集控中心的通信,架間總線用于相鄰的支架控制單元間的通信,兩條總線通過軟件實(shí)現(xiàn)相互冗余。在支架控制單元中支架控制器是核心,實(shí)現(xiàn)支架操作、命令、數(shù)據(jù)傳輸及傳感器數(shù)據(jù)采集以及人機(jī)交互等功能,因此,本設(shè)計(jì)重點(diǎn)是支架控制器的軟、硬件設(shè)計(jì)。
2.2 支架控制器方案設(shè)計(jì)
支架控制器方案設(shè)計(jì)如圖2所示。
在該設(shè)計(jì)中,LPC4320作為系統(tǒng)的數(shù)據(jù)處理與系統(tǒng)控制的主控單元,采用1路CAN總線作為工作面通信的接口,2路UART總線作為左/右鄰架的通信接口,從而實(shí)現(xiàn)工作面通信與左/右鄰架通信的冗余設(shè)計(jì);采用其ADC采集外部模擬量傳感器的數(shù)據(jù),并預(yù)留1路UART總線來接入數(shù)字量傳感器;采用ZLG7290作為按鍵管理芯片,與LPC4320和I2C進(jìn)行接口;采用MAX7300作為I/O擴(kuò)展芯片,通過I2C與LPC4320實(shí)現(xiàn)多達(dá)24功能的電磁閥驅(qū)動(dòng);同時(shí)還為系統(tǒng)擴(kuò)展了程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器以及顯示屏等模塊,來實(shí)現(xiàn)電液控系統(tǒng)運(yùn)行需要具備的人機(jī)交互、電磁閥控制、數(shù)據(jù)傳輸以及存儲(chǔ)等功能。
3 基于雙核通信的軟件架構(gòu)設(shè)計(jì)
3.1 雙核通信的軟、硬件實(shí)現(xiàn)
為了實(shí)現(xiàn)M4與M0雙核間的通信,LPC4320基于兩者間的共享RAM與中斷,實(shí)現(xiàn)兩者間的中斷通知、數(shù)據(jù)傳遞。雙核間的通信原理如圖3所示。
M4與M0分別使用中斷來通知對方有新的事件到來,需要對方處理。M4使用命令緩存區(qū)向M0傳遞命令,M0使用消息緩存區(qū)向M4傳遞數(shù)據(jù),從而實(shí)現(xiàn)兩者內(nèi)核間的高效通信。
基于中斷及共享RAM的雙核間通信有以下3種方式:中斷機(jī)制、消息隊(duì)列機(jī)制和郵箱機(jī)制。中斷機(jī)制是最簡單的雙核通信方式,用于一個(gè)內(nèi)核向另一個(gè)內(nèi)核發(fā)送一個(gè)無關(guān)聯(lián)數(shù)據(jù)的確認(rèn)信號。消息隊(duì)列機(jī)制使用共享RAM中的兩塊區(qū)域,用來存儲(chǔ)一個(gè)內(nèi)核向另一個(gè)內(nèi)核發(fā)送的消息。其中命令緩存區(qū)用于M4向M0發(fā)送命令,消息緩存區(qū)用于M0向M4回發(fā)消息。消息郵箱機(jī)制在共享RAM中使用了占位符,從而實(shí)現(xiàn)發(fā)送方直接將消息放置到接收方的共享RAM中,這樣M4和M0都可以向?qū)Ψ桨l(fā)送消息。
3.2 系統(tǒng)軟件架構(gòu)設(shè)計(jì)
由于支架控制器需要實(shí)現(xiàn)傳感器數(shù)據(jù)采集與處理、左/右鄰架通信傳輸、工作面通信、I/O端口控制、數(shù)據(jù)存儲(chǔ)、人機(jī)交互等功能,這就需要根據(jù)M4和M0處理器的特點(diǎn)合理進(jìn)行軟件功能的劃分,以實(shí)現(xiàn)支架控制器在進(jìn)行數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、人機(jī)交互等工作的同時(shí),進(jìn)行多種模擬、數(shù)字傳感器數(shù)據(jù)的數(shù)據(jù)采集、分析、處理,從而實(shí)現(xiàn)基于多種傳感器的支架數(shù)字信號控制功能。M4主機(jī)和M0從機(jī)軟件系統(tǒng)流程分別如圖4和圖5所示。
系統(tǒng)軟件架構(gòu)中,M4是主機(jī),M0是從機(jī)。M4負(fù)責(zé)對M0進(jìn)行復(fù)位、程序加載等控制,運(yùn)行在M4上的軟件與運(yùn)行在M0上的軟件采用RPC(遠(yuǎn)程過程調(diào)用)機(jī)制進(jìn)行調(diào)用。M4只是將需要處理的數(shù)據(jù)等發(fā)送給M0,由M0來完成耗時(shí)較長的數(shù)據(jù)發(fā)送、存儲(chǔ)等處理;M0同步接收外部的通信和人機(jī)交互等耗時(shí)較長的事件,并將事件信息發(fā)送給M4;而諸如傳感器信息的數(shù)據(jù)采集與處理、支架姿態(tài)運(yùn)算控制等計(jì)算密集型任務(wù)在M4上運(yùn)行。這樣不同類型的任務(wù)在M4與M0上合理地分配,保證系統(tǒng)運(yùn)行的實(shí)時(shí)性與高效性。
結(jié)語
經(jīng)驗(yàn)證,以LPC4320雙核處理器為核心的支架控制器,在傳感器數(shù)據(jù)采集與處理方面,尤其是以傾角傳感器數(shù)據(jù)采集與處理為基礎(chǔ)的支架姿態(tài)信息計(jì)算方面,相對于常用的單片機(jī)系統(tǒng)的實(shí)時(shí)性得到了大幅提升,很好地滿足了基于數(shù)字信號的支架實(shí)時(shí)姿態(tài)控制。在多通道數(shù)據(jù)傳輸方面,相對于普通的單核系統(tǒng)數(shù)據(jù)傳輸的實(shí)時(shí)性也有明顯的提升。但是,由于雙核系統(tǒng)需要為M4和M0兩個(gè)子系統(tǒng)分別開發(fā)相應(yīng)的軟件系統(tǒng),這就對系統(tǒng)的軟件架構(gòu)設(shè)計(jì)提出了更高的要求,對系統(tǒng)中基于雙核通信的RPC(遠(yuǎn)程過程調(diào)用)接口設(shè)計(jì)也提出了更高的要求。