Datasheet

Table Of Contents
PICkit™ Serial Analyzer User’s Guide
DS51647C-page 106 © 2009 Microchip Technology Inc.
11.7.1.2.1 Operation
Execute the following sequence for initialization:
1. Issue Cold Start (Reset)
2. Write Configuration Block (with Comm = I
2
CS, Mode = 1, Event Markers
enabled)
3. Issue Warm Start
The host must monitor I
2
C transactions via the Event Markers. Should the I
2
C Master
request ‘read’ data, the PICkit Serial Analyzer will hold the I
2
C SCK line low and alert
the host with SDATA Tag: I2CS_DATA_RQ. The host must supply data to the PICkit
Serial Analyzer to be returned to the I2CS Master using SCMND Tag:
I2CS_SEND_BYTES. If more data is supplied than is required for the transaction, the
remaining data will be discarded. If an insufficient number of bytes are supplied by the
host, the PICkit Serial Analyzer will return all data supplied then hold SCK line low and
re-issue SCMND Tag: I2CS_DATA_RQ to the host.
11.7.1.3 MODE: AUTO
Auto is the most sophisticated mode allowing the PICkit Serial Analyzer to operate
‘autonomously’ from a ‘slave profile’ loaded in PICkit Serial Analyzer RAM (CBUF3).
The slave profile defines one or more I
2
C slave addresses and a unique set of device
registers for each. The device registers can be defined in two ways – (1) discrete,
non-contiguous registers of various lengths or (2) a block of contiguous addresses with
flexible access to 1 or more bytes within that block in a single transaction. Additionally,
each register can be defined as Read/Write, Read-only or Write-only.
The 2 bytes in the PICkit Serial Analyzer control block, address and mask, defines the
set of slave addresses that the PICkit Serial Analyzer will ‘Acknowledge’. All addresses
excluded by the address and mask will be automatically ‘Not Acknowledged’. For all
acknowledged addresses the pre-loaded slave profile dictates the response/behavior.
For I
2
C transactions involving slave addresses or registers not defined in the slave
profile, write data is discarded and a read data is defaulted (0xFF). Similarly, writing to
a ‘read-only’ register or attempting to write beyond the addressable limits of the register
will cause the write data to be discarded. Reading from a ‘write-only’ register or
attempting to read beyond the addressable limits of the register will result in default
data (0xFF).