Microcontrollore MSP430F169

Panoramica di MSP430F169

Il Microcontrollore MSP430F169 è uno dei della famiglia MSP430 di Texas Instruments. Comprende più dispositivi che presentano set distinti di periferiche progettate per diverse applicazioni. L’architettura di questi microcontrollori, insieme a cinque modalità a basso consumo, è stata ottimizzata per ottimizzare la durata estesa della batteria per applicazioni di misurazione portatili. Inoltre, l’oscillatore controllato digitalmente (DCO) consente tempi di riattivazione rapidi di meno di 6 µs dalle modalità a basso consumo alla modalità attiva.

Questi microcontrollori trovano tipiche applicazioni in sistemi di sensori, applicazioni di controllo industriale, misuratori portatili e altri domini simili.

Caratteristiche

  • Basso consumo energetico;
  • Cinque modalità di risparmio energetico;
  • DMA interno a tre canali;
  • Programmazione seriale integrata;
  • Protezione del codice programmabile tramite fusibile di sicurezza;
  • Con rilevatore di sottotensione e bootloader;
  • Monitoraggio della tensione di alimentazione con rilevamento del livello programmabile.

Configurazione dei pin

L’MSP430F169 è effettivamente disponibile sia in versioni a 64 pin che a 100 pin, con diverse configurazioni dei pin per ciascuna.

Per la versione a 64 pin, alcuni pin chiave includono:

Pin TypesPin NameDescription
Power Supply PinsVCCPositive supply voltage input
GNDGround
RST/NMIReset input and non-maskable interrupt
TESTTest mode input/output
AVSS/AVCCGround and voltage reference for ADC
DVSS/DVCCGround and voltage reference for digital circuitry
Input/Output PinsP1.x-P8.xGeneral-purpose I/O pins
Communication PinsUCA0CLKUSART module A0 clock input/output
UCA0STEUSART module A0 STE input/output
UCA0TXDUSART module A0 transmit data output
UCA0RXDUSART module A0 receive data input
UCB0CLKSPI module B0 clock input/output
UCB0STESPI module B0 STE input/output
UCB0SIMOSPI module B0 transmit data output
UCB0SOMISPI module B0 receive data input
UCB0SDAI2C module B0 data input/output
UCB0SCLI2C module B0 clock input/output
Timers and CountersTA0CCR0-TA0CCR6Timer A0 capture/compare register 0-6
Timer A0 control register
TB0CCR0-TB0CCR2Timer B0 capture/compare register 0-2
Timer B0 control register
Analog PinsADC12CLKADC12 clock input
ADC12MEM0-ADC12MEM15ADC12 memory register 0-15
AVREF+Positive reference voltage input for ADC
AVREF-Negative reference voltage input for ADC
JTAG PinsTCLKTest clock input/output
TDITest data input
TDOTest data output
Special Function PinsACLK32.768 kHz crystal oscillator input
SMCLKSystem master clock output
RTCCLKReal-time clock input/output
MSP430F169 Pinout

Specifiche

SpecificationValue
CPU16-bit RISC
Frequency8 MHz
Flash memory16 KB
RAM2 KB
Standby power1.1 µA
Active power330 µA at 1 MHz, 2.2 V
Wake-up timein less than 6 µs
Instruction cycle time125 ns
Supply voltage1.8 V to 3.6 V
A/D converter12-bit
Timer/Counter2 * 16-bit
Operating Temp-40 to 85 ℃
DMA3
I2C1
SPI2
Peripheralstimers, serial ports, I2C
Package64-pin QFP or 64-pin QFN

Sistema di clock di MSP430F169

Il sistema di clock è molto importante per il microcomputer a chip singolo. Il motivo per cui il microcomputer a chip singolo MSP430F169 ha un consumo energetico così basso è perché ha un potente sistema di clock!

Clock Block Diagram MSP430F169

Tre sorgenti di segnale di clock

1. Bassa frequenza LFXT1CLK (32,768 KHz)

È possibile utilizzare un oscillatore a cristallo standard, un oscillatore o una sorgente di clock esterna per inserire 4 MHz ~ 32 MHz. XT1CLK può essere utilizzato come clock di riferimento per il modulo FLL interno.

L’oscillatore a cristallo a bassa frequenza (32,768 KHz) è direttamente collegato al microcomputer a chip singolo tramite i pin XIN e XOUT e non sono necessari altri dispositivi esterni (è presente una capacità di carico di 12 pF all’interno). In questo momento, l’oscillatore LFXT1 funziona in modalità a bassa frequenza (XTS=0).

Se la MCU è collegata a un oscillatore o risonatore bulk ad alta velocità, 0SCOFF=0 può far funzionare l’oscillatore LFXT1 in modalità ad alta frequenza (XTS=1). In questo momento, l’oscillatore o il risonatore a cristallo ad alta velocità è collegato tramite i pin XIN e XOUT ed è richiesto un condensatore esterno. La dimensione del condensatore è selezionata in base alle caratteristiche dell’oscillatore o del risonatore a cristallo.

Se il segnale LFXT1CLK non viene utilizzato come segnale SMCLK o MCIK, il software può impostare OSCOFF=1 per disabilitare il funzionamento di LFXT1, riducendo così il consumo energetico del microcontrollore.

BCSCTL1:

XTS(BIT6)——Selezione della modalità alta/bassa velocità LFXT1. 0: LFXT1 funziona in modalità oscillatore a cristallo a bassa velocità (predefinito); 1: LFXT1 funziona in modalità oscillatore a cristallo ad alta velocità.

2. Alta frequenza XT2CLK (8 MHz)

È possibile utilizzare un oscillatore a cristallo standard, un oscillatore o una sorgente di clock esterna per inserire 4 MHz ~ 32 MHz.

L’oscillatore XT2 genera il segnale di clock XT2CLK e le sue caratteristiche operative sono simili a quelle dell’oscillatore LFXT1 quando funziona in modalità ad alta frequenza. Se XT2CLK non viene utilizzato come segnale di clock MCLK e SMCLK, l’oscillatore XT2 può essere disabilitato con il bit di controllo XT2OFF.

BCSCTL1:

XT2OFF (BIT7) – Controllo dell’oscillatore a cristallo XT2 ad alta velocità. 0: Oscillatore a cristallo XT2 ad alta velocità acceso; 1: Oscillatore a cristallo XT2 ad alta velocità spento.

3. Oscillatore interno DCOCLK (1 MHz)

Stabilizzato dal modulo FLL.

Quando l’oscillatore fallisce, DCO verrà automaticamente selezionato come sorgente di clock per MCLK.

La frequenza dell’oscillatore DCO può essere regolata dal software impostando i bit DCOx. MODx e RSEL.x. Quando il segnale DCOCLK non viene utilizzato come segnale di clock SMCLK e MCLK, il generatore DC può essere disabilitato con il bit di controllo SCGO.

Dopo il segnale PUC, DCOCLK viene automaticamente selezionato come segnale di clock MCLK e la sorgente di clock di MCLK può essere ulteriormente impostata su LFXT1 o XT2 come richiesto. La sequenza di configurazione è la seguente:

  1. Impostare OSCOFF=1;
  2. Impostare OFIFG=0;
  3. Ritardare e attendere almeno 50ps;
  4. Controllare nuovamente OFIFG, se OFIFG=1, ripetere i passaggi (3) e (4) fino a quando OFIFG=0.

DCOCTL:

DCOx (BIT7, BIT6, BIT5)——Selezione della frequenza DCO, è possibile selezionare 8 tipi di frequenze e la frequenza DCOCLK può essere regolata a intervalli. La selezione della frequenza si basa sulla banda di frequenza selezionata da RSELx. La relazione tra DCOx, RSELx e il clock interno è la seguente:

Relationship between DCOx, RSELx and the Internal Clock

MODx (BIT4, BIT3, BIT2, BIT1, BIT0) – Impostazione del modulatore DAC. Il controllo commuta le due frequenze selezionate da DCOx e DCOx+1 per regolare con precisione la frequenza di uscita del DCO. Se la costante DCOx è 7, significa che è stata selezionata la frequenza più alta. A questo punto, MODx non è valido e non può essere utilizzato per la regolazione della frequenza.

BCSCTL1:

RSELx (BIT2, BIT1, BIT0) – la selezione della banda di frequenza dell’oscillatore DCO, questi 3 bit controllano una resistenza interna per determinare la frequenza nominale. 0: Seleziona la frequenza nominale più bassa… 7: Seleziona la frequenza nominale più alta.

BCSCTL2:

DCOR(BIT0)——Seleziona la resistenza dell’oscillatore DCO. 0: resistenza interna; 1: resistenza esterna.

Tre sorgenti di clock

1. Clock ausiliario ACLK

ACLK si ottiene dopo che LFXT1CLK è diviso per 1, 2, 4 e 8. Può essere utilizzato come segnale di clock per ciascun modulo periferico ed è generalmente utilizzato per periferiche a bassa velocità.

BCSCTL1:

DIVAx (BIT5, BIT4)——Selezione della divisione della frequenza ACLK, la relazione di selezione della divisione della frequenza è la seguente:

Frequency Divider for ACLK

Definizione macro: DIVA_0 (divisione della frequenza 1/nessuna divisione della frequenza), DIVA_1 (divisione della frequenza 2), DIVA_2 (divisione della frequenza 4), DIVA_3 (divisione della frequenza 8)

2. Clock principale di sistema MCLK

MCLK può essere ottenuto da LFXT1CLK, XT2CLK e DCOCLK dopo la divisione della frequenza per 1, 2, 4 e 8. È spesso utilizzato per il funzionamento della CPU, l’esecuzione del programma e altri moduli che utilizzano clock ad alta velocità.

BCSCTL2:

SELMx (BIT7, BIT6) – seleziona la sorgente di clock MCLK, la relazione di selezione del clock è la seguente:

Select MCLK Clock Source

Definizione macro: SELM_0 (DCOCLK predefinito), SELM_1 (DCOCLK), SELM_2 (XT2CLK), SELM_3 (LFXT1CLK)

DIVMx (BIT5, BIT4) – Selezione della divisione della frequenza MCLK, la relazione di selezione della divisione della frequenza è la seguente:

Frequency Divider for MCLK

Definizione macro: DIVM_0 (divisione della frequenza 1/nessuna divisione della frequenza), DIVM_1 (divisione della frequenza 2), DIVM_2 (divisione della frequenza 4), DIVM_3 (divisione della frequenza 8)

3. Clock del sottosistema SMCLK

SMCLK può essere ottenuto dividendo XT2CLK e DCOCLK per 1, 2, 4 e 8 ed è spesso utilizzato in moduli periferici ad alta velocità.

BCSCTL2:

SELSx (BIT3) – seleziona la sorgente di clock MCLK, la relazione di selezione del clock è la seguente:

Select SMCLK Clock Source

DIVSx (BIT2, BIT1) – Selezione della divisione della frequenza SMCLK, la relazione di selezione della divisione della frequenza è la seguente:

Frequency Divider for SMCLK

Definizione macro: DIVS_0 (divisione di frequenza 1/nessuna divisione di frequenza), DIVS_1 (divisione di frequenza 2), DIVS_2 (divisione di frequenza 4), DIVS_3 (divisione di frequenza 8)

Condividi con:

Torna in alto

Instant Quote