Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ARM PrimeCell synchronous static memory controller technical reference manual.pdf
Источник:
Скачиваний:
19
Добавлен:
23.08.2013
Размер:
1.4 Mб
Скачать

Programmer’s Model

SMBCRx example configurations

Table 3-10 shows some example register configurations for the SMBCRx registers.

Table 3-10 SMBCRx example configurations

 

 

 

 

Synchronous

Synchronous

 

 

Asynchronous

Synchronous

memory in

memory in

 

 

memory in

synchronous

synchronous

 

 

4-beat burst

Bits

Name

asynchronous

read mode,

read mode,

SRAM 4x8-bit

 

 

mode (reset),

asynchronous

asynchronous

 

 

devices

 

 

nonburst mode

writes, 4-beat

writes, 4-beat

 

 

 

 

 

 

 

burst

burst read

 

 

 

 

 

 

31:21

Reserved

0

0

0

0

 

 

 

 

 

 

20

AddrValidWriteEn

0

1

1

1

 

 

 

 

 

 

19:18

BurstLenWrite

00

00

00

00

 

 

 

 

 

 

17

SyncWriteDev

0

0

0

1

 

 

 

 

 

 

16

BMWrite

1

0

0

0

 

 

 

 

 

 

15:13

Reserved

000

000

000

000

 

 

 

 

 

 

12

AddrValidReadEn

0

1

1

1

 

 

 

 

 

 

11:10

BurstLenRead

00

00

00

00

 

 

 

 

 

 

9

SyncReadDev

0

0

1

1

 

 

 

 

 

 

8

BMRead

1

0

1

1

 

 

 

 

 

 

7:6

Reserved

00

00

00

00

 

 

 

 

 

 

5:4

MW

10

10

10

10

 

 

 

 

 

 

3

WP

0

0

0

0

 

 

 

 

 

 

2

WaitEn

0

0

0

0

 

 

 

 

 

 

1

WaitPol

0

0

0

0

 

 

 

 

 

 

0

RBLE

0

0

0

0

 

 

 

 

 

 

3.2.8Bank status registers SMBSR0-7

The eight SMBSRx registers show the status of each memory bank.

3-16

Copyright © 2001. All rights reserved.

ARM DDI 0236A

Programmer’s Model

Table 3-10 on page 3-16 shows the bit assignment of a SMBSRx register.

 

 

 

 

Table 3-11 SMBSRx register bits

 

 

 

 

Bits

Name

Type

Description

 

 

 

 

31:1

Reserved

-

Reserved, do not modify, read as zero, write as zero.

 

 

 

 

0

WaitToutErr

Read/write

External wait timeout error flag, read:

 

 

 

0

= no error (default at reset)

 

 

 

1

= external wait timeout error.

Writing a 1 to this bit clears the write protect error status flag.

Writing a 0 to this bit has no effect.

3.2.9SSMC status register, SSMCSR

The SSMCR register shows the current status of the external wait during an externally waited transfer. Table 3-12 shows the bit assignment of the SSMCR register.

Table 3-12 SSMCSR register bits

Bits

Name

Type

Description

 

 

 

 

31:1

Reserved

-

Reserved, do not modify, read as zero, write as zero.

 

 

 

 

0

WaitStatus

Read

External wait status, read:

 

 

 

0

= SMWAIT deasserted

 

 

 

1

= SMWAIT asserted.

After an externally waited transfer that was terminated early, this bit value can be used to detect when SMWAIT is deasserted. At all other times this bit reads zero.

ARM DDI 0236A

Copyright © 2001. All rights reserved.

3-17

Programmer’s Model

3.2.10SSMC control register, SSMCCR

The SSMCCR register is used to control the SSMC. Settings in this register affect all banks. Table 3-12 on page 3-17 shows the bit assignment of the SSMCCR register.

 

 

 

 

Table 3-13 SSMCCR register bits

 

 

 

 

Bits

Name

Type

Description

 

 

 

 

31:3

Reserved

-

Reserved, do not modify, read as zero, write as zero.

 

 

 

 

2:1

MemClkRatio

Read/write

Used to define the ratio of SMMEMClk to HCLK:

 

 

 

00

= SMMEMCLK = HCLK (default)

 

 

 

01

= SMMEMCLK = HCLK/2

 

 

 

10

= SMMEMCLK = HCLK/3

 

 

 

11

= reserved.

 

 

 

 

0

SMClockEn

Write

SMCLK enable:

 

 

 

0 = clock only active during memory accesses to safe power

 

 

 

1 = clock always running.

 

 

 

 

 

3.2.11Peripheral identification registers, SSMCPeriphID0-3

The SSMCPeriphID0-3 registers are four 8-bit registers, that span address locations 0xFE0-0xFEC. The registers can conceptually be treated as a single 32-bit register. The read-only registers provide the following options of the peripheral:

PartNumber[11:0]

This is used to identify the peripheral. The product code 0x031 is used for the PrimeCell SSMC.

DesignerID[19:12] This is the identification of the designer. ARM Limited is 0x41 (ASCII A).

Revision[23:20]

This is the revision number of the peripheral. The revision number starts from 0 and is revision dependent.

Configuration[31:24]

This is the configuration option of the peripheral. The configuration value is 0.

Figure 3-1 on page 3-19 shows the bit assignment for the SSMCPeriphID0-3 registers.

3-18

Copyright © 2001. All rights reserved.

ARM DDI 0236A

Programmer’s Model

 

 

Revision

 

 

 

Part

Part number 0

Actual register bit

Configuration

number

Designer 1 Designer 0 number 1

assignment

 

 

 

 

 

 

 

 

 

7

0 7

 

4 3

0 7

4 3

0 7

0

 

31

24 23

20 19

16 15

12 11

8 7

0

Conceptual register

 

 

 

 

 

 

 

 

bit assignment

Configuration

Revision

 

Designer

 

Part number

 

number

 

 

 

 

 

 

 

 

 

Figure 3-1 Peripheral identification register bit assignment

The four, 8-bit peripheral identification registers are described in the following sections:

SSMCPeriphID0 register

SSMCPeriphID1 register on page 3-20

SSMCPeriphID2 register on page 3-20

SSMCPeriphID3 register on page 3-20.

SSMCPeriphID0 register

The SSMCPeriphID0 register is hard-coded and the fields within the registers determine the reset value. Table 3-14 shows the bit assignment of the SSMCPeriphID0 register.

 

 

Table 3-14 SSMCPeriphID0 register

 

 

 

Bits

Name

Function

 

 

 

15:8

-

Reserved, read undefined, must read as zeros

 

 

 

7:0

PartNumber0

These bits read back as 0x93

 

 

 

ARM DDI 0236A

Copyright © 2001. All rights reserved.

3-19