羅書濤+郭小定+陳曉可+趙潔
摘 要:文章采用低功耗單片機(jī)為核心設(shè)計(jì)了礦用自卸車的油門控制的手持調(diào)試器系統(tǒng),手持調(diào)試器通過(guò)自定義通信協(xié)議與油門控制器之間互相通信。通過(guò)手持調(diào)試器可以監(jiān)測(cè)油門控制器的相關(guān)參數(shù),并且通過(guò)手持調(diào)試器可以修改部分參數(shù),極大地方便了產(chǎn)品出廠前的調(diào)試和售后維修。
關(guān)鍵詞:低功耗;監(jiān)控;通信;自定義協(xié)議;仿真
中圖分類號(hào):TD82 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2017)30-0127-03
隨著經(jīng)濟(jì)社會(huì)的快速發(fā)展,世界各國(guó)對(duì)礦石的需求量飛速增長(zhǎng),促使各國(guó)礦山開采規(guī)模的也在不斷擴(kuò)大,其中露天礦的開采規(guī)模顯得尤為突出。在年開采量達(dá)千萬(wàn)噸級(jí)別的大型露天開采礦用設(shè)備中,礦用電動(dòng)輪自卸車已達(dá)到接近70%的市場(chǎng)份額,承擔(dān)著世界上40%的煤、90%的鐵礦的開采運(yùn)輸量。據(jù)統(tǒng)計(jì),2010年國(guó)內(nèi)大型礦用電動(dòng)輪自卸車新增使用量約1200臺(tái)。國(guó)家有關(guān)部門統(tǒng)計(jì)及預(yù)測(cè)表明,到2020年,需求量將達(dá)到2500臺(tái)。就目前的分析來(lái)看,市場(chǎng)前景非常好,因此,礦用電動(dòng)輪自卸車被國(guó)家和政府視為一個(gè)重要產(chǎn)業(yè),近年來(lái)已列入國(guó)家重大科技計(jì)劃項(xiàng)目和重大技術(shù)裝備自主創(chuàng)新指導(dǎo)目錄。礦用自卸車由于其運(yùn)行工況復(fù)雜和工作環(huán)境的惡劣,在出廠之前要進(jìn)行大量的調(diào)試并且在維修的時(shí)候由于其體積龐大不便于返廠。針對(duì)其特殊情況,本文設(shè)計(jì)了油門控制器的手持調(diào)試器系統(tǒng),由手持調(diào)試器系統(tǒng)與與油門控制器系統(tǒng)通訊,獲取油門控制器實(shí)時(shí)數(shù)據(jù)(目標(biāo)位置、反饋位置、踏板、位置、實(shí)時(shí)轉(zhuǎn)速、低怠保存值、高怠保存值、最高保存值、故障代碼等)并進(jìn)行液晶顯示,通過(guò)手持控制器可修改油門控制器參數(shù)(低怠、高怠、最高設(shè)置值)。此手持調(diào)試器體積小巧,便于攜帶,功耗低,成本小,極大地方便了礦用自卸車調(diào)試工作。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)以C8051F930單片機(jī)為核心進(jìn)行數(shù)據(jù)處理,利用RS232與油門控制器進(jìn)行通信,液晶和鍵盤來(lái)實(shí)現(xiàn)人機(jī)的交互,通過(guò)USB接口來(lái)保存歷史數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的建立。其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
1.1 系統(tǒng)核心電路
C8051F930是Silicon Labs公司開發(fā)的完全集成的低功耗混合信號(hào)片上系統(tǒng)MCU。它具有片內(nèi)上電復(fù)位、VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器,是真正能夠獨(dú)立工作的片上系統(tǒng);4KB的RAM和64KB的FLASH,F(xiàn)LASH存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許現(xiàn)場(chǎng)更新8051固件。用戶軟件對(duì)全部外部設(shè)備具有極強(qiáng)的控制,可以關(guān)斷任何一個(gè)或所有外設(shè)以節(jié)省功耗;器件內(nèi)部包含一個(gè)DC-DC轉(zhuǎn)換器,允許由一節(jié)電池供電,供電電壓可低至0.9V。DC-DC轉(zhuǎn)換器是一個(gè)開關(guān)升壓型轉(zhuǎn)換器,其輸入電壓范圍為0.9V~1.8V,輸出電壓可編程,范圍為1.8V~3.3V。缺省狀態(tài)下的輸出電壓為1.9V。輸入電壓必須至少低于輸出電壓0.2V。DC-DC轉(zhuǎn)換器可以為系統(tǒng)提供最高65mW的穩(wěn)壓電源,該穩(wěn)壓電源可以為系統(tǒng)中的其他器件供電。一般來(lái)說(shuō),傳感器或其他模擬信號(hào)需要一個(gè)比單節(jié)電池所能提供的電壓更高的電源電壓,因此這一功能為與這類模擬信號(hào)接口提供了很大的方便;同時(shí)它還支持5種電源模式:正常、空閑、停機(jī)、掛起和休眠。電源管理單元(PMU0)允許進(jìn)入可用的電源方式和某種方式喚醒;器件有一個(gè)可編程精準(zhǔn)內(nèi)部振蕩器、一個(gè)外部振蕩器驅(qū)動(dòng)電路、一個(gè)低功耗內(nèi)部振蕩器和smaRTClock實(shí)時(shí)時(shí)鐘振蕩器。可以通過(guò)OSCICN和OSCICL寄存器來(lái)使能/禁止內(nèi)部振蕩器和調(diào)節(jié)其輸出頻率。外部振蕩器可以通過(guò)OSCXCN寄存器配置。低功耗內(nèi)部振蕩器在被選擇為時(shí)鐘源和解除選擇時(shí)自動(dòng)使能和禁止。系統(tǒng)主芯片接口電路如圖2所示。
1.2 通信電路
主控芯片與油門控制器采用RS232串口進(jìn)行通信,RS-232-C接口(又稱EIARS-232-C)是目前最常用的一種串行通訊接口。通常RS-232接口以9個(gè)引腳,這里我們采用全雙工通信,一個(gè)發(fā)送,一個(gè)接收總共只需用到2,3兩個(gè)引腳。由于單片機(jī)是TTL電平與RS232電平不一樣,所以在此我們采用MAX3232芯片來(lái)進(jìn)行電平轉(zhuǎn)換。MAX232工作電壓3V-5.5V,它具有ESD保護(hù)功能、支持流控制、沒有延時(shí)且可以自動(dòng)收發(fā)轉(zhuǎn)換和BAUD率自適應(yīng)特點(diǎn),即插即用穩(wěn)定可靠。通信電路如圖3所示。
1.3 液晶顯示電路
顯示模塊采用育松電子的QC12864B液晶顯示屏來(lái)實(shí)現(xiàn)數(shù)字信號(hào)的直觀顯示。此液晶可顯示漢字及圖形,內(nèi)置字庫(kù)(16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM)。DB0-DB7可以傳輸數(shù)據(jù)和接收單片機(jī)發(fā)送的指令。單片機(jī)P0端口接到液晶的使能端口使及一些控制信號(hào),其中E為使能信號(hào)(高電平有效)當(dāng)顯示器使能時(shí),其他引腳的信號(hào)才能正常工作。RW為讀寫控制信號(hào)端(引腳為高電平時(shí),讀控制信號(hào),只讀數(shù)據(jù);引腳為低電平時(shí),寫控制信號(hào),既可以寫數(shù)據(jù)也可以寫指令)。RS為數(shù)據(jù)命令選擇端(引腳為高電平時(shí),寫入數(shù)據(jù);引腳為低電平時(shí),寫入指令)。電源輸入端接滑動(dòng)變阻器到亮度調(diào)節(jié)端口,可以調(diào)節(jié)屏幕的背光亮度。液晶接口電路如圖4所示。
1.4 鍵盤電路
采用鍵盤設(shè)置參數(shù),這里我們采用矩陣鍵盤,由于IO口不夠用,利用74H165芯片來(lái)進(jìn)行擴(kuò)展,它是典型并入串出芯片,用它來(lái)讀取外界鍵盤信息再好不過(guò)了。鍵盤電路如圖5所示。
1.5 USB接口電路
關(guān)于USB接口,一般有如下兩種方案,一種是利用集成在微控制器里面的USB控制器如:Intel的8X930AX、CYPRESS的Ez-USB、SIEMENS的C541U以及MOT-OLORA、NationalSemieonduetosr等公司的產(chǎn)品;另一種就是完全的USB接口芯片,只是處理USB通信,如:PHILIPS的PDIUSBD11(IZC接口)、PDIUSBD11 APDIUSBD129(并行口),National Semieonduetoser的USBN9602、USBN9603、USBN9604等。因?yàn)槭褂脦в蠻SB控制器的芯片,必須要開發(fā)一套新的系統(tǒng),成本提高了很多,所以采用USB接口芯片-PDIUSBD11與C805lF930單片機(jī)的SMBUS配合來(lái)完成。PDIUSBD11兼容USB,SMBUS,自動(dòng)處理USB協(xié)議,高速I,C接口(達(dá)1Mbit/S),采用單電源供電,電壓為3.3V,IO/引腳能夠承受電壓為5V,具有總線供電能力,EMI性能很好,時(shí)鐘頻率輸出可編程,符合ACPI、OnNOW和USB電源管理要求,片內(nèi)8kV靜電保護(hù)。USB電路如圖6所示。endprint
2 軟件設(shè)計(jì)
軟件編程采用模塊化的思想,系統(tǒng)中各主要功能模塊均編成獨(dú)立的函數(shù)由主程序調(diào)用。功能模塊包括:初始化程序(包括初始化主控芯片,液晶),自定義通信協(xié)議(發(fā)送和接收程序),鍵盤輸入程序,USB接口程序。
2.1 主程序設(shè)計(jì)
單片機(jī)在進(jìn)入主程序后初始化單片機(jī)級(jí)液晶,然后判斷是否接收到油門控制器發(fā)送的數(shù)據(jù),接收到數(shù)據(jù)后按照自定義通信協(xié)議解析數(shù)據(jù)包,然后將解析完的數(shù)據(jù)送到液晶保存顯示。如果沒有接收到發(fā)送的數(shù)據(jù),主程序?qū)⒗^續(xù)檢測(cè)。在主程序運(yùn)行的過(guò)程中如有其他中斷請(qǐng)求觸發(fā),主程序轉(zhuǎn)去執(zhí)行,按照按鍵觸發(fā)的去執(zhí)行按鍵中斷程序,執(zhí)行完畢后回到主程序。主程序框圖如圖7所示。
2.2 初始化程序
系統(tǒng)上電后, C8051F930恢復(fù)默認(rèn)狀態(tài),根據(jù)系統(tǒng)功能需求重新進(jìn)行初始化配置。C8051F930的數(shù)字交叉開關(guān)允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口I/O引腳,可利用設(shè)置交叉開關(guān)控制寄存器,把片內(nèi)資源配置到具體的端口I/O引腳上。通過(guò)這一特性用戶可以根據(jù)自己的特定應(yīng)用選擇通用端口I/O和所需數(shù)字資源的組合,增強(qiáng)了應(yīng)用的機(jī)動(dòng)性。本系統(tǒng)中,主要配置了液晶LCD的數(shù)據(jù)線接口、控制線接口和RS232串口數(shù)據(jù)輸入/輸出,鍵盤輸入,下載線接口等。
2.3 自定義通信協(xié)議
此協(xié)議為油門馬達(dá)位置設(shè)置時(shí)上位機(jī)和速度控制器(以下簡(jiǎn)稱控制器)傳送字節(jié)定義。通訊接口采用RS232,波特率設(shè)置為9600bit/s。發(fā)送與接收的數(shù)據(jù)格式如表1、表2所示。
通信中我們通常把數(shù)據(jù)進(jìn)行打包傳送,把這樣的一個(gè)數(shù)據(jù)包稱作為一幀數(shù)據(jù)。和網(wǎng)絡(luò)通信中的TCPIP協(xié)議一樣,通常情況下,相對(duì)可靠的通信協(xié)議往往由以下幾個(gè)組成部分組成:幀頭、地址信息、數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)塊、校驗(yàn)碼、幀尾。數(shù)據(jù)包往往按字節(jié)來(lái)發(fā)送,即把數(shù)據(jù)包中的左右字節(jié)按照順序逐個(gè)的發(fā)送數(shù)據(jù)而已。當(dāng)然發(fā)送的方法也有不同。在單片機(jī)通信系統(tǒng)中,通常先定義一個(gè)串口發(fā)送單個(gè)字節(jié)數(shù)據(jù)函數(shù),然后發(fā)送數(shù)據(jù)時(shí)直接調(diào)用該函數(shù)。這種方法的不足之處是在發(fā)送數(shù)據(jù)過(guò)程中,處理器需要一直參與,好處是所要發(fā)送的數(shù)據(jù)可以立刻的出現(xiàn)在通信線路上,可以很快被接收端接收到。還有一種方法是通過(guò)中斷處理的方式發(fā)送的,首先將所有需要發(fā)送的數(shù)據(jù)被送入一個(gè)緩沖區(qū),然后通過(guò)發(fā)送中斷將緩沖區(qū)中的數(shù)據(jù)發(fā)送出去。這種方法的好處是占用很小的處理器資源,但是可能出現(xiàn)發(fā)送數(shù)據(jù)的延時(shí),即需要發(fā)送的數(shù)據(jù)不可以及時(shí)被發(fā)送的情況,不過(guò)這種時(shí)延相當(dāng)?shù)男?。?duì)于51系列單片機(jī),比較傾向于采用直接發(fā)送的方式,采用中斷發(fā)送的方式占用較多的RAM資源,而且對(duì)比直接發(fā)送來(lái)說(shuō)也沒有太多的優(yōu)點(diǎn)。下位機(jī)接收數(shù)據(jù)通常也有兩種方式,一種是等待接收,處理器始終處于查詢串口狀態(tài),來(lái)判斷是否接收到數(shù)據(jù)。另一種是中斷接收。這里我們采用中斷接收。
2.4 鍵盤輸入程序
鍵盤輸入采用中斷,鍵盤按下后觸發(fā)單片機(jī)中斷,中斷響應(yīng)進(jìn)入中斷服務(wù)子程序。通過(guò)中斷程序確定是哪個(gè)按鍵按下,然后執(zhí)行響應(yīng)的命令。按鍵主要包括字符的輸入以及相應(yīng)的數(shù)據(jù)設(shè)置發(fā)送。程序流程圖如圖8所示。
3 仿真結(jié)果
實(shí)驗(yàn)采用單片機(jī)開發(fā)板,將keil預(yù)先生成的hex文件下載到單片機(jī),單片機(jī)接收并顯示電腦模擬發(fā)送的數(shù)據(jù),并可以通過(guò)鍵盤修改發(fā)送參數(shù),仿真效果如圖9,圖10所示。
4 結(jié)束語(yǔ)
以C8051F930低功耗單片機(jī)為核心,給出了油門控制器手持調(diào)試器控制系統(tǒng)的軟硬件設(shè)計(jì)方法,實(shí)際系統(tǒng)調(diào)試運(yùn)行的結(jié)果表明,手持調(diào)試器能準(zhǔn)確接收油門傳送的數(shù)據(jù),并且操作人員可以根據(jù)收到的數(shù)據(jù)作出反饋修改油門控制器參數(shù),達(dá)到系統(tǒng)設(shè)計(jì)的要求。在后續(xù)工作中,實(shí)現(xiàn)無(wú)線通信芯片或者借助藍(lán)牙設(shè)備來(lái)進(jìn)行通信。
參考文獻(xiàn):
[1]Silicon Laboratories.C8051F93x-C8051F92x DataSheet.2008.
[2]張剛毅.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社.
[3]保棟梁.基于單片機(jī)的溫控裝置的研究[J].高科技產(chǎn)品研發(fā),2014(23):9-18.
[4]郭亮.基于si4432的無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(11):38-41.
[5]張霞.基于MCS-51單片機(jī)的液晶顯示設(shè)計(jì)[J].現(xiàn)代機(jī)械,2014(3):71-74.
[6]胡磊.基于AVR單片機(jī)的列車臨時(shí)限速手持巡檢設(shè)備[J].電子技術(shù)設(shè)計(jì)與應(yīng)用,2014(2):15-18.
[7]鄭君彬,魏德仙,楊華東,等.基于GSM網(wǎng)絡(luò)的新型智能家電控制器[J].科技創(chuàng)新與應(yīng)用,2013(25):17-18.
[8]黃超澤,郭其一,毛中亞.基于MSP430及TC35i的短信收發(fā)系統(tǒng)的設(shè)計(jì)[J].電器自動(dòng)化,2013(1):98-100.
[9]張亞南,劉潤(rùn)華,游永智.基于C8051F930的管道溫度壓力遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[J].2010(10):83-85.
[10]潘方.RS232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J].2012(13):69-71.endprint