Wednesday, December 9, 2009

PIC10 Memory Organization

The PIC10 families memory is organized into two parts Program Memory and Data Memory.

PIC10 Program Memory Organization

The PIC10 Program Memory is further divided into two parts User Memory Space and Configuration Memory Space. The User Memory Space extends from 0x000 to 0x0FF for PIC10F200/204/220 and 0x000 to 0x1FF for PIC10F202/206/222. Configuration Memory Space extends from 0x100 to 0x13F for the PIC10F200/204/220 and 0x200 to 0x23F for PIC10F202/206/222.

The User Program Memory Space contains Reset vector is at 0x000. The calibration value for internal clock is written at 0xFF for PIC10F200/204/220 and at 0x1FF for PIC10F202/206/222. This value should not be over written. Rest of User Memory Space is used to write the user program.

The Configuration Memory Space from the start of space of respective PIC10 devices contains:

User ID Location: A space of four locations is provide to store the user identification. The LSB location of four locations of user ID is accessible to the user for user identification code, rest location will filled up with 1's.

Backup OSCCAL Value: This location is not erased during a standard Bulk Erase. This location can be erased or altered by the user by addressing the location of Backup OSCCAL Value. The user is should change the value on his own responsibility and restore it back to this location. The default value of Backup OSCCAL value, is a value stored during testing of the INTOSC.

Configuration Word: The Configuration Word is located at the end of the Configuration Memory Space. This register is only available upon Program mode entry. Once an Increment Address command is issued, the Configuration Word is no longer accessible, regardless of the address of the program counter.

PIC10 Data Memory Organization

Data Memory is composed of registers space or bytes of RAM, hence called as register file. Register file is a place where read and write is possible. The Data Memory has two parts: Special Function Registers(SFR) and General Purpose Registers(GPR). The Special Function Registers are used to control the operations of device, whereas General purpose Registers are used for data and control information.

The typical registers included in Special Function Registers are Program Counter(PCL), STATUS Register, I/O Register(GPIO), Timer Register(TMR0) and File Select Register(FSR). These SFRs used for controlling I/O port configuration and prescaler options.

The General Purpose Registers are used for data and control information under command of the instructions. The General Purpose Register file is accessed, either directly or indirectly, through the File Select Register(FSR).


General Purpose Registers

Special Function Registers

PIC10F200
16
7
PIC10F202
24
8
PIC10F204
16
7
PIC10F206
24
8
PIC10F220
16
9
PIC10F222
23
9

PIC10F200/204

PIC10F202/206

  1. Not a Physical Register
  2. Pic10F204 Only
  3. Reads 00h
  1. Not a Physical Register
  2. Pic10F20 Only.Reads 00h
PIC10F220PIC10F222

  1. Not a Physical Register
  2. Reads 00h

  1. Not a Physical Register

No comments:

Post a Comment