Je prévois de chaîner ensemble des registres à décalage 40 x 74HC595 . La chaîne de 74HC595s sera contrôlé par un microcontrôleur de 5 V, ce qui va générer les SDI
, CLOCK
et des LATCH
signaux.
Chaque registre à décalage et le microcontrôleur auront leur propre PCB, comme illustré dans le schéma ci-dessous:
En raison de contraintes mécaniques, la distance entre chaque registre à décalage sera d'environ 30 cm (12 pouces), de sorte que les signaux de commande se déplaceront sur une distance d'environ. 12 m (40 pi). En plus de cela, l'ensemble du système sera monté dans un environnement très bruyant (à proximité de lampes fluorescentes, de fils électriques, etc.)
Ma préoccupation est que les signaux de commande seront très bruyants et que les registres à décalage pourraient produire les mauvaises choses. Je pensais à:
- Utilisation d'un CI tampon sur chaque carte pour mettre en mémoire tampon les signaux de contrôle. Lequel recommanderiez-vous?
- Utilisation de câbles blindés entre les cartes pour les signaux
- Baisser la
CLOCK
fréquence autant que possible. Je n'ai besoin de mettre à jour le contenu des registres que quelques fois par jour.
Les solutions ci-dessus sont-elles une bonne chose à faire? Que puis-je faire d'autre pour réduire au minimum le bruit (potentiel) dans les fils de signal?
Réponses:
Utilisez des tampons de déclenchement Schmitt aux entrées de chaque carte. Ils nettoieront les signaux afin que tout bruit ne donne pas de fausses impulsions sur l'horloge, par exemple. Le 74LVC3G17 est un triple tampon non inverseur.
Passez également les signaux en mémoire tampon au tableau suivant. Sinon, toutes les entrées seraient parallèles et vous pourriez dépasser le fan-out du microcontrôleur d'entraînement (je pense en particulier à la charge capacitive totale). La connexion en guirlande des signaux d'horloge et de verrouillage donnera un retard d'ondulation tout au long de la chaîne, mais les données le feront également, et vous prévoyez de passer à faible vitesse de toute façon.
la source
Le problème qui peut se produire est que certaines horloges SR avant les horloges SR suivantes, de sorte que la prochaine SR horloge dans les mauvaises données. Une solution (standard?) Pour cela consiste à câbler l'horloge à partir du dernier SR.
J'envisagerais d'ajouter un (schmit-trigger?) Tampon à chaque carte pour les 3 lignes de signal.
(modifier) Baisser la fréquence d'horloge n'aidera pas (sauf si elle était beaucoup trop élevée pour commencer). Les problèmes que vous pouvez avoir se produisent sur les bords de l'horloge, que vous aurez de toute façon, peu importe la fréquence à laquelle vous choisissez votre fréquence d'horloge.
la source
Le plus gros problème lors du chaînage des registres à décalage est de garantir la prévisibilité de la relation temporelle entre l'horloge utilisée par chaque carte pour recevoir les données et la modification des données de la carte précédente. Le fait que la sortie du 74HC595 change sur le même front que l'horloge est un peu gênant à cet égard. Je suggérerais que le signal d'horloge soit mis en mémoire tampon au fur et à mesure qu'il traverse chaque carte et que le signal de données provenant du 74HC595 d'une carte soit mis à travers un tampon qui le retardera d'un temps légèrement plus long que le tampon d'horloge.
Alternativement, vous pouvez utiliser un registre à décalage comme le 74HC4094 qui a son changement de sortie de données sur le front d'horloge descendant, ou vous pouvez ajouter une bascule entre la sortie du dernier 74HC595 sur la carte et la carte suivante, et avoir cette bascule verrouiller sa sortie sur le front descendant de l'horloge qui entraîne les 74HC595 (peut-être passer l'horloge à travers deux onduleurs pour la mettre en mémoire tampon et envoyer le signal d'horloge inversé à la bascule).
Si le nombre de sorties 74HC595 que vous utiliserez est inférieur d'un (ou plusieurs) au nombre fourni par vos puces (par exemple, sur une carte avec deux 74HC595, vous n'avez en fait besoin que de 15 sorties), vous pouvez alimenter le dernier 74HC595 sur une carte avec une horloge inversée des autres, mais cela vous coûterait l'utilisation d'une sortie 74HC595 à chaque fois que le signal passe entre une horloge non inversée 74HC595 et une horloge inversée 74HC595.
la source