This is revision A of the Button16 module.

Button16 Module (Revision A)

Table of Contents

1. Introduction

The Button16 module has 16 buttons arragned in a 4×4 grid.

2. Programming

Command
Name
Action Bit Description
8 7 6 5 4 3 2 1 0
Common
Commands
Send 0 1 1 1 1 1 x x x Standard common command. See specifications for details.
Receive 0 a a a a a a a a
Select Send 1 a a a a a a a a Select the module with an address of aaaa aaaa. A time-out indicates that the module is not selected; otherwise 1010 0101 (0xa5) is returned to indicate a successful selection.
Receive 0 1 0 1 0 0 1 0 1

3. Hardware

The hardware consists of a circuit schematic and a printed circuit board.

The parts list kept in a separate file -- button16.ptl.

3.1 Circuit Schematic

The schematic for the Button16 module is shown below:

Button16 Schematic
The bus is connected to the 2×5 shrouded conenctor N9. The two CAN bus signals are fed into the PCP2551 CAN bus transceiver U2. The output of U2 is fed to the UART transmit and receive signals on the PIC16F688 microcontroller U1. 8-pins of the U1 are connected to 1×3; polarized .1" male headers. Each pin is connected to one of the anlog inputs on U1. A half size crystal oscillator (X1) is used to provide the reference 20MHz signal. A resonator could not be used since it requires pins 2 and 3 of U1, and pin 3 is needed for a analog input (AN3).

3.2 Printed Circuit Board

The printed circuit board files are listed below:

button16_back.png
The solder side layer.
button16_front.png
The component side layer.
button16_artwork.png
The artwork layer.
button16.gbl
The RS-274X "Gerber" back (solder side) layer.
button16.gtl
The RS-274X "Gerber" top (component side) layer.
button16.gal
The RS-274X "Gerber" artwork layer.
button16.gml
The RS-274X "Gerber" mask layer.
button16.drl
The "Excellon" NC drill file.
button16.tol
The "Excellon" tool rack file.

4. Software

The following files are available:

button16.ucl
The µCL source code for the Button16 module.
button16.asm
The Button16 module assembly code file.
button16.lst
The Button16 module listing file.
button16.hex
The µCL Button16 Intel® Hex file.

5. Issues

Any fabrication issues will be listed here.


Copyright © 2007 by Wayne C. Gramlich. All rights reserved.