The CMX823E4 (tone decoder) is the TSSOP chip. The other one is a PIC16F870 microcontroller.
The schematics. Click for larger view.
Two audio connectors for "in series" audio tapping. Jumper for optional electret microphone power supply. Op-amp (integrated to the CMX823) gain is adjusted by R8 (pot), and I wired the output to ADC input pins of the MCU for audio level monitoring. The TTL serial data is connected to a USB/TTL serial converter board. Buttons are for a possible future use. The CMX823 data connection is something called "C-BUS" by the chip manufacturer. It also has an interrupt ouput pulled low when active, allowing us not to poll the chip continously and uselessly.
My spreadsheet used for the CMX823 tones parameters calculations. All these "magic numbers" and formulas are from the datasheet's pages 11 and 12.
I only use 16 tones (all the CCIR signaling), but the chip has a memory for two banks of 32 tones (one bank enabled at the time). Only simple tones can be decoded, DTMF can't, which is composed of two frequencies at the same time. On my spreadsheet, N and R are the result of tone calculations, but they are 7 bits numbers, and should be packed together to form a 14 bits field following the two bits for bank selection. These resulting 16 bits are cut in half to form two (A and B) bytes. Operation is then reversed to check if the calculations and bit manipulations are correct.
- Tone decoder main C sourcecode
- Project HEX file
- 600dpi PCB artwork
- CMX823 datasheet (PDF)
- CMX823 advertising brochure (PDF)
- CMX823 LBR part for Eagle 4.x
G-Code simulation with Camotics
Machined with LinuxCNC
It's a perfect fit! :D
Finished. Connectors are: ICSP (for firmware upgrades), serial over USB, audio connections and optional DC jack (if power over USB isn't used)
The tone detector project in use to monitor the street lighting radio remote control (coming soon!)