Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8xC196EA microcontroller user's manual.1998.pdf
Скачиваний:
52
Добавлен:
23.08.2013
Размер:
8.29 Mб
Скачать

8XC196EA USER’S MANUAL

4.4CONTROLLING READ ACCESS TO THE INTERNAL ROM

The LOC bit in CCR0 (Figure 4-8) controls read access to the internal ROM. Clear the LOC bit in CCB0 to enable read protection. To allow authorized access for program verification, program a security key into special-purpose memory (locations FF2020–FF202FH). Once a security key is programmed, you must supply a matching key to gain access to the internal ROM. (See Chapter 17, “Using the Test-ROM Routines,” for additional information.)

4-26

MEMORY PARTITIONS

CCR0

no direct access

The chip configuration 0 (CCR0) register controls ROM access, enables or disables the IDLPD #1 and IDLPD #2 instructions and selects the write-control mode. It also contains the bus-control parameters for fetching chip configuration byte 1.

7

 

 

 

 

 

 

 

 

 

 

 

 

0

LOC

1

 

WS1

 

WS0

 

DEMUX

BHE#

 

BW16

 

PD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit

Bit

 

 

 

 

 

Function

 

 

 

Number

Mnemonic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

LOC

Lock Bit

 

 

 

 

 

 

 

 

 

 

 

This bit controls read access to the ROM during normal operation.

 

 

 

0

= read protect

 

 

 

 

 

 

 

 

 

 

1

= no protection

 

 

 

 

 

 

 

 

 

 

Refer to “Controlling Read Access to the Internal ROM” on page 4-26 for

 

 

 

details.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

1

 

To guarantee proper operation, write one to this bit.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5:4

WS1:0

Wait States

 

 

 

 

 

 

 

 

 

 

 

These bits, along with the READY pin, control the number of wait states

 

 

 

that are used for an external fetch of chip configuration byte 1 (CCB1).

 

 

 

WS1 WS0

 

 

 

 

 

 

 

 

 

 

 

0

0

 

zero wait states

 

 

 

 

 

 

 

 

0

1

 

one wait state

 

 

 

 

 

 

 

 

1

0

 

two wait states

 

 

 

 

 

 

 

 

1

1

 

three wait states

 

 

 

 

 

 

 

 

If READY is low when this number is reached, additional wait states are

 

 

 

added until READY is pulled high.

 

 

 

 

 

 

 

 

 

 

 

 

 

3

DEMUX

Select Demultiplexed Bus

 

 

 

 

 

 

 

 

Selects the demultiplexed bus mode for an external fetch of CCB1:

 

 

 

0

= multiplexed — address and data are multiplexed on AD15:0.

 

 

 

 

1

= demultiplexed — data only on AD15:0.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

BHE#

Write-control Mode

 

 

 

 

 

 

 

 

 

 

Selects the write-control mode, which determines the functions of the

 

 

 

BHE#/WRH# and WR#/WRL# pins for external bus cycles:

 

 

 

 

0

= write strobe mode: the BHE#/WRH# pin operates as WRH#, and the

 

 

 

 

WR#/WRL# pin operates as WRL#.

 

 

 

 

 

 

1

= standard write-control mode: the BHE#/WRH# pin operates as

 

 

 

 

BHE#, and the WR#/WRL# pin operates as WR#.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The CCRs are loaded with the contents of the chip configuration bytes (CCBs) after reset. The CCBs reside at addresses FF2018H (CCB0) and FF201AH (CCB1).

Figure 4-8. Chip Configuration 0 (CCR0) Register

4-27

8XC196EA USER’S MANUAL

CCR0 (Continued)

no direct access

The chip configuration 0 (CCR0) register controls ROM access, enables or disables the IDLPD #1 and IDLPD #2 instructions and selects the write-control mode. It also contains the bus-control parameters for fetching chip configuration byte 1.

7

 

 

 

 

 

 

 

 

 

0

LOC

1

 

WS1

WS0

 

DEMUX

BHE#

BW16

 

PD

 

 

 

 

 

 

 

 

 

 

 

Bit

Bit

 

 

 

Function

 

 

 

Number

Mnemonic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

BW16

Buswidth Control

 

 

 

 

 

 

 

 

 

Selects the bus width for an external fetch of CCB1:

 

 

 

 

0 = 8-bit bus

 

 

 

 

 

 

 

 

 

1 = 16-bit bus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

PD

Powerdown Enable

 

 

 

 

 

 

 

 

 

Enables or disables the IDLPD #1 and IDLPD #2 instructions. When

 

 

 

enabled, the IDLPD #1 instruction causes the microcontroller to enter idle

 

 

 

mode and the IDLPD #2 instruction causes the microcontroller to enter

 

 

 

powerdown mode.

 

 

 

 

 

 

 

 

 

0 = disable idle and powerdown modes

 

 

 

 

 

 

1 = enable idle and powerdown modes

 

 

 

 

 

 

If your design uses idle or powerdown mode, set this bit when you

 

 

 

program the CCBs. If it does not, clearing this bit when you program the

 

 

 

CCBs will prevent accidental entry into idle or powerdown mode.

 

 

 

 

(Chapter 14, “Special Operating Modes,” discusses idle and powerdown

 

 

 

modes.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The CCRs are loaded with the contents of the chip configuration bytes (CCBs) after reset. The CCBs reside at addresses FF2018H (CCB0) and FF201AH (CCB1).

Figure 4-8. Chip Configuration 0 (CCR0) Register (Continued)

4-28

MEMORY PARTITIONS

4.5REMAPPING INTERNAL ROM

The 83C196EA has 8 Kbytes of ROM (FF2000–FF3FFFH). The upper 7-Kbyte section (FF2400–FF3FFFH) is used for storing application code and data; the lower 1-Kbyte section (FF2000–FF23FFH) stores boot code, chip configuration bytes (CCBs), and interrupt vectors.

To optimize your application, you may want to make the application data in FF2400–FF3FFFH accessible as near data in page 00H, while still allowing the application code to execute in page FFH. To accomplish this, set the REMAP bit (CCB1.2) when you program the CCBs, and hold EA# high during reset. This combination forces all accesses to FF2000–FF3FFFH to the internal ROM and “shadows” the contents of FF2400–FF3FFFH into page 00H. Mapping the ROM contents into both pages 00H and FFH allows you to access data and constants as near data and near constants in page 00H and execute code in page FFH.

The EA# input controls whether accesses to FF2000–FF3FFFH are directed to internal ROM or an external memory device. When accesses are directed to internal ROM, the REMAP bit (CCB1.2) controls whether the upper 7-Kbyte section (FF2400–FF3FFFH) of internal ROM is mapped into page FFH only or into both pages FFH and 00H. The REMAP bit is loaded from the CCB and the state of EA# is latched upon leaving reset; neither can be changed until the next reset. You can read IRAM_CON (Figure 4-3 on page 4-10) to determine the state of the EA# pin (bit 7 contains the complement of EA#) and read CCR1 (Figure 4-9) to determine the state of the REMAP bit.

NOTE

The EA# input is effective only for accesses to the internal ROM (FF2000– FF3FFFH). For accesses to any other location, the state of EA# is irrelevant. The REMAP bit is effective only for accesses to FF2400–FF3FFFH and only when EA# is inactive. When EA# is active, execution is external and the REMAP bit is ignored.

With EA# active, the REMAP bit (CCB1.2) is ignored. Accesses to FF2400–FF3FFFH are directed to external memory (1F2400–1F3FFFH). Data in this area must be accessed with extended instructions.

With EA# inactive and remapping disabled (CCB1.2 = 0), accesses to FF2400–FF3FFFH are directed to internal ROM (FF2400–FF3FFFH). Data in this area must be accessed with extended instructions.

With EA# inactive and remapping enabled (CCB1.2 = 1), you can access the contents of FF2400– FF3FFFH in two ways:

in internal ROM (FF2400–FF3FFFH) using extended instructions, and

in internal ROM (002400–003FFFH) using nonextended instructions. This makes the far data in FF2000–FF3FFFH accessible as near data.

4-29

8XC196EA USER’S MANUAL

An advantage of remapping ROM is that it makes the data in ROM accessible as near data in internal memory page 00H. The data can then be accessed more quickly with nonextended instructions. An advantage of not remapping ROM is that the corresponding area in memory page 00H is available for storing additional near data.

CCR1

no direct access

The chip configuration 1 (CCR1) register controls the clock failure detection circuitry, deferred mode, and the watchdog timer, selects the 64-Kbyte or 2-Mbyte addressing mode, and controls whether the upper 7-Kbyte section of internal ROM (FF2400–FF3FFFH) is mapped into page FFH only or into both pages FFH and 00H.

7

 

 

 

 

 

 

 

 

 

 

 

0

1

CFD

 

DM

0

 

 

WDD

 

REMAP

MODE64

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit

Bit

 

 

 

 

 

 

Function

 

 

 

Number

Mnemonic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

1

To guarantee proper operation, write one to this bit.

 

 

 

 

 

 

 

 

 

 

6

CFD

Clock-failure Detection

 

 

 

 

 

 

 

 

This bit enables or disables the clock failure detection circuitry.

 

 

 

1

= enables clock-failure detection circuitry

 

 

 

 

 

0

= disables clock-failure detection circuitry

 

 

 

 

 

(See “Clock Failure Detection Logic” on page 2-12.)

 

 

 

 

 

 

 

 

 

 

5

DM

Deferred Mode

 

 

 

 

 

 

 

 

Enables the deferred bus-cycle mode. If the microcontroller is using a

 

 

demultiplexed bus and deferred mode is enabled, a delay of 2t occurs in

 

 

the first bus cycle following a chip-select output change, the first write

 

 

cycle following a read cycle, and the first read cycle following a write

 

 

cycle. (See “Deferred Bus-cycle Mode” on page 15-41.)

 

 

 

0

= deferred bus-cycle mode disabled

 

 

 

 

 

1

= deferred bus-cycle mode enabled

 

 

 

 

 

 

 

4

0

To guarantee proper operation, write zero to this bit.

 

 

 

 

 

 

 

 

 

 

3

WDD

Watchdog Timer Disable

 

 

 

 

 

 

 

 

Selects whether the watchdog timer is always enabled or disabled until

 

 

the first time it is cleared. If this bit is clear, the watchdog is enabled at

 

 

reset, so software must clear the watchdog within 64K state times to

 

 

prevent another reset. If this bit is set, the watchdog is disabled until the

 

 

first time you clear it. (See “Enabling the Watchdog Timer” on page

 

 

 

13-12.)

 

 

 

 

 

 

 

 

 

 

 

0

= always enabled

 

 

 

 

 

 

 

 

1

= disabled at reset; enabled the first time it is cleared

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The CCRs are loaded with the contents of the chip configuration bytes (CCBs) after reset. Locate your CCBs at addresses FF2018H (CCB0) and FF201AH (CCB1).

Figure 4-9. Chip Configuration 1 (CCR1) Register

4-30

MEMORY PARTITIONS

CCR1 (Continued)

no direct access

The chip configuration 1 (CCR1) register controls the clock failure detection circuitry, deferred mode, and the watchdog timer, selects the 64-Kbyte or 2-Mbyte addressing mode, and controls whether the upper 7-Kbyte section of internal ROM (FF2400–FF3FFFH) is mapped into page FFH only or into both pages FFH and 00H.

7

 

 

 

 

 

 

 

 

 

 

0

1

CFD

DM

0

 

 

WDD

 

REMAP

MODE64

 

0

 

 

 

 

 

 

 

 

 

 

 

 

Bit

Bit

 

 

 

 

Function

 

 

 

Number

Mnemonic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

REMAP

Internal ROM Mapping

 

 

 

 

 

 

 

 

The EA# pin controls whether accesses to FF2000–FF3FFFH are

 

 

 

directed to internal ROM or to external memory. When EA# is low

 

 

 

(external execution), REMAP is ignored. When EA# is high (internal

 

 

 

execution), REMAP controls whether the upper 7-Kbyte area (FF2400–

 

 

FF3FFFH) of internal ROM is mapped only into page FFH or into both

 

 

pages FFH and 00H.

 

 

 

 

 

 

 

 

0 = ROM maps to page FFH only

 

 

 

 

 

 

1 = ROM maps to page FFH and page 00H

 

 

 

 

 

(See “Remapping Internal ROM” on page 4-29.)

 

 

 

 

 

 

 

 

 

 

 

 

1

MODE64

Addressing Mode

 

 

 

 

 

 

 

 

Selects 64-Kbyte or 2-Mbyte addressing.

 

 

 

 

 

0 = selects 2-Mbyte addressing

 

 

 

 

 

 

1 = selects 64-Kbyte addressing

 

 

 

 

 

 

In 2-Mbyte mode, code can execute from almost anywhere in the

 

 

 

address space. In 64-Kbyte mode, code can execute only from page

 

 

FFH. (See “Fetching Code and Data in the 2-Mbyte and 64-Kbyte Modes”

 

 

on page 4-31 for more information.)

 

 

 

 

 

 

 

 

0

0

Reserved; for compatibility with future devices, write zero to this bit.

 

 

 

 

 

 

 

 

 

 

 

 

 

The CCRs are loaded with the contents of the chip configuration bytes (CCBs) after reset. Locate your CCBs at addresses FF2018H (CCB0) and FF201AH (CCB1).

Figure 4-9. Chip Configuration 1 (CCR1) Register (Continued)

4.6FETCHING CODE AND DATA IN THE 2-MBYTE AND 64-KBYTE MODES

When the microcontroller leaves reset, the MODE64 bit (CCB1.1) selects the 2-Mbyte or 64Kbyte mode. The mode cannot be changed until the next reset. (Typically, the CCBs are programmed once when our program is compiled and are not changed during normal operation.)

In 64-Kbyte mode, code must execute from page FFH and data must reside in page 00H. In 2- Mbyte mode, code can execute from any page. Data must reside in page 00H for nonextended instructions, but it can reside in any page for extended instructions. In either mode, data and constants that reside in page 00H are called near data and near constants. Data outside page 00H are called far data.

4-31

5

Stack Overflow

Module

Соседние файлы в предмете Электротехника