English
Language : 

Z8FS021 Datasheet, PDF (29/68 Pages) Zilog, Inc. – Select from an assortment of lenses and pyroelectric sensors to best fit your application
ZMOTION® Intrusion Detection
Product Specification
21
PIR Engine and API
The ZMOTION MCU Series is developed upon the Z8 Encore! XP-based Z8F082A MCU
with the added functionality of a motion detection (PIR) Engine. The PIR Engine is
located in the upper 4 KB area of the 8 KB device, leaving 4 KB of code space to the user
application. The PIR Engine operates in the background and is controlled and monitored
via 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,
as described below.
Standard API Registers. These registers include all of the status and control functions
required by most applications. These include sensitivity control, motion detection/direc-
tion status and operational modes.
Advanced API Registers. These registers provide 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 one-second time base for the PIR Engine
to perform housekeeping 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 via 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 software to execute
these macros at the appropriate time.
EPIR_INIT Macro. This macro is executed to initialize the PIR Engine after reset. It is nor-
mally 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, then execute this macro. ADC con-
versions are started by this macro.
EPIR_INIT Macro:
PUSHX
LDX
CALL
POPX
RP
RP, #%E0
%1FFD
RP
PS028806-0315
PIR Engine and API