


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電感器軟件系統(tǒng)設(shè)計(jì)木糸統(tǒng)軟件在KeilForAnn肌片機(jī)E諳言編理環(huán)疑編杵.ARM7TDM結(jié)構(gòu)的Mil幵發(fā)蠱件采用垠新址計(jì)的11訕班切3蚩或開(kāi)發(fā)環(huán)境*內(nèi)悵C編像器加編器/調(diào)試器導(dǎo)功能模塊*足一款穩(wěn)定f可靠陽(yáng)tf效的開(kāi)發(fā)丁/L適用F不同層次的用戶(hù),完全滿(mǎn)足從專(zhuān)業(yè)的應(yīng)用開(kāi)發(fā)工理曲到初學(xué)嵌入式軟件開(kāi)發(fā)的螟生的所有使用要求.KeiluVision謂試器可以柄師用戶(hù)準(zhǔn)確地調(diào)試ARM器件的片內(nèi)外圍功Sfc(12C.CAN.L'ART.SPL中斷O口、A/D轉(zhuǎn)挽器、DAX轉(zhuǎn)換器利PW'M模塊導(dǎo)功能hJLKUSB-JTAG轉(zhuǎn)換卷將PC機(jī)的USB端口與用戶(hù)的日標(biāo)硬件相il(MiiJTAGIOCD
2、).使川戶(hù)可在目標(biāo)蝶仲上岡試代碼.通過(guò)使用KeilLiVisionIDE/lWfUIJNKLJSBJTAG用戶(hù)可以很片便地編酣、F戟和在實(shí)際的日標(biāo)理件上測(cè)試嵌入的稈序*本疋遼計(jì)的軟件部分在斛文己肓略述.系綻軟件包梏監(jiān)控主程序"系址劃始化管理模塊和索址迄帝到存?zhèn)€階段所需的子程序模塊本卓將介紹程序的測(cè)城閡了心和打真現(xiàn)及用戶(hù)自定文環(huán)節(jié).4LM3S9B96初始化為了使系統(tǒng)正常工作.倉(cāng)先要對(duì)單片機(jī)進(jìn)廳初始化設(shè)賞*其中包折GPIO端口初始化、ADC定時(shí)麗初始化零*(Tnput/Output)搖口是一個(gè)徹控制器必須具備的繪革本外訛功能=通常在ARMfft(所fjl/O都是通用的,稱(chēng)陽(yáng)GP1O(Ge
3、neralPurposeInpuOutput).毎個(gè)GP【O端口包含8個(gè)管腳,如PA端口PA0-PA7.GPIO摸塊支持多個(gè)可編程輸入F輸血皆腳【堆體収決丁-打GP1O復(fù)用的外設(shè)的便紹情況人LM3S9B96的GP1O竹卿類(lèi)業(yè)可以民世成高阻輸入、推挽輸出、開(kāi)聲輸出三大類(lèi),毎一類(lèi)馬中邇耐上扭.下拉的區(qū)別.對(duì)于配置出件輸入端口的管腳端【1可按歟舉求設(shè)置,但是對(duì)輸入唯-真疋有影響的是上拉或卜擔(dān)終端的配胃*開(kāi)漏愉Hl能夠力便迪實(shí)現(xiàn)不同邏組電平2間的轉(zhuǎn)(J1H33V到5V之間人只需外接一個(gè)上擔(dān)電陽(yáng)而不需要魏外的轉(zhuǎn)換電路.在根粥電路対GP1O的使用惜況,需先將鮮鳴器以及hED所在的帶腳PA1和P典2設(shè)為推挽
4、舖出,按鍵組所在管卿PA0.PA6PA?配彗溝拓陰輸入,橋開(kāi)關(guān)電斑所在管謀PCXAPD3設(shè)訛為捋挽輸曲輸出使能信號(hào)卩卜4BF1以婭SDA.曲斤時(shí)陶的I七骨也PFGPF7配屋為卄淅軸出*ADC1肝在許腳PD7為高阻輸入,液晶顯樂(lè)管腳PB4-PB6為播挽輸出.踹幷初始化耗序Portjnit()iirF:onlnittGPOPinTypeCPlOOutpnt(LCDPORT.VRS);f楚義咸推挽輸出模式GP!OPnTpcGPOOutpul(LCD_PORT,P_RW);"定義成推挽輔出模式GPlOPinTypeGPTOOutput(LCDEPORT.匕E);"定丈成推挽輸出壩式
5、GPlOPinTypcGPlOOutpuKLED-PORT,LED!);/定文LED燈列愉出線GPIOPinTypeGPIOOutput(LEDPORT,FMQ);/定義蜂鳴簽為輸出口線GPIOPinTypeGPIOInput(KEYPORT,K|K_2|K_3|K_4);設(shè)置KEY的GP【O端口為輸入GPIOPinTypeGPIOOutput(SW_PORT,S1|S2|S3|S4);II橋開(kāi)關(guān)所在的GPIO端口成輸岀模式GPIOPinTypeGPIOOutputOD(EoutPORT,EI|E2);定義成開(kāi)漏輸出模式GPIOPinTypeGPIOOutputOD(I2C_PORT,SDA|
6、SCL);/定義I2C接口開(kāi)漏輸出模式)在測(cè)量電感直流內(nèi)阻時(shí),利用到了LM3S9B96芯片的ADC1通道。Stellaris系列ARM內(nèi)部集成有一個(gè)10位的ADC模塊,支持8個(gè)輸入通道,以及一個(gè)內(nèi)部溫度傳感器.ADC模塊含有個(gè)可編程的序列發(fā)生器,可左無(wú)需控制器干涉的悄況卜對(duì)多個(gè)模擬輸入源進(jìn)行采樣.毎個(gè)采樣序列均對(duì)完全可配宜的輸入源、觸發(fā)爭(zhēng)件、中斷的產(chǎn)生和序列優(yōu)先級(jí)捉供靈活的編程轉(zhuǎn)換器采用內(nèi)部的3V參考電壓,因此測(cè)金范國(guó)只能?chē)?guó)圧在0-3VZ間通過(guò)前文的介紹,可知電感內(nèi)祁:Sift內(nèi)131股都從兒mQ到兒十d所測(cè)電密(IpH1H)在充電穩(wěn)定狀亦下相對(duì)應(yīng)的直流電樂(lè)一般都在3V以下,足夠滿(mǎn)足測(cè)址的需耍
7、.ADC初始化聊序沒(méi)迓了ADC的工作方式(處理器觸發(fā)中所)、轉(zhuǎn)換啟動(dòng)方式和采樣速率等參數(shù).根塀系統(tǒng)工作要求,編寫(xiě)ADC部分的初始化程序ad:Init(void):voidadclnit(void)SysCtlPeripheralEnable(SYSCTL_PERlPHADC);使能ADC莫塊SysCtlPeripheralEnable(SYSCTL_PER!PHGPiOE);/使能GPIOE端口SysCtlADCSpeedSet(SYSCTLADCSPEED_125KSPS);/設(shè)置ADC采樣速率ADCSequcnccDisable(ADC_BASE.0);/配辻前先祭止采樣序列GPIOPin
8、TypeADC(GPIO_PORTEBASE,ADC1);設(shè)置GP1OE瑞口第6管腳為ADC功能采樣序列配M:ADC基址,采樣序列編號(hào),鮭發(fā)爭(zhēng)件,采樣優(yōu)先級(jí)ADCSequenceConfigure(ADCBASE,0,ADCTRIGGER_PROCESSOR,0);采樣步進(jìn)汝養(yǎng)?ADC茶址,采樣序列編號(hào),步侑,通道設(shè)盤(pán)ADCSequenceConfigure(ADCBASE,0,0.ADC_CTL.CH1|ADC_CTL_FND|ADC一CTIE);ADCProcessorTrigger(ATX?_BASE,0);/處理器倉(cāng)發(fā)采樣序列ADCIntEnable(ADC_BASE.0);便能ADC
9、中斷IntEnable(INT_ADC0);使能ADC采樣序列中斷IntMasterEnable();使能處理器中斷ADCSequenceEnable(ADCBASE,0);使能采樣序列圧ARM內(nèi)部通常集成有24個(gè)通用定時(shí)器模塊,分別稱(chēng)為T(mén)imerO、TimerkTimer2和Timer3»它們的用法是相同的:毎個(gè)Timer模塊都可以配胃為一個(gè)32位淀時(shí)掘或-個(gè)32位RTC泄時(shí)器:也可以拆分為兩個(gè)16位的定時(shí)川數(shù)器TimerA和TimerB,它們可以被配曽為獨(dú)立運(yùn)行的定時(shí)器、爭(zhēng)件計(jì)數(shù)28或PWMO根據(jù)儀器定時(shí)控制開(kāi)關(guān)組和倍號(hào)使陡端的要求,編寫(xiě)定時(shí)器初始化initjimer(void)
10、如下:voidinittimcr(void)SysCllPeripheralEnable(SYSCTL_PERIPH_TIMERO);/使能定時(shí)器0模塊lntMasterEnable();/使能全局中斷TimerConfigure(TlMEROBASE,TIMER_CFG_32_B1T_PER);設(shè)置定時(shí)器為周期辿發(fā)模式TimerLoadSet(TIMERO_BASE,TlMER.A.SysCtIClockGetO/1000);定時(shí)器裝找值lOOps獲取當(dāng)前的Timer計(jì)數(shù)值(在16位輸入邊沿定時(shí)捕獲模式下,獲取的是捕獲值)ulValuc*TimerValucGct(TIMEROBASE,TI
11、MERA);lntEnablc(INT_T!MEROA);Z/能定時(shí)器0外設(shè)TimerlntEnable(TIMEROBASEtTlMERTlMATlMEOUT)y/設(shè)貧定時(shí)器為超時(shí)中斷TimerEnable(TIMERO_BASE,T1MER_A);使能定時(shí)器0外設(shè)4.2軟件控制及測(cè)量軼件控制及熒雖部分包拈了定時(shí)器中斷控制、外部倫入中斷控制以及處理器中斷觸發(fā)ADC采樣在定時(shí)器初始化中已經(jīng)TimcrO配遡為32位周期定時(shí)器,每次執(zhí)行時(shí)間為100",設(shè)定時(shí)間為遞減計(jì)數(shù),當(dāng)時(shí)間遞減為0時(shí)定時(shí)器貶新加載初值100“。定時(shí)器控制開(kāi)關(guān)組匸作共分5個(gè)狀態(tài),每個(gè)狀態(tài)持續(xù)時(shí)間為IOOjis,分別為正
12、向充電、正向充電ADC檢測(cè)、正向放電.反向充電和反向放電.瓦流程圖如41所示.圖41定時(shí)器中斷流釋圖Fig.4丨Theflowchartofthetimerinterrupt任正向與反向放電時(shí)控制使能信號(hào)EkE2允許外部信號(hào)輸入,此時(shí)外部借號(hào)即是二極管導(dǎo)適與裁止時(shí)所對(duì)應(yīng)的電平由低到高:在其余情況FEl、E2使能禁止,外部輸入信號(hào)會(huì)一直序續(xù)高電平.利用16位輸入邊沿計(jì)數(shù)捕獲,在該模式中,TimerA或TimerB被配置為自由運(yùn)行的16位遞必計(jì)數(shù)器.允許在輸入他號(hào)的上升沿或下降沿捕獲出件.該模式的工作過(guò)円是:訕置裝戰(zhàn)值、捕獲邊沿類(lèi)型:計(jì)數(shù)器被便能后開(kāi)始自白運(yùn)行,從裝誠(chéng)值開(kāi)始遞減計(jì)數(shù),計(jì)數(shù)到0時(shí)窺裝
13、初值,繼續(xù)計(jì)數(shù):如果從CCP管腳上出現(xiàn)有效的輸入脈沖邊沿那件,則當(dāng)前計(jì)數(shù)值被自動(dòng)復(fù)制到一個(gè)特定的寄存器里,該值會(huì)一直保存不變,直至遇到卜一個(gè)有效輸入邊沿時(shí)被刷新.為了能夠及時(shí)讀取捕獲到的計(jì)敵值,應(yīng)半使能邊沿爭(zhēng)件捕獲中斷,并在中斷服務(wù)用數(shù)里讀取.通過(guò)這種方式就能對(duì)檢測(cè)出電感對(duì)二極管放電,二極詩(shī)導(dǎo)通對(duì)應(yīng)的低電平所持續(xù)的時(shí)間.定時(shí)器控制中斯及ADC采樣程序如下:voidTimer01ntHandler(void)staticchars_ptr=O;TimerIntClear(TIMEROBASE,TIMER_TIMA_T1MEOUT);/瀰除TimerO的中斷switch(sptr)case0:正向
14、充電GPIOPinWrite(SW_PORT,V3JV2,OxfY);V3V2閉介開(kāi)關(guān)S2S3斷開(kāi)GPIOPinWrile(SW_PORT,V1|V4.0x00);/V4VI斷開(kāi)開(kāi)關(guān)SIS4閉合GPIOPinWritc(Eout_PORT,El|E2,0x00);封鎖break;case1:正向充電十ADC觸發(fā)GPIOPinWrite(SW_PORl;V3|V2.Oxfl);V3V2閉合開(kāi)關(guān)S2S3斷開(kāi)GPIOPinWrite(SWPORT,VI|V4.0x00);/V4VI斷開(kāi)開(kāi)關(guān)SIS4閉合GPIOPinWrite(EoutPORT.E1|E2.0x00);封鎖/DCProcessorTr
15、igger(ADC_BASEf0);break;case2:正向放呵*GPIOPinWritc(EouLPORLEl,Oxff);/El輸出允許GPlOPinWrite(SW_PORT,V3|V2|V1,Oxfi);/V3V2VI閉合開(kāi)關(guān)SIS2S3斷開(kāi)GPlOPinWritc(SWPORT,V4t0x00);/V4斷開(kāi)開(kāi)關(guān)S4閉合break;default:s_ptr=O;break;if(s_ptr=4)sptr=O;elses_ptr+;程序中首先設(shè)訝靜態(tài)變Ssptr的初始狀態(tài)為0.當(dāng)?shù)谝粋€(gè)loops到來(lái)時(shí),系統(tǒng)進(jìn)入中斷后先將TimerO的中斷控制位清除.便下一次定時(shí)器中斷開(kāi)始.程序開(kāi)始
16、執(zhí)行下一條語(yǔ)句即switcho在switch(sptr)中,s_ptr的初始狀態(tài)為0,所以先執(zhí)行case0的操作,控制開(kāi)關(guān)組對(duì)電感正向充電,此時(shí)使能端El、E2輸出為零,外部輸入信號(hào)“"、切2會(huì)一宜持續(xù)高電平(見(jiàn)邏輯波形圖3-7),變fis_ptr自動(dòng)加1.當(dāng)?shù)诙€(gè)100“到來(lái)時(shí),再一次進(jìn)入中斷并清除中斷標(biāo)志位,此時(shí)程序進(jìn)入第二狀態(tài),同第一狀態(tài)相同只是在此時(shí)測(cè)皐電感上的自流電壓即ADC采樣,計(jì)算后便可得到電感直流內(nèi)阻",變雖s_ptr自變成2第三個(gè)100聲到來(lái)時(shí),程序執(zhí)行case2語(yǔ)句,控制開(kāi)關(guān)對(duì)電感放電,同時(shí)使能端El、E2輸出為1,外部輸入信號(hào)“”、ul2電平會(huì)發(fā)生跳變
17、,從高電平變?yōu)榈碗娖剑ǘO管導(dǎo)通)再變?yōu)楦唠娖剑姼心芫筒蛔銓?dǎo)通二極管而截至),此時(shí)設(shè)置外部中斷信號(hào)為雙邊沿觸發(fā)定時(shí)捕獲,當(dāng)高變低即下降沿時(shí),於片機(jī)此時(shí)捕獲時(shí)間值S當(dāng)?shù)妥兏唠娖綄?duì)應(yīng)的上升沿時(shí),系統(tǒng)乂搶獲另一時(shí)間值4其中捕獲時(shí)間為遞減計(jì)數(shù)的,將“與"相減就可得到電感對(duì)二極管放電使其導(dǎo)通的穩(wěn)定時(shí)間段。同上,第四、第五狀態(tài)與第一、第三狀態(tài)相同,為電感的反向充電(case3)與反向放電狀態(tài)(casc4),在第五狀態(tài)結(jié)束后,str變成0,系統(tǒng)乂開(kāi)始熏復(fù)對(duì)電感執(zhí)行上述五個(gè)狀態(tài).程序執(zhí)行狀態(tài)如圖42所示.RIGOLr0fn1.20UL«Q>93.UWrim*圖4-2交替充放電波形圖
18、Fig.4-2Alternatingchargeanddischargewaveformfigure在電路中將被測(cè)電感換成電阻,測(cè)最其兩端的電壓信號(hào)用示波器可得到上圖波形。在圖中可看出A、B、C、D、E區(qū)持續(xù)的時(shí)間是相等的,可將其視作單片機(jī)控制恒流源對(duì)電阻充放電的五個(gè)階段。在A區(qū)和B區(qū)為電感正向充電的兩個(gè)階段,測(cè)得兩端的電壓為高電平,C區(qū)為放電階段,因?yàn)殡婈幵淮鎯?chǔ)電能,所以放電階段兩端電壓為0在D區(qū)為電阻的反向充電階段,因此再有恒流游通過(guò)時(shí)兩端電壓為負(fù)電壓即低電平。E區(qū)為反向放電階段,測(cè)得兩端電圧為0分析圖形可看出,穆序執(zhí)行情況正確,符合對(duì)電感充放電以及直流內(nèi)阻的檢測(cè)過(guò)程.在軟件控制及測(cè)雖
19、過(guò)程中可以得到將電感主要因數(shù)放電時(shí)間Tq和吃測(cè)量出,此后通過(guò)MATLAB軟件進(jìn)行曲線擬合(擬合過(guò)程將會(huì)在MATLAB擬合及數(shù)據(jù)分析中詳細(xì)介紹),得到電感投據(jù)和d的計(jì)舁關(guān)系式為厶=a°+a刀+6%,在上控程序中根據(jù)不同電感類(lèi)型,調(diào)用各白的如、參數(shù),即在上控程序中通過(guò)計(jì)算關(guān)系戒可得到垠終的電感值。4.3液晶顯喬考遑到引腳限制,使用所需引腳較少的串口調(diào)試來(lái)控制VGLSI2864T液晶顯示模塊,系統(tǒng)要求主頁(yè)顯示待測(cè)電膳的直流內(nèi)阻、正向充電時(shí)間、反向充電時(shí)間以及電感呈,在笫二屏顯示電感的種類(lèi)對(duì)應(yīng)的編號(hào),用戶(hù)通過(guò)編兮來(lái)選擇對(duì)應(yīng)電感的類(lèi)型,第三屏卜顯示對(duì)應(yīng)類(lèi)型以及參數(shù)a。、a八,用戶(hù)通過(guò)訓(xùn)用參數(shù)后
20、回到主屏慕中計(jì)笄電感量,應(yīng)用程序要能實(shí)現(xiàn)上述功能。這里主要介紹軟件實(shí)現(xiàn)。MGLS12864T液品顯示模塊白帶漢字庫(kù),便丁用戶(hù)編寫(xiě)漢字顯示程序,MGLS12864T液胡顯示模塊毎個(gè)屏強(qiáng)町顯示4行8列共32個(gè)16*16點(diǎn)陣的漢字,一個(gè)漢字占兩個(gè)字節(jié)空間,字符址示在液晶模塊RAM中的地址80H-9FH,字符顯示的RAM地址與32個(gè)字符顯示區(qū)域有看對(duì)應(yīng)的關(guān)系,其關(guān)系如下圖4-3所示.«0H81H8211831184H851186H87H90H91H921193H94H95H961197H88H89H8All8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH圖4-3RAM地址與顯示區(qū)域關(guān)系Fig.4-3RelationsbetweenRAM'saddressandexplicitregio丙此顯示宇符、數(shù)字或漢字需要寫(xiě)入顯示字符的區(qū)域和顯示的內(nèi)容,其流程圖如圖4-4所示.圖44顯示流程圖Fig.4-4Displayflowchart莊編寫(xiě)完相應(yīng)的程序后,用戶(hù)只需通過(guò)一條指令即可實(shí)現(xiàn)如dis_str(2,l/正向:”);該指令實(shí)現(xiàn)功能為從第二行第一列將“”里的內(nèi)容顯示出來(lái)。其屏顯示如圖45
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢除授權(quán)行為3篇
- 勞動(dòng)合同的紙張大小3篇
- 房產(chǎn)代辦委托書(shū)的風(fēng)險(xiǎn)評(píng)估3篇
- 學(xué)生食品安全培訓(xùn)總結(jié)(6篇)
- 學(xué)校保證書(shū)與學(xué)生學(xué)習(xí)環(huán)境3篇
- 全新叉車(chē)購(gòu)買(mǎi)銷(xiāo)售合同3篇
- 生產(chǎn)管理述職報(bào)告(9篇)
- 導(dǎo)視牌施工與基礎(chǔ)施工合作協(xié)議2篇
- 守望相助防疫行動(dòng)指南3篇
- 交通煤氣供應(yīng)與節(jié)能減排合同3篇
- 2025年重慶市中考物理模擬試卷(一)(含解析)
- 《服務(wù)營(yíng)銷(xiāo)雙主動(dòng)》課件
- 公司法公章管理制度
- 演出經(jīng)紀(jì)人員資格備考資料2025
- 成都交通投資集團(tuán)有限公司招聘考試真題2024
- (二模)嘉興市2025年高三教學(xué)測(cè)試語(yǔ)文試卷(含答案)
- 湖北省宜昌二中2025年高考化學(xué)考前最后一卷預(yù)測(cè)卷含解析
- 醫(yī)院不良事件上報(bào)制度
- 10S505 柔性接口給水管道支墩
- DZ∕T 0227-2010 地質(zhì)巖心鉆探規(guī)程(正式版)
- GB/T 23858-2009檢查井蓋
評(píng)論
0/150
提交評(píng)論