SLAZ281AA October   2012  – May 2021 MSP430F5419

 

  1.   1
  2.   2
  3.   3
  4.   4
  5.   5
    1.     6
    2.     7
      1.      8
    3.     9
  6.   10
    1.     11
    2.     12
    3.     13
    4.     14
    5.     15
    6.     16
    7.     17
    8.     18
    9.     19
    10.     20
    11.     21
    12.     22
    13.     23
    14.     24
    15.     25
    16.     26
    17.     27
    18.     28
    19.     29
    20.     30
    21.     31
    22.     32
    23.     33
    24.     34
    25.     35
    26.     36
    27.     37
    28.     38
    29.     39
    30.     40
    31.     41
    32.     42
    33.     43
    34.     44
    35.     45
    36.     46
    37.     47
    38.     48
    39.     49
    40.     50
    41.     51
    42.     52
    43.     53
    44.     54
    45.     55
    46.     56
    47.     57
    48.     58
    49.     59
    50.     60
    51.     61
    52.     62
    53.     63
    54.     64
    55.     65
    56.     66
    57.     67
    58.     68
    59.     69
    60.     70
    61.     71
    62.     72
    63.     73
    64.     74
    65.     75
    66.     76
    67.     77
    68.     78
    69.     79
    70.     80
    71.     81
    72.     82
    73.     83
    74.     84
    75.     85
    76.     86
    77.     87
    78.     88
    79.     89
    80.     90
    81.     91
    82.     92
    83.     93
    84.     94
    85.     95
    86.     96
    87.     97
    88.     98
    89.     99
    90.     100
    91.     101
    92.     102
    93.     103
    94.     104
    95.     105
    96.     106
    97.     107
    98.     108
    99.     109
    100.     110
    101.     111
    102.     112
    103.     113
    104.     114
    105.     115
    106.     116
    107.     117
    108.     118
    109.     119
    110.     120
    111.     121
    112.     122
    113.     123
    114.     124
    115.     125
    116.     126
    117.     127
    118.     128
  7.   129

UCS13

UCS Module

Category

Functional

Function

MODOSC can stop if deactivation time is short

Description

If modules like the FLASH controller (default setting and not configurable) or the ADC12 (configurable) use the MODOSC as clock source and perform a de-activation followed by activation, the MODOSC can become stopped.
This can lead to a non-responsive device that can be released with a PUC (e.g. triggered by WDT) or any higher prioritized reset source.
The FLASH controller is waiting on its clock to perform a programming operation.
The FLASH controller example is as follows:
If two bytes were programmed after each other at dedicated frequencies with a dedicated instruction set, such as the following FLASH write routine:


MOV.W #FWKEY,&FCTL3    ; Unlock the flash
MOV.W #FWKEY + WRT,&FCTL1    ; Enable single byte write
MOVA &fpointer, R14    ; Configure flash destination pointer
MOVA #buffer, R13    ; configure source buffer
MOV.B @R13+, 0(R14)    ; R14 pointing to flash address and CPU operates above 12.5 MHz 
ADDA #0x01, R14\n
MOV.B @R13+, 0(R14)
MOV.W #FWKEY,&FCTL1    ; Clear Write
MOV.W #FWKEY + LOCK,&FCTL1    ; Lock the flash


Then, in this case, the device might be un-responsive due to MODOSC might stop and the FLASH controller is waiting on its clock to perform a programming operation. In this case, the device draws higher current because flash charge pump is enabled as the FLASH controller is in a programming loop.

Workaround

In general, action needs to be taken to prevent MODOSC from a deactivation followed by an activation within 4 MODOSC clock cycles. This will ensure the MODOSC is properly disabled before being re-enabled.
For the FLASH use case above, this can be achieved by polling the BUSY flag located inside FCTL3 after each byte or word during programming.
In addition, no ADC12 sampling should be triggered within 4 MODOSC cycles after flash programming is finished. This can be achieved by disabling the ADC12 trigger during flash programming.