Datasheet
Table Of Contents
- PICkit™ Serial Analyzer User's Guide
- Trademarks
- Table of Contents
- Chapter 1. PICkit™ Serial Analyzer Overview
- 1.1 Introduction
- 1.2 Highlights
- 1.3 PICkit™ Serial Analyzer Contents
- 1.4 PICkit™ Serial Analyzer Development System
- 1.5 PICkit™ Serial Analyzer Hardware
- 1.6 PICkit™ Serial Analyzer Software
- Chapter 2. Getting Started
- 2.1 Introduction
- 2.2 Highlights
- 2.3 Installing the PICkit™ Serial Analyzer Software
- 2.4 Connecting the PICkit™ Serial Analyzer to the PC
- 2.5 Connecting the PICkit™ Serial Analyzer to the 28-Pin Demo Board
- 2.6 Starting the PICkit™ Serial Analyzer Program
- 2.7 Running the 28-Pin Demo I2C™ Demonstration Program
- 2.8 I2C™ Communications – Basic Operations
- 2.9 28-Pin Demo I2C™ Source Code and Firmware
- Chapter 3. PICkit™ Serial Analyzer PC Program
- 3.1 Introduction
- 3.2 Highlights
- 3.3 Installing the PICkit™ Serial Analyzer Software
- 3.4 Starting the Program
- 3.5 Configuration Wizard
- 3.6 Main Window
- 3.7 Serial Communications Modes
- Chapter 4. I2C™ Master Communications
- 4.1 Introduction
- 4.2 Highlights
- 4.3 PICkit Serial Pin Assignments
- 4.4 Selecting Communications Mode
- 4.5 Configuring I2C Communications Mode
- 4.6 Communications: Basic Operations
- 4.7 Script Builder
- 4.8 Script Execute
- Chapter 5. I2C™ Slave Communications
- 5.1 Introduction
- 5.2 Highlights
- 5.3 PICkit Serial Pin Assignments
- 5.4 Selecting Communications Mode
- 5.5 Configuring I2C Slave Communications Mode
- 5.6 Communications: Basic Operations
- 5.7 Communications: Profile Generator
- Chapter 6. Lin Communications
- 6.1 Introduction
- 6.2 Highlights
- 6.3 PICkit Serial Pin Assignments
- 6.4 Selecting Communications Mode
- 6.5 Configuring Lin Slave Communications Mode
- 6.6 Communications: Basic Operations
- Chapter 7. SPI and Microwire Master Communications
- 7.1 Introduction
- 7.2 Highlights
- 7.3 PICkit™ Serial Analyzer Pin Assignments
- 7.4 Selecting Communications Mode
- 7.5 Configurating SPI Communications Mode
- 7.6 Communications: Basic Operations
- 7.7 Script Builder
- 7.8 Script Execute
- Chapter 8. USART Asynchronous Communications
- 8.1 Introduction
- 8.2 Highlights
- 8.3 PICkit Serial Pin Assignments
- 8.4 Selecting Communications Mode
- 8.5 Configuring USART Asynchronous Communications Mode
- 8.6 Communications: Basic Operations
- 8.7 Script Builder
- 8.8 Script Execute
- Chapter 9. USART Master Synchronous Communications
- 9.1 Introduction
- 9.2 Highlights
- 9.3 PICkit Serial Pin Assignments
- 9.4 Selecting Communications Mode
- 9.5 Configuring USART Synchronous Master Communications Mode
- 9.6 Communications: Basic Operations
- 9.7 Script Builder
- 9.8 Script Execute
- Chapter 10. User Defined Templates
- 10.1 Introduction
- 10.2 Highlights
- 10.3 Creating and Using Templates
- 10.4 My Templates
- 10.5 Graphing Data
- Chapter 11. PICkit™ Serial Analyzer Firmware
- 11.1 Introduction
- 11.2 Highlights
- 11.3 Overview
- 11.4 Exec
- 11.5 Comm
- 11.6 I2CM Communications
- 11.7 I2CS Communications
- 11.8 SPI Communications
- 11.9 USART Communications
- 11.10 LIN Communications
- Chapter 12. PICkit™ Serial Analyzer DLL
- 12.1 Introduction
- 12.2 Overview
- Chapter 13. Troubleshooting
- 13.1 Introduction
- 13.2 Frequently Asked Questions
- Appendix A. PICkit Serial Analyzer Schematics
- A.1 Introduction
- Appendix B. 28-Pin Demo Board I2C™ Demonstration Firmware
- B.1 Introduction
- B.2 Highlights
- B.3 Hardware
- B.4 Firmware
- B.5 I2C Communications
- B.6 Slave Devices
- B.7 Functions
- Worldwide Sales

PICkit™ Serial Analyzer User’s Guide
DS51647C-page 90 © 2009 Microchip Technology Inc.
Data streams associated with PICkit™ Serial Analyzer are formatted with markers
called “Tag” bytes. A Tag may be stand-alone or accompanied by data. As seen in
Table 11-1, the data stream for each state controller has a set of associated Tag bytes
defined in detail later in the document.
Exec manages the interface with the host. The data stream sent to PICkit™ Serial Ana-
lyzer from the host is encoded with ECMD Tags and the data stream returned to the
host from PICkit™ Serial Analyzer uses EDATA Tags. Likewise, the Comm controller
utilizes another set of predefined Tag(s) - CCMD Tags (outgoing scripts) and CDATA
Tags (returning data). Exec has no knowledge of Comm Tag(s) but simply transports
data blindly between the host and Comm using Exec Tag(s). RAM buffers are used as
conduits to exchange data with Comm. Data destined for Comm is queued in RAM buf-
fer 1 (CBUF1). Data returning from Comm is funneled through RAM buffer 2 (CBUF2).
The PICkit™ Serial Analyzer is designed to facilitate continuous ‘spooling’ of data
to/from the external serial device. Separate 255-byte circular buffers are maintained for
both outgoing data (scripts/data) and returning data. The USB interface is not permitted
to be a bottleneck in the PICkit™ Serial Analyzer operation. Exec processes each USB
packet immediately. If data is destined for a RAM buffer, the host is responsible to
insure adequate room is available in the buffer before the data is sent to avoid a fatal
‘overrun’ error. Returning data is queued in the appropriate circular buffer until retrieved
by Exec, tagged and sent to the host. It is possible to overrun the return buffer under
some circumstances but should be rare. Exec can interleave Exec data with Comm
data as necessary.
The PICkit™ Serial Analyzer maintains fixed-length blocks of data for control and
status. The CONTROL_BLOCK provides ‘static’ configuration information. The
STATUS_BLOCK is a snapshot of the PICkit™ Serial Analyzer operation. Each block is
divided into three sections corresponding to Exec, Comm (common to all protocols)
and Comm (specific to the active serial protocol).
TABLE 11-1: TAG BYTE TYPES
The other major blocks are the control memory block and the status memory block. The
control block is used to configure the PICkit™ Serial Analyzer. The control block is
divided into the following three sections:
• Exec module configuration
• Generic Comm module configuration
• Protocol specific communication configuration
This third section will change depending on the protocol. The status block keeps the
status of various flags and is similarly divided into three sections.
TABLE 11-2: CONTROL BLOCK
Tag Types Definition
ECMD Exec command Tag(s) – interpreted by Exec
EDATA Exec data Tag(s) – generated by Exec
CCMD Comm command Tag)(s) – interpreted by Comm
CDATA Comm data Tag(s) – generated by Comm
Tag Bytes Definition
0-7 Exec section
8-15 Generic Comm section
16-23 Protocol specific communication section