การเลือกขั้วต่อดีบัก/โปรแกรมสำหรับไมโครคอนโทรลเลอร์

สรุปสั้นๆ: สำหรับ ARM SWD, TI Spy-Bi-Wire หรือ Microchip ICD ให้ใช้ฟุตพริ้นท์ Tag-Connect No-Legs พร้อมการกำหนดพิน/แพดมาตรฐาน และใช้สายเคเบิล Tag-Connect

เมื่อออกแบบอุปกรณ์ที่ใช้ไมโครคอนโทรลเลอร์ จำเป็นต้องจัดเตรียมขั้วต่อสำหรับการดีบักและการโปรแกรม ซึ่งอาจใช้เฉพาะสำหรับการพัฒนา เมื่อเขียนและดีบักซอฟต์แวร์ หรืออาจปล่อยไว้ในหน่วยการผลิตสำหรับการโปรแกรมในโรงงาน

ผู้ผลิตและผู้สร้างเครื่องมือทำให้แน่ใจว่าเราอยู่ในโลกที่มีขั้วต่อดีบักมากมายพร้อมความสับสนมากมายรอบตัว นี่คือเหตุผลที่เราลงเอยด้วยสิ่งนี้:

แล้วจะเลือกขั้วต่อแบบไหนสำหรับการออกแบบใหม่ดี?

บทความนี้เน้นที่อุปกรณ์ ARM ที่มีอินเทอร์เฟซ SWD (Single-Wire Debug) เป็นหลัก แต่ก็สามารถใช้ได้กับชิ้นส่วนอื่นๆ เช่น Texas Instruments MSP430 ซึ่งใช้โปรโตคอล Spy Bi-Wire (JTAG 2 สาย), Microchip ICD หรือแม้แต่ชิ้นส่วนที่ต้องการชุดพิน JTAG ที่สมบูรณ์กว่า

คอนเนคเตอร์ยอดนิยมสำหรับการดีบัก

ตัวเลือกทั่วไปบางส่วนที่มักได้รับการพิจารณา:

  • JTAG 10-pin บนเฮดเดอร์ IDC 0.1" โดยปกติจะใช้เฮดเดอร์ตัวผู้ ข้อเสีย: มันใหญ่มาก และเฮดเดอร์มีราคาแพง
  • Cortex Debug Connector ใช้ไมโครเฮดเดอร์ 0.05" (10-pin หรือ 20-pin, Samtec FTSH-110 และ FTSH-105) คอนเนคเตอร์ 10-pin มีขนาดเล็กพอสมควรและมีจำหน่ายเป็นชิ้นส่วน SMD แต่แพงกว่าคอนเนคเตอร์ IDC
  • คอนเนคเตอร์ IDC 20-pin 0.1" คุณไม่ได้คิดจะใช้ไดโนเสาร์ตัวนั้นจริงๆ ใช่ไหม? มันใหญ่กว่าบอร์ดบางอันที่ฉันออกแบบเสียอีก
  • ชุดพินแบบกำหนดเอง 4 หรือ 6 พิน (หรือ via หรือแผ่นทองแดง) ปัญหาคือส่วน "กำหนดเอง" มันจะกลับมากัดคุณในอนาคต วันที่คอนเนคเตอร์แบบกำหนดเองของคุณพังที่โรงงานและคุณต้องส่งอันใหม่มาจากต่างประเทศ ในขณะที่การผลิตต้องหยุดชะงัก
  • ฟุตพริ้นท์ Tag-Connect 6-pin ในรูปแบบใดรูปแบบหนึ่ง (แบบมีขาหรือไม่มีขา) โปรดทราบว่าไม่มีคอนเนคเตอร์ที่นี่: เป็นเพียงฟุตพริ้นท์มาตรฐานบน PCB
  • Tag-Connect 6-pin + Tag-Connect 10 pin (สำหรับสัญญาณ ETM): สำหรับชุดนี้ มีสายเคเบิลสำเร็จรูปจำหน่าย พร้อมคอนเนคเตอร์ IDC 20-pin และการกำหนดพินมาตรฐาน ARM Cortex 20-pin

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

โซลูชัน Tag-Connect หรือฟุตพริ้นท์แบบกำหนดเองที่มีขั้วต่อแบบ pogo-pin มีข้อได้เปรียบที่ชัดเจนตรงที่ไม่ต้องวางชิ้นส่วนใดๆ บน PCB ดังนั้นต้นทุนขั้วต่อดีบักต่อบอร์ดจึงลดลงเหลือ 0 ซึ่งยอดเยี่ยมมาก!

นี่คือลักษณะของฟุตพริ้นท์ Tag-Connect บนบอร์ดจริง:

และนี่คือลักษณะของสายเคเบิลที่มี pogo-pins: ข้อพิจารณาหลักประการที่สองคือขนาด และความต้องการพื้นที่บอร์ดที่ตามมา คู่แข่งเพียงรายเดียวคือ micro-header 10-pin 0.05" และฟุตพริ้นท์ Tag-Connect 6-pin จริงๆ แล้ว micro-header 10-pin มีขนาดเล็กกว่าเล็กน้อยในทิศทางหนึ่ง แต่ความแตกต่างนั้นไม่มีนัยสำคัญ นี่คือลักษณะของ micro-header 10-pin 0.05" (อันนี้มาจากบอร์ดพัฒนา Nordic Semiconductor nRF52832 รุ่น PCA10040):

มีขาหรือไม่มีขา?

สายเชื่อมต่อ Tag-Connect มีสองแบบ: แบบมี "ขา" และแบบ "ไม่มีขา" ต่างกันอย่างไร?

Tag-Connect ใช้ pogo pins ซึ่งมีสปริงอยู่ภายในและดันกับ PCB หากคุณต้องการให้ขั้วต่ออยู่กับที่ คุณต้องออกแรงกดอย่างต่อเนื่อง วิธีนี้ใช้ได้ดีสำหรับการโปรแกรมอย่างรวดเร็ว ซึ่งคุณสามารถใช้มือข้างหนึ่งจับขั้วต่อให้เข้าที่และอีกข้างหนึ่งเริ่มงานโปรแกรมนั้น แต่จะไม่ค่อยดีนักสำหรับการดีบักเป็นเวลานาน สำหรับกรณีนั้น ฟุตพริ้นท์แบบ "legs" (และขั้วต่อ) จะทำงานได้ดีกว่ามาก ขาเหล่านี้ทำหน้าที่เป็นคลิปเล็กๆ ดังนั้นเมื่อคุณเสียบขั้วต่อเข้าไป มันจะล็อกเข้าที่และยึด pogo pins ให้แน่นกับบอร์ดได้เป็นเวลานาน

ปัญหาของฟุตพริ้นท์แบบ "มีขา" คือขนาดของมัน: มันใหญ่กว่าแบบ "ไม่มีขา" อย่างมาก ที่แย่ไปกว่านั้นคือ มันต้องการรูขนาดใหญ่สี่รูในบอร์ด รูขนาดใหญ่มักเป็นปัญหาเสมอ: (แน่นอนว่า) พวกมันต้องผ่านทุกชั้น และคุณต้องมีพื้นที่กันเขต (keepout area) รอบๆ พวกมันด้วย ซึ่งหมายความว่าผลกระทบของฟุตพริ้นท์แบบ "มีขา" ต่อการออกแบบของคุณนั้นใหญ่กว่าแบบ "ไม่มีขา" มาก

สำหรับหน่วยการผลิต ซึ่งการเชื่อมต่อมักจะทำเพียงครั้งเดียวตลอดอายุการใช้งานของผลิตภัณฑ์ และสามารถถือด้วยมือได้ตลอดเวลาอย่างง่ายดาย ไม่ต้องสงสัยเลย: คุณย่อมชอบฟุตพริ้นท์แบบ "ไม่มีขา" ซึ่งช่วยประหยัดพื้นที่บอร์ด แต่จะทำอย่างไรกับต้นแบบ? ในแง่หนึ่ง คุณสามารถจ่ายพื้นที่บอร์ดได้ แต่ในอีกแง่หนึ่ง คุณไม่ต้องการออกแบบ PCB ใหม่เพียงเพราะคุณต้องลบรูออกในการแก้ไขครั้งสุดท้าย

โชคดีที่มีวิธีแก้ปัญหาอื่น Tag-Connect ขายคลิปยึดขนาดเล็ก มันเป็นชิ้นส่วน PCB ที่มีซ็อกเก็ตสามอันที่พอดีกับพินของสายเคเบิล Tag-Connect มันไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบทางกลไกและคลิปมักจะสึกหรอตามกาลเวลา (และหายง่ายมากด้วย!) แต่ในทางปฏิบัติมันใช้งานได้ดีทีเดียว

คำแนะนำของฉันคือให้ใช้ฟุตพริ้นท์แบบ "ไม่มีขา" และสายเคเบิลเสมอ ซื้อคลิปยึดมาจำนวนหนึ่ง และประหยัดพื้นที่บอร์ดและการออกแบบบอร์ดใหม่

ใช้การกำหนดสัญญาณมาตรฐาน

ฉันเคยเห็นฮาร์ดแวร์ในความเป็นจริง ที่นักออกแบบใช้ฟุตพริ้นท์ Tag-Connect สำหรับ ARM SWD (บน Cortex-M0) แต่กำหนดสัญญาณแตกต่างกัน เป็นไปได้ว่าแรงจูงใจคือเพื่อทำให้การเชื่อมต่อสับสน

นี่ไม่ใช่สิ่งที่ฉันแนะนำ: การปิดบังข้อมูลนั้นถูกค้นพบได้ง่าย และจะจบลงด้วยฟุตพริ้นท์ที่ไม่เข้ากัน ซึ่งจะทำให้เกิดปัญหาในอนาคตอย่างหลีกเลี่ยงไม่ได้

การปฏิบัติจริง

Tag-Connect แนะนำว่าไม่ควรวางส่วนประกอบใดๆ (หรือเดินลายวงจร) ที่อีกด้านหนึ่งของฟุตพริ้นท์ แม้ว่านั่นจะเป็นคำแนะนำที่ดี แต่เราไม่ได้มีความหรูหราเช่นนั้นเสมอไป โดยเฉพาะบนบอร์ดขนาดเล็กที่มีข้อจำกัดในการจัดวางที่แน่นหนา

ตามที่ฉันค้นพบ คุณสามารถวางส่วนประกอบไว้ที่อีกด้านหนึ่งได้ แม้ว่าคุณจะใช้คลิปยึดเพื่อยึดสายเคเบิลให้เข้าที่ ฉันขอแนะนำให้ใช้ฉนวนระหว่างส่วนประกอบและคลิปยึด เพื่อป้องกันการลัดวงจรที่อาจเกิดขึ้น (กระดาษใช้ได้ดี) แม้ว่าจะไม่ใช่วิธีปฏิบัติที่แนะนำ แต่วิธีนี้ก็ได้ผล แม้ว่าการยึดขั้วต่อดีบักให้เข้าที่จะยุ่งยากกว่าเล็กน้อย

นี่คือตัวอย่างของบอร์ดต้นแบบ (โปรดอภัยในคุณภาพการบัดกรีต้นแบบ) ที่มีการวางส่วนประกอบภายในพื้นที่ของฟุตพริ้นท์สำหรับการดีบัก:

ข้อวิจารณ์

Tag-Connect ไม่ได้มีแต่ข้อดี เว็บไซต์ไม่ได้จัดระเบียบอย่างดี ดังนั้นจึงยากที่จะหาข้อมูลที่คุณต้องการ มีตัวแปรมากมายที่นำเสนอ และแม้ว่าคนส่วนใหญ่จะต้องการสายเคเบิลเพียงประเภทเดียว แต่มันก็ไม่ได้แสดงไว้อย่างเด่นชัด น่าเสียดายที่ดูเหมือนว่านี่จะเป็นธรรมเนียมของบริษัทที่ผลิตอุปกรณ์ดีบักและโปรแกรมในโลกของระบบฝังตัว

ข้อตำหนิที่สองที่ฉันมีคือบริษัทเสนอไลบรารี CAD ที่ดาวน์โหลดได้พร้อมฟุตพริ้นท์ Tag-Connect แต่ระบุว่า:

ไฟล์เหล่านี้จัดเตรียมไว้ 'ตามสภาพ' และไม่มีการรับประกันว่าจะสมบูรณ์ ปราศจากข้อผิดพลาด หรือเหมาะสมสำหรับการใช้งาน ตรวจสอบสติ๊กเกอร์ที่นำเข้ากับแผ่นข้อมูลล่าสุดที่ให้ไว้บนเว็บไซต์ Tag-Connect อย่างระมัดระวัง (ดูด้านล่าง) โดยเฉพาะอย่างยิ่งให้ตรวจสอบขนาดรู การนับพิน และให้ความสนใจอย่างใกล้ชิดกับเลเยอร์ solder paste-mask เพื่อให้แน่ใจว่าไม่มี solder paste ถูกวางบนแผ่นรอง footprint

หากคุณดูในไฟล์ ZIP ที่ให้มา มักจะมีรูปแบบ footprint หลายแบบสำหรับ CAD ที่กำหนด ฉันควรใช้อันไหน? และทำไมถึงเป็นความรับผิดชอบของฉันในการตรวจสอบ?

ฉันคิดว่า Tag-Connect ควรปรับปรุงไลบรารีนี้และจัดเตรียมชุดฟุตพริ้นท์ที่รองรับ อย่างน้อยสำหรับแพ็คเกจ CAD ที่ได้รับความนิยมมากกว่า โดยไม่มีข้อจำกัดความรับผิดชอบ มันควรเป็นส่วนหนึ่งของมูลค่าของโซลูชันนี้

บทสรุป

เมื่อพิจารณาทุกอย่างแล้ว Tag-Connect ยังคงเป็นโซลูชันการดีบักและการโปรแกรมสำเร็จรูปที่ดีที่สุด ผมขอแนะนำให้กำหนดให้เป็นมาตรฐานและใช้ในการออกแบบทั้งหมดของคุณ

บล็อกโพสต์ก่อนหน้านี้: KiCon 2019 (2019-03-27)
โพสต์บล็อกภายหลัง: มีอะไรใหม่: พฤษภาคม 2020 (2020-05-16)

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

ดัชนีบล็อก

KiCon 2019 (2019-03-27)
แท็ก (2016-04-26)