RP2040 – Raspberry Pi Mikrodenetleyicisinin Ayrıntılı İncelemesi

Gömülü sistemler veya kendin yap (DIY) elektronik dünyasına adım attıysanız, muhtemelen RP2040 hakkında bir şeyler duymuşsunuzdur. Peki, Raspberry Pi’nin bu minik yongasını mikrodenetleyiciler denizinde öne çıkaran şey tam olarak nedir? 2021 yılında ikonik Raspberry Pi Pico’nun beyni olarak piyasaya sürülen RP2040, hobi meraklıları, eğitimciler ve hatta profesyonel mühendisler arasında sessizce bir favori haline geldi. Bu ayrıntılı incelemede, bu çift çekirdekli mucizenin neden uygun fiyatlı bir mikrodenetleyicinin neler başarabileceğini yeniden tanımladığını ve bugün onu kullanarak nasıl denemeler yapabileceğinizi keşfedeceğiz.

RP2040 nedir?

RP2040, Raspberry Pi Vakfı tarafından piyasaya sürülen bir Mikrodenetleyici Birimi (MCU)dir. Raspberry Pi Pico ve diğer geliştirme kartlarının temel bileşeni olarak işlev görür. Şu anda resmi web sitesinde 10 dolara satılmaktadır.

An image showing the RP2040 microchip for sale priced at 10.00
RP2040 Microchip - Available for Purchase at $10.00

RP2040 Teknik Özellikleri

RP2040 yongası, 7×7 mm boyutlarında bir QFN-56 pakette sunulmaktadır ve aşağıdaki teknik özelliklere sahiptir:

  • 133 MHz hızında çalışan çift çekirdekli Arm Cortex – M0+
  • 264 KB yonga üzerinde SRAM ve 2 MB yerleşik flash bellek
  • Özel bir QSPI veriyolu aracılığıyla 16 MB'a kadar yonga dışı flash bellek desteği
  • DMA denetleyicisi ile donatılmıştır
  • 30 adet GPIO pini bulunur; bunlardan 4'ü analog giriş olarak kullanılabilir
  • 2 UART, 2 SPI denetleyicisi ve 2 I2C denetleyicisi içerir
  • 16 PWM kanalı sunar
  • USB 1.1 ana bilgisayar ve aygıt desteği sağlar
  • Özel çevre birimi desteği için 8 adet Raspberry Pi Programlanabilir G/Ç (PIO) durum makinesi içerir
  • Sürükle ve bırak programlama için UF2 özellikli USB yığın depolama önyükleme modunu destekler
A dimension diagram of the RP2040 chip, showing various measurements in millimeters.
RP2040 Chip Dimension Diagram (in mm)

RP2040 Adlandırma Açıklaması

RP2040'ın adı, temel teknik özelliklerini yansıtmaktadır:

  • RP: Geliştirici olan Raspberry Pi'yi temsil eder.
  • 2: Çift çekirdekli Arm Cortex-M0+ işlemcileri belirtir.
  • 0: Çekirdek türünü temsil eder (bu durumda M0+).
  • 4floor(log2(SRAM/16k)), burada 264KB SRAM → ~4.
  • 0floor(log2(non - volatile/16k))'den türetilmiştir; 2 MB flash → ~7, ancak adlandırmada 0 olarak basitleştirilmiştir.
An illustration explaining the naming convention of the RP2040 microchip with arrows and descriptions for each part of the name
RP2040 Microchip Naming Convention Explanation

RP2040 Pin Dizilişi

RP2040, çeşitli kullanımlar için son derece çok yönlü olan 30 adet GPIO piniyle birlikte gelir. Bu pinler, düğmeler ve sensörler gibi cihazlardan dijital girişleri okuyabilir ve LED'leri ve röleleri kontrol etmek için dijital çıkışlar sağlayabilir.

Özellikle, Programlanabilir Giriş/Çıkış (PIO) alt sistemi iki durum makinesine sahiptir. Bu, WS2812 LED şeritlerini kolayca kontrol etmek veya özel bir VGA arayüzü oluşturmak gibi özel iletişim protokollerinin oluşturulmasına olanak tanıyarak CPU iş yükünü azaltır.
A top view pinout diagram of the RP2040 microchip labeling various pins such as GPIO power and communication pins
RP2040 Microchip Pinout Diagram (Top View)

RP2040 Blok Şeması

RP2040 yongasının özellikleri:

  • 2 UART: Cihazlar/modüller/bilgisayarlar için seri iletişim.
  • 2 SPI: Yüksek hızlı master-slave veri aktarımı (ör. flash/SD kartlar).
  • 2 I2C: SDA/SCL hatları üzerinden sensörler/EEPROM'lar için çoklu cihaz veriyolu.
  • 16 PWM: Görev döngüsü modülasyonu yoluyla motor hızı/LED parlaklığı kontrolü.
Block diagram of the RP2040 microchips internal architecture showing components like processors peripherals and memory
RP2040 Microchip Internal Architecture Block Diagram

RP2040 için Geliştirme Desteği

Resmi Geliştirme Kurulu - Raspberry Pi Pico

Raspberry Pi Pico, RP2040 için resmi geliştirme kartı olarak hizmet veriyor ve geliştiriciler için harika bir başlangıç noktasıdır. Yalnızca 65 mm x 17 mm boyutlarındaki bu kompakt kart, sadece 4 dolarlık fiyatıyla inanılmaz derecede uygun maliyetlidir; bu da onu, bütçesi kısıtlı hobilerden mikrodenetleyici dünyasını keşfetmek isteyen öğrencilere kadar geniş bir kullanıcı kitlesi için erişilebilir kılıyor.

Images of four Raspberry Pi Pico series development boards (Pi Pico, Pi Pico H, Pi Pico W, Pi Pico WH) based on the RP2040 microcontroller, showcasing their board layouts and component differences.
A lineup of Raspberry Pi Pico series boards powered by the RP2040 MCU

Raspberry Pi Pico'nun en büyük avantajlarından biri kullanım kolaylığıdır. Her iki yanında birer sıra GPIO pini bulunan basit bir tasarıma sahiptir ve bu pimler kolayca ayırt edilebilmesi için açıkça etiketlenmiştir. Bu düzen, sensörler, aktüatörler veya ekranlar gibi harici bileşenlerin bağlanmasını oldukça kolaylaştırır. Örneğin, DHT11 gibi bir sıcaklık sensörünü Pico'ya bağlamak, sensörün veri pimini Pico'daki GPIO pinlerinden birine, güç ve toprak bağlantılarıyla birlikte bağlamak kadar basittir.

Pico ayrıca, hem kartı çalıştırmak hem de programlamak için kullanılan yerleşik bir USB konektörüne sahiptir. Bir bilgisayara bağlandığında, bir yığın depolama aygıtı olarak görünür ve kolay "sürükle ve bırak" programlamasına olanak tanır. Örneğin, bir MicroPython betiği veya derlenmiş bir C/C++ ikili dosyası yazdıysanız, dosyayı Pico'nun sanal sürücüsüne kopyalamanız yeterlidir; programın çalışmaya başlaması için başka bir işlem yapmanız gerekmez.

Temel donanım özelliklerine ek olarak, Raspberry Pi Pico zengin bir resmi dokümantasyon ve örnek kod yelpazesi ile birlikte gelir. Resmi Raspberry Pi web sitesi, kartla çalışmaya başlamaktan özelliklerinin ileri düzey kullanımına kadar her konuda ayrıntılı kılavuzlar sunar. Bu kaynaklar, mikrodenetleyici programlamayı yeni öğrenmeye başlayanlar ve RP2040'ın yeteneklerini hızla kavramak isteyen deneyimli geliştiriciler için son derece yararlıdır.

Programlama Dilleri ve Çerçeveleri

RP2040, çeşitli programlama dillerini ve çerçevelerini destekleyerek, geliştiricilere projelerine en uygun seçeneği belirleme konusunda esneklik sağlar.

MicroPython: MicroPython, özellikle yeni başlayanlar veya fikirlerini hızlı bir şekilde prototip haline getirmek isteyenler için mükemmel bir seçimdir. Bu, özellikle mikrodenetleyiciler için tasarlanmış, Python 3 programlama dilinin yalın ve verimli bir uygulamasıdır. MicroPython ile, üst düzey ve anlaşılması kolay bir sözdiziminde kod yazabilirsiniz. Örneğin, RP2040 üzerindeki bir GPIO pinine bağlı bir LED'i kontrol etmek, sadece birkaç satır kodla gerçekleştirilebilir:
				
					from machine import Pin
import time

led = Pin(25, Pin.OUT)
while True:
    led.value(1)
    time.sleep(1)
    led.value(0)
    time.sleep(1)

				
			
Bu basitlik, geliştiricilerin düşük seviyeli programlama ayrıntılarına boğulmak yerine projelerinin işlevselliğine odaklanmalarını sağlar. MicroPython ayrıca sensörler, iletişim modülleri ve ekranlar gibi çeşitli donanım bileşenleriyle arayüz oluşturmak için kullanılabilecek zengin bir kütüphane setine sahiptir.

C/C++: Donanım üzerinde daha fazla kontrol ve daha iyi performans isteyenler için C/C++ harika bir seçenektir. RP2040, uygulama geliştirme için kapsamlı bir kütüphane ve araç seti sunan resmi bir C/C++ SDK'ya (Yazılım Geliştirme Kiti) sahiptir. SDK, GPIO, PIO, UART, SPI ve I2C arayüzleri gibi RP2040'ın tüm donanım çevre birimleri için sürücüler içerir. C/C++ ile geliştiriciler, RP2040'ın çift çekirdekli mimarisinden tam olarak yararlanabilen, yüksek düzeyde optimize edilmiş kod yazabilirler. Örneğin, yüksek hızlı bir veri toplama sistemi uygularken, C/C++ kullanılarak RP2040'ın GPIO pinlerine bağlı birden fazla sensörden verileri verimli bir şekilde okuyan ve bunları gerçek zamanlı olarak işleyen kod yazılabilir.

Araçlar ve entegre geliştirme ortamları

RP2040 için uygulama geliştirmek üzere kullanılabilecek çeşitli araçlar ve Entegre Geliştirme Ortamları (IDE'ler) mevcuttur.

Thonny

Thonny, özellikle MicroPython geliştirme için popüler bir seçimdir. Yeni başlayanlar için bile gezinmesi kolay, kullanıcı dostu bir arayüze sahiptir. Thonny, geliştiricilerin kodlarını etkileşimli olarak test etmelerine olanak tanıyan yerleşik bir Python kabuğu sunar. Python komutlarını yazıp sonuçları anında görebilirsiniz; bu da onu hata ayıklama ve RP2040'ın yeteneklerini keşfetme açısından harika bir araç haline getirir. Thonny'yi RP2040 ile kullanmak için önce Pico'yu USB aracılığıyla bilgisayarınıza bağlamanız gerekir. Ardından, Thonny'de uygun Python yorumlayıcısını (RP2040 için MicroPython) seçebilirsiniz. Yapılandırma tamamlandıktan sonra, MicroPython kodunuzu doğrudan Thonny'de yazabilir, çalıştırabilir ve hata ayıklayabilirsiniz.

VS Code

Visual Studio Code, geliştiriciler arasında büyük bir popülerlik kazanan, güçlü ve platformlar arası bir kod editörüdür. Geniş bir uzantı yelpazesine sahip olması sayesinde RP2040 geliştirme çalışmaları için de uygundur. C/C++ geliştirme için Microsoft’un sunduğu "C/C++" uzantısı, kod vurgulama, IntelliSense (kod otomatik tamamlama) ve hata ayıklama desteği gibi özellikler sunar. MicroPython için ise "MicroPython" uzantısı benzer işlevler sunar. RP2040 geliştirme için VS Code'u kurmak üzere, ilgili uzantıları yüklemeniz ve proje gereksinimlerinize göre derleme ve hata ayıklama ayarlarını yapılandırmanız gerekir. Örneğin, bir C/C++ projesi üzerinde çalışıyorsanız, Pico SDK yolunu ayarlamanız ve hata ayıklayıcıyı RP2040 ile çalışacak şekilde yapılandırmanız gerekecektir.

RP2040 ve RP2350 Yongaları

RP2040 ve RP2350, Raspberry Pi tarafından geliştirilen mikrodenetleyicilerdir. RP2040, daha eski bir modeldir; RP2350 ise gelişmiş özelliklere sahip, daha ileri düzey bir halefidir. İşte bu iki modelin karşılaştırması:

A side by side comparison image of RP2040 and RP2350 microchips labeled with their respective names
RP2040 and RP2350 Microchips Comparison
FeatureRP2040RP2350
Core ArchitectureDual Arm Cortex-M0+Dual Arm Cortex-M33 or Dual RISC-V Hazard3
Clock Speed133MHz150MHz
On-chip SRAM264KB520KB
Security FeaturesBasic security featuresArm TrustZone, Signed Boot, SHA-256, TRNG, Fault Detectors
Peripheral Interfaces2×UART, 2×SPI, 2×I2C, ADC, PWM, USB 1.1Enhanced peripherals, additional PIO state machines, more GPIO pins, higher power efficiency
PackagingSingle 7×7mm QFN56 option7×7mm QFN60 (RP2350A) with 30 GPIOs or 10×10mm QFN80 (RP2350B) with 48 GPIOs; both with 2MB stacked QSPI flash (RP2354A and RP2354B)

Sonuç

Sonuç olarak, RP2040, gömülü sistemler ve elektronik geliştirme dünyasında önemli bir etki yaratan olağanüstü bir mikrodenetleyicidir. Görüşlerinizi veya deneyimlerinizi paylaşmaktan memnuniyet duyarız!

Paylaş:

Scroll to Top

Instant Quote