É possível usar algum tipo de adaptador ou mesmo soldar um dispositivo na placa Raspberry Pi para suportar dispositivos PCI ou PCI Express? Estou pensando em dispositivos menores, como placas de rede ou placas de som. Eu não acho que haveria tensão suficiente para executar algo como um sintonizador ou placa gráfica.
22
Respostas:
Duvido que isso seja possível. Você precisaria de algum tipo de ponte e algo para conectá-lo.
Não sei por que você precisaria, placas de som / placas de som / sintonizadores e muito mais podem se conectar ao dispositivo USB.
Também existem adaptadores de vídeo USB, se você quiser adicionar uma segunda tela. Não faz muito sentido tentar conectar uma placa gráfica de alta potência para jogos, etc. A única razão pela qual consigo pensar é se você estava usando a GPU para coprocessamento
fonte
Não, não é possível. O Raspberry Pi é baseado no SoC de braço de baixo orçamento que possui apenas barramento usb, por isso é impossível conectar uma placa PCI ou PCIe a ele. Nem um adaptador pode ser feito.
fonte
O mais rápido que o buffer GPIO pode ser endereçado até agora é de 5,4 MHz, mas a maioria das bibliotecas de endereçamento atinge cerca de 70kHz: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
A especificação do PCIe é executada em 100 MHz (frequência ajustável até 200 MHz). http://www.ni.com/white-paper/3767/en/
Pode haver uma maneira de forçar um modo compatível com versões anteriores no PCIe e reduzi-lo à antiga frequência PCI a 33MHz, o que significa que pode haver alguma sobreposição nas faixas de frequência com buffer extensivo. No entanto, o PCIe tem uma largura de bit muito maior que o GPIO e requer uma quantidade enorme de infraestrutura de software para resolver adequadamente, o que o barramento GPIO no Pi simplesmente não possui. O PCI e o PCIe são mais do que apenas interfaces, eles incluem seus próprios protocolos de comunicação intermediários (complexos), que você teria que imitar de alguma forma.
Isso poderia ser feito? Certamente, com a interface de software / hardware adequada, tudo pode ser feito. As bibliotecas no nível do kernel podem ser escritas para substituir praticamente qualquer coisa e armazenar em buffer praticamente qualquer coisa.
Isso deveria ser feito? Bem, o que você está basicamente tentando fazer é conectar o barramento wireless / PCIe rápido com o Pi mais lento. É o que o barramento USB do Pi já faz e faz muito bem, além de fazê-lo de forma nativa e totalmente suportada.
Tentar fazer com que o PCI / PCIe funcione no Pi seria essencialmente reinventar a roda, e seria muito difícil. Pode ser um exercício de aprendizado interessante, se você tiver alguns meses de sobra - tendo em mente que é provável que você bata em uma parede e não consiga avançar a qualquer momento. Parece singularmente sem recompensa para mim. ;-)
fonte
A placa PCIE2RASPI pode unir uma placa PCIE (mini ou padrão) com um CycloneIV GX Fpga aos sinais IO da placa Raspberry I / O. Cortando os pinos de energia no cabeçalho, ele pode ser encaixado por um cabo plano a um histórico de framboesa. O Fpga no mini PCIe hospeda um ponto final que possui capacidade de destino principal, de fato, torna o Raspberry capaz de ler ou gravar a memória do PC.
Veja: http://www.geb-enterprise.com/PRODUCTS/Mini_PCIe_to_Raspberry.html http://www.geb-enterprise.com/PRODUCTS/PCIe_Standard_PC_CARD.html
fonte
Na verdade, pode ser possível utilizando TODOS os pinos do GPIO, multiplexando metade deles em uma única linha de saída (PCIe x1) a 100 MHz e desmultiplexando a linha de entrada na outra metade. Li no mesmo link (o primeiro) indicado na resposta do yogsodoth que o código C nativo podia gerenciar cerca de 22MHz através do otimizador -O3. (Lembre-se de que os shifters de nível lógico são obrigatórios. ) O software seria ainda mais difícil de interface, pois o PCIe não é suportado nativamente ...
fonte
Talvez os pinos do GPIO possam se conectar a algo que possa endereçar o PCIx? Isso significaria um grande hack e a questão é. Com que rapidez os dados podem ser lidos pelos pinos do GPIO.
fonte
Não, isso não é possível. O hardware Gpio não foi projetado para funcionar em velocidades PCI.
fonte