J'utilise un micro-contrôleur MSP430FR2633 et un DAC ADS122C04IPWR sur I2C à 100 kHz.
Puis-je acheminer les lignes I2C à travers des vias dans un PCB à 2 couches?
microcontroller
pcb
i2c
routing
Abhishek Parikh
la source
la source
Réponses:
Aux vitesses I2C, les vias ne vous poseront absolument aucun problème.
Au moins, aucun problème en termes de résistance de piste, de capacité ou d'inductance. Cependant, si vous avez une carte à 2 couches, il est préférable d'utiliser systématiquement les deux couches, sinon vous pouvez vous entraîner dans des problèmes.
Ce que beaucoup de gens font, c'est de dédier une couche d'une planche à la terre. Cela fonctionne généralement bien, JUSQU'À ce qu'ils commencent à couper le sol avec «une seule piste» exécutée sur l'autre couche. Lorsque cette piste est rejoint par «juste un autre», et un autre, le sol finit par ressembler à un rideau de dentelle. Il ne fait pas son travail et il est difficile de déterminer où et comment l'assembler, surtout si vous êtes inexpérimenté. Pire encore, certains achemineront toutes les pistes, puis effectueront une «coulée de cuivre», dans l'espoir que cela fasse un bon plan de masse.
Si vous utilisez 2 couches pour les signaux, il est préférable de commencer par un plan. Utilisez un arrangement de suivi «Manhattan», est-ouest sur une couche, nord-sud sur l'autre. Commencez avec un «sol quadrillé», placez des pistes parallèles tous les 10 mm environ et passez-les à chaque intersection. Cela fonctionne presque aussi bien qu'un plan au sol, et à des vitesses I2C, c'est absolument aussi bon. Vous avez maintenant un moyen systématique de parcourir une piste de n'importe où, n'importe où, et pouvez sauter de l'autre côté de la planche exactement là où vous en avez besoin, sans perturber la continuité du sol existante.
Une alternative consiste à utiliser un plan de masse, mais pour éviter de le découper en restant sur votre couche de signal pour tous les signaux. Traversez les pistes en passant des pistes sous les composants. Vous pouvez acheter des résistances `` zéro ohm '' à cet effet, bien qu'une résistance de 1 ou même 10 ohms soit aussi bonne qu'un fil aux niveaux de résistance I2C.
la source
En général - oui. Le signal à 100 kHz est très indulgent. Assurez-vous de router à la fois SDA et SCL de la même manière, rapprochés.
Gardez également à l'esprit la limite de capacité totale I2C de 400 pF (vous pourriez rencontrer ce problème si les traces étaient vraiment longues).
la source
Ça ne devrait pas être un problème. Nous utilisons des vias sur I²C qui fonctionnent jusqu'à 800 kHz sans aucun problème.
Le pire que j'ai vu était une mauvaise via, qui a créé une résistance série dans la ligne I²C. Cela a tellement affecté la vitesse de balayage de la carte que la communication I²C a échoué. Mais c'était sur une carte prototype et cela ne s'est jamais produit jusqu'à présent sur une carte de production.
la source
100kHz est assez facile à déplacer. Notre équipement a des EEPROM I2C montées dans une partie remplaçable par le client du système, de sorte que les changements d'étalonnage lorsque cette pièce est remplacée seront automatiquement lus par le contrôleur. Les câbles pour cela peuvent avoir des mètres de long, et jusqu'à présent, cela fonctionne bien. Certes, nous avons des câbles à faible capacité, mais un circuit imprimé via n'est pas un gros problème.
Notez cependant que même si 100 kHz est la fréquence standard I2C d'origine, ce n'est pas la fin de l'histoire. Le "Mode rapide" I2C autorise jusqu'à 400 kHz, le "Mode rapide Plus" autorise jusqu'à 1 MHz et le "Mode haute vitesse" autorise jusqu'à 3,4 MHz. En regardant la fiche technique, votre DAC prend en charge le "Fast Mode Plus" jusqu'à 1 MHz. Tant que vous restez à 100 kHz, vous pouvez essentiellement faire ce que vous voulez, car ce n'est pas assez rapide pour être important, mais si vous souhaitez aller plus vite à l'avenir, vous devez étudier les règles de conception pour des signaux numériques plus rapides.
Cela dit, le DAC lui-même ne peut gérer que 2 000 échantillons par seconde. Pour un DAC 24 bits plus la surcharge I2C associée, les transferts de données ne prendront qu'environ 70 à 80% de la bande passante sur une liaison à 100 kHz. Si vous avez plusieurs DAC sur la même liaison I2C, vous voudrez peut-être utiliser une liaison plus rapide pour tous les entretenir, mais si vous n'avez qu'un seul DAC, vous n'avez aucune raison d'aller plus vite que 100 kHz.
la source