Comment se connecter, écrire un programme et flasher le microcontrôleur ATtiny2313. Tachymètre numérique sur microcontrôleur AVR (ATtiny2313) Dessin dans l'air sur attiny2313

Le circuit présenté ci-dessous constitue la base des expériences avec des moteurs bldc. Pour ceux qui ne sont pas au courant, BLDC est l'un des types de moteurs synchrones utilisés, par exemple, dans les disques durs, les cidirums, les lecteurs de disque, etc. (comme ceux sur la photo de droite).

Vous pouvez lire la théorie de fonctionnement des moteurs synchrones en général, et un peu plus spécifiquement sur BLDC.

Le circuit permet d'organiser la tension triphasée nécessaire pour alimenter les moteurs BLDC à partir d'un moteur monophasé classique (en utilisant la modulation PWM).

Il n'existe aucune capacité particulière pour contrôler le fonctionnement du moteur (à l'aide de capteurs à effet Hall ou en utilisant la force contre-électromotrice des enroulements) dans ce circuit. Nous parlerons plus tard des différentes options pour un tel contrôle, mais ici, je vais essayer de décrire en détail, sur la base de quelles considérations et comment les éléments du schéma de base sont calculés.

Donc le schéma :

Comme vous pouvez le voir, nous aurons besoin de : 1 contrôleur ATtiny2313, 3 commutateurs de terrain FDS4542 appariés (canaux N et P dans un boîtier à huit pattes), 6 transistors bipolaires (j'ai utilisé FMMT2222 - petits transistors bipolaires dans des boîtiers SOT23 marqués 1P) , 3 diodes (j'ai pris LL4148) et un certain nombre de résistances et connecteurs divers. (leurs dénominations seront indiquées ci-dessous).

L'essence du circuit est assez simple - le microcontrôleur contrôle trois canaux de puissance absolument similaires (par conséquent, un seul est représenté dans le schéma), dont chacun possède une paire complémentaire de puissants commutateurs de champ en sortie, formant un demi-pont avec contrôle indépendant des épaules.

C'est-à-dire que chacun des bras peut être allumé et éteint indépendamment de l'autre, ce qui permet d'obtenir trois états différents à la sortie demi-pont : Hi - la sortie demi-pont est connectée à l'alimentation (l'interrupteur de champ supérieur est ouvert, celui du bas est fermé), Lo - la sortie demi-pont est connectée au fil commun (l'interrupteur de champ supérieur est fermé, l'interrupteur de champ inférieur est ouvert) et Z - la sortie demi-pont est déconnectée des deux l'alimentation et le fil commun (les deux interrupteurs de terrain sont fermés).

En principe, vous pouvez également obtenir un quatrième état - lorsque les deux agents de terrain sont ouverts, mais dans ce cas, vous obtiendrez un court-circuit et l'un des agents de terrain s'épuisera tout simplement. Nous considérerons donc un tel État comme interdit et nous devrons le combattre par tous les moyens.

Le circuit fournit une alimentation séparée pour le circuit de commande (+5V) et pour la section de puissance (+12V), donc pour la face supérieure il a fallu découpler les transistors T1, T2. Deux transistors ont été utilisés pour alimenter ce découpleur et rendre ses caractéristiques symétriques, de sorte qu'il puisse non seulement charger rapidement, mais également décharger la grille du commutateur de champ supérieur (c'est-à-dire qu'il est également un pilote).

Le capteur de champ inférieur est contrôlé sans aucun pilote, directement depuis la jambe du microcontrôleur.

Les résistances R7, R8 sont des pull-ups optionnels dont le but est d'empêcher l'ouverture spontanée des commutateurs de terrain au moment où les pattes du microcontrôleur ne sont pas encore configurées pour la sortie et sont dans l'état Z (au démarrage). En conséquence, les valeurs de ces résistances ne sont pas très importantes, elles doivent simplement être bien supérieures aux valeurs des résistances R5 et R6, afin de ne pas gêner le fonctionnement normal du circuit après le démarrage du contrôleur. De plus, comme l'essentiel pour nous est que les deux agents de terrain n'ouvrent pas en même temps (si l'un ouvre, c'est un imbécile), on ne peut laisser que R8. C'est ce que j'ai fait - j'ai pris la valeur de la résistance R8 égale à 10 kOhm et j'ai complètement jeté la résistance R7.

Il convient de noter qu'en plus de la fonction pull-up, R7 peut également remplir la fonction de lutte contre les interférences sur la ligne de commande du transistor T2. Le courant dans cette ligne sera évidemment bien inférieur à celui passant par R5, et si de telles interférences se produisent, la résistance R7 devra être renvoyée (c'est si vous faites votre propre configuration de carte).

Eh bien, comptons. Nous partirons de deux prémisses : 1) les agents de terrain doivent diriger le plus rapidement possible, mais sans fanatisme ; 2) les mathématiques supérieures ne sont pas pour tout le monde (surtout quand on a un oscilloscope et qu'on peut tout vérifier en pratique). A ce propos, je ne me laisserai pas emporter par une précision et une exactitude particulières, mais au moins les calculs nous permettront de nous orienter vers quelque chose.

Commençons par le champ inférieur (canal N). Pour contrôler cet appareil de terrain le plus rapidement possible, nous devons extraire le courant maximum de la jambe du microcontrôleur et en même temps ne pas faire frire cette jambe.

Le courant de crête par jambe n'est pas indiqué dans la documentation de l'ATtiny2313, nous partirons donc des valeurs spécifiées dans les valeurs nominales maximales absolues - 40 mA. Dans ce cas, le courant maximum circulera au tout début de la charge, lorsque la différence de potentiel entre la grille et la jambe du microcontrôleur est maximale. Ainsi, il s'avère que R5 = 5V/40mA = 125 Ohm. La valeur standard supérieure la plus proche est de 150 ohms, mais nous prendrons 200 ohms pour avoir une petite marge. Le courant maximum sera de 5/200=25 mA.

Estimons maintenant le temps de commutation de notre interrupteur de terrain avec une résistance de 200 Ohm dans la grille. Ce temps peut être estimé à l'aide de la formule t=Qg/I, où Qg est la charge totale de la grille (nous la prenons dans la documentation du FDS4542), I est le courant du pilote (nous prendrons le courant de charge maximum calculé pour ne pas faire une petite erreur). On obtient t=28 nK / 25 mA = 1,12 μs.

Pourquoi avons-nous besoin d’un temps de commutation ? Très simple. Lorsque nous écrirons un programme de contrôle, nous devrons tenir compte du fait que les interrupteurs de terrain ne se ferment pas instantanément et introduire des délais entre la fermeture de l'interrupteur de terrain dans un bras et l'ouverture de l'interrupteur de terrain dans l'autre bras, afin de éviter l'apparition de courants traversants (lorsque les interrupteurs de champ dans les deux bras sont légèrement ouverts).

Passons au pilote de terrain du canal P. Ici, la situation est plus simple et nous n’avons pas besoin de charger la jambe du contrôleur, mais nous devons éviter de brûler les transistors bipolaires et la diode.

Les résistances R1 et R3 dans le faisceau du canal P ne sont que des pull-ups à haute résistance et leurs valeurs ne devraient pas trop nous inquiéter, je les ai donc d'abord prises à 10 kOhm (afin que les courants qui les traversent ne puissent pas être pris en compte) et je les ai oubliés.

Les courants de grille sont ici déterminés par les résistances R2 et R4, et le circuit lui-même fonctionne comme suit : lorsque le transistor T2 s'ouvre, le potentiel de base du transistor T1 tombe en dessous du potentiel de son émetteur, T1 se ferme et la porte de champ se décharge à travers le diode et résistance R4 ; lorsque le transistor T2 se bloque, le potentiel de la base du transistor T1 croît plus vite que celui de son émetteur, ce qui entraîne l'ouverture de T1 et une forte charge de la grille à travers R2.

Tout d’abord, parlons de l’accusation. Selon la documentation, le courant traversant le FMMT2222 peut aller jusqu'à 600 mA, et pour le LL4148 - jusqu'à 450 mA pulsé et jusqu'à 150 constant, nous allons donc nous concentrer sur la diode et prendre, disons, 150 mA pour les calculs ( pour que rien ne chauffe trop). Sur cette base, nous obtenons la résistance de la résistance R4 = (12-0,5)V/150mA = 76,6 Ohms. De plus, de la même manière, nous prenons la valeur standard la plus proche supérieure à celle calculée - 100 Ohms. En reconvertissant en courant, nous obtenons I = 115 mA. Eh bien, qu'il en soit ainsi. Dans ce cas, le temps de charge peut être estimé à t = 36 nK / 115 mA = 313 ns.

Pour ne pas trop nous inquiéter, prenons R2 de même valeur que R4, et nous supposerons que l’heure de fermeture sera approximativement la même que l’heure d’ouverture.

Vérifions maintenant dans quelle mesure nous avons correctement choisi R1. Pour que le transistor T1 s'ouvre normalement, le courant de base ne doit pas être plus de h21 fois inférieur au courant du collecteur. Notre courant de collecteur est de 100 mA, h21 (depuis le quai) est d'au moins 35, ce qui signifie que nous avons besoin d'un courant de base d'au moins 2,86 mA. Et nous obtenons 12V/10kOhm = 1,2 mA. Eh bien, prenons R1 = 3,3 kOhm. Dans ce cas, courant de base = 12/3,3 = 3,6 mA. Laissons ça comme ça.

Nous ferons le même calcul pour le transistor T2. Son courant de collecteur est le même que celui de T1, ce qui signifie que le courant de base doit également être d'au moins 2,86 mA. Cela signifie que R6 devrait avoir une valeur inférieure à 5/2,86 = 1,75 kOhm. Prenons une résistance de 1 kOhm avec une réserve.

Le résultat était : R1=3,3 kOhm, R2=R4=100 Ohm, R3=10 kOhm, R5=200 Ohm, R6=1 kOhm, nous avons jeté R7, R8=10 kOhm. Dans ce cas, nous nous attendons à ce que le temps de commutation du commutateur de champ inférieur soit au niveau de 1,12 µs et celui du commutateur de champ supérieur à 313 ns.

Que nous reste-t-il ? Tout d’abord, les condensateurs. C1=C2=20 pF, C3=100 µF, C4=0,1 µF. Lors de la conception de la carte, C3, C4 doivent être situés aussi près que possible des pattes de puissance des touches. Deuxièmement, le schéma ne montre pas complètement le câblage du microcontrôleur. Vous devez connecter le pied MCLR à l'alimentation via une résistance de 1 à 10 kOhm et également placer un condensateur de 0,1 µF entre l'alimentation et le fil commun plus proche des pieds du contrôleur.

Eh bien, assemblons et testons.

Téléchargez la carte au format DipTrace 2.3, démontrant le fonctionnement de l'appareil

De nombreux appareils électroménagers et appareils d'automatisation industrielle des années de production relativement récentes sont équipés de compteurs mécaniques. Il s'agit de produits sur un tapis roulant, de tours de fil dans des bobineuses, etc. En cas de panne, trouver un compteur similaire n'est pas facile, et il est impossible de le réparer faute de pièces de rechange. L'auteur propose de remplacer le compteur mécanique par un compteur électronique. Un compteur électronique, développé pour remplacer un compteur mécanique, s'avère trop complexe s'il est construit sur des microcircuits à faible et moyen degré d'intégration (par exemple, les séries K176, K561). surtout si un compte inversé est nécessaire. Et afin de conserver le résultat lorsque l'alimentation est coupée, il est nécessaire de prévoir une batterie de secours.

Mais vous pouvez construire un compteur sur une seule puce - un microcontrôleur programmable universel qui comprend une variété de périphériques et est capable de résoudre un très large éventail de problèmes. De nombreux microcontrôleurs disposent d'une zone mémoire spéciale - EEPROM. Les données qui y sont écrites (y compris pendant l'exécution du programme), par exemple le résultat de comptage actuel, sont enregistrées même après la mise hors tension.

Le compteur proposé utilise le microcontrôleur Attiny2313 de la famille AVR d'Almel. L'appareil met en œuvre un comptage inversé, affichant le résultat avec annulation des valeurs insignifiantes

ruche sur un indicateur LED à quatre chiffres, stockant le résultat dans l'EEPROM lorsque l'alimentation est coupée. Un comparateur analogique intégré au microcontrôleur est utilisé pour détecter en temps opportun une diminution de la tension d'alimentation. Le compteur mémorise le résultat du comptage lorsque l'alimentation est coupée, le rétablit lorsqu'il est allumé et, comme un compteur mécanique, est équipé d'un bouton de réinitialisation.

Le circuit du compteur est représenté sur la figure. Six lignes du port B (РВ2-РВ7) et cinq lignes du port D (PDO, PD1, PD4-PD6) sont utilisées pour organiser l'indication dynamique du résultat du comptage sur l'indicateur LED HL1. Les charges collectrices des phototransistors VT1 et VT2 sont des résistances intégrées au microcontrôleur et activées par un logiciel qui connecte les broches correspondantes du microcontrôleur à son circuit d'alimentation.

Une augmentation du résultat de comptage N de un se produit au moment où la connexion optique entre la diode électroluminescente VD1 et le phototransistor VT1 est interrompue, ce qui crée une différence de niveau croissante à l'entrée INT0 du microcontrôleur. Dans ce cas, le niveau à l'entrée INT1 doit être faible, c'est-à-dire que le phototransistor VT2 doit être éclairé par la diode électroluminescente VD2. Au moment d'un différentiel croissant à l'entrée INT1 et d'un niveau bas à l'entrée INT0, le résultat diminuera de un. Les autres combinaisons de niveaux et leurs différences aux entrées INT0 et INT1 ne modifient pas le résultat du comptage.

Une fois la valeur maximale de 9999 atteinte, le comptage continue à partir de zéro. Soustraire un de la valeur zéro donne le résultat 9999. Si le compte à rebours n'est pas nécessaire, vous pouvez exclure la diode électroluminescente VD2 et le phototransistor VT2 du compteur et connecter l'entrée INT1 du microcontrôleur au fil commun. Le nombre ne fera qu’augmenter.

Comme déjà mentionné, le détecteur de diminution de la tension d'alimentation est le comparateur analogique intégré au microcontrôleur. Il compare la tension non stabilisée en sortie du redresseur (pont de diodes VD3) avec la tension stabilisée en sortie du stabilisateur intégré DA1. Le programme vérifie cycliquement l'état du comparateur. Après avoir déconnecté le compteur du réseau, la tension sur le condensateur du filtre redresseur C1 chute et la tension stabilisée reste inchangée pendant un certain temps. Les résistances R2-R4 sont sélectionnées comme suit. que l'état du comparateur dans cette situation est inversé. Après avoir détecté cela, le programme parvient à écrire le résultat du comptage actuel dans l'EEPROM du microcontrôleur avant même qu'il ne cesse de fonctionner en raison d'une coupure de courant. La prochaine fois que vous l'allumerez, le programme lira le numéro écrit dans EERROM et l'affichera sur l'indicateur. Le comptage continuera à partir de cette valeur.

En raison du nombre limité de broches du microcontrôleur, pour connecter le bouton SB1, qui réinitialise le compteur, on a utilisé la broche 13, qui sert d'entrée analogique inverseuse du comparateur (AIM) et en même temps d'entrée « numérique » du PB1. Le diviseur de tension (résistances R4, R5) règle ici le niveau perçu par le microcontrôleur comme étant logique haut : lorsque vous appuierez sur le bouton SB1, il deviendra bas. Cela n'affectera pas l'état du comparateur, puisque la tension à l'entrée AIN0 est toujours supérieure à celle à l'entrée AIN1.

Lorsque vous appuyez sur le bouton SB1, le programme affiche un signe moins dans tous les chiffres de l'indicateur et après l'avoir relâché, il commence à compter à partir de zéro. Si vous coupez l'alimentation du compteur pendant que le bouton est enfoncé, le résultat actuel ne sera pas écrit dans l'EEPROM et la valeur qui y est stockée restera la même.

Le programme est conçu de telle manière qu'il peut être facilement adapté à un compteur avec d'autres indicateurs (par exemple, avec des cathodes communes), avec une disposition de circuit imprimé différente, etc. Une légère correction du programme sera également nécessaire lorsque en utilisant un résonateur à quartz pour une fréquence qui diffère de plus de 1 MHz de celle spécifiée.

Lorsque la tension source est de 15 V, mesurez la tension aux broches 12 et 13 du panneau du microcontrôleur par rapport au fil commun (broche 10). Le premier doit être compris entre 4 et 4,5 V et le second doit être supérieur à 3,5 V, mais inférieur au premier. Ensuite, la tension source est progressivement réduite. Lorsqu'elle descend à 9... 10 V, la différence des valeurs de tension aux broches 12 et 13 doit devenir nulle puis changer de signe.

Vous pouvez maintenant installer le microcontrôleur programmé dans le panneau, connecter le transformateur et lui appliquer la tension secteur. Après 1,5...2 s, vous devez appuyer sur le bouton SB1. L'indicateur du compteur affichera le chiffre 0. Si rien n'est affiché sur l'indicateur, vérifiez à nouveau les valeurs de tension aux entrées AIN0.AIN1 du microcontrôleur. Le premier doit être supérieur au second.

Une fois le lancement du compteur réussi, il ne reste plus qu'à vérifier l'exactitude du décompte en ombrageant alternativement les phototransistors avec une plaque opaque aux rayons IR. Pour plus de contraste, il est conseillé de recouvrir les indicateurs d'un filtre en verre organique rouge.

Microcontrôleur AVR 8 bits avec 2 Ko de mémoire Flash programmable par le système

Caractéristiques:

  • Architecture RISC AVR
  • AVR - architecture RISC de haute qualité et faible consommation
    120 instructions, dont la plupart sont exécutées en un seul cycle d'horloge
    32 registres de travail à usage général de 8 bits
    Architecture complètement statique
  • RAM et mémoire non volatile de programmes et de données
    2 Ko de mémoire programme Flash auto-programmable capable de supporter 10 000 cycles d'écriture/effacement
    Mémoire de données EEPROM programmable par le système de 128 octets capable de résister à 100 000 cycles d'écriture/effacement
    128 octets de mémoire SRAM intégrée (RAM statique)
    Protection programmable contre la lecture de la mémoire programme Flash et de la mémoire de données EEPROM
  • Caractéristiques périphériques
    Un minuteur/compteur 8 bits avec pré-échelonneur séparé
    Un temporisateur/compteur 16 bits avec pré-échelonneur séparé, circuit de comparaison, circuit de capture et deux canaux PWM
    Comparateur analogique intégré
    Minuterie de surveillance programmable avec oscillateur intégré
    USI - Interface série universelle
    UART duplex intégral
  • Caractéristiques spéciales du microcontrôleur
    Débogueur debugWIRE intégré
    Programmation dans le système via le port SPI
    Sources d'interruption externes et internes
    Modes basse consommation Idle, Power-down et Standby
    Circuit de réinitialisation à la mise sous tension amélioré
    Circuit de détection de panne de courant programmable
    Générateur calibré intégré
  • Ports E/S et conception du boîtier
    18 lignes d'E/S programmables
    Boîtiers PDIP 20 broches, SOIC 20 broches et MLF 32 broches
  • Plage de tension d'alimentation
    de 1,8 à 5,5V
  • Fréquence de fonctionnement
    0 à 16 MHz
  • Consommation
    Mode actif :
    300 µA à 1 MHz et tension d'alimentation de 1,8 V
    20 µA à 32 kHz et tension d'alimentation de 1,8 V
    Mode basse consommation
    0,5 µA à une tension d'alimentation de 1,8 V

Schéma fonctionnel ATtiny2313 :


Description générale:

ATtiny2313 est un microcontrôleur CMOS 8 bits basse consommation avec architecture AVR RISC. En exécutant les instructions en un seul cycle, l'ATtiny2313 atteint des performances de 1 MIPS à une vitesse d'horloge de 1 MHz, permettant au concepteur d'optimiser le rapport puissance/performance.

Le noyau AVR intègre un riche jeu d'instructions et 32 ​​registres de travail à usage général. Les 32 registres sont directement connectés à l'unité arithmétique et logique (ALU), permettant l'accès à deux registres indépendants tout en exécutant une seule instruction. En conséquence, cette architecture permet des performances dix fois supérieures à celles de l’architecture CISC standard.

ATtiny2313 présente les caractéristiques suivantes : 2 Ko de mémoire de programme programmable Flash, 128 octets de mémoire de données EEPROM, 128 octets de SRAM (RAM statique), 18 lignes d'E/S à usage général, 32 registres de travail à usage général, une interface à un fil pour le module intégré. débogueur, deux minuterie/compteur flexibles avec circuits de comparaison, sources d'interruption internes et externes, USART série programmable, interface série universelle avec détecteur de condition de démarrage, minuterie de surveillance programmable avec oscillateur intégré et trois modes basse consommation initialisés par logiciel. En mode veille, le cœur s'arrête, mais la RAM, les minuteries/compteurs et le système d'interruption continuent de fonctionner. En mode mise hors tension, les registres conservent leurs valeurs, mais le générateur s'arrête, désactivant toutes les fonctions de l'appareil jusqu'à la prochaine interruption ou réinitialisation matérielle. En mode veille, l'oscillateur maître fonctionne pendant que le reste de l'appareil est inactif. Cela permet au microprocesseur de démarrer très rapidement tout en conservant l'alimentation lorsqu'il est inactif.

L'appareil est fabriqué à l'aide de la technologie de mémoire non volatile haute densité d'Atmel. Le Flash ISP intégré vous permet de reprogrammer la mémoire du programme dans le système via une interface série SPI ou avec un programmateur de mémoire non volatile conventionnel. En combinant un cœur RISC 8 bits avec une mémoire Flash autoprogrammée dans une seule puce, l'ATtiny2313 est un microcontrôleur puissant qui offre une plus grande flexibilité au concepteur de systèmes à microprocesseur.

Tachymètre mesure la vitesse de rotation des pièces, mécanismes et autres composants de la voiture. Tachymètre se compose de 2 parties principales : un capteur qui mesure la vitesse de rotation et un écran qui affichera les valeurs. Fondamentalement, le tachymètre est calibré en tours par minute.

Bien sûr, vous pouvez fabriquer vous-même un tel appareil, je suggère un circuit avec un microcontrôleur AVR Attiny2313. Avec un tel microcontrôleur, vous pouvez obtenir 100 à 9990 tr/min. , la précision de la mesure est de +/-3 tours par minute.

Caractéristiques du microcontrôleur ATtiny2313

EEPROM 1 Ko
Entrées analogiques (ADC) 0
Tension d'entrée (limite) 5,5 volts
Tension d'entrée (recommandée) 4,5-5 Volts
RAM 128 octets
Fréquence d'horloge 20 MHz
Mémoire flash 2 Ko

Une résistance d'une valeur nominale de 4,7 kOhm est installée sur la broche 11 ; ne modifiez pas la valeur nominale, sinon le capteur commencera à fonctionner de manière instable lorsqu'il est allumé dans un circuit monofilaire.

Contrairement à d'autres circuits, 4 transistors et 4 résistances ont été utilisés ici, simplifiant ainsi le circuit.

Le circuit comporte 8 segments dans chaque symbole, 5 mA chacun, la quantité totale sera de 40 mA, il n'y a donc pas de charge importante sur les ports. Regardons les graphiques de fonctionnement de l'appareil.

Sur les graphiques, vous pouvez voir que le courant peut atteindre de 60 mA à 80 mA à la sortie de la broche. Pour un réglage précis, vous devez sélectionner des résistances de limitation d'une valeur nominale de 470 ohms.

Le choix de l'affichage n'est pas critique : choisissez n'importe quel indicateur LED à quatre chiffres ou assemblez-le à partir de LED individuelles. Utilisez un indicateur rouge pour que tout soit clairement visible au soleil. Le tachymètre est alimenté en 12 volts.

La résistance à quartz est sélectionnée à une fréquence de 8 MHz pour une mesure précise et stable. Le filtre d'entrée est utilisé pour se connecter à la borne de la bobine d'allumage.

Dans le firmware à la ligne 17, recherchez ce qui suit.

17. #define byBladeCnt 2 //1 - deux bobines, 2 - une bobine, 4 - moto...

Ce paramètre doit être modifié, si vous avez une voiture soviétique, réglez-le sur 2, si vous avez une moto, réglez-le sur 4, et si la voiture a un système d'allumage à deux bobines, réglez-le sur 1.




Caractéristiques:

  • Architecture RISC AVR
  • AVR - architecture RISC de haute qualité et faible consommation
    120 instructions, dont la plupart sont exécutées en un seul cycle d'horloge
    32 registres de travail à usage général de 8 bits
    Architecture complètement statique
  • RAM et mémoire non volatile de programmes et de données
    2 Ko de mémoire programme Flash auto-programmable capable de supporter 10 000 cycles d'écriture/effacement
    Mémoire de données EEPROM programmable par le système de 128 octets capable de résister à 100 000 cycles d'écriture/effacement
    128 octets de mémoire SRAM intégrée (RAM statique)
    Protection programmable contre la lecture de la mémoire programme Flash et de la mémoire de données EEPROM
  • Caractéristiques périphériques
    Un minuteur/compteur 8 bits avec pré-échelonneur séparé
    Un temporisateur/compteur 16 bits avec pré-échelonneur séparé, circuit de comparaison, circuit de capture et deux canaux PWM
    Comparateur analogique intégré
    Minuterie de surveillance programmable avec oscillateur intégré
    USI - Interface série universelle
    UART duplex intégral
  • Caractéristiques spéciales du microcontrôleur
    Débogueur debugWIRE intégré
    Programmation dans le système via le port SPI
    Sources d'interruption externes et internes
    Modes basse consommation Idle, Power-down et Standby
    Circuit de réinitialisation à la mise sous tension amélioré
    Circuit de détection de panne de courant programmable
    Générateur calibré intégré
  • Ports E/S et conception du boîtier
    18 lignes d'E/S programmables
    Boîtiers PDIP 20 broches, SOIC 20 broches et MLF 32 broches
  • Plage de tension d'alimentation
    de 1,8 à 5,5V
  • Fréquence de fonctionnement
    0 à 16 MHz
  • Consommation
    Mode actif :
    300 µA à 1 MHz et tension d'alimentation de 1,8 V
    20 µA à 32 kHz et tension d'alimentation de 1,8 V
    Mode basse consommation
    0,5 µA à une tension d'alimentation de 1,8 V


Description générale:

ATtiny2313 est un microcontrôleur CMOS 8 bits basse consommation avec architecture AVR RISC. En exécutant les instructions en un seul cycle, l'ATtiny2313 atteint des performances de 1 MIPS à une vitesse d'horloge de 1 MHz, permettant au concepteur d'optimiser le rapport puissance/performance.

Le noyau AVR intègre un riche jeu d'instructions et 32 ​​registres de travail à usage général. Les 32 registres sont directement connectés à l'unité arithmétique et logique (ALU), permettant l'accès à deux registres indépendants tout en exécutant une seule instruction. En conséquence, cette architecture permet des performances dix fois supérieures à celles de l’architecture CISC standard.

ATtiny2313 présente les caractéristiques suivantes : 2 Ko de mémoire de programme programmable Flash, 128 octets de mémoire de données EEPROM, 128 octets de SRAM (RAM statique), 18 lignes d'E/S à usage général, 32 registres de travail à usage général, une interface à un fil pour le construit -dans un débogueur, deux minuterie/compteur flexibles avec circuits de comparaison, sources d'interruption internes et externes, USART série programmable, interface série universelle avec détecteur de condition de démarrage, minuterie de surveillance programmable avec oscillateur intégré et trois modes basse consommation initialisés par logiciel. En mode veille, le cœur s'arrête, mais la RAM, les minuteries/compteurs et le système d'interruption continuent de fonctionner. En mode mise hors tension, les registres conservent leurs valeurs, mais le générateur s'arrête, désactivant toutes les fonctions de l'appareil jusqu'à la prochaine interruption ou réinitialisation matérielle. En mode veille, l'oscillateur maître fonctionne pendant que le reste de l'appareil est inactif. Cela permet au microprocesseur de démarrer très rapidement tout en conservant l'alimentation lorsqu'il est inactif.

L'appareil est fabriqué à l'aide de la technologie de mémoire non volatile haute densité d'Atmel. Le Flash ISP intégré vous permet de reprogrammer la mémoire du programme dans le système via une interface série SPI ou avec un programmateur de mémoire non volatile conventionnel. En combinant un cœur RISC 8 bits avec une mémoire Flash autoprogrammée dans une seule puce, l'ATtiny2313 est un microcontrôleur puissant qui offre une plus grande flexibilité au concepteur de systèmes à microprocesseur.

L'ATtiny2313 est pris en charge par une variété de logiciels et d'outils de développement intégrés tels que des compilateurs C, des assembleurs de macros, des débogueurs/simulateurs de logiciels, des émulateurs en circuit et des kits d'évaluation.

gastrogourou 2017