Blogger templates

Pages

Selasa, 24 Oktober 2017

Mikroprosesor ARM Cortex M-0

Sejarah Mikroprosesor ARM


    Setelah sukses dengan komputer BBC Micro, Acorn Computers Ltd mempertimbangkan berpindah dari prosesor MOS Technology 6502 ke pasar yang akan segera didominasi oleh IBM PC yang diluncurkan pada tahun 1981. Acorn Business Computer (ABC) pada saat itu membutuhkan prosesor berikutnya untuk dapat bekerja pada platform BBC Micro. Namun prosesor seperti Motorola 68000 dan National Semiconductor 32016 tidak cocok, sedangkan prosesor 6502 tidak mencukupi untuk kebutuhan antar muka grafis.

        Akhirnya Acorn mendesain prosesornya sendiri dengan proyek Berkeley RISC oleh engineernya. Kunjungan ke Western Design Center di daerah Phoenix meyakinkan engineer Acorn Steve Furber dan Sophie Wilson bahwa mereka tidak membutuhkan sumber daya dan fasilitas penelitian yang besar.

       Wilson mengebangkan instruction set, mensimulasikan prosesor pada BBC Basic yang menjalankan BBC Micro dengan prosesor 6502 kedua. Hal tersebut membuktikan kepada engineer Acorn bahwa mereka berada pada proses yang tepat. Sebelum melangkah lebih jauh, mereka membutuhkan sumber daya yang lebih. Setelah Wilson mendapat persetujuan dari CEO Acorn, Hermann Hauser, tim kecil melanjutkan implementasi ke perangkat keras.


        Proyek Acorn RISC Machine resmi dimulai pada Oktober 1983. VLSI Technology, Inc dipilih sebagai mitra dalam memproduksi chip silikon di mana sebelumnya telah memproduksi ROM dan custom chip sebelumnya. Proses desain dipimpin oleh Wilson dan Furber, dengan tujuan utama latensi rendah (low-latency) pada penanganan input/output (interupsi) seperti pada prosesor MOS Technology 6502. Arsitektur 6502 memberikan pengembang mesin yang cepat dalam pengaksesan memory tanpa harus menggunakan perangkat direct access memory yang mahal. VLSI memproduksi chip ARM pertama kali pada 26 April 1985 yang berhasil bekerja dan dikenal sebagai ARM1. Dan disusul dengan ARM2 yang diproduksi pada tahun berikutnya.

         Pengaplikasian prosesor ARM pertama kali adalah prosesor kedua dari BBC Micro, untuk simulasi dalam pengembangan chip pendukung (VIDC, IOC, MEMC) dan untuk mempercepat penggunaan perangkat lunak CAD dalam pengembangan ARM2. Wilson menulis BBC Basic dalam bahasa assembly ARM, di mana kode sangat padat sehingga ARM BBC Basic sangat cocok untuk setiap emulator ARM.

        ARM2 mempunyai lebar bus sebesar 32-bit, 26-bit (64 Mbyte) alamat memory dan 16 buah register 32-bit. Program code harus ada dalam 64 Mbyte pertama dari memory, sebagaimana program counter dibatasi pada 26-bit karena 6-bit atas pada register 32-bit digunakan sebagai status flag. Kemungkinan besar ARM2 merupakan prosesor 32-bit paling sederhana di dunia dengan hanya 30.000 transistor bila dibandingkan dengan Motorola 68000 dengan 70.000 transistor. Kesederhanaan ini diperoleh karena ARM tidak mempunyai microcode yang mencakup seperempat hingga sepertiga transistor pada Motorola 68000. Selain itu ARM pada saat itu tidak memiliki cache memory. Hal ini membuat ARM sebagai prosesor dengan konsumsi daya rendah namun performansi yang lebih baik daripada Intel 80286. Penerusnya yaitu ARM3 mempunyai 4 kByte cache yang meningkatkan performansi.

       Pada akhir 1980-an, Apple Computer dan VLSI Technology memulai kerja sama dengan Acorn untuk prosesor ARM berikutnya. Kerjasama ini sangat penting hingga Acorn melepas tim tersebut sebagai perusahaan baru bernama Advanced RISC Machines Ltd. pada tahun 1990. Sehingga seringkali ARM disebut sebagai Advanced RISC Machine disamping Acorn RISC Machine. Dan pada tahun 1998 Advanced RISC Machines menjadi ARM Ltd.

      Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun 1992. Apple menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton dan pada tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada frekuensi 233 MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi berikutnya lebih kecil dari itu.

       Inti prosesor ARM tidak mengalami perubahan ukuran yang signifikan. Pada ARM2 terdapat 30.000 transistor sedangkan pada ARM6 bertambah hingga 35.000 transistor saja. ARM Ltd. hanya menjual IP (Intelectual Property) core di mana perusahaan lain dapat memproduksi mikrokontroller dan prosesor berdasarkan rancangan ARM. Implementasi yang dinilai paling berhasil adalah ARM7TDMI yang terjual hingga ratusan juta chip. Ide dasarnya adalah produsen chip komputer dapat membuat CPU lengkap berdasarkan rancangan ARM dan dapat dibuat pada pabrik semikonduktor lama serta memberikan performansi yang tinggi pada harga yang rendah. Arsitektur ARM dapat ditemui di banyak smartphone, PDA dan perangkat genggam lain.


Mikrokontroller ARM Cortex M0

      NuMicro NUC100 merupakan seri mikrokontroler 32-bit dengan inti ARM Cortex M0 yang tertanam atau menjadi satu didalamnya, digunakan dalam kontrol industri maupun aplikasi-aplikasi yang memerlukan media komunikasi yang beragam. Cortex M0 merupakan prosesor tertanam ARM 32-bit yang relatif baru. Seri NuMicro NUC100 terdiri dari NUC100, NUC120, NUC130 dan NUC140.


Spesifikasi :

Core
  • ARM® Cortex™-M0 core runs up to 50 MHz
  • One 24-bit system timer
  • Supports low power sleep mode
  • Single-cycle 32-bit hardware multiplier
  • NVIC for the 32 interrupt inputs, each with 4-levels of priority
  • Serial Wire Debug supports with 2 watchpoints/4 breakpoints
Build-in LDO for wide operating voltage ranges from 2.5 V to 5.5 V
Flash Memory
  • 32K/64K/128K bytes Flash for program code
  • 4KB flash for ISP loader
  • Support In-system program (ISP) application code update
  • 512 byte page erase for flash
  • Configurable data flash address and size for 128KB system, fixed 4KB data flash for the 32KB and 64KB system
  • Support 2 wire ICP update through SWD/ICE interface
  • Support fast parallel programming mode by external programmer
SRAM Memory
  • 4K/8K/16K bytes embedded SRAM
  • Support PDMA mode
PDMA (Peripheral DMA)
  • Support 9 channels PDMA for automatic data transfer between SRAM and peripherals
Clock Control
  • Flexible selection for different applications
  • Built-in 22.1184 MHz high speed OSC for system operation
    • Trimmed to 1 % at +25 ℃ and VDD = 5 V
    • Trimmed to 3 % at -40 ℃ ~ +85 ℃ and VDD = 2.5 V ~ 5.5 V
  • Built-in 10 KHz low speed OSC for Watchdog Timer and Wake-up operation
  • Support one PLL, up to 50 MHz, for high performance system operation
  • External 4~24 MHz high speed crystal input for USB and precise timing operation
  • External 32.768 kHz low speed crystal input for RTC function and low power system operation
GPIO
  • Four I/O modes:
    • Quasi bi-direction
    • Push-Pull output
    • Open-Drain output
    • Input only with high impendence
  • TTL/Schmitt trigger input selectable
  • I/O pin can be configured as interrupt source with edge/level setting
  • High driver and high sink IO mode support
Timer
  • Support 4 sets of 32-bit timers with 24-bit up-timer and one 8-bit pre-scale counter
  • Independent clock source for each time
  • Provides one-shot, periodic, toggle and continuous counting operation modes
  • Support event counting function
  • Support input capture function
Watchdog Timer
  • Multiple clock sources
  • 8 selectable time out period from 1.6ms ~ 26.0sec (depends on clock source)
  • WDT can wake-up from power down or idle mode
  • Interrupt or reset selectable on watchdog time-out
RTC
  • Support software compensation by setting frequency compensate register (FCR)
  • Support RTC counter (second, minute, hour) and calendar counter (day, month, year)
  • Support Alarm registers (second, minute, hour, day, month, year)
  • Selectable 12-hour or 24-hour mode
  • Automatic leap year recognition
  • Support periodic time tick interrupt with 8 period options 1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2 and 1 second
  • Support wake-up function
PWM/Capture
  • Built-in up to four 16-bit PWM generators provide eight PWM outputs or four complementary paired PWM outputs
  • Each PWM generator equipped with one clock source selector, one clock divider, one 8-bit prescaler and one Dead-Zone generator for complementary paired PWM
  • Up to eight 16-bit digital Capture timers (shared with PWM timers) provide eight rising/falling capture inputs
  • Support Capture interrupt
UART
  • Up to three UART controllers
  • UART ports with flow control (TXD, RXD, CTS and RTS)
  • UART0 with 64-byte FIFO is for high speed
  • UART1/2(optional) with 16-byte FIFO for standard device
  • Support IrDA (SIR) and LIN function
  • Support RS-485 9-bit mode and direction control.
  • Programmable baud-rate generator up to 1/16 system clock
  • Support PDMA mode
SPI
  • Up to four sets of SPI controller
  • Master up to 32 MHz, and Slave up to 10 MHz (chip working @ 5V)
  • Support SPI master/slave mode
  • Full duplex synchronous serial data transfer
  • Variable length of transfer data from 1 to 32 bits
  • MSB or LSB first data transfer
  • Rx and Tx on both rising or falling edge of serial clock independently
  • 2 slave/device select lines when it is as the master, and 1 slave/device select line when it is as the slave
  • Support byte suspend mode in 32-bit transmission
  • Support PDMA mode
  • Support three wire, no slave select signal, bi-direction interface
I2C
  • Up to two sets of I 2C device
  • Master/Slave mode
  • Bidirectional data transfer between masters and slaves
  • Multi-master bus (no central master)
  • Arbitration between simultaneously transmitting masters without corruption of serial data on the bus
  • Serial clock synchronization allows devices with different bit rates to communicate via one serial bus
  • Serial clock synchronization can be used as a handshake mechanism to suspend and resume serial transfer
  • Programmable clocks allow versatile rate control
  • Support multiple address recognition (four slave address with mask option)
I2S
  • Interface with external audio CODEC
  • Operate as either master or slave mode
  • Capable of handling 8-, 16-, 24- and 32-bit word sizes
  • Mono and stereo audio data supported
  • I2S and MSB justified data format supported
  • Two 8 word FIFO data buffers are provided, one for transmit and one for receive
  • Generates interrupt requests when buffer levels cross a programmable boundary
  • Support two DMA requests, one for transmit and one for receive
CAN 2.0
  • Supports CAN protocol version 2.0 part A and B
  • Bit rates up to 1M bit/s
  • 32 Message Objects
  • Each Message Object has its won identifier mask
  • Programmable FIFO mode (concatenation of Message Object)
  • Maskable interrupt
  • Disabled Automatic Re-transmission mode for Time Triggered CAN applications
  • Support power down wake-up function
PS/2 Device Controller
  • Host communication inhibit and request to send detection
  • Reception frame error detection
  • Programmable 1 to 16 bytes transmit buffer to reduce CPU intervention
  • Double buffer for data reception
  • S/W override bus
USB 2.0 Full-Speed Device
  • One set of USB 2.0 FS Device 12Mbps
  • On-chip USB Transceiver
  • Provide 1 interrupt source with 4 interrupt events
  • Support Control, Bulk In/Out, Interrupt and Isochronous transfers
  • Auto suspend function when no bus signaling for 3 ms
  • Provide 6 programmable endpoints
  • Include 512 Bytes internal SRAM as USB buffer
  • Provide remote wake-up capability
EBI (External bus interface) support (100-pin and 64-pin Package Only)
  • Accessible space: 64KB in 8-bit mode or 128KB in 16-bit mode
  • Support 8-/16-bit data width
  • Support byte write in 16-bit data width mode
ADC
  • 12-bit SAR ADC with 700K SPS
  • Up to 8-ch single-end input or 4-ch differential input
  • Single scan/single cycle scan/continuous scan
  • Each channel with individual result register
  • Scan on enabled channels
  • Threshold voltage detection
  • Conversion start by software programming or external input
  • Support PDMA Mode
Analog Comparator
  • Up to two analog comparators
  • External input or internal bandgap voltage selectable at negative node
  • Interrupt when compare result change
  • Power down wake-up


Kelebihan

1. Menguasai pasar perangkat mobile Menurut data internal ARM tahun 2010, arsitektur ARM menguasai 95 persen pangsa pasar arsitektur prosesor ponsel pintar, 35 persen televisi digital, dan alat set top boxes, serta 10 persen komputer mobile. Hampir semua tablet dan ponsel pintar unggulan, baik yang berbasis Android, iOS, BlackBerry, hingga Windows Phone, memakai prosesor arsitektur ARM. Beberapa konsol game portabel, antara lain Game Boy Advance, Nintendo DS, dan PlayStation Portable, memakai prosesor ARM. ARM juga punya pangsa pasar, meski kurang dominan, di industri alat pacu jantung sampai alat elektronik untuk memanggang roti.

2. Irit daya jadi senjata Karakteristik dari teknologi ARM adalah kemampuan konsumsi daya yang rendah, sehingga membuatnya sangat cocok digunakan di perangkat portabel. Keunggulan ARM telah membuat Intel seperti kebakaran jenggot. Bagaimana tidak, teknologi sedang bergeser ke arah mobile. Pangsa pasar komputer pribadi, termasuk laptop, sedang mengalami penurunan. Sementara pangsa pasar ponsel pintar dan tablet tumbuh sangat cepat. Lembaga riset NPD Display Search memprediksi, pengiriman tablet secara global akan melampaui pengiriman komputer laptop pada 2013. Sebanyak 240 juta unit tablet akan dikirimkan ke seluruh belahan dunia, sementara pengiriman laptop hanya 207 unit pada 2013. Intel berusaha masuk ke industri mobile melalui arsitektur prosesor x86 dalam cip Atom, sebuah desain arsitektur yang juga digunakan untuk prosesor komputer pribadi. Namun, perangkat ponsel pintar yang menggunakan arsitektur x86 jumlahnya masih terbilang sedikit jika dibandingkan dengan ARM. Hal ini membuat ARM menjadi desain mikroprosesor 32-bit yang paling banyak digunakan di dunia.

Kelemahan
1. Tidak mempunyai microcode yang mencakup seperempat hingga sepertiga transistor
2. Kinerja grafis agak kurang
3. Aplikasi yang mau didukung tidak begitu maksimum performanya

Referensi :

    https://id.wikipedia.org/wiki/Arsitektur_ARM

    http://alveinfadillah.blogspot.co.id/2016/03/artikel-nuvoton.html

    https://nuc140lb.wordpress.com/2015/12/20/nuvoton-arm-cortex-m0/

    https://www.gitbook.com/book/gabyriella97/makalah-perkembangan-arsitektur-arm/details

0 komentar:

Posting Komentar