อะไรคือ 'gotchas' ของการออกแบบบอร์ดความถี่สูง?


13

ฉันต้องการออกแบบ PCB สำหรับคอนโทรลเลอร์ลูปอะนาล็อก .. มี A / D, D / A และโปรเซสเซอร์บนบอร์ด (ทั้ง DSP หรือ FPGA ฉันยังไม่ได้ตัดสินใจ) เนื่องจากสิ่งนี้ควรปรับสัญญาณอะนาล็อกที่ 10 kHz จึงต้องมีโปรเซสเซอร์ที่รวดเร็ว

จากสิ่งที่ฉันเข้าใจการออกแบบบอร์ดสำหรับโปรเซสเซอร์ที่ใช้งานสูงกว่า 150 MHz หรืออาจเป็นเรื่องที่ท้าทายมากเนื่องจากปัญหาเรื่อง RF คุณมีคำแนะนำอะไรบ้างในการออกแบบบอร์ดเช่นนี้? ปัญหาใดที่เกิดจากการจัดวางสามารถเกิดขึ้นได้? มีแหล่งข้อมูลออนไลน์ที่ดีที่มีฐานความรู้สำหรับเรื่องนี้หรือไม่?

ขอบคุณ


2
คุณแน่ใจหรือว่าต้องการความเร็วในการประมวลผลที่มาก? 10 kHz ไม่ได้ฟังเร็วเกินไป บางทีบางอย่างเช่น ARM7 หรือ dsPic อาจจะเพียงพอ
Clint Lawrence

ขึ้นอยู่กับรายละเอียดและข้อกำหนดของลูปควบคุม: ระยะขอบเฟสได้รับผลกระทบจากความหน่วงแฝงจากอินพุตถึงเอาต์พุตของอัลกอริทึมควบคุม หากการประมวลผลสัญญาณมีความซับซ้อนนั่นจะใช้เวลามากกว่ารอบที่เรียบง่าย หากความต้องการมาร์จิ้นเฟสเข้มงวดคุณจะมีเวลาน้อยลง ดีกว่าในการออกแบบบอร์ดที่มีพลังงาน CPU เกินกว่าการออกแบบบอร์ดที่มีการขาดดุลเล็กน้อยเนื่องจากคุณสามารถทำให้สิ่งต่าง ๆ ช้าลงได้เสมอ
469 Jason S

ขอบคุณมันเป็นเรื่องจริงเวลามีความสำคัญในแอปพลิเคชันนี้ ฉันไม่ต้องการเข้าไป แต่จริง ๆ แล้วผลลัพธ์ควรถูกคำนวณภายในเวลาของตัวอย่างหนึ่งดังนั้นเวลาแฝงคือคีย์
Steve

Steve: มันค่อนข้างยากที่จะไม่คำนวณผลลัพธ์ในเวลาหนึ่งตัวอย่างเพราะนี่หมายความว่าคุณไม่ใช่เรียลไทม์อีกต่อไปและจะไม่สามารถควบคุมอะไรได้เลย
jpc

คำตอบ:


14

หากคุณสนใจในระบบดิจิตอลความเร็วสูงได้รับสำเนาของความเร็วสูงการออกแบบดิจิตอล

ประเด็นสำคัญ:

  • ปัจจัยหลักที่กำหนดวงจรของคุณคือเวลาที่เพิ่มขึ้นของตรรกะ แม้ว่าคุณจะทำงานด้วยอัตรานาฬิกาที่ช้า แต่ขอบที่รวดเร็วสามารถสร้างปัญหาได้
  • เวลาที่เพิ่มขึ้นสูงสุดของระบบของคุณจากนั้นจะช่วยให้คุณมีความยาวที่สำคัญของวงจร โดยพื้นฐานแล้วหากการส่งสัญญาณของคุณล่าช้าเกินความยาวของวงจรนั้นยาวกว่าเวลาที่เพิ่มขึ้นของสัญญาณคุณจำเป็นต้องกังวลเกี่ยวกับความถี่สูงของการออกแบบ
  • หากปรากฎว่าความยาวของวิกฤตนั้นสั้นกว่าโครงร่างวงจรคุณจะต้องใช้รูปแบบความต้านทานควบคุม รวมถึง:
    • เรขาคณิตของแทร็ก (ความกว้างของแทร็กและความสูงเหนือระนาบกราวน์) เพื่อให้วงจรมีความต้านทานลักษณะเฉพาะที่กำหนดไว้
    • การยกเลิกไดรเวอร์และ / หรือตัวรับสัญญาณด้วยอิมพีแดนซ์ลักษณะของเส้น

ฉันได้รับหนังสือเล่มนี้มันวิเศษจริงๆ ฉันอยู่ในบทที่ 3 เท่านั้น แต่ทั้งสามบทแรกได้สอนเนื้อหาใหม่และทำให้ฉันนึกถึงเนื้อหาที่ฉันรู้จักในวิธีที่ต่างกัน
Kortuk

เกือบหนึ่งในสี่ของศตวรรษต่อมาหนังสือเวทมนตร์ดำยังคงเป็นวรรณกรรมที่ชัดเจนในเรื่องนี้
Cort Ammon

7

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

การแบ่งระนาบสามารถช่วยแยกส่วนอะนาล็อกและดิจิตอล ไม่เคยข้ามระนาบที่แยกด้วยสัญญาณติดตาม !!! เก็บสัญญาณให้ห่างจากขอบของบอร์ด แยกสัญญาณอย่างน้อย 2 เท่าของความกว้างการติดตามเพื่อป้องกัน crosstalk (แบบจำลองมีประโยชน์ที่นี่) รักษาความกว้างของสัญญาณ 5 เท่าให้ห่างจากสัญญาณที่มีสัญญาณรบกวนสูง (เช่นนาฬิกา) หรือสัญญาณที่มีความไวสูง (เช่นอินพุตแบบอะนาล็อก) ใช้ร่องรอยกราวด์ที่มีสายกราวนด์รอบ ๆ สัญญาณรบกวน / ความละเอียดอ่อนหากจำเป็น หลีกเลี่ยงจุดแวะและสตับด้วยสัญญาณที่มีเสียงดัง / ละเอียดอ่อน

ในอุดมคติแล้วให้สายกราวด์หนึ่งเส้นต่อสัญญาณในตัวเชื่อม ยุติสัญญาณตัวเชื่อมต่อเนื่องจากพวกเขาต้องการคาย EMI ลูกปัดเฟอร์ไรต์รอบเส้นลวดสามารถช่วยลดเสียงของตัวเชื่อมต่อได้เช่นกัน ป้องกันสัญญาณไม่ให้เข้าไปภายใต้คอนเนคเตอร์

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

ใช้แบบจำลอง IBIS เพื่อพิจารณาว่าคุณต้องการตัวต้านทานการเลิกจ้างหรือไม่ FPGA สมัยใหม่มีเทคนิคที่ดีสำหรับสิ่งนี้ พวกเขาสามารถควบคุมกำลังขับเอาท์พุทของพวกเขาบางครั้งแม้จะมี "ความต้านทานควบคุมแบบดิจิทัล" (คำ Xilinx สำหรับเทคโนโลยี) การจำลองของ IBIS ก็ช่วยที่นี่เช่นกันเมื่อค้นหาความแรงของไดรฟ์ที่เหมาะสม

ดูรายชื่อจดหมายข่าวการออกแบบดิจิตอลความเร็วสูงของ Dr. Howard Johnson ยอดเยี่ยมอย่างแท้จริง http://www.sigcon.com/pubsAlpha.htm


5

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

สำหรับแหล่งข้อมูลออนไลน์ที่ดีฉันจะจินตนาการว่าเอกสารข้อมูล & สิ่งอ้างอิงสำหรับ DSP หรือ FPGA ที่คุณกำลังพิจารณาจะมีเคล็ดลับที่ดี ฉันจำได้ว่า Xilinx มีสิ่งที่ดี


การหลีกเลี่ยงมุมฉาก - คุณหมายถึงการทำมุมโค้งมนตามรอยอย่างแท้จริงหรือไม่? (เว้นแต่จะเป็นเส้นตรงผมคิดว่า.)
สตีฟ

ฉันคิดว่าเขาหมายความว่าคุณสามารถมีมุมได้ไม่ 90 องศา ฉันไม่ได้เห็นมุมโค้งมนใด ๆ ในเวลานาน แต่ถ้าคุณดูที่เมนบอร์ดในพีซีของคุณคุณจะเห็นว่าทุกมุมมีค่าน้อยกว่า <90 องศา หากสายต้องไป 90 แล้วมันมักจะถูกแบ่งออกเป็นดีอาจจะไม่กี่อุณหภูมิ 30 องศามุม
cyphunk

4
มุม 45 องศาสองมุมเป็นเรื่องปกติ แต่การใช้แทร็กสายส่งและการเลิกจ้างที่เหมาะสมนั้นสำคัญกว่าสไตล์มุม หากคุณไม่ได้ยกเลิกสายส่งรูปแบบมุมที่แตกต่างกันจะไม่สร้างความแตกต่าง
Clint Lawrence

มุม 45 องศาทั้งสองเป็นเรื่องธรรมดามากในร่องรอยที่มีคุณสมบัติการจับคู่ที่ยอดเยี่ยมฉันจะพบคำแนะนำในภายหลัง
Kortuk

1
วันนี้ฉันวิ่งข้ามซอฟต์แวร์เส้นทางอัตโนมัติที่ใช้เส้นโค้ง infact eremex.com/products/topor/competitiveadvantage/…
cyphunk

5

หากต้องการตอบคำถามของคุณมากกว่าคำถามที่คุณถามโดยตรง (คำตอบอื่น ๆ ได้พูดถึงเรื่องนี้):

DSP 10 kHz สำหรับตัวควบคุมลูปไม่เร็วเกินไป (เราใช้ลูปควบคุม 5 หรือ 10kHz สำหรับตัวควบคุมมอเตอร์) ด้วยอุปกรณ์ที่ดีฉันเดาได้เลยว่าคุณควรที่จะจัดการกับความถี่สัญญาณนาฬิกาที่ 40-80MHz ถ้าคุณมีและสิ่งที่เรียบร้อยเกี่ยวกับ DSPs รุ่นใหม่กว่า และไมโครคอนโทรลเลอร์คือพวกเขาใช้ตัวคูณสัญญาณนาฬิกาเฟสล็อกลูป (PLL) เพื่อเพิ่มความถี่สัญญาณนาฬิกาภายในเพื่อให้ภายนอกไม่จำเป็นต้องเป็นสัญญาณที่รวดเร็ว TMS320F28xx ซีรีย์ TI ของ TI (ดูที่ 28044 และ 28235) มี 5x PLL (ครึ่งก้าวจาก 0.5x ถึง 5x) ดังนั้นคุณจะได้รับนาฬิกา 100MHz พร้อมคริสตัล 20MHz

สำหรับด้านดิจิทัลสิ่งที่คุณต้องระวังมากที่สุดคือทำให้แน่ใจได้ว่าคุณได้เตรียมกำลังและแผนพื้นดินที่มั่นคงสำหรับโปรเซสเซอร์ของคุณและตรวจสอบให้แน่ใจว่าคุณเพิ่มตัวเก็บประจุบายพาสใกล้ที่สุดเท่าที่จะเป็นไปได้ นอกจากนี้แทนที่จะเพียงแค่โรยตัวเก็บประจุขนาด 0.1uF ใช้ตัวเก็บประจุที่หลากหลาย 0.1uF, 0.01uF และ 0.001uF ตัวเก็บประจุ 0.1uF ให้ค่าใช้จ่ายมากกว่า แต่การเหนี่ยวนำกาฝากเข้ามาในความถี่ต่ำกว่าสิ่งที่คุณเห็นในตัวเก็บประจุ 0.01uF หรือ 0.001uF สองอันหลังจะไม่ให้การชาร์จมากนัก แต่จะทำงานอย่างถูกต้องเหมือนกับการบายพาสที่มีความถี่สูงกว่า เรามีการออกแบบบอร์ดที่ใช้งานได้ แต่มีเสียงรบกวนเล็กน้อยในตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอลของ DSP

การแปลงแอนะล็อกเป็นดิจิทัลจะเป็นจุดอ่อนที่สุดในระบบของคุณ คุณอาจไม่ต้องทำงานหนักจนเกินไปเพื่อให้ระบบดิจิทัลทำงานได้ดี แต่ถ้าคุณไม่ระมัดระวังคุณจะได้รับเสียงรบกวนที่ปานกลางบน ADC ของคุณ (ฉันเกรงว่าฉันจะไม่มีประสบการณ์ส่วนตัวเกี่ยวกับเรื่องนี้มากนักวิศวกรคนอื่น ๆ ที่ บริษัท ของเราจัดการเลย์เอาท์ดังนั้นสิ่งที่ฉันบอกคุณก็คือมือสอง) วิธีจัดการกับระนาบพื้นดินเป็นสิ่งที่โต้แย้งโดย วิธีการแยกกันสองวิธี: ไม่ว่าจะใช้ระนาบกราวด์ขนาดใหญ่หนึ่งอันสำหรับทั้งระบบเทียบกับระนาบกราวด์แยกกันสองตัวหนึ่งอะนาล็อก + หนึ่งดิจิตอลเชื่อมต่อกันที่ ADC - เดิมดีสำหรับระบบ 8-10 บิตและฉันได้ยิน การแยกพื้นที่ดิจิตอล / อะนาล็อกของวงจรมีความสำคัญมากขึ้นเมื่อคุณได้จำนวนบิตที่สูงกว่า (16 บิตหรือสูงกว่า)

อย่าปล่อยทิ้งไว้ใน # ของชั้นคณะกรรมการ เครื่องบินภาคพื้นดินและเครื่องบินเป็นเพื่อนของคุณ


ฉันคิดว่า dsPIC สามารถทำงานกับสองเลเยอร์บอร์ดได้ง่ายเพียงแค่ต้องใช้เลย์เอาต์ที่ระมัดระวังมาก คำตอบของคุณชัดเจนและรัดกุมแม้ว่า
Kortuk

ฉันเห็นด้วย. 10kHz จริง ๆ แล้วไม่เร็วขนาดนั้น เรามี 10MIPS PIC18s ซึ่งใช้เวลาครึ่งหนึ่งในการควบคุมลูป 5kHz และเวลาที่เหลือทำสิ่งอื่น ๆ พวกเขาต้องการเพียงนาฬิกา 10MHz และสิ่งที่ต้องคำนึงถึงเป็นพิเศษสำหรับการออกแบบความเร็วสูง
Rocketmagnet

4

อ่านข้อมูลเกี่ยวกับวิทยุแฮมหรือหาผู้ประกอบการระดับพิเศษเพื่อช่วย เราจัดการกับปัญหาเหล่านี้ตลอดเวลาด้วยความถี่ที่สูงขึ้นมาก เรายังใช้การประมวลผล DSP ในอุปกรณ์เกือบทั้งหมดของเรา ลองใช้การศึกษาของ AARL ทางออนไลน์หรือ QRZ ปัญหาไม่ใช่เรื่องยากที่จะแก้ไข แต่มีหลายพื้นที่ที่เป็นไปได้ที่ต้องระวัง
73, KF7BYU


3

ดังที่ได้กล่าวไปแล้วคุณสามารถใช้โปรเซสเซอร์ที่รวดเร็วด้วย PLL และยังมีเพียงสัญญาณ 10kHz ของคุณ + ออสซิลเลเตอร์ควอตซ์ 12MHz (ใกล้กับ CPU) บนบอร์ดของคุณ การวางโครงร่างนี้จะไม่เป็นปัญหา

หลายคน (ฉันรวมอยู่ด้วย) ได้ส่งสัญญาณเสียงสเตอริโอ 48kHz บน ARM7TDMI (สตรีมมิ่งจากการ์ด SD ที่เชื่อมต่อ SPI ในกรณีของฉัน) ฉันยังเห็นการถอดรหัส mp3 ในซอฟต์แวร์บน ARM7 50MHz ที่เรียกใช้จาก RAM (อาจมีสถานะรอเมื่อทำงานจาก Flash)

อาจจะซื้อบอร์ด LPC1768 mbed (100MHz, ADC / DAC และ PWM บนชิปที่รวดเร็วมาก, ราคาถูก: 50 €) และสร้างต้นแบบ? เฉพาะเมื่อสิ่งนี้ไม่เพียงพอเริ่มเล่นกับสิ่งอื่น ๆ (มีราคาแพงและยากกว่า)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.