20.10.2013 Views

General Purpose Chip Select Machine - Freescale

General Purpose Chip Select Machine - Freescale

General Purpose Chip Select Machine - Freescale

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>General</strong> <strong>Purpose</strong> <strong>Chip</strong> <strong>Select</strong> <strong>Machine</strong><br />

<strong>Purpose</strong>:<br />

• This module will discuss the standard chip select generation interface for SRAM, ROM<br />

and basic devices only requiring a chip select.<br />

Objectives:<br />

• To provide you with an understanding of the twelve base and options register pairs to<br />

which addresses are directed when using the general purpose chip select interface of the<br />

memory controller.<br />

Contents:<br />

• This short module covers the memory block section, the basic timing and finishes with a<br />

look at the registers.<br />

Learning Time:<br />

• There are 4 pages and 2 reference pages which will take approximately 8 minutes.<br />

This module covers the standard chip select generation interface for SRAM, ROM and basic<br />

devices only requiring a chip select.<br />

To provide you with an understanding of the twelve base and options register pairs to which<br />

addresses are directed when using the <strong>General</strong> <strong>Purpose</strong> chip select interface of the memory<br />

controller.<br />

This short module covers the memory block section, the basic timing and finishes with a look<br />

at the registers.<br />

There are 4 pages and 2 reference pages which will take approximately 8 minutes.


Memory block selection<br />

Address<br />

BR0<br />

OR0<br />

BRp<br />

ORp<br />

BRq<br />

ORq<br />

BRn<br />

ORn<br />

<br />

<br />

<br />

GPCM<br />

CS-boot<br />

CS-p<br />

CS-q<br />

CS-n<br />

Memory<br />

Boot ROM<br />

Memory p<br />

Memory q<br />

Peripheral n<br />

There are twelve base and options register pairs to which addresses are directed. The base<br />

register defines the start address of a bank and the machine that will control it. The options<br />

register defines the block size, and they both define the access attributes. When a bus cycle<br />

is required, the address is compared to all the register pairs and if it lies between the base<br />

pointer and length defined in the options register, and the base register is valid, the machine<br />

selected will control the transfer.<br />

When the GPCM is selected, the chip select and write enable or output enable signals are<br />

asserted according to the timing specification, controlling the transfer. If there is more than<br />

one bank of memory controlled by the GPCM, then the chip select relating to the base and<br />

options register pair is asserted, defining which of the blocks is accessed.<br />

One important feature is that although most of the base registers are invalid after reset, BR0<br />

is valid, and defaults to a four gigabyte space. After reset, chip select zero can be used to<br />

access the boot ROM. The boot code can be used to modify the range and control of chip<br />

select zero if required, and initialize the rest of the memory controller to suit the system.


Basic Timing<br />

Clock<br />

Address<br />

PSDVAL<br />

CS<br />

OE<br />

Data<br />

This diagram shows the relationship between the input clock and the timing controls. The<br />

address is asserted on the rising edge of the clock and maintained for two clock periods.<br />

The related chip select is asserted during the first half clock cycle. Partial data valid and<br />

output enable asserted after one clock cycle, at the same time as data is driven onto the<br />

bus. The data and control signals are negated after one clock cycle. The timing can be<br />

extended by the use of wait states and relaxed timing, controlled by the options register.


Registers<br />

0 31<br />

BR<br />

Base Register - one for each of 12 memory banks -<br />

Defines the base address and attributes for each memory bank used.<br />

0 31<br />

OR<br />

Options Register - one for each of 12 memory banks and associated with the related BR -<br />

Defines the memory bank size and access attributes.<br />

This and the next page identifies the registers required for use with the GPCM. The base<br />

register determines the start address of the bank and the machine to be used. The<br />

associated option register determines the size of the bank and some of the access<br />

attributes.<br />

If an address generated lies within the boundaries of these two registers and the valid bit is<br />

set in the base register, then the controller defined in the base register will control the<br />

transfer. To view the registers, click on the one of interest. That completes the general<br />

purpose chip select machine section.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!