TI MSP430

Le MSP430 est une famille du microcontrôleur de Texas Instruments . Construit autour des 16 - l'unité centrale de traitement du peu , le MSP430 est conçue pour le coût bas, applications incluses par consommation de puissance faible. L'architecture est réminiscente du PDP-11 de DEC. Elle est particulièrement bien adaptée pour le rf sans fil ou les applications à piles.

Le dispositif vient dans une série de configurations comportant les périphériques habituels : oscillateur interne, temporisateur comprenant le PWM , chien de garde , USART , SPI , I2C , 10/12/14/de de 16 bits CDA et circuits de remise d'arrêt partiel. Quelques options périphériques moins habituelles incluent les comparateurs (qui peuvent être employés avec les temporisateurs pour faire le CDA simple), le de sur-morceau op-ampères pour le traitement de signal, le DAC de 12 bits, le conducteur de l'affichage à cristaux liquides , le multiplicateur de matériel, et le DMA pour des résultats de CDA. Indépendamment d'un certain plus ancien EPROM (PMS430E3xx) et des versions à fort débit de ROM (MSP430Cxxx) de masque de , tous les dispositifs sont le dans-système programmable de par l'intermédiaire du JTAG ou établis dans le chargeur-amorce (BSL) using le RS-232 .

Le MSP430 est un choix populaire pour de bas dispositifs de mesure de puissance. Le courant dessiné en mode inactivité peut être moins de 1 le microampère . La vitesse d'unité centrale de traitement de dessus est de 16 mégahertz. Elle peut être étranglée en arrière pour la consommation de puissance faible. Noter que le mégahertz n'est pas équivalent aux MIPS , et il y a des architectures plus efficaces qui obtiennent des taux plus élevés de MIPS à des fréquences du signal d'horloge inférieures d'unité centrale de traitement, qui peuvent avoir comme conséquence la puissance d'énergie dynamique inférieure pour une quantité équivalente de traitement.

Il y a, cependant, des limitations qui l'empêchent d'être employée dans des systèmes inclus plus complexes. Le MSP430 n'a pas un autobus externe de mémoire, est ainsi le sur-morceau limité RAM de la mémoire (flash de jusqu'à 120 KBs et 10 KBs) qui pourrait être trop petit pour les applications qui exigent de grands amortisseurs ou tables de données.

UNITÉ CENTRALE DE TRAITEMENT MSP430

L'unité centrale de traitement MSP430 emploie une architecture de Von Neumann de , avec un espace d'adressage simple pour des instructions et des données. La mémoire est le byte - adressé, et les paires de bytes sont le combiné Petit-endian pour faire les mots de 16 bits

Le processeur contient 16 registres de 16 bits. Le R0 est le compteur de programme , R1 est l'indicateur de pile , R2 est le registre de statut de , et R3 est un registre spécial appelé le générateur constant de , permettant d'accéder à 6 valeurs constantes utilisées généralement sans exiger un opérande additionnel. R4 par R15 sont disponibles pour l'usage général.

L'ensemble d'instruction est très simple ; il y a 27 instructions dans trois familles. La plupart des instructions sont disponibles dans des versions à 8 bits (byte) et de 16 bits (de mot), selon la valeur d'un peu de B/W - le peu est placé à 1 pour à 8 bits et à 0 pour de 16 bits. Les opérations de byte à la mémoire affectent seulement le byte adressé, alors que les opérations de byte aux registres dégagent le byte le plus significatif.

Espace d'adressage MSP430

La disposition générale de l'espace d'adressage MSP430 est : < ! -- Oui, je sais les Doc.s du TI indiquent que SFRs vont à 0x10. Ceci reflète la réalité mieux. --> ; 0x0000-0x0007 : La fonction spéciale de processeur s'enregistre (les compteurs d'instruction d'interruption) ; 0x0008-0x00FF : périphériques à 8 bits. Ceux-ci doivent être accédés using les charges et les magasins à 8 bits. ; 0x0100-0x01FF : périphériques de 16 bits. Ceux-ci doivent être accédés using les charges et les magasins de 16 bits. ; 0x0200-0x09FF : Jusqu'à 2048 bytes de RAM . ; 0x0C00-0x0FFF : 1024 bytes de ROM de chargeur-amorce (pièces instantanées de ROM seulement). ; 0x1000-0x1100 : 256 bytes de ROM (pièces instantanées d'instantané de de données de ROM seulement). ; 0x1100-0x38FF : RAM prolongé sur des modèles avec plus de 2048 bytes de RAM. (0x1100-0x18FF est une copie de 0x0200-0x09FF) ; 0x1100-0xFFFF : Jusqu'à 60 kilo-octets de ROM de programme. Un plus petit début de ROM à des adresses plus élevées. Les 16 derniers ou 32 bytes sont les vecteurs d'interruption

Quelques modèles incluent plus de 2048 bytes de RAM ; dans ce cas le RAM commence à 0x1100. Les 2048 premiers bytes (0x1100-0x18FF) est reflétés à 0x0200-0x09FF pour la compatibilité. En outre, quelques modèles récents plient les règles périphériques à 8 bits et de 16 bits, permettant l'accès de 16 bits aux périphériques dans la plage d'adresses périphérique à 8 bits.

Il y a une nouvelle version prolongée de l'architecture (appelée le MSP430X) qui permet un espace d'adressage de de 20 bits . Il permet le commencement additionnel de ROM de programme à 0x10000.

Familles MSP430

Il y a quatre familles générales des processeurs MSP430. Par ordre de développement, ils étaient 'la famille 3xx, 'la famille 1xx, 'la famille 4xx, et 'la famille 2xx. Le chiffre après que le famille identifie le modèle (des numéros de type généralement plus élevés sont plus grands et plus capables), le troisième chiffre identifie la quantité de mémoire à bord, et le quart, si présent, identifie une variante modèle mineure. La variation la plus commune est un convertisseur analogique-numérique différent de sur-morceau.

; MSP430x1xx : C'est la famille de base sans contrôleur incorporé de l'affichage à cristaux liquides . Ils sont généralement plus petits que 'le famille 3xx. ; MSP430F2xx : Ce sont semblables 'au famille 1xx, mais fonctionnent encore à la puissance faible, soutiennent l'opération de jusqu'à 16 mégahertz (tous autres familles sont limités à 8 mégahertz), et ont (+-2%) une horloge plus précise de sur-morceau qui le facilite pour utiliser sans cristal externe. ; MSP430x3xx : C'est la famille la plus âgée, conçue pour l'instrumentation portative avec un contrôleur incorporé d'affichage à cristaux liquides. Ceci inclut également un oscillateur Fréquence-verrouillé de la boucle qui peut automatiquement synchroniser à un cristal (32 kilohertz) à vitesse réduite. Ce famille ne soutient pas la mémoire du EEPROM , seulement ROM et programmable UV-eraseable et jetable EPROM de masque. De plus défuntes familles fournissent des options instantanées seulement de ROM et de ROM de masque de . ; MSP430x4xx : Ce sont semblables 'à la famille 3xx, et incluent également un contrôleur d'affichage à cristaux liquides, mais sont plus grands et plus capables, et viennent dans le masque ou les versions instantanées de ROM.

Périphériques

Les périphériques MSP430 sont généralement faciles à utiliser, avec (la plupart du temps) à adresses conformées entre les modèles, et aucuns registres écriture seulement.

Ports d'usage universel d'entrée-sortie 0-10

De même que standard sur des microcontrôleurs, la plupart des goupilles se relient à un périphérique plus spécialisé, mais si ce périphérique n'est pas nécessaire, la goupille peut être utilisée pour l'entrée-sortie d'usage universel. Les goupilles sont divisées en groupes à 8 bits appelés le " ; ports" ; , qui est commandé par un certain nombre de registres à 8 bits.

La famille MSP430 définit 11 ports d'entrée-sortie, P0 par P10, bien qu'aucun morceau ne mette en application plus de 10 d'entre eux. P0 est seulement mis en application sur 'la famille 3xx. P7 par P10 sont seulement mis en application sur les plus grands membres 'du famille 4xx.

; de P X DANS : Entrée gauche du X . C'est un registre inaltérable, et reflète l'état actuel de la goupille. ; X de P DEHORS : Rendement gauche du X . Les valeurs écrites à ce registre lecture/écriture sont chassées les goupilles correspondantes quand elles sont configurées pour produire. ; X DIR de P : Direction gauche de données du X . Le peu écrit en tant que 1 configure la goupille correspondante pour le rendement. Le peu écrit en tant que 0 configure la goupille pour l'entrée. ; X SEL de P : Fonction gauche du X choisie. Le peu écrit en tant que 1 configure la goupille correspondante à l'usage du périphérique spécialisé. Le peu écrit en tant que 0 configure la goupille pour l'entrée-sortie d'usage universel. Le port 0 ('pièces 3xx seulement) n'est pas multiplexé avec d'autres périphériques et n'a pas un registre de P0SEL. ; X REN de P : La résistance gauche du X permettent ('2xx seulement). Le peu place dans ce registre permet le pull-up faible ou les résistances déroulantes sur les goupilles correspondantes d'entrée-sortie même lorsqu'ils sont configurés comme entrées. La direction de la traction est placée par le peu écrit au X de P DEHORS s'enregistrent. ; IES du X de P : Bord gauche d'interruption du X choisi (ports 0-2 seulement). Choisit le bord qui causera le peu du X IFG de P d'être placé. Quand le peu d'entrée change d'assortir l'IES du X de P énoncer à ne pas l'assortir (c. toutes les fois qu'un peu dans d'IES XOR P de X de P X DANS les changements de l'espace libre à l'ensemble), le peu correspondant du X IFG de P est placé. ; X IFG de P : Drapeau d'interruption gauche du X (ports 0-2 seulement). Placer toutes les fois que la goupille correspondante apporte la modification d'état demandée par l'IES du X de P. Peut être dégagé seulement par le logiciel. (Peut également être placé par le logiciel.) ; IE du X de P : L'interruption gauche du X permettent (des ports 0-2 seulement). Quand ce peu et le peu correspondant du X IFG de P est deux ensemble, une interruption est produite.

Noter que quelques goupilles ont des buts spéciaux comme entrées ou sorties. (Par exemple, des goupilles de temporisateur peuvent être configurées comme entrées de capture ou sorties de PWM.) Dans ce cas-ci, les commandes de peu du X DIR de P que des deux fonctions la goupille effectue même lorsque le peu du X SEL de P est placé. S'il y a seulement une fonction spéciale, alors le X DIR de P est généralement ignoré.

Le de P X DANS le registre est encore lisible si le peu du X SEL de P est placé, mais la génération d'interruption est handicapée. Si le X SEL de P est clair, l'entrée de fonction spéciale est gelée et démontée de la goupille externe. En outre, la configuration d'une goupille pour le rendement d'usage universel fait la génération d'interruption de débronchement du pas .

Multiplicateur de matériel

Les modèles un certain MSP430 incluent un périphérique mémoire-tracé de multiplicateur de matériel qui exécute divers 16×16+32→33-bit multiplier-accumule des opérations.

Exceptionnellement pour le MSP430, ce périphérique inclut un registre écriture seulement implicite de 2 bits, qui le rend effectivement impossible au commutateur de contexte de .

Les 8 registres utilisés sont :

Instruments de développement

Texas Instruments fournit les instruments de développement de logiciel qui peuvent être téléchargés pour libre. Ti-a fourni le toolchain est une édition de démarrer du compilateur du IAR C/C++, qui est limité à 4K de code de C/C++ dans le compilateur et le programme de mise au point (des programmes langage d'assemblage de n'importe quelle taille peuvent être développés et mis au point avec ce toolchain libre). Le TI fournit également un environnement de propriété industrielle - coder les bases de compositeur pour lesquelles la version de démarrer peut être téléchargée pour libre. La communauté de source ouverte produit une panoplie d'outils librement disponible de développement de logiciel (MSPGCC) basée sur la panoplie d'outils de GNU de , bien que la taille et la vitesse de code d'objet ne soient pas aussi optimales que les résultats d'un compilateur commercial. Les panoplies d'outils commerciales en outre diverses de développement, qui incluent le rédacteur, compilateur, éditeur de liens, l'assembleur, programme de mise au point et dans des cas simples codent des magiciens, sont disponibles. Le VisSim , une langue de schéma fonctionnel pour le développement basé modèle, peut produire du C-Code efficace de point fixe directement du diagramme. Par l'utilisation intelligente des fonctions intégrées d'interruption, VisSim produit des programmes de contrôle très efficaces qui peuvent accéder à I2C, à CDA, à PWM etc., dans une boucle d'avertissement et une utilisation moins que le RAM de l'instantané 1K et de 128 bytes.

Plates-formes de développement

Le MSP430 a produit de l'excitation avec la disponibilité des plates-formes peu coûteuses de développement. À un coût de $20 USD, le TI a empaqueté un programmeur de bâton d'USB, le eZ430-F2013 , contenant un MSP430F2013 sur un conseil détachable de prototypage, et le CD avec le logiciel de développement. C'est utile pour des écoles, des amateurs et des inventeurs de garage. Il est également bien accueilli par des ingénieurs dans de grands projets de prototypage de compagnies avec des problèmes de budget d'investissement.

Une autre chose intéressante au sujet du MSP430F2013 et de ses enfants de mêmes parents est que c'est la seule partie MSP430 qui est disponible dans un boîtier à double rangée de connexions (IMMERSION) de . D'autres variantes dans cette famille sont seulement disponibles dans divers surface-montent des paquets. Il est clair que le TI soit allé à un certain ennui soutenir la plate-forme du développement eZ430 en rendant les morceaux crus facilement prototypable par des amateurs.

Interface d'élimination des imperfections

En commun avec d'autres fournisseurs de microcontrôleur, le TI a développé une interface à deux fils d'élimination des imperfections trouvée sur toutes leurs pièces MSP430 qui remplace l'interface plus grande de JTAG. L'instrument de développement eZ430 contient un plein outil instantané USB-relié d'émulation (" ; FET" ;) pour ce nouveau protocole à deux fils, appelé " ; Espion-Bi-Wire" ; par TI. L'Espion-Bi-Fil est actuellement seulement disponible sur les dispositifs MSP430F20xx, MSP430F22x2, et MSP430F22x2.

L'avantage du protocole du l'Espion-Bi-Fil est qu'il emploie seulement deux lignes de communication, une dont est la ligne consacrée de _RESET. L'interface de JTAG sur les pièces inférieures du compte de goupille MSP430 est multiplexée avec les lignes d'usage universel d'entrée-sortie. Ceci le rend relativement difficile de corriger des circuits établis autour du petit, morceaux de low-I/O-budget, puisque le plein 4 matériel de la goupille JTAG sera en conflit avec toute autre chose reliés à ces lignes d'entrée-sortie. Ce problème est allégé avec les morceaux Espion-Bi-Fil-capables, qui sont encore compatibles avec l'interface normale de JTAG pour ascendant la compatibilité avec les vieux instruments de développement.

Random links:Comté de maçon, Michigan | Mack le couteau | Fourteener | Neige de ressort | Edouard Cahn | TI_MSP430