2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)_第1頁
2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)_第2頁
2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)_第3頁
2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)_第4頁
2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2016年計算機技術(shù)與軟件《中級嵌入式系統(tǒng)設(shè)計師(下午卷)》試題(網(wǎng)友回憶版)[問答題]1.【說明】某公司承接了一個數(shù)據(jù)處理模塊(江南博哥)的項目,由沈工負(fù)責(zé)模塊的方案設(shè)計,沈工的設(shè)計方案如圖4-1所示。該數(shù)據(jù)處理模塊以PowerPC處理器為核心,設(shè)計了存儲器、以太網(wǎng)、溫度傳感器、調(diào)試接口等功能電路。處理器外接FLASH存儲器用于存儲上電初始化程序和應(yīng)用程序。處理器通過I2C接口連接測溫電路,監(jiān)控模塊的工作溫度。以太網(wǎng)、串口、調(diào)試離散量等用于軟件調(diào)試和狀態(tài)顯示。測溫電路選用ADT7461AR芯片,用于測試模塊溫度。ADT7461AR是一個雙通道數(shù)字溫度計,工作電壓3v至5v,具有低/超溫報警功能,采用I2C接口實現(xiàn)主機對遠(yuǎn)程/本地溫度數(shù)據(jù)的采集f采集數(shù)據(jù)存儲在高/低兩個數(shù)據(jù)寄存器中,每個寄存器為16位,高寄存器表示整數(shù)值,低寄存器表示小數(shù)值。存儲模塊采用某公司的FLASH存儲芯片。支持編程、擦除、復(fù)位等操作命令。該FLASH芯片的常用命令序列如表4-1所示。表中的地址和數(shù)據(jù)皆為16進(jìn)制數(shù)。問題:4.1ADT7461AR芯片支持兩種測溫模式,其中第0種模式為二進(jìn)制模式,用0表示0度,測溫范圍為0℃?+127℃;第二種模式為偏移二進(jìn)制模式,用64表示0度,測溫范圍為-55℃?+150℃,溫度數(shù)據(jù)轉(zhuǎn)換關(guān)系如表4-2所示。請在(1)?(4)處寫出對應(yīng)溫度的二進(jìn)制數(shù)。問題:4.2沈工用C語言實現(xiàn)對FLASH的操作,需按照表4-1中定義的命令序列順序執(zhí)行即可。仔細(xì)閱讀下列代碼,請在(1)?(4)處將對應(yīng)的C語言代碼補全。問題:4.3該嵌入式系統(tǒng)對處理的性能要求較高,沈工在完成軟件設(shè)計后,需要對每一個函數(shù)的執(zhí)行性能進(jìn)行測試,檢測其是否滿足系統(tǒng)設(shè)計的要求。沈工通過PowerPC處理器內(nèi)部的高精度時鐘寄存器(TimeBase)進(jìn)行計時,該寄存器由高低兩個32位的寄存器組成,根據(jù)總線頻率自動遞增,當(dāng)?shù)?2位寄存器遞增到0xFFFFFFFF時,向高32位寄存器進(jìn)位。計數(shù)值可以換算成時間值,精確到微秒級。在功能函數(shù)functkm1()的執(zhí)行體前后,進(jìn)行時間統(tǒng)計,最后計算出該函數(shù)的執(zhí)行時間值,請在(1)?(2)處將對應(yīng)的C語言代碼補全。參考答案:問題4.1、(1)0011011000000000(2)0000000001000000(3)0100000100000000(4)0011001000000000問題4.2、(1)0x2AA(2)0x80(3)offset_addr(4)0x30問題4.3、(1)tb1.lower-tb0.lower(2)0xFFFFFFFF-tb0.lower+tb1.lower+1參考解析:問題4.1、本題考查嵌入式系統(tǒng)中計算機模擬量表示、FLASH設(shè)備驅(qū)動、有精度計數(shù)器等方面的相關(guān)知識及應(yīng)用。計算機模擬量是指變量在一定范圍連續(xù)變化的量,也就是在一定范圍(定義域)內(nèi)可以取任意值(在值域內(nèi))。模擬量輸入是指輸入為連續(xù)變化的物理量。與之相對的是數(shù)字量,數(shù)字量是分立量,而不是連續(xù)變化量,只能取幾個分立值,如二進(jìn)制數(shù)字變量只能取兩個值。本題中采用的是ADT7461AR芯片,在工作時的電壓信號就屬于模擬信號,因為在任何情況下被測溫度都不可能發(fā)生突跳,所以測得的電壓信號無論在時間上還是在數(shù)量上都是連續(xù)的。而且,這個電壓信號在連續(xù)變化過程中的任何一個取值都是具體的物理意義,即表示一個相應(yīng)的溫度。芯片采集模擬量輸入信號,然后用二進(jìn)制表示出來,由設(shè)備驅(qū)動程序通過讀取芯片的寄存器,獲取溫度值。溫度值的精度取決于芯片寄存器的位數(shù),精度越高,位數(shù)越多,把這個模擬量表示的越細(xì),結(jié)果也就越精準(zhǔn)。由題干得知,該芯片的采集數(shù)據(jù)存儲在高/低兩個數(shù)據(jù)寄存器中,高寄存器表示整數(shù)值,低寄存器表示小數(shù)值。當(dāng)芯片工作在第一種模式(即二進(jìn)制模式時),由于測溫范圍為0℃至+127℃,則高8位寄存器從0到127,表示0℃~+127℃,而低8位寄存器表示小數(shù)值,每一位分別表示2-1℃、2-2℃、2-3℃、2-4℃、2-5℃、2-6℃、2-7℃、2-8℃,表示精度為2-8℃。所以+0.25℃高位為0,低位為01000000;+50℃高位為00110010,低位為0。當(dāng)芯片工作在第二種模式,即偏移二進(jìn)制模式時,用64表示0度。由于測溫范圍為-55℃~+150℃,則高8位寄存器從9(64-55)到214(64+150),表示-55℃~+150℃,而低8位寄存器表示小數(shù)值,表示含義和精度同第一種模式。所以-10℃高位為00110110,低位為0;+1℃高位為01000001,低位為0。問題4.2、本題中采用的FLASH芯片為NORFLASH,NORFLASH是很常見的一種存儲芯片,數(shù)據(jù)掉電不會丟失。NORFLASH支持ExecuteOnChip,即程序可以直接在FLASH片內(nèi)執(zhí)行(這意味著存儲在NORFLASH上的程序不需要復(fù)制到RAM:就可以直接運行)。因此,在嵌入式系統(tǒng)中,NORFLASH很適合作為啟動程序的存儲介質(zhì)。NORFLASH的讀取和RAM很類似(只要能夠提供數(shù)據(jù)的地址,數(shù)據(jù)總線就能夠正確的給出數(shù)據(jù)),但不可以直接進(jìn)行寫操作。對NORFLASH的寫操作需要遵循特定的命令序列,最終由芯片內(nèi)部的控制單元完成寫操作。FLASH一般都分為很多個SECTOR,每個SECTOR包括一定數(shù)量的存儲單元,對有些大容量的FLASH,還分為不同的BANK,每個BANK包括一定數(shù)目的SECTOR。FLASH的擦除操作一般都是以SECTOR、BANK或是整片F(xiàn)LASH為單位的。在對FLASH進(jìn)行寫操作的時候,每個位可以通過編程由1變?yōu)?,但不可以由0修改為1。為了保證寫操作的正確性,在執(zhí)行寫操作前,都要執(zhí)行擦除操作,擦除操作會把FLASH的一個SECTOR、一個BANK或是整片F(xiàn)LASH的值全修改為0xFF,這樣寫操作就可以正確完成了。Flash芯片一般都支持編程、擦除、復(fù)位等操作命令,命令序列可參考芯片廠家提供的用戶手冊。本項目中根據(jù)芯片手冊提供的常用命令序列表,可知SECTOR擦除操作共需要6個周期的總線寫操作完成,命令序列如下:將0xAA寫到FLASH芯片地址0x555;將0x55寫到FLASH芯片地址0x2AA;將0x80寫到FLASH芯片地址0x555;將0xAA寫到FLASH芯片地址0x555;將0x55寫到FLASH芯片地址0x2AA;將0x30寫到要擦除的SECTOR對應(yīng)的地址。問題4.3、PowerArchitecture的處理器提供了一個名為TimeBase(TB)的計數(shù)寄存器,它用來記錄系統(tǒng)時間。TB寄存器會以一種依賴于實現(xiàn)的總線頻率周期性地增加,這個頻率可能不是恒定的。操作系統(tǒng)(OS)要負(fù)責(zé)確定更新頻率是否發(fā)生了變化,以及對內(nèi)部結(jié)構(gòu)進(jìn)行必要的調(diào)整,從而將計數(shù)值換算為絕對時間值。一般TB寄存器的計時精度可以達(dá)到微妙級。本項目中用一個包含高低兩個32位整型數(shù)的結(jié)構(gòu)體來存儲TB寄存器的值。當(dāng)?shù)?2位寄存器發(fā)生溢出時,處理器會自動向高32寄存器加1。通過插樁的方式測量函數(shù)的執(zhí)行時間時,需要在功能函數(shù)fonction1()的執(zhí)行體前后,分別兩次獲取TB寄存器的值,最后計算兩次的差值,即為該函數(shù)的執(zhí)行時間值。本題中tb0為函數(shù)進(jìn)入時的TB值,tb1為函數(shù)退出前的TB值,tb2為tb1和tb0的差值,即函數(shù)的執(zhí)行時間。當(dāng)tb1的低32位大于等于tb0的低32位時,tb2的高位等于tb1的高位與tb0的高位的差值,tb2的低位等于tb1的低位與tb0的低位的差值。當(dāng)tb1的低32位小于tb0的低32位時,則需借用高位進(jìn)行計算。tb2的高位等于tb1高位與tb0高位的差值再減1,tb2的低位等干0xFFFFFFFF-tb0的低位+tb1的低位再加1。[問答題]2.【說明】【程序1】是關(guān)于條件編譯的一段程序示例;【程序2】是一段switch語句應(yīng)用示例。C語言要求switch之后圓括弧內(nèi)的“表達(dá)式”類型必須是整型或字符型。該程序代碼中a與x的對應(yīng)關(guān)系如表5-1所示。表5-1a與x對應(yīng)關(guān)系表【程序3】是冒泡排序算法的實現(xiàn)。假設(shè)有N個數(shù)據(jù)存放在數(shù)組aa中,用冒泡排序?qū)⑦@N個數(shù)從小到大排序。首先,在aa[0]到aa[N..1]的范圍內(nèi),依次比較兩個相鄰元素的值,若aa[j]>aa[j+1],則交換aa[j]與aa[j+1],j的值取0,1,2,…,N-2;經(jīng)過這樣一趟冒泡,就把這N個數(shù)中最大的數(shù)放到aa[N-1]中。接下來對aa[0]到aa[N-2]中的數(shù)再進(jìn)行一趟冒泡,這樣就將該范圍內(nèi)的最大值換到aa[N-2]中。依次進(jìn)行下去,最多只要進(jìn)行N-1趟冒泡,就可完成排序。如果在某趟冒泡過程中沒有交換相鄰的值,則說明排序已完成,可以提前結(jié)束處理。【C程序代碼1】【C程序代碼2】【C程序代碼3】問題:5.1(1)什么是c語言的條件編譯?(2)請解釋#ifndef的作用。(3)分析【C程序代碼1】,寫出該段執(zhí)行后的輸出結(jié)果。問題:5.2完成【C程序代碼2】中的(1)?(3)空,將答案寫到相應(yīng)的位置。問題:5.3完成【C程序代碼3】中的(4)?(6)空,將答案寫到相應(yīng)的位置。參考答案:問題5.1、(1)條件編譯:C語言中提供控制編譯器流程的語句?;駽源程序中希望對其中一部分內(nèi)容只是在滿足一定條件時才進(jìn)行編譯,形成目標(biāo)代碼,這種對一部分內(nèi)容指定編譯的條件稱為條件編譯。(2)#ifndef的作用:如果Wifndef后面的“宏名”未定義,則編譯其體內(nèi)的程序段;否則編譯#else部分的程序段,如果沒有#else部分,則當(dāng)“宏名”己定義時直接跳過#endif。(3)x=2問題5.2、(1)x=3(2)x=1(3)x=2問題5.3、(4)&aa[i](5)N-i-1(6)!swap或swap==0參考解析:問題5.1、本題考查C語言編程方面的基本知識。考查條件編譯的概念。C語言中提供控制編譯器流程的語句為條件編譯語句,在一般情況下,C源程序中所有的行都參加編譯過程,但有時出于對程序代碼優(yōu)化的考慮,希望對其中一部分內(nèi)容只是在滿足一定條件時才進(jìn)行編譯,形成目標(biāo)代碼,這種對一部分內(nèi)容指定編譯的條件稱為條件編譯。下面是關(guān)于#ifdef語句的使用規(guī)則:#ifdef宏名程序段1;#else程序段2;#endif或者#ifdef宏名程序段;#endif該語句的作用是,如果#ifdef后面的“宏名”在此前已用#define語句定義,則編譯“程序段1”或“程序段”;否則編譯“程序段2”。如果沒有#else部分,則當(dāng)“宏名”未定義時直接跳過#endif。下面是關(guān)于#ifndef語句的使用規(guī)則:#ifndef宏名程序段1;#else程序段2;#endif或者#ifndef宏名程序段;#endif#ifndef語句的功能與#ifdef語句的功能正好相反,如果#ifndef后面的“宏名”未定義,則編譯“程序段1”或“程序段”;否則編譯“程序段2”。如果沒有#else部分,則當(dāng)“宏名”已定義時直接跳過#endif。在【C程序代碼1】中,由于在執(zhí)行條件編譯語句時,x已定義,所以,執(zhí)行x=2;語句。最終程序執(zhí)行結(jié)果為:x=2。問題5.2、在C語言中,選擇結(jié)構(gòu)的作用是根據(jù)所給的條件是否滿足,決定從給定的兩個或多個分支中,選擇其中的一個分支來執(zhí)行。c語言中有兩種選擇結(jié)構(gòu)語句,if語句和swkch語句。使用if語句的嵌套結(jié)構(gòu)實現(xiàn)多分支選擇功能時,程序的結(jié)構(gòu)顯得不夠清晰。因此,C語言專門提供了switch語句。switch語句的一般形式如下:switch(表達(dá)式){Case常量表達(dá)式1;語句1;break;Case常量表達(dá)式2;語句2;break;……Case常量表達(dá)式n;語句n;break;Default:語句n+1;break;}在使用switch語句時有以下要求:1)、switch語句后面圓括號內(nèi)的“表達(dá)式”的值和case后面的“常量表達(dá)式”的值,都必須是整型或字符型的,不允許是實數(shù)。2)、在case后的各常量表達(dá)式的值不能相同,否則會出現(xiàn)錯誤。在本題中變量a是實數(shù),所以在switch語句要進(jìn)行轉(zhuǎn)換:Switch((int)a)。根據(jù)題意,a取整后的值為0、1、2時,0a[問答題]3.【說明】王工在采用某16位嵌入式CPU進(jìn)行A/D采集硬件電路設(shè)計時,利用8255控制器C口中的PC0輸出控制信號,利用PC7讀入AD574的狀態(tài)信號,利用A口和B口讀入AD574轉(zhuǎn)換好的12位數(shù)據(jù)。圖2-1為該A/D采集硬件系統(tǒng)設(shè)計的部分連接示意圖。其中,AD574各個管腳功能定義如表2-1所述。AD574的控制功能狀態(tài)表如表2-2所示。8255控制器各個管腳及地址控制描述如表2-3所示。問題:2.1在該嵌入式系統(tǒng)設(shè)計中,AD574是工作在12位轉(zhuǎn)換模式還是8位轉(zhuǎn)換模式?問題:2.2圖2-1中245為雙向緩沖器,在該硬件設(shè)計中配置8255控制字時,CPU需要向245進(jìn)行數(shù)據(jù)輸出(245的A口傳輸給B口);在獲取AD采集數(shù)據(jù)時CPU需要接收245所傳輸過來的數(shù)據(jù)(245的B口傳輸給A口)。根據(jù)硬件設(shè)計,描述DR分別為高、低電平時,245雙向緩沖器在A、B口之間進(jìn)行數(shù)據(jù)傳輸?shù)姆较颉栴}:2.3在該A/D變換中,如果用1/2LSB(最低有效位)來表示量化誤差,當(dāng)該A/D控制器的量程范圍為5V時,其量化誤差是多大?問題:2.4王工根據(jù)上述硬件設(shè)計,編寫對應(yīng)的數(shù)據(jù)采集程序,首先需要對8255進(jìn)行初始化,然后進(jìn)行數(shù)據(jù)采集,請根據(jù)注釋要求補全如下X86匯編程序。參考答案:問題2.1、12位問題2.2、DR=高電平時,A口傳向B口;DR=低電平時,B口傳向A口。問題2.3、5v/(4096*2)=0.61mv。問題2.4、(1)#C003H(2)#C002H(3)#00H(4)#01H(5)#80H(6)#C000H(7)#C001H(8)#0FH參考解析:問題2.1、本題考查嵌入式硬件系統(tǒng)設(shè)計和基本的匯編程序編寫知識。此類題目要求考生認(rèn)真閱讀題目,對題目中給出的原理圖、器件描述等內(nèi)容進(jìn)行理解,根據(jù)原理圖中所包含的硬件模塊和原理設(shè)計,進(jìn)行問題回答和程序補全。題目給出了主要器件的管腳功能描述和部分程序。在該嵌入式系統(tǒng)設(shè)計中,AD574是工作在12位轉(zhuǎn)換模式還是8位轉(zhuǎn)換模式依賴于AD574周邊的管腳電路設(shè)計。從題目中已經(jīng)給出的器件功能描述并結(jié)合原理圖進(jìn)行推斷。從題目給出的器件描述中可以看出,根據(jù)AD574的A0管腳確定12位/8位模式,從原理圖可以看出,A0接地,即低電平。結(jié)合AD574的功能描述,可以知道該系統(tǒng)設(shè)計中AD574工作在12位模式。問題2.2、圖2-1中245為雙向緩沖器,在該硬件設(shè)計中配置8255控制字時,CPU需要向245進(jìn)行數(shù)據(jù)輸出(245的A口傳輸給B口);在獲取AD采集數(shù)據(jù)時CPU需要接收245所傳輸過來的數(shù)據(jù)(245的B口傳輸給A口)。根據(jù)硬件設(shè)計圖可以看出,當(dāng)DR為高電平時,RD信號是無效的,也就是讀信號無效,即此時為寫信號有效。在寫信號有效情況下,數(shù)據(jù)傳輸方向是從處理器向8255方向進(jìn)行數(shù)據(jù)傳輸,即從A口傳輸給BP。反之如果RD為低電平時,此時RD信號有效,也就是讀信號有效,既需要從外部將數(shù)據(jù)讀入到CPU處理器中,即從8255進(jìn)行數(shù)據(jù)讀取,放到處理器中,所以方向應(yīng)該是從B口傳輸?shù)紸口。問題2.3、由于工作在12位,其范圍為4096個刻度。另外考慮到采用1/2LSB作為量化誤差,所以誤差大小即為:5v/(4096*2)=0.61mv。問題2.4、運行數(shù)據(jù)采集程序時,首先需要對8255進(jìn)行初始化,然后進(jìn)行數(shù)據(jù)采集。在該程序中,需要先進(jìn)行8255的工作模式配置,由原理圖和8255的工作模式可知,在該配置情況下,必須使得8255的A1A0=11,即工作在尋址控制器模式下,同時保證8255的片選有效,即必須使得A15=A14=1,A13=A12=All=…=A2=0才可以,所以此時需要給DPTR寄存器的地址為#C003H。在進(jìn)行數(shù)據(jù)采集過程中,需要先通過8255的C口進(jìn)行AD574的轉(zhuǎn)換控制,要對C口操作即需要A1A0=10,再考慮到片選的有效性,需要給DPTR的地址是#C002H。在進(jìn)行一次數(shù)據(jù)轉(zhuǎn)換時需要在PCO產(chǎn)生一個上升沿,所以要給C口輸出配置為#00H和#01H。當(dāng)從C口取出狀態(tài)字后,需要借助C口的最高位STS進(jìn)行轉(zhuǎn)換完畢的狀態(tài)判斷,因此取出數(shù)據(jù)存在A寄存器后,需要和#80H進(jìn)行與操作來判斷最高位的完成狀態(tài)。當(dāng)判斷有有效數(shù)據(jù)時候,需要分別從8255的A口和B口進(jìn)行數(shù)據(jù)的獲取,因此需要分別配置A口和B口的地址,依次為#C000H和#C001H。在進(jìn)行12位數(shù)據(jù)合并時,只需要通過與操作取出低4位數(shù)據(jù),和#OFH進(jìn)行與操作即可。[問答題]4.【說明】某嵌入式控制軟件中,通過采集傳感器數(shù)值來計算輸出控制率,同時為提高數(shù)據(jù)采集的可靠性,對采集數(shù)值使用三余度采集方法進(jìn)行三個通道的數(shù)據(jù)采集。1.三余度數(shù)據(jù)采集及處理要求:(1)如果某通道采集值在[-3.0,3.0]v正常范圍內(nèi),且與任一相鄰?fù)ǖ篱g差值不大于0.5v,則該通道數(shù)據(jù)滿足要求;(2)如果某通道釆集值超過[-3.0,3.0]v正常范圍,或者此通道采集值與其他兩個通道的差值均大無0.5v,則該通道數(shù)據(jù)不滿足要求;(3)如果三通道值均滿足要求,則取三通道中差值較小的兩通道數(shù)據(jù)乎均值;(4)如果三通道值均滿足要求,且相鄰兩數(shù)值的差值相等,則取三個采集值的中間值;(5)如果僅有一個通道數(shù)據(jù)不滿足釆集要求,取滿足要求的兩個通道數(shù)據(jù)平均值;(6)如果大于一個通道數(shù)據(jù)不滿足采集要求,取安全值0v。2.對計算輸出控制率的具體處理算法如下:(1)如果依據(jù)采集數(shù)據(jù)計算的控制率C1與目前實際控制率C0差值不大于0.01,則使用本周期計算控制率Cdft行輸出控制,否則使用目前實際控制率C0輸出控制,連續(xù)超過范圍計數(shù)加1,不上報傳感器故障;(2)如果連續(xù)3個周期計算的控制率C1與目前實際控制率C0差值大于0.01,則上報傳感器三級故障,連續(xù)超過范圍計數(shù)清零,使用目前實際控制率C0輸出控制;如果已經(jīng)連續(xù)3個周期控制率差值超過范圍,并已上報三級故障,但第4個周期計算的控制率C1與目前實際控制率C0差值不大于0.01,則清除三級故障上報,并使用C1進(jìn)行輸出控制;(3)如果累計大于等于10個周期計算的控制率C1與目前實際控制率C0,差值大于0.01,則上報傳感器二級故障,使用目前實際控制率C0輸出控制;(4)如果累計大于等于100個周期計算的控制率C1目前實際控制率C0,差值大于0.01,則上報傳感器一級故障,清除二級故障,并切斷輸出控制(輸出安全值0);(5)如果低級故障和高級故障同時發(fā)生,則按高級故障上報和處理。問題:3.1為了測試采集算法,在不考慮測量誤差的情況下,根據(jù)所設(shè)計測試用例的輸入填寫表3-1中的(1)?(6)空,預(yù)期輸出結(jié)果精度為小數(shù)點后保留兩位數(shù)字。問題:3.2白盒測試方法和黑盒測試方法是目前嵌入式軟件測試常用的方法。請簡述白盒測試方法與黑盒測試方法的概念。同時依據(jù)本題說明,指明問題1中設(shè)計的測試用例使用了白盒測試方法還是黑盒測試方法。問題:3.3為了測試控制率計算算法,在不考慮測量誤差的情況下,請完善所設(shè)計的測試用例,填寫表3-2中的空(1)?(6)。參考答案:問題3.1、(1)1.90v(2)1.55v(3)2.70v(4)-2.90v(5)0v(6)0v問題3.2、白盒測試也稱結(jié)構(gòu)測試、邏輯測試或基于程序的測試,這種測試應(yīng)了解程序的內(nèi)部構(gòu)造,并且根據(jù)內(nèi)部構(gòu)造設(shè)計測試用例。黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于需求規(guī)格說明的測試,這種測試不必了解被測對象的內(nèi)容情況,而依靠需求規(guī)格說明中的功能來設(shè)計測試用例。問題1中設(shè)計的測試用例使用了黑盒測試方法。問題3.3、(1)1.454(2)2(3)9到98都可以(4)二級故障(5)0(6)一級故障參考解析:問題3.1、為了測試三余度通道數(shù)據(jù)采集算法,就要依據(jù)題目說明三余度通道數(shù)據(jù)采集及處理要求中給定的6條設(shè)計要求,進(jìn)行測試用例的設(shè)計。首先依據(jù)第1條設(shè)計說明,采集值正常范圍為[-3.0,3.0]v,將輸入范圍進(jìn)行等價類劃分,劃分為無效等價類(超出正常范圍)和有效等價類(正常范圍),同時在有效等價類中,還存在“任意兩通道間差值不大于0.5v的約束。將設(shè)計測試用例的范圍整理出來后,就可按照軟件測試的要求設(shè)計測試用例。但是由于本題給出了采集值,只需要根據(jù)采集值計算輸出即可。對于序號1、序號2和序號3,因為三個采集值都是正常范圍,且任意兩通道間差值不大于0.5v,依據(jù)第3條和第4條設(shè)計說明,采集值應(yīng)為差值較小的兩通道數(shù)據(jù)的平均值或相鄰兩數(shù)值的差值相等,則取三個采集值的中間值。因為序號1數(shù)據(jù)差值都為0.0v,所以取三個通道采集值的中間值,故采集值為0.00;序號2取In_U[0]和In_U[2]的平均值,為1.90v;序號3取In_U[0]和In_U[1]的平均值,為1.55v。對于序號4,三個通道采集值是正常范圍,但I(xiàn)n_U[2]通道與In_U[0]和In_U[1]間差值大于0.5v,依據(jù)第2條和第5條設(shè)計說明,In_U[2]通道采集值不滿足要求,應(yīng)取滿足要求的In_U[0]和In_U[1]兩個通道數(shù)據(jù)的平均值,故采集值為2.70V。對于序號5,InJJ[1]通道采集值是超出正常范圍,In_U[0]和In_U[2]通道在正常范圍,這里要注意In_U[0]采集值為邊界點,依據(jù)第2條和第5條設(shè)計說明,In_U[1]通道采集值不滿足要求,應(yīng)取滿足要求的In_U[0]和In_U[2]兩個通道數(shù)據(jù)的平均值,故采集值為-2.90v。對于序號6,三個通道采集值是正常范圍,但每個通道采集值的任意兩兩差值均大于0.5v,依據(jù)第2條和第6條設(shè)計說明,應(yīng)取安全值0v,故采集值為0v。對于序號7,兩個通道采集值超出正常范圍,依據(jù)第2條和第6條設(shè)計說明應(yīng)取安全值0v,故采集值為0v。問題3.2、此題考查白盒測試方法和黑盒測試方法的概念及應(yīng)用。白盒測試也稱結(jié)構(gòu)測試、邏輯測試或基于程序的測試,需了解程序的內(nèi)部構(gòu)造,并且根據(jù)內(nèi)部構(gòu)造設(shè)計測試用例。黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于需求規(guī)格說明的測試,這種測試不必了解被測對象的內(nèi)容情況,而依靠需求規(guī)格說明中的功能來設(shè)計測試用例。由于白盒測試方法與黑盒測試方法的概念定義較多,此題中白盒測試概念中只需給出根據(jù)程序內(nèi)部構(gòu)造設(shè)計測試用例的關(guān)鍵詞即可,黑盒測試概念中只需給出依靠相應(yīng)文檔給出的功能設(shè)計測試用例即可。問題1中設(shè)計的測試用例時,只是根據(jù)設(shè)計算法,進(jìn)行功能方面的測試,不需要了解程序的內(nèi)部構(gòu)造,按照黑盒測試方法的概念,確定問題1使用了黑盒測試方法。問題3.3、為了測試控制率計算算法,就要依據(jù)題目說明對采集數(shù)值計算控制率的具體處理算法中給定的5條設(shè)計要求,進(jìn)行測試用例的設(shè)計。此題考查測試用例的設(shè)計,不僅包括輸入數(shù)據(jù)的設(shè)計,還包括前置條件C比如控制率超差連續(xù)計數(shù)和累計計數(shù))及預(yù)期輸出的設(shè)計(比如輸出控制率和上報故障情況),條件增多,比問題1難度增加。對于序號1,前置條件中控制率超差連續(xù)計數(shù)和累計計數(shù)都為0,計算控制率與實際控制率誤差不超過0.01,依據(jù)第1條設(shè)計說明,輸出控制率為計算控制率1.632,不上報故障。對于序號2,前置條件中控制率超差連續(xù)計數(shù)和累計計數(shù)都為0,計算控制率與實際控制率誤差超過0.01,依據(jù)第1條設(shè)計說明,輸出控制率為實際控制率1.454,不上報故障。對于序號3,前置條件中控制率超差累計計數(shù)為6,計算控制率與實際控制率誤差超過0.01,并且上報了三級故障,輸出控制率為實際控制率2.369,依據(jù)第2條設(shè)計說明,確定控制率超差連續(xù)計數(shù)預(yù)期值應(yīng)該為3,所以前置條件中的控制率超差連續(xù)計數(shù)只能為2。對于序號4,前置條件中控制率超差連續(xù)計數(shù)為1,計算控制率與實際控制率誤差超過0.01,并且上報了二級故障,輸出控制率為實際控制率1.557,依據(jù)第3條、第4條和第5條設(shè)計說明,確定控制率超差累計計數(shù)預(yù)期結(jié)果應(yīng)該為大于等于10且小于等于99的整數(shù),所以前置條件中的控制率超差累計計數(shù)為9至98區(qū)間中的任意整數(shù),即任意大于等于9且小于等于98的整數(shù)。對于序號5,前置條件中控制率超差連續(xù)計數(shù)為2并且累計計數(shù)為9,計算控制率與實際控制率誤差超過0.01,輸出控制率為實際控制率2.234,依據(jù)第3條和第5條設(shè)計說明,確定控制率超差累計計數(shù)預(yù)期結(jié)果應(yīng)該為10,所以應(yīng)該上報二級故障。對于序號6,前置條件中控制率超差連續(xù)計數(shù)為0并且累計計數(shù)為99,計算控制率與實際控制率誤差超過0.01,依據(jù)第4條和第5條設(shè)計說明,確定控制率超差累計計數(shù)預(yù)期應(yīng)為100,此時應(yīng)該上報傳感器一級故障,并清除二級故障,同時切斷輸出控制,即輸出安全值0,所以輸出控制率為0,上報一級故障。[問答題]5.【說明】某綜合化智能空氣凈化器設(shè)計以微處理器為核心,包含各種傳感器和控制器,具有檢測環(huán)境空氣參數(shù)(包含溫濕度、可燃?xì)怏w、細(xì)顆粒物等),空氣凈化、加濕、除濕、加熱和殺菌等功能,并能通過移動客戶端對其進(jìn)行遠(yuǎn)程控制。圖1-1為該系統(tǒng)電氣部分連接圖,除微處理器外,還包括了片上32KJBFLASH,以及SRAM和EEPROM。問題:1.1該系統(tǒng)的SRAM的地址線寬度為11,數(shù)據(jù)線寬度為8,其容量為多少字節(jié)?問題:1.2該系統(tǒng)分別設(shè)計了IOS和Android兩種不同操作系統(tǒng)下的客戶端程序,二者在開發(fā)上都使用MVC(模型(M)—視圖(V)—控制器(C))設(shè)計模式。在典型的程序設(shè)計中,用戶可以直接和視圖進(jìn)行交互,通過對事件的操作,可以觸發(fā)視圖的各種事件,再通過控制器,以達(dá)到更新模型或數(shù)據(jù)的目的。請完善圖1-2所示的流程模型。問題:1.3該系統(tǒng)采用數(shù)字式激光傳感器檢測PM2.5、PM10,并通過異步串行接口將數(shù)據(jù)上報給處理器,通信波特率為9600bps,上報周期為1.5秒,數(shù)據(jù)幀內(nèi)容包括:報文頭、指令號、數(shù)據(jù)(6字節(jié))、校驗和及報文尾,具體字段描述如表1-1所示。王工根據(jù)數(shù)據(jù)報文通信協(xié)議,使用C語言編寫了對應(yīng)的數(shù)據(jù)接收和校驗程序,請根據(jù)注釋要求補全程序。程序段如下:參考答案:問題1.1、211×8=2048B=2KB問題1.2、(1)控制器(2)視圖(3)模型問題1.3、(1)0xAA(2)0xC0(3)mPkt[i+2](4)mPkt[8](5)(uintl6_t)mPkt[2]|(uintl6_t)(mPkt[3]8)或其等價形式(6)(uintl6_t)mPkt[4]|(uintl6_t)(mPkt[5]8)或其等價形式參考解析:問題1.1、本題考查嵌入式系統(tǒng)設(shè)計的基本概念和代碼閱讀與編寫的能力。此類題目要求考生認(rèn)真閱讀題目所述嵌入式系統(tǒng)的結(jié)構(gòu),了解設(shè)計過程,根據(jù)要求仔細(xì)閱讀并理解代碼,根據(jù)代碼上下文填入所缺內(nèi)容。該微處理器系統(tǒng)擁有一塊11條地址線、8條數(shù)據(jù)線的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論