




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章1.請(qǐng)舉例10個(gè)以上身邊單片機(jī)系統(tǒng)的例子。答:手機(jī),智能電視,機(jī)頂盒,洗衣機(jī),空調(diào),智能家電,智能表,智能門(mén)鎖,機(jī)器人,路由器。2.請(qǐng)歸納整理嵌入式系統(tǒng)開(kāi)發(fā)全流程中涉及到的知識(shí)領(lǐng)域,并思考哪些屬于嵌入式系統(tǒng)初學(xué)者應(yīng)該掌握的關(guān)鍵技能。答:數(shù)字電子技術(shù),模擬電子技術(shù),電路原理,C語(yǔ)言程序設(shè)計(jì)。3.嵌入式系統(tǒng)設(shè)計(jì)中有哪些矛盾需要設(shè)計(jì)者和開(kāi)發(fā)者解決?答:如何在保證功能完整性、滿足用戶需求的前提下,綜合考慮功能、性能、成本、可靠性多種因素,實(shí)現(xiàn)平衡設(shè)計(jì),以及如何借助網(wǎng)絡(luò)通信實(shí)現(xiàn)分布式計(jì)算。對(duì)平衡設(shè)計(jì)的追求,最終以嵌入式系統(tǒng)的具體形式體現(xiàn)出來(lái),比如說(shuō)一部手機(jī)、一臺(tái)洗衣機(jī)、一個(gè)機(jī)器人等。4.如何理解計(jì)算機(jī)的計(jì)算能力和性能之間的概念差異?答:就嵌入式系統(tǒng)而言,普遍存在著存儲(chǔ)器容量、運(yùn)算速度、電源、尺寸、成本等各方面的約束,但這并不妨礙一個(gè)控制洗衣機(jī)的4位低成本微處理芯片和一個(gè)用于高速圖像處理的64位高性能處理芯片在“能力”上的理論等價(jià)性,因?yàn)樗鼈兌际菆D靈機(jī)模型的具體實(shí)現(xiàn)。他們的區(qū)別不在于理論上可求解問(wèn)題的不同,而在于解決問(wèn)題的快慢,即所謂的“性能”。一個(gè)問(wèn)題在巨型機(jī)上可解,那么換成筆記本或微控制器,理論上也是一定可解的,只不過(guò)計(jì)算的過(guò)程慢許多而已。而這個(gè)區(qū)別在漢語(yǔ)中常常被混淆,例如我們?cè)谠u(píng)價(jià)某人說(shuō)他很有能力的時(shí)候,往往隱含著兩重含義,一是他可以解決未知問(wèn)題和疑難問(wèn)題,這是他的能力,另一重含義是他做事做得又快又好,這其實(shí)是它的效率問(wèn)題。而圖靈機(jī)模型中的“能力”(Capability)是指前者,后者應(yīng)屬于“性能”(Performance)范疇,今天的計(jì)算機(jī),盡管形態(tài)各異,本質(zhì)上都是圖靈計(jì)算機(jī)模型的一個(gè)個(gè)技術(shù)實(shí)現(xiàn),因此它們都具有相同的理論計(jì)算能力。5.20世紀(jì)五六十年代,阿塔納索夫等人都具備了電子計(jì)算機(jī)的構(gòu)思,當(dāng)時(shí)也擁有相應(yīng)的技術(shù)手段,為什么他們都不能最后完成計(jì)算機(jī)的發(fā)明?答:技術(shù)的進(jìn)步已經(jīng)進(jìn)入新的歷史時(shí)期,電子計(jì)算機(jī)的誕生不再是憑借某位杰出人物個(gè)人的努力就能誕生的,制造電子計(jì)算機(jī)不僅需要巨大的投資,而且需要科學(xué)家、工程技術(shù)人員以及科學(xué)組織管理人員的密切合作。這一點(diǎn)恰恰反映了20世紀(jì)的科學(xué)已經(jīng)進(jìn)入各門(mén)學(xué)科互相滲透,科學(xué)研究社會(huì)化的特點(diǎn)。6.如何理解計(jì)算機(jī)系統(tǒng)軟硬件邊界?答:對(duì)任何一個(gè)真實(shí)的、技術(shù)可實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng),都需要有最基礎(chǔ)的一層硬件來(lái)實(shí)現(xiàn),這一最基礎(chǔ)的硬件實(shí)現(xiàn)了圖靈機(jī)模型的要求,其上大部分都是各種硬件加速手段,對(duì)一個(gè)具體的計(jì)算機(jī)系統(tǒng)而言,軟硬件的分割在哪里,主要取決于性能和成本之間的折中。如果要求高性能,那么硬件加速的部件可以多些,相應(yīng)成本也不可避免會(huì)增加;如果要求低成本,那么圖中曲線可以下移,即用軟件完成大部分處理,但性能會(huì)有所下降。
第二章1.Arm?Cortex?-M4處理器有哪幾條系統(tǒng)總線?存儲(chǔ)器采用什么架構(gòu)?答:Arm?Cortex?-M4處理器包括三條AHB總線分別稱為I-CODE總線、D-Code總線和系統(tǒng)總線;Arm?Cortex?-M4存儲(chǔ)器的組織采用哈佛結(jié)構(gòu)。2.Cortex?-M4提供的哪些系統(tǒng)外設(shè)?答:1.內(nèi)部總線矩陣,用于實(shí)現(xiàn)I-Code總線、D-Code總線、系統(tǒng)總線、專用總線(PPB)以及調(diào)試專用總線(AHB-AP)的互聯(lián);2.嵌套式向量型中斷控制器(NVIC);3.閃存地址重載及斷點(diǎn)單元(FPB);4.數(shù)據(jù)觀測(cè)點(diǎn)及跟蹤單元(DWT);5.指令跟蹤宏單元(ITM);6.嵌入式跟蹤宏單元(ETM);7.串行線和JTAG調(diào)試接口(SWJ-DP);8.跟蹤端口接口單元(TPIU);9.內(nèi)存保護(hù)單元(MPU);10.浮點(diǎn)運(yùn)算單元(FPU)。3.程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,寄存器和I/O端口的地址空間有多大?為什么?答:程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,寄存器和I/O端口都在同一個(gè)線性的4GB的地址空間之內(nèi)。這是Cortex?-M4的最大地址范圍,因?yàn)樗牡刂房偩€寬度是32位。
第三章1.中斷/事件控制器有哪幾種觸發(fā)類型?答:EXTI有三種觸發(fā)類型:上升沿觸發(fā)、下降沿觸發(fā)和任意沿觸發(fā)。2.繪制EXTI結(jié)構(gòu)框圖。答:如下圖所示。3.EXTI觸發(fā)源有哪些?答:EXTI觸發(fā)源包括來(lái)自I/O管腳的16根線以及來(lái)自內(nèi)部模塊的7根線(包括LVD、RTC鬧鐘、USB喚醒、以太網(wǎng)喚醒、RTC侵入和時(shí)間戳、RTC喚醒)。
第四章1.Cortex?-M4通用和備用輸入/輸出接口有哪些特征?答:1.輸入/輸出方向控制;2.施密特觸發(fā)器輸入功能使能控制;3.每個(gè)引腳都具有弱上拉/下拉功能;4.推挽/開(kāi)漏輸出使能控制;5.置位/復(fù)位輸出使能;6.可編程觸發(fā)沿的外部中斷-使用EXTI配置寄存器;7.模擬輸入/輸出配置;8.備用功能輸入/輸出配置;9.端口鎖定配置;10.單周期輸出翻轉(zhuǎn)功能。2.復(fù)位之后GPIO端口、串行線調(diào)試端口、JTDI、JTCK/SWCLK、JTMS/SWDIO、NJTRST、NJTRST各是什么輸入模式?答:在復(fù)位期間或復(fù)位之后,備用功能并未激活,所有GPIO端口都被配置成輸入浮空模式,這種輸入模式禁用上拉(PU)/下拉(PD)電阻。但是復(fù)位后,串行線調(diào)試端口(JTAG/Serial-WiredDebugpins)為輸入PU/PD模式;PA15:JTDI為上拉模式;PA14:JTCK/SWCLK為下拉模式;PA13:JTMS/SWDIO為上拉模式;PB4:NJTRST為上拉模式;PB3:NJTRST為浮空模式。
第五章1.DMA控制器為何能夠提高數(shù)據(jù)傳輸效率?答:DMA控制器提供了一種硬件的方式在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間傳輸數(shù)據(jù),而無(wú)需MCU的介入,避免了MCU多次進(jìn)入中斷進(jìn)行大規(guī)模的數(shù)據(jù)拷貝,最終提高整體的系統(tǒng)性能。2.Cortex?-M4如何處理內(nèi)核與DMA控制器總線訪問(wèn)之間的沖突?如何保證MCU正常工作?答:Cortex?-M4內(nèi)核與DMA控制器都是通過(guò)系統(tǒng)總線來(lái)處理數(shù)據(jù),引入仲裁機(jī)制來(lái)處理它們之間的競(jìng)爭(zhēng)關(guān)系。當(dāng)MCU和DMA指定相同的外設(shè)的時(shí)候,MCU將會(huì)在特定的總線周期掛起。總線矩陣使用了輪詢的算法保證MCU至少占用了一半的帶寬。3.DMA控制器由哪幾部分組成?答:DMA控制器由4部分組成:1.AHB從接口配置DMA;2.兩個(gè)AHB主接口進(jìn)行數(shù)據(jù)傳輸;3.兩個(gè)仲裁器進(jìn)行DMA請(qǐng)求的優(yōu)先級(jí)管理;4.數(shù)據(jù)處理和計(jì)數(shù)。4.DMA有幾種數(shù)據(jù)傳輸模式?各模式的數(shù)據(jù)讀、寫(xiě)源分別是什么?答:有3種數(shù)據(jù)傳輸模式:外設(shè)到存儲(chǔ)器、存儲(chǔ)器到外設(shè)、存儲(chǔ)器到存儲(chǔ)器。各模式數(shù)據(jù)讀寫(xiě)源:1.外設(shè)到存儲(chǔ)器:通過(guò)AHB外設(shè)主機(jī)接口從外設(shè)讀取數(shù)據(jù),通過(guò)AHB存儲(chǔ)器主機(jī)接口向存儲(chǔ)器寫(xiě)入數(shù)據(jù);2.存儲(chǔ)器到外設(shè):通過(guò)AHB存儲(chǔ)器主機(jī)接口從存儲(chǔ)器讀取數(shù)據(jù),通過(guò)AHB外設(shè)主機(jī)接口向外設(shè)寫(xiě)入數(shù)據(jù);3.存儲(chǔ)器到存儲(chǔ)器:通過(guò)AHB外設(shè)主機(jī)接口從存儲(chǔ)器讀取數(shù)據(jù),通過(guò)AHB存儲(chǔ)器主機(jī)接口向存儲(chǔ)器寫(xiě)入數(shù)據(jù)。5.發(fā)生哪幾種類型的錯(cuò)誤會(huì)關(guān)閉DMA傳輸?答:三種:FIFO錯(cuò)誤、總線錯(cuò)誤、寄存器訪問(wèn)錯(cuò)誤。
第六章1.GD32F4xx系列微控制器支持哪兩種調(diào)試模式??jī)煞N模式之前如何實(shí)現(xiàn)切換?答:默認(rèn)使用JTAG調(diào)試接口,可以通過(guò)下列軟件序列從JTAG調(diào)試切換到SW調(diào)試:發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào);發(fā)送16位TMS=1110011110011110(0xE79ELSB)信號(hào);發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào)。切換SW調(diào)試到JTAG調(diào)試的軟件序列;發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào);發(fā)送16位TMS=1110011100111100(0xE73CLSB)信號(hào);發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào)。2.請(qǐng)列舉GD32F4xx系列微控制器調(diào)試時(shí)使用的引腳及功能。答:調(diào)試系統(tǒng)支持串行(SW)調(diào)試和跟蹤功能,也支持JTAG調(diào)試。JTAG需要至少4個(gè)引腳:TCK、TDI、TMS和TDO。復(fù)位腳nTRST是可選的。串行線調(diào)試協(xié)議(SW),它只須兩個(gè)引腳:SWCLK和SWDIO。3.請(qǐng)說(shuō)明GD32F4xx系列微控制器對(duì)于TIMER,I2C,RTC,WWDGT,F(xiàn)WDGT和CAN等外設(shè)調(diào)試支持。答:當(dāng)內(nèi)核停止,并且DBG控制寄存器1(DBG_CTL1)或DBG控制寄存器2(DBG_CTL2)中的相應(yīng)位置1。對(duì)于不同外設(shè),有不同動(dòng)作:對(duì)于TIMER外設(shè),TIMER計(jì)數(shù)器停止并進(jìn)行調(diào)試;對(duì)于I2C外設(shè),SMBUS保持狀態(tài)并進(jìn)行調(diào)試;對(duì)于WWDGT或者FWDGT外設(shè),計(jì)數(shù)器時(shí)鐘停止并進(jìn)行調(diào)試;對(duì)于RTC外設(shè),計(jì)數(shù)器停止并進(jìn)行調(diào)試;對(duì)于CAN外設(shè),接收寄存器停止計(jì)數(shù)并進(jìn)行調(diào)試。
第七章1.GD32F4xx系列ADC有多少個(gè)多路復(fù)用通道?可以轉(zhuǎn)換哪些類型的模擬信號(hào)?答:GD32F4xx系列ADC有19個(gè)多路復(fù)用通道,可以轉(zhuǎn)換來(lái)自16個(gè)外部通道、2個(gè)內(nèi)部通道和一個(gè)電池電壓(VBAT)通道的模擬信號(hào)。2.GD32F4xx系列ADC有哪些轉(zhuǎn)換模式?答:ADC四種轉(zhuǎn)換模式:1.單次模式,每次觸發(fā)轉(zhuǎn)換一次選擇的輸入通道;2.續(xù)模式,連續(xù)轉(zhuǎn)換所選擇的輸入通道;3.間斷模式;4.同步模式(適用于具有兩個(gè)或多個(gè)ADC的設(shè)備)。
第八章1.GD32系列定時(shí)器有哪幾種類型?答:GD32系列定時(shí)器(TIMERx)分為五種類型:高級(jí)定時(shí)器、通用定時(shí)器L0、通用定時(shí)器L1、通用定時(shí)器L2、基本定時(shí)器。2.繪制基本定時(shí)器結(jié)構(gòu)框圖。答:如下圖所示。3.基本定時(shí)器向上計(jì)數(shù)模式如何配置?答:1.設(shè)置計(jì)數(shù)器從0開(kāi)始向上連續(xù)計(jì)數(shù)到的自動(dòng)加載值(寫(xiě)寄存器TIMERx_CAR);2.配置計(jì)數(shù)方向:設(shè)置TIMERx_CTL0寄存器中的計(jì)數(shù)方向控制位DIR應(yīng)該被設(shè)置成0。
第九章1.USART由哪些外部信號(hào)組成?答:如下表所示。引腳類型描述RX輸入接收數(shù)據(jù)TX輸出I/O(單線模式/智能卡模式)發(fā)送數(shù)據(jù)。當(dāng)USART使能后,若無(wú)數(shù)據(jù)發(fā)送,默認(rèn)為高電平CK輸出用于同步通信的串行時(shí)鐘信號(hào)nCTS輸入硬件流控模式發(fā)送使能信號(hào)nRTS輸出硬件流控模式發(fā)送請(qǐng)求信號(hào)2.簡(jiǎn)述USART波特率的計(jì)算方法。答:波特率分頻系數(shù)是一個(gè)16位的數(shù)字,包含12位整數(shù)部分和4位小數(shù)部分。波特率發(fā)生器使用這兩部分組合所得的數(shù)值來(lái)確定波特率。由于具有小數(shù)部分的波特率分頻系數(shù),將使USART能夠產(chǎn)生所有標(biāo)準(zhǔn)波特率。如果過(guò)采樣率是16,波特率分頻系數(shù)(USARTDIV)與系統(tǒng)時(shí)鐘具有如下關(guān)系:USARTDIV="UCLK"/"16×Baudrate"置位USART_CTL0寄存器中的OVSMOD位選擇8倍過(guò)采樣,波特率分頻系數(shù)(USARTDIV)與系統(tǒng)時(shí)鐘具有如下關(guān)系:USARTDIV="UCLK"/"8×Baudrate"USART0/5的系統(tǒng)時(shí)鐘為PCLK2,USART1/2和UART3/4/6/7的系統(tǒng)時(shí)鐘為PCLK1。在使能USART之前,必須在時(shí)鐘控制單元使能系統(tǒng)時(shí)鐘。3.簡(jiǎn)述USART過(guò)采樣過(guò)程?答:在默認(rèn)情況下,接收器通過(guò)獲取三個(gè)采樣點(diǎn)的值來(lái)估計(jì)該位的值。如果是8倍過(guò)采樣模式,選擇第3、4、5個(gè)采樣點(diǎn);如果是16倍過(guò)采樣模式,選擇第7、8、9個(gè)采樣點(diǎn)。如果在3個(gè)采樣點(diǎn)中有2個(gè)或3個(gè)為0,該數(shù)據(jù)位被視為0,否則為1。如果3個(gè)采樣點(diǎn)中有一個(gè)采樣點(diǎn)的值與其他兩個(gè)不同,不管是起始位,數(shù)據(jù)位,奇偶校驗(yàn)位或者停止位,都將產(chǎn)生噪聲錯(cuò)誤(NERR)。如果使能DMA,并置位USART_CTL2寄存器中ERRIE,將會(huì)產(chǎn)生中斷。如果在USART_CTL2中置位OSB,接收器將僅獲取一個(gè)采樣點(diǎn)來(lái)估計(jì)一個(gè)數(shù)據(jù)位的值。在這種情況下將不會(huì)檢測(cè)到噪聲錯(cuò)誤。4.硬件流控信號(hào)有哪些?他們的作用是什么?答:硬件流控制功能通過(guò)nCTS和nRTS引腳來(lái)實(shí)現(xiàn)。通過(guò)將USART_CTL2寄存器中RTSEN位置1來(lái)使能RTS流控,將USART_CTL2寄存器中CTSEN位置1來(lái)使能CTS流控。RTS流控USART接收器輸出nRTS,它用于反映接收緩沖區(qū)狀態(tài)。當(dāng)一幀數(shù)據(jù)接收完成,nRTS變成高電平,這樣是為了阻止發(fā)送器繼續(xù)發(fā)送下一幀數(shù)據(jù)。當(dāng)接收緩沖區(qū)滿時(shí),nRTS保持高電平,可以通過(guò)讀USART_DATA寄存器來(lái)清零。CTS流控USART發(fā)送器監(jiān)視nCTS輸入引腳來(lái)決定數(shù)據(jù)幀是否可以發(fā)送。如果USART_STAT0寄存器中TBE位是0且nCTS為低電平,發(fā)送器發(fā)送數(shù)據(jù)幀。在發(fā)送期間,若nCTS信號(hào)變?yōu)楦唠娖剑l(fā)送器將會(huì)在當(dāng)前數(shù)據(jù)幀發(fā)送完成后停止發(fā)送。5.USART中斷事件有哪些?答:如下表所示。中斷事件事件標(biāo)志控制寄存器使能控制位發(fā)送數(shù)據(jù)寄存器空TBEUSART_CTL0TBEIECTS標(biāo)志CTSFUSART_CTL2CTSIE發(fā)送結(jié)束TCUSART_CTL0TCIE接收到的數(shù)據(jù)可以讀取RBNEUSART_CTL0RBNEIE檢測(cè)到過(guò)載錯(cuò)誤ORERR檢測(cè)到線路空閑IDLEFUSART_CTL0IDLEIE
第十章1.I2C總線由哪些信號(hào)線組成?他們的功能是什么?答:串行數(shù)據(jù)SDA線和串行時(shí)鐘SCL線。連接到總線上的設(shè)備通過(guò)這兩根線互相傳遞信息。SDA和SCL都是雙向線,通過(guò)一個(gè)電流源或者上拉電阻接到電源正極。當(dāng)總線空閑時(shí),兩條線都是高電平。連接到總線的設(shè)備輸出極必須帶開(kāi)漏或者開(kāi)集,以提供線與功能。2.I2C總線數(shù)據(jù)有效性如何判斷?答:時(shí)鐘信號(hào)的高電平期間SDA線上的數(shù)據(jù)必須穩(wěn)定。只有在時(shí)鐘信號(hào)SCL變低的時(shí)候數(shù)據(jù)線SDA的電平狀態(tài)才能跳變(如圖10-2.數(shù)據(jù)有效性)。每個(gè)數(shù)據(jù)比特傳輸需要一個(gè)時(shí)鐘脈沖。3.I2C總線的起始信號(hào)和停止信號(hào)是什么?答:所有的數(shù)據(jù)傳輸起始于一個(gè)START(S)結(jié)束于一個(gè)STOP(P)(參見(jiàn)圖10-3.開(kāi)始和停止?fàn)顟B(tài))。START起始位定義為,在SCL為高時(shí),SDA線上出現(xiàn)一個(gè)從高到低的電平轉(zhuǎn)換。STOP結(jié)束位定義為,在SCL為高時(shí),SDA線上出現(xiàn)一個(gè)從低到高的電平轉(zhuǎn)換。4.簡(jiǎn)述I2C總線的發(fā)送流程?答:如圖10-9.主機(jī)發(fā)送模式(10位地址模式)所示,在主機(jī)模式下發(fā)送數(shù)據(jù)到I2C總線時(shí),軟件應(yīng)該遵循這些步驟來(lái)運(yùn)行I2C模塊:首先,軟件應(yīng)該使能I2C外設(shè)時(shí)鐘,以及配置I2C_CTL1中時(shí)鐘相關(guān)寄存器來(lái)確保正確的I2C時(shí)序。使能和配置以后,I2C運(yùn)行在默認(rèn)的從機(jī)模式狀態(tài),等待START起始位,隨后等待I2C總線尋址。軟件將START位置1,在I2C總線上產(chǎn)生一個(gè)START起始位。發(fā)送一個(gè)START起始位后,I2C硬件將I2C_STAT0的SBSEND位置1然后進(jìn)入主機(jī)模式?,F(xiàn)在軟件應(yīng)該讀I2C_STAT0寄存器然后寫(xiě)一個(gè)7位地址位或10位地址的地址頭到I2C_DATA寄存器來(lái)清除SBSEND位。一旦SBSEND位被清0,I2C就開(kāi)始發(fā)送地址或者地址頭到I2C總線。如果發(fā)送的地址是10位地址的地址頭,硬件在發(fā)送地址頭的時(shí)候會(huì)將ADD10SEND位置1,軟件應(yīng)該通過(guò)讀I2C_STAT0寄存器然后寫(xiě)10位低地址到I2C_DATA來(lái)清除ADD10SEND位。7位或10位的地址位發(fā)送出去之后,I2C硬件將ADDSEND位置1,軟件應(yīng)該清除ADDSEND位(通過(guò)讀I2C_STAT0寄存器然后讀I2C_STAT1寄存器)。I2C進(jìn)入數(shù)據(jù)發(fā)送狀態(tài),因?yàn)橐莆患拇嫫骱蛿?shù)據(jù)寄存器I2C_DATA都是空的,所以硬件將TBE位置1。此時(shí)軟件可以寫(xiě)第一個(gè)字節(jié)數(shù)據(jù)到I2C_DATA寄存器,但是TBE位此時(shí)不會(huì)被清零,因?yàn)閷?xiě)入I2C_DATA寄存器的字節(jié)會(huì)被立即移入內(nèi)部移位寄存器。一旦移位寄存器非空,I2C就開(kāi)始發(fā)送數(shù)據(jù)到總線。在第一個(gè)字節(jié)的發(fā)送過(guò)程中,軟件可以寫(xiě)第二個(gè)字節(jié)到I2C_DATA,此時(shí)TBE會(huì)被清零。任何時(shí)候TBE被置1,軟件都可以向I2C_DATA寄存器寫(xiě)入一個(gè)字節(jié),只要還有數(shù)據(jù)待發(fā)送。在倒數(shù)第二個(gè)字節(jié)發(fā)送過(guò)程中,軟件寫(xiě)入最后一個(gè)字節(jié)數(shù)據(jù)到I2C_DATA來(lái)清除TBE標(biāo)志位,此后就不用關(guān)心TBE位的狀態(tài)。TBE位會(huì)在倒數(shù)第二個(gè)字節(jié)發(fā)送完成后被置起,直到發(fā)送STOP結(jié)束位時(shí)被清零。最后一個(gè)字節(jié)發(fā)送結(jié)束后,I2C主機(jī)將BTC位置起,因?yàn)橐莆患拇嫫骱虸2C_DATA寄存器此時(shí)都為空。軟件此時(shí)應(yīng)該配置STOP來(lái)發(fā)送一個(gè)STOP結(jié)束位,此后TBE和BTC狀態(tài)位都將被清0。5.簡(jiǎn)述I2C總線的接收流程?答:主機(jī)接收模式下的軟件流程首先,軟件應(yīng)該使能I2C外設(shè)時(shí)鐘,配置I2C_CTL1中時(shí)鐘相關(guān)寄存器來(lái)確保正確的I2C時(shí)序。初始化完成之后,I2C運(yùn)行在默認(rèn)的從機(jī)模式狀態(tài),等待START起始位和地址。軟件將START位置1從而產(chǎn)生一個(gè)起始位發(fā)送一個(gè)START起始位后,I2C硬件將I2C_STAT0的SBSEND位置1然后進(jìn)入主機(jī)模式?,F(xiàn)在軟件應(yīng)該讀I2C_STAT0寄存器然后寫(xiě)一個(gè)7位地址位或10位地址的地址頭到I2C_DATA寄存器來(lái)清除SBSEND位。一旦SBSEND位被清0,I2C就開(kāi)始發(fā)送地址或者地址頭到I2C總線。如果發(fā)送的地址是10位地址的地址頭,硬件在發(fā)送地址頭的時(shí)候會(huì)先將ADD10SEND位置1,軟件應(yīng)該通過(guò)讀I2C_STAT0寄存器然后寫(xiě)10位低地址到I2C_DATA來(lái)清除ADD10SEND位。7位或10位的地址位發(fā)送出去之后,I2C硬件將ADDSEND位置1,軟件應(yīng)該清除ADDSEND位,通過(guò)讀I2C_STAT0寄存器然后讀I2C_STAT1寄存器。如果地址是10位格式,軟件應(yīng)該接著將START位再次置1來(lái)產(chǎn)生一個(gè)開(kāi)始條件(Sr),Sr被發(fā)送出去以后SBSEND位被再次置1。軟件應(yīng)該通過(guò)先讀I2C_STAT0然后寫(xiě)地址頭到I2C_DATA來(lái)清除SBSEND位,然后地址頭被發(fā)到I2C總線,ADDSEND再次被置1。軟件應(yīng)該再次通過(guò)先讀I2C_STAT0然后讀I2C_STAT1來(lái)清除ADDSEND位。一旦第一個(gè)字節(jié)被接收,RBNE位會(huì)被硬件置1。此時(shí)軟件可從I2C_DATA寄存器讀取出第一個(gè)字節(jié),同時(shí)RBNE位被清0。此后任何時(shí)候,一旦RBNE位被置1,軟件就可以從I2C_DATA寄存器讀取一個(gè)字節(jié)的數(shù)據(jù),直到主機(jī)接收了N-3個(gè)字節(jié)。如圖10-10.主機(jī)接收方案(10位地址模式)所示,第N-2個(gè)字節(jié)還沒(méi)被軟件讀出,之后第N-1個(gè)字節(jié)被接收,此時(shí)BTC和RBNE都被置位,總線就會(huì)被主機(jī)鎖死以阻止最后一個(gè)字節(jié)的接收。然后軟件應(yīng)該清除ACKEN位。軟件從I2C_DATA讀出倒數(shù)第三個(gè)(N-2)字節(jié)數(shù)據(jù),同時(shí)也將BTC位清0。此后第N-1個(gè)字節(jié)從移位寄存器被移到I2C_DATA,總線得到釋放然后開(kāi)始接收最后一個(gè)字節(jié),由于ACKEN已經(jīng)被清除,因此主機(jī)不會(huì)給最后一個(gè)字節(jié)數(shù)據(jù)發(fā)送ACK響應(yīng)。最后一個(gè)字節(jié)接收完畢后,硬件再次把BTC位和RBNE置1,并拉低SCL,軟件將STOP位置1,主機(jī)發(fā)出一個(gè)STOP結(jié)束位。軟件讀取第N-1個(gè)字節(jié),清除BTC。此后最后一個(gè)字節(jié)從移位寄存器被移動(dòng)到I2C_DATA。軟件讀取最后一個(gè)字節(jié),清除RBNE。以上步驟需要字節(jié)數(shù)字N>2,N=1和N=2的情況近似。N=1在第4步,軟件應(yīng)該在清除ADDSEND位之前將ACKEN位清0,在清除ADDSEND位之后將STOP位置1。當(dāng)N=1時(shí)步驟5是最后一步。N=2在第2步,軟件應(yīng)該在START置1之前將POAP置1。在第4步,軟件應(yīng)該在清除ADDSEND位之前將ACKEN位清0。在第5步,軟件應(yīng)該一直等到BTC位被置1然后將STOP位置1且讀取I2C_DATA兩次。
第十一章1.串行外設(shè)接口(SPI)和片上音頻接口(I2S)分別支持哪些運(yùn)行模式?答:串行外設(shè)接口(SPI)可以工作于主機(jī)或從機(jī)模式。SPI接口支持具有硬件CRC計(jì)算和校驗(yàn)的全雙工和單工模式。SPI5還支持SPI四線主機(jī)模式。片上音頻接口(I2S)可以在四種模式下運(yùn)行:主機(jī)發(fā)送模式、主機(jī)接收模式、從機(jī)發(fā)送模式和從機(jī)接收模式。2.簡(jiǎn)述SPI常規(guī)配置下各引腳的作用(SCK、MISO、MOSI、NSS)。答:SCK:主機(jī):SPI時(shí)鐘輸出;從機(jī):SPI時(shí)鐘輸入。MISO:主機(jī):數(shù)據(jù)接收線;從機(jī):數(shù)據(jù)發(fā)送線;主機(jī)雙向線模式:不使用;從機(jī)雙向線模式:數(shù)據(jù)發(fā)送和接收線。MOSI:主機(jī):數(shù)據(jù)發(fā)送線;從機(jī):數(shù)據(jù)接收線;主機(jī)雙向線模式:數(shù)據(jù)發(fā)送和接收線;從機(jī)雙向線模式:不使用。NSS:軟件NSS模式:不使用主機(jī);硬件NSS模式:為NSS輸出,NSSDRV=1時(shí),為單主機(jī)模式,NSSDRV=0時(shí),為多主機(jī)模式;從機(jī)硬件NSS模式:為NSS輸入,作為從機(jī)的片選信號(hào)。
第十二章1.簡(jiǎn)述CAN模塊的工作模式和通信模式。答:CAN總線控制器有3種工作模式:睡眠工作模式;初始化工作模式;正常工作模式。睡眠工作模式:芯片復(fù)位后,CAN總線控制器處于睡眠工作模式。該模式下CAN總線控制器的時(shí)鐘停止工作并處于一種低功耗狀態(tài)。將CAN_CTL寄存器的SLPWMOD位置1,可以使CAN總線控制器進(jìn)入睡眠工作模式。當(dāng)CAN進(jìn)入睡眠工作模式后,CAN_STAT寄存器的SLPWS位將被硬件置1。將CAN_CTL寄存器的AWU位置1,并當(dāng)CAN檢測(cè)到總線活動(dòng)時(shí),CAN總線控制器將自動(dòng)退出睡眠工作模式。將CAN_CTL寄存器的SLPWMOD位清0,也可以退出睡眠工作模式。由睡眠模式進(jìn)入初始化工作模式:將CAN_CTL寄存器的IWMOD位置1,SLPWMOD位清0。由睡眠模式進(jìn)入正常工作模式:將CAN_CTL寄存器的IWMOD位和SLPWMOD位清0。初始化工作模式:如果需要配置CAN總線通信參數(shù),CAN總線控制器必須進(jìn)入初始化工作模式。將CAN_CTL寄存器的IWMOD位置1,使CAN總線控制器進(jìn)入初始化工作模式,將其清0則離開(kāi)初始化工作模式。在進(jìn)入初始化工作模式后,CAN_STAT寄存器的IWS位將被硬件置1。由初始化模式進(jìn)入睡眠模式:CAN_CTL寄存器的SLPWMOD位置1,IWMOD位清0。由初始化模式進(jìn)入正常工作模式:CAN_CTL寄存器的SLPWMOD位和IWMOD位清0。正常工作模式:在初始化工作模式中配置完CAN總線通信參數(shù)后,將CAN_CTL寄存器的IWMOD位清0可以進(jìn)入正常工作模式并與CAN總線網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行正常通信。由正常工作模式進(jìn)入睡眠模式:CAN_CTL寄存器的SLPWMOD位置1,并等待當(dāng)前數(shù)據(jù)收發(fā)過(guò)程結(jié)束。由正常工作模式初始化模式:CAN_CTL寄存器的IWMOD位置1,并等待當(dāng)前數(shù)據(jù)收發(fā)過(guò)程結(jié)束。2.簡(jiǎn)述CAN總線的數(shù)據(jù)發(fā)送過(guò)程。答:數(shù)據(jù)發(fā)送步驟如下:第1步:選擇一個(gè)空閑發(fā)送郵箱;第2步:根據(jù)應(yīng)用程序要求,配置4個(gè)發(fā)送寄存器;第3步:將CAN_TMIx寄存器的TEN置1;第4步:檢測(cè)發(fā)送狀態(tài)和錯(cuò)誤信息。典型情況是檢測(cè)到MTF和MTFNERR置1,說(shuō)明數(shù)據(jù)被成功發(fā)送。3.簡(jiǎn)述CAN總線的數(shù)據(jù)接收過(guò)程。答:數(shù)據(jù)接收步驟如下:第1步:查看FIFO中幀的數(shù)量;第2步:通過(guò)CAN_RFIFOMIx,CAN_RFIFOMPx,CAN_RFIFOMDATA0x和CAN_RFIFOMDATA1x讀取數(shù)據(jù);第3步:將寄存器CAN_RFIFOx的RFD置1釋放郵箱,并且等待其由硬件自動(dòng)清0。4.簡(jiǎn)述CAN總線的過(guò)濾功能。答:一個(gè)待接收的數(shù)據(jù)幀會(huì)根據(jù)其標(biāo)識(shí)符(Identifier)進(jìn)行過(guò)濾:硬件會(huì)將通過(guò)過(guò)濾的幀送至接收FIFO,并丟棄沒(méi)有通過(guò)過(guò)濾的幀。過(guò)濾器包含28個(gè)單元,它們是bank0到bank27。每一個(gè)過(guò)濾器單元有2個(gè)寄存器CAN_FxDATA0和CAN_FxDATA1,它們可以配置為2種位寬:32-bit位寬和16-bit位寬。32-bit位寬CAN_FDATAx包含字段:SFID[10:0],EFID[17:0],F(xiàn)F和FT。16-bit位寬CAN_FDATAx包含字段:SFID[10:0],F(xiàn)T,F(xiàn)F和EFID[17:15]。對(duì)于一個(gè)待過(guò)濾的數(shù)據(jù)幀的標(biāo)識(shí)符(Identifier),掩碼模式用來(lái)指定哪些位必須與預(yù)設(shè)的標(biāo)識(shí)符相同,哪些位無(wú)需判斷。對(duì)于一個(gè)待過(guò)濾的數(shù)據(jù)幀的標(biāo)識(shí)符(Identifier),列表模式用來(lái)表示與預(yù)設(shè)的標(biāo)識(shí)符列表中能夠匹配則通過(guò),否則丟棄。5.簡(jiǎn)述CAN總線的波特率計(jì)算方法。答:CAN時(shí)鐘從APB1總線上獲得,波特率計(jì)算公式如下:波特率CAN時(shí)鐘從APB1總線上獲得,波特率計(jì)算公式如下:Baudrate=NormalBitTime=t其中:tSYNC_SEGtBS1tBS2=tq
第十三章1.簡(jiǎn)述IEEE802.3中定義的以太網(wǎng)數(shù)據(jù)包格式。答:MAC的數(shù)據(jù)通信可使用兩種幀格式:基本的MAC幀格式;帶標(biāo)簽的MAC幀格式(對(duì)基本的MAC幀格式的擴(kuò)展)。圖13-2.MAC/帶標(biāo)簽的MAC幀格式描述了幀結(jié)構(gòu)(基本的和帶標(biāo)簽的)2.以太網(wǎng)MAC與外部PHY連接有哪兩種接口?他們的信號(hào)定義分別是什么?答:MII:媒體獨(dú)立接口媒體獨(dú)立接口(MII)用于MAC與外部PHY互聯(lián),支持10Mbit/s和100Mbit/s的數(shù)據(jù)傳輸模式。-MII_TX_CLK:發(fā)送數(shù)據(jù)使用的時(shí)鐘信號(hào),對(duì)于10Mbit/s的數(shù)據(jù)傳輸,此時(shí)鐘為2.5MHz,對(duì)于100Mbit/s的數(shù)據(jù)傳輸,此時(shí)鐘為25MHz。-MII_RX_CLK:接收數(shù)據(jù)使用的時(shí)鐘信號(hào),對(duì)于10Mbit/s的數(shù)據(jù)傳輸,此時(shí)鐘為2.5MHz,對(duì)于100Mbit/s的數(shù)據(jù)傳輸,此時(shí)鐘為25MHz。-MII_TX_EN:發(fā)送使能信號(hào),此信號(hào)必須與數(shù)據(jù)前導(dǎo)符的起始位同步出現(xiàn),并在傳輸完畢前一直保持。-MII_TXD[3:0]:發(fā)送數(shù)據(jù)線,每次傳輸4位數(shù)據(jù),數(shù)據(jù)在MII_TX_EN信號(hào)有效時(shí)有效。MII_TXD[0]是數(shù)據(jù)的最低有效位,MII_TXD[3]是最高有效位。當(dāng)MII_TX_EN信號(hào)無(wú)效時(shí),PHY忽略傳輸?shù)臄?shù)據(jù)。-MII_CRS:載波偵聽(tīng)信號(hào),僅工作在半雙工模式下,由PHY控制。當(dāng)發(fā)送或接收介質(zhì)非空閑時(shí),此信號(hào)有效。PHY必需保證MII_CRS信號(hào)在發(fā)生沖突的整個(gè)時(shí)間段內(nèi)都保持有效。此信號(hào)不需要與發(fā)送/接收的時(shí)鐘同步。-MII_COL:沖突檢測(cè)信號(hào),僅工作在半雙工模式下,由PHY控制。當(dāng)檢測(cè)到介質(zhì)發(fā)生沖突時(shí),此信號(hào)有效,并且在整個(gè)沖突的持續(xù)時(shí)間內(nèi),保持此信號(hào)有效。此信號(hào)不需要與發(fā)送/接收的時(shí)鐘同步。-MII_RXD[3:0]:接收數(shù)據(jù)線,每次接收4位數(shù)據(jù),數(shù)據(jù)在MII_RX_DV信號(hào)有效時(shí)有效。MII_RXD[0]是數(shù)據(jù)的最低位,MII_RXD[3]是最高位。當(dāng)MII_RX_DV無(wú)效,而MII_RX_ER有效時(shí),MII_RXD[3:0]數(shù)據(jù)值代表特定的信息(請(qǐng)參考表27-3.接收接口信號(hào)編碼)。-MII_RX_DV:接收數(shù)據(jù)使能信號(hào),由PHY控制,當(dāng)PHY準(zhǔn)備好數(shù)據(jù)供MAC接收時(shí),該信號(hào)有效。此信號(hào)必須和幀數(shù)據(jù)的第一個(gè)4位同步出現(xiàn),并保持有效直到數(shù)據(jù)傳輸完成。在傳送最后4位數(shù)據(jù)后的第一個(gè)時(shí)鐘之前,此信號(hào)必須變?yōu)闊o(wú)效狀態(tài)。為了正確地接收幀,有效電平不能滯后于數(shù)據(jù)線上的幀首界定碼出現(xiàn)。-MII_RX_ER:接收出錯(cuò)信號(hào),保持一個(gè)或多個(gè)時(shí)鐘周期(MII_RX_CLK)的有效狀態(tài),表明MAC在接收過(guò)程中檢測(cè)到錯(cuò)誤。具體錯(cuò)誤原因需結(jié)合MII_RX_DV的狀態(tài)及MII_RXD[3:0]的數(shù)據(jù)值,詳見(jiàn)表27-3.接收接口信號(hào)編碼。精簡(jiǎn)媒體獨(dú)立接口(RMII)規(guī)范減少了以太網(wǎng)通信所需要的引腳數(shù)。根據(jù)IEEE802.3標(biāo)準(zhǔn),MII接口需要16個(gè)引腳用于數(shù)據(jù)和控制信號(hào),而RMII標(biāo)準(zhǔn)則將引腳數(shù)減少到了7個(gè)。3.以太網(wǎng)DMA控制器描述符有哪兩種結(jié)構(gòu)?答:鏈結(jié)構(gòu)或環(huán)結(jié)構(gòu)。4.簡(jiǎn)述以太網(wǎng)配置流程答:在上電復(fù)位或系統(tǒng)復(fù)位之后,應(yīng)用程序可按以下的典型操作流程來(lái)配置并啟動(dòng)以太網(wǎng)模塊:使能以太網(wǎng)時(shí)鐘:配置RCU模塊來(lái)使能HCLK時(shí)鐘和以太網(wǎng)發(fā)送/接收時(shí)鐘。配置通訊接口:配置SYSCFG模塊,選擇接口模式(MII或RMII);配置GPIO模塊,將相應(yīng)的功能腳映射到復(fù)用功能11(AF11)上。等待復(fù)位完成:輪詢ENET_DMA_BCTL寄存器直到SWR位復(fù)位(SWR位在上電復(fù)位后或系統(tǒng)復(fù)位后默認(rèn)置位)。獲取并配置PHY寄存器參數(shù):根據(jù)HCLK頻率,配置SMI時(shí)鐘頻率,并訪問(wèn)PHY寄存器獲取PHY的信息(例如是否支持半/全雙工,是否支持10M/100Mbit速度等等)。根據(jù)外部PHY支持的模式,配置ENET_MAC_CFG寄存器使與PHY寄存器信息一致。初始化以太網(wǎng)DMA模塊用于數(shù)據(jù)傳輸:配置ENET_DMA_BCTL,ENET_DMA_RDTADDR,ENET_DMA_TDTADDR和ENET_DMA_CTL寄存器,完成DMA模塊初始化(詳細(xì)信息請(qǐng)參考DMA控制器描述章節(jié))。初始化用于存放描述符列表以及數(shù)據(jù)緩存的物理內(nèi)存空間:根據(jù)ENET_DM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介留學(xué)合同范本
- 個(gè)人創(chuàng)業(yè)合同范本
- 勞務(wù)合同范例文件
- 廚房排煙整改合同范本
- 原料加工合同范本
- 單位車(chē)輛出售合同范本
- 合伙創(chuàng)業(yè)交租合同范本
- 合資房協(xié)議合同范本
- 衛(wèi)浴工地供貨合同范例
- 合作合同范本代加工
- 《英語(yǔ)閱讀3》課程教案
- 安全標(biāo)準(zhǔn)化法律法規(guī)識(shí)別清單
- 高分子材料完整版課件
- DB1301∕T 369-2021 設(shè)施蔬菜有機(jī)肥替代化肥技術(shù)規(guī)程
- IPCJEDEC J-STD-020 塑料集成電路(IC)SMD的潮濕回流敏感性分類 該
- a04-hci深信服超融合配置指南_v1
- 急診與災(zāi)難醫(yī)學(xué)第二版配套課件 05 心悸與心律失常
- 流體力學(xué)第二版蔡增基課件
- 天然氣管道保護(hù)蓋板涵施工方案
- 燒結(jié)普通磚抗壓強(qiáng)度試驗(yàn)
- 云南省普通初中學(xué)生成長(zhǎng)記錄.doc
評(píng)論
0/150
提交評(píng)論