《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種新型嵌入式輪參測(cè)量?jī)x設(shè)計(jì)
一種新型嵌入式輪參測(cè)量?jī)x設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2010年第6期
蘇 磊,張登福
空軍工程大學(xué) 工程學(xué)院航空電子工程系,陜西 西安710038
摘要: 針對(duì)傳統(tǒng)測(cè)量?jī)x體積大、成本高、精度難以保證等缺點(diǎn),基于ARM芯片LPC2214設(shè)計(jì)了一款手持式的輪參測(cè)量?jī)x,具有體積小、精度高、功耗低、容量大等優(yōu)點(diǎn)。設(shè)計(jì)中結(jié)合實(shí)際情況和要求,采用靈活有效的設(shè)計(jì)方法,在充分利用現(xiàn)有資源的基礎(chǔ)上,設(shè)計(jì)了符合要求的實(shí)際電路和相關(guān)程序,具有很高的經(jīng)濟(jì)價(jià)值和參考價(jià)值。
中圖分類(lèi)號(hào): TP216
文獻(xiàn)標(biāo)識(shí)碼: A
A new design of embedded train-wheel metrical instrument
SU Lei,ZHANG Deng Fu
Air Force Engineering University, Engineering College, Avionic Engineering Department, Xi′An 710038,China
Abstract: Traditional metrical instruments always have the disadvantages of large volume, high cost and uncontrollable precision. To overcome these disadvantages, a new kind of hand-hold metrical instrument, based on the ARM chip LPC2214, is designed in this paper, which is used to measure the size of train wheel. In the process of design, according to the reality and requirements, flexible and efficient methords are taken into action, making full use of the resources in existence. And the circuits, as well as the programm, have high economic value and good use for reference.
Key words : embedded system;train-wheel measure;LCD;LPC2214

    安全是一個(gè)永恒的話題,在交通運(yùn)輸領(lǐng)域尤其如此。在鐵路運(yùn)輸中,火車(chē)車(chē)輪的磨損是影響其安全運(yùn)行的一個(gè)重要因素。對(duì)車(chē)輪外形的測(cè)量,已經(jīng)從早期的人工模擬式進(jìn)入到如今的電子數(shù)字式,然而現(xiàn)有的測(cè)量?jī)x仍然有體積、功耗以及精度等方面的不足。針對(duì)這些不足,本文提出并設(shè)計(jì)了一種以ARM芯片LPC2214為核心的新型測(cè)量?jī)x。
1 總體設(shè)計(jì)
1.1 性能要求

    本設(shè)計(jì)的任務(wù)是設(shè)計(jì)一款手持式的火車(chē)車(chē)輪參數(shù)測(cè)量?jī)x,用來(lái)檢測(cè)車(chē)輪的磨損程度,確定車(chē)輪的工作狀況,保證車(chē)輛的正常和安全運(yùn)行。設(shè)計(jì)的基本原理是使用激光傳感器測(cè)量車(chē)輪相應(yīng)的參數(shù),將其傳給測(cè)量?jī)x,實(shí)現(xiàn)數(shù)據(jù)的處理、存儲(chǔ)和顯示等。根據(jù)設(shè)計(jì)要求,需要測(cè)量的車(chē)型包括貨車(chē)、客車(chē)和動(dòng)車(chē)3種,車(chē)輪型號(hào)有20種,并有以下具體的要求:
    (1)在存儲(chǔ)和顯示測(cè)量數(shù)據(jù)時(shí)提供時(shí)間、地點(diǎn)編號(hào)、測(cè)量員編號(hào)等相關(guān)信息;
    (2)測(cè)量范圍10 mm~100 mm,精度0.01 mm,并存儲(chǔ)一定數(shù)量的測(cè)量數(shù)據(jù);
    (3)良好的人機(jī)交互界面;
    (4)體積小,重量輕,低功耗。
1.2 電路總體設(shè)計(jì)
    根據(jù)性能指標(biāo),本設(shè)計(jì)采用NXP公司的ARM芯片LPC2214作為核心處理器件,外圍器件包括實(shí)時(shí)時(shí)鐘PCF8563、FLASH存儲(chǔ)器SST25VF016B、RS232/485串口驅(qū)動(dòng)芯片和電源芯片,以及液晶屏和小鍵盤(pán)等,如圖1所示。

    LPC2214是一款性能優(yōu)異的微處理器,其基于一種支持實(shí)時(shí)仿真和跟蹤的32 bit ARM7TDMI-STM CPU,帶有256 KB片內(nèi)FLASH存儲(chǔ)器、2個(gè)UART串口、SPI接口、外部存儲(chǔ)器接口等,具有高達(dá)60 MHz的操作頻率,完全滿(mǎn)足設(shè)計(jì)需要[1,4]。
    本系統(tǒng)有5個(gè)外部傳感器,其中3個(gè)位移傳感器、2個(gè)激光傳感器,具體參數(shù)的獲取由這5個(gè)傳感器實(shí)現(xiàn)。在數(shù)據(jù)測(cè)量中,根據(jù)車(chē)型不同,可以簡(jiǎn)要?dú)w結(jié)為如下測(cè)量方式:(1)動(dòng)車(chē)型的測(cè)量,獲取連在RS485線的3個(gè)位移傳感器值和激光傳感器4和激光傳感器5值;(2)普通客車(chē)和貨車(chē)的測(cè)量,先獲取連在RS485線的3個(gè)位移傳感器值和激光傳感器4值,再用繼電器閉合電磁線圈,延時(shí)2 s,讀取激光傳感器4值。
2 各部分軟硬件設(shè)計(jì)
2.1 實(shí)時(shí)時(shí)鐘設(shè)計(jì)

    實(shí)時(shí)時(shí)鐘的任務(wù)流程圖如圖2所示。

    由于在保存測(cè)量數(shù)據(jù)時(shí),需要同時(shí)保存測(cè)量時(shí)的時(shí)間,這樣便于日后檢查統(tǒng)計(jì),而LPC2214內(nèi)部自帶的實(shí)時(shí)時(shí)鐘是掉電易失的,故在設(shè)計(jì)中采用實(shí)時(shí)時(shí)鐘芯片PCF8563設(shè)計(jì)了外部時(shí)鐘電路。PCF8563是低功耗的CMOS 實(shí)時(shí)時(shí)鐘/日歷芯片,具有16個(gè)8 bit寄存器,采用I2C接口,通過(guò)SDA和SCL 2條線與LPC2214相連,使用非常簡(jiǎn)便。在其電源端接了一個(gè)1 F的電容(也可改用紐扣電池),在測(cè)量?jī)x斷電時(shí)為PCF8563提供電壓,從而實(shí)現(xiàn)實(shí)時(shí)計(jì)時(shí)功能。
    另外,其第10~12個(gè)寄存器(09H~0BH)為分鐘、小時(shí)和日?qǐng)?bào)警寄存器,此處不用報(bào)警功能,而將其改為存儲(chǔ)測(cè)量次數(shù),節(jié)省了外部存儲(chǔ)空間,也保證了數(shù)據(jù)的安全性。需要存儲(chǔ)的測(cè)量次數(shù)為16 bit,考慮到3個(gè)報(bào)警寄存器并非所有位數(shù)都是有效的,實(shí)際分配為09H取8 bit,0AH和0BH取后4 bit,這樣正好16 bit,滿(mǎn)足測(cè)量數(shù)據(jù)的存儲(chǔ)范圍。
2.2 外部存儲(chǔ)器設(shè)計(jì)
    本測(cè)量?jī)x是一種手持式設(shè)備,對(duì)體積要求比較嚴(yán)格。為減小電路板面積和簡(jiǎn)化布線,外部存儲(chǔ)器采用只有8個(gè)管腳的小封裝SST25VF016B。SST25VF016B是一款16 Mbit(000000H~1FFFFFH,2 MB)SPI接口串行FLASH,其采用的CMOS SuperFlash工藝保證更低的功耗,并具有4 KB、32 KB、64 KB以及Chip-Erase等4種靈活的擦除方式。SST25VF016B的連接如圖3所示。

    SST25VF016B的操作包括擦除和讀寫(xiě)等,由于對(duì)速度的要求不嚴(yán)格,所以在設(shè)計(jì)中采用GPIO口模擬SPI接口。發(fā)送和接收數(shù)據(jù)的2個(gè)子程序如下:
/*******************************************
* 名稱(chēng):Send_Byte()
* 功能:模擬SPI向SST25發(fā)送數(shù)據(jù),在SCK的
*         上升沿發(fā)送1 bit的數(shù)據(jù),共發(fā)送8個(gè)
*******************************************/
void Send_Byte(uint8 byte_OUT)
{
    uint8 i;
    for(i=0;i<8;i++)
    {
        IO0CLR=SCK;                    //SCK=0
        if((byte_OUT & 0x80)==0x80)        //輸出1
        {
        IO0SET=SI;                    //SI=1;
        }
        else
        {
        IO0CLR=SI;                    //SI=0
        }
        byte_OUT=(byte_OUT<<1);        //輸出0
        IO0SET=SCK;                    //SCK=1
    }
}

/*******************************************
* 名稱(chēng):Get_Byte()
* 功能:模擬SPI接收數(shù)據(jù),在SCK的下降沿接收
*         1 bit的數(shù)據(jù),共接收8個(gè)
*******************************************/
uint8  Get_Byte(void)
{
    uint8 i;
    uint16 byte_IN=0;
    for(i=0;i<8;i++)
    {
        IO0CLR=SCK;                    //SCK=0
        if((IO0PIN>>5)&0x01)            //判斷是否輸入1
        {
        byte_IN++;
        }
        IO0SET=SCK;                    //SCK=1
        byte_IN=(byte_IN<<1);
    }
    byte_IN=(byte_IN>>1);
    return(byte_IN);
}
    在對(duì)外部FLASH存儲(chǔ)空間的分配中,前80 KB用來(lái)存儲(chǔ)20組設(shè)定的參數(shù),用輪型編號(hào)進(jìn)行索引,每組占4 KB;剩下的空間用來(lái)存儲(chǔ)測(cè)量數(shù)據(jù),每組測(cè)量數(shù)據(jù)分配40 B,用存儲(chǔ)在實(shí)時(shí)時(shí)鐘報(bào)警寄存器內(nèi)的測(cè)量次數(shù)進(jìn)行索引,理論可存儲(chǔ)50 380組,可滿(mǎn)足長(zhǎng)時(shí)間使用的需要。另外,在設(shè)置和測(cè)量的數(shù)據(jù)中,有一部分參數(shù)是小數(shù),可將其轉(zhuǎn)化為整數(shù)后存儲(chǔ),讀取時(shí)再轉(zhuǎn)化為小數(shù)即可。外部存儲(chǔ)器的讀寫(xiě)流程如圖4所示。

2.3 液晶屏驅(qū)動(dòng)設(shè)計(jì)
    液晶屏型號(hào)為P160128,由于其沒(méi)有自帶的漢字庫(kù),故根據(jù)需要顯示的漢字通過(guò)相關(guān)的軟件來(lái)完成制作漢字庫(kù)[3]。設(shè)計(jì)成的字庫(kù)和ASCII字符約有8 KB,存儲(chǔ)在LPC2214的內(nèi)部FLASH中。此液晶屏為160&times;128點(diǎn)陣,而每個(gè)漢字占用點(diǎn)陣為16&times;16,故此屏可以顯示8行漢字,每行10個(gè),因此對(duì)于某些需要顯示較多參數(shù)的地方,可以考慮分多屏顯示。
2.4 鍵盤(pán)掃描程序設(shè)計(jì)
    根據(jù)應(yīng)用需要,設(shè)計(jì)中采用4&times;5矩陣鍵盤(pán),共計(jì)20個(gè)按鍵。鍵盤(pán)掃描程序是整個(gè)軟件的核心程序,通過(guò)使用者對(duì)鍵盤(pán)的操作調(diào)用相應(yīng)的子程序,完成相應(yīng)的設(shè)置和控制[4]。
3 軟硬件調(diào)試
    本設(shè)計(jì)中需要顯示設(shè)置、測(cè)量、查詢(xún)3個(gè)界面,根據(jù)屏幕的大小,設(shè)置和查詢(xún)分為2屏顯示,測(cè)量界面為1屏顯示。
    系統(tǒng)開(kāi)機(jī)時(shí)默認(rèn)進(jìn)入設(shè)置界面,設(shè)置界面1和界面2可以通過(guò)&ldquo;&rarr;&rdquo;&ldquo;&larr;&rdquo;進(jìn)行切換,其中實(shí)時(shí)時(shí)鐘的設(shè)定就是在設(shè)置界面2進(jìn)行的。在設(shè)置界面可以對(duì)20種輪型進(jìn)行參數(shù)的設(shè)置和查看,每組輪型參數(shù)的有效長(zhǎng)度為40 B,實(shí)際分配4 KB,這樣做的原因,就是在對(duì)某種輪型參數(shù)進(jìn)行修改時(shí),需要先對(duì)修改區(qū)域進(jìn)行擦除,可通過(guò)調(diào)用擦除4 KB子程序Block_Erase4k()來(lái)實(shí)現(xiàn),而不會(huì)影響到其他組。
    測(cè)量界面負(fù)責(zé)顯示經(jīng)處理后的數(shù)據(jù)信息。在測(cè)量前半部分可以設(shè)定6個(gè)相關(guān)的參數(shù)。當(dāng)檢測(cè)到&ldquo;確認(rèn)&rdquo;鍵按下時(shí),系統(tǒng)自動(dòng)調(diào)用子函數(shù)save_test_para()來(lái)保存測(cè)量數(shù)據(jù)和實(shí)時(shí)的日期時(shí)間,同時(shí)測(cè)量次數(shù)自動(dòng)加1,為存儲(chǔ)下一組測(cè)量數(shù)據(jù)做好準(zhǔn)備。
    當(dāng)需要對(duì)之前測(cè)量的數(shù)據(jù)進(jìn)行查詢(xún)時(shí),可以切換到&ldquo;查詢(xún)&rdquo;界面。&ldquo;查詢(xún)&rdquo;界面默認(rèn)顯示為剛剛保存的一組測(cè)量數(shù)據(jù),此時(shí)可以通過(guò)&ldquo;&darr;&rdquo;&ldquo;&uarr;&rdquo;2個(gè)按鍵對(duì)序號(hào)進(jìn)行增減,也可以通過(guò)數(shù)字鍵輸入要查詢(xún)的測(cè)量序號(hào),然后按&ldquo;確認(rèn)&rdquo;鍵,通過(guò)執(zhí)行子函數(shù)Display_querry()調(diào)出測(cè)量數(shù)據(jù)。相對(duì)于&ldquo;測(cè)量&rdquo;界面,&ldquo;查詢(xún)&rdquo;界面需要額外顯示測(cè)量日期和時(shí)間,受屏幕限制,同樣將其分為2屏,可以通過(guò)&ldquo;&rarr;&rdquo;&ldquo;&larr;&rdquo;2個(gè)按鍵進(jìn)行切換。
    本文以ARM芯片LPC2214為核心,設(shè)計(jì)了一款手持式測(cè)量?jī)x,具有較高的測(cè)量精度和非常優(yōu)越的實(shí)用價(jià)值。在設(shè)計(jì)中結(jié)合實(shí)際要求和器件性能,靈活設(shè)計(jì)了相應(yīng)的硬件電路和軟件程序,達(dá)到了實(shí)用目的。作為一款新型的輪參測(cè)量儀,本系統(tǒng)最大的意義在于采用合理的器件,以相對(duì)很低的成本達(dá)到了較高的精度,既可用于測(cè)量在線運(yùn)行列車(chē)車(chē)輪的磨損,還可以在生產(chǎn)線上對(duì)輪型尺寸進(jìn)行分選,同時(shí),可借鑒該系統(tǒng)的設(shè)計(jì)思想用于其他對(duì)體積、功耗、成本等要求較高的場(chǎng)合。
    此外,在開(kāi)發(fā)過(guò)程中,考慮到用戶(hù)的要求,可采用更高級(jí)別標(biāo)準(zhǔn)的器件,以適應(yīng)各種不同的環(huán)境。同時(shí),本系統(tǒng)的操作和顯示方式簡(jiǎn)潔,方便用戶(hù)使用,可廣泛應(yīng)用于各種相關(guān)的場(chǎng)合。
參考文獻(xiàn)
[1] 周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空 航天大學(xué)出版社,2005.
[2] 曹準(zhǔn),周文祥,張學(xué)川.基于手機(jī)的虛擬儀器技術(shù)研究[J].電子技術(shù)應(yīng)用,2007(9):91-95.
[3] 張昀超,周明濤,靳世久.液晶顯示模塊測(cè)試系統(tǒng)[J].電子測(cè)量技術(shù),2006,29(4):42-43.
[4] PHILIPS公司.LPC2114/2124/2212/2214 User Manual.2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。