Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Scherer Balázs: Mikrovezérlők fejlődési trendjei
2009. © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 1
Egy kis történelem • 1970-ben a Busicom cég kalkulátor chipeket rendel : Intel 4000 sorozat – 1978-ban az Intel bejelenti a 16 bites 8086-ost: PC vonal ($360)
• 1975 General Motors: Motorola 6800-as autóipari verzió ($180) – 6501/6502: Atari, C64 (25$)
• • • •
1976: Intel MCS-48/49, Z80 (290e db) 1980: Intel 8051-et. On-board EPROM (91millió) 1993-ban jelenik meg az első PIC16C84 sorozat 1997 Atmel első ISP Flash-es sorozat
Federico Faggin © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 2
Oktatásunk 2000-ben • PIC 16F877 assemblyben – Később 18F452 (2003-tól C-ben)
• ARM7 alapú egyéni munka
ARM-os fejlesztőkártya 2001 (STP kft.) Ethernet connection Microcontroller with ARM7 core CS8900A Ethernet controller
PICDem1 2000
PICDem2, ICD2 2002 © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 3
2003: Philips (NXP) LCP210x sorozat • 2003 Megjelenik az első kompakt, mikrovezérlőként használható ARM7-es chip – NXP: – LPC2104,LPC2105, LPC2106
• Az összes nagyobb gyártónak megjelenik hasonló sorozata – – – – –
NXP: LPC2xxx sorozat Atmel: AT91SAM7 Texas Instruments: TMS470 Analog Devices: ADuC70xx STMicroelectonics: STM7
• 2005: megjelennek az ARM9 alapú vezérlők
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 4
Mikrovezérlő trendek 2003-ból
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 5
32bites processzorok 2004
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 6
Pillanatkép 2004-ből Type/Architecture
PIC18F452/PIC
ATmega128/AVR
LPC2106/ARM7
32k / 1,5k / 256
128k / 4k / 4k
128k / 64k / 0
MIPS
10
16
50
Bus width
8bit
8bit
32bit
GPIO
36
53
32
ADC
10bit 8 channel
10bit 8 channel
0
SPI, I2C, UART, 4 Timer
SPI, I2C, UART, 2 8bit Timer, 2 16bit Timer
SPI, 2UART, I2C, 2 32bit Timer
15-25mA (4.2V) ~100mW
25-30mA (4.5V) ~130mW
40-50mA (3.3/1.8V) ~130mW
~$6.50
~$8.75
~$9.35
Flash / SRAM / EEPROM
Peripheral Features Power consumption (active mode max speed)
Price (100 p.) © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 7
Oktatásunk 2005-ben • mitmót rendszer – 8 és 32 bites processzor kártya – 300 kártya, több mint 300 hallgató
• RTOS oktatás Application
Kernel
MCUMCU-ARM ARM API
Hardware Hardware DeviceDrivers Drivers Abstraction Abstraction Layer Layer Device interrupts Interrupts
MIKROP MIKROP
COM-R04 COM-R04
DPY-TRM DPY-TRM
Hardware Hardwareindependent independent mitmót API
Math Math
ISOCC ISO
Libraries
Serial
I/OI/O handling kezelés SPI I2C
Exceptions
Hardware
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 8
2006: CortexM3-as mikrovezérlők • Első sorozatok: – Luminary Micro: Stellaris – Megveszi őket a Texas Instruments – Texas erősen felvásárlás irányultságú az elmúlt 5 évben: Chipcon
– STmicroelectronics: STM32 – NXP: LPC17xx – Atmel Cortex sorozat
ARM11 Cortex A ARM10
ARM9
ARM7
© SchB BME MIT 2009.
Cortex R
Cortex M
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 9
Várakozások most (2006)
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 10
8 bites trendek 2003-2009 Flash [kbyte]
1024 512 256 128 64 32 16 8 4 2 1 0,5 8
14
20
28-32-36 40-44-48
64
80-100
144
lábszám © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 11
208
32 bites trendek 2003-2009 Flash [kbyte]
1024 512 256 128 64 32 16 8 4 2 1 0,5 8
14
20
28-32-36 40-44-48
64
80-100
144
lábszám © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 12
208
8 és 32 bites trendek 2003-2009 Flash [kbyte]
1024 512 256 128 64 32 16 8 4 2 1 0,5 8
14
20
28-32-36 40-44-48
64
80-100
144
lábszám © SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 13
208
Árak alakulása 2003-2009 15 $
32 bites 10 $
5$
8 bites
1$
0,5 $
2003
2004
© SchB BME MIT 2009.
2005
2006
2007
2008
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 14
Sleep fogyasztás alakulása
20µA
32 bites 10µA
2µA
8 bites 1µA
0,2µA
0,1µA
2003
2004
© SchB BME MIT 2009.
2005
2006
2007
2008
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 15
Sleep fogyasztás alakulása
20µA
32 bites 10µA
2µA
8 bites 1µA
0,2µA
0,1µA
2003
2004
© SchB BME MIT 2009.
2005
2006
2007
2008
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 16
Sleep fogyasztás alakulása
20µA
32 bites 10µA
Alkáli elem önkisülés 2µA
8 bites 1µA
0,2µA
0,1µA
2003
2004
© SchB BME MIT 2009.
2005
2006
2007
2008
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 17
Tápfeszültség tartományok alakulása 5V
8 bites
4V 32 bites
3V
2V
1V
2003
2004
© SchB BME MIT 2009.
2005
2006
2007
2008
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 18
Perifériakészlet és sebesség trendek 32 bites
I2C SPI
+ CAN
+ DMA
+ 10 bit AD
+ USB D
+ Ethernet
USB H
+ Ethernet
USB H
+ USB D
+ CAN
+ 10 bit AD
I2C
SPI
UART
+ ZigBee
UART
60 MIPS
+ DMA
70 MIPS
100 MIPS
+ USB
8 bites
CAN
CAN
+ DMA
+ ZigBee
I2C SPI
SPI
+ USB
UART
UART 10 bit AD
2003
I2C
32 MIPS
20 MIPS
2004 © SchB BME MIT 2009.
2005
2006
2007
2008
12 bit AD
2009
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 19
Egy modern 32 bites vezérlő
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 20
Miért használunk 8 bites vezérlőt? • Első tradicionális előny az ár – Már léteznek $1 alatti 32 bites változatok is, de az AtTiny, PIC10 családokkal nem tudják felvenni a versenyt.
• Fogyasztás: Csak a kifejezetten erre specializált 8-bitesek tudnak jobbak lenni. – mA/MIPS-ben mindig is jobbak voltak a 32 bitesek – Sleep áramfelvételben volt az igazi lemaradás, ez mostanra jelentősen csökkent.
• Feszültségtartomány, tápfeszültség-érzékenység – A 8 bites mindig kicsit robusztusabb marad. – A 32 bitesek is egyre szélesebb feszültségtartományban képesek üzemelni.
• Fejlesztő környezet – Erős gyári támogatás – Lényegesebben egyszerűbb chipek
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 21
Újdonságok • Dual core – Periféria processzor – DSP core – Secure core
• • • •
ROM-ba ágyazott RTOS mbed Debug fejlesztések CMSIS
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 22
Mikrovezérlők az oktatásunkban • • • •
Beágyazott rendszerek BSc, MSc szakirány Mikrovezérlők alkalmazástechnikája (választható tárgy) Nagyteljesítményű mikrovezérlők (kötelezően választható) Beágyazott rendszerek illesztése információs rendszerekhez (kötelezően választható)
• Tanfolyamok – Mikrovezérlők alkalmazástechnikája – Párhuzamos és eseményvezérelt programozás – 32 bites ARM magú mikrovezérlők
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 23
Köszönöm a figyelmet.
© SchB BME MIT 2009.
Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék - 24