Loading
Note di Apprendimento
Study Reminders
Support
Text Version

MSP430 Sistema di clock e Reset

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Introduzione a Embedded System DesignProfessor Dhananjay V. GadreNetaji Subhas University of Technology, New DelhiLecture - 24MSP430 Clock System e ResetSalve e benvenuto in una nuova sessione per questo corso online su Introduzione a Embedded SystemDesign. Sono il vostro istruttore Dhananjay Gamma. In questa lezione analizzeremo uno degliaspetti più importanti che forma una parte importante dell'ecosistema per un microcontrollore afunzione in modo efficace, ovvero le sorgenti di clock e di reset. Abbiamo visto in una precedente lezione che un microcontrollorerichiede quattro elementi molto importanti orologio, reset, alimentatore e una possibilità didownload di codice nella memoria del microcontrollore.In questa lezione, ci occuperemo delle prime due problematiche, ovvero orologio e reset. Ora, perchéun microcontrollore richiede un orologio? Il motivo è un microcontrollore è un esempio di circuito digitale sincrono. E perché ho usato la parola sincrona che significa che sta andandoad utilizzare un segnale di clock e quindi devo fornire un, un tale segnale. Inoltre, il valore che è la frequenzadi questo segnale di clock determinerà molte cose.La frequenza, più alta la frequenza, maggiore è la performance perché il vostro microcontrolloresarà in grado di eseguire più istruzioni al secondo se la frequenza è elevata, ma arriverà con un prezzo. E il prezzo è che dato che la frequenza è più alta e superiore, la dissipazione di potenzaaumenterà proporzionalmente perché la dissipazione di potenza di un circuito CMOS è direttamente proporzionalealla frequenza di funzionamento.E quindi dobbiamo decidere cosa sia una frequenza ottimale per il funzionamento del microcontrollore aqualsiasi dato momento. Per fortuna, ed era una delle caratteristiche salienti che avevo citatonelle caratteristiche salienti dei microcontrollori, MSP430 offre la possibilità di poter dinamicamentemodificare la frequenza di clock utilizzando un software.Utilizzando il programma utente, l'utente può decidere in qualsiasi punto del tempo di desiderare una frequenzasuperiore per il funzionamento perché la prestazione lo richiede o se non c'è lavoro da fare,non c'è alcun punto di coagulare il microcontrollore ad alta frequenza e, invece, potrebbe essere selezionata un'operazione di frequenzainferiore in modo da conserve di potenza disponibile. Analizziamo quindi le opzioni di clockingdi MSP430. (Fare Slide Time: 02.49)Questo è il diagramma di blocco del modulo di clock, che c'è all'interno di MSP430. Sulla sinistra, tuhai le fonti di clock e a destra di questo diagramma, vedi segnali che derivanoda queste tre fonti. Ci sono tre fonti. Questo è uno di loro. Un orologio VLO internoche si chiama, un oscillatore a base di cristallo esterno e un oscillatore didigitale, controllato digitalmente. Queste sono le fonti e utilizzano una particolare combinazione di queste tre fonti, il modulo di clockMSP430 offre tre segnali, segnali di clock.Si chiama A clock che è l'orologio ausiliario, l'orologio del sistema principale e un orologio del sottosistema. Lasciacivedere cosa fanno questi segnali di clock, che parte del microcontrollore fanno e come la lorofrequenza può essere modificata. (Vedi Slide Time: 03.54)Si tratta di un diagramma di blocco semplificato del modulo di clock come applicabile in serie MSP430G. Voiavete un oscillatore interno molto a bassa frequenza, opera a circa 60 kilohertz, arriveremo ai dettagli. Hai un oscillatore di cristallo a bassa frequenza; l'oscillatore è all'interno del microcontrollore. Il cristallo deve essere collegato a segnali esterni, piedini esterni e a parteche, si ha anche un oscillatore controllato digitalmente.Ci sono tre multiplexer, multiplexer numero 1, numero 2 e numero 3, e ogni multiplexerha due input sostanzialmente. E si può scrivere un software per selezionare una o l'altra originedell'orologio. Una volta che si decide la fonte dell'orologio, può essere ulteriormente diviso con un divisore di clock utilizzandoun'opzione di divisione per 1, 2, 4 o 8, per ricavare tre segnali di clock. E questi tre segnali di clocksono clock ausiliario, orologio master e master clock del sottosistema. Vediamo cosa servono questi segnali di clockper. (Fare Slide Time: 05.09)Così, come ho accennato, le ci sono tre fonti, oscillatore controllato digitalmente, oscillatore di cristalloe oscillatore molto a bassa frequenza all'interno del MSP430.(Fare Slide Time: 05.23)L'oscillatore controllato digitalmente è basato su un oscillatore RC, interno RC, e lasciate che vi dia un circuitomolto semplice che possa illustrare come un circuito RC possa essere fatto usando un cancello di logica come un inverterqui. Questo oscillerà a una certa frequenza determinato dal valore di questa R equesto C. Questo non è da suggerire che il DCO utilizzi questo. Questo è solo un esample.Comunque, l'oscillatore controllato digitale consente di modificare l'operazione di frequenza in questo intervalloda 60 kilohertz a 16 megahertz per una certa tensione di alimentazione. Se la tensione di alimentazione èmodificata, questi numeri, questi limiti superiori e inferiori cambierebbero. Si tratta di un oscillatore RC, controllato RC, come ho accennato, e perché è un oscillatore molto rapido, può iniziare a lavorarein meno di un microsecondo, può essere utilizzato per uscire dalle modalità di funzionamento a basso consumo, siamoandando a considerare le modalità di funzionamento a basso consumo di MSP430 in una successiva lezione, ma questo oscillatore controllato digitaleconsente di passare da modalità a basso consumo in modalità attive di funzionamento.La frequenza DCO, la frequenza di oscillatore controllato digitalmente può essere regolata dal software. Entroscrivendo valori appropriati in vari registri nel programma, è possibile modificare la frequenza. La frequenza di defaultdopo il reset è di 1,1 megahertz. Quindi se non si fa niente e basta resettareil vostro microcontrollore, non è necessario effettuare selezioni, il valore della frequenza DCOsarà di 1,1 megahertz.(Fare Slide Time: 07.28)E questa è la fonte dell'orologio, come vedete questa parte nel diagramma di blocco qui, lato inferiore èevidenziando l'orologio DCO e tutti questi nomi che vedete qui, questi si riferiscono a vari bit invari registri che vedremo molto presto, che consentono di modificare la frequenza dell'oscillatore DCO, oscillatore.Inoltre, si ha un multiplexer qui, come avevamo visto in il diagramma di blocco semplificato, checonsente di selezionare l'orologio SM qui come, come si vede qui, questo segnale va e si alimenta anche al'orologio master. Arriviamo a quella a breve ma così questa è la parte relativa alla sorgente di clock,fonte di clock che è il DCO.(Fare Slide Time: 08.14)Poi, a parte il DCO, abbiamo anche l'oscillatore di cristallo a bassa frequenza. È possibile utilizzare un cristallo di frequenzao superiore, ma per la serie G255 si è limitati ad un oscillatore a bassa frequenzae che è consigliato a 32 kilohertz. E infatti la frequenza esatta è di 32768hertz. Questo è un cristallo usato in orologi in tempo reale e così è molto comunemente disponibile, e questo èa bassa frequenza, utilizzato con per l'oscillatore di cristallo a bassa frequenza, che è all'interno, l'oscillatoreè all'interno del microcontrollore, questo cristallo deve essere collegato a pins esterni X, come abbiamo visto noi.Se avessi un microcontrollore diverso, a parte questo, potresti usare anche un cristallo di frequenzasuperiore. (Vedi Slide Time: 09.13)Ecco la parte evidenziando l'oscillatore di cristallo a bassa frequenza. Questi sono i piedini XIN e XOUTsu cui si, tra i quali si collega un cristallo, questo è il cristallo. E nel caso dinostro attuale microcontrollore MSP430G2553, questo cristallo può essere solo 32768 hertz. Possono essere anche altre frequenze. Ma solo così capita che tu debba ottenere una tale custom custom made.Questo è il cristallo commercialmente disponibile più comune.(Fare Slide Time: 09 :47) La terza fonte di clock è oscillatore molto a bassa frequenza. È anche oscillatore basato su RC interno,e la tipica operazione di frequenza è solo un semplice 12 kilohertz, e si può immaginare che da 16megahertz per il DCO, fino a 12 kilohertz qui, si può davvero cambiare l'operazione di frequenzae quindi cambiare il modo in cui il microcontrollore esegue, funzioni e la quantitàdi potenza che consuma.(Fare Slide Time: 10.22)Ecco la fonte, la sorgente di clock e come vedete alimenta un multiplexer qui.(Fare Slide Time: 10 :36) Ora la domanda è, abbiamo visto qui che abbiamo bisogno di orologio ausiliario, abbiamo bisogno di un sistema principale orologio, e abbiamo bisogno di un orologio di sottosistema.(Fare Slide Time: 10.47)Qual è lo scopo di avere più segnali di clock su un microcontrollore MSP430? E il motivoè l'operazione a bassa frequenza è migliore per la conservazione dell'energia, è anche buona per latimekeeping. L'alta frequenza di clock vi permetterà di reagire agli eventi esterni in breve tempoe quindi che è vantaggioso quando si desidera rispondere rapidamente. E se vuoi un orologiostabile, allora avere un oscillatore a base di cristallo è l'opzione migliore e MSP430 ti permette a tutte letre opzioni.Ti offre un oscillatore basato su RC a bassa frequenza, ti permette un oscillatore a base di cristallo 32.768-kilohertze ti permette un altro oscillatore basato su RC che la cui frequenzapuò essere alterata digitalmente per andare da 60 kilohertz su una estremità a 16 megahertz dall'altra parte, ecosì si potrebbe selezionare che se si desidera avere tempi di risposta veloci. Ed è questo il motivo per cuisono state fornite più fonti e i segnali dell'orologio possono essere ricavati da queste fonti di clock. (Fare Slide Time: 12.01)Quali sono i segnali di cui abbiamo bisogno? Come abbiamo accennato, uno di loro è l'orologio da padrone. Viene utilizzato daCPU. La CPU ha un solo segnale di clock e cioè l'orologio master. Il segnale di clock principale può essere alimentato anchead altre periferie. Come ho accennato, dopo aver resettato l'orologio master predefinito deriva dal DCOcon una frequenza di 1,1 megahertz, ma è possibile selezionare il segnale dell'orologio master in arrivo daoscillatore di cristallo a bassa frequenza, per arrivare da VLO o dal DCO e XT2, cioè di alta frequenzacrystal 2, ma questa opzione non è disponibile sul nostro microcontrollore, questa particolare microcontrolloreparte.(Fare Slide Time: 12 :47) Questa è la parte in cui si sta selezionando l'orologio del sistema master qui, e come si vede, si dispone di un divisoreche consente di dividere ulteriormente la frequenza, si dispone di un multiplexer che consente adi selezionare quale fonte, può essere utilizzata l'origine dell'orologio. Un orologio master può arrivare da qui equesto stesso permette di selezionare il VLO o il cristallo a bassa frequenza e l'altra parte diquesto multiplexer viene alimentato dal DCO. Così l'orologio master può essere ricavato da VLO ocristallo a bassa frequenza o DCO.(Fare Slide Time: 13 :28) Poi l'altro segnale di cui abbiamo bisogno è l'orologio master del sottosistema. Viene distribuito solo aperiferie, questo non viene alimentato alla CPU. Oftentimes è lo stesso dell'orologio master e se al reset,il valore viene dal DCO e la frequenza è di 1,1 megahertz e di nuovo, può essere selezionata dalow - frequency, può essere originata dall'oscillatore di cristallo a bassa frequenza o dall'oscillatore VLOo ovviamente, l'orologio DCO. (Fare Slide Time: 14.04)Ecco la parte relativa all'orologio master del sottosistema.(Fare Slide Time: 14.08)E il terzo è l'orologio ausiliario. Questo è di nuovo, solo distribuito ai periferici e la sorgentedell'orologio ausiliario può essere solo il cristallo a bassa frequenza o l'oscillatore interno a bassa frequenza.Se, ora entrambi questi oscillatori sono oscillatori lenti che significano quando si gira, applicano la potenza a loro,non iniziano ad oscizzare velocemente. Ci vogliono un po' di tempo per costruire e per le oscillazioni tostabilizzate. E per questo, se qualche periferico viene alimentato dall'orologio ausiliario, è necessarioassicurarsi che gli oscillatori si siano stabilizzati.Se l'oscillatore non si è stabilizzato, il microcontrollore non collegerà la sorgente di clock al segnale di clocke quindi alla periferica, e questo vedremo in seguito come possiamo rilevare sel'oscillatore è stabile o meno, e se non è stabile, possiamo aspettare. E perché possiamo aspettare? Poichéla CPU che decide quale orologio deve essere alimentata a quale periferie, la CPU viene alimentata damaster clock e possiamo scegliere l'orologio master per essere dal DCO così può continuare aeseguire, il microcontrollore può continuare a eseguire il programma, ma in quel programma è possibile attendereper questi oscillatori per stabilizzarsi prima di applicare su eventuali periferie.(Fare Slide Time: 15.39)Ecco la selezione per l'orologio ausiliario. Di nuovo, ha un divisore, come si vede si può dividere la sorgente, che è questa o questa da 1, 2, 4 o 8. (Fare Slide Time: 15.51)Ora, nel DCO, a parte la possibilità di variare le frequenze, ha anche quattro frequenzecalibrate e quelle sono 1 megahertz, 8, 12 e 16. E si possono scrivere dei valori in appositi registriper selezionare qualunque frequenza desiderate. Questo è un codice di esempio che due registri, uno disi chiama controllo BCS, l'altro si chiama controllo DCO, scrivendo valori appropriati, questisono fondamentalmente bitmascheri, scrivendo questo in questi due registri si tradurrà in una frequenza DCO di1 megahertz frequenza calibrata. Non 1,1 megahertz, ma abbastanza accurato 1 megahertz frequenza.Ora, a volte e spesso quando si desidera misurare con precisione il tempo, è possibile non volereper utilizzare il DCO, si può voler utilizzare il cristallo a bassa frequenza perché un cristallo è una fonte di frequenzamolto stabile e accurata, nel qual caso si ha la possibilità di selezionare l'oscillatore di cristallo a bassa frequenza. Tradizionalmente, gli oscillatori, gli oscillatori di cristallo ti offrono una grandegamma da 32 kilohertz fino a poche decine di megahertz. (Vedi Slide Time: 17.18)Nella nostra serie MSP430G255 siamo limitati al cristallo 32-kilohertz ed è progettato per dare ala frequenza stampata a 25 gradi centigradi. Nel caso di MSP430, deve essereconnesso tra questi due pin che è XIN e XOUT.(Fare Slide Time: 17.28)Dove si usano i cristalli? Quando si desidera misurare il tempo o quando si desidera misurare le frequenzedegli eventi allora si deve considerare l'utilizzo di un cristallo. Un oscillatore di cristallo richiede anchecondensatori. Qualche capacitanza è già presente sul microcontrollore ma lei, a seconda delle comodità del datasheet del cristallo che si usa, se richiede più capacit,allora può essere collegato alla X, questi due pin XIN e XOUT. Capacitanza extra su questipin come requisito può essere per un particolare cristallo che si sceglie.(Fare Slide Time: 18.12)Ok. Ora che abbiamo visto le fonti di clock e i segnali di clock di cui abbiamo bisogno, eccoi registri che ci permettono di selezionare varie fonti, decidere le loro frequenze, e instradare questesorgenti di clock a un orologio ausiliario o master di clock o master di sottosistema.(Fare Slide Time: 18 :38) Il registro più importante è il registro di controllo DCO, e ha due insiemi di bit. Uno si chiamail bit DCO e questi sono tre qui, e il, hai cinque bit qui, che sono i bit mod. Il bit DCO seleziona una frequenza, frequenze ampie che sono dettate da un altro set dibit, ovvero questi sono questi bit che vedremo nell'altro registro che vedremo brevemente.Questi bit RSEL permettono di passare da 16 kilohertz a 16 mega, 60 kilohertz a 16 megahertz,e all'interno di questo, questi bit vi diranno quale particolare frequenza è possibile operare. Se vuoiavere una selezione di frequenza anche più finente di quanto puoi ottenere con DCO, DCOx, poi devigiocare con i bit MODx. Per le applicazioni introduttive, per applicazioni semplici, non si dispone diper preoccuparsi di questo.(Fare Slide Time: 19.40)Ora, questo è il secondo registro importante, Basic Clock Control Register. Ecco, voglio fare un punto. Vi accorgete che alcuni di questi bit qui, dice, quando dice rw significa che questi bit possono esserescritti a come leggere da? E poi dice, rw, qui dice rw-0 e qui dice rw-0all'interno di una staffa.Questi due si riferiscono a valori diversi da zero a seconda della fonte di reset e lo faremoconsideratelo quando consideriamo il caso di reset, resettare le strutture in MSP430 ma volevo soloportare questo al vostro avviso. In questo registro, registro di controllo dell'orologio di base, non abbiamo questa opzioneperché come ho accennato, non vi offre cristalli ad alta frequenza, è possibile selezionare questa opzione, è disponibile l'opzione onlythis e utilizzando questo è possibile decidere se si desidera che il divisorevoglia utilizzare per l'orologio ausiliario. E questi sono i bit RSEL, questi quattro bit, che decidonointervalli di frequenza più ampi che eseguono l'oscillatore DCO.(Fare Slide Time: 20.59)Poi si ha il Registro di Controllo Clock Basic 2. Qui questo decide se qual è la sorgentedell'orologio master, cioè questi bit, questi due bit decideranno di selezionare il multiplexer,che sta alimentando la sorgente di clock master. Questa volontà, questi due bit decideranno quale tipo didivider si desidera utilizzare per la fonte di clock master.Questo deciderà se si desidera, come si seleziona l'orologio sub - master e si ha soloquesta opzione qui perché questa non è disponibile sul nostro MSP430G2553. E poi questi due bit sarannoconsentono di scegliere il divisore per l'orologio SM. E poi questo bit ti permette se vuoiavere una resistente esterna. Questo non è disponibile sulla nostra serie G2553. (Vedi Slide Time: 22.08)Questo è il terzo registro, Basic Control Register, Clock Control Register 3 e qui haidiversi bit. Ma il bit più importante è questi, che consentono di scegliere quale tipo di cristallo di frequenzasi desidera utilizzare e se si desidera utilizzare capacitanza interna, cosa saràil valore di queste capacitance.(Fare Slide Time: 22 :32) Ora, per impostare la frequenza del DCO, è necessario scrivere nel registro DCO così come il secondo registro, cioè Basic Clock Control Register 1 e suggerisco di passare attraverso questo slideper capire tutte le opzioni.(Fare Slide Time: 22.52)In base ai bit che scrivi in questi registri, vedi, questa fa parte del datasheet che consente di modificare la frequenza da 60 kilohertz a 16 megahertz. Ora vogliamo illustrarela grande flessibilità che MSP430 offre dinamicamente la frequenza di clock e cosastiamo illustrando qui? Mostriamo il nostro piano. (Fare Slide Time: 23 :26) Quello che stiamo facendo è prendere un MSP430. Come sapete che ci sono tre fontiVLO, cristallo di cristallo a bassa frequenza e DCO. Utilizzeremo, selezioniamo l'oscillatore moltoa bassa frequenza per l'orologio master, il che significa che il processore opererà a 12kilohertz ma la frequenza base 12-kilohertz può essere divisa per 1 o 2 o 4 o 12, il che significaselezionando un divisore appropriato, possiamo ridurre l'operazione di frequenza per la CPU. Perchésiamo, sto dicendo che selezioneremo l'orologio master da master clock arriverà daVLO.Quello che vogliamo mostrare è il seguente, vogliamo avere un LED come questo, e infatti stiamo andandoad utilizzare il LED esistente sulla lunetta, ma vogliamo collegare tre interruttori esterni conpull-up resistori, uno in più, qui VCC. E dove sono questi connessi? Dove sono collegati questi tre switch? Sono collegati a P1.3, 1,4 e 1,5. Quindi fatemi scrivere qui, P1.3 pin,P1.4 e P1.5. E noi, come sappiamo, il LED è collegato a P1.7.Cosa faremo, cosa speriamo di ottenere? Che inizieremo l'oscillatore, selezioneremo ilVLO per passare attraverso il multiplexer e forniremo il segnale per l'orologio master, e poi avremoun programma che metterà in funzione continuamente questi tre switch e se uno switch è, se questo switchviene premuto, ad esempio, dividerà la frequenza VLO entro il 1. Se il secondo interruttore èpremuto, lo dividerà per 4, e se il terzo interruttore viene premuto, lo dividerà per 8.E quindi otterrete queste tre frequenze di risultato. Vedi? Se si divide per 1, la fonteè di 12 kilohertz, quindi la frequenza sarà di 12 kilohertz. La frequenza di CPU che ismaster clock frequenza sarà di 12 kilohertz. Se lo dividi per, se scegliete il divario per opzione 4, otterrete 3 kilohertz, e se scegliete i 8, otterrete 1,5 kilohertz.E potete, come sapreste che l'oscillatore, che la CPU sta lavorando a diverse frequenze? Beh, quello che faremo è sbattere questo LED, stiamo lampeggiando questo LEDad una certa velocità che deriva dalla frequenza di clock. Sostanzialmente quello che stiamo dicendo è trasformareil LED acceso per alcuni cicli di clock e spegnere il LED per alcuni cicli di clock.Ora, se la frequenza di funzionamento riduce si vedrà che la durata dell'acceso e offaumenta, cioè la frequenza va giù. E così agendo su, vediamo, P1.3 è, qui si ottieneun orologio 1.5-kilohertz. Qui si ottiene l'orologio 3-kilohertz e qui si ottiene l'orologio 12-kilohertz. Dicorso, siamo ulteriori ritardi usati in modo che il LED sia lampeggiante nella gamma visibile, si puòmake, si può osservare che il LED si accende e si spezza.Non è che si accende e si attiva ad un tasso così alto che è oltre la persistenza della visione.No. Abbiamo scritto il codice nel modo in cui è, si può vedere che si sta girando e spegnendo,ma il tasso di lampeggiamento sarà percettibilmente diverso quando si sceglie queste frequenze di clock.Così lasciateci passare attraverso il codice per capire come funziona. All'inizio vediamo, come di consueto, noiabbiamo incluso il file di intestazione, poi abbiamo definito che metteremo il LED su bit 7,ma un bit 7 non sta dicendo il pin di porta effettivo, il bit 7 è semplicemente un bit di maschera come abbiamo visto. Poi siamomettendo un interruttore a bit 3, bit 4 e bit 5, e questi sono tutti P1.X. Così eccomi qui P1.7, 1,7, 1,3, 1,5.Poi abbiamo una funzione che chiamiamo input di switch, ci arriverò più tardi. Abbiamoun'altra funzione chiamata registro impostazioni per GPIO, arriverò a questo anche. E abbiamo la terza funzione, che si chiama impostazioni di registro per il VLO. (Fare Slide Time: 29:00)E poi abbiamo il programma principale, quindi il programma principale è davvero molto semplice. Che cosa sta facendo? Il, quando si reimposta il sistema, la prima istruzione che viene eseguita è quella di arrestare il timer watchdog. Non vogliamo essere disturbati dal timer watchdog overflow e resettarci,che vedremo nella parte successiva di questa lezione.Poi stiamo chiamando questa subroutine, che sta praticamente selezionando il VLO, e basato sugli interruttori, si va a selezionare una particolare operazione di frequenza, e poi stiamo chiamando un'altra sottoroutinedove stiamo decidendo la direzione dei piedini del microcontrollore. Il pin P1.7deve essere in output pin e gli altri tre pin devono essere pin di input che verranno fatti in questa seconda funzione.E poi abbiamo un loop infinito, mentre 1, e stiamo dicendo di leggere l'interruttore. Quindi vado adeseguire questa funzione in cui sto leggendo, in attesa se si preme uno switch o due èpremuto o tre è premuto. Se viene premuto un particolare interruttore, andrà a cambiare la frequenzafunzionamento dell'oscillatore VLO e tornerà qui, e poi si farà, quindi questa parte diil codice sta semplicemente trainando il LED.Così si altera una volta, torna indietro, aspetta che l'interruttore venga premuto se non viene premuto, vieniindietro, di nuovo alternare il LED. Quindi continui a farlo, il che significa che la maggior parte del tempo seitoggini. Ma dopo ogni toggetto, si va e si sta verificando se l'eventuale interruttore è stato pressato. Se qualche interruttore è stato premuto, si aspetta che venga rilasciato e poi in base a quale interruttoreè stato premuto si sta modificando la frequenza VLO.E così dopo che quando arriverà qui, si vedrà che i cambi di velocità del token LED. Perché?Perché l'orologio della CPU stesso è cambiato e questo è quindi un grande esempio per illustrare comeMSP430 ti offre la stabilità dell'orologio dinamico. Passiamo di nuovo attraverso il codice, interruttore di ingresso.(Fare Slide Time: 31:12)Qui siamo in attesa se si preme uno switch uno, se viene premuto, questo è quello di debounce e quindisi sta selezionando che il divisore VLO dovrebbe essere del 8, quindi si otterrà una frequenza di 1.5kilohertz. Se lo switch due viene premuto, poi lo si debounce di nuovo e seleziona questo divisore in modo che la tua frequenza di CPU a frequenza di clock risultantesia di 3 kilohertz e la terza opzione è, se il terzo interruttoreè premuto, il tuo VLO non sarà diviso, sarà uguale alla frequenza VLO. Pertanto,l'orologio della CPU sarà di 12 kilohertz.Poi questo è molto semplice, gira semplicemente il pin che guida il LED come output e l'altrotre piedini P1.3, 4 e 5 come input. Non fa altro e poi questa seconda funzione,che consente di selezionare vari, selezionare VLO come fonte. Come abbiamo visto in precedenza, è necessariogiocare nel Registro di origine Clock Basic 3 per selezionare l'oscillatore VLO.Ora, come ho accennato, questo è un oscillatore lento, e quindi dopo l'accensione potrebbe non arrivare velocementeattivarsi, e se si passa attraverso il datasheet di MSP430, vi dirà di aspettare un certoquantità di tempo prima di poter aspettarsi che questo orologio funzioni.E il modo di verificare è di resettare un determinato indicatore in questo registro noi, che vedremo nella parte resettata, e girate questo bit a zero e aspettate un po' di tempo, e se questo bit rimane zero chesignifica che l'oscillatore è stabile. Se l'oscillatore non funziona correttamente, il microcontrolloreimposterà nuovamente OFIFG bit. E quindi aspirete in questo loop fino a che questo bit sarà resettato a 0. Se questo bitrimane reimpostato a 0, questo significa che l'oscillatore è stabile.Ora, è possibile effettuare questa impostazione vi permetterà di instradare l'oscillatore VLO come orologio master.Così si stanno facendo quelle due cose. Uno, si sta selezionando VLO per uscire dal primomultiplexer, e poi si sta utilizzando il multiplexer del segnale dell'orologio per selezionare l'orologio master daVLO. (Fare Slide Time: 34:01)E quindi ecco l'implementazione che abbiamo raccolto, come vedete questi sono i tre interruttori uno,due, e tre, questi sono i resistori pull-up e questo LED, il LED utente su P1.7 sfocerà. Quindisuggerisco di aver scaricato questo codice, ricostruirlo e caricarlo nel lunchbox e vederecome questo la velocità di lampeggiamento di questo LED cambia mentre si preme questo o questo o l'altro. La velocitàè abbastanza percettibilmente diversa e questa è la prova che da, il programma può decidere quale può essere l'operazione di frequenzaper la CPU, anche, quella che può essere il funzionamento in frequenza di altre periferie.(Fare Slide Time: 34 :49) Quindi questo è per quanto riguarda l'operazione di frequenza di clock, le sorgenti di clock e i segnali di clock del microcontrollore MSP430, abbiamo coperto questo. Ora andiamo a guardare la parte reimpostata.Ora, perché un microcontrollore richiede reset? È perché un microcontrollore è un circuito logicoe il circuito logico utilizza le infradito e le infradito possono avere valori arbitrari quando la potenza è primaapplicata a loro. E questo può portare a un'operazione non uniforme. E quindi è molto importanteche tutti i registri interni siano inizializzati ad un valore noto quando il sistema è alimentato perla prima volta. E questa è la funzione di reset.Ci sono sostanzialmente due tipi di reset, uno viene chiamato accensione reset e l'altro viene chiamato powerup reset. C'è una bella differenza tra i due. Il reset di accensione avviene, come suggerisce il nome, quando la potenza viene applicata per la prima volta. Ma il potere in chiaro può accadere da altre fontianche.(Fare Slide Time: 35:50)Ora, il reset di accensione viene generato ogni qualvolta si attiva la potenza per la prima volta. Può anche esseregenerato perché c'è un browser. Sfoglia significa che la tensione di alimentazione al microcontrollorenon è stabile. Se si digita al di sotto di un certo valore, reimposterà il, genererà unpower-on reset per il microcontrollore così come se si preme il pin di reset NMI che sarà anchegenererà un reset di accensione signal.Now, quale reimpostazione del sistema? È possibile scoprire qual era la fonte del reset? Erabrownout, era un reset di accensione che sta ribadendo la potenza e su, o era l'utente che premelo switch sul pin RST/NMI? È possibile scoprirlo? Sì, il microcontrollore MSP430 ha i registri, che catturano la sorgente di quel reset. E infatti, in questo segmento, stiamo andando ascrivere codice che mostrerà quali fonti di reset è stato il motivo per cui il sistema è stato resettato.(Fare riferimento Slide Time: 37:04)Power up clear dall'altra, viene generato a causa delle condizioni software. Quindi la differenza principaletra il reset di accensione e il power up clear è che il reset di accensione è dovuto a condizioni esterne. Perché? Si sta spegnendo il dispositivo, quindi genera un reset di accensione ola tensione di alimentazione non è stabile, quindi genera un reset o un utente di quattro eventi potrebbe portare ad un segnale di accensione del segnale in generat