Mon MCU utilise un bus SPI avec environ 4 appareils. J'aimerais étendre ce bus pour qu'il soit également hors carte, c'est-à-dire que certains PCB soient connectés à la carte "principale" et étendent les fonctionnalités. La distance "pad to pad" serait:
longueur de trace de la carte principale + longueur de câble + longueur de trace sur la carte d'extension
3 "+ 6" + 3 "= environ 12"
D'après mon expérience, même un signal de 1 MHz, avec environ 7 ns de temps de montée, sur cette distance via un câble ruban dépassait de plus de 1 V (mais il n'y avait pas de sonnerie excessive). Les cartes seront alimentées par la même alimentation.
Remarque: Vous ne pouvez pas voir les temps de montée ici, mais vous pouvez voir le dépassement excessif - il s'agit d'un signal de 3,3 V. Et oui, cela a été mesuré correctement avec un fil très court de la sonde à la terre. Tout comme il est souvent recommandé sur ce site. Je ne pense pas que ce soit une erreur de mesure.
J'aimerais que le système fonctionne à 4 MHz, mais 2 MHz est également acceptable. Le max. le nombre de cartes que je souhaite connecter serait d'environ 4, ce qui étendrait le bus SPI à 12 appareils environ. Je ne pense pas que ce serait trop difficile à gérer via du code car j'ai déjà quelque chose qui fonctionne comme ça. Avoir les lignes de sélection d'esclaves supplémentaires n'est pas non plus un problème.
Cependant, ma préoccupation est de savoir comment envoyer les données SPI d'une carte à une autre. Dois-je simplement envoyer SPI directement ou le convertir en LVDS à une extrémité, puis le reconvertir en SPI à l'autre extrémité?