嵌入式期末考試題目及答案_第1頁
嵌入式期末考試題目及答案_第2頁
嵌入式期末考試題目及答案_第3頁
嵌入式期末考試題目及答案_第4頁
嵌入式期末考試題目及答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式期末考試題目及答案一、選擇題(每題2分,共20分)1.以下關(guān)于ARMCortexM3內(nèi)核的描述,錯誤的是()A.采用Thumb2指令集B.支持硬件除法指令C.包含16個32位通用寄存器(R0R15)D.具有嵌套向量中斷控制器(NVIC)2.STM32F103系列微控制器的APB1總線最高頻率為()A.72MHzB.36MHzC.48MHzD.24MHz3.若某嵌入式系統(tǒng)需要實現(xiàn)高速數(shù)據(jù)傳輸(>10Mbps)且要求抗干擾能力強,最適合的串行通信接口是()A.UARTB.I2CC.SPID.CAN4.以下關(guān)于中斷的描述,正確的是()A.中斷服務(wù)程序(ISR)中應(yīng)避免使用延時函數(shù)B.所有中斷的優(yōu)先級在編譯時固定,無法動態(tài)調(diào)整C.中斷響應(yīng)時間僅取決于CPU的指令周期D.中斷屏蔽寄存器(IMR)用于存儲中斷服務(wù)程序的入口地址5.STM32的通用定時器(TIMx)在PWM輸出模式下,若ARR=999,CCR=300,且預(yù)分頻系數(shù)PSC=71(系統(tǒng)時鐘72MHz),則PWM的占空比和頻率分別為()A.30%,1000HzB.30%,100HzC.70%,1000HzD.70%,100Hz6.以下哪項不是嵌入式系統(tǒng)中Flash存儲器的典型特性()A.掉電后數(shù)據(jù)保留B.可多次擦寫(>10萬次)C.隨機訪問速度高于RAMD.擦除操作需按塊/扇區(qū)進行7.在I2C通信中,從機地址占()位A.4B.7C.8D.108.以下關(guān)于DMA(直接存儲器訪問)的描述,錯誤的是()A.DMA傳輸過程中CPU可執(zhí)行其他任務(wù)B.DMA請求只能由外設(shè)發(fā)起C.DMA控制器需要配置源地址、目標地址和傳輸長度D.STM32的DMA支持內(nèi)存到內(nèi)存、內(nèi)存到外設(shè)、外設(shè)到內(nèi)存的傳輸9.實時操作系統(tǒng)(RTOS)中,任務(wù)的“優(yōu)先級反轉(zhuǎn)”現(xiàn)象是指()A.高優(yōu)先級任務(wù)因等待低優(yōu)先級任務(wù)釋放資源而被阻塞,導(dǎo)致實際執(zhí)行順序與優(yōu)先級相反B.任務(wù)優(yōu)先級在運行過程中自動調(diào)整,高優(yōu)先級變?yōu)榈蛢?yōu)先級C.多個相同優(yōu)先級任務(wù)按時間片輪轉(zhuǎn)調(diào)度D.中斷服務(wù)程序的優(yōu)先級高于所有任務(wù)10.ADC(模數(shù)轉(zhuǎn)換器)的分辨率為12位,參考電壓為3.3V,其最小可檢測電壓變化為()A.0.8mVB.1.6mVC.3.3mVD.0.4mV二、填空題(每題2分,共20分)1.STM32F103的啟動模式由__________引腳的電平狀態(tài)決定,當該引腳接高電平時,系統(tǒng)從__________啟動。2.UART通信中,若波特率為115200bps,系統(tǒng)時鐘為72MHz,使用16倍采樣,則波特率寄存器(BRR)的值約為__________(保留整數(shù))。3.SPI通信中,CPOL=0表示__________,CPHA=1表示__________。4.嵌入式系統(tǒng)中,常用的硬件抗干擾措施包括__________(至少列舉2種)。5.STM32的GPIO引腳在輸入模式下可配置為__________、__________、__________、__________四種子模式。6.實時操作系統(tǒng)中,任務(wù)的基本狀態(tài)包括__________、__________、__________、__________。7.若某嵌入式系統(tǒng)的晶振頻率為8MHz,經(jīng)過PLL鎖相環(huán)倍頻至72MHz,則PLL的倍頻系數(shù)為__________。8.I2C通信的起始信號是__________,停止信號是__________。9.嵌入式系統(tǒng)中,Bootloader的主要功能是__________(至少列舉2點)。10.若需要檢測按鍵的短按和長按事件,通常需要在軟件中實現(xiàn)__________和__________處理。三、判斷題(每題1分,共10分)1.馮諾依曼結(jié)構(gòu)的微控制器將程序存儲器和數(shù)據(jù)存儲器分開尋址。()2.STM32的NVIC支持中斷嵌套,即高優(yōu)先級中斷可打斷低優(yōu)先級中斷的處理。()3.I2C通信中,總線上的每個設(shè)備都有唯一的7位或10位地址,主設(shè)備和從設(shè)備均可發(fā)起通信。()4.嵌入式系統(tǒng)的功耗優(yōu)化可通過關(guān)閉未使用的外設(shè)時鐘、降低系統(tǒng)時鐘頻率、使用低功耗模式(如睡眠模式)等方式實現(xiàn)。()5.ADC的轉(zhuǎn)換精度僅由分辨率決定,與參考電壓穩(wěn)定性無關(guān)。()6.在RTOS中,任務(wù)棧的大小應(yīng)至少包含任務(wù)執(zhí)行過程中所有局部變量、函數(shù)調(diào)用棧和中斷嵌套所需的空間。()7.CAN總線采用差分信號傳輸,具有較強的抗干擾能力,適合長距離通信。()8.定時器的“溢出中斷”是指當計數(shù)器值達到自動重裝載寄存器(ARR)的值時產(chǎn)生的中斷。()9.嵌入式系統(tǒng)的硬件設(shè)計中,去耦電容應(yīng)盡量靠近芯片電源引腳,以濾除高頻噪聲。()10.在KeilMDK開發(fā)環(huán)境中,.hex文件是二進制可執(zhí)行文件,直接燒錄到Flash中運行;.map文件用于記錄內(nèi)存分配信息。()四、簡答題(每題8分,共40分)1.簡述馮諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)的區(qū)別,并說明ARMCortexM3采用哪種結(jié)構(gòu)及其優(yōu)勢。2.分析STM32微控制器的啟動過程(從上電到執(zhí)行用戶主函數(shù)main()的流程)。3.說明I2C總線的仲裁機制及其作用。4.簡述ADC(模數(shù)轉(zhuǎn)換器)中采樣保持電路的作用,并解釋為何高速ADC需要該電路。5.對比實時操作系統(tǒng)(RTOS)中的搶占式調(diào)度與時間片輪轉(zhuǎn)調(diào)度,說明各自適用場景。五、綜合題(每題15分,共30分)1.設(shè)計一個基于STM32F103的PWM調(diào)光系統(tǒng),要求使用TIM3的通道1(PA6)輸出PWM信號控制LED亮度(亮度連續(xù)可調(diào))。請完成以下任務(wù):(1)列出需要配置的寄存器及其功能;(2)寫出關(guān)鍵配置代碼(寄存器操作方式,不使用HAL庫);(3)說明如何通過修改代碼實現(xiàn)亮度從0%到100%的漸變(給出軟件邏輯)。2.設(shè)計一個嵌入式溫度采集系統(tǒng),要求使用STM32F103的ADC1通道1(PA1)采集熱敏電阻(NTC)的電壓信號,通過UART1(PA9/PA10)將溫度值(單位:℃)發(fā)送至上位機。已知NTC的電阻溫度特性為R=R0exp(B(1/T1/T0))(R0=10kΩ,T0=298.15K,B=3950K),參考電壓Vref=3.3V,ADC為12位逐次逼近型。請完成以下任務(wù):(1)畫出系統(tǒng)硬件連接示意圖(標注關(guān)鍵引腳);(2)寫出ADC和UART的初始化代碼(寄存器操作方式,不使用HAL庫);(3)推導(dǎo)溫度值的計算步驟(從ADC采樣值到℃的轉(zhuǎn)換公式);(4)說明如何提高溫度測量的精度(至少3種方法)。答案一、選擇題1.B2.B3.C4.A5.A6.C7.B8.B9.A10.A二、填空題1.BOOT0;系統(tǒng)存儲器(或Bootloader)2.39(計算:72MHz/(11520016)=39.0625)3.空閑時SCL為低電平;在SCL的第二個邊沿采樣數(shù)據(jù)4.硬件濾波、光電隔離、接地保護、屏蔽罩(任意2種)5.輸入浮空、輸入上拉、輸入下拉、模擬輸入6.運行態(tài)、就緒態(tài)、阻塞態(tài)、掛起態(tài)(或刪除態(tài))7.9(8MHz×9=72MHz)8.SCL高電平期間SDA由高變低;SCL高電平期間SDA由低變高9.初始化硬件、加載用戶程序、實現(xiàn)程序升級、錯誤恢復(fù)(任意2點)10.消抖;計時(或狀態(tài)機)三、判斷題1.×(馮諾依曼結(jié)構(gòu)統(tǒng)一編址,哈佛結(jié)構(gòu)分開)2.√3.×(主設(shè)備發(fā)起通信)4.√5.×(與參考電壓、噪聲等有關(guān))6.√7.√8.√9.√10.√四、簡答題1.區(qū)別:馮諾依曼結(jié)構(gòu)的程序存儲器和數(shù)據(jù)存儲器共享同一總線,統(tǒng)一編址;哈佛結(jié)構(gòu)的程序和數(shù)據(jù)存儲器獨立,擁有各自的總線。ARMCortexM3采用哈佛結(jié)構(gòu)(改進型),優(yōu)勢:指令和數(shù)據(jù)可并行訪問,提高了取指和數(shù)據(jù)操作的效率,適合實時性要求高的嵌入式場景。2.啟動流程:(1)上電后,CPU從固定地址(0x00000000)讀取棧頂指針(SP)的初始值;(2)從0x00000004讀取復(fù)位向量(PC初始值),跳轉(zhuǎn)到復(fù)位中斷服務(wù)程序;(3)復(fù)位程序初始化系統(tǒng)時鐘、中斷向量表、全局變量(從Flash復(fù)制到RAM)、堆和棧;(4)調(diào)用用戶代碼中的SystemInit()函數(shù)配置時鐘樹;(5)最終跳轉(zhuǎn)到用戶主函數(shù)main()執(zhí)行。3.仲裁機制:當多個主設(shè)備同時發(fā)起通信時,I2C總線通過比較SDA線上的電平進行仲裁。主設(shè)備在發(fā)送地址或數(shù)據(jù)時會檢測SDA線,若檢測到實際電平與自身發(fā)送的電平不一致(被更高優(yōu)先級設(shè)備拉低),則主動退出仲裁。作用:確保總線上同一時間只有一個主設(shè)備控制總線,避免數(shù)據(jù)沖突,保證通信可靠性。4.采樣保持電路作用:在ADC轉(zhuǎn)換期間保持輸入信號的電平穩(wěn)定,避免因輸入信號變化導(dǎo)致轉(zhuǎn)換結(jié)果錯誤。高速ADC需要該電路的原因:高速信號變化快,若沒有采樣保持,ADC在轉(zhuǎn)換過程中輸入信號可能已改變,導(dǎo)致轉(zhuǎn)換結(jié)果不準確;采樣保持電路可在極短時間內(nèi)采樣信號并保持穩(wěn)定,為ADC提供足夠的轉(zhuǎn)換時間。5.搶占式調(diào)度:高優(yōu)先級任務(wù)可立即搶占低優(yōu)先級任務(wù)的CPU使用權(quán),適用于實時性要求高、需要快速響應(yīng)關(guān)鍵事件的場景(如工業(yè)控制、醫(yī)療設(shè)備)。時間片輪轉(zhuǎn)調(diào)度:相同優(yōu)先級任務(wù)按固定時間片輪流執(zhí)行,適用于對實時性要求不高、任務(wù)優(yōu)先級相同且需要公平分配CPU時間的場景(如多任務(wù)界面顯示)。五、綜合題1.(1)需配置的寄存器:RCC_APB1ENR:使能TIM3時鐘;RCC_APB2ENR:使能GPIOA時鐘。GPIOA_CRL:配置PA6為復(fù)用推挽輸出(模式11,CNF1:0=10)。TIM3_PSC:設(shè)置預(yù)分頻系數(shù)(如PSC=71,72MHz/(71+1)=1MHz)。TIM3_ARR:設(shè)置自動重裝載值(如ARR=999,頻率=1MHz/(999+1)=1000Hz)。TIM3_CCR1:設(shè)置捕獲/比較寄存器值(占空比=CCR1/(ARR+1))。TIM3_CCMR1:配置通道1為PWM模式1(OC1M=110)。TIM3_CR1:使能計數(shù)器(CEN=1)。(2)關(guān)鍵代碼(寄存器操作):```cinclude"stm32f10x.h"voidPWM_Init(void){//使能時鐘RCC>APB2ENR|=1<<2;//GPIOA時鐘RCC>APB1ENR|=1<<1;//TIM3時鐘//配置PA6為復(fù)用推挽輸出(模式11,CNF=10)GPIOA>CRL&=~(0xF<<24);//清除PA6原有配置GPIOA>CRL|=0xB<<24;//CNF=10(復(fù)用推挽),MODE=11(50MHz)//配置TIM3TIM3>PSC=71;//預(yù)分頻72MHz/(71+1)=1MHzTIM3>ARR=999;//自動重裝載值,頻率1000HzTIM3>CCR1=0;//初始占空比0%//配置PWM模式1(通道1)TIM3>CCMR1&=~(0x7<<4);//清除OC1M位TIM3>CCMR1|=0x6<<4;//OC1M=110(PWM模式1)TIM3>CCER|=1<<0;//使能通道1輸出(CC1E=1)TIM3>CR1|=1<<0;//使能計數(shù)器(CEN=1)}intmain(void){PWM_Init();while(1){//亮度漸變邏輯(略,見(3))}}```(3)亮度漸變實現(xiàn):在主循環(huán)中,通過定時器或軟件延時逐步增加/減少CCR1的值。例如,每50ms將CCR1增加10(直到999),然后減少10(直到0),循環(huán)往復(fù)。需注意避免阻塞,可結(jié)合SysTick中斷實現(xiàn)非阻塞延時。2.(1)硬件連接示意圖:STM32F103:PA1(ADC1_IN1)連接NTC分壓電路(NTC與10kΩ電阻串聯(lián),接3.3V和GND,PA1接分壓點);PA9(USART1_TX)接串口轉(zhuǎn)USB模塊的RX;PA10(USART1_RX)接模塊的TX;模塊VCC接3.3V,GND共地。(2)ADC和UART初始化代碼:```cinclude"stm32f10x.h"voidADC_Init(void){RCC>APB2ENR|=1<<2;//GPIOA時鐘RCC>APB2ENR|=1<<9;//ADC1時鐘RCC>CFGR|=1<<14;//ADC時鐘=PCLK2/6(72MHz/6=12MHz)GPIOA>CRL&=~(0xF<<4);//PA1設(shè)為模擬輸入(CNF=11,MODE=00)GPIOA>CRL|=0x3<<4;ADC1>CR2|=1<<2;//使能外部觸發(fā)轉(zhuǎn)換(可選,此處用軟件觸發(fā))ADC1>SQR1&=~(0xF<<20);//規(guī)則序列長度1(L=0)ADC1>SQR3=1;//規(guī)則通道1(CH1)ADC1>CR2|=1<<0;//使能ADC1ADC1>CR2|=1<<3;//復(fù)位校準while(ADC1>CR2&(1<<3));//等待復(fù)位完成ADC1>CR2|=1<<2;//啟動校準while(ADC1>CR2&(1<<2));//等待校準完成}u16Get_ADC_Value(void){ADC1>CR2|=1<<22;//軟件觸發(fā)轉(zhuǎn)換while(!(ADC1>SR&(1<<1)));//等待轉(zhuǎn)換完成returnADC1>DR;//讀取轉(zhuǎn)換值}voidUART_Init(u32baud){RCC>APB2ENR|=1<<2;//GPIOA時鐘RCC>APB2ENR|=1<<14;//USART1時鐘//PA9(TX)復(fù)用推挽輸出GPIOA>CRH&=~(0xF<<4);

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論