MAP electronics Cocerto-B Especificações Página 14

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 39
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 13
Usage Notes and Known Design Exceptions to Functional Specifications
www.ti.com
Advisory Analog Subsystem: Potential Race Condition after Executing Analog Subsystem
Functions AnalogClockEnable() or AnalogClockDisable()
Revision(s) Affected 0, A, B
Details The factory functions AnalogClockEnable() and AnalogClockDisable() are provided for
the purpose of configuring the peripheral clocks of the analog modules. When an analog
clock configuration attempt succeeds, the function returns the value of 0.
Due to configuration latencies between the Control Subsystem and Analog Subsystem,
the desired clock configuration will not be effective immediately after the function returns.
A race condition may be encountered if user software attempts to use a module before
the clock configuration is complete.
Further, the factory function InitAnalogSystemClock() expects that the analog clock
configurations are static during execution. If AnalogClockEnable() or
AnalogClockDisable() is executed immediately before InitAnalogSystemClock(), the
initialization sequence may be corrupted because the analog clock configuration is not
static during execution. For such a scenario, the return value of InitAnalogSystemClock()
will not be 0xA005 as expected. If the initialization sequence is corrupted, the device
may require a reset to recover from the error condition.
The AnalogClockEnable() and AnalogClockDisable() functions support back-to-back
executions so a race condition between calls is not possible when these analog clock
configuration functions are executed immediately after each other.
Workaround(s) After executing one or more calls to AnalogClockEnable() or AnalogClockDisable(), flush
the analog clock configuration sequence by executing the factory function
ReadAnalogClockStatus().
The read operation of ReadAnalogClockStatus() is automatically queued behind pending
analog clock configuration updates so its return from execution can be used to
definitively verify that the desired clock configuration sequence has completed.
For example, the following code will enable the ADC module clocks with
AnalogClockEnable() calls, and it will flush the clock configuration operations with
ReadAnalogClockStatus() before resetting the ADC modules:
while((**AnalogClockEnable)(AnalogConfig1,ADC1_ENABLE));
while((**AnalogClockEnable)(AnalogConfig2,ADC2_ENABLE));
(**ReadAnalogClockStatus)(AnalogConfig2);
Adc1Regs.ADCCTL1.bit.RESET = 1;
Adc2Regs.ADCCTL1.bit.RESET = 1;
14
F28M35x Concerto™ MCU Silicon Errata SPRZ357JAugust 2011Revised July 2014
Submit Documentation Feedback
Copyright © 2011–2014, Texas Instruments Incorporated
Vista de página 13
1 2 ... 9 10 11 12 13 14 15 16 17 18 19 ... 38 39

Comentários a estes Manuais

Sem comentários