![[語言類考試復習資料大全]中級嵌入式系統設計師2019下半年下午試題_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/bf0bdc47-a1da-42c4-820d-5f15deb277f3/bf0bdc47-a1da-42c4-820d-5f15deb277f31.gif)
![[語言類考試復習資料大全]中級嵌入式系統設計師2019下半年下午試題_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/bf0bdc47-a1da-42c4-820d-5f15deb277f3/bf0bdc47-a1da-42c4-820d-5f15deb277f32.gif)
![[語言類考試復習資料大全]中級嵌入式系統設計師2019下半年下午試題_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/bf0bdc47-a1da-42c4-820d-5f15deb277f3/bf0bdc47-a1da-42c4-820d-5f15deb277f33.gif)
![[語言類考試復習資料大全]中級嵌入式系統設計師2019下半年下午試題_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/bf0bdc47-a1da-42c4-820d-5f15deb277f3/bf0bdc47-a1da-42c4-820d-5f15deb277f34.gif)
![[語言類考試復習資料大全]中級嵌入式系統設計師2019下半年下午試題_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/bf0bdc47-a1da-42c4-820d-5f15deb277f3/bf0bdc47-a1da-42c4-820d-5f15deb277f35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、書山有路勤為徑,學海無涯苦作舟。祝愿天下莘莘學子:學業有成,金榜題名!語言類考試復習資料大全中級嵌入式系統設計師2019下半年下午試題中級嵌入式系統設計師2019下半年下午試題試題一閱讀下列說明和圖,回答問題1至問題3。 【說明】 服務型智能掃地機器人因其低廉的價格和高效的工作能力,越來越受到消費者的認可,目前己逐漸進入家庭生活代替人們的清潔工作,具有廣闊的市場。 服務型智能掃地機器人需要具有自主運動規劃和導航功能,在其工作過程中,需要通過對環境信息的融合感知進行行為決策。掃地機器人一般具備的主要功能包括: (1)緊急狀態感知:包括碰撞檢測、跌落檢測和離地檢測等功能,防止與障礙物碰撞、前方臺階
2、跌落危險以及掃地機器人離地等,實現掃地機器人運動中的自我保護。 (2)姿態感知:包括運動里程計數和航向測量等功能,需要獲取掃地機器人的運動速度、行走距離、航向角度等信息。 (3)視覺感知:包括單目視覺避障系統和單目視覺定位系統等,需要通過視覺信息探測障礙物,視覺信息來自兩個單目攝像頭系統。在某些設計中,也可結合紅外測距傳感器進行障礙物探測。 (4)自動充電:在工作過程中,需要實時監控掃地機器人的電量,且在電量少于一定閾值時自動返回電源處進行充電。 (5)掃地及吸塵單元:使用電機控制刷子實現清掃,使用抽灰電機實現吸塵。 (6)運動執行:對機器人的運動進行控制。 (7)監控系統:通過無線網絡傳遞掃
3、地機器人的狀態數據及視頻圖像等信息到遠程客戶端,客戶端參與到掃地機器人的運動監視及控制中,實現信息交互,監控掃地機器人的實時狀態。客戶端包括PC客戶端和手機客戶端兩種。 (8)信息處理中心:用于接收各種傳感器信息和視覺信息,通過分析處理進行掃地機器人的運動控制,且負責和后臺監控中心通信。 服務型智能掃地機器人選用ARM+STM32雙核架構模式,分別處理數據量較大的圖像信息和短促型的非圖像信息。STM32選用STM32F103VET6芯片,用于實現非圖像以外的眾多傳感器的驅動以及數據采集,并控制車輪電機的運動;ARM選用S5PV210處理器實現攝像頭圖片的采集、在監控系統中接入無線網絡、對STM
4、32串口傳過來的傳感器數據以及圖像定位和避障信息做綜合處理,生成運動決策,發送給STM32,執行掃地機的前進、后退、轉彎等。 1. 【問題1】 圖1是本題的服務型智能掃地機器人典型的功能結構圖,請根據說明的描述,填寫(1)(5)空白處,完成該功能結構圖。 圖1 掃地機器人典型的功能結構圖 答案:(1)緊急狀態感知 (2)跌落檢測 (3)航向測量 (4)單目視覺避障系統 (5)掃地及吸塵單元考點 本題考查嵌入式系統設計的相關知識,以及對嵌入式系統分析、設計和開發的綜合能力。服務型智能掃地機器人是一個典型的嵌入式系統。 解析 根據題干說明,服務型智能掃地機器人需要具有自主運動規劃和導航功能,在其工
5、作過程中,需要通過對環境信息的融合感知進行行為決策。掃地機器人一般具備的主要功能包括:緊急狀態感知、姿態感知、視覺感知、自動充電、掃地及吸塵單元、運動執行、監控系統、信息處理中心等。 緊急狀態感知包括碰撞檢測、跌落檢測和離地檢測等功能。所以空(1)為緊急狀態感知,空(2)為跌落檢測。 狀態感知包括運動里程計數和航向測量等功能。所以,空(3)為航向測量。 視覺感知包括單目視覺避障系統和單目視覺定位系統等。所以,空(4)為單目視覺避障系統。 根據題意,掃地及吸塵單元使用電機控制刷子實現清掃,使用抽灰電機實現吸塵。其他功能都在掃地機器人的功能結構中。所以,空(5)為掃地及吸塵單元。 2. 【問題2】
6、 為了實現服務型智能掃地機器人的功能,就需要多種傳感器來感知工作環境信息。王工在對傳感器進行選型時,選擇了如下類型的傳感器: 1USB攝像頭; 2開關式傳感器; 3槽型光耦模塊; 4數字式防跌落傳感器; 5紅外測距傳感器; 6GGPM01A單軸角度陀螺儀(傳感器); 7霍爾碼盤傳感器。 請根據傳感器的功能完成表1。 表1 選用的環境感知傳感器 序號 傳感器類別 功能 參數 1 (1) 用于障礙物規避 輸出模擬電壓量 2 (2) 平臺防跌落 輸出數字量 3 (3) 車身離地檢測 輸出數字量 4 (4) 碰撞檢測 輸出數字量 5 (5) 檢測航向角度 檢測角度180 6 (6) 測速和計里程 脈沖
7、輸出 7 USB攝像頭 采集環境圖像信息 YUV和MJPG格式 答案:(1)紅外測距傳感器 (2)數字式防跌落傳感器 (3)開關式傳感器 (4)槽型光耦模塊 (5)GGPM01A單軸角度陀螺儀 (6)霍爾碼盤傳感器 或給出編號: (1)5 (2)4 (3)2 (4)3 (5)6 (6)7考點 本題考查嵌入式系統設計的相關知識,以及對嵌入式系統分析、設計和開發的綜合能力。服務型智能掃地機器人是一個典型的嵌入式系統。 解析 各傳感器的功能如下: USB攝像頭:用于采集環境的圖像信息,該掃地機器人選用JD-2020攝像頭,輸出格式為YUYV和MJPG,每秒30幀。 開關式傳感器:用于車身離地檢測,當
8、車輪離地時,開關閉合,輸出高電平,未碰撞斷開時輸出低電平。 槽型光耦模塊:用于碰撞檢測,當觸碰發生時,與防撞欄聯動的擋板會遮擋紅外光束,接收端直接收到少量的紅外光束,輸出高電平,反之輸出低電平。 數字式防跌落傳感器:用于平臺防跌落,該傳感器紅外發射頭發出紅外光線,經過地面反射進入到接收端,當反射光束地面位置距離較遠(臺階)或者光路被擋住,接收端接收不到足夠的光束,就輸出高電平,反之輸出低電平。 紅外測距傳感器:為了感知周圍障礙物的信息,保證安全距離,防止移動機器人撞擊損壞,就需要在機器人兩側安裝紅外測距傳感器檢測障礙物,左右兩側紅外測距結合單目攝像頭實現避障。 GGPM01A單軸角度陀螺儀(傳
9、感器):用于檢測航向角度,GGPM01A數字陀螺儀導航模塊,通過內置的處理器結合高性能濾波算法輸出精確的角速度及偏航角度。 霍爾碼盤傳感器:用于測速和計里程,霍爾碼盤安裝在緊鄰電機的位置,電機由PWM信號驅動,流過電機的電流信號為脈動電流信號,在電機轉動時,對緊鄰的外部電路會產生干擾噪聲且噪聲頻率與PWM頻率一致。 3. 【問題3】 由于該服務型智能掃地機器人的硬件采用雙處理器架構,即ARM+STM32雙核架構模式,選用串口方式在處理器之間傳遞數據,如圖2所示。假設在本串行傳輸中的數據格式為:8位數據位、1位起始位、1位停止位,無校驗位。(1)當波特率為9600b/s時,每秒鐘傳送的有效數據是
10、多少字節?(2)為保證數據收發正確(每個字節數據傳輸中的累計誤差不大于1/4bit),試分析發送方和接收方時鐘允許的誤差范圍,并以百分比形式給出最大誤差。 圖2 掃地機器人的ARM與STM32的通信關系 答案:(1)960字節。 (2)數據位8位、起始位1位、停止位1位,無校驗位,累積的最大誤差為(8+1+1),該值應小于1/4位,即(8+1+1)1/4,所以最大誤差為2.5%。考點 本題考查嵌入式系統設計的相關知識,以及對嵌入式系統分析、設計和開發的綜合能力。服務型智能掃地機器人是一個典型的嵌入式系統。 解析 每秒鐘傳送的有效數據:9600/(1+8+1)=960字節。 分析發送方和接收方時
11、鐘允許的最大誤差: 在啟動位同步后,數據位8位、起始位1位、停止位1位,無校驗位,累積的最大誤差為(8+1+1),該值應小于1/4位,即(8+1+1)1/4,所以最大誤差為2.5%。 試題二閱讀下列說明和圖,回答問題1至問題4。 【說明】 在服務型智能掃地機器人的系統設計中,李工設計的掃地機器人硬件系統接口如圖1所示,其中STM32單片機負責進行各個傳感器的數據采集,包括利用GPIO進行各種傳感器數據的獲取、利用ADC進行紅外測距儀數據的獲取、利用IIC進行陀螺儀(角度)傳感器數據的獲取,通過串口將數據發送給主處理器S5PV210,并利用脈沖計數進行掃地機器人運動速度、距離等信息的獲取。主處理
12、器S5PV210通過USB接口采集實時視頻,利用PWM進行云臺控制,同時利用USB接口通過WIFI和后臺主機實現信息交互。 圖1 掃地機器人硬件系統接口示意圖 STM32單片機有BOOT1和BOOT0兩個啟動方式選擇管腳,包括三種不同的啟動方式,如表1所示。 表1 STM32單片機啟動方式說明 BOOT啟動方式的 管腳控制 BOOT模式 附加說明 BOOT1 BOOT0 X 0 主Flash啟動 主Flash啟動模式 0 1 系統存儲啟動 ISP啟動方式,可以通過串口或者SPI接口實現燒寫 1 1 SRAM啟動 調試使用的RAM方式 李工在STM32單片機的啟動電路設計時,采用跳線帽形式進行啟
13、動方式選擇,對應電路如圖2所示。 圖2 STM32啟動電路示意圖 李工在利用ADC進行紅外測距儀數據的采集設計中,采用STM32內置的12bit逐次比較型ADC,參考電壓Vref為3.3V,ADC的采集數字輸出為: 為獲取掃地機器人在移動過程中的距離、速度等信息,李工將霍爾傳感器模塊分別安裝在左右車輪驅動電機的軸上,通過兩個計數器采集左右驅動電機軸上的霍爾傳感器脈沖數,以此來計算獲取掃地機器人的移動距離、旋轉角度等信息。圖3為掃地機器人的圓形機身和左右兩輪的示意圖。 圖3 掃地機器人的圓形機身和左右兩輪的示意圖 己知左右車輪轉動一圈時,霍爾傳感器輸出564個脈沖(表示為n0),那么計數器采集到
14、的脈沖數和左右輪的移動距離關系可以表示為(R為車輪距中心半徑,r為左右輪的半徑,nx為當前計數器從開始到現在采集到的脈沖數): 1. 【問題1】 如果STM32的選擇從主Flash啟動,那么圖2中的跳線帽應該連接管腳1和管腳2還是管腳2和管腳3? 答案:管腳1和管腳2考點 本題考查嵌入式系統硬件設計的基礎知識和相關的流程。 解析 此類題目要求考生認真閱讀題目的題干,以及問題中的流程化說明和表信息,經過分析、對比、計算、歸納等回答各個問題。 如果STM32的選擇從主Flash啟動,從表1 STM32單片機啟動方式說明中可以很容易看出,BOOT0必須是0,BOOT1任意即可,對比圖2中的連接,要使
15、得BOOT0滿足要求,必須將管腳1和管腳2通過跳線帽連接起來。 2. 【問題2】 當紅外測距儀數據模擬電壓Vin為2.4V時,ADC的輸出值是多少?(用十進制數表示) 答案:2978考點 本題考查嵌入式系統硬件設計的基礎知識和相關的流程。 解析 當紅外測距儀數據模擬電壓Vin為2.4V時,ADC的輸出值是多少?該問題只需要根據題目中給出的公式: 在參考電壓為3.3V時,帶入計算即可,需要注意的是按照題目要求要給出十進制的結果。 3. 【問題3】 假設掃地機器人的車輪距中心半徑R=30cm,左右輪的半徑r=5cm。當左輪PWM脈沖計數數目為2256時,左輪從脈沖計數開始到現在,移動的距離是多少厘
16、米?(取3.14) 答案:6厘米考點 本題考查嵌入式系統硬件設計的基礎知識和相關的流程。 解析 假設掃地機器人的車輪距中心半徑R=30cm,左右輪的半徑r=5cm。當左輪PWM脈沖計數數目為2256時,左輪從脈沖計數開始到現在,移動的距離是多少厘米?其中已經說明取3.14。該題目也只需要使用題目中給出的公式進行計算即可: 其中,半徑r=5cm,結合題目中給出的霍爾傳感器輸出564個脈沖(表示為n0),此時nx為2256,只需要帶入公式即可得到需要的距離數值。 4. 【問題4】 李工在掃地機器人設計中加入了陀螺儀模塊,通過陀螺儀可以獲取不同時刻之間的偏轉角,進而與霍爾傳感器相融合,使得運動控制器
17、能夠直接快速得到系統當前的偏轉角。陀螺儀和STM32之間通過IIC接口進行數據通信,陀螺儀和STM32之間還有一個信號線(STM32的GPIO9)和陀螺儀芯片復位線(STM32的GPIO8,低電平為復位,高電平為非復位)。 在STM32通過IIC接口獲取陀螺儀數據前,需要先對陀螺儀復位并查詢信號線的有效性(GPIO9高為有效,低為無效),有效時再通過IIC接口讀取陀螺儀的數據。李工設計了通過IIC接口獲取陀螺儀數據的流程圖(圖4),請選擇合適的項進行補全。 圖4 IIC接口獲取陀螺儀數據的流程圖 圖4中(1)(4)備選答案: AGPIO9和GPIO8都設置為輸入 BGPIO9和GPIO8都設置
18、為輸出 CGPIO9設置為輸入,GPIO8設置為輸出 DGPIO9設置為輸出,GPIO8設置為輸入 EGPIO9設置為高,持續一段時間,GPIO9設置為低 FGPIO9設置為低,持續一段時間,GPIO9設置為高 GGPIO8設置為低,持續一段時間,GPIO8設置為高 HGPIO8設置為高,持續一段時間,GPIO8設置為低 IGPIO9為高電平? JGPIO9為低電平? KGPIO8為高電平? LGPIO8為低電平? M通過IIC讀取數據 N通過IIC寫入數據 答案:(1)C (2)G (3)I (4)M考點 本題考查嵌入式系統硬件設計的基礎知識和相關的流程。 解析 本問題需要仔細分析題目中給出
19、的兩部分流程說明: 1陀螺儀和STM32之間還有一個信號線(STM32的GPIO9)和陀螺儀芯片復位線(STM32的GPIO8,低電平為復位,高電平為非復位)。 2在STM32通過IIC接口獲取陀螺儀數據前,需要先對陀螺儀復位并查詢信號線的有效性(GPIO9高為有效,低為無效),有效時再通過IIC接口讀取陀螺儀的數據。 按照題目中給出的流程說明,在對應流程圖中只要選擇對應的GPIO管腳的配置或者檢查即可。 試題三閱讀下列說明,回答問題1至問題3。 【說明】 在服務型智能掃地機器人的軟件設計中,為了更好地記錄機器人的個體信息和工作信息,設計了信息數據庫。數據庫主要完成收集服務型智能掃地機器人反饋
20、信息的作用,記錄機器人的所有工作記錄,方便了使用者對機器人的管理及對機器人狀態的掌握,并且在機器人發生運行故障時,可以根據數據庫存儲的信息分析產生故障的原因。數據庫收集服務型智能掃地機器人反饋信息的流程如下: 服務端接收反饋信息: 1第一次解析判斷反饋信息類型是否正確。如果正確繼續執行2,否則執行3。 2第二次解析判斷反饋信息內容是否正確。如果正確執行4,否則執行3。 3調用錯誤信息處理函數后執行4。 4將反饋信息存入數據庫。 1. 【問題1】 在本軟件測試過程中,測試人員為了設計測試用例,根據題目中的說明,畫出了機器人反饋信息收集軟件的流程圖,如圖1所示。 圖1 機器人反饋信息收集軟件流程圖
21、 請在下列選項中,為圖1中的(1)(3)選擇正確的描述內容。 空(1)備選答案: A反饋格式是否正確 B反饋長度是否正確 C反饋類型是否正確 D反饋內容是否正確 空(2)備選答案: A標記錯誤信息 B錯誤信息處理 C錯誤信息糾正 D錯誤信息報告 空(3)備選答案: A信息存入內存 B信息存入文件 C信息存入數據庫 D信息存入軟件 答案:(1)D (2)B (3)C考點 本問題主要考查考生理解軟件需求信息的能力,能依據軟件需求信息畫出軟件流程。 解析 在嵌入式軟件測試過程中,大部分嵌入式軟件無人機界面,測試人員不能對軟件進行直觀的理解,必須通過理解軟件需求和算法,運用測試用例設計方法進行基于需求
22、的測試用例設計,而且需要保證測試用例的充分性。 本題主要考查軟件測試的一些基本概念和方法在測試實踐中的應用。要求考生認真閱讀題目所給的軟件需求和設計算法信息,結合嵌入式軟件測試的基本概念和測試用例設計要求,在此嵌入式軟件測試中進行實際應用。 從題干給定的需求信息服務端接收反饋信息中,第1條描述內容為“1第一次解析判斷反饋信息類型是否正確。如果正確繼續執行2,否則執行3。”故空(1)的內容應該在第2條描述中;空(2)的內容應該在第3條描述中。 第2條描述內容為“2第二次解析判斷反饋信息內容是否正確。如果正確執行4,否則執行3。”從第2條內容可知,空(1)的內容應該為反饋內容是否正確;空(3)的內
23、容應該在第4條描述中;同時再次確認空(2)的內容在第3條內容描述。 第3條描述內容為“3調用錯誤信息處理函數后執行4。”從第3條內容可知,空(2)的內容應該為錯誤信息處理;同時再次確認空(3)的內容在第4條內容描述。 第4條描述內容為“4將反饋信息存入數據庫。”從第4條內容可知,空(3)的內容應該為信息存入數據庫。 根據以上分析,完整流程圖如2所示。 圖2 機器人反饋信息收集軟件流程圖 2. 【問題2】 軟件的結構覆蓋率是度量測試完整性的一種手段,也是度量測試有效性的一種手段。在嵌入式軟件白盒測試過程中,通常以語句覆蓋率和分支覆蓋率作為度量指標。 在實現題目說明的反饋信息接收功能時,設計人員采
24、用了下列算法: if(信息有效=TRUE) if(信息、內容正確=TRUE) 信息存入數據庫; else 錯誤信息處理; 信息存入數據庫; else 錯誤信息處理; 信息存入數據庫; 請完成表1中的(1)和(2)空白,指出對上述算法達到100%語句覆蓋和100%分支覆蓋所需的最少測試用例數目。 表1 測試覆蓋用例統計表 覆蓋率類型 所需的最少用例數 100%語句覆蓋 (1) 100%分支覆蓋 (2) 答案:(1)3 (2)3考點 本問題主要考查對語句覆蓋和分支覆蓋概念的掌握以及實際應用。 解析 語句覆蓋要求設計適當數量的測試用例,運行被測程序,使得程序中每一條語句至少被運行一遍,語句覆蓋在測試
25、中主要發現錯誤語句。 分支覆蓋要求設計適當數量的測試用例,運行被測程序,使得程序中每個真值分支和假值分支至少執行一次,分支覆蓋也稱判定覆蓋。 按照上述語句覆蓋要求,語句覆蓋就要使得問題2中的所有語句執行一次,問題2中有三個語句塊,如下所示。 故為了使問題2中的三個語句塊各執行一次,最少需要3個測試用例來覆蓋。 按照上述分支覆蓋要求,分支覆蓋要使得程序中每個真值分支和假值分支至少執行一次。對問題2中的判斷條件進行分析,有兩個判斷條件,需要分別取每個判斷的真值分支和假值分支,即從理論上需要4個測試用例來滿足覆蓋要求。但是,由于第一個判斷的真分支中包含了第二個判斷條件的真假分支,當滿足第一個判斷的真
26、分支時,同時可滿足第二個判斷條件的真或假分支,可減少一個測試用例,故問題2最少需要3個測試用例來滿足分支覆蓋要求。 3. 【問題3】 為了測試軟件功能,測試人員設計了表2所示的測試用例,請填寫該表中的空白(1)(5)。 表2 測試用例 序號 輸入 輸出(預期結果) 1 反饋類型不正確 (1) ,錯誤信息存入數據庫 2 反饋類型和內容均不正確 報告信息類型和內容均不正確,錯誤信息存入數據庫 3 反饋類型正確,反饋內容不正確 (2) ,錯誤信息存入數據庫 4 反饋類型正確,反饋內容正確 信息存入數據庫 5 內容 (3) 的典型類型1信息 典型類型1信息存入數據庫 6 內容 (4) 的典型類型2信息
27、 報告典型類型2信息內容錯誤,錯誤信息存入數據庫 7 內容正確的典型類型3信息 (5) 信息存入數據庫 答案:(1)報告信息類型不正確/錯誤 (2)報告信息內容不正確/錯誤 (3)正確 (4)不正確/錯誤 (5)典型類型3考點 此題考查測試用例的設計能力,主要包括輸入數據的設計,及輸入數據所對應的預期輸出的確定,特別需要考慮測試用例的充分性。 解析 為了測試數據庫收集服務型智能掃地機器人反饋信息軟件的功能,就要依據題目說明中對數據庫收集服務型智能掃地機器人反饋信息軟件的具體功能描述,進行測試用例的設計。 序號1,輸入為反饋類型不正確,依據服務端接收反饋信息第1條設計說明,軟件應進行錯誤處理,并
28、將錯誤信息存入數據庫。從設計說明中不能直接看出對反饋類型不正確的具體錯誤處理。但在進行此類問題時,應該參考其他給定全部內容的測試用例。比如序號2中,當輸入為反饋類型和內容均不正確,其對應輸出為報告信息類型和內容均不正確,錯誤信息存入數據庫。從第1條設計說明分析,軟件也是進行錯誤處理,并將錯誤信息存入數據庫。這樣,從序號2的具體錯誤處理中就可推斷出序號1的輸入為反饋類型不正確時,具體錯誤處理為報告信息類型不正確或錯誤。 序號3,輸入為反饋類型正確,反饋內容不正確,依據服務端接收反饋信息第1條和第2條設計說明,軟件應進行錯誤處理,并將錯誤信息存入數據庫。從設計說明中不能直接看出對反饋內容不正確的具
29、體錯誤處理。但是類比序號2的具體錯誤處理,可推斷出序號3的輸入為反饋類型正確,反饋內容不正確時,具體錯誤處理為報告信息內容不正確或錯誤。 序號5,預期輸出為典型類型1信息存入數據庫,由于是典型類型1信息,可推斷出此信息類型一定正確;并且預期輸出中沒有進行錯誤處理,可推斷出此典型類型1信息內容正確,依據服務端接收反饋信息第1條和第2條設計說明,序號5用例的輸入應該為內容正確的典型類型1信息。 序號6,預期輸出為報告典型類型2信息內容錯誤,錯誤信息存入數據庫,由于是典型類型2信息,可推斷出此信息類型一定正確;由于預期輸出中報告了典型類型2信息內容錯誤,故可推斷出此典型類型2信息內容不正確或錯誤,依
30、據服務端接收反饋信息第1條和第2條設計說明,序號6用例的輸入應為內容不正確或錯誤的典型類型2信息。 序號7,輸入為內容正確的典型類型3信息,由于是典型類型3信息,可推斷出此信息類型一定正確;而且輸入為內容正確的典型類型3信息,依據服務端接收反饋信息第l條和第2條設計說明,序號7用例輸出為將典型類型3信息存入數據庫。 試題四閱讀下列說明和圖,回答問題1至問題3。 【說明】 服務型智能掃地機器人涉及了眾多傳感器,通過對環境信息的融合感知進行行為決策。同時也設計了豐富的多媒體人機交互系統,實現輸入輸出功能。 1. 【問題1】 服務型智能掃地機器人的輸入輸出終端采用觸摸屏技術,李工設計了一款具有觸摸功
31、能的顯示單元,該顯示單元的主板采用X86架構的處理器,觸摸控制板的核心是控制芯片,當觸摸筆點擊觸摸面板時,將通過輸入端點上傳數據報文,格式如圖1所示。數據報文按照小端字節順序發送,第一個Byte表示觸摸筆的狀態,0x70表示Down,0x30表示Up,后四個Byte包含觸摸筆點擊位置的坐標值,Byte1和Byte2表示X軸坐標,Byte3和Byte4表示Y軸坐標。觸摸板左上角坐標值為(0,0),右下角坐標值為(1022,766)。 圖1 輸入端點報文格式 當觸摸筆在觸摸板中心位置按下時,觸摸屏發送的數據報文內容是 (1) 、 (2) 、 (3) 、 (4) 、 (5) 。 答案:(1)0x70
32、 (2)0xFF (3)0x1或者1 (4)0x7F (5)0x1或者1考點 本題考查嵌入式計算機相關的基礎知識及應用。 解析 觸摸屏通過串行通信協議向主機傳送數據報文。常用的串行協議包括RS-232、RS-422和RS-485等。盡管串行通信速度較慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。 串口通信協議是指規定了數據包的內容,內容包含了起始位、主體數據、校驗位及停止位,雙方需要約定一致的數據包格式才能正常收發數據的有關規范。文中定義了串行數據報文格式,分別是觸摸筆的狀態、X軸坐標低字節、X軸坐標高字節、Y軸坐標低字節、Y軸坐標高字節。當觸摸筆在觸摸板中心位置按下時,觸摸筆
33、的狀態是0x70,X軸坐標是511(即0x1FF),Y軸坐標是383(即0x17F)。由于數據報文按照小端字節順序發送,所以X軸坐標低字節是0xFF、X軸坐標高字節是0x1、Y軸坐標低字節是0x7F、Y軸坐標高字節是0x1。 2. 【問題2】 該機器人系統內部集成眾多傳感器,通過現場總線互聯起來,構成了底層的網絡,選用的CAN控制器內含二個接收緩沖器、三個發送緩沖器,具有靈活的中斷管理能力。 李工設計了一種采用中斷方式的數據接收程序,每當接收寄存器接收到數據時,中斷寄存器的接收中斷使能,并產生中斷信號通知CPU,中斷處理程序在讀取數據后,清空中斷標識位,等待下一次中斷。由于兩個接收器共享一個中
34、斷號,在調試過程中發現,當短時間(毫秒級)接收大量數據時,丟包現象比較嚴重。李工對上述流程進行了改進,當產生一次中斷時,依次查詢兩路接收器的狀態,這樣大大提高了數據接收處理能力,減少了系統開銷,其處理流程如圖2所示。 圖2 雙通道數據接收流程圖 請將上述改進后的雙通道數據接收流程圖補充完整。 答案:(1)設備中斷使能 (2)接收器0有數據 (3)接收器1有數據 (4)接收器0有數據 (5)清除中斷標識考點 本題考查嵌入式計算機相關的基礎知識及應用。 解析 一般CPU和外部設備之間的數據傳輸有查詢和中斷兩種方式。從查詢式的傳輸過程可以看出,它的優點是硬件開銷小,使用起來比較簡單。但在此方式下,C
35、PU要不斷地查詢外設的狀態,當外設未準備好時,CPU就只能循環等待,不能執行其他程序,這樣就浪費了CPU的大量時間,降低了主機的利用率。為了解決這個矛盾,提出了中斷傳送方式,即當CPU進行主程序操作時,外設的數據已存入輸入端口的數據寄存器,或端口的數據輸出寄存器已空,由外設通過接口電路向CPU發出中斷請求信號,CPU在滿足一定的條件下,暫停執行當前正在執行的主程序,轉入執行相應能夠進行輸入/輸出操作的子程序,待輸入/輸出操作執行完畢之后CPU即返回繼續執行原來被中斷的主程序。這樣CPU就避免了把大量時間耗費在等待、查詢狀態信號的操作上,使其工作效率得以大大地提高。能夠向CPU發出中斷請求的設備
36、或事件稱為中斷源。而對其的處理方式即中斷處理。 當CPU(中央處理器)執行一條現行指令的時候,如果外設向CPU發出中斷請求,那么CPU在滿足響應的情況下,將發出中斷響應信號,與此同時關閉中斷,表示CPU不再受理另外一個設備的中斷。這時,CPU將尋找中斷請求源是哪一個設備,并保存CPU自己的程序計數器(PC)的內容。然后,它將轉移到處理該中斷源的中斷服務程序。CPU在保存現場信息、設備服務(如交換數據)以后,將恢復現場信息。在這些動作完成以后,開放中斷,并返回原來被中斷的主程序的下一條指令。 當中斷控制器的輸入不夠多時,使用共享中斷是很有必要的。典型的外部通用異步收發器(UART),它只有一個中
37、斷輸出,為不同的內部中斷資源所共享,比如:接受中斷和發送中斷。這些中斷在中斷控制器內部用“或方式”有效地連接到一塊了。 使用共享中斷時,必須要考慮的是:當兩個或更多的中斷信號同時產生或相繼產生時,會出現什么樣的狀況?如果不能很好處理的話,就有可能丟失中斷信號以及鎖定中斷線。共享邊緣觸發中斷比較復雜。如果兩個中斷信號同時產生或相繼產生,中斷控制器就會只收到一個中斷信號。要避免丟失中斷信號,中斷服務程序必須在離開當前命令行外殼之前檢查所有中斷資源。 共享中斷的最簡單方式,就是使用電平觸發中斷類型。這種方式很安全,例如,如果兩個中斷請求同時要求中斷服務,只能處理其中一個,這時中斷線不會鎖住,仍然能有
38、效工作。而另一個中斷請求會照常產生,等待處理。 3. 【問題3】 該機器人系統按照圖2的方式接收傳感器采集數據,并由上層應用程序對數據進行處理。當應用訪問操作速度和底層硬件輸入的速度存在較大差異時,采用環形緩沖機制,可以起到良好的緩沖作用,減少丟包率。李工設計的環形緩沖是基于先進先出(FIFO)的原則,并設計了環形緩沖的數據結構,讀寫指針各自獨立,讀任務和寫任務可以同時訪問環形緩沖,無需互斥信號量的介入。但是,在運行多任務時,如果存在多個讀任務和多個寫任務同時操作環形緩沖,則需要應用互斥操作機制。 1請簡述互斥操作的作用。 2為了在多任務環境中能正確使用環形緩沖,不發生讀寫沖突,增加了讀寫鎖進
39、行保護。應用任務讀取環形緩沖的偽代碼如下,請完善其中空(1)(3)處的內容。 BOOL bReadLock=FALSE; BOOL bWriteLock=FALSE; intReadRingBuf() if(環形隊列為空)| (1) ) return 0 (2) ; 將環形隊列中的數據拷貝到應用緩沖區; 調整讀指針; (3) ; 返回直接讀取數據長度; 答案:1互斥操作用來保證共享數據操作的完整性。通過互斥鎖保證任一時刻只能有一個應用訪問共享對象。 2(1)bReadLock為真或bReadLock=TRUE (2)bReadLock=TRUE或等效形式 (3)bReadLock=FALSE或
40、等效形式考點 本題考查嵌入式計算機相關的基礎知識及應用。 解析 (1)在編程中引入了對象互斥的概念,來保證共享數據操作的完整性。每個對象都對應于一個可稱為“互斥鎖”的標記,這個標記用來保證在任一時刻,只能有一個線程訪問該對象。 (2)在多任務操作系統中,同時運行的多個任務可能都需要使用同一種資源。互斥鎖(mutex)是一種簡單的加鎖的方法來控制對共享資源的訪問,互斥鎖只有兩種狀態,即上鎖(lock)和解鎖(unlock)。 互斥鎖的特點有:原子性,把一個互斥量鎖定為一個原子操作,這意味著操作系統保證了如果一個線程鎖定了一個互斥量,沒有其他線程在同一時間可以成功鎖定這個互斥量;唯一性,如果一個線
41、程鎖定了一個互斥量,在它解除鎖定之前,沒有其他線程可以鎖定這個互斥量;非繁忙等待,如果一個線程已經鎖定了一個互斥量,第二個線程又試圖去鎖定這個互斥量,則第二個線程將被掛起(不占用任何CPU資源),直到第一個線程解除對這個互斥量的鎖定為止,第二個線程則被喚醒并繼續執行,同時鎖定這個互斥量。 互斥鎖的操作流程如下: 1在訪問共享資源后臨界區域前,對互斥鎖進行加鎖; 2在訪問完成后釋放互斥鎖導上的鎖; 3對互斥鎖進行加鎖后,任何其他試圖再次對互斥鎖加鎖的線程將會被阻塞,直到鎖被釋放。 試題五閱讀以下關于C語言的基本概念和編程方面的敘述,回答問題1至問題3。 【說明】 服務型智能掃地機器人的信息處理中
42、心,用于接收各種傳感器信息和視覺信息,通過分析處理進行掃地機器人的運動控制,且負責和后臺監控中心通信。信息處理中心基于嵌入式計算機實現。 1. 【問題1】 在信息處理中心的計算機系統中,系統總是要用戶對變量或寄存器進行位操作,下面程序1代碼中對給定整型變量a,實現了兩個函數,其中:set_bit3函數用于設置a的bit 3(第3位),clear_bit3函數用于清除a的bit 3(第3位)。請補全程序1代碼的(1)和(2)。 【程序1】 #define BIT3(0x13) static int a; void set_bit3(void) (1) ; void clear_bit3(void
43、) (2) ; 答案:(1)a=a|BIT3或者a|=BIT3 (2)a=a printf(Area=%f, area); return area; 答案:回答以下4項中任意3項(意思相近即可)。 (1)中斷程序的返回值。中斷程序中一般不能返回一個值。 (2)中斷程序參數。中斷程序中一般不能傳遞參數。 (3)浮點運算。中斷程序應該是短而有效率的,一般在中斷程序上下文切換時不保存浮點寄存器,盡量不要在中斷程序中做浮點運算。 (4)printf()一般是阻塞性調用,盡量不要在中斷程序中調用阻塞性服務。考點 本題考查嵌入式程序設計能力。 解析 中斷是指計算機運行過程中,出現某些意外情況需主機干預時,CPU能自動停止正在運行的程序并轉入處理新情況的程序,處理完畢后又返回原被暫停的程序繼續運行。 按照事件發生的順序,中斷過程包括以下步驟: (1)中斷源發出中斷請求; (2)判斷當前處理機是否允許中斷和該中斷源是否被屏蔽; (3)優先權排隊; (4)處理機執行完當前指令或當前指令無法執行完,則立即停止當前程序,保護斷點地址和處理機當前狀態,轉入相應的中斷服務程序; (5)執行中斷服務程序; (6)恢復被保護的狀態,執行“中斷返回”指令回到被中斷的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論