freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于s3c44b0步進(jìn)電機(jī)的控制系統(tǒng)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-07-24 19:38 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 序映像文件下載完成后,就可以打開(kāi)電源運(yùn)行系統(tǒng)。調(diào)試嵌入式系統(tǒng)的調(diào)試分為軟件調(diào)試和硬件調(diào)試2種:軟件調(diào)試是通過(guò)軟件調(diào)試器調(diào)試嵌入式軟件;硬件調(diào)試是通過(guò)仿真調(diào)試器完成調(diào)試過(guò)程。由于嵌入式系統(tǒng)特殊的開(kāi)發(fā)環(huán)境,不可避免的是,調(diào)試是必然需要目標(biāo)運(yùn)行平臺(tái)和調(diào)試器兩方面的支持。通常作為調(diào)試軟件部分的調(diào)試器是被集成在安裝在目標(biāo)機(jī)上的嵌入式軟件開(kāi)發(fā)集成環(huán)境(IDE)中的,軟件調(diào)試工具一般都具有ISS功能,即完成代碼在無(wú)硬件調(diào)試環(huán)境下的模擬調(diào)試。而由于真正的硬件運(yùn)行環(huán)境與軟件模擬環(huán)境有教大的差異,ISS只能用于開(kāi)發(fā)者編程練習(xí)或者軟件的初步調(diào)試。硬件調(diào)試器,可以獲得比軟件功能強(qiáng)大得多的調(diào)試性能。硬件調(diào)試器的原理一般是通過(guò)仿真硬件的真正執(zhí)行過(guò)程,讓開(kāi)發(fā)者在調(diào)試過(guò)程中可時(shí)刻獲得執(zhí)行情況。在本次的設(shè)計(jì)中我們主要用軟件調(diào)試方法。,它是一個(gè)使用方便的集成開(kāi)發(fā)環(huán)境。4.2 嵌入式系統(tǒng)的程序設(shè)計(jì)方法不同于基于PC平臺(tái)的程序開(kāi)發(fā),嵌入式系統(tǒng)的程序設(shè)計(jì)具有其自身的特點(diǎn),程序設(shè)計(jì)的方法也會(huì)因系統(tǒng)或因人而異,但其程序設(shè)計(jì)還是有其共同的特點(diǎn)及規(guī)律的。在編寫(xiě)嵌入式系統(tǒng)應(yīng)用程序時(shí),可采取如下幾個(gè)步驟:(1)明確所要解決的問(wèn)題:根據(jù)問(wèn)題的要求,將軟件分成若干個(gè)相對(duì)獨(dú)立的部分,并合理設(shè)計(jì)軟件的總體結(jié)構(gòu)。(2)合理配置系統(tǒng)資源:與基于8位或16位微控制器的系統(tǒng)相比較,基于32位微控制器的系統(tǒng)資源要豐富得多,但合理的資源配置可最大限度的發(fā)揮系統(tǒng)的硬件潛能,提高系統(tǒng)的性能。對(duì)于一個(gè)特定的系統(tǒng)來(lái)說(shuō),其系統(tǒng)資源,如Flash. EEPROM, SDRAM、中斷控制等,都是有限的,應(yīng)合理配置系統(tǒng)資源。 (3)程序的設(shè)計(jì)、調(diào)試與優(yōu)化:根據(jù)軟件的總體結(jié)構(gòu)編寫(xiě)程序,同時(shí)采用各種調(diào)試手段,找出程序的各種語(yǔ)法和邏輯錯(cuò)誤,最后應(yīng)使各功能程序模塊化,縮短代碼長(zhǎng)度以節(jié)省存儲(chǔ)空間并減少程序執(zhí)行時(shí)間。此外,由于嵌入式系統(tǒng)一般都應(yīng)用在環(huán)境比較惡劣的場(chǎng)合,易受各種干擾,從而影響到系統(tǒng)的可靠性,因此,應(yīng)用程序的抗干擾技術(shù)也是必須考慮的,這也是嵌入式系統(tǒng)應(yīng)用程序不同于其他應(yīng)用程序的一個(gè)重要特點(diǎn)。(一) 應(yīng)用系統(tǒng)中的存儲(chǔ)映射在ARM體系結(jié)構(gòu)中,系統(tǒng)復(fù)位后將跳轉(zhuǎn)到地址0x0處執(zhí)行,該處存放的是復(fù)位異常中斷的中斷向量。對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),在系統(tǒng)復(fù)位時(shí)RAM中是不存在代碼和數(shù)據(jù)的。因此在系統(tǒng)復(fù)位時(shí),地址0x0處該為ROM,即系統(tǒng)復(fù)位后應(yīng)該首先從ROM中開(kāi)始執(zhí)行。在S3C44B0X處理器的嵌入式系統(tǒng)開(kāi)發(fā)中,也是通過(guò)存儲(chǔ)控制器為片外存儲(chǔ)器訪問(wèn)提供必要的控制信號(hào),管理片外存儲(chǔ)部件的。圖41為S3C44B0X復(fù)位后的存儲(chǔ)器地址分配圖。從圖可以看出:特殊功能寄存器位于0x01C00000~0x02000000的4MB空間內(nèi);Bank0~Bank5的起始地址和空間大小都是固定的;Bank6的起始地址是固定的,空間可配置為2/4/8/16/32MB;Bank7的空間大小和Bank6一樣是可變的,也可配置為2/4/8/16/32MB。圖41 S3C44B0X復(fù)位后的存儲(chǔ)器地址分配因?yàn)橄鄬?duì)于ROM來(lái)說(shuō),RAM的數(shù)據(jù)寬度較大,速度較快,這會(huì)使系統(tǒng)響應(yīng)異常中斷的速度更快。而且如果異常中斷向量表放在RAM中,程序在運(yùn)行過(guò)程中程序可以修改中斷向量表的內(nèi)容,使得系統(tǒng)更為靈活。(二) 系統(tǒng)初始化盡管各種嵌入式系統(tǒng)結(jié)構(gòu)以及功能相差很大,但其系統(tǒng)初始化部分完成的操作有很大一部分是相似的。系統(tǒng)初始化程序通常也稱(chēng)為Boot Loader,代碼量雖少,但是作用非常大,相當(dāng)于PC上的BIOS,負(fù)責(zé)將操作系統(tǒng)內(nèi)核固化到Flash中和系統(tǒng)初始化工作,然后將系統(tǒng)控制權(quán)交給操作系統(tǒng)。(1)系統(tǒng)運(yùn)行環(huán)境的初始化 對(duì)于嵌入式應(yīng)用系統(tǒng)和具有操作系統(tǒng)支持的應(yīng)用系統(tǒng)來(lái)說(shuō),相同運(yùn)行環(huán)境初始化部分的工作是不同的。對(duì)于有操作系統(tǒng)支持的應(yīng)用系統(tǒng)來(lái)說(shuō),在操作系統(tǒng)啟動(dòng)時(shí)將會(huì)初始化系統(tǒng)運(yùn)行環(huán)境。操作系統(tǒng)在加載應(yīng)用程序后,將控制權(quán)轉(zhuǎn)交到應(yīng)用程序的main()函數(shù)。然后,C運(yùn)行時(shí)庫(kù)中的__main()初始化應(yīng)用程序。而對(duì)于嵌入式應(yīng)用系統(tǒng)來(lái)說(shuō),由于沒(méi)有操作系統(tǒng)的支持,存放在ROM中的代碼必須進(jìn)行所有的初始化工作。系統(tǒng)運(yùn)行環(huán)境的初始化主要包括以下內(nèi)容:初始化存儲(chǔ)系統(tǒng)如果系統(tǒng)中存在MMU或者M(jìn)PU,在進(jìn)行下列操作時(shí)必須初始化好這些部件:使能IRQ中斷及FIQ中斷、涉及到RAM的操作。初始化數(shù)據(jù)指針 在ARM體系中,各種處理器模式都擁有其自己的數(shù)據(jù)棧。初始化關(guān)鍵的IO設(shè)備設(shè)置中斷系統(tǒng)需要的RAM變量使能異常中斷(2)應(yīng)用程序的初始化應(yīng)用程序的初始化主要完成將己經(jīng)初始化的數(shù)據(jù)搬運(yùn)到可寫(xiě)的數(shù)據(jù)區(qū),并初始化要用到的C程序的變量。在系統(tǒng)初始化完成之后,程序?qū)?zhí)行權(quán)交給主函數(shù)main (),在main()中執(zhí)行與系統(tǒng)功能相關(guān)的操作。4.3 本系統(tǒng)應(yīng)用程序設(shè)計(jì) 4.3.1 系統(tǒng)軟件部分設(shè)計(jì)構(gòu)思一個(gè)完整的測(cè)試系統(tǒng)必須要有一個(gè)操作簡(jiǎn)潔方便、質(zhì)量高的軟件系統(tǒng)來(lái)支持。對(duì)于一個(gè)硬件電路,配以不同的軟件,所實(shí)現(xiàn)的功能也就不同,而且有些硬件電路功能??梢杂密浖?lái)實(shí)現(xiàn)。研制一臺(tái)便攜式儀器,軟件工作量往往大于硬件,可以認(rèn)為,便攜式儀表的設(shè)計(jì),很大程度上是軟件的設(shè)計(jì)。本系統(tǒng)軟件設(shè)計(jì)思想是采用結(jié)構(gòu)化設(shè)計(jì)方法中的模塊化程序設(shè)計(jì)。代碼使用C語(yǔ)言來(lái)編寫(xiě)。為了使程序易于編寫(xiě)與調(diào)試,也為了便于檢驗(yàn)和維護(hù),總是設(shè)法把程序編寫(xiě)成一個(gè)個(gè)結(jié)構(gòu)完整,相對(duì)獨(dú)立的程序段。這樣一個(gè)程序段,可以看作一個(gè)可調(diào)用的子程序,即一個(gè)程序模塊。把整個(gè)程序按照“自頂向下”的設(shè)計(jì)來(lái)分塊,一層層分下去,一直分到最下層的每一模塊能容易編寫(xiě)為止,即所謂模塊化編程。模塊化編程有利于程序設(shè)計(jì)任務(wù)的劃分,例如,各種可編程接口,電路的初始化程序等等,都是一個(gè)個(gè)獨(dú)立的模塊,能被任意調(diào)用。有利于大程序的搭建,也便于程序的修改。程序設(shè)計(jì)一般采用“自頂向下”的方法。這種方法在程序設(shè)計(jì)時(shí)的優(yōu)點(diǎn)是明顯的,但在具體編程時(shí)最好采用“自底向上”的方法,即從最低層的模塊開(kāi)始編程,然后進(jìn)行上層的模塊編程,直至最后完成。實(shí)踐證明,這種方法可大大減少系統(tǒng)調(diào)試的難度,不易出現(xiàn)難以排除的故障或問(wèn)題。根據(jù)設(shè)計(jì)內(nèi)容要求編寫(xiě)的主程序流程圖如圖42所示:開(kāi) 始定義變量分配系統(tǒng)空間確定工作頻率 中斷/I/O口/通用異步收發(fā)器(UART)初始化 電機(jī)控制延時(shí) 判斷接受按鍵信號(hào) 否 是結(jié)束 圖42 主程序流程圖4.3.2 主要摸塊軟件設(shè)計(jì)(一) 電機(jī)控制程序本設(shè)計(jì)中選用四相永磁式步進(jìn)電動(dòng)機(jī)。其工作原理是:轉(zhuǎn)子由永久磁鐵組成,利用其磁場(chǎng)與定子產(chǎn)生的磁場(chǎng)作用,產(chǎn)生轉(zhuǎn)動(dòng)力矩。步進(jìn)電機(jī)是一種利用電磁鐵的作用原理將電脈沖信號(hào)轉(zhuǎn)換為線位移或角位移的電機(jī)。由于它是在外加電脈沖信號(hào)的作用下一步一步地運(yùn)轉(zhuǎn)的,因此它的運(yùn)動(dòng)形成是步進(jìn)的,故稱(chēng)為步進(jìn)電機(jī)。由于步進(jìn)電機(jī)的角位移量和輸入脈沖的個(gè)數(shù)成正比,在時(shí)間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率及電機(jī)繞組通電順序,便可獲得所需的轉(zhuǎn)角、轉(zhuǎn)速及轉(zhuǎn)動(dòng)方向。無(wú)脈沖輸入時(shí),在繞組電源的激勵(lì)下,氣隙磁場(chǎng)使轉(zhuǎn)子保持原有位置于定位狀態(tài)。此步進(jìn)電機(jī)為四相步進(jìn)電機(jī)。系統(tǒng)中采用四路I/O 進(jìn)行并行控制,ARM控制器直接發(fā)出多相脈沖信號(hào),在通過(guò)功率放大后,進(jìn)入步進(jìn)電機(jī)的各相繞組。這樣就不再需要脈沖分配器。脈沖分配器的功能可以由純軟件的方法實(shí)現(xiàn)。四相步距電機(jī)的控制方法有四相單四拍,四相單、雙八拍和四相雙四拍三種控制方式。步距角的計(jì)算公式為:= 公式41其中:m 為相數(shù),控制方法是四相單四拍和四相雙四拍時(shí)C 為1,控制方法是四相單、雙八拍時(shí)C 為2,Zk 為轉(zhuǎn)子小齒數(shù)[2]。本系統(tǒng)中采用的是四相雙四拍控制方法,電壓波形如圖43所示。開(kāi)發(fā)板中使用PEPEPEPE6四個(gè)端口控制四相步進(jìn)電機(jī)的驅(qū)動(dòng)的四個(gè)引腳。按照四相雙四拍控制方法,電機(jī)正轉(zhuǎn)時(shí)的控制順序?yàn)镻EPE4—PEPE5—PEPE6—PEPE3。反轉(zhuǎn)時(shí),只要將控制信號(hào)按相反的順序給出即可。PE3PE4PE5PE6圖43 電機(jī)控制電壓波形處理器通過(guò)I/O口和外圍硬件連接。S3C44BOX有71個(gè)通用可編程多功能輸入/輸出引腳,可以分為7類(lèi)端口:兩個(gè)9位輸入/輸出端口(PortE和PortF)。兩個(gè)8位輸入/輸出端口(PortD和PortG)。一個(gè)16位輸入/輸出端口(PortC)。一個(gè)10位輸出端口(PortA)。一個(gè)11位輸出端口(PortB);每個(gè)端口都可以通過(guò)軟件設(shè)置來(lái)滿(mǎn)足各種各樣的系統(tǒng)設(shè)置和要求。每個(gè)端口的功能通常都要在主程序開(kāi)始前被定義。如果一個(gè)引腳的多功能沒(méi)有使用,那么這個(gè)引腳將被設(shè)置為I/O端口。在引腳配置之前,需要對(duì)引腳的初始化狀態(tài)進(jìn)行設(shè)定,以避免一些出現(xiàn)的問(wèn)題。 對(duì)電機(jī)的控制我們選用的是PE口的PEPEPEPE6四個(gè)口對(duì)電機(jī)進(jìn)行雙四拍控制。通過(guò)對(duì)PEPEPEPE6的設(shè)置進(jìn)行延時(shí)形成脈沖使電機(jī)轉(zhuǎn)動(dòng)。表41是端口E控制寄存器,包括端口E的配置寄存器PCONE、數(shù)據(jù)寄存器PDATE和上拉電阻配置PUPE。 表41 端口E控制寄存器PCONE 地址:0X01D20028 R/W 配置寄存器 初始值:0X00PDATE 地址:0X01D2002C R/W 數(shù)據(jù)寄存器 初始值:未定義PUPE 地址:X01D20030 R/W 上拉電阻配置 初始值:0X00寄存器位位名稱(chēng)描述配置寄存器[17:16]PE800=保留 01=OUTPUT10=CODECLK 11=保留[15:14]PE700=INPUT 01=OUTPUT 10=TOUT4 11=VD7[13:12]PE600=INPUT 01=OUTPUT 10=TOUT3 11=VD6 [11:10]PE500=INPUT 01=OUTPUT 10=TOUT2 11= TCLK [9:8]PE400=INPUT 01=OUTPUT 10=TOUT1 11=TCLK IN[7:6]PE300=INPUT 01=OUTPUT 10=TOUT0 11=保留[5:4]PE200=INPUT 01=OUTPUT 10=RxD0 11=保留[3:2]PE100=INPUT 01=OUTPUT 10=TxD0 11=保留[1:0]PE000=INPUT 01=OUTPUT 10=Fpllo out 11=Fout out數(shù)據(jù)寄存器[8:0]PE8~PE0當(dāng)端口配置為輸出口時(shí),對(duì)應(yīng)腳的狀態(tài)和該位的值相同。當(dāng)端口配置為功能引腳時(shí),如讀該位值,將是一個(gè)不確定的值。上拉電阻配置[7:0]PE7~PE00=允許上拉電阻連接到對(duì)應(yīng)腳1=不允許上拉電阻連接到對(duì)應(yīng)腳PE8沒(méi)有可編程的上拉電阻開(kāi) 始流程圖如圖44所示: 設(shè)置變量及初始化狀態(tài)允許上拉電阻配置設(shè)置PEPE4口 調(diào) 用 延 時(shí)設(shè)置PEPE5口 調(diào) 用 延 時(shí) 設(shè)置PEPE6口 調(diào) 用 延 時(shí)設(shè)置PEPE3口 調(diào) 用 延 時(shí)結(jié)束 圖44 電機(jī)控制流程圖 程序?yàn)椋簐oid bj_dj ( unsigned int d_time){ unsigned int i,j=0。 rPCONE=rPCONE amp。 (~((0x36) |(0x38)|(0x310) |(0x312))) |(0x16)|(0x18)|(0x110)|(0x112)。//對(duì)引腳的初始化狀態(tài)進(jìn)行設(shè)定 rPUPE=0x00。 //0xff。 rPDATE=0x00。 Delay(10)。 rPDATE=0x18。 // pe3 = 1, pe4=1 Delay(d_time)。 rPDATE=0x00。Delay(10)。rPDATE=0x30。 // pe4 = 1, pe5=1Delay(d_time)。rPDATE=0x00。Delay(10)。rPDATE=0x60。 // pe5 = 1, pe6=1Delay(d_time)。rPDATE=0x00。Delay(10)。rPDATE=0x48。 // pe6 = 1, pe3=1Delay(d_time)。 rPDATE=0x00。}(二)延時(shí)程序設(shè)計(jì)[9]看門(mén)狗根據(jù)程序在運(yùn)行指定時(shí)間間隔內(nèi)是否進(jìn)行相應(yīng)的操作來(lái)判斷程序是否出錯(cuò),即未按時(shí)復(fù)位看門(mén)狗,定時(shí)器為出錯(cuò)。因此看門(mén)狗是保證嵌入式軟件長(zhǎng)期、可靠和穩(wěn)定運(yùn)行的有效措施之一。目前大部分嵌入式芯片片內(nèi)都帶有看門(mén)狗定時(shí)器,以次來(lái)提高系統(tǒng)運(yùn)行的可靠性。當(dāng)受到故障例如噪聲或系統(tǒng)錯(cuò)誤的干擾時(shí),S3C44BO看門(mén)狗定時(shí)器能夠繼續(xù)控制器的操作。它可用做一個(gè)普通的16位定時(shí)器去請(qǐng)求中斷服務(wù),并可在每128MCLK后產(chǎn)生一個(gè)周期的復(fù)位信號(hào)。 看門(mén)狗定時(shí)器具有以下特征: 帶中斷請(qǐng)求的普通間隔定時(shí)器模式; 當(dāng)定時(shí)器計(jì)數(shù)值達(dá)到0時(shí)(時(shí)限),
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1