999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MC9S12XS128的嵌入式單元測試儀軟件開發與實現

2015-01-17 05:46:30韓秋楓
電子設計工程 2015年1期
關鍵詞:單片機

李 祁,劉 瑜,韓秋楓

(海軍航空工程學院 基礎部 山東 煙臺 264001)

為保證彈載計算機中數字芯片的可靠性、安全性,必須在地面對其進行單元測試。數字單元測試儀作為測試芯片性能最重要的技術設備,也迅速發展起來,本文提出一種采用MC9S12XS128單片機作為某型號數字單元測試儀核心的設計方案,通過控制繼電器陣列實現不同測試電路或轉換電路的連接,嵌入式編程實現對被測機構進行不同參數測試或狀態轉換,并管理測試結果。

MC9S12XS128是一款的高性能16位單片機,總線速度高達40 MHz;具有 128 KB程序Flash和 8 KB DataFlash,用于實現程序和數據存儲[1],均帶有錯誤校正碼(ECC);16通道高達12位精度的A/D采集模塊,支持8位、10位或12位多種精度,3μs的轉換時間;內嵌MSCAN模塊用于CAN節點應用,內嵌支持LIN協議的增強型SCI模塊及SPI模塊[2];8通道PWM,易于實現電機控制;出色的低功耗特性,帶有中斷喚醒功能的IO,實現喚醒休眠系統的功能[3]。

1 數字單元測試儀系統結構

整個數字測試儀包含了四大部分:電源模塊、通信模塊、參數測量單元和主控制單元。其中,參數測量單元是整個數字單元測試儀的核心部件,參數測量單元直接決定著測試儀的參數測量精度和應用范圍。電源模塊為測試儀配置CWY交流參數穩壓電源(AC220 V,50 Hz),同時給測試儀和打印機供電,通信模塊使用專用測試電纜與被測機構相連,測試電纜的41芯插頭與測試儀“機構輸入”插頭相連,19芯插頭端與被測機構相連。通過轉接板與LED顯示屏相連,輸出測試結果,用戶通過控制面板上的鍵盤控制該儀器完成各項性能測試。硬件系統結構如圖1所示。

圖1 數字單元測試系統結構圖Fig.1 Structure diagram of digital unit tester system

2 基于MC9S12XS128的嵌入式數字單元測試儀軟件設計

數字單元測試儀的軟件需要完成的主要功能包括:1)絕緣預檢。自動檢查12項絕緣電阻;2)自動測試。預檢合格后,自動檢測兩個通道下各個電阻阻值及工作循環中狀態轉換結果;3)手動測試。通過鍵盤操作,選取測試內容進行測試;4)數據管理。實現對測試數據顯示、打印及清除。

2.1 軟件設計流程

根據中斷處理機制和多線程編程來控制整個軟件的運行流程[4]。在整個程序啟動之后,就一直處于循環等待的狀態,等待中斷發生。當測試者通過鍵盤按下按鍵,發生鍵盤中斷,程序查詢中斷向量表,跳轉到鍵盤中斷響應服務子程序。在子程序中,判斷所按鍵值,并根據當前狀態和所按鍵值在程序的各個模塊之間進行切換,完成相應操作。中斷服務子程序執行完畢之后,退出中斷,程序指針返回主程序的循環等待,等待下一次中斷發生。如此循環往復,從而實現整個軟件的測試功能,直至退出測試功能[5]。如圖2為主程序流程圖。

圖2 主程序流程圖Fig.2 Flow chart of main program

圖3 手動測試流程圖Fig.3 Flowchart of Manual testing

測試儀上電后初始化并進入控制主界面,利用向上向下鍵移動光標選擇操作項,按“確認”鍵進入測試。其中,絕緣預檢自動檢查通道1、2的各項絕緣電阻,當作動源電壓一定時,各項絕緣電阻是否在正常工作阻值范圍內。絕緣預檢必須先于其他測試,預檢合格方可后續測試,否則禁止進行后續測試。

手動測試是各項測試中最復雜的,流程圖見圖3。分別測試通道1、2電阻以及電壓選擇與轉換。進入手動測試菜單窗口后,選擇“通道X(1或2)電阻測試”,按確認鍵進入測試窗口,同時測試儀自動讀取指定通道當前狀態,如果處于保險狀態則進入“保險狀態窗口”,如果處于工作狀態則進入“工作狀態窗口”,通過向上向下鍵選擇窗口內測試項目,使用“確認”鍵進行測試,按一次測試一次,可重復多次測試,光標移到“轉換”位置,按“確認”鍵后測試儀自動讀取指定通道當前所處狀態并進行轉換。如果轉換成功窗口顯示5秒后自動關閉并進入另一狀態電阻測試窗口,如果轉換失敗窗口停留,等待用戶按鍵“返回”。當選擇“通道X電壓與轉換”顯示相應窗口,通過向上向下鍵選擇窗口內三檔電壓及手動調壓,按“確認”鍵顯示轉換結果,包含轉換時間和轉換電流。

2.2 程序實現

在CodeWarrior集成開發平臺上實現測試儀軟件的開發,通過BDM(單線背景調試模式)在單片機運行時對單片機動態調試。軟件設計采用初始化+循環體的軟件結構,首先進行全局變量和所用外設 (包括 IO、ADC、SPI、PWM、TIMER、SCI)的初始化[6],然后在循環體內依次進行絕緣預檢、手動、自動檢測以及數據管理。

初始化被定義在工程文件下init.c源文件內,包括設置晶振時鐘、總線時鐘及鎖相環時鐘均16 MHz,初始化I/O端口、串口 SCI0、SCI1,串口速率9 600,可以中斷接收數據,并對PWM、ECT、ATD模塊進行初始化,初始化函數如下:

voidInit_Dev(void){

SetBusCLK_16M();

Port_Init();

SCI0_Init();

SCI1_Init();

PWM_Init();

AD_Init();

Timer_Init();

ECT_Init();

}

其中對I/O端口子函數實現如下程序,實現對輸入輸出端口的定義。

static void Port_Init(void){

DDRA=0xff; //LCD A口設為輸出口

PORTA=0x00;

DDRB=0xff;//LED B口設為輸出口

PORTB=0xff;

DDRE=0x03;//E口輸入口

PORTE=0x00;

DDRJ=0x00; //J.6 J.7口輸入口

DDRJ_DDRJ7=0x00; //J.7=0

DDRH=0x00; //Port H input

PTIH=0X00; //KEY,PH0--5

PERH=0xff; //PORT H pull up

PPSH=0x00; //Port H Polarity Select Registerfalling edge

PIEH=0x00; //Port H interrupt disable but 1,

DDRP=0XFF;

DDRJ_DDRJ6=1;

}

在common.c文件內定義通用函數,主要是與芯片無關的功能性子函數,如顯示格式定義、光標選擇等函數,以下是Uart0_putchar函數用于串口發送單個字符,所有字符顯示調用的Show_order函數都是基于此函數。

void Uart0_putchar(unsigned char ch){

if(ch== ‘ ’){

while(! (SCI0SR1&0x80)) ;

SCI0DRL=0x0d; //Enter

while(! (SCI0SR1&0x80)) ;

SCI0DRL=0x0a;

return;

}

while(! (SCI0SR1&0x80)); //keep waiting when not

empty

SCI0DRL=ch;

}

2.3 測試結果

啟動開關,初始化進入主菜單,上下鍵選取測試項,選定絕緣檢查后預檢過程中各項測試結果如圖4所示,共預檢通道1、2分別在保險及工作狀態下絕緣電阻共48項。

圖4 通道1絕緣預檢Fig.4 Channel 1 insulation preflight

圖5 通道1自動測試Fig.5 Channel 1 automatic test

自動檢測結果如圖5所示,順序檢測通道1到2各狀態電阻,工作狀態與保險狀態實現自動轉換,并顯示轉換時間與轉換電流。圖6是通道1從工作狀態轉換到保險狀態結果示意圖。手動測試是人工測試兩通道電阻測試和電壓選擇與轉換,電阻測試功能如圖7所示,選擇光標所在行確認,即可顯示測試數據,可重復測試。

3 結束語

圖6 通道1轉換狀態界面Fig.6 Channel 1 conversion status interface

圖7 通道1電阻測試Fig.7 Channel 1 resistance test

在MC9S12XS128平臺下實現了數字單元測試儀的軟件開發,該測試儀能夠通過主控面板按鍵操作實現對被測機構的絕緣預檢、電阻測試以及電壓轉換等,經實驗驗證能夠達到測試目的,滿足測試要求。

[1]王宜懷,曹金華.嵌入式系統設計實戰——基于飛思卡爾S12X微處理器[M].北京:北京航空航天大學出版社,2011.

[2]孫同景.Freescale9S12十六位單片機原理及嵌入式開發技術[M].北京:機械工業出版社.2010.

[3]王軍琴,李會武.基于MC9S12XS128的單片機開發板的設計[J].現代電子技術,2011,14:65-68.WANG Jun-qin,LI Hui-wu.Design of MCU development board based on MC9S12XS12AA[J].Modern Electronics Technique,2011(14):65-68.

[4]伍希,羅和平,阮愛武.數字測試儀下的參數測試單元的設計[J].今日電子,2009(4):68-70.WU Xi,LUO He-ping,RUAN Ai-wu.Design of parameters test unit of digital unit tester[J].Electronic Products,2009(4):68-70.

[5]王泉.基于Tornado的嵌入式軟件單元測試[J].計算機工程與設計,2012(7):2683-2689.WANG Quan.Tornado based on unit test menthod of embedded software[J].Computer Engineering and Design,2012(7):2683-2689.

[6]薛濤,邵貝貝.S12單片機BDM調試器使用技巧[J].電子技術應用,2009(2):14-16.XUE Tao,SHAOBei-bei.Tips of S12 MCU BDM debugger[J].Application of Electronic Technique,2009(2):14-16.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 国产日韩av在线播放| 久久天天躁狠狠躁夜夜躁| 美女潮喷出白浆在线观看视频| 亚洲欧美日韩精品专区| 久久久久国产精品熟女影院| 欧美精品色视频| 欧美a√在线| 精品少妇人妻一区二区| 重口调教一区二区视频| 国产欧美又粗又猛又爽老| 不卡午夜视频| 午夜影院a级片| av在线人妻熟妇| 九九热视频在线免费观看| 国产日韩欧美精品区性色| 91久久性奴调教国产免费| 在线免费a视频| 无码AV高清毛片中国一级毛片 | 午夜精品一区二区蜜桃| 欧美成人精品一级在线观看| 久久精品国产精品青草app| www.亚洲一区二区三区| 国产成人成人一区二区| 日本a级免费| 亚洲三级网站| 五月激情婷婷综合| 日韩精品专区免费无码aⅴ| 免费全部高H视频无码无遮掩| 青青久久91| 亚洲欧美自拍中文| 在线欧美日韩国产| 久久这里只有精品66| 自拍欧美亚洲| 99精品一区二区免费视频| 色天堂无毒不卡| 日韩毛片免费| 国产精品一区在线麻豆| 九九热视频在线免费观看| 国产区网址| 中文无码毛片又爽又刺激| 六月婷婷综合| 欧美 国产 人人视频| 国产91丝袜在线播放动漫 | 国产91色| 欧美翘臀一区二区三区| 天天做天天爱天天爽综合区| 久久精品人妻中文视频| 亚洲无线视频| 久久人与动人物A级毛片| 亚洲国产精品美女| 26uuu国产精品视频| 五月婷婷丁香色| 久久国产精品波多野结衣| 久久国产高潮流白浆免费观看| 大香伊人久久| 99ri精品视频在线观看播放| 久久久精品国产亚洲AV日韩| 国产美女精品在线| 欧美日韩精品在线播放| 91精品久久久无码中文字幕vr| 国产精品亚洲αv天堂无码| 高潮毛片免费观看| 日韩精品一区二区三区swag| 国产精品片在线观看手机版| 激情网址在线观看| 在线无码九区| 女人18毛片久久| 天天色综合4| 伊人久久精品亚洲午夜| 欧美亚洲国产精品第一页| a在线亚洲男人的天堂试看| 天堂在线亚洲| 91精品国产91久无码网站| 国产成人一区在线播放| 六月婷婷精品视频在线观看| 秋霞午夜国产精品成人片| 亚洲福利视频一区二区| 亚洲视频三级| 欧美日韩中文国产va另类| 亚洲中文在线看视频一区| 国产精品播放| 波多野结衣一区二区三视频|