Ondeggiatore
VFO & controller per ricevitori a conversione diretta (e non)
Codice
http://nebbia.esiliati.org/repos/cesco/ondeggiatore/
Interfaccia
Input
- up + down
 - left + right
 - enter+exit
 
display
- ST7032i 16x2, 3.3v, SPI
 - ST7032i 16x2, 3.3v, I2C
 - SSD1675A 104x212, 3.3v, SPI
 
http://www.buydisplay.com/default/16x2-lcd-3-3v-character-cog-display-module-black-on-white
| Pin No. | Pin Name | Descriptions | 
|---|---|---|
| 1 | XRESET | External reset pin, Only if the power on reset used, The XRESET pin must be fixed to VDD, Active Low. | 
| 2 | RS | Select Registers. 0: Instruction Register(for write) Busy Flag & Address Counter(for read) 1: Data Register(for white and read) | 
| 3 | CSB | Chip Select Input Pin. Low Active. | 
| 4 | SCL | Clock Input Pin | 
| 5 | SDA | Input Data Pin | 
| 6 | VSS | GND | 
| 7 | VDD | Power Supply | 
| 8 | VOUT | DC/DC voltage converter. Connect a capacitor between this terminal and VDD when the built-in booster is used. | 
| 9 | PSB | SI4(SPI):PSB=0, PSI2B=1; | 
| 10 | PSI2B | SI2(IIC):PSB=1,PSI2B=0; | 
| 11 | CAP1P | Connect capacitors between CAP1P and CAP1N | 
| 12 | CAP1N | Connect capacitors between CAP1P and CAP1N | 
Dispositivi supportati
AD9834
75Mhz, 10bit
Usa i piedini DDS_CS, SCK, SDO
AD9850
http://www.analog.com/en/products/rf-microwave/direct-digital-synthesis/ad9850.html
SSOP28, 3.3-5 V, 125Mhz, 10bit, SFDR > 50 dB @ 40 MHz
Usa i piedini DDS_CS, SCK, SDO sul uC
In commercio si trovano gia assemblati due moduli:
Modulo con Rset esposta

Modulo HC-SR08
Piedinatura:
| Pin | Funzione | 
|---|---|
| 1 | VCC | 
| 2 | W_CLK | 
| 3 | FU_UD | 
| 4 | SDI | 
| 5 | Reset | 
| 6 | GND | 
| 7 | Square Out 1 | 
| 8 | Square Out 2 | 
| 9 | Sine Out 1 | 
| 10 | Sine Out 2 | 
| 11 | GND | 
| 12 | D7 | 
| 13 | D6 | 
| 14 | D5 | 
| 15 | D4 | 
| 16 | D3 | 
| 17 | D2 | 
| 18 | D1 | 
| 19 | D0 | 
| 20 | VCC | 
SI570
Si570 CAC000141DG http://www.silabs.com/Support%20Documents/TechnicalDocs/si570.pdf
Fout = (fXTAL * RFREQ)/(HSDIV * N1)
- http://g4oep.atspace.com/si570vfo/570VFO.htm
 - http://www.cliftonlaboratories.com/si570_kit_from_k5bcq.htm
 
Si5351a
https://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351-B.pdf
0.0025 — 200 MHz
Filtro
l'uscita dei DDS va fatta passare per un 'filtro di ricostruzione', che tagli via per quanto possibile le spurie e le armoniche di campionamento del DAC
si puo copiare da questo: http://www.pongrance.com/super-dds.html che pero ha un clock di 80mhz (cambia poco)
o questo http://www.elecraft.com/manual/KX1_Owner%27s_Manual_Rev_E.pdf, che e' tagliato un po piu basso
http://www.analog.com/static/imported-files/application_notes/351016224AN_837.pdf
uC
- riceve l'input dai tasti (6 pin) o dall'encoder (4 + 2)
 - riceve l'input da eventuale PTT (shift) (1 pin)
 - riceve l'input da eventuale Carrier Detect (per lo scan) (1 pin)
 - controlla il LCD (SPI)
 - controlla il DDS (SPI) / Oscillatore (I2C)
 - controlla la Rset del DDS (1 pin)
 - controlla il banco filtri (4 pin)
 - controlla la backlight (1 pin)
 - si interfaccia con la memoria EEPROM (SPI)
 
24 pin totali di I/O
- DDS, lcd e memoria esterna possono convivere sul modulo SPI
 
Mappa pin
Usa il layout di CodecBoard16
memoria esterna
- EEPROM 256 kbit 25LC256 o 25LC512
 
Connettori
Controllo
| Pin | Funzione | Nome | 
|---|---|---|
| 1 | FILTER_1 | |
| 2 | FILTER_2 | |
| 3 | FILTER_3 | |
| 4 | FILTER_4 | |
| 5 | CD | |
| 6 | PTT | 
UART
| Pin | Funzione | Nome | 
|---|---|---|
| 1 | Massa | GND | 
| 2 | Uart tx | TX | 
| 3 | Uart rx | RX | 
Firmware
Features
- canali con nome alfanumerico su memoria esterna
 - bande con nome alfanumerico su memoria esterna
 - step (1,10,100,500,1000,1250,2500,5000,9000,10000,50000,100000,1000000) (4 byte) o semplicemente potenze di 10 ? su eeprom interna
 - frequenza 0 - 30 MHz su eeprom interna (4 byte)
 - shift TX/RX (+- 0 - 30 MHz) su eeprom interna (4 byte)
 - IF (+- 0 - 30 MHz) su eeprom interna (4 byte)
- additiva: il display mostra la frequenza dell'IF + la frequenza del VFO
 - sottrattiva: il display mostra la frequenza dell'IF - la frequenza del VFO
 
 - scan (volatile)
- dentro banda
 - dei canali
 
 - filtri su eeprom interna
- numero (1 byte)
 - fmin (4 byte)
 - fmax (4 byte)
 
 - phase register su eeprom interna
 - frequency register su eeprom interna
 - DDS clock
 
la memoria viene divisa in blocchi da 32byte
ogni nuovo canale/banda viene memorizzato nel primo blocco/canale flaggato come non attivo
quando si naviga tra i canali/bande, vengono letti i blocchi in ordine finche non si trova il successivo canale/banda
Flag
| 00 | non attivo | 
| 01 | canale | 
| 10 | gruppo | 
| 11 | banda | 
Canale
| 16-31 | 12-15 | 1 | 0 | 
| channel_name | frequency | group_id | flag | 
Gruppo
| 16-31 | 1 | 0 | 
| group_name | group_id | flag | 
Banda
| 16-31 | 12-15 | 8-11 | 4-7 | 0 | 
| band_name | band_step | frequency_min | frequency_max | flag | 
