Raspberry Pi Pico

Başlatan brandice5, 21 Ocak 2021, 18:09:37

brandice5

Raspberry Pi vakfi kendi tasarimi olan Cortex-M0+ MCU ile (RP2040) yeni bir "pill" tarzi board cikarmis.

https://www.raspberrypi.org/products/raspberry-pi-pico/

Su ana kadar hep SOC kullanarak embedded linux dunyasina hitap ederdi, artik MCU dunyasina da giris yapmis oldu.

elektronart

Yüzüme karşı hepimiz kardeşiz diyorsun amma
Şimdi arduino düşünsün der gibi gibi
Açık Elektronik

Tagli

#2
İlginç bir işlemci. Dokümanları da özenle hazırlanmış gibi gözüküyor. Gerçi alıştığım STM32 dokümanlarına göre epey farklı bir formattalar ama bence çok sorun olmaz.

Çok ayrıntılı olarak incelemedim ama çift çekirdek nasıl kullanılıyor ve debug nasıl yapılıyor o kısımları çözemedim henüz. printf desteği var sadece bu ise pek yeterli olmaz bence. Ekleme: SWD varmış, GDB ile debug yapılabiliyor ama tam nasıl olacak çözemedim. Başka bir RPi kartı üzerinden bağlamış.

Çekirdeğin floating point desteği yok ancak bu işlemci için özel olarak optimize edilmiş kütüphaneleri ROM'a gömmüşler yanlış anlamadıysam. Normal derleyicinin üretebildiğinden daha hızlı işlem yapabiliyor. SDK dokümanında karşılaştırma tabloları vermişler.

İşlemcinin analog özellikleri kısıtlı gibi anladım ilk okuduğum birkaç yazıdan. Yine de hiç yok değil, galiba 3-4 kanal ADC girişi var.

Dediğim gibi, dokümanlarına hızlıca bir göz attım sadece. Yukarıdaki tespitlerimde hatalar olabilir.
Gökçe Tağlıoğlu

tekosis

#3
Her hafta birbirinden şeker böyle ürünler çıkınca aklıma, "Geride mi kalıyorum (ki bu kesin)? Yeni ürünlere de zaman ayırmalı mıyım? Yoksa kararlı durup alışık olduğun sistemde derinlemesine ilerlemek mi daha iyi?" soruları geliyor.   

Tabi bu soruların cevabı yapılacak projenin ihtiyaçlarına göre belirlenir. Ancak genel olarak ağırlığı artan bir "geride kalma" duygusu içindeyim.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Firzen

Satın aldım şimdi bakalım nasıl birşey merak ettim.
University of Idaho                                  Postdoctoral Fellow

LukeSkywalker

Bu daha cok hobicilere yonelik bir mcu kartı. Micropython desteği de mevcutmus.

Tagli

Bence olayı kart değil işlemci olarak düşünmek lazım. Dokümanını zaman ayırarak güzelce okumadan kesin bir şey demek zor, ama ilk bakışta benim hoşuma gitti. Duruma göre profesyonel projelerde de kullanılabilir belki. Ama yine de kesin bir sonuca varmak için çok erken.
Gökçe Tağlıoğlu

muhendisbey

Eğer bu kart bir SoC kartı olsaydı belki kullanabilirdim fakat bu haliyle tercih edeceğimi sanmıyorum. Bunun nedeni de arduino'da kullanılan mcu'ların temin imkanının olması. Geliştireceğim proje direk bu karta bağımlı olacaksa ileride arızalı kartlara destek vermem zorlaşabilir.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

RaMu

#8
PIO denen modülü ilginç,
sırf bu modülden dolayı kullanılacağı bayağı proje olacak.
Bazı mcu lardada bulunan üç beş programlanabilir lojik kapı - CPL modüllerine benziyor ama
9 özel komut ile programlanıyor,
şu pin - pinler şu kadar süre high low olsun
gibi komutlarmış bunlar.
Ws2812 gibi ledleri, ekstra bir uartı veya DPI ekran sürme protokolünü bu modül ile halletmek kolaylaştırmak mümkün.
Bir nevi DMA modülünün program çalıştıran hali gibi.
...

Ek:
Linki eklemeyi unutmuşum.
THE PIO: NEVER BITBANG AGAIN
Başlığında bahsediyor.
https://hackaday.com/2021/01/20/raspberry-pi-enters-microcontroller-game-with-4-pico/#more-457621
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Tagli

Cypress FX2LP'lerde de (EZ-USB, lojik analizörlerdeki USB FIFO çipi) buna benzer bir donanım vardı. Ondan mı esinlendiler acaba? Bir çeşit programlanabilir state machine mantığı ile çalışıyordu.
Gökçe Tağlıoğlu

LukeSkywalker

Python ile programlanmasi güzel.

Gediz1337

Bu işlemciyi kim, neden kullanır anlam veremedim. Hangi eksiği kapatıyor, hangi sorunu çözüyor anlamak güç. Arduino gibi kolay klonlanmasın ama Arduino gibi bir ekosistem oluşturalım fikriyle tasarlandığını tahmin ediyorum. Aklıma başka bir şey gelmiyor.

Raspberry Pi ilk çıktığında piyasada o fiyat mertebesinde bir muadili yoktu. Bu sebeple ciddi bir topluluk oluşturdu. RP2040 için benzeri bir ortam söz konusu değil. Daha işlevsel çipler daha uygun fiyata temin edilebiliyor.

Ama dokümanlar gayet güzel gözüküyor. Haklarını vermek lazım.

Tagli

Evet, bugün dokümanları biraz daha inceleme imkanım oldu. Güzel hazırlanmışlar. STM32'lerin referans dokümanlarından alıştığımız soğuk bir dille değil, daha bir sohbet eder gibi yazılmış. Ama ilginç ayrıntılara da girmişler. Mesela derleyicilerin static inline fonksiyonları nasıl optimize edebildiğinden falan bahsetmiş. Floating point kütüphanesini yazan adamın adını vermiş falan... Sonuçta daha önce okuduğum hiçbir işlemci dokümanına benzemiyor. Kitap gibi adeta.

Ben adamların yaklaşımını da beğendim. Hem profesyonel kullanıcılara hem de Arduino camiasına hitap edebilecek bir yazılım altyapısı kurmuşlar. Register seviyesinde de kod yazabiliyorsun, veya bir adım yukarı çıkıp hafif donanım fonksiyonlarını da kullanabiliyorsun. USB üzerinden sürükle bırakla da kod atabiliyorsun, SWD üzerinden bağlanıp debug session da oluşturabiliyorsun.

Ayrıca işlemci gerçekten çok ilginç bence. Daha tüm özelliklerini okumadım ancak okuduğum kadarı beni etkiledi. Belki de uzun süredir STM32'ler ile uğraştığım için yeni bir şeyler görmenin heyecanına kapılmışımdır, bilmiyorum.

İşlemcinin en belirgin eksileri analog olarak çok kısıtlı olması ve STM32'lerde alıştığımız türden doğru düzgün bir timer'ı olmaması. 64 bitlik bir SysTick timer'ı var, 1 us çözünürlüklü ve bu da 500000 yıl boyunca taşmayacağı anlamına geliyor. Onun dışında Cortex-M çekirdeklerinin her birinin de kendi SysTick timer'ı var, bildiğimiz 24 bit geri sayanlardan. Başka da yok. Ama 8 adet PWM bloğu var. Bunlar 2'şerli toplam 16 PWM sinyali üretebiliyor veya 1'er giriş sinyalinin frekans ve duty ölçümünü yapabiliyor.

Hem device hem host olarak çalışabilen bir USB donanımı var. Ancak anladığım kadarıyla OTG özelliği yok, ya biri ya diğeri olarak ayarlanması gerekiyor. Ama bu donanımsal bir kısıt mı yoksa verdikleri TinyUSB kütüphanesinin kısıtı mı bilmiyorum. Dediğim gibi, henüz çok ayrıntılı bakmadım.

Anladığım kadarıyla 2. işlemci normalde uykuda oluyor. Ama istenirse adeta yeni bir thread/task yaratır gibi bir fonksiyonu gösterip "al bunu çalıştır" diyebiliyorsunuz. İki işlemci arasında donanımsal bir mesajlaşma sistemi de var. Birbirlerini uykudan falan da uyandırabiliyorlar. Ama bence asıl FreeRTOS portunu yaparlarsa (ki illaki yapacaklardır, bence sadece zaman meselesi) o zaman işler daha da ilginç olabilir.

PIO modülü zaten başlı başına ayrı bir konu. Sadece hızlıca baktığım için kafamda çok canlandıramadım ama daha önce de bahsettiğim gibi, FX2LP'nin GPIF modülüne çok benziyor. Ama FX2LP'de bunu programlamayı kolaylaştırmak (!) için salak bir yazılım vardı. RP2040'ta ise o modüle özgü bir assembly dili var. Bunu özel bir assembler ile derleyip projeye gömüyorsunuz. Çalışma sırasında PIO kodu güncellenebiliyor. Garip bir şey...

Neyse çok uzattım. Dediğim gibi, belki de heyecanlanmaya gerek yok, elimizdeki STM32 gibi işlemcilerin üzerine yeni bir şey koyup koymadığı tartışılabilir. Belki de pek tutmayacak, ya da Arduino gibi bir şey olacak. Ama uzun zaman sonra - işe yarasın yaramasın - farklı bir şey görmek hoşuma gitti ve beni heyecanlandırdı.
Gökçe Tağlıoğlu

LukeSkywalker

Bu kontrolcünün yeni versiyonlarının geleceği aşikar. Fiyatı da gayet uygun bence modül haliyle.

Firzen

Ve ürün elime geldi.

Tam ingiliz usülü olmuş "Simple is the best!"



Bilgisayara bağladığım anda içinden kullanma kılavuzu,



Datasheet bilgisi ve kullanılacak IDE çıkıyor.



Aslına bakarsanız bu basitlik çok hoşuma gitti.



Bir ara MCU/FPGA/DSP/işlemci vs anlatan bir yazı hazırlmaya gerek var bence her sene öğrenciler nereden başlasam diyor. Bu konu da en azından sayfa yönlendirmesi yapılabilir gibi geliyor. Ve inanılmaz derecede sanırım bu kartı başlangıç için önerebilirim.
University of Idaho                                  Postdoctoral Fellow