在實時嵌入式控制系統(tǒng)中,指令周期對系統(tǒng)的性能有至關重要的影變壓器與電感器設計手冊響。介紹幾種最常用的微控制器的工作機制,采用一段循環(huán)語句功率電感對這幾種微控制器的指令周期進行測試,并進行分析比較。分析結論對系統(tǒng)控制器的選擇有一定的指導作用。
關鍵詞 指令周期測試 AT89S51 LPC2114 TMS320F2812
在實時控制系統(tǒng)中,選擇微控制器的指標時最重要的是計算速度的問題。指令周期是反映計算速度的一個重要指標,為此本文對三種最具代表性的微控制器(AT89S51單片機、ARM7TDMI核的LPC2114型單片機和TMS320F2812)的指令周期進行了分析和測試。為了能觀察到指令周期,將三種控制器的GPIO口設置為數字輸出口,并采用循環(huán)不斷地置位和清零,通過觀察GPIO口的波形變化得到整個循環(huán)的周期。為了將整個循環(huán)的周期與具體的每一條指令的指令周期對應起來,通過C語言源程序得到匯編語言指令來計算每一條匯編語言的指令周期。
1 AT89S51工作機制及指令周一體電感期的測試
AT89S51單片機的時鐘采用內部方式,時鐘發(fā)生器對振蕩脈沖進行2分頻。由于時鐘周期為振蕩周期的兩倍(時鐘周期=振蕩周期P1+振蕩周期P2),而1個機器周期含有6個時鐘,因此1個機器周期包括12個晶振的振蕩周期。取石英晶振的振蕩頻率為11.059 2 MHz,則單片機的機器周期為12/11.059 2=1.085 1 μs。51系列單片機的指令周期一般含1繞行電感~4個機器周期,多數指令為單周期指令,有2周期和4周期指令。
為了觀察指令周期,對單片機的P1口的最低位進行循環(huán)置位操作和清除操作。源程序如下:
#include<reg51.h>
main() {
while(1) {
P1=0x01;
P1=0x00;
}
}
采用KEIL uVISION2進行編譯、鏈接,生成可執(zhí)行文件。當調用該集成環(huán)境中的Debug時,可以得到上述源程序混合模式的反匯編代碼:
2:main()
3: {
4:while(1)
5:{
6:P1=0x01;
0x000F759001MOVP1(0x90),#0x01
7:P1=0x00;
0x0012 E4CLRA
0x0013 F590MOVP1(0x90),A
8:}
0x001580EDSJMPmain (C:0003)
其中斜體的代碼為C源程序,正體的代碼為斜體C源程序對應的匯編語言代碼。每行匯編代碼的第1列為該代碼在存儲器中的位置,第2列為機器碼,后面是編譯、鏈接后的匯編語言代碼。所有指令共占用6個機器周期(其中“MOV P1(0x90),#0x01”占用2個機器周期,“CLR A”和“MOV P1(0x90),A”各占用1個機器周期,最后一個跳轉指令占用2個機器周期),則總的循環(huán)周期為6×機器周期=6×1.085 1 μs=6.51 μs。
圖1 P1口最低位的波形
將編譯、鏈接生成的可執(zhí)行文件下載到AT89S51的Flash中執(zhí)行可以得到P1口最低位的波形,如圖1所示。整個循環(huán)周期為6.1 μs,與上面的分析完全一致。
2 LPC2114工作機制及指令周期的測試
LPC2114是基于ARM7TDMI核的可加密的單片機,具有零等待128 KB的片內Flash,16 KB的SRAM。時鐘頻率可達60 MHz(晶振的頻率為11.059 2 MHz,時鐘頻率設置為11.059 2×4 =44.236 8 MHz,片內外設頻率為時鐘頻率的1/4,即晶振的頻率)。ARM7TDMI核通過使用三級流水線和大量使用內部寄存器來提高指令流的執(zhí)行速度,能提供0.9 MIPS/MHz的指令執(zhí)行速度,即指令周期為1/(0.9×44.236 8)=0.025 12 μs,約為25 ns。
為了觀察指令周期,將LPC2114中GPIO的P0.25腳設置為輸出口,并對其進行循環(huán)的置位操作和清除操作。C源程序如下:
#include"config.h"
//P0.25引腳輸出
#defineLEDCON0x02000000
intmain(void)
{//設置所有引腳連接GPIO
PINSEL0 = 0x00000000;
PINSEL1 = 0x00000000;
//設置LED4控制口為輸出
IO0DIR = LEDCON;
while(1)
{IO0SET = LEDCON;
IO0CLR = LEDCON;
}
return(0);
}
采用ADS1.2進行編譯、鏈接,生成可執(zhí)行文件。當調用AXD Debugger時,可以得到上述源程序的反匯編代碼:
main[0xe5功率電感器9f1020]ldrr1,0x40000248 大功率電感廠家 |大電流電感工廠