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 Types Pin Name Description
Power Supply Pins VCC Positive supply voltage input
GND Ground
RST/NMI Reset input and non-maskable interrupt
TEST Test mode input/output
AVSS/AVCC Ground and voltage reference for ADC
DVSS/DVCC Ground and voltage reference for digital circuitry
Input/Output Pins P1.x-P8.x General-purpose I/O pins
Communication Pins UCA0CLK USART module A0 clock input/output
UCA0STE USART module A0 STE input/output
UCA0TXD USART module A0 transmit data output
UCA0RXD USART module A0 receive data input
UCB0CLK SPI module B0 clock input/output
UCB0STE SPI module B0 STE input/output
UCB0SIMO SPI module B0 transmit data output
UCB0SOMI SPI module B0 receive data input
UCB0SDA I2C module B0 data input/output
UCB0SCL I2C module B0 clock input/output
Timers and Counters TA0CCR0-TA0CCR6 Timer A0 capture/compare register 0-6
Timer A0 control register
TB0CCR0-TB0CCR2 Timer B0 capture/compare register 0-2
Timer B0 control register
Analog Pins ADC12CLK ADC12 clock input
ADC12MEM0-ADC12MEM15 ADC12 memory register 0-15
AVREF+ Positive reference voltage input for ADC
AVREF- Negative reference voltage input for ADC
JTAG Pins TCLK Test clock input/output
TDI Test data input
TDO Test data output
Special Function Pins ACLK 32.768 kHz crystal oscillator input
SMCLK System master clock output
RTCCLK Real-time clock input/output
MSP430F169 Pinout

Specifiche

Specification Value
CPU 16-bit RISC
Frequency 8 MHz
Flash memory 16 KB
RAM 2 KB
Standby power 1.1 µA
Active power 330 µA at 1 MHz, 2.2 V
Wake-up time in less than 6 µs
Instruction cycle time 125 ns
Supply voltage 1.8 V to 3.6 V
A/D converter 12-bit
Timer/Counter 2 * 16-bit
Operating Temp -40 to 85 ℃
DMA 3
I2C 1
SPI 2
Peripherals timers, serial ports, I2C
Package 64-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

Preventivo immediato

Instant Quote