公務員期刊網(wǎng) 論文中心 正文

輸送機控制器在線程序升級方案設計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了輸送機控制器在線程序升級方案設計范文,希望能給你帶來靈感和參考,敬請閱讀。

輸送機控制器在線程序升級方案設計

摘要:針對目前煤礦井下用帶式輸送機控制器現(xiàn)場程序升級不方便、操作繁瑣等問題,提出了一種基于IAP和CAN總線的在線遠程程序升級方案。建立了基于CAN總線的網(wǎng)絡結構,首先由防爆計算機將程序文件通過CAN總線下傳到帶式輸送機控制器,再通過控制器內部的Bootloder啟動程序將目標代碼寫入指定的存儲器區(qū)域。介紹了升級網(wǎng)絡的整體結構;分別介紹了升級程序結構以及流程;通過實驗驗證功能完全可行,為礦井同類型控制器的程序更新提供了思路。

關鍵詞:IAP;帶式輸送機控制器;CAN

0引言

隨著自動控制技術的不斷發(fā)展,煤礦井下以單片機為CPU的帶式輸送機控制器越來越多。隨著礦井下工況的不斷變化或者是使用環(huán)境的不同,需要對礦井帶式輸送機控制器進行程序改進。但是礦井下環(huán)境復雜,所有的控制器都安裝在防爆外殼內。井下設備在上電時是不允許開啟外殼的,所以傳統(tǒng)的程序升級方式例如JTAG和ISP等是無法在井下使用的,因此采用在線的方式對程序進行升級。針對此問題本文設計了一種利用CAN總線遠程對嵌入式處理器進行程序升級的方法。整體的程序更新流程是將程序存儲到U盤中,通過防爆計算機將程序讀出然后通過CAN總線遠程傳輸?shù)侥繕薈PU上,CPU在接收到程序數(shù)據(jù)后利用自帶的IAP功能程序將目標程序存儲到指定位置,然后啟動目標程序。

1系統(tǒng)結構和IAP實現(xiàn)原理

1.1控制系統(tǒng)結構

控制系統(tǒng)由兩級結構構成。上層為防爆計算機,主要功能是遠程控制、參數(shù)顯示以及程序升級等;底層是帶式輸送機控制器,其主要功能是將傳感器采集到的信號收集處理后上傳,同時發(fā)出控制命令,或者是接收上位機發(fā)送的控制命令并執(zhí)行。這兩級結構之間是通過CAN通信的方式實現(xiàn)信息交互的。1.2IAP實現(xiàn)原理在應用編程(IAP),其功能特點是能夠利用預先下載好的啟動程序對控制器的Flash區(qū)域進行在線編程。帶式輸送機控制器CPU的Flash區(qū)域是由2部分組成的,分別是RWW(可以同時讀寫的區(qū)域)以及NRWW(不可以同時讀寫的區(qū)域)。IAP的工作原理是首先由用戶編寫引導程序,然后利用JTAG或者是ISP方式將其下載到微控制器的BootLoader中。而根據(jù)BootLoader特點可知其位于不可以同時讀寫的區(qū)域中。在BootLoader區(qū)域中不存在引導程序則系統(tǒng)上電后是按照方式1進行啟動的。方式2是BootLoader總存在引導程序,并觸發(fā)時的系統(tǒng)啟動過程。對于產品來說,BootLoader中的引導程序必須在出廠前下載到存儲器中。

2帶式輸送機控制器硬件結構

帶式輸送機控制器使用的CPU為NXP公司設計生產的LPC1788微控制器。該CPU為32位處理器,主頻120MHz具有優(yōu)秀的處理能力,經(jīng)過多年的工業(yè)應用系統(tǒng)級的BUG基本沒有,微控制器設計的最小系統(tǒng)采用JTAG接口作為下載接口。預留的BootLoader區(qū)域大小為45kB。同時由于其內部集成了IAP和CAN通信接口完全支持CANV2.0B技術規(guī)范,最高通信速率能夠達到1Mbps,所以非常適合本設計使用。外部使用的CAN總線收發(fā)器芯片為TJA1050T,該芯片是由PHILIP公司研制生產的高性能、高集成度的CAN芯片。該芯片在本系統(tǒng)中的主要作用是協(xié)議控制和物理總線接口,能夠提供差動的收發(fā)性能。為了更好地控制程序的升級,在硬件系統(tǒng)中加入了2個按鍵,1個用于控制系統(tǒng)復位,1個用于控制程序升級。

3IAP相關程序設計

3.1帶式輸送機控制器IAP程序設計

如前文所述,LPC1788微控制器的內核在啟動時可以利用地址的不同實現(xiàn)從IAP程序到APP程序之間的跳轉。IAP升級流程如圖3所示。程序啟動后如果沒有升級的需求也就是控制程序升級的按鍵沒有按下,則程序便跳轉到APP程序中執(zhí)行;如果有升級需求,則進入到IAP引導程序中,首先是將CAN通信初始化,然后開始程序數(shù)據(jù)的下載也就是Flash的擦除和寫入。完全下載完畢后程序指針PC便跳入到APP程序中執(zhí)行。為了防止程序更新失敗,本設計中加入了判別方法,如果程序指針指向的地址是RAM地址,說明程序下載成功,可以繼續(xù)執(zhí)行。具體代碼:if(((*(__IOuint32_t*)ApplicationAddress)&0x2FFE0000)==0x20000000);其中,ApplicationAssress指針變量地址里存放的是用戶APP程序的入口地址。接收初始化程序:intReceive_Init(void){targetInit();/*初始化目標板,切勿刪除*/pinInit();/*引腳初始化*/IAP_Init();CAN_Init();/*初始化CAN*/messageSend();/*發(fā)送提示信息*/memset(GucIapTmp,0,4096);/*緩沖區(qū)清零*/}當所有的程序初始化完成以后便可以接收目標程序,將其存放到指定的Flash區(qū)域里。本文設計使用的編程軟件是KeilMDK5。由于MDK5自身編譯生產的是HEX文件,所以需要調用fromelf.exe程序來使其轉化為bin格式的文件。然后下載到U盤中。

3.2程序代碼發(fā)送流程

程序升級時首先需要認證操作人員的權限,以免誤操作造成事故的發(fā)生。升級代碼時首先要在控制器上操作,使其處于升級狀態(tài)。然后在防爆計算機相應軟件中選擇需要下載的bin文件。然后依據(jù)CAN總線的通信協(xié)議進行發(fā)送,為了避免發(fā)送錯誤,本系統(tǒng)設計了校驗機制,每發(fā)送1幀數(shù)據(jù)必須在收到反饋信號后才發(fā)送第2幀,否則就重新發(fā)送直到發(fā)送成功為止。當發(fā)送完畢后將接收標志位取消。

4調試與驗證

在實驗室條件下對帶式輸送機控制器程序進行了調試。通過“選擇程序”按鈕從電腦硬盤中選中需要的bin文件,然后點擊下載便可以將程序下載到目標控制器中?,F(xiàn)場測試時升級1臺控制器的程序僅需要7s,完全能夠符合礦井生產的需求。

5結語

本文設計了一種基于IAP的礦井帶式輸送機控制器在線升級程序的方法。通過此方式可以在不打開防爆外殼的前提下遠程對目標控制器進行程序升級,在提高安全性和可靠性的基礎上降低了維護成本,為礦井同類型控制器設計提供了經(jīng)驗。

參考文獻:

[1]汪俊,張彥林,張偉先.基于CAN網(wǎng)絡的IAP在線更新研究與應用[J].技術與市場,2014,21(5):33,35.

[2]郭玲.基于STM32的IAP程序更新方式[J].黑龍江科技信息,2016(18):169-170.

[3]孫曉曄,王程,成彬.基于TFTP協(xié)議實現(xiàn)STM32的IAP[J].微型機與應用,2016,35(7):76-78.

[4]雷衛(wèi)延,敖振浪,周欽強.基于STM32的在應用編程(IAP)開發(fā)[J].電子測量技術,2015,38(5):62-66.

[5]于亞運,宋建成,田慕琴,等.基于IAP的支架控制系統(tǒng)程序在線升級方案[J].工礦自動化,2016,42(2):12-15.

[6]蔣春悅,田慕琴,宋建成,等.自動化工作面液壓支架控制器設計[J].工礦自動化,2014,40(9)1-5.

[7]楊世華,宋建成,田幕琴,等.基于雙RS485總線的液壓支架運行狀態(tài)監(jiān)測系統(tǒng)開發(fā)[J].工礦自動化,2014,40(8):1-5.

[8]孫繼平,劉毅,樊京.煤礦井下高頻電磁騷擾工程計算模型[J].煤炭學報,2012,37(12):2118-2122.

[9]劉根賢,龔雪容,生擁宏,等.基于高頻RFID的微處理器IAP技術[J].電子技術應用,2013,39(4):29-31.

作者:武林海 單位:晉中市煤炭規(guī)劃設計研究院