J'ai une vieille paire de connecteurs personnalisés utilisée par ce qui sera un grand nombre de systèmes. Les connecteurs sont mère / père et symétriques, car ils n'ont pas de guide mécanique pour que l'utilisateur le branche dans la bonne position.
Je ne peux en aucun cas modifier le périphérique père et le connecteur.
Les 4 broches sont: VCC GND Rx Tx. J'ai une haute tension sur la broche d'alimentation et la logique Rx / Tx est à 5V. L'horloge Rx / Tx est préréglée à une valeur particulière.
Par conséquent, le connecteur père peut être branché de 4 manières possibles.
La mère fournit au père un VCC sous 1000V et sous 100A si et quand les broches sont "alignées". Jusque-là, les appareils peuvent communiquer via Rx et Tx @ 5V (il y a une petite batterie rechargeable sur l'appareil d'extrémité du connecteur père).
Les boîtiers des connecteurs et des appareils ne sont pas conducteurs.
Je dois être en mesure de détecter l'orientation / la façon dont le connecteur père est inséré afin de pouvoir relayer correctement le courant et les signaux, afin que les appareils se connectent et parlent quelle que soit la façon dont les connecteurs sont branchés.
Quelle est la meilleure façon d'y parvenir? Par "meilleur moyen", j'entends le moins de composants / FET / relais / diodes. Je peux utiliser n'importe quel type de MCU de mon côté, regardais une classe L0 de STM.
NB: un appareil électromécanique derrière le connecteur mère, sous la forme d'un disque est entraîné en rotation par un moteur par pas de 90 'dans le sens des aiguilles d'une montre (essentiellement jusqu'à 4 "essais" sont effectués jusqu'à ce que les signaux soient correctement alignés) a été proposé par un autre canal, je ne cherche pas ce genre de solution, a besoin de quelque chose de solide, sans pièces mobiles.
Réponses:
Étant donné que la chose que vous branchez est de repousser une tension par rapport à la broche de terre sur la ligne Tx (et peut-être un pullup sur le Rx), vous devriez pouvoir utiliser un circuit comme celui ci-dessous comme début.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Tirez chaque broche à la terre une à la fois et examinez quelles autres broches repoussent. Vous devriez être en mesure de déterminer quelle broche est la broche de terre réelle de cette façon. Une fois que vous savez cela, commutez les signaux TX / RX sur les broches correctes (non illustrées) et vérifiez la communication avant d'allumer le P-MOSFET d'alimentation approprié.
Une fois que vous savez lequel est mis à la terre et que vous l'avez mis sous tension, la détection de la prise doit simplement être une question de surveillance du transistor sur la ligne Vcc.
la source
Vous pouvez utiliser un circuit similaire au levier de vitesses à deux étages pour permettre la rotation des signaux de 0, 90, 180 ou 270 degrés:
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Vous pouvez utiliser des relais statiques ou mécaniques pour les commutateurs. Il n'y a que deux signaux de commande, permettant 4 réglages possibles correspondant aux 4 orientations possibles.
Pour trouver l'orientation correcte, basculez simplement entre les paramètres jusqu'à ce que vous obteniez un signal RX / TX valide. Parce que l'alimentation haute tension n'est pas activée avant de trouver l'orientation correcte, la logique n'a qu'à gérer + - 5V sur les signaux rx / tx. Une simple résistance série et une pince à diode pourraient suffire.
(Bien sûr, il serait judicieux d'avoir une sorte de protection de secours au cas où la haute tension se retrouverait sur les mauvaises broches, mais c'est assez d'un sujet pour une autre question.)
la source