2 คะแนน โดย GN⁺ 2024-04-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แรงจูงใจในการพัฒนา PCIe backplane
    • ระหว่างติดตั้ง NixOS บน Terramaster F2-221 NAS การต้องต่อ USB SSD ภายนอกไว้สำหรับเก็บระบบปฏิบัติการเป็นเรื่องยุ่งยาก จึงเริ่มมองหาวิธีติดตั้งอุปกรณ์จัดเก็บข้อมูลแบบภายใน
    • เมนบอร์ดของ NAS มีสล็อต PCIe x4 อยู่ จึงลองหาวิธีนำมันมาใช้งาน
  • การวิเคราะห์ PCIe backplane
    • วิเคราะห์ภาพรีวิวของ F5-422 ซึ่งเป็นรุ่น 5-bay จากผู้ผลิตรายเดียวกัน และยืนยันได้ว่าใช้คอนโทรลเลอร์ ASMedia ASM1061 PCIe-SATA จำนวน 2 ตัวเพื่อเพิ่มจำนวนพอร์ต SATA
    • แกะรอยผังขา PCIe ของเมนบอร์ด F2-221 ย้อนกลับ และยืนยันได้ว่ามีการเดิน PCIe lane สำหรับ ASM1061 อยู่
    • วิเคราะห์สัญญาณ PCIe เพื่อระบุคู่ TX, RX และ REFCLK แล้วจัดทำตารางผังขา
    • วิเคราะห์วงจรภาคจ่ายไฟของ backplane และพบว่าประกอบด้วย load switch สำหรับ hot-plug และ slow starter
  • การสร้างต้นแบบ
    • ตัดสินใจใช้ PCIe 1 lane เพื่อติดตั้ง NVMe M.2 SSD ซึ่งถูกกว่า SATA และทำได้ง่ายกว่า
    • ออกแบบ PCB โดยจัดวางคอนเน็กเตอร์และคอมโพเนนต์ภายใต้ข้อจำกัดด้านขนาดและตำแหน่งสกรูของ backplane เดิม
    • หลังจากสั่งผลิต PCB จาก JLCPCB และบัดกรีชิ้นส่วนติดตั้งแล้ว นำไปทดสอบกับ NAS และยืนยันได้ว่าสามารถบูตได้
  • การสร้างเวอร์ชันสุดท้าย
    • ปรับแก้ปัญหาของต้นแบบและตัด test point ที่ไม่จำเป็นออก ก่อนทำ PCB เวอร์ชันสุดท้าย
    • หลังติดตั้งใน NAS แล้วยืนยันได้ว่าทำงานได้โดยไม่มีปัญหา และใช้งานอย่างเสถียรมานาน
    • เผยแพร่ไฟล์ออกแบบฉบับสุดท้ายบน GitHub

ความเห็นของ GN⁺

  • เป็นกรณีศึกษาที่น่าสนใจซึ่งวิเคราะห์โครงสร้างภายในและการออกแบบ backplane ของ Terramaster NAS ได้อย่างละเอียด ความพยายามทำ reverse engineering เพื่อสร้างฟังก์ชันที่ต้องการขึ้นมาเองโดดเด่นมากในสถานการณ์ที่ข้อมูลจากผู้ผลิตมีจำกัด
  • การนำ PCIe lane ที่มีอยู่มาใช้กับ NVMe SSD ราคาถูกและเร็วในฐานะไดรฟ์บูตสำหรับระบบปฏิบัติการนั้นน่าประทับใจ ดูเป็นทางเลือกที่สมเหตุสมผล เพราะทำได้ง่ายกว่าการเพิ่ม SATA controller และยังให้ประสิทธิภาพเพียงพอ
  • เนื้อหาการวิเคราะห์วงจร load switch และ slow starter สำหรับฟังก์ชัน hot-plug น่าประทับใจ เป็นตัวอย่างที่ชี้ให้เห็นประเด็นสำคัญที่ต้องคำนึงถึงในการออกแบบภาคจ่ายไฟ
  • กระบวนการออกแบบ PCB ในบทความนี้น่าจะเป็นข้อมูลอ้างอิงที่ดีสำหรับผู้ใช้ NAS คนอื่นที่มีความต้องการคล้ายกัน อย่างไรก็ตาม ก็น่าจะมีปัจจัยอื่นที่ต้องพิจารณาร่วมด้วย เช่น ประเด็นการรับประกันของ Terramaster หรือความเข้ากันได้กับระบบปฏิบัติการของ NAS
  • ดูเหมือนผู้เขียนจะยังมีประสบการณ์ด้านการออกแบบ PCB ไม่มากนัก แต่กระบวนการทำต้นแบบเป็นขั้นตอนและการแก้ปัญหาระหว่างทางนั้นน่าประทับใจ การเรียนรู้ผ่านการลองผิดลองถูกแบบนี้น่าจะช่วยพัฒนาทักษะการออกแบบอิเล็กทรอนิกส์ได้มาก

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

 
GN⁺ 2024-04-30
ความคิดเห็นจาก Hacker News

สรุป:

  • ตอนบัดกรีแพ็กเกจ DFN โดยไม่มีไมโครสโคป ผู้แสดงความคิดเห็นตรวจแค่ว่ามีการลัดวงจรระหว่างไฟเลี้ยงกับกราวด์หรือไม่ แล้วใช้กล้องมือถือถ่ายใกล้ ๆ วิธีบัดกรีแพ็กเกจ DFN โดยไม่ใช้สเตนซิลที่ได้ผลคือโปะ solder paste ลงบนแพดมากกว่าปกติแล้วกด IC ลงไป จากนั้นความร้อนจาก Hot Air Station จะทำให้ตะกั่วหลอมและดัน IC ลอยขึ้น ก่อนจะใช้แหนบกดไว้ให้ตะกั่วส่วนเกินไหลออกไปบน solder mask วิธีนี้ดูบ้าดีแต่ก็สนุกมาก
  • อยากให้มีการทำมาตรฐานสำหรับ NAS ฝั่งผู้บริโภคมากกว่านี้ มีคนเสนอให้ ASUSTOR ทำ backplane/adapter ที่เข้ากันได้กับ Mini ITX เพื่อให้เปลี่ยน backplane ได้ในอีกหลายปีข้างหน้า ถ้าสามารถเปลี่ยนเมนบอร์ดเพื่ออัปเกรด NAS จาก 1Gbps เป็น 2.5Gbps หรือ 10Gbps ได้ ก็จะช่วยยืดอายุการใช้งานของแชสซีได้
  • ผู้แสดงความคิดเห็นชื่นชมที่ผู้คนยอมทุ่มลึกกับโปรเจ็กต์ที่มีความเสี่ยงจะเสียเงินจริง ๆ เหมือนเวลาปรับแต่งกีตาร์หรือฮาร์ดแวร์ และสงสัยว่าทำไมตลาดสำหรับกล่องเล็ก ๆ ที่ hack ได้และแก้ไขฮาร์ดแวร์หรือซอฟต์แวร์ได้ง่ายจึงมีน้อยนัก
  • มีคนแก้ปัญหาไดรฟ์ภายนอกของ NAS ด้วยการติดไว้บนตัว NAS ด้วยแถบตีนตุ๊กแก
  • โปรเจ็กต์นี้ดูเจ๋งกว่ากล่อง NAS ทำเองจากเลโก้อยู่มาก โดยมีคนทำของตัวเองด้วยการต่อฮาร์ดไดรฟ์ USB เข้ากับฮับแล้วต่อเข้ากับ Nvidia Jetson
  • มีคนใช้ NAS รุ่นเดียวกันแบบ 5-bay ติดตั้ง TrueNAS Scale ลงบน Samsung USB stick โดยเลือกตัวที่นิยมใช้กับกล้องติดรถ Tesla เพื่อความทนทานในระดับหนึ่ง และมีแผนอัปเกรดเป็น CPU ที่แรงกว่านี้เพราะตัวปัจจุบันประสิทธิภาพไม่พอ
  • มีคนลองติดตั้ง ZFS บน Mac แล้วใช้งานกับไดรฟ์ USB เดี่ยว แต่พบว่าระหว่างคัดลอกไฟล์ระบบแทบไม่ตอบสนอง เมาส์และคีย์บอร์ดมีอาการสะดุด และประสิทธิภาพ I/O ลดลงอย่างมาก โดยการใช้ CPU พุ่งถึง 400% แต่ก็ยังไม่ทราบสาเหตุที่แน่ชัด
  • ผ่านการคาดเดา การลองผิดลองถูก การตรวจวงจร และการเปลี่ยน load switch IC จนได้ผลลัพธ์ที่น่าทึ่งและสวยงาม
  • เป็นโปรเจ็กต์ที่ยอดเยี่ยม ไม่ใช่แค่เอา Arduino ไปแปะเป็นกาวสารพัดประโยชน์กับทุกอย่าง