《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種新型嵌入式輪參測量儀設(shè)計
一種新型嵌入式輪參測量儀設(shè)計
來源:電子技術(shù)應(yīng)用2010年第6期
蘇 磊,張登福
空軍工程大學(xué) 工程學(xué)院航空電子工程系,陜西 西安710038
摘要: 針對傳統(tǒng)測量儀體積大、成本高、精度難以保證等缺點,基于ARM芯片LPC2214設(shè)計了一款手持式的輪參測量儀,具有體積小、精度高、功耗低、容量大等優(yōu)點。設(shè)計中結(jié)合實際情況和要求,采用靈活有效的設(shè)計方法,在充分利用現(xiàn)有資源的基礎(chǔ)上,設(shè)計了符合要求的實際電路和相關(guān)程序,具有很高的經(jīng)濟價值和參考價值。
中圖分類號: TP216
文獻標(biāo)識碼: 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

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

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

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

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

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

    SST25VF016B的操作包括擦除和讀寫等,由于對速度的要求不嚴(yán)格,所以在設(shè)計中采用GPIO口模擬SPI接口。發(fā)送和接收數(shù)據(jù)的2個子程序如下:
/*******************************************
* 名稱:Send_Byte()
* 功能:模擬SPI向SST25發(fā)送數(shù)據(jù),在SCK的
*         上升沿發(fā)送1 bit的數(shù)據(jù),共發(fā)送8個
*******************************************/
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
    }
}

/*******************************************
* 名稱:Get_Byte()
* 功能:模擬SPI接收數(shù)據(jù),在SCK的下降沿接收
*         1 bit的數(shù)據(jù),共接收8個
*******************************************/
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);
}
    在對外部FLASH存儲空間的分配中,前80 KB用來存儲20組設(shè)定的參數(shù),用輪型編號進行索引,每組占4 KB;剩下的空間用來存儲測量數(shù)據(jù),每組測量數(shù)據(jù)分配40 B,用存儲在實時時鐘報警寄存器內(nèi)的測量次數(shù)進行索引,理論可存儲50 380組,可滿足長時間使用的需要。另外,在設(shè)置和測量的數(shù)據(jù)中,有一部分參數(shù)是小數(shù),可將其轉(zhuǎn)化為整數(shù)后存儲,讀取時再轉(zhuǎn)化為小數(shù)即可。外部存儲器的讀寫流程如圖4所示。

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