Bảng vi điều khiển Raspberry Pi Pico 2 giá 5 USD bắt đầu được bán
(raspberrypi.com)- Raspberry Pi ra mắt bảng mạch thế hệ thứ 2 Raspberry Pi Pico 2, dựa trên RP2350 mới, tăng cường hiệu năng, bộ nhớ, bảo mật và giao diện trong khi vẫn duy trì khả năng tương thích với hệ sinh thái Pico hiện có
- Con chip lõi RP2350 bao gồm 2 nhân Arm Cortex-M33 150MHz, 520KB SRAM, bảo mật dựa trên TrustZone, signed boot, OTP, tăng tốc SHA-256, TRNG, PIO nâng cấp, HSTX và hỗ trợ QSPI PSRAM ngoài
- Pico 2 là bảng mạch 5 USD kết hợp RP2350A với 4MB flash QSPI ngoài; Pico 2 W và các phiên bản gắn sẵn header 0,1 inch cũng được dự kiến ra mắt trước cuối năm
- Môi trường phát triển cũng được mở rộng với Pico SDK cập nhật, image MicroPython/CircuitPython, công việc hỗ trợ Rust, phần cứng chuẩn dựa trên Trusted Firmware-M 2.1.0 LTS và hỗ trợ Google Pigweed SDK
- Khi khởi động, RP2350 có thể chọn 2 nhân Hazard3 RISC-V thay cho Arm Cortex-M33, tạo nền tảng để thử nghiệm RISC-V ổn định trên bảng Raspberry Pi
Ra mắt Pico 2 và những thay đổi cơ bản
- Raspberry Pi Pico 2 là bảng vi điều khiển thế hệ thứ 2 dựa trên RP2350, vi điều khiển mới có hiệu năng cao và bảo mật do Raspberry Pi thiết kế
- So với dòng Pico trước đây, xung nhịp nhân cao hơn, bộ nhớ tăng gấp đôi, đồng thời cung cấp nhân Arm mạnh hơn, các tính năng bảo mật mới và giao diện được cải thiện
- Duy trì khả năng tương thích phần cứng và phần mềm với dòng Pico trước đó
- Giá bán là 5 USD
Từ RP2040 đến RP2350
- Trong 3 năm rưỡi kể từ khi Pico và RP2040 ban đầu ra mắt vào tháng 1/2021, Pico và Pico W đã bán được gần 4 triệu chiếc
- RP2040 đã được dùng trong nhiều bảng phát triển của bên thứ ba và sản phẩm OEM, cũng như trong các sản phẩm như bàn pinball và synthesizer
- RP2040 được thiết kế như một vi điều khiển có 2 nhân 32-bit, RAM trên chip, hệ thống con I/O lập trình được (PIO) và bus fabric có tính xác định
- Các demo dựa trên RP2040 gồm bản port DOOM của Graham Sanderson, bản port PalmOS của Dmitry Grinberg, và Commodore 64 cartridge “không cần CPU” của Kevin Vance
- RP2040 thiếu bộ nhớ lưu trữ trên chip, trạng thái nhàn rỗi tiết kiệm điện và tùy chọn package; người dùng đã yêu cầu nhân nhanh hơn, nhiều RAM hơn và tính năng bảo vệ mã
Thông số chip RP2350 và package
- RP2350 là một thiết kế tinh vi hơn nhiều so với RP2040
- Các thông số chính như sau
- 2 nhân Arm Cortex-M33 150MHz, hỗ trợ dấu phẩy động và DSP
- 520KB SRAM trên chip gồm 10 bank có thể truy cập đồng thời
- Kiến trúc bảo mật dựa trên Arm TrustZone for Cortex-M
- Hỗ trợ signed boot
- Bộ nhớ antifuse OTP 8KB trên chip
- Tăng tốc SHA-256
- Bộ tạo số ngẫu nhiên thực phần cứng (TRNG)
- Bộ nguồn chuyển mạch trên chip và LDO dòng tĩnh thấp
- 12 state machine PIO được nâng cấp
- Ngoại vi HSTX cho truyền dữ liệu tốc độ cao
- Hỗ trợ QSPI PSRAM ngoài
- Tùy chọn package đa dạng hơn so với QFN56 7×7mm duy nhất của RP2040
- RP2350A: QFN60 7×7mm, 30 GPIO
- RP2350B: QFN80 10×10mm, 48 GPIO
- RP2354A/RP2354B: biến thể tích hợp flash QSPI 2MB dạng stacked-in-package tương ứng
- Giá RP2350A là 0,80 USD theo reel 3.400 chiếc, 1,10 USD khi mua lẻ, đắt hơn RP2040 10 cent
- RP2350B đắt hơn RP2350A 10 cent, còn các biến thể RP2354 đắt hơn 20 cent so với mẫu tương ứng không có flash
- RP2350 dự kiến được cung ứng số lượng lớn trước cuối năm 2024; có thể đăng ký tham gia chương trình mẫu trên trang sản phẩm
Bảng Pico 2 và các sản phẩm sắp ra mắt
- Pico 2 kết hợp RP2350A với 4MB flash QSPI ngoài
- Flash QSPI ngoài của Pico ban đầu là 2MB
- Form factor và đặc tính điện tương thích với thiết kế Pico ban đầu
- Lượng hàng trong kênh phân phối tại thời điểm ra mắt không nhiều, nhưng Pico 2 đang ở trạng thái sản xuất ở tốc độ tối đa cùng Sony
- Nhiều đối tác Approved Reseller đang vận hành cơ chế đặt hàng chờ và đặt trước, và hàng sẽ được xuất xưởng định kỳ trong vài tuần tới
- Các sản phẩm dự kiến ra mắt trước cuối năm gồm
- Pico 2 W hỗ trợ không dây, dùng modem Infineon 43439 giống Pico W
- Phiên bản Pico 2 và Pico 2 W được gắn sẵn header 0,1 inch
Công cụ phát triển, chứng nhận bảo mật và tài liệu
- Pico SDK đã được cập nhật để đồng hành với việc ra mắt Pico 2 và RP2350
- Image MicroPython mới và image CircuitPython được cung cấp
- Jonathan Pallant và các cộng tác viên đang triển khai hỗ trợ ngôn ngữ Rust cho nền tảng mới
- Raspberry Pi đang hợp tác với dự án Trusted Firmware để biến RP2350 thành nền tảng phần cứng chuẩn của Trusted Firmware-M 2.1.0 LTS
- TF-M cung cấp bản triển khai tham chiếu của PSA Certified trên chip Arm v8-M
- RP2350 sẽ được kiểm thử tại một phòng thí nghiệm độc lập được chứng nhận
- Mục tiêu là đạt PSA Certified Level 2 trước bản phát hành tháng 10
- Cùng với Google, Raspberry Pi cũng ra mắt Pigweed SDK có hỗ trợ native cho Pico 2
- Thư viện middleware Pigweed được tích hợp trong hàng triệu thiết bị, bao gồm thiết bị Google Pixel và máy điều nhiệt Nest
- Có thể xem thông báo của Google trên trang công bố
- RP2350 có datasheet đầy đủ
- Cũng có hướng dẫn bắt đầu phát triển C/C++ bằng Raspberry Pi Pico Visual Studio Code extension mới được cập nhật
Signed boot và bounty bảo mật
- Trọng tâm của mô hình bảo mật RP2350 là signed boot
- Khi bảo mật được bật, chỉ các binary được ký bằng khóa riêng tương ứng với hash khóa công khai lưu trong OTP mới có thể khởi động
- Việc ngăn thực thi mã tùy ý khiến việc trích xuất nội dung OTP, bao gồm khóa mật mã dùng để bảo vệ mã, khó hơn nhiều
- RP2350 sử dụng nhiều kỹ thuật để chống lại tấn công fault-injection
- Hardware fast glitch detector
- Redundancy coprocessor đang chờ cấp bằng sáng chế
- Bảo vệ luồng điều khiển và tính toàn vẹn dữ liệu
- Raspberry Pi muốn tìm và sửa các lỗi trong quy trình khởi động trước khi RP2350 được triển khai trong các ứng dụng quan trọng
- Trước khi ra mắt, Raspberry Pi đã thuê NewAE và Hextree kiểm toán kiến trúc bảo mật
- Cung cấp bounty 10.000 USD cho lần break đầu tiên được xác nhận trong quy trình signed boot
- Thời gian vận hành ban đầu là một tháng
- Nếu không phát hiện lỗi, thời gian có thể được gia hạn
- Có thể cung cấp bounty bổ sung cho các lỗi khác nhau phát hiện thêm
- Chi tiết có trong bounty program
- Hợp tác với hội nghị hacking DEF CON để cung cấp phần cứng RP2350 cho các nhà nghiên cứu bảo mật
- Badge DEF CON năm nay dựa trên RP2350
- Hextree đã sản xuất số lượng hạn chế các bảng thử nghiệm cho power rail glitching và electromagnetic glitching
Sản phẩm đối tác dựa trên RP2350
- Raspberry Pi đã phát triển các sản phẩm dựa trên RP2350 cùng đối tác trong năm qua
- Nhiều sản phẩm là bản nâng cấp của các sản phẩm dựa trên RP2040 hiện có, một số là sản phẩm hoàn toàn mới
- Các ví dụ dự kiến có mặt vào ngày ra mắt hoặc trong vòng một tháng tới gồm
- 4D Systems: dòng màn hình hiệu năng cao gen4-RP2530 từ 2,4″ đến 7,0″
- Adafruit: Metro RP2350 cho shield tương thích Arduino, Feather RP2350 dạng Feather
- Bus Pirate: công cụ debug phần cứng mở dựa trên RP2350 Bus Pirate 5XL, Bus Pirate 6
- Cytron: bộ điều khiển I/O công nghiệp IRIV I/O Controller, bộ điều khiển robot MOTION 2350 Pro
- Invector Labs: sản phẩm Challenger+ RP2350 với 8MB flash, 8MB PSRAM, mô-đun BConnect hoặc WiFi6/BLE5
- NewAE: RP2350 Target for ChipWhisperer dùng cho phân tích điện năng và thử nghiệm fault injection
- Pimoroni: Explorer, Tiny2350, Plasma 2350, PGA 2350
- Seeed: XIAO RP2350 với 19 GPIO, RGB LED và hệ thống quản lý pin
- Solder Party: RP2350 Stamp và Stamp XL tích hợp RP2350, flash 16MB, LDO, bộ sạc LiPo, LED, nút Reset và Boot
- SparkFun: Pro Micro – RP2350 theo form factor Pro Micro
- Switch Science: Picossci2 Breakout có cổng USB-C và các mô-đun liên quan
- Tiny Circuits: Thumby Color, console móc khóa đeo được có thể lập trình
- Wiznet: bảng đánh giá dựa trên RP2350 cho chip Ethernet W5100S, W5500, W6100
Chế độ RISC-V và Hazard3
- RP2350 bao gồm 2 nhân RISC-V phần cứng mở Hazard3, có thể dùng thay cho nhân Cortex-M33 khi khởi động
- Boot ROM tự động phát hiện binary second-stage được build cho kiến trúc nào và có thể khởi động lại chip vào chế độ phù hợp
- Ở chế độ RISC-V, có thể sử dụng các tính năng của chip ngoại trừ một số ít tính năng bảo mật và bộ tăng tốc dấu phẩy động độ chính xác kép
- Hazard3 do Luke Wren, Principal Engineer trong nhóm chip của Raspberry Pi, phát triển trong thời gian cá nhân
- Hazard3 là bộ xử lý pipeline 3 giai đoạn được tối ưu hóa, triển khai tập lệnh RV32I cùng nhiều phần mở rộng tiêu chuẩn nhằm vào hiệu năng và mật độ mã
- Mục đích của việc thêm Hazard3 vào RP2350 là giúp nhà phát triển phần mềm thử nghiệm kiến trúc RISC-V trong một môi trường ổn định, được hỗ trợ, đồng thời lan tỏa Hazard3 như một core mở gọn gàng có thể dùng nguyên trạng trong thiết bị khác hoặc làm nền tảng cho phát triển tiếp
3 bình luận
Các ý kiến trên Hacker News
Luke, tác giả của Hazard3, giải thích bối cảnh đưa lõi Hazard3 vào cạnh M33
Không thể so sánh kích thước hai lõi, nhưng ngay cả khi bỏ Hazard3 thì kích thước die cuối cùng nhiều khả năng cũng gần như vậy
Ông nói đó là vì logic standard-cell có thể nén được, và do các ràng buộc thiết kế pad ring nên kích thước die cũng phải làm tròn
Tuy vậy, ông nói nếu bỏ lõi RISC-V thì ở bước layout cuối cùng và phân tích timing tĩnh có lẽ đã bớt rụng tóc hơn
https://x.com/wren6991/status/1821582405188350417
Không hiểu vì sao đến giờ vẫn dùng Micro USB
Dù chi phí mỗi bo mạch tăng thêm một chút, tôi đã kỳ vọng phiên bản sau sẽ dùng USB-C
https://www.raspberrypi.com/for-industry/powered-by/product-...
Một số bo USB-C Trung Quốc tiết kiệm điện trở kéo lên CC, nên cổng không hoạt động với cáp C-to-C
Tôi vẫn còn rất nhiều cáp micro-USB, trong khi nơi dùng chúng ngày càng ít đi
Những thiết bị như thế này không thường xuyên bị di chuyển hay cắm rút, nên tình huống chính khiến đầu nối hỏng cũng không mấy khi xảy ra
Nếu phải thiết kế lại vỏ dự án thì đó không còn là nâng cấp drop-in nữa
So với RP2040 thì có khá nhiều thay đổi
Package lớn hơn, biến thể có flash tích hợp 2MB, secure boot và boot mã hóa, hai ngữ cảnh thực thi bảo mật, bộ tạo số ngẫu nhiên, bộ tăng tốc SHA-256, OTP ROM 8KB, bộ phát nối tiếp tốc độ cao HSTX 8 kênh, GPIO tăng từ 30 lên 48, state machine PIO từ 8 lên 12, kênh DMA từ 12 lên 16, có thể chọn RISC-V và Arm khi boot, Cortex-M0+ lên Cortex-M33, xung nhịp lõi tăng từ 133MHz lên 150MHz
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.p...
Có vẻ đã giải quyết gần như mọi điểm tôi từng không hài lòng ở RP2040
Nhất định phải đọc đến cả phần “One more thing” ở cuối
Khi boot có thể chọn Cortex-M33 hoặc RISC-V một cách trong suốt
Tôi nghĩ dùng diện tích đó cho thêm RAM hoặc một lõi Arm khác thì tốt hơn, hoặc bán hẳn một biến thể chuyên RISC-V sẽ hợp lý hơn
Có lẽ thêm PSRAM hoặc đưa vào bộ xử lý mạng nơ-ron sẽ hữu ích hơn
Không rõ có ai biết bo mạch tất-cả-trong-một để quản lý pin cho các thiết bị di động nhỏ không
Gần đây tôi bắt đầu nghịch ESP32, và khá ngạc nhiên là trên AliExpress không có nhiều bo mạch dùng ngay được để vừa sạc pin qua USB vừa cấp nguồn cho thiết bị
Tôi muốn gắn LiPo vào thiết kế và để nó hoạt động đơn giản như điện thoại
Vẫn cần cáp USB riêng để sạc
Tuy nhiên có vẻ một số bo ESP32 sạc LiPo qua cổng USB, và một số bo Heltec cũng vậy
Tôi có một bo có đầu nối pin JST nhưng lâu rồi không dùng nên không chắc; có lẽ là mẫu này: https://heltec.org/project/wifi-kit32-v3/
Hiện trên bàn tôi có một chiếc T18: https://github.com/LilyGO/TTGO-T-ControllerV2.2/blob/master/...
Tuy nhiên tôi từng gặp chút vấn đề để upload chạy đúng, và sản phẩm LILYGO nhìn chung cần thử-sai một chút, nhưng khi đã chỉnh xong thì khá ổn định
Điều lạ là ngoài việc bảo bạn hàn pin vào, cách nó hoạt động không được giải thích rõ ràng
Với giải pháp một cell thì có IP2312, ETA9740, TP5100, IP5328P, MCP73834, MCP73833, LTC1734, LTC4121
Tôi cũng tìm thấy vài module có đầu nối USB-C trên AliExpress nhưng chưa thử nghiệm
IP2326: https://www.aliexpress.com/item/1005007175222069.html
CN3302: https://www.aliexpress.com/item/1005006203228418.html
Bo quản lý pin đa dụng hỗ trợ vừa sạc vừa dùng nằm ở đây: https://shop.pimoroni.com/products/lipo-amigo?variant=397793...
Cũng có thể mua phiên bản phù hợp với Pico, hoặc bo dựa trên RP2040 có tích hợp quản lý pin
Rất ấn tượng là nó có 2 lõi Cortex-M33 và 2 lõi RISC-V Hazard3 mã nguồn mở
Cortex-M33 được cho là đạt 4.09 CoreMark/MHz, còn Hazard3 đạt 3.81 CoreMark/MHz: https://github.com/Wren6991/Hazard3
RP2350 có một cặp lõi RISC-V Hazard3 phần cứng mở có thể thay thế lúc khởi động cho các lõi Cortex-M33, và boot ROM cũng có thể tự động phát hiện binary giai đoạn 2 được build cho kiến trúc nào rồi khởi động lại ở chế độ phù hợp
https://www.raspberrypi.com/documentation/microcontrollers/s...
Vâng, nó cũng chạy được DOOM
Nghe nói đã có một bản demo thú vị như bản port DOOM của Graham Sanderson
Trước đây từng có thảo luận về các kỹ thuật khá bẩn như bẫy ghi và giả lập để bằng cách nào đó khiến RAM ngoài “hoạt động” trên RP2040
Datasheet RP2350 nói giao diện bộ nhớ QSPI mới hỗ trợ ánh xạ bộ nhớ đọc/ghi, nên tôi thắc mắc liệu điều đó có nghĩa là có thể chỉ cần nối PSRAM vào hay không
Tôi không quá rành phần cứng, nhưng nghe khá hứa hẹn, và nếu làm được như vậy thì cũng tò mò hiệu năng sẽ cải thiện đến mức nào
Tôi nghĩ không ít người trở nên vô trách nhiệm với rác thải số hay dấu vết sử dụng khi gặp những thứ như thế này
Tôi đã sưu tầm các biến thể Raspberry Pi suốt nhiều năm mà chẳng có lý do gì đặc biệt, và giờ thì có cả đống cái đang nằm không
Dù vậy tôi không nghĩ mình thuộc nhóm cực đoan trong lĩnh vực này
Mặt khác, tôi tò mò không biết khi nào Raspberry Pi Pico 2 W có wireless hay Bluetooth sẽ ra mắt
Cũng thú vị ở chỗ RP2350 cung cấp một cặp Arm Cortex-M33 và một cặp Hazard3 RISC-V phần cứng mở, có thể chọn bằng phần mềm hoặc thiết lập bộ nhớ OTP on-chip
Tức là có hai kiến trúc trong một con chip: https://www.raspberrypi.com/products/rp2350/
Pico đã bán được 4 triệu chiếc, và giả sử toàn bộ Pico đều bị chôn lấp, dù bao bì được tái chế
Theo datasheet, kích thước là 21×51mm và độ dày khoảng 5mm, tức mỗi chiếc khoảng 5,35mL
4 triệu chiếc là 5659 gallon, 756 feet khối, và toàn bộ rác thải điện tử từ mọi chiếc Pico từng bán đến nay có thể nhét vừa trong một khối lập phương cạnh 9,1 feet trong gara
Mức này không có vẻ là vấn đề đáng bỏ thời gian lo lắng; một chiếc Pico dùng để xoay biển báo trong văn phòng EPA thậm chí có thể tạo ra lợi ích môi trường lớn hơn tác hại từ toàn bộ lượng rác thải đó
Nếu đã có con rồi thì gần như không còn việc gì bạn có thể làm để giảm tác hại lên Trái Đất, và mua đủ Raspberry Pi để nhét vào ngăn kéo đồ lặt vặt cũng không tạo khác biệt lớn
Việc đi máy bay để nghỉ dưỡng hay vài năm lại mua điện thoại mới cũng tương tự, còn Raspberry Pi chỉ ở mức sai số làm tròn
Trước đây tôi đã bỏ lỡ cơ hội bán khi ngay cả các mẫu cũ cũng khó kiếm và đắt, nhưng gần đây tôi đã bán hết các bo mạch cũ với giá khá ổn, nên không tạo ra rác thải trực tiếp
Tuy nhiên điều khiến tôi lo hơn ở Pico lần này là tính năng khóa boot có chữ ký
Nếu không thể đảo ngược, Pico sẽ bị buộc vĩnh viễn vào chương trình ban đầu, và người dùng không có ý đồ xấu cũng có thể không dùng được bo cũ cho mục đích khác nếu muốn flash lại toàn bộ mà không đọc nội dung gốc
Tôi muốn biết thêm liệu có thể đảo ngược khóa boot có chữ ký bằng cách xóa toàn bộ flash hay không
Đặc biệt với vi điều khiển và bo phát triển, nhu cầu nâng cấp được quyết định bởi yêu cầu của dự án
Khác với máy tính hay thiết bị di động, nơi các bản cập nhật, ứng dụng cho người dùng cuối và hệ điều hành tạo ra sự lỗi thời nhân tạo
Thật bất ngờ khi có bộ nguồn chuyển mạch on-chip
Trước đây tôi từng làm thứ này trên PCB, và nó cần cuộn cảm cùng nhiều linh kiện thụ động
Tôi tò mò không biết làm sao họ nhét tất cả những thứ đó vào trong chip
Thứ không còn cần nữa chỉ là chip nguồn chuyển mạch bên ngoài
Vẫn cần các linh kiện thụ động đó, xem mục 6.3 của datasheet
Mục “5.4 Powerchain” trong datasheet [0] cho thấy một bộ chuyển mạch buck-boost RT6150 bên ngoài có gắn cuộn cảm ngoài
https://datasheets.raspberrypi.com/pico/pico-2-datasheet.pdf
Đọc thêm thì thấy có đoạn: “RP2350 có một bộ điều áp chuyển mạch on-chip, cấp 1,1V cho lõi số từ nguồn 3,3V, và không được hiển thị trong Figure 7”
File PDF sơ đồ mạch quá khó tìm, và tôi cũng không cài Cadence Allegro, nên quyết định không tìm thêm nữa
Nói thêm một chút về phần cuối…
Đặc biệt, khi bộ nhớ flash được áp dụng cho MCU, quản lý nguồn trên chip đã trở thành một yếu tố kỹ thuật còn quan trọng hơn. Nếu không quản lý nguồn tốt, các ô nhớ sẽ không được ghi đủ mức để duy trì retention của flash, nên tôi nhớ là khá nhiều hãng fabless đã phải vật lộn không ít vì chuyện này.
Thế nhưng sản phẩm mới này lại còn có hẳn bộ nguồn chuyển mạch on-chip, nên vừa thấy ấn tượng, vừa tò mò không biết họ đã xử lý nhiễu phát sinh ở đó như thế nào.
chipless => fabless