Timer de résolution 6,25 nanosecondes pour n’importe quel microcontrôleur !

Tout en concevant un remplacement à l’état solide pour un sous-système d’affichage radar vide-tubes-et-TCR, j’étais coincé à obtenir un système adapté à la période entre les impulsions de synchronisation et l’impulsion de l’écho. Les impulsions de synchronisation et écho impulsion étant capturés sur les deux broches de l’Arduino. L’Arduino Due a une horloge MCLK/2 de 42 MHz, ce qui me donnerait une résolution de 23,81 nanosecondes (ns) qui, pour la vitesse de la lumière, se traduirait à 6,86 mètres. J’ai voulu une meilleure résolution.

Après avoir regardé dans les solutions utilisant des oscillateurs à grande vitesse et logiques discrets (compteurs, registres à décalage), FPGA et solutions du plateau des coûts dans la gamme de USD 2 000 /-, j’ai décidé d’examiner la ESP8266 pour une solution à mon problème de synchronisation.

À ma grande joie, j’ai découvert deux fonctions dans l’API de ESP8266 Arduino, à savoir ESP.getCycleCount() et ESP.reset()

ESP.getCycleCount() compte les cycles de l’enseignement depuis le début, dans une variable interne à 32 bits non signée, susceptible de déborder à chaque 28 secondes environ. Une une microseconde période donnera 160 cycles d’instruction. Maintenant pour mesurer le logiciel charge requis par votre logiciel, vous devez uniquement le nombre de cycles instruction que votre routine compte pour 1 microseconde retardent et soustraire 160 de ce chef d’accusation, pour vous donner le logiciel frais généraux en acquérant le comte. 1 retard de microseconde, j’ai eu un comte de 213. Qui a fonctionné à 213-160 = 53 chefs d’accusation (53 x 6.25 = 331,25 nanosecondes) logiciel frais généraux à acquérir le comte. Soustrayant 53 de compter chaque me donne un décompte précis à quelques dizaines de picosecondes, pour des périodes de 30 microsecondes à environ 500 microsecondes.

Articles Liés

UART générique pour n’importe quel microcontrôleur

UART générique pour n’importe quel microcontrôleur

Communiquer avec un micro-contrôleur lors de l'exécution, est très utileinstallation. Il peut être utilisé pour le débogage, ou d'envoyer des commandes etc. L'un des plus simple protocole disponible pour communiquer est UART. Requiere une épingle pou
Contrôle de moteur facile et réversible pour Arduino (ou n’importe quel microcontrôleur)

Contrôle de moteur facile et réversible pour Arduino (ou n’importe quel microcontrôleur)

ce projet utilise seulement trois principaux composants pour fournir un contrôle avant et arrière pour un seul moteur.  Vous pouvez facilement l'interface à un Arduino ou n'importe quel autre microcontrôleur.C'est tellement simple - vous pouvez câble
3 canaux Dimmer/fader pour Arduino ou autre microcontrôleur

3 canaux Dimmer/fader pour Arduino ou autre microcontrôleur

Dans une ancienne version instructable j'ai présenté un simple fader/variateur AC TRIAC qui pourrait être contrôlé avec un Arduino. Dans diverses réactions, que j'ai eu, un certain nombre de gens exprimé leur intérêt pour un fader RGB de 3 canaux. Ma
Comment faire votre propre chargeur de voiture USB pour n’importe quel iPod ou autres dispositifs qui Charge Via USB

Comment faire votre propre chargeur de voiture USB pour n’importe quel iPod ou autres dispositifs qui Charge Via USB

créer un chargeur de voiture USB pour n'importe quel iPod ou tout autre dispositif que frais Via USB par aboutement un adapteur qui génère en sortie 5v et prise USB femelle. La partie la plus importante de ce projet est de s'assurer que la sortie de
Comment obtenir le code hexadécimal pour n’importe quelle couleur sur votre écran

Comment obtenir le code hexadécimal pour n’importe quelle couleur sur votre écran

je vais vous montrer comment faire pour obtenir le code hexadécimal pour n'importe quelle couleur qui affiche votre écran d'ordinateur, de sorte que vous pouvez les utiliser dans des documents HTML et autres trucs informatiques de fantaisie-vannes. É
Ancien mix de santé pour n’importe quel âge

Ancien mix de santé pour n’importe quel âge

Ses un mélange d'anciens santé pour n'importe quel âge en fait dans la maison. Toutes les céréales, Millet et matériaux utilisés sont très sains. Cet aliment à augmenter l'endurance du corps. Nous le donner à mon bébé de 8 mois. La méthode est de pre
Comment faire des textures pour n’importe quel jeu utilisant le moteur Source

Comment faire des textures pour n’importe quel jeu utilisant le moteur Source

ce tutoriel va montrer comment faire une texture de base pour n'importe quel jeu source, tels que ; Half Life 2, Half Life 2: episode 1, Half Life 2: episode 2, Counter-Strike : Source et bien d'autres.Quand j'ai commencé à faire des textures personn
Ventilateur anti brouillard pour n’importe quel masque de paintball

Ventilateur anti brouillard pour n’importe quel masque de paintball

Ventilateur pour n'importe quel masque de paintball et airsof.
Meilleur LED RGB pour n’importe quel projet (WS2812, aka NeoPixels)

Meilleur LED RGB pour n’importe quel projet (WS2812, aka NeoPixels)

Quand nous travaillons en collaboration avec LEDs, nous aimons souvent contrôler leur état (marche/arrêt), la luminosité et la couleur. Il y a beaucoup, beaucoup de différentes façons d'aller à ce sujet, mais aucun n'est qu'une solution comme la WS28
Un porte-gobelet (amovible) pour n’importe quel siège

Un porte-gobelet (amovible) pour n’importe quel siège

La seule chose mieux que se détendre à l'extérieur par une journée chaude est relaxante à l'extérieur par une journée chaude avec une boisson fraîche. Mais que se passe-t-il lorsque vous souhaitez déposer votre boisson ? J'ai souffert trop chagrin de
Housse silicone bricolage pour n’importe quel Smartphone

Housse silicone bricolage pour n’importe quel Smartphone

J'ai récemment acheté un nouveau smartphone, la marque et le modèle est assez rare (Archos 50C Neon).Je cherchais une housse flexible(rubber/silicone) semblable à celui que j'avais pour mon précédent téléphone mais ces couvertures sont avaiable de pr
Modifier un détecteur de fumée 6 EUR pour une utilisation avec microcontrôleur, appeleur automatique, liant et plus

Modifier un détecteur de fumée 6 EUR pour une utilisation avec microcontrôleur, appeleur automatique, liant et plus

dans une maison ou d'affaires, détecteurs de fumée et de feu central systèmes peuvent être essentielles pour sauver des vies et des biens.  Mais qu'en est-il lorsque personne n'est là ?  Grandes entreprises peuvent se permettre des systèmes contrôlés
Quel microcontrôleur pour votre mode électronique ?

Quel microcontrôleur pour votre mode électronique ?

Ce qui la mode manque ? « Microcontrôleurs » je réponds toujours - et c'est vrai ! Il rend vos vêtements tellement plus intéressant, interactif et communicatif, dès que vous y ajoutez quelques renseignement.Mais ceux qui sont sur le marché ?J'ai comm
Assembler votre Vengeurs & détruire avec Loki Armor (Ible fonctionne pour n’importe quel armure costume personnalisé)

Assembler votre Vengeurs & détruire avec Loki Armor (Ible fonctionne pour n’importe quel armure costume personnalisé)

Ok, donc un an ou deux il y a que nous avons fait un tutoriel avec un dremel sur comment faire un master de mousse.Depuis lors, nous avons décidé de l'essayer sur une machine CNC ! Je pense qu'il s'est avéré très bon ! Vous pouvez également consulter