A Si570 controller

Update: 24/06/2011 – There are many people asking me about this code and some other there are made their own code with this as base. But when I write this code with the AVR-GCC/AVR-GLIBC it cannot deal with very lager numbers, > 32bits, then Diego, PU3DIE, an we write some code ( func. mult(); and soma() ) to do the job. With this code we can get about 1hz resolution of Si570. With out using this code the resolution was about 6 or 7 hz.

The new Step now is get something about 0,01Hz resolution so we will be able to built things like WSPR beacons that uses 1,4hz spaced signals.

So if You are using this code, use the form down on this page, to let us know what else you want, or if you have any questions.

Of corse, time is a precious recourses at this moment, so, we will first corret any error or bug, second we will implement the new features.

 

This is a controller board to the Si570 ic from SiLabs. It’s made with Arduino software, but do not need the arduino board. In the image you see WB6DHW board and a AVR micro controller. The controler have a LCD ( 16×2) , a rotatory encoder working and a terminal consele, so you can use only a serial to control the oscilator. Mine first language is Portuguese so I have write only in this language, but if leave a message asking i will start to write in English.

Si570 Prototype

News can be found here ( Portuguese ): SDR, RADIO AMADOR

ATTENTION: All code and schematics are licensed under GPL terms.

Source Code

Circuit Diagram

To build this software on Arduino IDE you will need to add this function to LCD4Bit library, it is used to show long type on LCD, you can add this at 135 line of LCD4Bit.cpp:

void LCD4Bit::printmalvada(unsigned long n, unsigned long base)
{
	unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars.
	unsigned long i = 0;

	if (n == 0) {
		print('0');
		return;
	} 

	while (n > 0) {
		buf[i++] = n % base;
		n /= base;
	}

	for (; i > 0; i--)
		print(buf[i - 1] < 10 ?
			'0' + buf[i - 1] :
			'A' + buf[i - 1] - 10);

}

5 Responses to A Si570 controller

  1. The book is on the table !!!!!!!!!!!

  2. Elia Mady, 2E0ZHN says:

    Nice work, can you share your code with us? The link above seems to be dead.

  3. henrique says:

    @Elia Mady, 2E0ZHN
    Elia, the link it’s ok now! Just remember to share you work on the code!

  4. Peter Johnson - F1VKK says:

    Great Blog.
    Keep up the good work
    Using Teensy and Teensy++ boards instead of the Arduino from here.
    http://www.pjrc.com

    Regards Peter F1VKK

  5. Jim says:

    Obrigado. Trabalho muito bom.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>