OVERVIEW | SOFTWARE | COMPONENTS | FAQ | BLOGS Shopping Cart Shopping Cart
The Comvette Project - diy BOSE Replacement for C4e Corvettes
Blog Post

2020-05-05

TEA5767 Test Bench

I developed the TEA5767 Test Bench program as a learning tool to help me understand what the various settings of the TEA5767 FM Stereo Radio Module do and how these settings interact with one another. The program lets you exercise all of the module's settings in any combination. The program was very useful in determining how to best incorporate the TEA5767 radio module into The Comvette Project.

TEA5767 Test Bench

Download the TEA5767 Test Bench (348 KB .xojo_binary_project file)

To run the TEA5767 Test Bench program you will need to have Xojo installed on your desktop or laptop computer. See this page to learn how to get your free "Xojo Pi" license.

The TEA5767 module is connected to four of the Raspberry Pi's GPIO pins: 5V (pin 4), Ground (pin 6), SDA (pin 3) and SCL (pin 5). Of course you also need to connect an antenna and a set of earbuds or an audio amplifier to the TEA5767 radio module.

Note: For information on how the The TEA5767 FM Stereo Radio Module is integrated into The Comvette Project, see the Comvette Wiring Diagram page.

The SCL (Serial Clock) and SDA (Serial Data) connections provide the path over which communication between the TEA5767 radio module and the Raspberry Pi travels. The SCL and SDA lines are what is known as an "I2C Bus". This Bus can accomdate up to 127 I2C compliant devices by daisy-chaining the devices together. This makes it very easy to communicate with, and control many devices using only two wires.

TEA5767 Test Wiring

The data traveling to and from the TEA5767 radio module is written and read as a string of 40 bits (5 bytes). Each bit (or group of bits) controls a particular aspect of the radio such as the frequency, muting, noise cancellation etc.

Building this string of bits is tedious at best. I wrote the TEA5767 code module to simplify working with these bits by allowing the bits to be read or written with clearly named methods.

The command bits are Read-Write and can manipulated prior to sending them to the radio module. The response bits are Read-Only.

The Xojo TEA5767 code module provides only the functionality needed to write and read data to and from the TEA5767 FM Radio Module. To provide basic radio functionality like station tuning, station seeking, audio muting etc. another layer of software must be constructed over the TEA5767 code module.

The TEA5767 Test Bench program consists of three main layers:

  1. The GUI layer which provides a user interface and GUI management related logic.
  2. The "radio" class layer is a simple interface between the GUI and the TEA5767 code module that provides a basic set of functions like setting and getting the frequency, seeking to the next available station, and tuning up and down the valid frequencies.
  3. The TEA5767 code module layer handles the packing and unpacking of data to and from the TEA5767 radio hardware.

This layering of software functionality allows for the re-use of the "radio" class module and the TEA5767 code module in other programs that you create.

Note: The "radio" class provides only basic radio functionality. To exercise the TEA5767 hardware, the Test Bench GUI will communicate directly with the TEA5767 code module to access features that are beyond the scope of the "radio" class.

 
Have a question about this project? Need help? Send a message by clicking the "Message Me" button below. I'll try to answer any questions you may have. Or you can click the "Zoom Me" button below and if I am near my computer we can have a Zoom chat.
Contact Me   Zoom Me
Copyright © 2017-2024 (((ECHO))) Development
Message Me
* required fields
 


 


 


 
Captcha image
Can't read this image? Get another

 

Message Sent!

Thank you for contacting us. We will reply soon!

Close