Microcontrôleur parasite à 1 fil?

17

J'ai vu les capteurs 1 fil de Dallas, ils ont fière allure. Mais, je voudrais faire des esclaves 1 fil personnalisés qui peuvent être alimentés en parasite (juste masse + données).

Quelqu'un peut-il recommander un microcontrôleur à faible puissance qui convient à cela?

Quelqu'un a-t-il un circuit d'échantillonnage pour savoir comment j'alimenter un MCU à partir du bus à 1 fil?

Toby Jaffey
la source
Boutons Java. ils existent. TI l'a fait. Java Card IIRC
Tim Williscroft
Pour suivre et améliorer la question - qu'en est-il de la remise sous tension du MCU? Comment cela est-il résolu? (Pour les capteurs spécialement conçus pour 1 fil, cela doit être géré par l'appareil lui-même tel qu'il est préparé). Le MCU doit-il être équipé d'une détection de coupure? Est-ce assez?
mazurnification
@macurnification - cela ressemble à une nouvelle question pour moi
Toby Jaffey

Réponses:

17

Le bus à un fil a le bus passivement (c'est-à-dire avec une résistance) tiré vers le haut dans le système, et les appareils communiquent sur le bus en tirant le bus vers le bas. Ce que je ferais si je voulais retirer l'alimentation du bus est:

  1. Insérez la ligne de données directement dans la broche d'entrée de données de votre microcontrôleur.
  2. Introduisez également la ligne de données dans une diode Schottky.
  3. À la sortie de la diode, mettez un condensateur de grande taille (disons 10 uF) à la terre.
  4. Envoyez la sortie de la diode à la broche VCC de votre microcontrôleur.

Vous devez utiliser une diode Schottky pour minimiser la chute de tension. La combinaison diode / condensateur doit faire en sorte que la communication puisse avoir lieu (c'est-à-dire la mise à la terre du bus périodiquement) sans arrêter le MCU. Mettre le condensateur après la diode gardera les transitions sur les données de bus nettes, tout en gardant la décroissance de l'alimentation (tension) de votre MCU progressive. La plus faible puissance de l'appareil que vous utilisez est la meilleure pour minimiser la consommation de votre condensateur, mais à peu près n'importe quel MCU fonctionnera probablement pour vous. Ma préférence va aux AVR d'Atmel, mais les TI MSP430 et les PIC de Microchip sont également de bons candidats pour une faible consommation d'énergie.

vicatcu
la source
9
+1 sur la TI MSP430. Je pense qu'ils gagnent le concours de consommation d'énergie le plus bas.
pingswept
8
Je suis sûr que vous pourriez en couper quelques pommes de terre :)
Jim
2
Qu'entendez-vous par "tampon"? Normalement, vous utiliseriez une diode, de préférence une diode Schottky pour sa faible chute de tension.
starblue
2
@starblue a buffer est un composant électrique qui est généralement utilisé pour augmenter la puissance du variateur et fournir une sortie à faible impédance tout en "passant" le signal d'entrée. Il a pour effet d'isoler efficacement son entrée de sa sortie, tout en faisant en sorte que la sortie "suive" l'entrée. Il existe de nombreuses façons de le mettre en œuvre (un ampli-op est à sens unique; deux onduleurs CMOS en série sont une autre façon), mais vous pouvez également les trouver sous forme de composants discrets ou de circuits intégrés.
vicatcu
1
@vicatcu Je pense que Starblue sait ce qu'est un tampon logique - juste un amplificateur non inverseur. Il se demandait peut-être si vous parliez de quelque chose de différent. Vous oubliez que le courant de polarisation d'entrée vers un tampon est de l'ordre de nano- ou micro-ampères, et que ce courant est shunté à la masse plutôt qu'à votre condensateur. Un tampon conventionnel (comme le CD4010) ne fonctionnera pas sans alimentation ni terre. Votre réponse ayant été sélectionnée, veuillez la modifier pour refléter ce fait.
Kevin Vermeer
7

Vous pourriez envisager d'ajouter une demande aux fonctions de votre esclave personnalisé pour dire "OK, je vais avoir besoin de beaucoup de courant pendant un petit moment ici", et ajouter un pullup MOSFET à votre sortie. Ensuite, vous pouvez désactiver cette fonction pendant quelques cycles et voir si l'esclave permet toujours de remonter la ligne de manière résistive (comme à la p. 3 figure 2 du fiche technique DS18S20. ) De nombreux appareils à 1 fil ne sont pas '' t vraiment 1 fil. Si vous n'avez pas besoin d'interagir avec des pièces réelles à 1 fil et / ou si vous contrôlez le nœud maître, vous pouvez définir vos propres spécifications et cela devrait faciliter les choses.

Votre travail est facilité car votre micro peut probablement gérer entre les 5 V du bus et se désintégrer jusqu'à ~ 2,6. Par conséquent, la configuration Schottky et le condensateur susmentionnés devraient fonctionner, ou même une diode au silicium. Tenez compte des configurations de diodes suivantes:

  • Diode au silicium: ce serait mon premier choix. Tant que votre micro et tous vos périphériques peuvent fonctionner à 4,3 V, vous minimiserez votre courant inverse de dizaines à des centaines (et même jusqu'à mA lorsqu'il est chaud) sur un Schottky jusqu'à des dizaines de nano-ampères
  • Diode Schottky: à utiliser uniquement si le .4V entre la diode standard et Schottky est significatif pour votre application, mais un courant inverse de l'ordre de 100uA est acceptable.
  • Diode idéale: essayez le LTC4411 ou similaire si le coût n'est pas un problème (seulement 1,75 $, mais plus qu'une diode passive) et un courant inverse de 20uA est acceptable. Reportez-vous à la fiche technique du MSP430 pour la consommation électrique. À 3V (en utilisant une batterie Li-ion plutôt qu'un supercap qui fuit, en supposant que vous souhaitiez peut-être retirer cet appareil mais conserver de la RAM pour une exécution de code de puissance inférieure), vous pouvez avoir un mode d'hibernation de 100na (nano-ampère, .1uA) nécessitant une interruption externe (comme un changement de broche!)

L'autre option consiste à être avare en termes d'alimentation et à utiliser une batterie. Voir cette note d'application de Maxim. Si vous pouvez garder votre MSP430 en mode veille (c.-à-d. Que vous ne vous réveillez qu'en cas de changement de broche, comme une impulsion d'initialisation à 1 fil), vous pouvez en moyenne moins de 1 uA et une pile bouton vous durera dix ans (en théorie). voulez-vous que l'appareil dure?

Kevin Vermeer
la source
La diode idéale sera-t-elle suffisamment rapide pour s'éteindre lors de la transmission de données?
mazurnification
5

Utilisez un condensateur pour stocker l'énergie, connectez l'extrémité négative du condensateur à la terre et connectez une diode Schottky entre la ligne de données et le condensateur. Les diodes Schottky ont une faible chute vers l'avant.

Jason S
la source
5

μ . À 2,2V, ce serait même moins.

Pour alimenter le microcontrôleur à partir du bus, vous n'avez besoin que d'une diode et d'un condensateur. Le condensateur tamponne la tension du bus et la diode empêche un niveau bas sur le bus de décharger le condensateur. Choisissez une diode Schottky pour avoir une chute de tension minimale.

Attention: sale tour à venir!
Cette fille n'a pas besoin de la diode pour alimenter en parasite son microcontrôleur, et même le condensateur ne semble pas être nécessaire. Elle utilise une bobine comme antenne RFID sur un port d'E / S, et la tension aux bornes de la bobine alimente l'appareil via les diodes de serrage.

entrez la description de l'image ici

VDDVDD

Stevenvh
la source
Malheur à toi ...! Si Russel ou Olin voient cet abus de diode à pince ... :-)
Curd
1
@Curd - Russell ou Olin? Comment pensez-vous que je me suis senti quand j'ai vu ça pour la première fois?! :-)
stevenvh
3

De nombreuses notes d'application à 1 fil montrent le circuit standard à l'intérieur de l'esclave: un condensateur entre GND et VCC de la puce interne (dans votre cas, entre GND et VCC de votre CPU). En outre, une diode de blocage de la ligne de données au VCC de la puce interne, pour permettre au condensateur de se remplir lorsque la ligne de données est élevée, mais pour empêcher la puissance de s'écouler du condensateur lorsque la ligne de données est abaissée. Consultez le schéma dans ces notes d'application:

Tant que votre condensateur est suffisamment grand, vous devriez pouvoir faire fonctionner la plupart des microcontrôleurs modernes. Le Texas Instruments MSP430 était le micro à plus faible puissance lors de son introduction. J'ai entendu dire qu'Atmel prétend que ses AVR PicoPower utilisent moins d'énergie que le MSP430. Les micros Microchip XLP utilisent également relativement peu d'énergie.

Vous serez peut-être surpris de voir ce que les gens sympathiques de 1wire.org ont à dire sur la construction de dispositifs à fil esclave 1: http://www.1wire.org/index.html?target=p_142.html&lang=en-us

davidcary
la source
Je suppose que je ferais mieux d'éviter l'expression "1-wire" alors ...
Toby Jaffey
Curieusement, ce que dit cette page 1wire.org est "Ne modifiez PAS cette page. Elle n'est PAS visible par les clients." Je suppose que je ne suis pas un client. À une supposition, "shopfactory" ne sait pas ce qui se passe si leur javascript ne fonctionne pas.
Yann Vernier
1

je

Je suis juste tombé sur ce fil ... La vraie question est de savoir pourquoi vous voulez alimenter votre esclave en parasite. Tous les appareils à 1 fil ne sont pas des appareils parasites, et en général je déconseille de les alimenter de cette façon. C'est un maintien du besoin d'appareils sur PCB où l'ajout d'une seule trace était un problème. Il peut être à l'origine de plusieurs problèmes sur un réseau 1-Wire en fonction de sa conception globale. Bien sûr, cela dépend aussi beaucoup des modèles de bus. qui peut prendre en charge les tractions actives.

Les esclaves 1 fil à microprocesseur ont été correctement exécutés, mais vous devez respecter les spécifications générales de synchronisation 1 fil. ce que la plupart des implémentations que j'ai vues ne le font pas (surtout si c'est pour autre chose qu'un usage personnel). Je serais ravi de parler des détails réels avec qui que ce soit. Cela a été fait avec succès sur un AVR Mega8 16Mhz avec les spécifications de l'appareil appropriées. Le respect des temps de réponse critiques avec quelque chose de plus lent serait un véritable défi et les temps d'interruption de service et les réveils ralentiraient généralement trop le temps de réponse pour répondre aux spécifications.

Il y a plusieurs façons différentes de mettre un micro sur le bus 1-Wire qui ont été faites au cours des dernières années et les micro-esclaves 1-Wire sont un domaine d'intérêt particulier pour moi, donc je peux donner plusieurs idées de conception à toute personne intéressée. Les opcodes (fonctions) ne doivent jamais être conçus de manière ad hoc car ils peuvent facilement causer des problèmes avec d'autres appareils 1-Wire sur un réseau.

Désolé pour le site Web 1-Wire.org, je viens de le garder de ma poche pour les dernières années afin que les gens aient un point de départ pour leurs efforts avec 1-Wire.

Quoi qu'il en soit, si quelqu'un a besoin de problèmes de conception à 1 fil, n'hésitez pas à me contacter directement sur dml (at) sprynet.com ou via [email protected] et j'essaierai de vous aider si je le peux.


la source