Design and Development of an On-Board Computer Subsystem for a Cube Satellite
AerospaceHardwareSoftwareEmbeddedNetworking
10/09/2025 — 03/04/2026

Design and Development of an On-Board Computer Subsystem for a Cube Satellite

การออกแบบโปรโตคอลและทดสอบระบบคอมพิวเตอร์ออนบอร์ดสำหรับดาวเทียมขนาดเล็ก เพื่อรองรับการโอนถ่ายข้อมูลขนาดใหญ่และยืนยันขีดความสามารถในการกู้คืนสัญญาณการสื่อสารไร้สายโดยมีความถูกต้องสูงสุด

RoleProtocol Designer & Systems Test Engineer
ContextUniversity Senior Project
CollaboratorsBipoeman, I2eNamE
StackPython, C, UART, SPI, I2C, USB, FatFs, LittleFS, KISS Protocol, STM32

TLDR; พัฒนาต้นแบบระบบคอมพิวเตอร์กลางของดาวเทียม (OBC) เพื่อให้ทำภารกิจถ่ายรูป โดยต้องมีการทดสอบและใช้งานได้จริงในสภาพแวดล้อมจำลอง

1. สถาปัตยกรรมระบบและข้อกำหนดภารกิจ

การพัฒนาระบบคอมพิวเตอร์ออนบอร์ด (OBC) สำหรับดาวเทียมขนาดเล็ก มีจุดเริ่มต้นจากข้อจำกัดของอุปกรณ์ระดับเชิงพาณิชย์ ซึ่งมักมีราคาสูงและมีสถาปัตยกรรมแบบปิด ทำให้ขาดความยืดหยุ่นในการเชื่อมต่อกับส่วนบรรทุกภารกิจ (Payload) ที่พัฒนาขึ้นเป็นการเฉพาะ ระบบนี้จึงถูกออกแบบให้ทำหน้าที่เป็นศูนย์กลางการจัดการข้อมูลและคำสั่ง (Command and Data Handling: C&DH) โดยมีเป้าหมายหลักในการบริหารจัดการข้อมูลสถานะระบบ (Housekeeping Data) และข้อมูลภาพถ่ายจากภารกิจ (Mission Data)

การไหลของข้อมูลในระบบเริ่มต้นจากสถานีภาคพื้นดินที่ทำการส่งคำสั่งผ่านคลื่นวิทยุความถี่ 433 MHz ไปยังดาวเทียม จากนั้นระบบ OBC จะทำหน้าที่รับคำสั่งและส่งต่อไปยังส่วนบรรทุกภารกิจเพื่อสั่งการบันทึกภาพ เมื่อดำเนินการเสร็จสิ้น ข้อมูลภาพถ่ายจะถูกส่งกลับมาจัดเก็บลงหน่วยความจำของ OBC เพื่อแบ่งเป็นแพ็กเก็ตย่อยและส่งกลับลงสู่สถานีภาคพื้นดินตามคำสั่ง

การทำงานแบบบูรณาการภายในระบบถูกแบ่งออกเป็นการเชื่อมต่อภายในและภายนอก การเชื่อมต่อภายในประกอบด้วยการสื่อสารกับโมดูลนาฬิกาเวลาจริง (RTC) เซนเซอร์วัดอุณหภูมิ และหน่วยความจำ ส่วนการเชื่อมต่อภายนอกครอบคลุมถึงการสื่อสารกับโมดูลวิทยุและบอร์ดประมวลผลของส่วนบรรทุกภารกิจ

และนี่คือแผนภาพที่บอกว่าในดาวเทียมดวงนี้มี Subsystems อะไรบ้าง

mission.png

ก็จะเห็นว่ามีเยอะเลย เพราะ On-Board Computer คือศูนย์กลางที่ติดต่อกับ "ทุกระบบ"

2. การออกแบบฮาร์ดแวร์และการเชื่อมต่อ

การออกแบบฮาร์ดแวร์มุ่งเน้นความทนทานตามมาตรฐานอุตสาหกรรม โดยคัดเลือกไมโครคอนโทรลเลอร์ซึ่งพัฒนาบนสถาปัตยกรรม ARM Cortex เป็นหน่วยประมวลผลหลัก เนื่องจากมีประสิทธิภาพการทำงานสูงและมีคุณสมบัติประหยัดพลังงาน

ระบบบัสและการสื่อสารกับอุปกรณ์รอบข้างถูกกำหนดไว้อย่างเป็นระบบ ดังนี้:

  • โปรโตคอล I2C ถูกใช้งานเพื่อเชื่อมต่อกับอุปกรณ์ที่ใช้ความเร็วต่ำและประหยัดพลังงาน ได้แก่ โมดูลนาฬิกาเวลาจริง และเซนเซอร์วัดอุณหภูมิ

  • โปรโตคอล SPI ถูกใช้งานเป็นช่องทางหลักสำหรับอ่านเขียนหน่วยความจำความเร็วสูง โดยเชื่อมต่อกับหน่วยความจำแบบ NOR Flash สำหรับเก็บข้อมูลสถานะผ่านระบบไฟล์ LittleFS และเชื่อมต่อกับโมดูลหน่วยความจำแบบการ์ด (microSD) สำหรับเก็บข้อมูลภาพถ่ายผ่านระบบไฟล์ FatFs

  • โปรโตคอล USB ในโหมด CDC (Communication Device Class) ถูกเปิดใช้งานเพื่อรองรับการรับส่งข้อมูลภาพขนาดใหญ่จากบอร์ดประมวลผลของส่วนบรรทุกภารกิจ ด้วยมาตรฐาน Full Speed

  • โปรโตคอล UART ถูกนำมาใช้ในการเชื่อมต่อกับโมดูลสื่อสารวิทยุแบบอะซิงโครนัส เพื่อเป็นช่องทางรับคำสั่งและดาวน์โหลดข้อมูล

ซึ่งแน่นอนว่า "ไส้ใน" ก็ต้องสอดคล้องกับที่ออกแบบไว้

block diagram.png

3. กลไกการจัดการข้อมูลและหน่วยความจำ

การจัดการข้อมูลภาพถ่ายขนาดใหญ่จำเป็นต้องมีกลไกที่ลดความแออัดในการประมวลผล การทำงานแบบโหมดวนรอบตรวจสอบ (Polling) และโหมดขัดจังหวะ (Interrupt) ก่อให้เกิดภาระส่วนเกิน (Overhead) ต่อหน่วยประมวลผลกลางอย่างมหาศาล ระบบนี้จึงได้ออกแบบให้ฮาร์ดแวร์ทำหน้าที่เข้าถึงหน่วยความจำโดยตรง (DMA) เป็นแกนหลักในการขับเคลื่อนข้อมูล

การทำงานของกลไก DMA ในระบบประกอบด้วย:

  • การเขียนและอ่านไฟล์ภาพถ่ายลงในหน่วยความจำผ่านบัส SPI ในรูปแบบบล็อกข้อมูล (Block Transfer) ซึ่งทำความเร็วได้สูงสุดโดยที่หน่วยประมวลผลกลางไม่ต้องแทรกแซง

  • การสตรีมมิ่งข้อมูลออกทางพอร์ต UART โดยระบบจะเตรียมแพ็กเก็ตข้อมูลในหน่วยความจำและส่งพอยน์เตอร์ (Pointer) ให้กลไก DMA ดำเนินการส่งข้อมูลสู่ระบบสื่อสารอย่างต่อเนื่องอัตโนมัติ

และเวลาที่จะส่งข้อมูลกันก็ต้องมีการจัดคิว

RTOS Implement example.png

เพื่อป้องกันปัญหาข้อมูลสูญหายจากความแตกต่างของความเร็วในการสื่อสาร ระบบได้บูรณาการกลไก DMA เข้ากับเทคนิคการจัดการหน่วยความจำแบบบัฟเฟอร์คู่ (Double Buffering) เมื่อระบบรับข้อมูลแพ็กเก็ตจากพอร์ต USB เข้าสู่บัฟเฟอร์ชุดที่ 1 จนเต็ม บัฟเฟอร์ชุดที่ 2 ซึ่งบรรจุข้อมูลก่อนหน้าจะถูกส่งต่อให้ฮาร์ดแวร์ DMA นำไปเขียนลงหน่วยความจำทันที การทำงานแบบคู่ขนานนี้ช่วยให้กระบวนการรับข้อมูลภาพถ่ายดำเนินไปได้อย่างรวดเร็วและต่อเนื่อง

image.png

ขอบคุณภาพจาก https://www.geeksforgeeks.org/operating-systems/i-o-buffering-and-its-various-techniques/

4. โปรโตคอลการสื่อสารและการจัดโครงสร้างแพ็กเก็ต

เพื่อรองรับการรับส่งข้อมูลผ่านสื่อกลางไร้สายที่มีโอกาสเกิดสัญญาณรบกวนสูง ระบบได้ประยุกต์ใช้มาตรฐาน KISS Protocol ในการห่อหุ้มโครงสร้างข้อมูล โดยแบ่งสถาปัตยกรรมออกเป็น 3 ชั้น

  1. Physical Layer: ครอบคลุมการสื่อสารผ่านคลื่นวิทยุความถี่ 433 MHz และการเชื่อมต่อทางกายภาพผ่าน USB

  2. Data Link Layer: กำหนดขอบเขตแพ็กเก็ตด้วยไบต์พิเศษ (FEND) และใช้งานกลไก Byte Escaping เมื่อพบอักขระควบคุมซ้อนทับในเนื้อหา ข้อมูลในชั้นนี้จะถูกแนบสมการคณิตศาสตร์ CRC32 ต่อท้ายเสมอ เพื่อให้สถานีภาคพื้นดินสามารถตรวจสอบความสมบูรณ์และตรวจจับอาการบิตพลิก (Bit flip) ได้อย่างแม่นยำ

  3. Application Layer: บรรจุข้อมูลภารกิจจริงตามรหัสที่ระบุทิศทางการสื่อสารและชนิดของคำสั่ง

Protocol Stack.png

ปล. ถ้ารู้สึกว่ามันคล้าย ๆ Computer Network...ถูกต้องแล้ว เพราะนั่นคือ"inspiration" 😎

โดยชุดคำสั่งในชั้นแอปพลิเคชันถูกออกแบบให้รองรับกระบวนการดาวน์โหลดข้อมูลอย่างเป็นระบบ สถานีภาคพื้นดินสามารถส่งชุดคำสั่งเพื่อร้องขอรายการไฟล์และรายละเอียดไฟล์เพื่อตรวจสอบขนาด โดยระบุตำแหน่งเริ่มต้นของข้อมูลและขนาดชุดข้อมูล ระบบ OBC จะเข้าถึงไฟล์ เลื่อนพอยน์เตอร์ และส่งข้อมูลดิบกลับมาพร้อมการทวนพารามิเตอร์เพื่อรับประกันความถูกต้องของตำแหน่งข้อมูล กระบวนการขอดาวน์โหลดข้อมูลจะใช้โครงสร้างแบบเลื่อนหน้าต่าง (Sliding Window) เอาจริง ๆ มันก็คือ Go-Back-N Protocol นั่นแหละ

Sliding Window.png

5. การทดสอบระบบและสถานการณ์จำลองอวกาศ

การประเมินประสิทธิภาพของซอฟต์แวร์ระดับหน่วยครอบคลุมการตรวจสอบอัลกอริทึมทั้งหมด บนบัส I2C ระบบสามารถสแกนที่อยู่ของอุปกรณ์ต่อพ่วงและแปลงข้อมูลดิบจากรีจิสเตอร์เป็นอุณหภูมิเซลเซียสและข้อมูลเวลาได้อย่างแม่นยำ การทดสอบบูรณาการคำสั่งถ่ายภาพสามารถดำเนินการได้อย่างสมบูรณ์ โดยไฟล์ต้นฉบับและไฟล์ที่โอนถ่ายลงหน่วยความจำหลักมีความถูกต้องตรงกัน 100% ซึ่งได้รับการยืนยันผ่านฟังก์ชันแฮชอัลกอริทึม MD5

image.png

สรุปแล้วระบบได้รับการทดสอบภายใต้สถานการณ์จำลองการโคจร (Orbit Scenarios) ที่มีความท้าทายหลายประการ:

  • สภาวะขาดการติดต่อ (Loss of Signal): เมื่อดาวเทียมโคจรอยู่นอกพื้นที่สถานีภาคพื้นดิน ระบบจะรักษาสถานะสแตนด์บายและทำงานตามคาบเวลา โดยรวบรวมข้อมูลสถานะระบบ สร้างเป็นสัญญาณข้อมูลโทรมาตร (Beacon) และส่งออกทางพอร์ต UART ทุกๆ 30 วินาที โดยไม่เกิดภาวะหน่วยความจำล้น

  • สภาวะการสื่อสารไม่สมบูรณ์ (Incomplete Downlink & Resume): มีการจำลองสัญญาณหลุดหายระหว่างการดาวน์โหลดภาพถ่าย ระบบ OBC มีความสามารถในการจัดเก็บสถานะล่าสุด เมื่อสถานีภาคพื้นดินส่งคำสั่งขอส่งข้อมูลต่อพร้อมระบุตำแหน่งล่าสุด ระบบ OBC จะทำการสตรีมมิ่งข้อมูลต่อจากไบต์เดิมได้อย่างไร้รอยต่อ โดยไม่เกิดการส่งข้อมูลทับซ้อนและไม่มีแพ็กเก็ตสูญหาย

image.png

เฉยเลย!

ได้ Excellent Project in Embedded ไม่ได้แปลกใจมาก แต่ Best Presentation นี่ได้ไง 🫪

20260401_162325_Original.jpeg

CubeSatHardware DesignFirmware DevelopmentProtocol Engineering