Arduino บนบอร์ด RISC-V ราคา $4.9
ภาพรวมโปรเจกต์
โปรเจกต์ "Arduino on RISC-V" สำรวจความก้าวหน้าล่าสุดของฮาร์ดแวร์โอเพนซอร์สโดยการพอร์ตระบบนิเวศของ Arduino ไปยัง Sipeed Longan Nano Longan Nano มีราคาที่ต่ำมากเพียง $4.9 ขับเคลื่อนโดย GigaDevice GD32VF103CBT6 ซึ่งเป็นไมโครคอนโทรลเลอร์ RISC-V แบบ 32-บิต โปรเจกต์นี้มีความสำคัญเนื่องจากเป็นการก้าวข้ามสถาปัตยกรรม AVR และ ARM แบบดั้งเดิม ทำให้นักพัฒนาสามารถใช้ชุดคำสั่ง RV32IMAC ในขณะที่ยังคงรักษากระบวนการทำงานของ Arduino ที่คุ้นเคยไว้ได้ ครอบคลุมการทำงานร่วมกับ RTOS (Real-Time Operating Systems) และการสร้าง GUI ประสิทธิภาพสูงบน LCD สีขนาด 160x80 ที่มาพร้อมกับบอร์ด
Longan Nano
Sipeed Longan Nano อาจเป็นบอร์ดพัฒนา RISC-V ที่ถูกที่สุดในปัจจุบัน ด้วยราคาเพียง $4.9 คุณจะได้ Flash ขนาด 128KB, RAM ขนาด 32KB, LCD ขนาด 160x80, ช่องเสียบ TF card และแม้แต่เคสอะคริลิกใส
ไมโครคอนโทรลเลอร์ GD32V Series
ชิปหลักบนบอร์ดคือไมโครคอนโทรลเลอร์ GigaDevice GD32V Series, รุ่น GD32VF103CBT6 จากข้อมูลที่ RISC-V website ให้มา เป็น SOC แบบ 32-บิต ที่มีชุดคำสั่ง RV32IMAC และคอร์ของมันชื่อ "Bumblebee"
สถาปัตยกรรมทางเทคนิคและการรวม RTOS
- Bumblebee Core (RV32IMAC): แตกต่างจากบอร์ด Arduino มาตรฐาน MCU นี้ใช้สถาปัตยกรรม RISC-V ทำงานที่ 108MHz ซึ่งเร็วกว่า Arduino UNO (16MHz) อย่างมาก ส่วนต่อท้าย "IMAC" แสดงถึงการรองรับคำสั่ง Integer, Multiply, Atomic และ Compressed ซึ่งช่วยให้สามารถสร้างโค้ดที่มีความหนาแน่นสูงและทำงานได้อย่างมีประสิทธิภาพ
- การรวม RT-Thread RTOS: เพื่อเชื่อมช่องว่างระหว่างฮาร์ดแวร์ RISC-V แบบ bare-metal และ Arduino API โปรเจกต์นี้ใช้ RT-Thread RT-Thread มี Hardware Abstraction Layer (HAL) ที่แข็งแกร่งสำหรับ UART, SPI และ LCD ขณะเดียวกันก็มีฟีเจอร์ขั้นสูง เช่น scheduler ที่รองรับ thread และ tiny shell (FinSH) สำหรับการดีบักแบบเรียลไทม์
- การจัดการหน่วยความจำ: ด้วย Flash ขนาด 128KB และ SRAM ขนาด 32KB, Longan Nano มีพื้นที่หน่วยความจำมากกว่า ATmega328P อย่างไรก็ตาม การรัน GUI และ RTOS แบบเต็มรูปแบบต้องอาศัยการจัดสรรหน่วยความจำอย่างระมัดระวัง โปรเจกต์นี้ใช้ RTT-GUI ซึ่งใช้ BMP/JPEG decoders ที่ปรับแต่งมาอย่างดีเพื่อแสดงผลภาพบน LCD ที่ใช้ ST7735 โดยไม่ทำให้ SRAM หมดไป
- เวิร์กโฟลว์ของ PlatformIO: แม้ว่า Arduino IDE จะรองรับบน Windows แต่นักพัฒนามืออาชีพมักใช้ PlatformIO เนื่องจากมีความสามารถในการจัดการไลบรารีและการดีบักที่เหนือกว่า การตั้งค่ารวมถึงการกำหนด
BOARD_SIPEED_LONGAN_NANOเพื่อให้แน่ใจว่า macros เฉพาะฮาร์ดแวร์ที่ถูกต้องจะถูกเปิดใช้งานระหว่างการคอมไพล์
คุณสมบัติทางวิศวกรรมและฮาร์ดแวร์
- การเชื่อมต่อจอแสดงผล: LCD ขนาด 0.96 นิ้วที่มาพร้อมกับบอร์ดเชื่อมต่อผ่าน high-speed SPI การนำไดรเวอร์ LCD มาใช้ภายในเฟรมเวิร์ก RT-Thread ช่วยให้สามารถอัปเดตหน้าจอแบบ non-blocking ซึ่งเป็นสิ่งสำคัญสำหรับการรักษาการตอบสนองของระบบ
- การขยายและพื้นที่เก็บข้อมูล: ช่องเสียบ TF (MicroSD) card บนบอร์ดเชื่อมต่อผ่าน SPI ในบริบทของ RTOS สิ่งนี้ช่วยให้สามารถรวมไลบรารี FatFS เข้ามาได้ ทำให้เครื่องสามารถทำงานเป็น data logger หรือ handheld emulator
- ระบบนิเวศของฮาร์ดแวร์โอเพนซอร์ส: โดยการรองรับ RISC-V โปรเจกต์นี้มีส่วนช่วยในการสร้างมาตรฐานฮาร์ดแวร์แบบ royalty-free ที่เข้าถึงได้ทั่วโลก ลดการพึ่งพา IP ที่เป็นกรรมสิทธิ์ เช่น ARM หรือ AVR