Se chi ben comincia é a metà dell’opera, non possiamo dire che al COR vada benissimo ;)
A parte le battute, con grande soddisfazione mi sono portato una versione prototipale del nuovo COR alla fiera di Osimo svoltasi lo scorso 14 e 15 dicembre 2013.
Sempre carico e soddisfatto ho tirato fuori il pacchetto per far vedere quello che é lo stato avanzamento e soprattutto per comunicare a tutti che siamo ad uno stato molto avanzato (quasi al termine). Il fatto che le cose stavano andando per il verso giusto lo sapevo da tempo (altri articoli sul COR possono essere trovati qui e qui) ma non lo avevo mai palesato.
Il tempo di collegare l’alimentatore e mostrare i segnali di ingresso ed uscita alla scheda, come:
- Potenziometri per simulare lo squelch/Busy del segnale radio Ponte e del segnale radio Link
- Led di segnalazione dello stato dei 2 PTT
- Display di debug e controllo del funzionamento (visualizzazione compatta ed estesa)
- Led per la visualizzazione del segnale PWM (beep o altro)
- Led per lo stato degli switch audio
- Pulsanti e led per il comando di play e controllo della riproduzione delle 3 sintesi vocali previste
(per maggiori informazioni su questa scheda premere qui)
- La seriale RS232 per impostare i tempi, le priorità e tutti gli altri parametri di configurazione (sono
molti) che possono essere modificati “al volo” durante il funzionamento della scheda COR
Poi ho fatto vedere il funzionamento classico la durata della coda, l’intervallo delle sintesi vocali, la
disabilitazione dell’apparato di Link, l’impostazione della soglia di squelch (impostazione manuale o
automatica) ecc...
E finalmente arriva la prima domanda di Claudio IK6DIO:
“Ma se arrivano due segnali in contemporanea tra Ponte e Link?”
“Nessun problema” rispondo, é una situaziopne prevista dove la priorità viene data al Link.
Peccato che nel far vedere la cosa mi sono accorto che il segnale di switch audio del ponte che doveva andare basso non ci andava..... facendo qualche prova in più, se il segnale busy del link arriva prima di quello del ponte tutto funziona senza problemi, ma se arriva prima ils egnale di busy link, l’audio del ponte non viene interrotto.... in pratica un BUG.
A parte lo scherzoso aneddoto, siamo ad uno stato avanzato degli sviluppi, ora dobbiamo collegare i
componenti a contorno come gli switch audio, la scheda di sintesi vocale ecc... e siamo pronti per le prime prove con le radio.
Il firmware é organico e completo ed il livello di configurabilità della scheda é altissimo, attraverso un normale terminale seriale RS232 a 9600 baud si possono impostare tantissime cose e verificare lo stato di tutte le uscite e di tutti gli ingressi, é anche possibile eseguire un completo reset della scheda ed il ritorno alle impostazioni iniziali.
Come accenanto negli altri articoli, tutte la configurabilità da seriale ci permette di creare delle schede aggiuntive per aumentare le funzionalità di questo modulo base (per esempio una estenzione bluetooth, una estensione ethernet, oppure il collegamento al sistema di telecontrollo).
Per quanto riguarda i pin, abbiamo utilizzato circa l’80% degli I/O disponibili e siamo a circa il90% della memoria utilizzata. La questione dell’elevato utilizzo della memoria programma mi impensierisce un pochino per gli sviluppi fututi, ma non ho potuto fare altrimenti ... la configurabilità si paga da qualche altra parte. Eventuali “aggiunte” saranno gestite da microcontrollori esterni alla scheda base.
I prossimi passi:
- Collegamento degli switch audio
- Collegamento della scheda di sintesi vocale
- Collegamento dei segnali di squelch/busy dell’apparato di ricezione ponte e dell’apparato di Link
Poi passeremo alla ingegnerizzazione del PCB e ad una prima versione della scheda COR.
Il tutto dopo aver scovato e risolto il bug di Osimo.
Buon Natale
Saluti.
Sergio IW6CQF
Visualizzazione post con etichetta microchip. Mostra tutti i post
Visualizzazione post con etichetta microchip. Mostra tutti i post
giovedì 26 dicembre 2013
Scheda COR “CARRIER OPERATED RELAY” – Primo "BUG"
Etichette:
ancona,
cisar,
Cisar Ancona,
COR,
IW6CQF,
microchip,
pic,
ponti,
radio,
radioamatori,
ripetitori
domenica 10 novembre 2013
Scheda COR “CARRIER OPERATED RELAY” – Le Logiche
Una volta terminte le impostazioni delle porte ci siamo buttati sul codice per la gestione delle logiche.
Per logiche intendo tutte i comportamenti che la scheda deve assumere all’accadere di qualche evento.
Queste logiche sono configurabili da seriale, una grande quantità di codice é stata scritta per permettere di impostare i tempi, le priorità, le uscite e gli ingressi da dei menù su tre livelli consultabili dal seriale RS232.
La pressione del pulsante User avvia la procedura di configurazione e viene spedito il menù principale su seriale. La selezione della voce desiderata e la pressione dell’invio permettono la navigazione dell’albero del menù e l’inserimento di tutti i parametri di funzionamento.
Questo é il menù principale ricevuto sulla seriale (9600,n,8,1):
La seconda funzionalità é quella propria della gestione degli apparati radio.
Abbiamo previsto un apparato denominato Ponte ed un apparato denominato Link, senza scendere nelle caratteristiche di ognuno, l’apertura dello squelch (busy) in uno fa attivare il PTT dell’altro (o su entrambi) secondo una serie di priorità e di logiche.
Proprio questa parte, unitamente a quella di switch sui 4066 del flusso audio é la parte mancante, mentra stanno funzionando sotto test le procedure di gestione della coda sul PTT (durata configurabile) e dell’avvio ad un certo intervallo delle 3 sintesi vocali disponibili (intervallo configurabile per ogni apparato e per ogni sintesi).
Sotto una foto della breadboard che rispetto alla fase precedente é cresciuta di una scheda:
Saluti
Sergio IW6CQF
Per logiche intendo tutte i comportamenti che la scheda deve assumere all’accadere di qualche evento.
Queste logiche sono configurabili da seriale, una grande quantità di codice é stata scritta per permettere di impostare i tempi, le priorità, le uscite e gli ingressi da dei menù su tre livelli consultabili dal seriale RS232.
La pressione del pulsante User avvia la procedura di configurazione e viene spedito il menù principale su seriale. La selezione della voce desiderata e la pressione dell’invio permettono la navigazione dell’albero del menù e l’inserimento di tutti i parametri di funzionamento.
Questo é il menù principale ricevuto sulla seriale (9600,n,8,1):
La seconda funzionalità é quella propria della gestione degli apparati radio.
Abbiamo previsto un apparato denominato Ponte ed un apparato denominato Link, senza scendere nelle caratteristiche di ognuno, l’apertura dello squelch (busy) in uno fa attivare il PTT dell’altro (o su entrambi) secondo una serie di priorità e di logiche.
Proprio questa parte, unitamente a quella di switch sui 4066 del flusso audio é la parte mancante, mentra stanno funzionando sotto test le procedure di gestione della coda sul PTT (durata configurabile) e dell’avvio ad un certo intervallo delle 3 sintesi vocali disponibili (intervallo configurabile per ogni apparato e per ogni sintesi).
Sotto una foto della breadboard che rispetto alla fase precedente é cresciuta di una scheda:
Saluti
Sergio IW6CQF
Etichette:
ancona,
cisar,
Cisar Ancona,
COR,
IW6CQF,
microchip,
pic,
ponti,
programmazione,
radioamatori,
ripetitori
domenica 13 ottobre 2013
Scheda COR “CARRIER OPERATED RELAY” – Prime Impostazioni
L’idea iniziale sta prendendo forma.
Abbiamo identificato il micro e quasi terminato la
configurazione e definizione delle periferiche necessarie.
Come accennato nel precedente articolo, la base tempi era
una priorità ed il timer interno del micro ed il codice che lo gestisce sono
stati configurati per darci una facile gestione delle macchine a stati che
gestiranno le logiche di funzionamento del COR. I tempi sono abbastanza
precisi, dalle prove effettuate tale precisione va benissimo per i nostri scopi
(al momento nessuna necessità di montare l’oscillatore esterno).
Altra periferica importante del sistema é la seriale
che sarà utilzizata per la configurazione del COR e per controllare il
funzionamento della scheda. Non mi dispiace affatto la possibilità di
utilizzare la USART per la comunicazione bidirezionale con schede aggiuntive
esterne.
Tra le periferiche principali non possiamo dimenticare
il display. Un comune LCD HD77480 4 righe per 20 caratteri permette un debug
completo di funzionamento e la visualizzazione dello stato del sistema. Una
volta che la scheda é configurata il display potrà essere disabilitato
attraverso una configurazione da porta seriale (il display risulta inutile nel
momento in cui il sistema é installato e funzionante).
Terminano la lista delle periferiche i digital output
(led di stato ecc...), digital input (pulsante di accesso al menù sulla seriale
ecc...) e analogi input (Vox di detect del busy ecc...)
Nel momento in cui scrivo questo articolo tutte le
periferiche sono state provate e l’oscillatore interno ad 8MHz permette la
gestione di tutte contemporaneamente senza problemi di performance.
In effetti in una applicazione di questo tipo non é
critica la potenza del micro quanto la numerosità di input ed output necessari
alla gestione.
Stiamo utilizzando un PIC18F4550 che é un 40 pin e
siamo a circa l’80% dei pin utilizzati.
Il COR su breadboard:
Il prossimo passo sarà la creazione del codice
firmware per la gestione delle logiche funzionali del COR.
L’imminente “nascita” della scheda di sintesi vocale
definitiva ci permette di pensarla come parte integrante di questo COR.
Saluti
Sergio IW6CQF
Etichette:
ancona,
cisar,
Cisar Ancona,
COR,
IW6CQF,
microchip,
pic,
radioamatori,
ripetitori
venerdì 3 maggio 2013
Adattatore per Programmazione PIC (vari formati/piedinature)
Come molti, mi sono avvicianato al mondo dei microcontrollori grazie alla semplicità d’uso e la facilità di reperimento dei PIC (Microchip).
Ho iniziato a fare piccole cose e pian pianino ho avuto la possibilità di divertirmi con progetti più complessi. Nella mia esperienza hobbistica non ho mai incontrato problemi insormontabili per questi micro (a parte qualche volta la potenza di calcolo) e sono sempre stato convinto che una scheda a microcontrollore dovesse avere anche il connettore per la programmazione ed il debug del micro a bordo.
Questo permette di scaricare direttamente il firmware e di poter andare in debug, la cosa negativa é che alcuni piedini del micro rimangono utilizzati dal debugger e non sono utilizzabili al fine del progetto (a patto di non montare jumper).
In questo periodo ho avuto la possibilità di utilizzare PIC di taglio medio/piccolo per fare dei semplici prototipi e per delle piccole automazioni (di debug) del sistema ponti. Per queste cose non ho voluto scomodare gli STM32, ed ho utilizzato quanto disponibile in casa e dato che é molto più pratico un micro su contenitore DIN per il montaggio su breadboard sono ricaduto sui cari PIC.
Ecco che mi sono dovuto ricredere sulla mia convinzione iniziale di avere sulla scheda anche la programmazione ed il debug del micro.
Essendo PIC di taglio piccolo, é essenziale avere tutti i pin a disposizione, ma a questo punto come programmare agevolmente i PIC?
Il primo passo é stato quello di collegare “al volo” i piedini del micro con l’ICD2. Ma dato che la frequenza delle volte che mi serviva una cosa del genere stava salendo, mi sono convinto nel fare una semplice schedina che con diversi zoccoli DIN permettesse la programmazione dei PIC nei vari package.
In giro per la rete ho trovato diverse soluzioni, ho preso degli spunti tra le varie informazioni che ho trovato ed ho realizzato la mia schedina (ne migliore ne peggiore di altre).
La programmazione é possibile solamente se si configura l’ICD2 per dare alimentazione al microcontrollore. Per non dimenticare questo passaggio, volevo montare un LED rosso di segnalazione, ma per pigrizia non l'ho ancora fatto. Nella parte destra della scheda ho montato dei normalissimi pin strip che riportano tutti i pin di programmazione.
La disposizione é compatibile con quella del pickit2 e la riporto sotto:
1- Vpp/MCLR
2- VDD Target
3- Vss (GND)
4- ICSPDAT/PGD
5- ICSPCLK/PGC
In questo modo é possibile programmare i micro sia con il PicKit sia con l’ICD2.
I PIC hanno diverse piedinature, le più utilizzate a livello hobbistico e le più diffuse sono 8/14/18/20/28 e 40 tutte rigorosamente in package DIN. Lo scopo é proprio quello di poter programmare PIC con queste piedinatura con la stessa scheda adattatore.
Per verificare quali fossero i piedini di programmazione dei PIN con le varie iedinature ho preso a campione dei datasheet dal sito ufficiale Microchip.
Il pinout dell’icd2 é:
1- Non connesso
2- ICSPCLK/PGC
3- ICSPDAT/PGD
4- Vss (GND)
5- VDD Target
6- Vpp/MCLR
La scheda é un adattatore, non contiene logica o alimentazione. Parliamo di una connessione fisica dei segnali che vengono dall’ICD2 su ogni pin di ogni zoccolo DIN (i PIC con lo stesso numero di piedini, hanno i PIN di programmazione nella stessa posizione indipendentemente dalla famiglia e del modello).
Per la piedinatura dei PIC di varie “dimensioni” potete fare riferimento al datasheet.
Non sono presenti gli zoccoli da 8 e 14 pin in quanto hanno la stessa piedinatura del 20 pin, rispettando il pin 1.
I componenti:
Ecco la foto del lavoro ultimato:
Sugli zoccoli DIN ho tagliato i pin non necessari per evitare contatti che potrebbero inficiare negativamente sul funzionamento.
Vi prego di non fare caso agli zoccoli che nel caso del 18 pin e del 20 pin li ho dovuti tagliare (sempre nell’ottica di utilizzare quello che era disponibile immediatamente e nel raggio di 20mt).
Saluti
Sergio IW6CQF
Ho iniziato a fare piccole cose e pian pianino ho avuto la possibilità di divertirmi con progetti più complessi. Nella mia esperienza hobbistica non ho mai incontrato problemi insormontabili per questi micro (a parte qualche volta la potenza di calcolo) e sono sempre stato convinto che una scheda a microcontrollore dovesse avere anche il connettore per la programmazione ed il debug del micro a bordo.
Questo permette di scaricare direttamente il firmware e di poter andare in debug, la cosa negativa é che alcuni piedini del micro rimangono utilizzati dal debugger e non sono utilizzabili al fine del progetto (a patto di non montare jumper).
In questo periodo ho avuto la possibilità di utilizzare PIC di taglio medio/piccolo per fare dei semplici prototipi e per delle piccole automazioni (di debug) del sistema ponti. Per queste cose non ho voluto scomodare gli STM32, ed ho utilizzato quanto disponibile in casa e dato che é molto più pratico un micro su contenitore DIN per il montaggio su breadboard sono ricaduto sui cari PIC.
Ecco che mi sono dovuto ricredere sulla mia convinzione iniziale di avere sulla scheda anche la programmazione ed il debug del micro.
Essendo PIC di taglio piccolo, é essenziale avere tutti i pin a disposizione, ma a questo punto come programmare agevolmente i PIC?
Il primo passo é stato quello di collegare “al volo” i piedini del micro con l’ICD2. Ma dato che la frequenza delle volte che mi serviva una cosa del genere stava salendo, mi sono convinto nel fare una semplice schedina che con diversi zoccoli DIN permettesse la programmazione dei PIC nei vari package.
In giro per la rete ho trovato diverse soluzioni, ho preso degli spunti tra le varie informazioni che ho trovato ed ho realizzato la mia schedina (ne migliore ne peggiore di altre).
La programmazione é possibile solamente se si configura l’ICD2 per dare alimentazione al microcontrollore. Per non dimenticare questo passaggio, volevo montare un LED rosso di segnalazione, ma per pigrizia non l'ho ancora fatto. Nella parte destra della scheda ho montato dei normalissimi pin strip che riportano tutti i pin di programmazione.
La disposizione é compatibile con quella del pickit2 e la riporto sotto:
1- Vpp/MCLR
2- VDD Target
3- Vss (GND)
4- ICSPDAT/PGD
5- ICSPCLK/PGC
In questo modo é possibile programmare i micro sia con il PicKit sia con l’ICD2.
I PIC hanno diverse piedinature, le più utilizzate a livello hobbistico e le più diffuse sono 8/14/18/20/28 e 40 tutte rigorosamente in package DIN. Lo scopo é proprio quello di poter programmare PIC con queste piedinatura con la stessa scheda adattatore.
Per verificare quali fossero i piedini di programmazione dei PIN con le varie iedinature ho preso a campione dei datasheet dal sito ufficiale Microchip.
Il pinout dell’icd2 é:
1- Non connesso
2- ICSPCLK/PGC
3- ICSPDAT/PGD
4- Vss (GND)
5- VDD Target
6- Vpp/MCLR
La scheda é un adattatore, non contiene logica o alimentazione. Parliamo di una connessione fisica dei segnali che vengono dall’ICD2 su ogni pin di ogni zoccolo DIN (i PIC con lo stesso numero di piedini, hanno i PIN di programmazione nella stessa posizione indipendentemente dalla famiglia e del modello).
Per la piedinatura dei PIC di varie “dimensioni” potete fare riferimento al datasheet.
Non sono presenti gli zoccoli da 8 e 14 pin in quanto hanno la stessa piedinatura del 20 pin, rispettando il pin 1.
I componenti:
Ecco la foto del lavoro ultimato:
Sugli zoccoli DIN ho tagliato i pin non necessari per evitare contatti che potrebbero inficiare negativamente sul funzionamento.
Vi prego di non fare caso agli zoccoli che nel caso del 18 pin e del 20 pin li ho dovuti tagliare (sempre nell’ottica di utilizzare quello che era disponibile immediatamente e nel raggio di 20mt).
Saluti
Sergio IW6CQF
Etichette:
adattarore,
ancona,
cisar,
Cisar Ancona,
IW6CQF,
microchip,
pic,
programmazione
Iscriviti a:
Post (Atom)





