นี่เป็นคำถามเกี่ยวกับแบนด์วิดท์และความล่าช้า สำหรับระบบอย่างง่ายสมมติว่าหนึ่งโพรบที่มีแบนด์วิดท์ 100 MHz พร้อมอัตราการสุ่มตัวอย่าง 1GS / s และตัวแปลง A / D 10 บิต (ฉันมีประสบการณ์ไม่ดีกับขอบเขต 8 บิต)
ฉันต้องการจอแสดงผลแบบเรียลไทม์บนพีซีที่มีหน้าต่างสุ่มตัวอย่างน้อยที่สุดสมมติว่า 10ns - 1 รอบของคลื่นไซน์ 100MHz และหน้าต่างสูงสุดของ (ฉันจะใจดีกับคุณในเรื่องนี้) ครึ่งวินาที กล่าวอีกนัยหนึ่งการตั้งค่าเวลาต่ำสุดจะเป็น 1ns / div และสูงสุดคือ. 05s / div ฉันต้องการโหมดแรงดันไฟฟ้าหลายแบบด้วยกัน - ช่วง 100mV ถึง 20V สมมติว่า
อัตราการส่งข้อมูลนี้เกี่ยวข้องกับอะไร?
1Gs / s * 10 บิต / ตัวอย่าง = 10Gbits / s
นั่นไม่ใช่ความเร็ว USB ไกลจากมัน. และฉันไม่ได้คำนึงถึงค่าใช้จ่าย ก่อนอื่นคุณแค่ไม่มีแบนด์วิดท์ และมันไม่ได้เป็นเพียงแบนด์วิดท์อย่างใดอย่างหนึ่ง สำหรับการแสดงผลแบบเรียลไทม์ของคุณคุณจะต้องสอดคล้อง คุณต้องถ่ายโอน 100 บิตไปยังชั้นแอปพลิเคชันของคุณทุก ๆ 10 นาโนวินาที ความสอดคล้องแบบนั้นไม่สามารถทำได้จาก USB มันไม่ได้ออกแบบมาเพื่อตอบสนองอุปกรณ์หนึ่งที่มีความต้องการฟุ่มเฟือย - มันถูกออกแบบมาเป็นรถบัส และคุณไม่สามารถควบคุมได้เมื่อคุณเป็นเจ้าของบัส - อุปกรณ์เป็นเพียงทาส หากโฮสต์อนุญาตให้อุปกรณ์อื่นพูดคุยเมื่อคุณต้องการส่งข้อมูลข้อมูลของคุณจะหายไป
คุณอาจร้องไห้เหม็น - ทำไมโอนข้อมูลเรียลไทม์ไปยังคอมพิวเตอร์เมื่อ 'เรียลไทม์' สำหรับบุคคลคือ 60Hz หากสิ่งที่คุณต้องทำคืออัปเดตจอแสดงผลคุณไม่จำเป็นต้องใช้ข้อมูลจำนวนมาก ยกเว้นที่คุณทำ - จอแสดงผลของคุณคือการรวมกันเชิงเส้นของตัวอย่างทั้งหมดที่คุณรวบรวม การประมาณค่าเฉลี่ยการประมาณลูกบาศก์น้อยที่สุดหมายถึงกำลังสองน้อยที่สุด - ไม่สำคัญ ในการทำให้จอแสดงผลสวยน่ารักที่ไม่ได้เป็นเพียงจุดจำนวนมากคุณต้องได้รับข้อมูลทั้งหมดส่วนใหญ่และคุณต้องโพสต์ประมวลผล มีสิ่งใดกระตุ้น? ต้องทำการคำนวณบนโฮสต์ - ที่ชั้นแอปพลิเคชัน ไม่ว่าคุณจะหั่นมันแบบไหนก็ตามสำหรับการแสดงผลแบบเรียลไทม์ที่อัตรา 1GS / s สำหรับความแม่นยำใด ๆ ที่คุ้มค่ากับการแช่งคุณต้องถ่ายโอนคำสั่งที่มีขนาดมากกว่า USB ที่สามารถจัดการได้
สิ่งรอบตัวนี้มีอะไรบ้าง? อย่าแสดงผลแบบเรียลไทม์ ขอบเขต USB บางอันมีโหมดที่เรียกใช้เท่านั้น การเรียกใช้งานถูกจัดการบนอุปกรณ์และเมื่อพบทริกเกอร์ข้อมูลจะถูกรวบรวมในบัฟเฟอร์ เมื่อบัฟเฟอร์เต็มขอบเขต USB จะถ่ายโอนไปยังแอปพลิเคชันอย่างช้าๆจากนั้นแอปพลิเคชันจะแสดง นั่นเพียงพอสำหรับการใช้ขอบเขตมากมาย แต่ไม่ใช่แบบเรียลไทม์ และการถ่ายโอน - ที่ใช้เวลาสักครู่เช่นกัน มันไม่สะดวก และมักไดรเวอร์ดูด คุณสามารถบอกได้ว่าฉันมีประสบการณ์ที่ไม่ดี
ฉันสงสัยอยู่เสมอว่าทำไม Firewire ถึงไม่ใช้สำหรับขอบเขต มันหลีกเลี่ยงอาการปวดหัวของ USB มันเป็นแบบ peer-to-peer, มีโหมด isochronous (สม่ำเสมอเวลา) และแบนด์วิดธ์ค่อนข้างสูง คุณอาจสามารถสร้างขอบเขตแบบเรียลไทม์ 10MHz หรืออย่างนั้นก็ได้
วิธีระบุที่อยู่ของคุณหลังจากแก้ไข:
ขอบเขตการใช้งานเพิ่มขึ้นอย่างมากกับราคา เมื่อคุณกระโดดจากขอบเขต USB $ 200 ถึงแม้กระทั่ง $ 500 แบบสแตนด์อโลนคุณจะได้รับคุณสมบัติและฟังก์ชั่นพื้นฐานที่เพิ่มขึ้นอย่างมาก ทำไมใช้เงินเพียง $ 200 เมื่อเพิ่มอีกนิดคุณจะได้รับขอบเขตที่แท้จริง ตอนนี้จีนได้เปิดประตูระบายน้ำราคาถูกและมีประสิทธิภาพแล้วมีเหตุผลเล็กน้อยที่ต้องการประหยัดเงิน 300 เหรียญซึ่งจะทำให้คุณผิดหวังในภายหลัง ขอบเขต 'แฟนซี' ที่มีคุณสมบัติเหล่านี้มีราคาถูกในปัจจุบัน
ใช่การ จำกัด การถ่ายโอนข้อมูลของคุณให้เพียงบางสิ่งบางอย่างที่มีค่าประมาณ 60Hz ของข้อมูลที่สอดคล้องกันจะทำได้ง่ายขึ้นด้วย USB แต่นั่นก็ไม่ใช่สิ่งที่คุณต้องการทำ อย่าลืมคลาส DSP ของคุณเพียงแค่ดึงข้อมูลบางอย่างจากจำนวนสตรีมไปยังการทำลายล้าง เมื่อคุณสังหารคุณต้องเพิ่มตัวกรองการลดรอยหยัก เมื่อคุณทำเช่นนี้คุณจะเสียแบนด์วิดท์ สิ่งนี้ทำให้ขอบเขตของคุณมีประโยชน์น้อยลง - มันจะ จำกัด แบนด์วิดท์ของคุณในการแสดงผลแบบเรียลไทม์ (และสำหรับโหมดเรียลไทม์เท่านั้น - โหมดที่ถูกเรียกใช้จะไม่เป็นไร) ให้น้อยกว่าแบนด์วิดท์ของอนาล็อก การจัดการด้านการประมวลสัญญาณของออสซิลโลสโคปเป็นเรื่องยุ่งยาก
ล้างการแสดงผลตอบสนองหรือไม่ พีซี? ไม่สม่ำเสมอ ไม่ว่าคุณจะทำสิ่งนี้อย่างไรคุณจำเป็นต้องบัฟเฟอร์ข้อมูล อย่างที่ฉันพูดไว้ก่อนหน้านี้ USB ไม่รับประกันเมื่อข้อมูลของคุณผ่าน ฉันจะบอกว่าแตกต่าง: USB ไม่ได้ออกแบบมาเพื่อรองรับการถ่ายโอนข้อมูลแบบเรียลไทม์ แน่นอนว่าสำหรับข้อมูลจำนวนเล็กน้อยในช่วงเวลาที่เพียงพอคุณอาจได้รับประสิทธิภาพที่ดี แต่ไม่ได้มีประสิทธิภาพที่สม่ำเสมอ คุณจะใช้บัฟเฟอร์และอีกครั้งในขณะที่คุณจะพลาดการถ่ายโอนบัฟเฟอร์ของคุณในเวลาที่เหมาะสม จากนั้นจอแสดงผลของคุณจะข้ามข้อมูลเก่า ฯลฯ จอแสดงผลแบบเรียลไทม์ที่ชัดเจนและตอบสนองต้องมีการเชื่อมโยงข้อมูลแบบเรียลไทม์ระยะเวลา
เรียกง่าย - อีกครั้งเรากลับไปที่ราคาเทียบกับความซับซ้อนกับการตอบสนอง ในการเรียกใช้อุปกรณ์เพื่อตรวจหาสภาวะชั่วครู่อุปกรณ์ของคุณจะไม่สามารถเป็นเพียงท่อข้อมูลใบ้ที่ถ่ายโอนตัวอย่างโดยไม่มีความรับผิดชอบผ่าน USB คุณต้องบัฟเฟอร์บัฟเฟอร์ตัวอย่างบัฟเฟอร์บนอุปกรณ์จนกว่าคุณจะเห็นเงื่อนไขการเรียกของคุณ นั่นหมายความว่าคุณต้องการหน่วยความจำและสติปัญญาบนอุปกรณ์ของคุณ - ทั้ง FPGA ขนาดใหญ่หรือไมโครคอนโทรลเลอร์ขนาดใหญ่ ที่เพิ่มขนาดและพื้นที่ หากคุณใช้ FPGA คุณจะต้องสร้างสมดุลจำนวนตรรกะที่เรียกใช้กับความต้องการ RAM จำนวนมากสำหรับพื้นที่บัฟเฟอร์ ดังนั้นบัฟเฟอร์ของคุณจึงเล็กกว่าที่คุณต้องการ นั่นหมายความว่าคุณจะได้รับข้อมูลจำนวนเล็กน้อยรอบ ๆ จุดกระตุ้นของคุณ ถ้าคุณไม่เพิ่มหน่วยความจำภายนอก - คุณก็สามารถทำอะไรได้มากกว่านี้ สิ่งนี้จะเพิ่มขนาดและค่าใช้จ่ายให้กับอุปกรณ์ของคุณ - แน่นอนว่านี่ไม่ใช่เพียงแค่โพรบที่เชื่อมต่อด้วยสาย USB
คุณโชคดีที่ได้รับแบนด์วิดธ์ 100MHz โดยปกติแล้วอัตราการสุ่มตัวอย่าง 10 เท่านั้นถือว่าเป็นขั้นต่ำสำหรับแบนด์วิดท์ ดังนั้นหากคุณมีอัตราการสุ่มตัวอย่าง 1GS / s ที่แทบจะไม่ได้รับแบนด์วิดท์ 100MHz คุณไม่สามารถรับได้มากขึ้น - คลื่นสี่เหลี่ยม 200MHz ดูเหมือนคลื่นไซน์ 200MHz ที่ดูด มันช่างโง่เง่า - ไม่มีที่ไหนใกล้กับระดับมืออาชีพ
คะแนนชุดอื่นของคุณ:
- $ 200? คุณคิดยังไง รายการชิ้นส่วนคืออะไร?
- ขอบเขตที่ดีในการอ่านสัญญาณความเร็วสูงไม่ต้องเสียเงินหลายพันดอลลาร์ พวกเขาอาจมีค่าใช้จ่ายพันดอลลาร์ 100MHz คือการเล่นของเด็กในแผนกขอบเขตและความคิดของคุณจะไม่ตรงตามเกณฑ์มาตรฐานนั้นและขอบเขต $ 1,000
- ใช่จากวิธีที่คุณอธิบายมันจะมีข้อ จำกัด อย่างแน่นอน ด้านเทคนิคของแม้แต่ความต้องการบางประการที่คุณมีหมายถึงอุปกรณ์ที่ จำกัด มาก
- มันจะไม่เป็นประโยชน์เกือบจะเท่ากับขอบเขต $ 1,100 ที่ฉันซื้อด้วยเครื่องวิเคราะห์ตรรกะและแบนด์วิดธ์อนาล็อก 60MHz ฉันควรจะจ่ายค่าอุปกรณ์การทดสอบของฉันที่มีอยู่รอบตัวด้วยของเล่นเด็กที่ตั้งใจ จำกัด
คุณใช้ชีวิตและตายโดยอุปกรณ์ทดสอบของคุณในฐานะวิศวกร หากคุณไม่แน่ใจคุณสามารถเชื่อใจได้ว่าคุณเสียเวลา เนื่องจากขาดความเชี่ยวชาญที่คุณแสดงเกี่ยวกับการสื่อสารความเร็วสูงการประมวลผลสัญญาณและพลังของการประมวลผลแบบฝังตัว (ใน FPGA หรือไมโครคอนโทรลเลอร์) ฉันจะไม่เดิมพันคุณออกแบบการออกแบบด้วยตัวเองและไม่มีใครตอบอะไรเลย นอกเหนือจากความสับสน
หากมีข้อกำหนดที่ตรงเป้าหมายมากขึ้นซึ่งตอบสนองต่อความต้องการที่แท้จริงในชุมชนที่ไม่ได้รับการบริการฉันจะเห็นว่าเป็นไปได้ทางเทคนิคที่ฉันจะเข้าร่วม แต่ความต้องการที่คลุมเครือของคุณดูเหมือนจะไม่ได้รับการวิจัย คุณต้องทำแบบสำรวจตัวเลือกที่มีสำหรับมือสมัครเล่น - ขอบเขต USB และสแตนด์อะโลนคือสิ่งที่ผู้คนใช้จุดแข็งและจุดอ่อนของพวกเขาคืออะไรจุดแข็งและจุดอ่อนของพวกเขา ไม่อย่างนั้นมันก็แค่เพ้อฝัน