BoxIdee

L'hardware

Scelte di progetto per la FASE I

Come ogni 'buon' progetto, esso nasce come compromesso tra le, tante, diverse esigenze e la semplicità di realizzazione.
Le CPU PIC hanno il grande pregio e la grande limitazione di avere molte funzioni condivise sugli stessi pin; questo già comporta la decisione di quali funzioni utilizzare e a quali rinunciare per non obbligare a 'intrecci' mostruosi nel cablaggio e del firmware.
In questa fase di progetto, la porta seriale (AUSART) è ovviamente indispensabile in quanto per la comunicazione conil PC (lo so, sarebbe stato bello utilizzare un interfaccia USB, ma avrebbe comportato usare altri PIC che non conosco - e un FW più complesso - oppure usare costosi moduli HW esterni).
Ho rinunciato invece all'interfaccia I2C, che sarà utile per i futuri sviluppi, ma questo avrebbe comportato l'uso la Port A invece della Port C per indirizzare il SID, perdendo gli ingressi analogici.
Con il senno di poi, la soluzione c'era, ma è arrivata tardi.

Altra decisione di base, forse opinabile, è la scelta del clock a 4 o 8 MHz (come spiegato più avanti), con limitazione della velocità massima di comunicazione seriale, ma con la possibilità di avere 2 pin in più da utilizzare. In questo modo ho 6 pin di I/O liberi consecutivi, sia digitali che analogici.
Lavorando a 4 MHz, ho un altro grande vantaggio: l'uscita del clock sul pin A6 è a 1/4 del clock di sistema, quindi a 1 MHz, esattamente quanto richiesto dal SID sul pin 02, e perdipiù sicuramente in fase con la temporizzazione del PIC.



Descrizione del circuito

Il cuore del modulo è un PIC16F767 della serie Mid-range di Microchip, CPU a 8 bit a 28 pin, che offre, per quanto di interesse nel progetto:

PIC16F767

  •  3 porte (A,B,C) di I/O per un totale di 24 pin
  •  1 AUSART - porta seriale
  •  1 porta I2C (non utilizzata al momento)
  •  generatore di clock interno a 4 o 8 MHz
  •  11 canali analogici a 8 bit (6 utilizzabili)
  •  8K di memoria EPROM e 368 bytes di RAM

Lo schema può essere suddiviso in 3 aree funzionali:


CPU

le 3 porte del PIC sono così utilizzate:

  •  Port A
     da A0 a A5 = I/O ausiliari analogico/digitali riportati sul connettore IO (con Gnd e Vcc)
     A6 = uscita clock al SID o comando di Reset al SID (vedere oltre)
     A7 = segnale R/W asl SID
  •  Port B: bus dati
  •  Port C:
     C0..C4 = bus indirizzi
     C5 = segnale CS al SID
     C6 = uscita dati seriali sul connettore SER
     C7 = ingresso seriale dati

SID

Per le spiegazioni sui pin del SID rimando alla pagina Descrizione SID.
L'unica nota è relativa ai condensatori C1 e C2, indicati da 6800pf; questo è il valore raccomandato per il chip 6581; utilizzando il chip 6582/8580 il valore suggerito è di 220 pF.


Buffer Audio

L'ingresso e l'uscita audio sono isolate dall'operazionale doppio U1 (TLC082), per proteggere i pin (delicati) del SID.
L'ingresso è stato volutamente posto a media impedenza (47KOhm) per ridurre il rumore captato.
Per altre necessità è possibile incrementare il valore di R7.


Progetto My SID
Il chip SID
  • Caratteristiche HW
  • Registri e comandi
  • Note d'uso

Progetto Hardware

modulo di comando del SID da PIC
  • Il modulo picSID
  • Modulo ausiliario auxSID
  • Ingegnerizzazione

Progetto Protocollo
  • Protocollo SIDcom

Progetto Firmware
  • Schema a blocchi
  • Il Firmware

Progetto Software Programma per Windows di comando PIC e SID 6582

in preparazione




REALIZZAZIONE

Qui di seguito riporto le spiegazioni sulle assegnazioni dei connettori e dei jumpers e la lista dei componenti.
Nella barra a fianco sono presenti le immagini di tutti i moduli e della realizzazione. Infine, c'è il link per scaricare la cartella compressa con i files di progetto.

Buon divertimento


CONNETTORI E JUMPER

SER: connettore seriale RS232 + Vdd + massa per alimentare il convertitore esterno se necessario. Il led RX indica la presenza di dati in ricezione
PRG: connessioni standard ICSP. Sono da notare i 2 diodi Schokty D1 e D2 utilizzati per separare l'alimentazione Vdd il Reset/Vprog dal resto del circuito. Il pulsante URES è il reset del PIC.
ANA: riporta l'ingresso e l'uscita audio + massa.
POT: collegamento ai 2 potenziometri POTX e POTY (e Vdd) se utilizzati.
IO: come detto, sono i pin A0..A5 utilizzabili come si vuole (es. LCD).

I 3 jumper meritano una spiegazione particolare:
come anticipato, il PIC, quando lavora a 4 MHz, può fornire direttamente il clock al SID.
Volendo farlo lavorare a 8 MHz (tramite modifica al FW) per incrementare le prestazioni, occorre una sorgente esterna di clock a 1 MHz per il SID. Questo compito è affidato al chip oscillatore di Fox Electronics ( ovviamente opzionale).
In questo caso, i jumper CK1 e CK2 vanno spostati nella direzione opposta a quella indicata nello schema; così il segnale dall'oscillatore arriva al PIC e il pin A6 viene liberato.
Fatto questo, tramite il jumper RS è possibile pilotare il Reset del SID via FW del PIC (normalmente, questo Reset è comandato dal pulsante SRES). Ovviamente anche questa funzionalità richiede la modifica del Firmware.

Il microswitch B67 è stato previsto per isolare i pin di programmazione del PIC (B6 e B7) durante l'uso di ICSP.
Prima di programmare il PIC, lo switch va portato in OFF e poi rimesso in ON (ricordarsene, altrimenti non funziona più nulla) a fine programmazione.

Nello schema sono anche indicati 2 punti (PU1 e PU2), nei quali è possibile inserire un altro jumper.
Cortocircuitando i 2 punti, anche con una saldatura, si collega la resistenza di Pull-Up R3 al pin A4 che è del tipo Open Collector e non può quindi fornire di suo il segnale alto.

Per l'alimentazione (esterna) c'è solamente da evidenziare la presenza di condensatori anti-rumore da 100 KpF (C4, C5 e C11) montati vicino ai chip. 2 Led indicano la presenza delle tensioni a +5V e +9/+12V.

Per ultimo, ho previsto l'uso di Test Point per accedere ai segnali critici.



ELENCO COMPONENTI

Part	Value	Device
AD	TPPAD1-13	TPPAD1-13
ANA	FE03-1	FE03-1
B67		DIP02YL
C1	6800pf	C5/3
C2	6800pf	C5/3
C3	10nF	C5/3
C4	100nF	C5/3
C5	100nF	C5/3
C6	100nF	C5/3
C7	1000pF	C5/3
C8	10uF	CPOL-EUE5-4
C9	1nF	C5/3
C10	1nF	C5/3
C11	100nF	C5/3
C12	1000pF	C5/3
C13	10uF	CPOL-EUE5-4
CK	TPPAD1-13	TPPAD1-13
CK1		JP2E
CK2		JP2E
CS	TPPAD1-13	TPPAD1-13
D1		SCHOTTKY-DIODEDO35-7
D2		SCHOTTKY-DIODEDO35-7
GND	TPPAD1-13	TPPAD1-13
IO		FE08-1
OSC		DIL8
PIC	PIC16F7X7	PIC16F7X7
POT	FE03-1	FE03-1
PRG		MA06-1
PU1	LSP10	LSP10
PU2	LSP10	LSP10
PWR		MTA03-100
						
Part	Value	Device
R1	1.5k	R-EU_0204/7
R2	100	R-EU_0204/7
R3	4.7k	R-EU_0204/7
R4	220	R-EU_0204/7
R5	100	R-EU_0204/7
R6	47K	R-EU_0204/7
R7	47K	R-EU_0204/7
R8	1K	R-EU_0204/7
R9	10K	R-EU_0204/7
R10	1.5k	R-EU_0204/7
R11	680	R-EU_0204/7
R12	680	R-EU_0204/7
R13	1K	R-EU_0204/7
R14	47K	R-EU_0204/7
RS		JP2E
RW	TPPAD1-13	TPPAD1-13
RX		LED3MM
SER		MA04-1
SRES		10-XX
U$2	SID6582	SID6582
U1	TLC082N	TLC082N
URES		10-XX
V5		LED3MM
V9		LED3MM
						



DOWNLOAD

Files di progetto (schema e PCB) in versione EAGLE CAD 5.x: Scarica il file zippato




Schema elettrico del modulo SID


Circuito stampato del modulo SID


Layout del modulo SID


La scheda SID realizzata

Modulo ausiliario di supporto


Schema del modulo ausiliariobr>

Stampato del modulo ausiliario


Vista d'insieme in 3D

Realizzazione


Vista dei moduli interni (nota: i 3 moduli oltre al SID costituiscono il modulo ausiliario


Vista esterno del box (il fontalino ovviamente apparteneva ad altro progetto!)