![FTDI FT51A Application Note Download Page 13](http://html1.mh-extra.com/html/ftdi/ft51a/ft51a_application-note_2341158013.webp)
Application Note
AN_289 FT51A Programming Guide
Version 1.0
Document Reference No.: FT_000962 Clearance No.: FTDI# 483
12
Copyright © 2015 Future Technology Devices International Limited
2.2
Device Control Registers
These registers control and provide status on the FT51A device. They are collectively referred to as
the ‘top-level’ registers.
Address
Register Name
Description
0x00
Device Control Registers
0x01
System Clock Divider
0x02
USB Top-Level Control Register
0x03
Peripheral Interrupt Status 0
0x04
Peripheral Interrupt Enable 0
0x05
Peripheral Interrupt status 1
0x06
Peripheral Interrupt Enable 1
0x09
Debugger State and BDC mode
0x2B
MTP Memory Control
0x2C
MTP Lower Address
0x2D
MTP Upper Address
0x2E
MTP Write Data
0x36
16-bit CRC enable of MTP memory
0x37
16-bit CRC Result Lower Byte
0x38
16-bit CRC Result Lower Byte
0x34
Device package Information
0x39
Device Security Status Register
Table 2.4 Device Control Register Addresses
In addition to the standard interrupts generated by the 8051 core, the FT51A supports other
modules and peripherals as sources. These interrupts can be queried in a hierarchical manner.
Once the top-level interrupt source is known by reading
PERIPHERAL_INT0
or
PERIPHERAL_INT1
the
interrupt status registers in the pertinent module can then be investigated to determine the low-
level interrupt source.
To clear an interrupt, first the low-level interrupt with the module should be cleared, followed by
the high-level interrupt in the
PERIPHERAL_INT0
or
PERIPHERAL_INT1
registers.
Interrupt handler routines may need to check if a particular interrupt source is enabled in
INTERRUPT_EN_0
or
PERIPHERAL_IEN1
before acting on the interrupt.
To perform a reset of the entire device the
top_soft_reset
bit in
DEVICE_CONTROL_REGISTER
must be
set, followed by the
reset_8051
bit in the
SYSTEM_CLOCK_DIVIDER
register
.