1.5 CCL Manchester Encoder
This example application shows how to use the CCL peripheral library and generate a Manchester-encoded output.
Description
This demonstrates a way to generate a Manchester-encoded output using a SPI port and the CCL. The SPI port is sending out a predefined buffer of data in a circular fashion. Data is sent out LSB first, with CCL_OUT being the Manchester-encoded output. Pins are configured so that a logic analyzer can be attached to see the input (MOSI and SCK) and the output (CCL_OUT) simultaneously.
Downloading and Building the Application
To clone or download this application from Github, go to the main page of this repository and then click Clone button to clone this repository or download as zip file.
Path of the application within the repository is apps/ccl/manchester_encoder.
To build the application, refer to the following table and open the project using its IDE.
| Project Name | Description |
|---|---|
| pic32cm_pl10_curiosity_nano.X | MPLAB X project for PIC32CM PL10 Curiosity Nano Evaluation Kit |
Setting Up the Hardware
The following table shows the target hardware for the application projects.
| Project Name | Description |
|---|---|
| pic32cm_pl10_curiosity_nano.X | PIC32CM PL10 Curiosity Nano Evaluation Kit |
Setting Up PIC32CM PL10 Curiosity Nano Evaluation Kit
- Use jumper from PA05 (pin 13) to PA09 (pin 21). This routes SCK signal to CCL_IN[4]
- Use jumper from PA04 (pin 11) to PA10 (pin 22). This routes MOSI signal to CCL_IN[5]
- PA11 (pin 23) has CCL output (CCL_OUT)
- Connect the Debug USB port on the board to the computer using a USB Type-C cable
Running the Application
- Connect a logic analyzer to MOSI pin.
- Connect a logic analyzer to SCK pin.
- Connect a logic analyzer to the Manchester-encoded output CCL_OUT pin.
- Refer to the following table for
pin details:
Board MOSI Pin SCK Pin CCL_OUT Pin PIC32CM PL10 Curiosity Nano Evaluation Kit PA04 (pin 11) PA05 (pin 13) PA11 (pin 23) - Build and program the application using its IDE.
- Observe the output on logic
analyzer, it should follow the truth table as shown below:

