PIC18F46J50-I/ML Microchip Technology, PIC18F46J50-I/ML Datasheet - Page 78

IC PIC MCU FLASH 64KB 44-QFN

PIC18F46J50-I/ML

Manufacturer Part Number
PIC18F46J50-I/ML
Description
IC PIC MCU FLASH 64KB 44-QFN
Manufacturer
Microchip Technology
Series
PIC® XLP™ 18Fr
Datasheets

Specifications of PIC18F46J50-I/ML

Program Memory Type
FLASH
Program Memory Size
64KB (32K x 16)
Package / Case
44-QFN
Core Processor
PIC
Core Size
8-Bit
Speed
48MHz
Connectivity
I²C, SPI, UART/USART, USB
Peripherals
Brown-out Detect/Reset, DMA, POR, PWM, WDT
Number Of I /o
34
Ram Size
3.8K x 8
Voltage - Supply (vcc/vdd)
2.15 V ~ 3.6 V
Data Converters
A/D 13x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Processor Series
PIC18F
Core
PIC
Data Bus Width
8 bit
Data Ram Size
3 KB
Interface Type
I2C, SPI
Maximum Clock Frequency
8 MHz
Number Of Timers
2
Operating Supply Voltage
2 V to 3.6 V
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
3rd Party Development Tools
52715-96, 52716-328, 52717-734, 52712-325, EWPIC18
Development Tools By Supplier
PG164130, DV164035, DV244005, DV164005, PG164120, DM183032, DV164136, MA180024, DM183022
Minimum Operating Temperature
- 40 C
On-chip Adc
10 bit, 13 Channel
Package
44QFN EP
Device Core
PIC
Family Name
PIC18
Maximum Speed
48 MHz
A/d Bit Size
10 bit
A/d Channels Available
13
Height
0.88 mm
Length
8 mm
Supply Voltage (max)
3.6 V
Supply Voltage (min)
2.15 V
Width
8 mm
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
AC164322 - MODULE SOCKET MPLAB PM3 28/44QFN
Eeprom Size
-
Lead Free Status / Rohs Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC18F46J50-I/ML
Manufacturer:
Microchip Technology
Quantity:
1 830
Part Number:
PIC18F46J50-I/ML
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
PIC18F46J50 FAMILY
5.3
The data memory in PIC18 devices is implemented as
static RAM. Each register in the data memory has a
12-bit address, allowing up to 4096 bytes of data
memory. The memory space is divided into as many as
16 banks that contain 256 bytes each. The
PIC18F46J50 Family implements all available banks
and provides 3.8 Kbytes of data memory available to
the user. Figure 5-6 provides the data memory
organization for the devices.
The data memory contains Special Function Registers
(SFRs) and General Purpose Registers (GPRs). The
SFRs are used for control and status of the controller
and peripheral functions, while GPRs are used for data
storage and scratchpad operations in the user’s
application. Any read of an unimplemented location will
read as ‘0’s.
The instruction set and architecture allow operations
across all banks. The entire data memory may be
accessed by Direct, Indirect or Indexed Addressing
modes. Addressing modes are discussed later in this
section.
To ensure that commonly used registers (select SFRs
and select GPRs) can be accessed in a single cycle,
PIC18 devices implement an Access Bank. This is a
256-byte memory space that provides fast access to
select SFRs and the lower portion of GPR Bank 0 with-
out using the BSR. Section 5.3.3 “Access Bank”
provides a detailed description of the Access RAM.
5.3.1
All 3.8 Kbytes of the GPRs implemented on the
PIC18F46J50 Family devices can be accessed simul-
taneously by both the microcontroller core and the
Serial Interface Engine (SIE) of the USB module. The
SIE uses a dedicated USB DMA engine to store any
incoming data packets (OUT/SETUP) directly into main
system data memory.
For IN data packets, the SIE can directly read the
contents of general purpose SRAM and use it to create
USB data packets that are sent to the host.
SRAM Bank 4 (400h-4FFh) is unique. In addition to
being accessible by both the microcontroller core and
the USB module, the SIE uses a portion of Bank 4 as
Special Function Registers (SFRs). These SFRs
compose the Buffer Descriptor Table (BDT).
DS39931C-page 78
Note:
Note:
Data Memory Organization
The operation of some aspects of data
memory are changed when the PIC18
extended instruction set is enabled. See
Section 5.6 “Data Memory and the
Extended Instruction Set” for more
information.
USB RAM
IN and OUT are always from the USB
host's perspective.
When the USB module is enabled, the BDT registers
are used to control the behavior of the USB DMA oper-
ation for each of the enabled endpoints. The exact
number of SRAM locations that are used for the BDT
depends on how many endpoints are enabled and what
USB Ping-Pong mode is used. For more details, see
Section 21.3 “USB RAM”.
When the USB module is disabled, these SRAM loca-
tions behave like any other GPR location. When the
USB module is disabled, these locations may be used
for any general purpose.
5.3.2
Large areas of data memory require an efficient
addressing scheme to make rapid access to any
address possible. Ideally, this means that an entire
address does not need to be provided for each read or
write operation. For PIC18 devices, this is accom-
plished with a RAM banking scheme. This divides the
memory space into 16 contiguous banks of 256 bytes.
Depending on the instruction, each location can be
addressed directly by its full 12-bit address, or an 8-bit
low-order address and a 4-bit Bank Pointer.
Most instructions in the PIC18 instruction set make use
of the Bank Pointer, known as the Bank Select Register
(BSR). This SFR holds the 4 MSbs of a location’s
address; the instruction itself includes the 8 LSbs. Only
the four lower bits of the BSR are implemented
(BSR<3:0>). The upper four bits are unused; they will
always read ‘0’ and cannot be written to. The BSR can
be loaded directly by using the MOVLB instruction.
The value of the BSR indicates the bank in data
memory. The 8 bits in the instruction show the location
in the bank and can be thought of as an offset from the
bank’s lower boundary. The relationship between the
BSR’s value and the bank division in data memory is
illustrated in Figure 5-7.
Since, up to 16 registers may share the same low-order
address, the user must always be careful to ensure that
the proper bank is selected before performing a data
read or write. For example, writing what should be
program data to an 8-bit address of F9h while the BSR
is 0Fh, will end up resetting the PC.
While any bank can be selected, only those banks that
are actually implemented can be read or written to.
Writes to unimplemented banks are ignored, while
reads from unimplemented banks will return ‘0’s. Even
so, the STATUS register will still be affected as if the
operation was successful. The data memory map in
Figure 5-6 indicates which banks are implemented.
In the core PIC18 instruction set, only the MOVFF
instruction fully specifies the 12-bit address of the
source and target registers. This instruction ignores the
BSR completely when it executes. All other instructions
include only the low-order address as an operand and
must use either the BSR or the Access Bank to locate
their target registers.
BANK SELECT REGISTER
© 2009 Microchip Technology Inc.

Related parts for PIC18F46J50-I/ML