PCI 또는 PCIe 장치 사용


22

PCI 또는 PCI Express 장치를 지원하기 위해 일종의 어댑터를 사용하거나 장치를 Raspberry Pi 보드에 납땜 할 수 있습니까? NIC 또는 사운드 카드와 같은 더 작은 장치를 생각하고 있습니다. 튜너 또는 그래픽 카드와 같은 것을 실행하기에 충분한 전압이 없을 것이라고 생각합니다.


버스 속도가 너무 커서 ARM이 처리 할 수있는 너비와 너무 넓은 (너무 많은 I / O) PCI가있을 수 있지만 PCI Express는 의문의 여지가 없습니다.
Piotr Kula

병목 현상과 관련하여 큰 문제가 발생할 수는 없습니다.

IO 핀을 사용하는 것이 여전히 USB보다 빠를 것입니다. 그리고 ISA, EISA 또는 VESA를 사용하는 것은 어떻습니까? 나는 그것들이 오래되었다는 것을 알고 있지만 여전히 낮은 클럭 주파수를 가지고 있으며 새로운 주파수는 많지 않습니다. 아니면, 자신 만의 인터페이스를 만드는 것은 어떻습니까?

@ppumkin PCIe는 물리적 계층과 장치가 해당 속도를 지원할 때 높은 버스 속도로 실행되지만 실제로는 매우 탄력적 인 프로토콜이며 속도가 느린 비정형 상황에서도 여전히 작동합니다.
AJMansfield

답변:


8

이것이 가능한지 의심합니다. 당신은 어떤 종류의 다리와 그것을 연결할 무언가가 필요할 것입니다.

왜 필요한지 확실하지 않은 경우 NIC / 사운드 카드 / 튜너 등을 USB에 연결할 수 있습니다.

두 번째 화면을 추가하려는 경우 USB 비디오 어댑터도 있습니다. 게임 등을위한 고성능 그래픽 카드를 연결하려는 시도는 그리 중요하지 않습니다. 제가 생각할 수있는 유일한 이유는 코 프로세싱을 위해 GPU를 사용하고 있었기 때문입니다.


AP 모드를 완벽하게 수행하는 Pi 기반 802.11ac 이중 대역 라우터의 구현 중 하나 인 강력한 유스 케이스가 있습니다 (또는 AP 모드를 전혀 수행하지 않음). USB 버스를 완전히 포화시키는 경우 AP 모드에서 반 작업으로 소문되는 몇 가지 USB 802.11n NIC가 있지만 실제적으로 AP 모드를 제대로 수행하려면 PCI-e 버스가 필요합니다 칩에 거의 실시간으로 액세스하려면 모든 AP 관련 로직을 USB 버스의 다른 쪽 끝으로 이동해야합니다 (802.11ac베이스 밴드 칩 자체를 호스트 Pi에 직접 연결).
Bitbang3r

1
강력한 지 여부에 관계없이 CPU의 입출력 병목 현상이 제한됩니다. 상당히 오래되고 비용 최적화 된 칩임을 기억하십시오.
John La Rooy

6

아니요, 불가능합니다. Raspberry Pi는 USB 버스 만있는 저비용 암 SoC를 기반으로하므로 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에서 이전 버전과 호환되는 모드를 강제로 적용하고이를 33MHz에서 이전 PCI 주파수로 낮추는 방법이있을 수 있습니다. 즉, 광범위한 버퍼링으로 주파수 범위에서 일부 겹칠 수 있습니다. 그러나 PCIe는 GPIO보다 비트 폭이 훨씬 넓으며, Pi의 GPIO 버스에는없는 광범위한 소프트웨어 인프라가 올바르게 처리됩니다. PCI와 PCIe는 단순한 인터페이스 그 이상이며, 그들 자신의 (복잡한) 중간 통신 프로토콜을 포함하고 있습니다.

할 수 있었습니까? 물론, 적절한 소프트웨어 / 하드웨어와 인터페이스를 통해 무엇이든 할 수 있습니다. 커널 수준 라이브러리는 거의 모든 것을 재정의하고 거의 모든 것을 버퍼링하도록 작성할 수 있습니다.

해야합니까? 글쎄, 당신이 본질적으로하려고하는 것은 느린 Pi로 빠른 무선 / PCI 버스를 인터페이스하는 것입니다. 그것은 Pi의 USB 버스가 이미하고있는 것과 아주 잘 작동하는 것입니다. 또한 기본적으로 완벽하게 지원되는 방식으로 작동합니다.

Pi에서 PCI / PCIe를 실행시키려는 것은 본질적으로 바퀴를 재창조하는 것이며 매우 어려운 일입니다. 몇 달 동안 여유가 있다면 흥미로운 학습 연습이 될 수 있습니다. 벽에 부딪히면 언제든지 앞으로 나아갈 수 없다는 점을 명심하십시오. 한마디로 보답하지 않습니다. ;-)


1
계속 진행하기로 결정했다면 항상 다음과 같이됩니다 : pinouts.ru/Slots/pci_express_pinout.shtml 가장 큰 문제는 인터페이스 너비가 아니라 클럭 속도입니다. 예, 일부 PCIe / PCIx 카드에는 많은 핀이 있습니다. 아니요, 모두가 아니라 많은 사람들이 큰 핀아웃을 필요로하지 않습니다. 아주 작은 1x 카드가 있습니다. 클럭이 2.5Gbps로 실행되기 때문에 많은 스토리지가있는 일종의 버퍼링 인터페이스가 필요하며 Pi의 프로세서가 그렇게 많은 데이터를 따라 잡을 수 있는지 확실하지 않습니다. 실시간으로 실행.
yogsodoth

1

PCIE2RASPI 보드는 CycloneIV GX Fpga가있는 PCIE 보드 (미니 또는 표준)를 Raspberry I / O 보드의 IO 신호에 연결할 수 있습니다. 헤더의 전원 핀을 절단하면 플랫 케이블로 라즈베리 히 스트에 연결할 수 있습니다. 미니 PCIe의 Fpga 호스트는 마스터 대상 기능이있는 엔드 포인트입니다. 실제로 Raspberry는 PC 메모리를 읽거나 쓸 수 있습니다.

참조 : 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 핀을 사용한 다음 그 중 절반을 100MHz에서 단일 출력 라인 (PCIe x1)으로 멀티플렉싱하고 입력 라인을 다른 절반으로 디 멀티플렉싱하여 가능할 수 있습니다 . yogsodoth의 답변에 언급 된 동일한 링크 (첫 번째 링크)에서 네이티브 C 코드가 -O3 최적화 프로그램을 통해 약 22MHz를 관리 할 수 ​​있다고 읽었습니다. (그냥 기억 로직 레벨 시프터는 필수입니다. )의 PCIe이 기본적으로 지원되지 않는 소프트웨어는하지만, 인터페이스에 목에 더 큰 고통이 될 것입니다 ...


0

GPIO 핀이 PCIx를 처리 할 수있는 장치에 연결될 수 있습니까? 그것은 큰 해킹을 의미하고 문제는입니다. GPIO 핀에서 데이터를 얼마나 빨리 읽을 수 있습니까?


1
충분히 빠르지 않습니다.
Jivings

합의-충분히 빠르지 않고 실시간이어야합니다. 리눅스는 실시간이 아닙니다.
Piotr Kula

-1

아니요, 불가능합니다. Gpio 하드웨어는 PCI 속도에서 작동하도록 설계되지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.