4 คะแนน โดย GN⁺ 2024-08-09 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • Raspberry Pi เปิดตัวบอร์ดรุ่นที่ 2 Raspberry Pi Pico 2 โดยใช้ RP2350 รุ่นใหม่เป็นฐาน พร้อมยกระดับประสิทธิภาพ หน่วยความจำ ความปลอดภัย และอินเทอร์เฟซ โดยยังคงความเข้ากันได้กับระบบนิเวศ Pico เดิม
  • ชิปหลัก RP2350 มาพร้อม Arm Cortex-M33 150MHz จำนวน 2 คอร์, SRAM 520KB, ความปลอดภัยบนพื้นฐาน TrustZone, signed boot, OTP, การเร่ง SHA-256, TRNG, PIO ที่อัปเกรดแล้ว, HSTX และรองรับ QSPI PSRAM ภายนอก
  • Pico 2 เป็น บอร์ดราคา $5 ที่รวม RP2350A เข้ากับ QSPI flash ภายนอกขนาด 4MB และคาดว่าจะมี Pico 2 W รวมถึงรุ่นที่ติดตั้งเฮดเดอร์ 0.1 นิ้วมาล่วงหน้าก่อนสิ้นปี
  • สภาพแวดล้อมการพัฒนาก็ขยายตามไปด้วย ทั้ง Pico SDK ที่อัปเดตแล้ว, อิมเมจ MicroPython และ CircuitPython, งานรองรับ Rust, งานด้านฮาร์ดแวร์อ้างอิงบน Trusted Firmware-M 2.1.0 LTS และการรองรับ Google Pigweed SDK
  • RP2350 สามารถเลือกใช้คอร์ Hazard3 RISC-V จำนวน 2 คอร์แทน Arm Cortex-M33 ตอนบูตได้ ทำให้เป็นฐานสำหรับการทดลอง RISC-V บนบอร์ด Raspberry Pi อย่างมั่นคง

การเปิดตัว Pico 2 และการเปลี่ยนแปลงหลัก

  • Raspberry Pi Pico 2 เป็นบอร์ดไมโครคอนโทรลเลอร์รุ่นที่ 2 ที่ใช้ไมโครคอนโทรลเลอร์สมรรถนะสูงและปลอดภัยรุ่นใหม่ RP2350 ซึ่ง Raspberry Pi ออกแบบเอง
  • เมื่อเทียบกับ Pico ซีรีส์เดิม มีคล็อกคอร์สูงขึ้น หน่วยความจำเพิ่มเป็น 2 เท่า พร้อมคอร์ Arm ที่ทรงพลังกว่า ฟีเจอร์ความปลอดภัยใหม่ และอินเทอร์เฟซที่ดีขึ้น
  • ยังคง ความเข้ากันได้ทั้งฮาร์ดแวร์และซอฟต์แวร์ กับ Pico ซีรีส์ก่อนหน้า
  • ราคาจำหน่ายคือ $5

จาก RP2040 สู่ RP2350

  • นับจากการเปิดตัว Pico รุ่นแรกและ RP2040 ในเดือนมกราคม 2021 ตลอดช่วง 3 ปีครึ่งที่ผ่านมา Pico และ Pico W มียอดขายรวมเกือบ 4 ล้านชิ้น
  • RP2040 ถูกใช้ในบอร์ดพัฒนาของผู้ผลิตภายนอกหลายรายและผลิตภัณฑ์ OEM รวมถึงอยู่ในผลิตภัณฑ์อย่างโต๊ะพินบอลและซินธิไซเซอร์
  • RP2040 ถูกออกแบบเป็นไมโครคอนโทรลเลอร์ที่มีคอร์ 32 บิต 2 คอร์, RAM บนชิป, ซับซิสเต็ม programmable I/O (PIO) และ bus fabric แบบ deterministic
  • เดโมที่สร้างบน RP2040 ได้แก่ พอร์ต DOOM ของ Graham Sanderson, พอร์ต PalmOS ของ Dmitry Grinberg และ Commodore 64 cartridge แบบ “CPU-less” ของ Kevin Vance
  • RP2040 ยังขาดพื้นที่จัดเก็บบนชิป, สถานะ idle กินไฟต่ำ และตัวเลือกแพ็กเกจที่หลากหลาย ขณะที่ผู้ใช้ต้องการคอร์ที่เร็วขึ้น, RAM มากขึ้น และฟีเจอร์ป้องกันโค้ด

สเปกชิป RP2350 และแพ็กเกจ

  • RP2350 เป็นดีไซน์ที่ซับซ้อนกว่ารุ่น RP2040 มาก
  • สเปกหลักมีดังนี้
    • คอร์ Arm Cortex-M33 150MHz จำนวน 2 คอร์ รองรับ floating-point และ DSP
    • SRAM บนชิป 520KB แบ่งเป็น 10 แบงก์ที่เข้าถึงพร้อมกันได้
    • สถาปัตยกรรมความปลอดภัยบนพื้นฐาน Arm TrustZone for Cortex-M
    • รองรับ signed boot
    • หน่วยความจำ OTP แบบ antifuse บนชิปขนาด 8KB
    • การเร่ง SHA-256
    • hardware true random number generator (TRNG)
    • switched-mode power supply บนชิปและ LDO กระแส quiescent ต่ำ
    • state machine ของ PIO ที่อัปเกรดแล้วจำนวน 12 ชุด
    • อุปกรณ์ต่อพ่วง HSTX สำหรับการรับส่งข้อมูลความเร็วสูง
    • รองรับ QSPI PSRAM ภายนอก
  • ตัวเลือกแพ็กเกจมีหลากหลายกว่ารุ่น RP2040 ที่มีเพียง QFN56 ขนาด 7×7mm แบบเดียว
    • RP2350A: QFN60 ขนาด 7×7mm, GPIO 30 ขา
    • RP2350B: QFN80 ขนาด 10×10mm, GPIO 48 ขา
    • RP2354A/RP2354B: รุ่นย่อยที่รวม QSPI flash แบบ stacked-in-package ขนาด 2MB ตามลำดับ
  • ราคา RP2350A อยู่ที่ $0.80 เมื่อสั่งแบบรีล 3,400 ชิ้น และ $1.10 สำหรับแบบชิ้นเดี่ยว แพงกว่า RP2040 อยู่ 10 เซนต์
  • RP2350B แพงกว่า RP2350A อยู่ 10 เซนต์ และรุ่น RP2354 แพงกว่ารุ่นที่ไม่มี flash คู่กันอยู่ 20 เซนต์
  • RP2350 มีกำหนดพร้อมส่งมอบในปริมาณมากภายในปลายปี 2024 และสามารถสมัครเข้าร่วมโปรแกรมตัวอย่างได้ที่หน้าผลิตภัณฑ์

บอร์ด Pico 2 และผลิตภัณฑ์ที่กำลังจะออก

  • Pico 2 รวม RP2350A เข้ากับ QSPI flash ภายนอกขนาด 4MB
    • QSPI flash ภายนอกของ Pico รุ่นเดิมมีขนาด 2MB
    • ฟอร์มแฟกเตอร์และคุณสมบัติทางไฟฟ้ายังคงเข้ากันได้กับดีไซน์ Pico รุ่นเดิม
  • แม้สต็อกในช่องทางจัดจำหน่ายช่วงเปิดตัวจะมีไม่มาก แต่ Pico 2 อยู่ในสถานะ full-rate production ร่วมกับ Sony แล้ว
  • พาร์ตเนอร์ Approved Reseller หลายรายเปิดรับแบ็กออร์เดอร์และพรีออร์เดอร์ และจะมีการส่งมอบสินค้าอย่างต่อเนื่องในช่วงไม่กี่สัปดาห์ข้างหน้า
  • ผลิตภัณฑ์ที่คาดว่าจะเปิดตัวก่อนสิ้นปีมีดังนี้
    • Pico 2 W รุ่นรองรับไร้สายที่ใช้โมเด็ม Infineon 43439 แบบเดียวกับ Pico W
    • รุ่นติดตั้งเฮดเดอร์ 0.1 นิ้วมาล่วงหน้าของ Pico 2 และ Pico 2 W

เครื่องมือพัฒนา การรับรองความปลอดภัย และเอกสาร

  • Pico SDK ได้รับการอัปเดตให้รองรับการเปิดตัว Pico 2 และ RP2350
  • มีอิมเมจ MicroPython และ CircuitPython ใหม่ให้ใช้งาน
  • Jonathan Pallant และผู้ร่วมพัฒนากำลังทำงานเพื่อนำ การรองรับภาษา Rust มาสู่แพลตฟอร์มใหม่นี้
  • Raspberry Pi กำลังร่วมมือกับโครงการ Trusted Firmware เพื่อให้ RP2350 เป็นฮาร์ดแวร์อ้างอิงของ Trusted Firmware-M 2.1.0 LTS
    • TF-M มอบ implementation อ้างอิงของ PSA Certified สำหรับชิป Arm v8-M
    • RP2350 จะถูกทดสอบโดยห้องปฏิบัติการอิสระที่ได้รับการรับรอง
    • เป้าหมายคือผ่าน PSA Certified Level 2 ก่อนการออกรุ่นในเดือนตุลาคม
  • ยังมีการเปิดตัว Pigweed SDK ร่วมกับ Google โดยมีการรองรับ Pico 2 แบบเนทีฟ
    • ไลบรารี middleware ของ Pigweed ถูกใช้ในอุปกรณ์หลายล้านเครื่อง รวมถึงอุปกรณ์ Google Pixel และเทอร์โมสตัท Nest
    • ดูประกาศจาก Google ได้ที่ announcement page
  • RP2350 มี datasheet แบบครบถ้วนให้ใช้งาน
  • ยังมี บทช่วยสอนเริ่มต้นพัฒนา C/C++ โดยใช้ Raspberry Pi Pico Visual Studio Code extension เวอร์ชันอัปเดตใหม่

Signed boot และบาวน์ตีด้านความปลอดภัย

  • หัวใจของโมเดลความปลอดภัยใน RP2350 คือ signed boot
  • เมื่อเปิดใช้ความปลอดภัย จะบูตได้เฉพาะไบนารีที่ลงนามด้วย private key ซึ่งตรงกับแฮชของ public key ที่เก็บไว้ใน OTP เท่านั้น
  • การป้องกันไม่ให้รันโค้ดตามอำเภอใจทำให้การ ดึงข้อมูลจาก OTP รวมถึงคีย์เข้ารหัสที่ใช้ป้องกันโค้ดทำได้ยากขึ้นมาก
  • RP2350 ใช้หลายเทคนิคเพื่อรับมือการโจมตีแบบ fault injection
    • hardware fast glitch detector
    • redundancy coprocessor ที่อยู่ระหว่างยื่นจดสิทธิบัตร
    • การป้องกัน control flow และ data integrity
  • Raspberry Pi ต้องการค้นหาและแก้ไขข้อบกพร่องในกระบวนการบูตก่อนที่ RP2350 จะถูกนำไปใช้ในแอปพลิเคชันสำคัญ
  • ก่อนเปิดตัว บริษัทได้ว่าจ้าง NewAE และ Hextree ให้ตรวจสอบสถาปัตยกรรมความปลอดภัย
  • มี บาวน์ตี $10,000 สำหรับการ break แบบยืนยันได้ครั้งแรกของกระบวนการ signed boot
    • ระยะเวลาดำเนินการเริ่มต้นคือ 1 เดือน
    • หากไม่พบช่องโหว่ อาจขยายระยะเวลาออกไป
    • อาจมีบาวน์ตีเพิ่มเติมสำหรับช่องโหว่เพิ่มเติมที่แตกต่างกัน
    • รายละเอียดอยู่ที่ bounty program
  • Raspberry Pi ยังร่วมมือกับงานแฮ็กกิงคอนเวนชัน DEF CON เพื่อมอบฮาร์ดแวร์ RP2350 ให้กับนักวิจัยด้านความปลอดภัย
    • ป้าย DEF CON ของปีนี้ใช้ RP2350 เป็นฐาน
    • Hextree ผลิตบอร์ดจำนวนจำกัดสำหรับทดลอง glitching ที่ power rail และคลื่นแม่เหล็กไฟฟ้า

ผลิตภัณฑ์พาร์ตเนอร์บนพื้นฐาน RP2350

  • ตลอด 1 ปีที่ผ่านมา Raspberry Pi ได้พัฒนาผลิตภัณฑ์ บนพื้นฐาน RP2350 ร่วมกับพาร์ตเนอร์
  • หลายผลิตภัณฑ์เป็นการอัปเกรดจากผลิตภัณฑ์เดิมที่ใช้ RP2040 ขณะที่บางรายการเป็นผลิตภัณฑ์ใหม่ทั้งหมด
  • ตัวอย่างที่คาดว่าจะวางจำหน่ายในวันเปิดตัวหรือภายใน 1 เดือนถัดไปมีดังนี้
    • 4D Systems: ซีรีส์จอประสิทธิภาพสูง gen4-RP2530 ขนาด 2.4″~7.0″
    • Adafruit: Metro RP2350 สำหรับชิลด์ที่เข้ากันได้กับ Arduino และ Feather RP2350 ในฟอร์มแฟกเตอร์ Feather
    • Bus Pirate: เครื่องมือดีบักโอเพนฮาร์ดแวร์ Bus Pirate 5XL และ Bus Pirate 6 ที่ใช้ RP2350
    • Cytron: คอนโทรลเลอร์ I/O อุตสาหกรรม IRIV I/O Controller และคอนโทรลเลอร์หุ่นยนต์ MOTION 2350 Pro
    • Invector Labs: ผลิตภัณฑ์ Challenger+ RP2350 พร้อม flash 8MB, PSRAM 8MB และโมดูล BConnect หรือ WiFi6/BLE5
    • NewAE: RP2350 Target for ChipWhisperer สำหรับการวิเคราะห์พลังงานและทดสอบ fault injection
    • Pimoroni: Explorer, Tiny2350, Plasma 2350, PGA 2350
    • Seeed: XIAO RP2350 พร้อม GPIO 19 ขา, RGB LED และระบบจัดการแบตเตอรี่
    • Solder Party: RP2350 Stamp และ Stamp XL ที่รวม RP2350, flash 16MB, LDO, เครื่องชาร์จ LiPo, LED และปุ่ม Reset/Boot
    • SparkFun: Pro Micro – RP2350 ในฟอร์มแฟกเตอร์ Pro Micro
    • Switch Science: Picossci2 Breakout และโมดูลที่เกี่ยวข้องพร้อมคอนเน็กเตอร์ USB-C
    • Tiny Circuits: Thumby Color คอนโซลพวงกุญแจแบบสวมใส่ได้ที่ตั้งโปรแกรมได้
    • Wiznet: บอร์ดประเมินผลบนพื้นฐาน RP2350 สำหรับชิป Ethernet W5100S, W5500 และ W6100

โหมด RISC-V และ Hazard3

  • RP2350 มี Hazard3 คอร์ RISC-V 2 คอร์ แบบโอเพนฮาร์ดแวร์ ที่สามารถเลือกใช้แทนคอร์ Cortex-M33 ตอนบูตได้
  • Boot ROM สามารถตรวจจับอัตโนมัติว่า second-stage binary ถูกบิลด์มาสำหรับสถาปัตยกรรมใด และรีบูตชิปเข้าสู่โหมดที่เหมาะสมได้
  • ในโหมด RISC-V จะใช้งานความสามารถของชิปได้เกือบทั้งหมด ยกเว้นฟีเจอร์ความปลอดภัยบางส่วนและตัวเร่ง floating-point แบบ double-precision
  • Hazard3 ถูกพัฒนาโดย Luke Wren ซึ่งเป็น Principal Engineer ในทีมชิปของ Raspberry Pi ในเวลาส่วนตัว
  • Hazard3 เป็นโปรเซสเซอร์แบบ pipeline 3 ขั้นที่ปรับแต่งมาอย่างดี และรองรับชุดคำสั่ง RV32I รวมถึงส่วนขยายมาตรฐานหลายรายการที่เน้นประสิทธิภาพและความหนาแน่นของโค้ด
  • เป้าหมายของการเพิ่ม Hazard3 เข้าไปใน RP2350 คือเปิดทางให้นักพัฒนาซอฟต์แวร์ทดลองสถาปัตยกรรม RISC-V ในสภาพแวดล้อมที่เสถียรและมีการรองรับ พร้อมทั้งเผยแพร่ Hazard3 ในฐานะโอเพนคอร์ที่สะอาด สามารถนำไปใช้ต่อในอุปกรณ์อื่นได้โดยตรง หรือใช้เป็นฐานสำหรับการพัฒนาต่อยอด

3 ความคิดเห็น

 
GN⁺ 2024-08-09
ความคิดเห็นจาก Hacker News
  • Luke ผู้เขียน Hazard3 อธิบาย เบื้องหลังการใส่คอร์ Hazard3 ไว้ข้าง M33
    ขนาดของสองคอร์นี้เทียบกันไม่ได้ แต่ถึงจะเอา Hazard3 ออก ขนาดไดสุดท้ายก็น่าจะเกือบเท่าเดิม
    เพราะลอจิกแบบ standard cell สามารถบีบอัดได้ และข้อจำกัดในการออกแบบ pad ring ทำให้มิติของไดต้องมีการปัดเศษด้วย
    อย่างไรก็ตาม เขาบอกว่าถ้าตัดคอร์ RISC-V ออกไป ผมคงร่วงน้อยลงในขั้นตอนเลย์เอาต์สุดท้ายและการวิเคราะห์ static timing
    https://x.com/wren6991/status/1821582405188350417

  • ไม่เข้าใจว่าทำไมยังใช้ Micro USB อยู่
    ถึงต้นทุนต่อบอร์ดจะแพงขึ้นอีกนิด ก็หวังว่าเวอร์ชันถัดไปจะใช้ USB-C

    • พาร์ตเนอร์เตรียมบอร์ดทางเลือกไว้มากมายแล้ว และถ้ายอมจ่ายเพิ่มอีกนิด ก็มี บอร์ดที่เข้ากันได้กับ Pico พร้อม USB-C ด้วย
      https://www.raspberrypi.com/for-industry/powered-by/product-...
    • อย่างน้อย microUSB ก็ใช้งานได้เสมอ
      บอร์ด USB-C จากจีนบางรุ่นประหยัด ตัวต้านทาน pull-up ที่ขา CC จนใช้สาย C-to-C แล้วพอร์ตไม่ทำงาน
    • ในทางกลับกัน มีสองเหตุผลที่ทำให้ไม่ค่อยกังวลเรื่องนี้
      ยังมีสาย micro-USB อยู่เต็มไปหมด และที่ที่จะใช้มันก็น้อยลงเรื่อย ๆ
      อุปกรณ์แบบนี้ไม่ได้ถูกย้ายหรือเสียบเข้าเสียบออกบ่อย ๆ จึงแทบไม่เกิดสถานการณ์หลักที่ทำให้คอนเนกเตอร์พัง
    • น่าจะเป็นเพราะต้องการรักษา ฟอร์มแฟกเตอร์เดียวกับ Pico 1 ไว้
    • ถ้าจะบอกว่าเป็นการอัปเกรดแบบดรอปอินของ Pico 1 ก็คงต้องเป็นแบบนั้น
      ถ้าต้องออกแบบเคสของโปรเจกต์ใหม่ ก็ไม่ใช่อัปเกรดแบบดรอปอินแล้ว
  • เมื่อเทียบกับ RP2040 มีหลายอย่างที่เปลี่ยนไปค่อนข้างมาก
    แพ็กเกจใหญ่ขึ้น, รุ่นที่มีแฟลชในตัว 2MB, secure boot และ encrypted boot, คอนเท็กซ์การรันแบบปลอดภัยสองชุด, ตัวสร้างเลขสุ่ม, ตัวเร่ง SHA-256, OTP ROM 8KB, ตัวส่งสัญญาณอนุกรมความเร็วสูง HSTX 8 ช่อง, GPIO จาก 30 เป็น 48 ขา, PIO state machine จาก 8 เป็น 12 ชุด, DMA channel จาก 12 เป็น 16 ช่อง, เลือก RISC-V หรือ Arm ตอนบูตได้, จาก Cortex-M0+ เป็น Cortex-M33, และคล็อกคอร์เพิ่มจาก 133MHz เป็น 150MHz
    https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.p...

    • สเปกผลิตภัณฑ์ก็ดี แต่ โครงสร้างและเนื้อหาของ datasheet ถือว่าดีเป็นอันดับต้น ๆ เท่าที่เคยเห็นมา
    • เวอร์ชัน 60 พินดูเหมือนจะมี ขนาดเท่ากับ RP2040
  • ดูเหมือนจะแก้จุดที่ไม่พอใจใน RP2040 ได้แทบทั้งหมด
    ต้องอ่านให้ถึงส่วน “One more thing” ด้านล่างสุด
    ตอนบูตสามารถเลือก Cortex-M33 หรือ RISC-V ได้อย่างโปร่งใส

    • สงสัยว่าทำไมต้องใช้พื้นที่ไดกับคอร์ RISC-V ที่ในผลิตภัณฑ์ผลิตจำนวนมากจะใช้แทนคอร์ Cortex ได้เท่านั้น
      คิดว่าเอาพื้นที่นั้นไปเพิ่ม RAM หรือใส่คอร์ Arm อีกตัวน่าจะดีกว่า หรือขายรุ่นที่เป็น RISC-V ล้วนไปเลยจะสมเหตุสมผลกว่า
    • มี Arm อยู่แล้ว ไม่รู้ว่า คอร์ RISC-V มีไว้เพื่ออะไร
      น่าจะมีประโยชน์กว่าถ้าใส่ PSRAM เพิ่ม หรือใส่หน่วยประมวลผล neural network
  • อยากรู้ว่ามีใครรู้จัก บอร์ดจัดการแบตเตอรี่แบบออลอินวัน สำหรับอุปกรณ์พกพาขนาดเล็กบ้างไหม
    ช่วงนี้เพิ่งเริ่มลองเล่น ESP32 แล้วก็แปลกใจที่บน AliExpress แทบไม่มีบอร์ดพร้อมใช้ที่จัดการทั้งการชาร์จแบตเตอรี่ผ่าน USB และจ่ายไฟให้อุปกรณ์ไปพร้อมกัน
    อยากใส่ LiPo เข้าไปในงานออกแบบแล้วให้มันทำงานได้เหมือนโทรศัพท์มือถือ

    • Adafruit มีบอร์ดชาร์จ LiPo อยู่หลายตัว แต่ยังไม่ได้รวมทุกอย่างในระดับที่ต้องการ
      ยังต้องใช้สาย USB สำหรับชาร์จแยกต่างหาก
      แต่บอร์ด ESP32 บางรุ่นดูเหมือนจะชาร์จ LiPo ผ่านพอร์ต USB ได้ และบอร์ด Heltec บางรุ่นก็ดูจะเป็นแบบนั้นเหมือนกัน
      ผมมีบอร์ดที่มีคอนเน็กเตอร์แบตเตอรี่ JST อยู่ แต่ไม่ได้ใช้มานานเลยไม่แน่ใจ น่าจะเป็นรุ่นนี้: https://heltec.org/project/wifi-kit32-v3/
    • LILYGO ก็มีบอร์ดแบบนั้นเหมือนกัน
      ตอนนี้มี T18 อยู่ตัวหนึ่งบนโต๊ะ: https://github.com/LilyGO/TTGO-T-ControllerV2.2/blob/master/...
      แต่เคยมีปัญหาเล็กน้อยในการทำให้อัปโหลดได้ถูกต้อง และโดยรวมผลิตภัณฑ์ของ LILYGO มักต้องลองผิดลองถูกอยู่บ้าง แต่พอตั้งค่าเข้าที่แล้วก็ค่อนข้างเสถียร
    • มีข้อมูลว่าในชิป ESP32 มี ระบบจัดการแบตเตอรี่ รวมอยู่ด้วย และยังใช้ใน M5Stack กับ Seeeduino XIAO ด้วย
      จุดที่แปลกคือ นอกจากบอกให้บัดกรีแบตเตอรี่เข้าไปแล้ว ก็ไม่ได้อธิบายชัดเจนว่ามันทำงานอย่างไร
    • ตอนนี้กำลังดูโซลูชันแบบ 2 เซลล์ เช่น BQ25886, BG25887, MP5461, MP2672, LTC3118, MP2639C, IP2326, BQ294533, MCP73213 อยู่
      ส่วนโซลูชันเซลล์เดียวมี IP2312, ETA9740, TP5100, IP5328P, MCP73834, MCP73833, LTC1734, LTC4121
      เจอโมดูลที่มีคอนเน็กเตอร์ USB-C บน AliExpress อยู่บ้างเหมือนกัน แต่ยังไม่ได้ทดสอบ
      IP2326: https://www.aliexpress.com/item/1005007175222069.html
      CN3302: https://www.aliexpress.com/item/1005006203228418.html
    • Pimoroni ก็มีไลน์ผลิตภัณฑ์แบบนี้ด้วย
      บอร์ดจัดการแบตเตอรี่เอนกประสงค์ที่รองรับการชาร์จพร้อมใช้งานอยู่ที่นี่: https://shop.pimoroni.com/products/lipo-amigo?variant=397793...
      มีทั้งเวอร์ชันที่เหมาะกับ Pico หรือบอร์ดฐาน RP2040 ที่รวมการจัดการแบตเตอรี่ไว้ในตัวด้วย
  • เจ๋งตรงที่ใส่ คอร์ Cortex-M33 2 คอร์ และคอร์ RISC-V Hazard3 แบบโอเพนซอร์สอีก 2 คอร์มาด้วย
    ว่ากันว่า Cortex-M33 ได้ 4.09 CoreMark/MHz ส่วน Hazard3 ได้ 3.81 CoreMark/MHz: https://github.com/Wren6991/Hazard3

    • ในซิลิคอนมีทั้งสองแบบ และตอนบูตดูเหมือนจะเป็นโครงสร้างที่เลือกอย่างใดอย่างหนึ่ง
      RP2350 มีคอร์ RISC-V Hazard3 แบบโอเพนฮาร์ดแวร์หนึ่งคู่ ซึ่งสามารถใช้แทนคอร์ Cortex-M33 ตอนบูตได้ และ boot ROM ยังสามารถตรวจจับอัตโนมัติได้ว่าไบนารีสเตจที่สองถูกบิลด์มาสำหรับสถาปัตยกรรมใด แล้วรีบูตเข้าสู่โหมดที่เหมาะสมได้ด้วย
      https://www.raspberrypi.com/documentation/microcontrollers/s...
  • ใช่ครับ DOOM ก็รันได้เหมือนกัน
    เห็นว่ามีเดโมเจ๋ง ๆ อย่างการพอร์ต DOOM ของ Graham Sanderson ไปแล้ว

  • เคยมีการคุยกันถึงเทคนิคค่อนข้างสกปรกอย่าง write trap และการ emulation เพื่อพยายามทำให้ RAM ภายนอก “พอใช้งานได้” บน RP2040
    datasheet ของ RP2350 บอกว่าอินเทอร์เฟซหน่วยความจำ QSPI ใหม่รองรับ memory mapping สำหรับอ่าน/เขียน เลยสงสัยว่านั่นหมายความว่าสามารถต่อ PSRAM เข้าไปได้ตรง ๆ หรือไม่
    ผมไม่ได้เชี่ยวชาญฮาร์ดแวร์นัก แต่ดูค่อนข้างมีแวว และถ้าทำได้จริงก็สงสัยเหมือนกันว่าประสิทธิภาพจะดีขึ้นแค่ไหน

    • ในบทความระบุว่ารองรับ QSPI PSRAM ภายนอก
  • เมื่อพูดถึงของแบบนี้ ผมคิดว่าคงมีคนไม่น้อยที่ไม่รับผิดชอบต่อขยะดิจิทัลหรือร่องรอยการใช้งาน
    ผมสะสม Raspberry Pi รุ่นต่าง ๆ มาหลายปีโดยไม่มีเหตุผลชัดเจน และตอนนี้ก็มีหลายตัวกองอยู่เฉย ๆ ไม่ได้ทำอะไร
    ถึงอย่างนั้นก็ไม่คิดว่าตัวเองอยู่ในกลุ่มสุดโต่งของวงการนี้
    อีกด้านหนึ่งก็สงสัยว่า Raspberry Pi Pico 2 W ที่มีไร้สายหรือ Bluetooth จะออกมาเมื่อไร
    อีกจุดที่น่าสนใจคือ RP2350 มีทั้ง Arm Cortex-M33 หนึ่งคู่และ Hazard3 RISC-V แบบฮาร์ดแวร์เปิดอีกหนึ่งคู่ และสามารถเลือกได้ผ่านซอฟต์แวร์หรือการตั้งค่าหน่วยความจำ OTP บนชิป
    เท่ากับว่ามีสองสถาปัตยกรรมอยู่ในชิปเดียว: https://www.raspberrypi.com/products/rp2350/

    • เราสามารถคำนวณดูได้ว่านี่เป็นปัญหาที่ควรกังวลไหม
      สมมติว่า Pico ขายได้ 4 ล้านตัว และแม้บรรจุภัณฑ์จะถูกรีไซเคิล แต่ Pico ทุกตัวถูกนำไปฝังกลบ
      ตาม datasheet ขนาดคือ 21×51 มม. และความหนาประมาณ 5 มม. ดังนั้นหนึ่งตัวมีปริมาตรราว 5.35 mL
      4 ล้านตัวเท่ากับ 5659 แกลลอน หรือ 756 ลูกบาศก์ฟุต และขยะอิเล็กทรอนิกส์จาก Pico ทุกตัวที่ขายไปจนถึงตอนนี้สามารถใส่ใน ลูกบาศก์ขนาด 9.1 ฟุต ลูกเดียวในโรงรถได้
      ระดับนี้ดูไม่ใช่เรื่องที่ควรเสียเวลากังวล และ Pico หนึ่งตัวที่ใช้หมุนป้ายในสำนักงาน EPA อาจสร้างประโยชน์ต่อสิ่งแวดล้อมมากกว่าความเสียหายจากขยะทั้งหมดด้วยซ้ำ
    • ถ้าคุณไม่มีรถยนต์ ต่อให้สิ้นเปลืองบอร์ดแบบนี้สักหลายพันตัว ก็คงไม่จำเป็นต้องรู้สึกผิดมากนัก
    • คนที่อยู่ในประเทศพัฒนาแล้วแทบทุกคนล้วนไม่รับผิดชอบต่อขยะดิจิทัลหรือฟุตพรินต์ของตัวเองอยู่แล้ว
      ถ้ามีลูกแล้ว ก็แทบไม่มีอะไรที่ทำได้เพื่อลดความเสียหายต่อโลก และการซื้อ Raspberry Pi มากพอให้ยัดลงลิ้นชักของจิปาถะก็ไม่ได้สร้างความแตกต่างมากนัก
      การขึ้นเครื่องบินไปเที่ยววันหยุด หรือซื้อโทรศัพท์ใหม่ทุกไม่กี่ปีก็เช่นกัน ส่วน Raspberry Pi เป็นแค่ระดับค่าคลาดเคลื่อนจากการปัดเศษ
    • ตลาดมือสองก็เป็นสิ่งที่ควรคิดถึง
      เมื่อก่อนผมพลาดโอกาสขายตอนที่แม้แต่รุ่นเก่าก็ยังหายากและแพง แต่เมื่อไม่นานมานี้ขายบอร์ดเก่า ๆ ทั้งหมดได้ในราคาพอใช้ จึงไม่ได้สร้างขยะโดยตรง
      อย่างไรก็ตาม สิ่งที่ผมกังวลมากกว่าใน Pico รุ่นนี้คือฟีเจอร์ ล็อกการบูตแบบมีลายเซ็น
      ถ้าย้อนกลับไม่ได้ Pico อาจถูกผูกติดกับโปรแกรมเดิมไปตลอด และแม้ผู้ใช้ที่ไม่ได้มีเจตนาร้ายต้องการรีแฟลชใหม่ทั้งหมดโดยไม่อ่านเนื้อหาต้นฉบับ ก็อาจไม่สามารถนำบอร์ดมือสองไปใช้ทำอย่างอื่นได้
      อยากรู้เพิ่มเติมว่าการลบแฟลชทั้งหมดสามารถย้อนกลับการล็อกการบูตแบบมีลายเซ็นได้หรือไม่
    • แม้ของเล่นใหม่จะเย้ายวน แต่เราก็เลือกเลื่อนการซื้อของใหม่ออกไปจนกว่าจะใช้ของเดิมให้คุ้มได้เสมอ
      โดยเฉพาะไมโครคอนโทรลเลอร์และบอร์ดพัฒนา ความจำเป็นในการอัปเกรดจะถูกกำหนดโดยข้อกำหนดของโปรเจกต์
      ต่างจากคอมพิวเตอร์หรืออุปกรณ์มือถือที่การอัปเดต แอปสำหรับผู้ใช้ปลายทาง และระบบปฏิบัติการทำให้ของเก่าล้าสมัยแบบถูกสร้างขึ้นมา
  • น่าทึ่งที่มี แหล่งจ่ายไฟแบบสวิตชิง บนชิป
    เมื่อก่อนผมเคยทำวงจรแบบนี้บน PCB ซึ่งต้องใช้อินดักเตอร์และชิ้นส่วนพาสซีฟหลายตัว
    เลยสงสัยว่าทั้งหมดนั้นเข้าไปอยู่ในชิปได้อย่างไร

    • ถ้าผมอ่าน datasheet ถูกต้อง ก็ยังต้องใช้ อินดักเตอร์และชิ้นส่วนพาสซีฟภายนอก อยู่
      สิ่งที่ไม่จำเป็นแล้วมีแค่ชิปแหล่งจ่ายไฟแบบสวิตชิงภายนอกเท่านั้น
    • ไม่ได้รวมทั้งหมดไว้ในชิป
      ยังต้องใช้ชิ้นส่วนพาสซีฟเหล่านั้นอยู่ ดูได้ใน datasheet หัวข้อ 6.3
    • คงหมายถึง บนบอร์ด ไม่ใช่ “บนชิป”
      ในหัวข้อ “5.4 Powerchain” ของ datasheet [0] มีสวิตเชอร์บั๊ก-บูสต์ RT6150 ภายนอกพร้อมอินดักเตอร์ภายนอกให้เห็น
      https://datasheets.raspberrypi.com/pico/pico-2-datasheet.pdf
      อ่านต่อแล้วพบว่ามีข้อความว่า “RP2350 มีสวิตชิงเรกูเลเตอร์บนชิปที่จ่าย 1.1V ให้คอร์ดิจิทัลจากแหล่งจ่าย 3.3V และไม่ได้แสดงใน Figure 7”
      PDF แผนผังวงจรหายากเกินไป และผมก็ไม่ได้ติดตั้ง Cadence Allegro เลยตัดสินใจไม่ค้นต่อ
 
bus710 2024-08-09

ขอเสริมในช่วงท้ายอีกหน่อย…
โดยเฉพาะเมื่อมีการนำหน่วยความจำแฟลชมาใช้กับ MCU การจัดการพลังงานภายในชิปก็ยิ่งกลายเป็นองค์ประกอบทางเทคนิคที่สำคัญมากขึ้น หากจัดการพลังงานได้ไม่ดี ก็จะเขียนข้อมูลลงในแต่ละเซลล์ได้ไม่เพียงพอจนไม่สามารถคงค่า retention ของแฟลชไว้ได้ ผมจำได้ว่าหลายบริษัทไร้โรงงานผลิตชิปต้องลำบากกันพอสมควรเพราะเรื่องนี้
แต่ผลิตภัณฑ์ใหม่นี้ถึงกับมีภาคจ่ายไฟแบบสวิตชิงออนชิปมาให้เลย ทั้งน่าทึ่งและก็ทำให้อยากรู้ว่าเขาจัดการกับสัญญาณรบกวนที่เกิดขึ้นตรงนั้นอย่างไร

 
bus710 2024-08-09

ชิปเลส => แฟบเลส