Modulo DICO 16 IN Analogici Manuale d’uso e manutenzione Codice ordine: Isolati 5904516801 Data: 05/2014- Rev: 1.2 Processorati Sommario 1. Generalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Caratteristiche tecniche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Modalità di indirizzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Configurazione dei canali . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Registri del modulo R/W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1 Comandi FIFO per gestione microcontrollore di acquisizione . . . 4 4.2 Inizializzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.3 Configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.4 Lettura del modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.4.1 Lettura dei valori convertiti . . . . . . . . . . . . . . . . . . . . . 5 4.4.2 Lettura della Release . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Esempio di Codice utilizzando le funzioni di libreria . . . . . . . . . . . 6 6. Segnalazione LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. Installazione e modalità di connessione . . . . . . . . . . . . . . . . . . . . 6 7.1 Installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.2 Modalità di connessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MODULO DICO - 16 INGRESSI ANALOGICI ISOLATI PROCESSORATI Storico Revisioni Pagine Rev. 1.0 Stesura 7 Rev. 1.1 Modifica dell'indirizzo del reset 7 Rev. 1.2 Morsettiere pagina 7 7 Il presente manuale si applica ai seguenti codici prodotto: 5904516801 16 Ingressi Analogici Isolati Processorati 5904516802 8 Ingressi Analogici Isolati Processorati Questo prodotto soddisfa i requisiti di protezione EMC della direttiva 89/336/CEE e successive modifiche. SYSTEM s.p.a. Div. Electronics via Ghiarola Vecchia, 73 41042 Fiorano (Mo) Italy tel 0536/836111 - fax 0536/830901 www.system-group.it e-mail: [email protected] MAGGIO 2014 - R EV. 1.2 SYSTEM s.p.a. Div. Electronics si riserva il diritto di apportare variazioni di qualunque tipo alle specifiche tecniche in qualunque momento e senza alcun preavviso. Le informazioni contenute in questa documentazione sono ritenute corrette e attendibili. La riproduzione anche se parziale, del contenuto di questo catalogo, è permessa solo dietro autorizzazione di SYSTEM s.p.a. Div. Electronics. PAG. 2 CODICE ORDINE 5904516801 MODULO DICO - 16 INGRESS ANALOGICI ISOLATI PROCESSORATI 1. Generalità Il modulo DICO PER INGRESSI ANALOGICI ISOLATI PROCESSORATI, è un modulo della famiglia DICO in grado di acquisire e processare segnali analogici esterni. 3. Modalità di indirizzamento Nel seguito vengono illustrate le principali modalità di impiego e programmazione del presente modulo. Il modulo può essere inserito su qualunque unità DICO che sia dotata di slot per moduli di I/O DICO come unità DICO108, DICO028, DICO708, DICO078, DICO508, DICO058 ecc…. SYSTEM S.p.A. Div. Electronics mette a disposizione dell'utente tools di sviluppo software, che permettono di accedere alle principali modalità di funzionamento attraverso funzioni di libreria. Il modulo si compone di una parte per l'acquisizione e la conversione analogica/digitale, e di una parte per l'elaborazione e il filtraggio dei dati. Un microprocessore 89C52 a bordo modulo si occupa della acquisizione seriale dei dati convertiti ed al loro filtraggio mediante filtro IIR configurabile software. Ogni modulo dispone di 4 jumper (J1…J4) per scegliere l'indirizzo del modulo stesso tra i 4 possibili (vedi documentazione DICO108). Jumper base (DICO108) Caratteristica fondamentale del modulo è la velocità con la quale la CPU è in grado di accedere ai valori campionati, data la presenza di una RAM per lo scambio dei dati: sono necessarie infatti solo 16 letture di "WORD" consecutive per acquisire i 16 canali. BANK #1 J1 80H BANK #2 J2 88H BANK #3 J3 90H BANK #4 J4 98H Gli indirizzi dei moduli sono i seguenti: ATTENZIONE! NON INSERIRE MAI più di un jumper di indirizzamento su uno stesso modulo. 2. Caratteristiche tecniche • Codice di identificazione: 1FH per modulo cod. 5904516801, 16 ingressi 2FH per modulo cod. 5904516802, 8 ingressi • Numero di ingresso: 16 ingressi single-ended, 8 ingressi differenziali (8 single-ended, 4 differenziali per il modulo cod. 5904516802) • Range di ingresso modalità single-ended: 0…10 V, 4…20 mA, 0…20 mA • Range di ingresso massa segnali differenziali: -0.2V / +2.5V rispetto al COM • Impedenza di ingresso: 110 Kohm • Protezione di ingresso: ± 2000V (scariche elettrostatiche) • Max tensione di modo comune: 0…10 V (verso GND) • Banda passante: 200Hz • Conversione: 12 bit • Frequenza del microcontrollore 89C52: 24MHz • Tecnica di conversione: approssimazioni successive • Tipo di codifica: Binary Code 12 bit 3.1 Configurazione dei canali I canali possono essere configurati a coppie per selezionarne la modalità di funzionamento single-ended o differenziale. Nella modalità single-ended viene convertita la tensione presente tra la coppia di ingressi selezionati. La modalità differenziale consente di misurare segnali analogici con una elevata reiezione al disturbo presente sulla massa; si consiglia tale configurazione per una maggiore precisione sopratutto utilizzando cavi con lunghezze superiori a 5m. Nella modalità differenziale la massa del segnale viene applicata all'ingresso negativo (-) e può avere un range massimo di -0.2V / +2.5V rispetto al "COM". I canali possono essere configurati come SINGLE_ENDED, DIFFERENZIALI o INUTILIZZATI. Nelle tabelle successive è possibile verificare la corrispondenza tra il collegamento degli ingressi e i valori campionati letti dal modulo. • Max frequenza di acquisizione: 6.400 canali/sec. • Sampling Rate per modulo 16 canali: 200Hz • Sampling Rate per modulo 8 canali: 400Hz • Errore di guadagno: 0.1% • Errore di offset: ±3 LSB (single-ended) • Errore di offset: ±2 LSB (differential) • Errore di linearità: ±2 LSB • Dimensioni: 114×68 mm • Alimentazione: +5V dc ±5% (Imax = 0.3A) • Temperatura di funzionamento: 0…60 °C • Umidità relativa: fino a 85% (senza condensa) MAGGIO 2014 - R EV. 1.2 PAG. 3 CODICE ORDINE 5904516801 MODULO DICO - 16 INGRESSI ANALOGICI ISOLATI PROCESSORATI INGRESSI DIFFERENZIALI INGRESSI SINGLE-ENDED Lettura conversione sul canale n. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Canale n. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Lettura conversione sul canale n. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Canale n. 0+ / 10- / 1+ 2+ /32- / 3+ 4+ / 54- / 5+ 6+ / 76- / 7+ 8+ / 98- / 9+ 10+ / 1110- / 11+ 12+ / 1312- / 13+ 14+ / 1514- / 15+ Tabella 3.1.1 SCRITTURA OFFSET Il modulo si presenta come un banco ad 8 registri. Nel seguito sono riportate le mappe in lettura/scrittura. LETTURA OFFSET 7H 6H 5H 4H 3H 2H 1H 0H EH CH AH 8H 6H 4H 2H 0H 7 6 5 4 3 2 7H 6H 5H 4H 3H 2H 1H 0H EH CH AH 8H 6H 4H 2H 0H 7 6 5 4 3 2 1 0 _ _ _ _ _ _ _ _ CONFIGURAZIONE CANALE i-esimo RESET : 7FH + AFH FIFO WR LED3 SEL3 SEL2 SEL1 SEL0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Tabella 4.2 SEL0-3 = Selezione Pagina 0-15: seleziona il canale a cui fare riferimento per la lettura dei valori convertiti, seleziona il byte da leggere/scrivere per la configurazione e seleziona il byte da leggere della release (SEL[0-3] = 0000 -> pagina/canale 0) (SEL[0-3] = 1111 -> pagina/canale 15) LED3 = Accensione/Spegnimento del LED3 (i LED 1-2 sono gestiti dal microcontrollore del modulo) Tabella 3.1.2 4. Registri del modulo R/W STANDEXENDED ALONE STANDEXENDED ALONE 1 0 ID CONFIGURAZIONE CANALE i-esimo FIFO RD RELEASE PLD RFF# RES SEM D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 RESET = Scrivendo in sequenza 7FH e AFH a BASE+5 si resetta il microcontrollore e l'A/D, scrivendo 0H a BASE+5 si esce dalla condizione di reset. 4.1 Comandi FIFO per gestione del microcontrollore di acquisizione In tabella è riportato l'elenco completo dei comandi disponibili via FIFO per la gestione del microcontrollore. COMANDO FIFO DESCRIZIONE VALORE HEX CMD_FW_RELEASE REP_FW_RELEASE CMD_UPDATE_CFG REP_UPD_OK Comando richiesta release Risposta al comando release Comando aggiornam. Config. Aggiornamento configurazione Successful Errore nell’aggiornamento configurazione Risposta a comando sconosciuto 18H 19H 10H 11H REP_UPD_NOT_OK CMD_UNKNOWN 12H FEH Tabella 4.1.1 Tabella 4.1 Ogni comando FIFO prevede sempre una risposta. ID = Codice identificatore modulo 1FH per 16 Analog IN Codice identificatore modulo 2FH per 8 Analog IN Prima di leggere la risposta sulla FIFO verificarne la presenza testando il Bit RFF: Dxx = Dati conversione ingressi analogici (12 bit) RFF = 0 Messaggio presente SEM = Semaforo Dual Port: Test-And-Set REF = 1 Messaggio assente RFF# = Indicazione messaggio pronto nella FIFO di lettura: 0 -> presenza messaggio RES = Se a 1: Modulo IN RESET Se a 0: modulo IN FUNZIONE NORMALE RELEASE PLD = Codice progressivo in revisione HW (ad uso interno) MAGGIO 2014 - R EV. 1.2 PAG. 4 CODICE ORDINE 5904516801 MODULO DICO - 16 INGRESS ANALOGICI ISOLATI PROCESSORATI 4.2 Inizializzazione 4.4 Lettura del modulo Reset del modulo (scrittura 7FH a offset 7H (EH)) 4.4.1 Lettura dei valori convertiti Uscita del Reset (diverso da 7FH) I segnali analogici applicati agli ingressi vengono campionati, convertiti e filtrati dal microprocessore a bordo modulo, secondo la configurazione impostata al momento della inizializzazione. Attesa Test della FIFO per REP_FW_RELEASE Lettura della Release Le letture aggiornate sono salvate in uno spazio di memoria condivisa alla CPU186/188 che può leggere in accesso esclusivo mediante l'impostazione di un semaforo. Impostazione della pagina 0 Scrittura del byte di "config" Impostazione pagina 1 Scrittura del byte aIIR Con 16 letture di "word" alla base del modulo è possibile acquisire i 16 segnali; in tale modo si riduce notevolmente l'impegno della CPU principale. Impostazione pagina 2 Scrittura del byte bIIR Di seguito è riportata la sequenza di operazioni necessarie alla lettura. Comando di UPDATE_CFG Test della risposta E' consigliabile tuttavia utilizzare le funzioni di librerie predisposte (Read 59045168xx) Impostare la pagina 0 4.3 Configurazione Testare il semaforo finchè SEM = 1 Per la configurazione del modulo senza utilizzare le funzioni di libreria (valido con la release 1.0) procedere come segue: Leggere il byte LSB del canale 0 a base + 0 1. Impostare la pagina 0 Leggere il byte LSB del canale 1 a base + 0 2. Scrivere il Byte di configurazione dei canali a base + 06H (stand_alone) secondo la seguente tabella: Leggere il byte MSB del canale 1 a base + 1 5 4 6 7 CH14 CH12 CH10 CH8 Coppia: CH15 CH13 CH11 CH9 Bit 3 CH6 CH7 2 CH4 CH5 1 CH2 CH3 Leggere il byte MSB del canale 0 a base + 1 … Leggere il byte LSB del canale 7 a base + 0 0 CH0 CH1 Leggere il byte MSB del canale 7 a base + 1 *** Solo per il modulo con 16 ingressi *** Tabella 4.3.1 Leggere il byte LSB del canale 8 a base + 0 Leggere il byte MSB del canale 8 a base + 1 DIFF/SE-: 1 -> Canale in modalità differenziale; … 0 -> Canale in modalità Single-Ended. Leggere il byte LSB del canale 15 a base + 0 All'accensione del modulo di default tutti i canali sono impostati in modalità single-ended. Successivamente si impostano i parametri per il filtraggio dei campioni secondo il filtro IIR implementato sul firmware del modulo. a*x + b*y Filtro IIR (a, b): y = Leggere il byte MSB del canale 15 a base + 1 Ulteriori letture dopo il canale 15 (per il modulo 16 IN) sono sempre FFH. Ulteriori letture dopo il canale 7 (per il modulo 8 IN) sono sempre FFH. a+b x = Lettura corrente, y = Lettura precedente NOTA Di default i parametri 'a' e 'b' sono i seguenti: I canali sono autoincrementati. Non è necessario impostare ogni volta il canale successivo. E' possibile partire a leggere da un canale diverso da 0 ma è obbligatorio arrivare a leggere fino al 15°. Dopo la lettura del quindicesimo canale non si ha più l'autorizzazione per leggere, fino alla lettura successiva del flag SEM. aIIR = 1, bIIR = 0 3. Impostare la pagina 1 4. Scrivere il parametro aIIR base + 6H (stand-alone) 5. Impostare la pagina 2 6. Scrivere il parametro bIIR base + 6H (stand-alone) 7. Scrittura su FIFO del comando di UPDATE della configurazione 4.4.2 Lettura della Release 8. Lettura su FIFO della risposta di avvenuta configurazione Impostare la pagina 0 e leggere il primo byte a base + 6H Incrementare la pagina e leggere il secondo byte a base + 6H … Per la Release 1.0 si leggerà "R1.0 - 30/04/01" MAGGIO 2014 - R EV. 1.2 PAG. 5 CODICE ORDINE 5904516801 MODULO DICO - 16 INGRESSI ANALOGICI ISOLATI PROCESSORATI 5. Esempio di Codice utilizzando le funzioni di libreria Viene di seguito riportato un esempio di programma in "C" utilizzando una DICO508 e un modulo da 16 Ingressi Analogici Isolati Processorati. 6. Segnalazione LED Led 1 Lampeggiante: Modulo in funzionamento Led 1 Acceso fisso: Modulo in reset Led 2 Acceso: MODULO 16 INGRESSI Led 2 Spento: MODULO 8 INGRESSI Led 3: General Purpose. #include … NOTA #DEFINE DICO508 Con la routine di libreria System il Led3 si spegne durante la inizializzazione del modulo e si riaccende al termine della stessa. #include “ut108.h” int SlotAnIn = 0x01; Module 59045168xx AnalogIn; int init(void) { int ret; memset(&AnalogIn,0,sizeof(AnalogIn)); for (i=0;i<16;i++) AnalogIn.Cfg[i]=SINGLE_ENDED_59045168xx; AnalogIn.aIIR = 1; AnalogIn.bIIR = 0; ret = Init59045168xx(SlotAnIn,&AnalogIn)); if (ret != MODULE_OK) return … return … } /***********/ /* /* */ MAIN /* */ 7. Installazione e modalità di connessione 7.1 Installazione I moduli di I/O sono dotati di connettori unifilari posti nel perimetro, lato saldature nello slot scelto dalla MOTHERBOARD. Non esiste polarizzazione nè guida all'inserzione pertanto occorre fare attenzione a: a) inserire tutti i pin dei connettori nelle relative femmine b) orientare correttamente il modulo rispetto alla MOTHERBOARD con l'ausilio della numerazione dei connettori e del segno di riferimento come evidenziato in figura: */ /***********/ void main (void) IN2 IN1 IN4 IN3 IN6 IN5 IN8 IN7 IN10 IN9 IN12 IN11 IN14 IN13 IN16 IN15 { int rc; uint16 Ch0; uint16 Ch1; ResetIoModules(); CheckDevices(); rc = init(); …… Figura 7.1.1 Disposizione jumpers e componenti _enable(); IN1 … IN16 Settaggio sezione di ingresso …… I jumper in corrispondenza degli ingressi IN1 … IN16 selezionano se inseriti l'ingresso corrispondente in corrente 4 … 20 mA; se disinseriti selezionano l'ingresso corrispondente per misure in tensione 0…10 V. for(;;) { rc = Read59045168xx (slotAnIn,&AnalogIn); …… NOTA: Per misurare gli ingressi in corrente 4…20 mA impostare gli ingressi come SINGLE_4_20mA_59045168xx nelle funzioni di libreria. Ch0 = AnalogIn.Input[0]; Ch1 = AnalogIn.Input[1] …… Per misurare gli ingressi in corrente 0…20 mA impostare gli ingressi come SINGLE_ENDED_59045168xx. } } MAGGIO 2014 - R EV. 1.2 PAG. 6 CODICE ORDINE 5904516801 MODULO DICO - 16 INGRESS ANALOGICI ISOLATI PROCESSORATI 7.2 Modalità di connessione Single_Ended - Collegare i morsetti COM <N> ad un potenziale rispetto al quale si vuole misurare la differenza di potenziale presente agli ingressi <N> IO-1, …, <N> IO-16. MORSETTIERA DICO 108 WD-B 0 IO-16 0 IO-15 REF 0 1 IO-1 1 IO-3 1 IO-5 1 IO-7 1 IO-9 1 IO-11 1 IO-13 1 IO-15 COM 1A 2 IO-1 2 IO-3 2 IO-5 2 IO-7 2 IO-9 2 IO-11 2 IO-13 2 IO-15 COM 2A REF2 3 IO-1 3 IO-3 3 IO-5 3 IO-7 3 IO-9 3 IO-11 3 IO-13 3 IO-15 COM 3A 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 WD-A 0 IO-14 COM 0 REF 1 1 IO-2 1 IO-4 1 IO-6 1 IO-8 1 IO-10 1 IO-12 1 IO-14 1 IO-16 COM 1B 2 IO-2 2 IO-4 2 IO-6 2 IO-8 2 IO-10 2 IO-12 2 IO-14 2 IO-16 COM 2B REF3 3 IO-2 3 IO-4 3 IO-6 3 IO-8 3 IO-10 3 IO-12 3 IO-14 3 IO-16 COM 3B Differenziale - Gli ingressi utilizzati in modalità differenziale vengono usati in coppia (1-2, 3-4, 5-6, 7-8, 9-10, 11-12, 13-14, 15-16) uno riferito all'altro. - Nella seguente figura viene rappresentato un tipico esempio di connessione ed utilizzo per gli ingressi differenziali. Ingressi Analogici Configurazione 4…20 mA - Collegare il polo di ritorno a COM <n>; ne consegue che tutte le misure in corrente devono essere riferite alla stessa massa. Ingressi Analogici Configurazione 0…20 mA - Collegare il polo di ritorno a COM <n>; ne consegue che tutte le misure in corrente devono essere riferite alla stessa massa. VEXT IN1+ Figura 7.2.1 Morsettiera DICO 108. IN1- MORSETTIERA 028 _ _ 127128 _ _ 125126 6 I/O 15 123124 6 I/O 13 121122 6 I/O 11 119120 6 I/O 9 117118 6 I/O 7 115116 6 I/O 5 113114 6 I/O 3 111 112 6 I/O 1 109110 REF 6107108 COM 6A105106 5 I/O 15 103104 5 I/O 13 101102 5 I/O 11 99 100 5 I/O 9 97 98 5 I/O 7 95 96 5 I/O 5 93 94 5 I/O 3 91 92 5 I/O 1 89 90 REF 587 88 COM 5A85 86 4 I/O 15 83 84 4 I/O 13 81 82 4 I/O 11 79 80 4 I/O 9 77 78 4 I/O 7 75 76 4 I/O 5 73 74 4 I/O 3 71 72 4I/O 1 69 70 REF 467 68 COM 4A65 66 __ __ 6 I/O 16 6 I/O 14 6 I/O 12 6 I/O 10 6 I/O 8 6 I/O 6 6 I/O 4 6 I/O 2 COM 6B COM 6A 5 I/O 16 5 I/O 14 5 I/O 12 5 I/O 10 5 I/O 8 5 I/O 6 5 I/O 4 5 I/O 2 COM 5B COM 5A 4 I/O 16 4 I/O 14 4 I/O 12 4 I/O 10 4 I/O 8 4 I/O 6 4 I/O 4 4I/O 2 COM 4B COM 4A __ __ COM 1A REF 1 1 I/O 1 1 I/O 3 1 I/O 5 1 I/O 7 1 I/O 9 1 I/O 11 1 I/O 13 1 I/O 15 COM 2A REF 2 2 I/O 1 2 I/O 3 2 I/O 5 2 I/O 7 2 I/O 9 2 I/O 11 2 I/O 13 2 I/O 15 COM 3A REF 3 3 I/O 1 3 I/O 3 3 I/O 5 3 I/O 7 3 I/O 9 3 I/O 11 3 I/O 13 3 I/O 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 __ __ COM 1A COM 1B 1 I/O 2 1 I/O 4 1 I/O 6 1 I/O 8 1 I/O 10 1 I/O 12 1 I/O 14 1 I/O 16 COM 2A COM 2B 2 I/O 2 2 I/O 4 2 I/O 6 2 I/O 8 2 I/O 10 2 I/O 12 2 I/O 14 2 I/O 16 COM 3A COM 3B 3 I/O 2 3 I/O 4 3 I/O 6 3 I/O 8 3 I/O 10 3 I/O 12 3 I/O 14 3 I/O 16 Figura 7.2.3 Figura 7.2.2 Morsettiera DICO 028. MAGGIO 2014 - R EV. 1.2 PAG. 7 CODICE ORDINE 5904516801