音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

一種LCU測(cè)試系統(tǒng)的設(shè)計(jì)

出處:劉 潔,陳特放,李比翼 發(fā)布于:2011-09-02 13:36:54

  隨著我國(guó)機(jī)車(chē)控制水平的不斷提高,微機(jī)控制已經(jīng)成為我國(guó)機(jī)車(chē)控制的重要控制方式,而邏輯控制單元LCU(Logic Control Unit)作為主要完成機(jī)車(chē)運(yùn)行邏輯控制、電路故障記錄控制等功能的控制模塊,是關(guān)系機(jī)車(chē)安全運(yùn)行的重要部件。

  ARM(Advanced RISC Machines)是微處理器行業(yè)的一家企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等。 ARM(Asynchronous Resbonse Mode)異步響應(yīng)方式異步響應(yīng)方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是,ARM下的傳輸過(guò)程由從站啟動(dòng)。從站主動(dòng)發(fā)送給主站的一個(gè)或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀。在這種操作方式下,由從站來(lái)控制超時(shí)和重發(fā)。該方式對(duì)采用輪詢方式的多站鏈路來(lái)說(shuō)是必不可少的。

  1 系統(tǒng)設(shè)計(jì)原理

  LCU檢測(cè)就是對(duì)LCU內(nèi)部運(yùn)行邏輯做出測(cè)試并進(jìn)行故障診斷。測(cè)試系統(tǒng)通過(guò)向被測(cè)試的LCU發(fā)出初始命令,并查看其輸出結(jié)果是否與參考輸出相同,從而判斷被測(cè)試的LCU邏輯是否正確。

  本文沿用傳統(tǒng)繼電器控制中的部分概念進(jìn)行軟件分析。傳統(tǒng)硬件繼電器觸點(diǎn)分為“常開(kāi)觸點(diǎn)”和“常閉觸點(diǎn)”兩類。一條線路的運(yùn)行結(jié)果會(huì)反映到另外一個(gè)線圈上,因此,繼電器控制的輸出可以用線圈表示。

  線路上的信號(hào)都可以采用二進(jìn)制表達(dá),所以測(cè)試的范圍會(huì)根據(jù)線路上觸點(diǎn)個(gè)數(shù)呈現(xiàn)指數(shù)增長(zhǎng)。對(duì)于要求不太嚴(yán)格的控制信號(hào),只要求在適當(dāng)?shù)臈l件下,得到開(kāi)通或閉合的結(jié)果,其動(dòng)作的條件為充分不必要條件。對(duì)于要求嚴(yán)格的控制信號(hào),不僅要求在確定的條件下得到應(yīng)有的結(jié)果,而且要保證這個(gè)條件是充分必要條件。因此,很大程度上測(cè)試可能會(huì)遍歷觸點(diǎn)的所有組合,測(cè)試的總體消耗時(shí)間就會(huì)擴(kuò)充到很大的時(shí)間范圍。

  可見(jiàn),測(cè)試情況的選擇十分重要。測(cè)試復(fù)雜性的主要矛盾在于:需要證明充分必要條件的線路的多少以及該線路的觸點(diǎn)的多少。工業(yè)標(biāo)準(zhǔn)反映在程序中的情況就是保留測(cè)試的選擇性,便于在后續(xù)工作中進(jìn)行選擇和修改。本系統(tǒng)的硬件框圖如圖1所示。

  2 嵌入式Linux操作系統(tǒng)移植

  Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開(kāi)放源代碼發(fā)展中著名的例子。嚴(yán)格來(lái)講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。Linux 操作系統(tǒng)是UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991 年的10 月5 日(這是次正式向外公布的時(shí)間)。以后借助于Internet 網(wǎng)絡(luò),并經(jīng)過(guò)全世界各地計(jì)算機(jī)愛(ài)好者的共同努力下,現(xiàn)已成為今天世界上使用多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長(zhǎng)。

  在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯。這個(gè)編譯過(guò)程就叫交叉編譯。簡(jiǎn)單地說(shuō),就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。這里需要注意的是所謂平臺(tái),實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。舉例來(lái)說(shuō),我們常說(shuō)的x86 Linux平臺(tái)實(shí)際上是Intel x86體系結(jié)構(gòu)和Linux for x86操作系統(tǒng)的統(tǒng)稱;而x86 WinNT平臺(tái)實(shí)際上是Intel x86體系結(jié)構(gòu)和Windows NT for x86操作系統(tǒng)的簡(jiǎn)稱。要進(jìn)行交叉編譯,我們需要在主機(jī)平臺(tái)上安裝對(duì)應(yīng)的交叉編譯工具鏈(cross compilation tool chain),然后用這個(gè)交叉編譯工具鏈編譯我們的源代碼,終生成可在目標(biāo)平臺(tái)上運(yùn)行的代碼。編譯順序如圖2所示。

  搭建ARM交叉編譯器的步驟:(1)編譯安裝binutils;(2)安裝linux 的頭文件;(3)編譯安裝gcc的c 編譯器;(4)編譯安裝 glibc;(5)編譯安裝gcc的c、c++編譯器。

  Boot-loader是RAM芯片的引導(dǎo)程序,它的作用是加載操作系統(tǒng)。兩個(gè)著名的開(kāi)源Boot-loader,其中一個(gè)是U-boot,它的形式就是一個(gè)代碼包,包中按照Linux一般的編程習(xí)慣和不同的目標(biāo)板,將相應(yīng)的匯編和C語(yǔ)言代碼羅列在對(duì)應(yīng)的文件夾下,讓開(kāi)發(fā)人員自行配置。

  修改U-boot的過(guò)程:(1)基本的硬件初始化;(2)跳轉(zhuǎn)到 Stage2 的 C 入口點(diǎn);(3)定義函數(shù)Nand_init;(4)跳轉(zhuǎn)到Kernel。

  Linux內(nèi)核就是一個(gè)可執(zhí)行的Linux操作系統(tǒng)的套件集合,簡(jiǎn)稱內(nèi)核[3]。套件的選擇,就是內(nèi)核的配置。內(nèi)核的配置表明了內(nèi)核的可調(diào)整性。根據(jù)Linux軟件的開(kāi)發(fā)規(guī)則,可到Linux內(nèi)核源碼包的路徑下,在終端使用配置命令進(jìn)行內(nèi)核配置。在配置內(nèi)核的時(shí)候,需要定義內(nèi)核啟動(dòng)的命令行。

  3 LCU檢測(cè)系統(tǒng)應(yīng)用程序

  3.1 軟件設(shè)計(jì)及其要素

  軟件的應(yīng)用設(shè)計(jì),就是確定軟件的各個(gè)部分及各部分之間的相互關(guān)系,信息在其中發(fā)送、傳遞和接收,以及部分運(yùn)動(dòng)發(fā)展的走向和趨勢(shì),終得到可以預(yù)見(jiàn)的結(jié)果。

  面向?qū)ο蟮能浖_(kāi)發(fā),從不同的對(duì)待問(wèn)題的層次出發(fā)能得到不同問(wèn)題的解決方案。其基本工作流程如圖3所示。

  3.2 定義基本的類和對(duì)象及人機(jī)界面的設(shè)計(jì)

  在需求分析的說(shuō)明中,常出現(xiàn)的三個(gè)名詞分別是觸點(diǎn)、測(cè)試和線圈。每個(gè)測(cè)試包含了不同的線圈,每個(gè)線圈又分別由觸點(diǎn)組成。所以,觸點(diǎn)、線圈和測(cè)試能夠分別抽象出來(lái)做成單獨(dú)的類。觸點(diǎn)必須有ID、常開(kāi)/常閉的類型和運(yùn)行中處于的值都應(yīng)該在屬性中出現(xiàn)。

  首先設(shè)計(jì)用二維數(shù)組來(lái)模擬測(cè)試與觸點(diǎn)的關(guān)系。假設(shè)數(shù)組的橫向和縱向表示分別為測(cè)試和觸點(diǎn),則某個(gè)線圈的設(shè)計(jì)如圖4所示。

  對(duì)照實(shí)際情況,可以使用二維數(shù)組進(jìn)行描述。觸點(diǎn)的加入和刪除就是列的插入和刪除運(yùn)算,測(cè)試的加入和刪除就是行的插入和刪除運(yùn)算。對(duì)某線圈的實(shí)驗(yàn)就是把每行遍歷一遍,結(jié)果對(duì)照預(yù)計(jì)值進(jìn)行邏輯判斷。

  直觀上看,重疊配置的線圈就像是檢查手冊(cè)的一封封頁(yè)面,測(cè)試整個(gè)系統(tǒng)的方法就是翻弄這本“書(shū)”,從頭至尾把所有的線圈遍歷一遍。

  3.3 序列化存儲(chǔ)類serial和鏈表類

  如果延續(xù)這樣的思路,則關(guān)于數(shù)組的操作會(huì)產(chǎn)生新的問(wèn)題:C語(yǔ)言中定義數(shù)組必須先確定數(shù)組的大小才能分配合適的內(nèi)存。

  由于文件是測(cè)試系統(tǒng)內(nèi)部調(diào)用的接口,應(yīng)該先沿著采用文件來(lái)登記測(cè)試項(xiàng)目的結(jié)論進(jìn)行分析。采用序列化技術(shù)能夠簡(jiǎn)單而方便地實(shí)現(xiàn)文件存儲(chǔ)。序列化是指將對(duì)象實(shí)例的狀態(tài)存儲(chǔ)到可持久保持信息的物理設(shè)備的過(guò)程,其特點(diǎn)就是線性存儲(chǔ)。序列化技術(shù)實(shí)現(xiàn)了文件的存儲(chǔ),同時(shí)它也給出了一種思路:把所有一切都統(tǒng)一對(duì)待,變成一根主線。如圖6所示。

  但序列化只提供鏈型的存儲(chǔ)形式,只能用一維的鏈表模擬二維數(shù)組,因?yàn)椴恢蓝S鏈表的指針應(yīng)該如何安排。

  決定采用鏈?zhǔn)铰?lián)系的方法:用指針來(lái)實(shí)現(xiàn)連接。但是指針的傳遞跨越了類,因此有必要把鏈?zhǔn)浇Y(jié)構(gòu)直接抽象成類,產(chǎn)生定義觸點(diǎn)鏈表類、測(cè)試鏈表類和線圈鏈表類,并將它們抽象出一個(gè)基本的鏈表類,實(shí)現(xiàn)鏈表基本的操作,再?gòu)乃缮錾鲜鋈齻€(gè)鏈表類。

  3.4 計(jì)算預(yù)計(jì)值

  測(cè)試隨意地更改其所包含的觸點(diǎn),隨之變動(dòng)的是測(cè)試的預(yù)計(jì)值。這可以采取人工輸入來(lái)實(shí)現(xiàn),但是如果用表達(dá)式字符串來(lái)表達(dá)測(cè)試的邏輯計(jì)算,可以通過(guò)字符替換的方法讓機(jī)器來(lái)實(shí)現(xiàn)。

  表達(dá)式字符串中間必須有觸點(diǎn)的ID名字,常閉觸點(diǎn)的名字前加“~”,測(cè)試線路的“與”邏輯用字符“*”來(lái)表示,或邏輯用字符“|”來(lái)表示(也可以選擇其他的計(jì)算字符),用括號(hào)表示優(yōu)先的線路邏輯,空格是人性化的適應(yīng)性定義。

  計(jì)算預(yù)計(jì)值的算法如下:

 ?。?) 輸入目標(biāo)字符串。

 ?。?) 首先去空格。

 ?。?) 用觸點(diǎn)的狀態(tài)值替換觸點(diǎn)ID,如果是FALSE,替換成F,如果是TRUE,替換成T。

 ?。?) 開(kāi)始循環(huán): F*F 替換成F

  F*T 替換成F

  T*F 替換成F

  T*T 替換成T

  F|F 替換成F

  F|T 替換成T

  T|F 替換成T

  T|T 替換成T

 ?。═) 替換成T

 ?。‵) 替換成F

  測(cè)量字符串長(zhǎng)度,如果和上次相比變小,則重新開(kāi)始循環(huán);如果沒(méi)有變化,則跳出循環(huán)進(jìn)行下一步。

 ?。?) 判斷:如果字符串==T,則說(shuō)明預(yù)計(jì)值是TRUE;如果字符串==F,則說(shuō)明預(yù)計(jì)值是FALSE;如果字符串是其他值,說(shuō)明輸入的表達(dá)式有誤,提示重新確定表達(dá)式。

  3.5 數(shù)據(jù)壓縮

  根據(jù)設(shè)計(jì),直觀上可以定義觸點(diǎn)為一個(gè)這樣的類:內(nèi)容包括一個(gè)BOOL變量和一個(gè)指針。BOOL變量表示觸點(diǎn)的狀態(tài)值,指針指向下一個(gè)觸點(diǎn)的位置。但是這樣做會(huì)導(dǎo)致文件過(guò)于龐大,所以要進(jìn)行數(shù)據(jù)的壓縮。

  BOOL變量以位置0或置1來(lái)表明FALSE或TRUE的狀態(tài),但BOOL變量前面所有的位都沒(méi)有利用上。因此,可以把BOOL變量前面所有的位都用來(lái)表示觸點(diǎn)的狀態(tài),這就是壓縮的基本思想。

  壓縮效率分析:因?yàn)椴紶栔低ǔ6x為8位長(zhǎng)度,現(xiàn)在只用1位來(lái)表示,所以壓縮的極限值應(yīng)該可以達(dá)到8倍。這樣的壓縮比率下能夠有效地節(jié)約測(cè)試資料的存儲(chǔ)大小。

  3.6 數(shù)據(jù)存儲(chǔ)方式考查

  必須考慮數(shù)據(jù)的存儲(chǔ)方式,不同的存儲(chǔ)方式直接影響了位的操作。因此,在執(zhí)行位操作之前一定要明確存儲(chǔ)方式,小頭(Little-endian)模式對(duì)數(shù)據(jù)的存放方式是從低字節(jié)到高字節(jié),而大頭(Big-endian)模式對(duì)數(shù)據(jù)的存放方式是從高字節(jié)到低字節(jié)。

  聯(lián)合體(union)的存放順序是所有成員都從低地址開(kāi)始存放,整數(shù)定義通常占用4字節(jié)32位,char定義通常只占用1字節(jié)8位。一般認(rèn)為,大頭模式的表達(dá)方式更符合生活中的數(shù)學(xué)思維習(xí)慣,所以不妨在小頭模式的平臺(tái)上做轉(zhuǎn)換工作,把表達(dá)方式換算成大頭模式。定義一個(gè)SWAP轉(zhuǎn)換工作宏,由它把對(duì)應(yīng)字節(jié)調(diào)換位置(與互調(diào),中間兩個(gè)互調(diào))從而得到不同的模式。

  本系統(tǒng)是基于Linux操作系統(tǒng)開(kāi)發(fā)的通用LCU檢測(cè)軟件,具有通用性、便攜性和靈活性的特點(diǎn)。采用Linux操作系統(tǒng)平臺(tái),能夠進(jìn)一步降低成本。ARM嵌入式系統(tǒng)本身對(duì)于軟件和數(shù)據(jù)信息具有良好的保密措施,適合保存商業(yè)信息。本系統(tǒng)還采用了測(cè)試項(xiàng)目與程序分離的軟件模塊設(shè)計(jì)方案,使測(cè)試的種類大大增加,不管是同一種車(chē)型的測(cè)試項(xiàng)目變更,還是其他車(chē)型的測(cè)試,或者是更廣泛的一般性LCU系統(tǒng)的測(cè)試。


  
關(guān)鍵詞:測(cè)試

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!