English
Language : 

Z8FS040 Datasheet, PDF (22/56 Pages) Zilog, Inc. – ZMOTION Detection and Control Family Featuring Zilog’s PIR Technology
ZMOTIONTM Detection and Control Family
Product Specification
Zilog’s PIR Technology and API
General Operation
The ZMOTIONTM MCU Series is based on the Z8 Encore! XP® Z8F082A MCU with the added
functionality of a motion detection engine (PIR engine). The PIR engine is located in the upper 4KB
area of the 8KB device leaving 4KB of code space to the user application. It operates in the
background and is controlled and monitored through an Application Programmer Interface (API). The
API is a series of reserved registers in memory.
There are two sections to the API – Standard API Registers and Advanced API Registers:
1. Standard API registers: It includes all of the status and control functions needs for most
applications. These include sensitivity control, motion detection/direction status and
operational modes.
2. Advanced API registers: It provides additional control over the PIR engine operation and
allows it to be configured to support the pyroelectric sensor and lens being used in the
application.
PIR Engine Timer Tick
Bit 7 of PIR Status/Control Register 1 provides a 1 second time base for the PIR engine to perform
house keeping operations. This bit must be set to 1, once per second by the user application. The bit
is checked and cleared during the EPIR_ADC_ISR routine.
PIR Engine Entry Points
There are two entry points to the PIR engine that are accessed through two predefined Macros. One
is an initialization macro that is used to start the engine and the other is executed upon every ADC
interrupt. Both macros save and initialize the Register Pointer, perform a call to the PIR engine entry
point and then restore the Register Pointer before returning control to the application. It is the
responsibility of the Application S/W to execute these Macro’s at the appropriate time.
EPIR_INIT Macro
This macro is executed to initialize the PIR engine after reset. It is normally only executed once and is
used in conjunction with the PIR Engine Enable register in the standard API section. The application
should initialize all API registers, write the PIR Enable Pattern to the PIR Engine Enable register, and
then execute this Macro. ADC conversions are started by this macro.
EPIR_INIT Macro:
PUSHX
LDX
CALL
POPX
RP
RP, #%E0
%1FFD
RP
CPU Cycles: 261
Peripherals Initialized:
ADC and GPIO depending on API selected options. ADC IRQ set for medium priority.
PS028506-1110
PRELIMINARY
17