Warm Up #2 Sekilas Tentang ARM dan STM32F103C8T6


Jika kalian penggemar gadget, pasti kalian tak asing lagi dengan istilah ARM. Ya, selama ini kita mengenal ARM sebagai prosesor dari gadget kita. Stm32newbie sendiri 'lumayan' menggemari gadget akan tetapi hanya mampu membeli gadget dengan harga sejutaan saja... Hehehe... Ngomong-ngomong, sudahkah kalian mengetahui merk dan tipe prosesor gadget kalian? Kalau punya stm32newbie sih memakai prosesor Qualcomm® Snapdragon™ 425, Quad Core 1.4GHz 64-bit CPU with ARM Cortex A-53. Hayo bagusan mana prosesor gadget punya kalian dengan punya stm32newbie?

Jika kalian mencari informasi spesifikasi gadget kalian di CPU-Z, sebutan chip yang ada di gadget kalian bukanlah prosesor, melainkan SoC (System on Chip). Mengapa demikian? Karena dalam satu chip tersebut berisi macam-macam, mulai dari prosesor itu sendiri, lalu ada bluetooth, WiFi, modem, GPU, dan lain-lain. Meski demikian, gadget kalian tetap memiliki memori RAM dan ROM yang terpisah dari chip, sehingga kalau chip tersebut disebut mikrokontroler pun juga nggak bisa. Tapi teman-teman tidak usah bingung karena jika dilihat dari segi fungsi, mau prosesor, SoC, ataupun mikrokontroler (sebernarnya masih banyak sekali istilah lainnya) memiliki fungsi yang relatif sama, yaitu apalagi kalau bukan sebagai otak/kontroler dari sebuah sistem. Yah, sebenarnya stm32newbie sendiri juga bingung dan sering terbalik sih, saking banyaknya istilah, tapi yang penting maksudnya sama... Hehe
Gambar CPU-Z pada gadget milik stm32newbie

Oke, kembali ke pembahasan. Pada dunia mikrokontroler, dikenal 2 jenis instruction set, yakni CISC (Complex Instruction Set Computer) dan RISC (Reduced Instruction Set Computer). Contoh mikrokontroler beraksitektur CISC antara lain intel 8051 series, Renesas RX series, dan lain-lain. Sedangkan contoh mikrokontroler beraksitektur RISC antara lain AVR, PIC, ARM, dan lain-lain.

Mikrokontroler CISC memiliki arsitektur yang lebih kompleks sehingga untuk menjalankan suatu perintah, mikrokontroler CISC membutuhkan program yang lebih sedikit.... Hmmm, Bagaimana, kalian paham nggak? Apakah kalimatnya susah dipahami? Kalau iya, sepertinya stm32newbie perlu kursus Bahasa Indonesia nih! Wkwkwk... Jadi intinya begini, mikrokontroler CISC lebih fokus membuat hardware yang kompleks sehingga memudahkan programmer karena programnya lebih sederhana.

Bagaimana dengan mikrokontroler RISC? Jawabannya sudah jelas teman-teman, yaitu kebalikan dari mikrokontroler CISC. Mikrokontroler RISC memiliki arsitektur yang lebih sederhana sehingga untuk menjalankan suatu perintah, diperlukan program yang lebih panjang. Wah berarti lebih sulit dari mikrokontroler CISC dong? Iya betul sekali. Dan "kabar buruk"nya, mikrokontroler ARM termasuk pada kategori RISC. Memang kepanjangan dari ARM sendiri adalah Advanced RISC Machine. Jadi, mikrokontroler ARM pasti berarsitektur RISC.

A. PEMBAGIAN KELUARGA ARM
Seperti yang kita tahu, ARM sendiri disusun oleh tiga huruf, masing-masing adalah huruf 'A', 'R', dan 'M'. Dan uniknya, ARM dibagi menjadi 3 macam sesuai dengan huruf penyusunnya, yaitu ARM Cortex Ax, ARM Cortex Rx, dan ARM Cortex Mx. Mari kita simak perbedaan di antara ketiganya:
  1. ARM Cortex Ax: Huruf A di sini berarti Application. Seri ini memiliki performa yang sangat tinggi. Biasa ditemukan pada gadget atau smartphone. Coba scroll ke atas, gadget stm32newbie memiliki prosesor dengan arsitektur ARM Cortex A53. Coba kalian cek prosesor gadget kalian. Pasti termasuk seri ARM Cortex Ax bukan?
  2. ARM Cortex Rx: Huruf R di sini berarti Real Time. Seri ini menawarkan solusi komputasi berkinerja tinggi pada embedded dimana sangat dibutuhkan kehandalan, performa real time yang sangat-sangat akurat. ARM Cortex Rx sesies digunakan pada sistem elektronik dimana keamanan (safety) sangat diutamakan. Misalnya sistem elektronik pada perangkat medis, sistem elektronik pada kendaraan, dan lain-lain.
  3. ARM Cortex Mx: Huruf M di sini berarti Microcontroller. Seri prosesor yang dikembangkan untuk perangkat embedded dengan harga murah, konsumsi daya yang rendah, dan mudah digunakan. Arsitektur ini lah yang digunakan pada STM32 series yang akan kita pelajari nantinya.
Gambar line up ARM

Seri mana yang terbaik? Pertanyaan yang bagus! Namun begitu, tidak fear rasanya jika membandingkan tiga arsitektur ARM di atas karena tiap arsitektur diperuntukkan untuk segmennya masing-masing. Jika ingin membuat sistem elektronik yang sederhana, maka ARM Cortex Mx adalah pilihan yang tepat karena harganya yang lebih murah dan performa yang didapatkan sudah lebih dari cukup.

B. SEKILAS TENTANG STM32F103C8T6
Gambar STM32F103C8T6

Gambar di atas adalah development board yang akan kita pelajari. Mikrokontroler yang digunakan adalah STM32F103C8T6, produk dari perusahaan ST dengan arsitektur ARM Cortex M3 32-bit. Mikrokontroler ini beroperasi pada frekuensi maksimal 72MHz, memiliki 20KB SRAM, dengan memori flash 64KB, bekerja pada level tegangan 3.3V. Board ini bisa didapatkan dengan harga sekitar Rp 40.000 di online shop seperti Tokopedia. Sangat murah, bukan?

Performa yang ditawarkan mikrokontroler ini jelas melampaui mikrokontroler AVR 8-bit produk perusahaan ATMEL yang harganya lebih mahal dan masih banyak digunakan oleh mahasiswa-mahasiswa elektronika di Indonesia. Stm32newbie sendiri adalah penguna AVR sebelum hijrah ke STM32 baru-baru ini. Perlu diketahui, perusahaan ATMEL sekarang sudah dibeli oleh Microchip sehingga stm32newbie khawatir jika tiba-tiba produksi AVR distop, banyak programer mikrokontroler AVR yang kebingungan mengingat populasi pecinta AVR yang cukup banyak. Dan ini adalah salah satu alasan mengapa stm32newbie memberanikan diri keluar dari zona nyaman dengan mikrokontroler AVR. Menurut kabar terbaru (2 Maret 2018), Microchip kembali membeli perusahaan yang bergerak di bidang semikonduktor dan embedded, yaitu Microsemi corp. Hmmm... Stm32newbie mulai curiga kalau Microchip ingin memonopoli pasar mikrokontroler nih! Bagaimana menurut kalian?

Baik, kembali ke pembahasan, berikut stm32newbie akan beberkan spesifikasi singkat dan pinout STM32F103C8T6. Jika teman-teman belum terlalu paham tentang  spesifikasinya, cukup dibaca saja tidak usah dipikir terlalu dalam karena ini masih pemanasan (warm up), belum pada pembahasan atau tutorial.
  • ARM® 32-bit Cortex® -M3 CPU Core with max 72 MHz
  • 20KB SRAM, 64KB Flash memory
  • 2 x 12-bit ADC with 10 channel
  • 7 channel DMA controller (timer, ADC, I2C, SPI, USART)
  • 37 fast I/O ports with 5V input tolerant
  • 4 x 16-bit timers (3x general timer and 1x advanced timer)
  • Internal wathcdog timer
  • 2 x I2C
  • 3 x USART
  • 2 x SPI
  • CAN interface
  • USB 2.0 full-speed interface
  • CRC calculation unit.
  • Etc.

Gambar pinout STM32F103C8T6 development board yang akan dipakai

Baik teman-teman, sekian sekilas tentang mikrokontroler ARM dan STM32F103C8T6 yang selanjutnya akan fokus pada mikrokontroler tersebut. Artikel Warm Up selanjutnya akan membahas tentang Bus Interface dari STM32F103C8T6. Siap-siap ya!!!
Warm Up #2 Sekilas Tentang ARM dan STM32F103C8T6 Warm Up #2 Sekilas Tentang ARM dan STM32F103C8T6 Reviewed by Puthut Giri on 02.48 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.