การใช้อุปกรณ์ PCI หรือ PCIe


22

เป็นไปได้ไหมที่จะใช้อะแดปเตอร์บางประเภทหรือแม้กระทั่งการบัดกรีอุปกรณ์เข้ากับบอร์ด Raspberry Pi เพื่อสนับสนุนอุปกรณ์ PCI หรือ PCI Express ฉันกำลังคิดอุปกรณ์ขนาดเล็กเช่น NICs หรือการ์ดเสียง ฉันไม่คิดว่าจะมีแรงดันไฟฟ้าเพียงพอที่จะทำงานบางอย่างเช่นจูนเนอร์หรือการ์ดกราฟิก


PCi express ไม่เป็นปัญหาเนื่องจากความเร็วบัสนั้นมากเกินกว่าที่ ARM จะจัดการรวมถึงความกว้าง (I / O มากเกินไป) PCI migh เป็นไปได้ แต่ไม่มีประโยชน์
Piotr Kula

คุณจะพบกับปัญหาใหญ่ที่เกิดจากการติดขัดไม่สามารถทำได้

การใช้งานพิน IO อาจจะยังเร็วกว่า USB แล้วการใช้ ISA, EISA หรือ VESA ล่ะ? ฉันรู้ว่ามันเก่า แต่ก็ยังมีความถี่สัญญาณนาฬิกาที่ต่ำกว่าและมีความถี่ใหม่ไม่มาก หรือสิ่งที่เกี่ยวกับการสร้างส่วนต่อประสานของคุณเอง?

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

คำตอบ:


8

ฉันสงสัยว่ามันเป็นไปได้ คุณจะต้องมีสะพานและสิ่งที่จะเชื่อมต่อกับมัน

ไม่แน่ใจว่าทำไมคุณต้อง NICs / การ์ดเสียง / เครื่องรับและอื่น ๆ สามารถเสียบเข้ากับ USB ได้

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


มีกรณีการใช้งานที่น่าดึงดูดใจอย่างหนึ่ง ... การใช้งาน 802.11ac เราเตอร์ดูอัลแบนด์แบนด์ที่ใช้ Pi ที่ไม่มีที่ติทำโหมด AP (หรือสำหรับเรื่องนั้นทำโหมด AP เลย) มี NIC USB 802.11n ไม่กี่ตัวที่มีข่าวลือว่ากึ่งงานในโหมด AP ถ้าคุณอิ่มตัวบัส USB อย่างสมบูรณ์ แต่เป็นเรื่องจริงถ้าคุณต้องการทำโหมด AP อย่างถูกต้องคุณต้องใช้ PCI-e บัส เพื่อให้คุณเข้าถึงชิปแบบเรียลไทม์หรือคุณจะต้องย้ายโลจิก AP ที่เกี่ยวข้องทั้งหมดไปยังส่วนอื่น ๆ ของบัส USB (เชื่อมต่อชิปเบสแบนด์ 802.11ac ไปยังโฮสต์ Pi โดยตรง)
Bitbang3r

1
น่าสนใจหรือไม่คุณถูก จำกัด โดยคอขวดของ I / O ทั้งในและนอก CPU โปรดจำไว้ว่ามันเป็นชิปที่ค่อนข้างเก่าและมีราคาที่เหมาะสม
John La Rooy

6

ไม่เป็นไปไม่ได้ Raspberry Pi ใช้ SoC ราคาประหยัดที่มี usb บัสเท่านั้นดังนั้นจึงไม่สามารถแนบการ์ด PCI หรือ PCIe เข้ากับมันได้ ไม่สามารถสร้างอแด็ปเตอร์ได้


นอกจากนี้ยังเรียกว่าตัวเชื่อมต่อ PCI-e USB เท่านั้น?
danger89

@ danger89 ขออภัยฉันไม่สามารถรับคำถามของคุณ
SileNT

6

บัฟเฟอร์ GPIO ที่เร็วที่สุดสามารถระบุได้ถึง 5.4MHz แต่ที่อยู่ส่วนใหญ่จะอยู่ที่ 70kHz: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

ข้อมูลจำเพาะ PCIe ทำงานที่ 100MHz (ปรับความถี่ได้สูงสุด 200MHz) http://www.ni.com/white-paper/3767/en/

อาจมีวิธีบังคับให้โหมดย้อนหลังเข้ากันได้บน PCIe และลดลงเป็นความถี่ PCI เก่าที่ 33MHz ซึ่งหมายความว่าอาจมีการทับซ้อนกันบ้างในช่วงความถี่ที่มีการบัฟเฟอร์อย่างกว้างขวาง อย่างไรก็ตาม PCIe มีความกว้างบิตที่กว้างกว่า GPIO มากและต้องการโครงสร้างพื้นฐานซอฟต์แวร์จำนวนมากในการจัดการที่ถูกต้องซึ่ง GPIO บัสบน Pi นั้นไม่มีอยู่จริง PCI และ PCIe เป็นมากกว่าส่วนต่อประสาน แต่ก็รวมถึงโปรโตคอลการสื่อสารระดับกลาง (ซับซ้อน) ของตัวเองซึ่งคุณต้องเลียนแบบ

ทำได้หรือไม่ แน่นอนว่าด้วยการเชื่อมต่อซอฟต์แวร์ / ฮาร์ดแวร์ที่เหมาะสมสามารถทำได้ทุกอย่าง ไลบรารีระดับเคอร์เนลสามารถเขียนเพื่อลบล้างอะไรก็ได้และบัฟเฟอร์อะไรก็ได้

ควรจะทำอย่างไร สิ่งที่คุณต้องทำก็คือเชื่อมต่อบัสไร้สาย / PCIe ที่รวดเร็วกับ Pi ที่ช้ากว่า นั่นคือสิ่งที่บัส USB ของ Pi ทำอยู่แล้วและทำได้ค่อนข้างดีบวกกับมันทำในลักษณะดั้งเดิมและรองรับอย่างเต็มที่

การพยายามทำให้ PCI / PCIe ทำงานบน Pi นั้นโดยพื้นฐานแล้วจะต้องพลิกโฉมพวงมาลัยและมันจะทำยากมาก อาจเป็นแบบฝึกหัดการเรียนรู้ที่น่าสนใจหากคุณมีเวลาสองสามเดือนในการจำไว้ว่าเป็นไปได้ที่คุณจะชนกำแพงและไม่สามารถก้าวไปข้างหน้าได้ตลอดเวลา ฟังดูแปลกประหลาดสำหรับฉัน ;-)


1
หากคุณตัดสินใจที่จะดำเนินการต่อไปจะมีสิ่งนี้เสมอ: pinouts.ru/Slots/pci_express_pinout.shtmlโปรดทราบว่าปัญหาหลักของคุณคือความเร็วของนาฬิกาไม่ใช่ความกว้างของอินเตอร์เฟส ใช่การ์ด PCIe / PCIx บางตัวมีพินมากมาย ไม่ไม่ทุกคนทำและหลายคนไม่ต้องการพินใหญ่ มี 1x การ์ดเล็ก ๆ ออกมา เนื่องจากนาฬิกาทำงานที่ 2.5Gbps คุณต้องมีอินเตอร์เฟซบัฟเฟอร์ที่มีพื้นที่เก็บข้อมูลมากมายและฉันไม่แน่ใจว่าตัวประมวลผลของ Pi สามารถเล่นกับข้อมูลจำนวนมากได้อย่างไรเนื่องจากคุณจะไม่ต้อง ทำงานแบบเรียลไทม์
yogsodoth

1

บอร์ด PCIE2RASPI สามารถเข้าร่วมบอร์ด PCIE (ขนาดเล็กหรือมาตรฐาน) พร้อม CycloneIV GX Fpga กับสัญญาณ IO ของบอร์ด Raspberry I / O การตัดพินพลังงานที่ส่วนหัวสามารถติดตั้งได้โดยใช้สายเคเบิลแบบแบนไปยัง Raspberry hist Fpga บน mini PCIe โฮสต์จุดสิ้นสุดที่มีความสามารถเป้าหมายหลักจริง ๆ แล้วมันทำให้ Raspberry สามารถอ่านหรือเขียนหน่วยความจำพีซี

ดูที่: http://www.geb-enterprise.com/PRODUCTS/Mini_PCIe_to_Raspberry.html http://www.geb-enterprise.com/PRODUCTS/PCIe_Standard_PC_CARD.html


1
เมื่อคุณแนะนำผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งของคุณคุณควรทำให้ชัดเจนในคำตอบของคุณ
Steve Robillard

1

มันจริงอาจจะเป็นไปได้โดยการใช้ทั้งหมดของหมุด GPIO แล้ว Multiplexing ครึ่งหนึ่งของพวกเขาเข้าไปในเส้นเอาท์พุทเดียว (PCIe x1) ที่ 100MHz และ Demultiplexing สายการป้อนข้อมูลลงในอีกครึ่งหนึ่ง ฉันอ่านที่ลิงค์เดียวกัน (อันแรก) ระบุไว้ในคำตอบของ yogsodoth ว่ารหัส C ดั้งเดิมสามารถจัดการประมาณ 22MHz ผ่านทางเครื่องมือเพิ่มประสิทธิภาพ -O3 (โปรดจำไว้ว่าต้องใช้ระดับลอจิกแบบลอจิก ) ซอฟต์แวร์จะมีอาการปวดที่คอยิ่งขึ้นในการเชื่อมต่อกับอินเตอร์เฟสเนื่องจาก PCIe ไม่รองรับการใช้งาน ...


0

บางที GPIO พินอาจเชื่อมต่อกับบางสิ่งที่สามารถระบุ PCIx ได้ มันหมายถึงแฮ็คที่ยิ่งใหญ่และคำถามก็คือ สามารถอ่านข้อมูลจากพิน GPIO เร็วแค่ไหน


1
ไม่เร็วพอ
Jivings

เห็นด้วย - ไม่เร็วพอและมันก็เป็นเรียลไทม์ Linux ไม่ใช่เรียลไทม์
Piotr Kula

-1

ไม่นั่นเป็นไปไม่ได้ Gpio ไม่ได้ออกแบบมาเพื่อทำงานด้วยความเร็ว PCI

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