beautypg.com

Pmu and audio soft control: quick start, 1 rtc examples, 1 rtc oscillator power-on – Rainbow Electronics AT73C246 User Manual

Page 132: 2 rtc oscillator power-off, 3 rtc domain reset, 4 rtc write operation

background image

132

11050A–PMAAC–07-Apr-10

AT73C246

14. PMU and Audio Soft Control: Quick Start

14.1 RTC Examples

14.1.1

RTC Oscillator POWER-ON

// Set OSC_EN = 1 and OSC_UPDT = 1

TWI_WRITE 0x0C @BACKUP_CTRL

// Wait > 200us.

WAIT 200us

// Set OSC_UPDT = 0

TWI_WRITE 0x04 @BACKUP_CTRL

// Read BACKUP_CTRL to verify OSC_STAT bit. Result = 0x06.

TWI_READ @BACKUP_CTRL

14.1.2

RTC Oscillator POWER-OFF

// Set OSC_EN = 0 and OSC_UPDT = 1

TWI_WRITE 0x08 @BACKUP_CTRL

// Wait 200us

WAIT 200us

// Set OSC_UPDT = 0

TWI_WRITE 0x00 @BACKUP_CTRL

// Read BACKUP_CTRL to verify OSC_STAT bit. Result = 0x00.

TWI_READ @BACKUP_CTRL

14.1.3

RTC Domain RESET

// Set RST_BKUP = 1

TWI_WRITE 0x01 @BACKUP_CTRL

// Wait 200s

WAIT 200us

// Set RST_BKUP = 0

TWI_WRITE 0x00 @BACKUP_CTRL

Note:

Reset of the RTC domain powers off the RTC oscillator.

14.1.4

RTC Write Operation

The following example makes a generic 32-bit write operation into the RTC macro. The 32-bit
data is split into 4 bytes, that are successively sent over the TWI.

unsigned int RTC_DATA;

char DATA0 = (char) (RTC_DATA);

// LSBs

char DATA1 = (char) (RTC_DATA >> 8);

char DATA2 = (char) (RTC_DATA >> 16);

char DATA3 = (char) (RTC_DATA >> 24);

// MSBs

// Select RTC_ADDR = ADDR. ADDR is the RTC macro register to write,

TWI_WRITE ADDR @RTC_ADDR

// Set RTC_DATA0 to RTC_DATA4 registers.

TWI_WRITE DATA0 @RTC_DATA0

TWI_WRITE DATA1 @RTC_DATA1