sistema de mesura mitjançant un multímetre i...

111
Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232 TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial AUTORS:Marc Lluch Porres. DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero. DATA: Setembre de 2010

Upload: truongphuc

Post on 18-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre de 2010

Page 2: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Índex

Pàgina 2 de 111

ÍNDEX

1. Memoria descriptiva……………………………………………………………………… 6

1.1. Objectiu .......................................................................................................................... 7

1.2. Antecedents .................................................................................................................... 7

1.3. Titular del projecte ......................................................................................................... 7

1.4. Principi de funcionament ............................................................................................... 7

1.4.1. El microcontrolador ................................................................................................ 8

1.4.2. MAX 232................................................................................................................ 9

1.4.3. Descodificador ....................................................................................................... 9

1.4.4. Connectors de 20 pins .......................................................................................... 10

1.4.5. Relé ...................................................................................................................... 10

1.4.6. Connector DB9 ..................................................................................................... 11

1.4.7. Connector RJ-45 ................................................................................................... 11

1.4.8. Inversor CD4049UB ............................................................................................ 12

1.5. Possibles Solucions i Solució Adoptada ...................................................................... 12

1.5.1. Entorn de treball ................................................................................................... 12

1.5.1.1. Possibles Solucions .......................................................................................... 12

1.5.1.2. Solució Adoptada ............................................................................................. 13

1.5.2. Entorn de simulació .............................................................................................. 13

1.5.2.1. Possibles Solucions .......................................................................................... 13

1.5.2.2. Solució Adoptada ............................................................................................. 13

1.5.3. Tipus de comunicació ........................................................................................... 14

1.5.3.1. Possibles solucions ........................................................................................... 14

1.5.3.2. Solució Adoptada ............................................................................................. 14

1.5.4. Elecció del microcontrolador ............................................................................... 14

1.5.4.1. Possibles solucions ........................................................................................... 14

1.5.4.2. Solució adoptada .............................................................................................. 15

1.5.5. Font d‟alimentació ................................................................................................ 16

1.5.5.1. Possibles solucions ........................................................................................... 16

1.5.5.2. Solució adoptada .............................................................................................. 16

1.6. Bus de comunicació RS-232 ........................................................................................ 16

1.6.1. Protocol RS-232 del port sèrie ............................................................................. 16

1.6.3. Comunicació Sèrie RS-232 Microcontrolador–Multímetre i Microcontrolador–PC

.............................................................................................................................. 18

1.6.4. Comunicació Sèrie RS-232 Multímetre – Microcontrolador ............................... 20

2. Memoria de càlcul…………………………………………………………………….… 22

2.1. El microcontrolador 18F25J11 ..................................................................................... 23

2.1.1. El Nucli ................................................................................................................ 23

2.1.1.1. Característiques principals ............................................................................... 23

2.1.1.2. Característiques de l‟estructura de l‟oscil·lador ............................................... 23

2.1.1.3. Tecnologia nanoWatt ....................................................................................... 23

2.1.1.4. Altres característiques especials ....................................................................... 23

2.1.2. La CPU ................................................................................................................. 24

2.1.3. Estructura de la memòria ...................................................................................... 25

2.1.3.1. Memòria de programa ...................................................................................... 25

Page 3: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Índex

Pàgina 3 de 111

2.1.3.2. Memòria de dades ............................................................................................ 27

2.1.4. Ports d‟entrada/sortida .......................................................................................... 28

2.1.5. Mòdul USART ..................................................................................................... 30

2.1.5.1. Registres usats i associats al mòdul USART ................................................... 30

2.1.5.2. Generació de la velocitat de comunicació per al mode asíncron ..................... 33

2.1.5.3. Càlcul del BaudRate ......................................................................................... 34

2.1.5.4. Recepció en el mode asíncron de la USART ................................................... 34

2.1.5.5. Transmissió en el mode asíncron de la USART .............................................. 35

2.1.6. El controlador d‟interrupcions.............................................................................. 36

2.1.6.1. Introducció al sistema d‟interrupcions ............................................................. 36

2.1.6.2. Registres usats i associats a les interrupcions .................................................. 37

2.1.6.3. Prioritats del sistema d‟interrupcions ............................................................... 41

2.1.6.4. Fases d‟una interrupció .................................................................................... 41

2.1.6.5. Passos a seguir per treballar amb interrupcions ............................................... 42

2.1.6.6. Diagrama del sistema d‟interrupcions .............................................................. 42

2.1.7. Selecció de pins de perifèrics/Peripherial Pin Selectable (PPS ............................ 43

2.1.7.1. Introducció als PPS .......................................................................................... 43

2.1.7.2. Control de la selecció de pins ........................................................................... 44

2.1.7.3. Mapa d‟entrada................................................................................................. 44

2.1.7.4. Mapa de sortida ................................................................................................ 45

2.1.7.5. Beneficis del Peripherial Pin Select (PPS) ....................................................... 46

2.1.7.6. Registres associats i usats al Peripherial Pin Select (PPS) ............................... 46

2.2. El multímetre Agilent 344001A ................................................................................... 48

2.2.1. Objectiu del multímetre ........................................................................................ 48

2.2.2. Introducció física del Agilent 344001A ............................................................... 48

2.2.2.1. Panel Frontal .................................................................................................... 48

2.2.2.2. Indicadors de pantalla ...................................................................................... 49

2.2.2.3. Formats de pantalla del panel frontal ............................................................... 50

2.2.3. Programació del multímetre ................................................................................. 50

2.2.3.1. Mode d‟enllaç del hardware (RS-232) ............................................................. 50

2.2.3.2. El multímetre i el controlador de bus ............................................................... 51

2.2.3.3. Senyals a tenir en compte del connector RS-232 ............................................. 52

2.2.3.4. Seqüència de programació de la interfase remota ............................................ 53

2.2.4. Introducció al llenguatge SCPI............................................................................. 54

2.2.4.1. Historia del llenguatge SCPI ............................................................................ 54

2.2.4.2. Model del instrument programable .................................................................. 55

2.2.4.3. Sintaxis del llenguatge SCPI ............................................................................ 55

2.2.4.3.1. Tipus de dades SCPI ..................................................................................... 56

2.2.5. Selecció dels paràmetres ...................................................................................... 57

2.2.5.1. Selecció de l‟ interfase remota ......................................................................... 57

2.2.5.2. Selecció de la velocitat en bauds ...................................................................... 57

2.2.5.3. Selecció de paritat ............................................................................................ 57

2.2.5.4. Selecció del llenguatge de programació ........................................................... 58

2.2.6. Comandaments i paràmetres usats ....................................................................... 58

2.2.6.1. Comandament MEASure? ............................................................................... 59

2.2.6.2. Comandament CONFigure ............................................................................... 59

2.2.6.3. Comandament READ? ..................................................................................... 62

2.2.6.4. Comandaments INITiate i FETCh?.................................................................. 62

Page 4: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Índex

Pàgina 4 de 111

2.2.6.5. Comandaments de l‟ interfase RS-232 ............................................................. 62

2.2.6.6. Acabaments dels missatges d‟entrada .............................................................. 63

2.2.6.7. Formats dels missatges de sortida .................................................................... 63

2.2.6.8. Indicador error .................................................................................................. 63

2.3. Hyperterminal............................................................................................................... 65

3. Plànols…………………………………………………………………………..….……. 67

3.1. Placa de comunicacions ............................................................................................... 68

3.1.1. Circuit elèctric ...................................................................................................... 68

3.1.2. Circuit layout ........................................................................................................ 69

3.1.3. Fotogràfia ............................................................................................................. 69

3.2. Placa de potència .......................................................................................................... 70

3.2.1. Circuit elèctric ...................................................................................................... 70

3.2.2. Circuit layout ........................................................................................................ 70

3.2.3. Fotografia ............................................................................................................. 71

4. Pressupost……………………………………………………………………………….. 72

4.1. Introducció ................................................................................................................... 73

4.2. Llista de preus unitaris ................................................................................................. 73

4.2.1. Capítol 1: Software ............................................................................................... 73

4.2.2. Capítol 2: Components ......................................................................................... 73

4.2.3. Capítol 3: Mà d‟obra ............................................................................................ 74

4.3. Quadre de descompostos .............................................................................................. 75

4.3.1. Capítol 1: Software ...............................................................................................75

4.3.2. Capítol 2: Components ..........................................................................................75

4.3.3. Capítol 3: Mà d‟obra .............................................................................................77

4.4. Resum del Pressupost ....................................................................................................78

5. Plec de condicions……………………………………………………………………….. 79

5.1. Reunits ..........................................................................................................................80

5.2. Exposen .........................................................................................................................80

5.2.1. Primer ....................................................................................................................80

5.2.2. Segon .....................................................................................................................80

5.3. Clàusules .......................................................................................................................80

5.3.1. Primera.- Objectius ...............................................................................................80

5.3.2. Segona.- Objecte de l‟acord ..................................................................................80

5.3.3. Tercera.- Condicions d‟acceptació del treball .......................................................80

5.3.4. Quarta.- Extensió de la col·laboració ....................................................................80

5.3.5. Cinquena.- Contingut dels programes específics ..................................................81

5.3.6. Sisena.- Coordinadors / Responsables ..................................................................81

5.3.7. Setena.- Emissió d‟informes .................................................................................81

5.3.8. Vuitena.- Durada ...................................................................................................81

5.3.9. Novena.- Principis d‟actuació ...............................................................................81

5.3.10. Desena.- Resolució de conflictes ..........................................................................81

6. Conclusions………………...……………………………………………………………. 83

7. Bibliografía………………………………………………………………………………. 85

8. Annexes………………………………………………………………………………..…. 87

8.1. Programació amb MPLAB IDE v8.4 ............................................................................85

8.1.1. Creació d‟un projecte ............................................................................................85

8.2. Entorn de simulació.......................................................................................................89

8.2.1. MPLAB SIM .........................................................................................................89

8.3. Proteus 7 ........................................................................................................................91

Page 5: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Índex

Pàgina 5 de 111

8.3.1. Creació de l‟esquema del circuit ...........................................................................91

8.3.2. Depuració i simulació del circuit ..........................................................................93

8.4. Imatges del programa Agilent IO Libraries Suite 15.3 .................................................98

8.5. Característiques principals del port E/S ......................................................................101

8.6. Codi font .....................................................................................................................104

8.7. Diagrames de flux .......................................................................................................107

Page 6: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

MEMORIA DESSCRIPTIVA

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre de 2010

Page 7: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 7 de 111

1.1. Objectiu

L‟objectiu d‟aquest projecte és dissenyar i realitzar un circuit que sigui capaç d‟establir i

controlar les comunicacions entre el multímetre Agilent 34401A i un PC via RS232. Això

permetrà automatitzar el procés de mesura tot just esmentat.

En primer lloc és important aconseguir que el microcontrolador envií les senyals amb la

tensió adequada per a que el multímetre les rebi correctament. A continuació, mirar en

quins formats aquest multímetre accepta les dades (comandaments) del microcontrolador.

En segon lloc, el multímetre ha ser capaç d‟enviar els resultats al microcontrolador tenint

en compte les tensions de les senyals i les senyals del bus de comunicacions.

En tercer lloc, una vegada el microcontrolador té guardat els resultats a la seva memòria,

s‟ha de procedir a enviar aquests a un ordenador, on prèviament serà configurat

adequadament per rebre els resultats.

Finalment s‟ha de dissenyar un circuit on es multiplexi els canals del multímetre i tots

aquest sigui controlat pel programa gravat al microcontrolador.

1.2. Antecedents

Els multímetres digitals multicanals generalment tenen un sistema de lectura i un sistema

de relés que multiplexen el canal que s‟està llegint. No tots són així ja que això fa que el

temps de lectura sigui gran perquè s‟ha de commutar i esperar a que s‟estabilitzi el relé i el

sensor que s‟està llegint.

Es va decidir fer d‟aquesta manera el projecte perquè un sistema amb múltiples sistemes de

lectura incrementen enormement el preu.

1.3. Titular del projecte

El titular del present projecte és:

- Nom: Escola Tècnica Superior d‟Enginyeria URV

- CIF: 47827623-C

- Adreça: Av. Països Catalans S/N, Tarragona

- Representant: Marc Lluch Porres

- Telèfon: +34977443005

1.4. Principi de funcionament

Al diagrama de blocs que a continuació es mostra a la Figura 1-1, es pretén donar una idea

del funcionament del circuit i s‟explicarà el funcionament breument.

Page 8: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 8 de 111

Figura 1-1. Diagrama de blocs del circuit

El microcontrolador com a element més important, ha de començar a enviar les ordres al

multímetre. Per arribar-hi han de passar per un inversor, anomenat Inversor Tx, aquest com

ja es comentarà més endavant, amplificarà la tensió de la senyal del microcontrolador. Una

vegada la senyal s‟hagi amplificat, passarà pel MAX232, que convertirà la senyal del

microcontrolador amb una senyal adequada per al connector DB9 i finalment arribar al

multímetre. El mateix procediment s‟usarà per enviar dades al PC. I es seguirà un camí

contrari per rebre dades del multímetre al microcontrolador.

El microcontrolador també donarà ordre de descodificació per així activar el relé adequat

en el moment adequat, i aquest relé es connectarà amb el sensor a mesurar.

A continuació es descriuran els components més importants del circuit.

1.4.1. El microcontrolador

El microcontrolador és un chip molt potent que s‟utilitza en qualsevol circuit que tingui la

necessitat de controlar i activar senyals, necessitat d‟utilitzar i controlar ports, de fer ús

d‟interrupcions, entre d‟altres. No s‟entrarà en detall ja que més endavant s‟explicarà més

específicament.

En aquest projecte s‟utilitza el microcontrolador 18F25J11 (tal i com es mostra en la

Figura 1-2) per poder enviar ordres de mesura al multímetre, activar els relés necessaris en

el moment necessari o rebre els resultats del multímetre. També és útil per poder establir la

comunicació i mantenir tot el procés lligat amb el temps.

Page 9: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 9 de 111

Figura 1-2. El microcontrolador

1.4.2. MAX 232

Aquest dispositiu serà l‟encarregat de convertir els nivells de les línies del port sèrie RS-

232 a nivells TTL i a l‟inrevés. És important destacar que només necessita una alimentació

de 5 V, ja que internament genera algunes tensions que són necessàries per al estàndard

RS-232. Altres integrats que utilitzen les línees RS-232 requereixen dos voltatges, +12 V i

-12 V, comentats amb més detall a l‟apartat 1.6.

Aquest circuit integrat conté dos convertidors de nivell TTL a RS232 i dos altres que,

converteixen de RS-232 a TTL.tal i com es mostra en la Figura 1-3.

Aquests convertidors són suficients per utilitzar les quatre senyals més utilitzades del port

sèrie del PC, la senyal TX, RX, RTS i CTS.

Figura 1-3. MAX 232

1.4.3. Descodificador

Un descodificador és un circuit combinacional que converteix un codi binari d‟entrada, de

N bits d‟entrada i M bits de sortida, tals que cada línea de sortida serà activada per una sola

de les combinacions possibles d‟entrada. Un descodificador de N entrades pot adreçar 2N

sortides.

Page 10: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 10 de 111

El descodificador CD4514BC (Figura 1-4) té 4 entrades, aleshores pot adreçar fins a 16

sortides. En aquest projecte només s‟utilitzaran 4 sortides ja que són suficients.

La funció que realitza aquest descodificador és adreçar les línies RB0, RB1, RB2 i RB3 del

microcontrolador i les sortides d‟aquest descodificador activaran els relés adequats.

Gràcies a aquest descodificador s‟estalvien pins del microcontrolador.

Figura 1-4. Descodificador CD4514BC

1.4.4. Connectors de 20 pins

Aquest connector (Figura 1-5) s‟utilitza per connectar mitjançant un bus, un altre circuit.

És necessari per posar-hi el bus de dades que comunicarà la senyal del descodificador amb

la senyal que li ha d‟arribar al relé pertinent.

Figura 1-5. Connector de 20 pins

1.4.5. Relé

És un dispositiu electromecànic, que funciona com un interruptor controlat per un circuit

electrònic al que, per a través d‟una bobina i un electroimant, s‟acciona un joc d‟un o varis

contactes que permeten obrir o tancar altres circuits elèctrics independents.

Aquests relés seran els encarregats de seleccionar el sensor pel qual s‟ha de fer la mesura.

Es pot veure a la Figura 1-6.

Figura 1-6. Relé PCB

Page 11: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 11 de 111

1.4.6. Connector DB9

El connector DB9 (originalment DE-9) és un connector analògic de 9 pins.

El connector DB9 s‟utilitza per connexions en sèrie, ja que permet una transmissió

asíncrona de dades segons l‟establer a la norma RS-232.

S‟utilitzarà un connector per la transmissió i recepció de dades entre el multímetre i el

microcontrolador i un altre connector per la transmissió de dades entre el microcontrolador

i un ordenador.

A la Figura 1-7 es pot veure un connector DB9 i la funció dels seus pins.

Figura 1-7. Connector DB9

1.4.7. Connector RJ-45

Aquest és l‟element on es connectarà el depurador de programa ICD2 de Microchip, i així

poder gravar el programa amb C al microcontrolador.

A la Figura 1-8 mostro aquest connector i una taula amb les funcions dels respectius pins.

Figura 1-8. Connector RJ-45

Page 12: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 12 de 111

1.4.8. Inversor CD4049UB

Aquest component l‟usarem per poder amplificar la senyal que envia el multímetre. A la

Figura 1-9 es pot veure el pinout d‟aquest.

Figura 1-9.Inversor CD4049UB

1.5. Possibles Solucions i Solució Adoptada

1.5.1. Entorn de treball

1.5.1.1. Possibles Solucions

Una vegada el circuit està creat, és important conèixer quin depurador/compilador emprar;

s‟utilitzarà aquest per veure el funcionament pas a pas del programa directament treballant

sobre el PIC.

Es podia escollir entre dos alternatives: el depurador ICD-U40 amb el compilador CCS tal

com es veu a la Figura 1-10 o el MPLAB ICD2 amb el compilador C18 com es mostra

Figura 1-11.

Figura 1-10. Depurador ICD-U40 Figura 1-11. Depurador MPLAB ICD2

Pel que fa a les diferències entre el depurador ICD-U40 i el depurador MPLAB ICD2 a

gran escala no són significatives.

En aquests depuradors ja no és necessari treure el PIC de la placa i posar-lo al

programador, es descarrega i depura el PIC sense necessitat de treure‟l de la placa. No cal

que tinguin font externa per poder funcionar, ja que aquests dos s‟alimenten del port USB.

Permeten depurar codis tant en llenguatge C com en ensamblador, fer execucions pas a pas

o aturar el programa quan desitgem mitjançant breakpoints.

Page 13: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 13 de 111

Aquests depuradors es poden programar utilitzant el compilador C de CCS o el C18, que

permeten desenvolupar programes en C enfocats al PIC.

Pel que fa als compiladors si que existeixen diferències entre ells. El compilador C de CCS

és més simple d‟usar i molt més intuïtiu que el C18. Una de les aventages principals del

CCS és que conté funcions ja implementades per programar els timers, les interrupcions,

els convertidors, etc. En canvi, en el C18 no hi ha tantes funcions i per programar certs

ports s‟ha de modificar directament els registres involucrats,per tant es pot programar més

lliurement.

En definitiva, es pot definir el CCS com a compilador de fàcil ús ja que no cal conèixer

molt bé el llenguatge en C. El C18 es pot caracteritzar en la potència i l‟optimització.

1.5.1.2. Solució Adoptada

Per l‟exposa‟t anteriorment, tot i que el CCS guanya a primera vista en facilitat de

programació, es va decidir usar el compilador C18 i el depurador MPLAB IDE ja que el

C18 és el compilador que Microchip fabrica pels seus propis microcontroladors. Microchip

conté una versió MPLAB per estudiants i compleix les necessitats per realitzar el projecte i

a través de la xarxa es pot aconseguir molts codis i manuals d‟ajuda.

1.5.2. Entorn de simulació

1.5.2.1. Possibles Solucions

Tenint en compte que una part important del projecte es centra en la programació del PIC,

és aconsellable comprovar abans que el programa que s‟emmagatzemarà al PIC sigui

l‟adequat per fer funcionar aquest com es desitja. Es farà simulant el circuit via software.

Es podria elegir entre dos alternatives: el simulador MPLAB SIM o el simulador Proteus

v7.4. La gran diferència entre aquests dos és la potència de simulació.

El MPLAB SIM és una eina de simulació molt senzilla que ens facilita el mateix MPLAP

IDE v8.40 (programa que inclou aquest simulador). És aconsellable utilitzar-la si es té com

a objectiu simular el circuit pas a pas i analitzar les variables a mesura que va avançant el

programa.

El Proteus v7.4 és l‟eina per excel·lència a l‟hora de simular un circuit en un PIC. S‟ha de

descarregar a través de la xarxa, directament de la casa Labcenter. Ofereix la possibilitat de

simular un codi microcontrolador de baix i alt nivell i simultàniament en simulació en

mode mix de SPICE. Això permet el disseny tant a nivell hardware com software i realitzar

la simulació en un únic entorn. Per això, hi ha tres potents subentorns com són: el ISIS per

al disseny gràfic, VSM (Virtual System Modelling) per la simulació i el ARES per al

disseny de plaques.

1.5.2.2. Solució Adoptada

Finalment es va considerar convenient una utilització conjunta. El simulador MPLAB SIM

va ser de gran utilitat per poder observar el canvi de les variables; per altre banda, el

simulador Proteus es va utilitzar per veure l‟efecte del microcontrolador connectat a un

circuit amb altres components i d‟aquesta manera analitzar-lo amb instruments de mesura

virtuals.

Page 14: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 14 de 111

1.5.3. Tipus de comunicació

1.5.3.1. Possibles solucions

El circuit creat pel projecte necessita comunicar-se amb el multímetre i amb el PC per

rebre i enviar les mesures dels sensors. Per això és necessari un bus per comunicar el

circuit amb el multímetre i amb el PC.

Es podia elegir entre dos alternatives: el bus GPIB com es veu a la Figura 1-12 o el RS-

232 com es mostra en la Figura 1-13.

Figura 1-12. Bus GPIB Figura 1-13. Bus RS-232

El bus GPIB o IEEE-488 permet que es connectin fins a 15 dispositius. La longitud

màxima del cable és de 20 metres amb un màxim de 4 metres entre dos equips. El bus és

síncron i paral·lel de 8 bits. La velocitat l‟imposa l‟equip més lent dels connectats al bus, ja

que tots els dispositius poden rebre a la vegada. La màxima velocitat de transmissió

d‟1Mbaud. Les 16 línees que componen el bus estan agrupades en tres grups d‟acord en les

seves funcions: 8 de bus de dades , 3 de bus de control de transferència de dades i 5 de bus

general.

En canvi el bus RS-232 està dissenyada per a distàncies curtes, de fins 15 metres segons la

norma, i per velocitats de comunicació baixes, de no més de 20 kbits/segon. L‟

interfície pot treballar en comunicació asíncrona o síncrona, i el canal pot ser de tipus

simplex, half duplex o full duplex.

1.5.3.2. Solució Adoptada

Per la familiarització d‟aquests anys d‟estudi i tenint coneixement del protocol es va optar

per l‟ús del bus RS-232. Tot i això,també cal remarcar que la comunicació asíncrona és

més simple i fàcil que la comunicació síncrona que és la que utilitza el bus GPIB.

1.5.4. Elecció del microcontrolador

1.5.4.1. Possibles solucions

L‟elecció del microcontrolador comporta l‟elecció més important ja que durant tot el

projecte es treballa sobre aquest (els seus registres, memòria, pins...).

Page 15: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 15 de 111

En aquest cas, l‟elecció estava centrada entre dos microcontroladors: el PIC 18F4520

(Figura 1-14) o el PIC 18F45J11 (Figura 1-15).

El PIC 18F4520 té una memòria de programa de 32 kB, la velocitat de la CPU és de 10

MIPS, una memòria RAM de 1.536 bytes, una memòria EEPROM de 256 bytes, conté un

port USART, 4 timers, 13 convertidors A/D, 2 comparadors i un total de 40 pins amb

encapsulat PDIP. El seu preu és de 3,25€.

Figura 1-14. Esquema dels pins del PIC18F4520

El PIC 18F25J11 té una memòria de programa de 32 kB, la velocitat de la CPU és de 12

MIPS, una memòria RAM de 3.800 bytes, no té memòria EEPROM, conté 2 ports

USART, 5 timers, 13 convertidors A/D, 2 comparadors i un total de 28 pins amb

encapsulat SPDIP. El seu preu és de 2,55€.

Figura 1-15. Esquema dels pins del PIC18F25J11

1.5.4.2. Solució adoptada

Inicialment, es va crear una placa de prova que tenia la funció de comunicar-se únicament

amb el multímetre i es va utilitzar el PIC 18F4520.

Després va haver la necessitat d‟enviar els resultats de les mesures al PC. Aleshores com

aquest microcontrolador no tenia dos ports USART, ja no es podia continuar usant.

Es va buscar un altre microcontrolador de la mateixa família 18F, i es van trobar alguns

que tenien dos ports USART. Un dels problemes que va sorgir va ser que la majoria tenien

uns encapsulats difícils de soldar (QFN).

Page 16: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 16 de 111

Finalment es trobar un amb encapsulat PDIP de la família 18FxxJxx (PIC18F45J11).

Aquest microcontrolador respecte al PIC 18F4520 presenta més memòria, 2 ports USART,

més velocitat de la CPU, consumeix molts menys (ja que conté la tecnologia nanoWatt) i

conté menys pins.(el preu del microcontrolador es redueix ja que hi ha menys silici).

Després d‟aquest raonament es va elegir el PIC 18F45J11.

1.5.5. Font d’alimentació

1.5.5.1. Possibles solucions

Una vegada triat el microcontrolador PIC 18F45J11,es va procedir a la seva alimentació.

Mirant el seu datasheet es troba que és necessari alimentar per separat el que seria el nucli

del microcontrolador i els pins I/O. El mateix datasheet ens proporciona un esquema on es

pot veure la correcta connexió, tal i com es pot veure en la Figura 1-16.

Figura 1-16. Esquema d‟alimentació del PIC18F25J11

Aquesta topologia de doble font permet al microcontrolador funcionar a 3,3 V amb els

dispositius lògics,mentre al nucli li arriba una tensió nominal inferior a 2,5V.

Tot i això, cal conèixer la millor manera d‟alimentar aquest microcontrolador. Dues de les

alternatives més adeqüades són les descrites a continuació:

- Alimentar el circuit amb dos fonts externes diferents per separat, és a dir, una font

que alimenti al microcontrolador amb 3,3 V i una altra a tots els altres components

del circuit amb 5 V.

- Alimentar el circuit amb una font externa amb 5 V per poder alimentar a tots els

dispositius de la placa i a l‟entrada de l‟alimentació del microcontrolador posar un

regulador de tensió de 5 V a 3,3 V i alimentar dins del rang al microcontrolador.

1.5.5.2. Solució adoptada

La solució adoptada es va basar en posar un regulador de tensió de 5 V a 3,3 V. Aquesta

solució guanya en comoditat ja que només utilitza una font d‟alimentació i a la vegada fa

que el circuit sigui més compacte.

1.6. Bus de comunicació RS-232

1.6.1. Protocol RS-232 del port sèrie

El port sèrie va ser la primera interfase que va permetre que els equips intercanviessin

informació amb el “món exterior”.

Page 17: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 17 de 111

Actualment aquesta interfase que durant anys ha estat dominadora alhora de comunicar-

s‟hi entre equips, s‟ha vist superada per noves interfases, com la interfase USB o Firewire.

Aquestes modernes interfases proporcionen major velocitat de comunicació i menor

cablejat.

La comunicació RS-232 s‟estableix entre un DTE (Equip Terminal de Dades), com pot ser

el PC o el multímetre, i un DCE (Equip de Comunicació de Dades), com pot ser el

microcontrolador.

S‟estableix que la longitud màxima entre el DTE i el DCE no ha de superar els 15 m i la

velocitat màxima de transmissió es de 20000 bps.

Per mitjà del protocol RS-232 s‟estandarditzen les velocitats de transferència de dades, la

forma de control que utilitza aquesta transferència, els nivells de voltatges utilitzats, el

tipus de cable permès, les distancies entre equips i els connectors.

A nivell de software, la configuració principal que s‟ha de donar a una connexió RS-232 és

la selecció de la velocitat en bauds (1200, 2400, 4800, 9600...), la verificació de dades

(paritat par, impar o sense paritat), els bits de parada després de cada dada enviada (un o

dos), i la quantitat de bits per dada (7 o 8). Aquestes configuracions es poden veure

gràficament a la Figura 1-17.

Figura 1-17. Trama d‟enviament RS232

1.6.2. Adaptació de les tensions

El circuit basat amb un microcontrolador s‟ha de comunicar amb un PC i amb un

multímetre. Aquesta comunicació pot realitzar-se utilitzant els ports de l‟ordenador, ja

sigui el port paral·lel o el port sèrie; en el cas del port sèrie té l‟inconvenient que un

microcontrolador treballa amb nivell TTL i el port sèrie de l‟ordenador treballa amb nivells

de voltatges d‟acord amb la norma RS-232.

Per poder establir aquesta comunicació és necessari obtenir un mòdul adaptador de RS-232

a TTL, aquest mòdul ha se ser capaç de convertir els nivells de voltatge RS-232 a TTL per

realitzar uns transmissió de dades (des de l‟ordenador) i de TTL a RS-232 per realitzar una

recepció de dades (des del microcontrolador), aquest mòdul adaptador és l‟anomenat

MAX232, tal i com es mostra en la Figura 1-18.

Page 18: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 18 de 111

Figura 1-18. Diagrama MAX232

En la Figura 1-18 es poden observar dos terminals per connectar senyals amb nivells

de voltatges TTL (que seran adaptades en senyals amb nivell de voltatge RS232) i dos

terminals per connectar senyals amb nivells de voltatge RS232 (que seran adaptades a

senyals amb nivells lògics TTL).

1.6.3. Comunicació Sèrie RS-232 Microcontrolador–Multímetre i

Microcontrolador–PC

Un dels aspectes més importants a tenir en compte en la comunicació del

Microcontrolador–Multímetre i en la comunicació Microcontrolador–PC és l‟adaptació de

la tensió del microcontrolador de 3,3 V amb la del MAX232 que utilitza nivells TTL (0 V

o 5 V).

A causa de que aquest microcontrolador sigui un “Low Power”, és a dir, que utilitzi una

tensió de 3,3 V, i no de 5 V com els microcontroladors més normals, fa que es tingui que

utilitzar un circuit adaptador.

Aquest fet es va poder observar després d‟algunes proves d‟enviament de caràcters. A la

sortida del PIC es mostrava una trama amb tensió de 0 V-3,3 V, tal com queda reflexat a la

Figura 1-19. Però a la sortida del MAX232 no s‟observava aquesta trama. Es va deduir

que aquesta tensió de 3,3 V no era suficient per fer funcionar el MAX232, ja que aquest

funciona amb nivell TTL.

Page 19: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 19 de 111

Figura 1-19. Trama d‟enviament sense amplificar la senyal

Un cop analitzat aquest error es van afegir els inversors CMOS (enlloc dels transistors

bipolars de la família 74xx) ja que aquests no funcionaven perquè el pic no tenia suficient

potència. Aquests CMOS tenien la funció d‟amplificar la senyal de 3,3 V a 5 V. Cada

inversor interiorment conté un circuit com el de la Figura 1-20.

Figura 1-20. Transistor CMOS

Aquest inversor consta d‟un transistor PMOS i un transistor NMOS connectats en sèrie. El

senyal d‟entrada s‟aplica simultàniament a les portes dels dos transistors. Els seus

drenadors estan connectats entre ells, i en aquest node es pren el senyal de sortida.

Resumin el seu funcionament, es pot confirmar que quan la senyal d‟entrada Vi = 3,3 V, el

PMOS està en tall i el NMOS està en zona òhmica. Com estan en sèrie el corrent a través

del NMOS ha de ser igual al corrent a través del PMOS, que és 0 (ja que està en tall). Això

només és possible si la tensió Vds del NMOS es 0, la qual cosa implica que la tensió de

sortida V0 = 0.

En canvi, quan la tensió d‟entrada Vi = 0, NMOS està en tall i el PMOS està en zona

òhmica. Com estan en sèrie el corrent a través del PMOS ha de ser igual al corrent a través

del NMOS, que és 0 (ja que està en tall). Això només es possible si la tensió Vds del PMOS

es 0, la qual cosa implica que la tensió de sortida V0 = Vdd.

Page 20: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 20 de 111

Una vegada es que va veure que el MAX232 rebia els 5 V del PIC, es va observar que

aquest tenia una component capacitativa molt gran i no permetia anar de 5 V a 0 V en el

temps necessari per tenir una bona comunicació. Per això es va deduir que el driver de

sortida del PIC no podia absorbir la tensió emmagatzemada en el condensador del gate del

primer inversor, així que se li va connectar una resistència Pull-down per tal d‟absorbir

aquesta tensió.

Finalment, es va aconseguir que la senyal li arribes correctament al MAX232 i retornés la

senyal amb nivells de voltatge RS232, tal com s‟observa a la Figura 1-21.

Figura 1-21. Senyal de sortida del MAX232

Tot el circuit electrònic descrit anteriorment es pot observar a la Figura 1-22.

Figura 1-21. Esquema elèctric d‟enviament de dades

1.6.4. Comunicació Sèrie RS-232 Multímetre – Microcontrolador

Pel que fa a la comunicació Multímetre –Microcontrolador, també s‟ha d‟adaptar la tensió

del MAX 232 amb nivells TTL als 3,3 V del microcontrolador.

Es va observar que el pic no rebia els senyals TTL correctament i és per això que es van

inserir els inversors. I com el MAX232 no té problemes per absorbir la tensió

emmagatzemada al gate del inversor no van ser necessàries les resistències Pull-Down.

Page 21: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria descriptiva

Pàgina 21 de 111

A la Figura 1-22 es pot veure el circuit descrit anteriorment.

Figura 1-22. Esquema elèctric de recepció de dades

Page 22: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

MEMORIA DE CÀLCUL

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre de 2010

Page 23: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 23 de 111

2.1. El microcontrolador 18F25J11

2.1.1. El Nucli

2.1.1.1. Característiques principals

El nucli de la CPU del microcontrolador 18F25J11 presenta les següents característiques:

- Bus de dades de 8 bits i bus d‟adreces de 12 bits

- Funcionament operacional fins a 12 MIPS

- Adreçament lineal de fins a 32 kBytes de memòria de programa i 3.800 Bytes de

memòria RAM

- 16 bancs de registres de treball

- ALU de 8 bits

2.1.1.2. Característiques de l’estructura de l’oscil·lador

- Oscil·lador intern d‟alta precisió amb derives inferiors de l‟1% dins del rang de

temperatures de funcionament.

- Dos modes del rellotge extern, fins a 48 MHz (12 MIPS)

- Oscil·lador intern de 31 kHz, oscil·lador intern ajustable de 31kHz i 8MHz o

48MHz en PLL

- Monitor de rellotge a prova d‟errors (permet el apagat segur si un rellotge es para)

2.1.1.3. Tecnologia nanoWatt

El microcontrolador 18F45J11 incorpora una sèrie de característiques que poden reduir

significativament el consum de potència durant l‟operació. Les característiques

fonamentals són:

- Modes d‟execució alternatius: el rellotge pot ser canviat via software mitjançant la

font de rellotge del Timer 1 o l‟oscil·lador intern RC durant l‟execució. El consum

de potència durant l‟execució pot ser reduït fins un 90%

- Múltiples maneres de repòs: el controlador també es pot executar amb el nucli de la

CPU inhabilitat però els perifèrics encara actius. En aquests estats el consum

d‟energia pot ser reduït encara més, a només 4% dels requeriments normals

d‟operació.

2.1.1.4. Altres característiques especials

- Comunicacions: la família PIC 18F45J11 incorpora una gamma de perifèrics de

comunicació en sèrie i en paral·lel. Aquest dispositiu inclou també dos mòduls

USART i dos Ports Mestres Sèries Síncrons (MSSP), capaços d‟operar en modes

SPI i en I2C (mestre o esclau). Aquest dispositiu també té un port mestre i pot ser

configurat ja sigui com a Port Mestre Paral·lel (PMP) o Port Esclau Paral·lel (PSP).

- Mòduls ECCP: aquest dispositiu incorpora millora de tres mòduls com

Captura/Comparació/PWM (ECCP) per maximitzar la flexibilitat en operacions de

Page 24: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 24 de 111

control. Fins quatre bases diferents de temps es pot usar per dur a terme diverses

operacions a la vegada. Cada uns dels ECCPs ofereix fins a quatre sortides PWM

- Conversor A/D de 10 bits: aquest mòdul incorpora temps d‟adquisició programable,

permetent la selecció de canal i l‟ inici de conversió sense esperar el període de

mostreig

- Temporitzador Watchdog (WDT) millorat: aquesta versió millorada incorpora un

prescaler de 16 bits, permetent un ample rang de temps d‟espera que sigui estable

en temps d‟operació i temperatura

2.1.2. La CPU

Es podria caracteritzar la CPU en funció de tres característiques bàsiques:

- En funció de la mida de les dades, que es pot dividir en:

4 bits: aplicacions simples i baix cost

8 bits: aplicacions simples/mitjanes i baix cost. Aquest és el cas del PIC18F25J11

16 bits: aplicacions mitjanes i cost normal

32 bits: aplicacions complexes i cost elevat

- En funció del conjunt de instruccions, que es pot dividir en:

RISC( Reduced Instruction Set Computer), les instruccions són de mida fixa i

presentades en un reduït nombre de formats, són ràpides d‟execució

CISC (Complex Instruction Set Computer), conjunt de instruccions que es

caracteritza per ser molt gran i permetre operacions complexes, necessiten més

temps d‟execució

- En funció de l‟arquitectura dels busos, es pot dividir en:

Von Newman: els busos de dades i de direccions són compartits per la memòria

de programa i de dades. Simplifica el disseny i el cost.

Harvard: disposa de busos diferents per accedir a la memòria de dades i a la

memòria de programa, tal com mostra la Figura 2-1. Això permet accedir

simultàniament a la memòria de dades i a la memòria de programa. Es pot executar

una instrucció (accés a memòria de dades) mentre es llegeix de la memòria de

programa la següent instrucció:

MEMORIA DE

DATOSCPU

MEMORIA DE

INSTRUCCIONES

8 12

Bus de datos Bus de Instrucciones

Figura 2-1. Esquema d‟arquitectura Harvard

Page 25: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 25 de 111

A la Figura 2-2 es pot veure el diagrama de blocs del dispositiu.

Figura 2-2. Diagrama de blocs del PIC 18F25J11

2.1.3. Estructura de la memòria

2.1.3.1. Memòria de programa

Aquesta es pot considerar com la memòria d‟ instruccions, on es guarda el programa que el

microcontrolador ha d‟executar.

Page 26: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 26 de 111

El PIC 18F25J11 disposa d‟ una memòria de programa de 32 Kbytes, va des de la posició

0000H fins la FFFFH. Les instruccions ocupen 2 bytes (excepte CALL, MOVFF, GOTO i

LSFR que ocupen 4 bytes), per tant, la memòria de programa pot emmagatzemar fins a

16.384 instruccions.

El comptador de programa és de 21 bits, és a dir, pot direccionar fins a 2Mbytes en l‟espai

de memòria de programa.

Quan realitzem l‟operació de lectura per damunt de la posició FFFFH el resultat es „0‟

(equivalent a l‟ instrucció NOP).

A la Figura 2-3 es pot veure el mapa de la memòria de programa.

Figura 2-3. Mapa de la memòria de programa

La memòria de programa es divideix en dos parts:

- La memòria d‟usuari: que conté el vector del Reset que és la 0000H, la taula dels vectors

d‟ interrupcions d‟alta prioritat que és la 0008H i la de baixa prioritat que és la 0018H i la

pròpia memòria de programa de tipus FLASH

- La memòria de configuració: és el bloc de memòria que va des la posició 7FF8h fins

7FFFh de memòria de programa. En aquesta memòria s‟inclouen els bits de configuració

(opcions de oscil·lador, Watch-Dog ...) i els registre d‟identificació que contenen

informació del model del dispositiu

Aquesta dos memòries es poden apreciar a la Figura 2-4.

Page 27: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 27 de 111

Figura 2-4. Memòria d‟usuari i memòria de configuració

2.1.3.2. Memòria de dades

El PIC18F45J11 disposa d‟una memòria RAM de dades de 3,8 Kbytes (15 bancs de 256

bytes).

Disposa de registres de propòsit general (GPR) i de registres de funcions especials (SFR)

que són los que poden controlar el funcionament de la CPU, interrupcions i Reset, i també

pel que fa les unitats funcionals del microcontrolador com els timers, els convertidors...

El mapa de memòria de dades es pot veure a la Figura 2-5.

Page 28: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 28 de 111

Figura 2-5. Mapa de la memòria de dades

2.1.4. Ports d’entrada/sortida

Els ports d‟entrada/sortida són el conjunt de patilles que serveixen per l‟entrada i sortida de

dades del PIC. Totes les patilles, excepte VSS, VDD, MCLR i OSC1/CLK1 es reparteixen

entre les senyals que requereixen els perifèrics i les línees E/S de propòsit general. Totes

les línees digitals E/S disposen d‟una funció alternativa associada a alguna part específica

del chip. A la Figura 2-6 podem veure l‟estructura interna d‟una línea d‟entrada/sortida.

Page 29: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 29 de 111

Figura 2-6. Estructura interna d‟una línea I/O

El PIC 18F25J11 disposa de 3 ports d‟entrada/sortida un total de 20 línees digitals

d‟entrada/sortida, tal com mostra la Taula 2-1.

Port Línees d’entrada / sortida

PORT A 6 línees d‟entrada /sortida

PORT B 7 línees d‟entrada /sortida

PORT C 7 línees d‟entrada /sortida

Taula 2-1. Les línees dels ports d‟entrada/sortida

Cada port E/S té associat 3 registres:

- Registre TRIS: registre de la direcció de les dades que determina si les línees són

d‟entrada o de sortida.

- Registre PORT: registre de la porta E/S que conté el valor de les línees d‟entrada.

- Regitre LAT: registre latch d‟E/S que emmagatzema el valor que treuen les línees

E/S.

Els registres TRIS

Com ja s‟ha comentat anteriorment, aquest registre indica quina patilla associada de la

línea E/S està configurada com a entrada i quina com a sortida. Si el bit TRIS de la patilla

és „1‟ aleshores la patilla està configurada com a entrada. En cas contrari, si val „0‟, la

patilla estarà configurada com a sortida.

Totes les patilles de les portes estan configurades per defecte com a entrades, que és el que

passa després d‟un Reset.

Els registres PORT

A través del registre PORT s‟accedeix a les dades existents a les patilles d‟E/S. Es pot

llegir o escriure en aquest registre. Quan llegim, es llegeix el valor que reben o tenen les

Page 30: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 30 de 111

patilles E/S, mentre que quan escrivim en aquest registre, escrivim el valor al registre latch

corresponent.

Escriure en un port implica tres coses: que les patilles són llegides, es modifica el valor i

després s‟escriu al latch de dades.

Quan s‟utilitzen instruccions de lectura i escriptura als registres PORT, s‟ha de tenir

especial precaució quan les patilles E/S es configuren com a entrada. Si una patilla E/S

configurada com a entrada i després d‟un temps es canvia a sortida, pot produir un valor de

sortida inesperat. Això passa perquè una instrucció de lectura i escriptura llegeix el valor

instantani de la patilla d‟entrada i el carga al latch de dades.

Els registres LAT

El registre LAT associat a una patilla d‟E/S elimina els problemes que poden passar en les

instruccions de lectura, modificació i escriptura.

Una lectura del registre LAT retorna els valors guardats als registre latch de sortida del

port, en lloc dels valors de les patilles E/S. L‟operació de lectura-modificació-escriptura al

registre LAT associat a un port d‟E/S, evita la possibilitat d‟escriure els valors de la patilla

d‟entrada als latch del port. Una escriptura al registre LAT té el mateix efecte que escriure

al registre PORT.

A continuació s‟enumeren una sèrie de diferències entre el registre PORT i el LAT:

- Una escriptura al registre PORT escriu el valor de les dades al registre latch del

port.

- Una escriptura al registre LAT escriu el valor de les dades al registre latch del port.

- Una lectura del registre PORT llegeix el valor de les dades dels ports E/S.

- Una lectura del registre LAT llegeix el valor de les dades guardades al registre latch

del port.

2.1.5. Mòdul USART

El mòdul del PIC que implementa el port E/S sèrie síncron i asíncron és l‟anomena‟t

USART (Universal Synchronous Asynchronous Receiver Transmitter), es pot veure un

diagrama de bloc a la Figura 2-7. En aquest projecte s‟usarà en mode asíncron.

Figura 2-7. Bloc del mòdul USART

2.1.5.1. Registres usats i associats al mòdul USART

El mòdul USART disposa d‟una sèrie de registres, que seguidament seran explicats.

Registre RCREG: registre que emmagatzema el caràcter rebut.

Page 31: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 31 de 111

Registre TXREG: registre on s‟escriu el caràcter que es vol enviar.

Registre RCSTA: registre d‟estat i control de la recepció de dades. A la Figura 2-8 es pot

veure el registre RCSTA i a la Taula 2-3 l‟explicació dels bits RCSTA

importants.

Figura 2-8. Registre RCSTA

bit 7 SPEN: Bit d‟activació del port sèrie

0 = Port sèrie desactivat

1 = Port sèrie activat (Se configura les línees RC6/TX/CK i RC7/RX/DT com a línees del

port sèrie)

bit 6 RX9: Bit d‟habilitació del mode de 8 o 9 bits en recepció

0 = S‟habilita el mode de 8 bits en recepció

1 = S‟habilita el mode de 9 bits en recepció

bit 4 CREN: Bit d‟habilitació de recepció continua

0 = Recepció inhabilitada

1 = Recepció habilitada

bit 3 ADDEN: Bit d‟habilitació de la detecció de direcció en el mode asíncron de 9 bits

0 = Detecció de direcció deshabilitada (tots els bytes rebuts en el registre de desplaçament

de recepció són processats independentment del valor del 9º bit rebut)

1 = Detecció de direcció habilitada (només es processa un byte rebut en el registre de

desplaçament de recepció si el 9º bit està a „1‟)

bit 2 FERR: Bit d‟error de format (només lectura)

0 = No s‟ha produït error de format

1 = S‟ha produït error de format

bit 1 OERR: Bit d‟error de sobreescriptura (només lectura)

0 = No s‟ha produït error de sobreescriptura

1 = S‟ha produït error de sobreescriptura

bit 0 RX9D: Valor del 9º bit rebut

Taula 2-3. Bits del registre RCSTA

Registre TXSTA: registre que controla la velocitat de transmissió. A la Figura 2-9 es pot

veure el registre TXSTA i a la Taula 2-4 els bits importants del registre

TXSTA .

Page 32: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 32 de 111

Figura 2-9. Registre TXSTA

bit 6 TX9: Bit d‟habilitació del mode de 9 bits en transmissió

0 = S‟habilita el mode de 8 bits en transmissió

1 = S‟habilita el mode de 9 bits en transmissió

bit 5 TXEN: Bit d‟habilitació de la transmissió

0 = Transmissió inhabilitada

1 = Transmissió habilitada

bit 4 SYNC: Bit de selecció del mode de treball del EUSART

0 = Selecció del mode asíncron

1= Selecció del mode síncron

bit 2 BRGH: Bits de selecció del mode d‟alta velocitat de comunicació (Baudrate) en

mode asíncron.

0 = Selecció de baixa velocitat de comunicació

1 = Selecció d‟alta velocitat de comunicació

bit 1 TRMT: Bit d‟estat del registre de desplaçament de transmissió

0 = Registre de desplaçament de transmissió ocupada

1 = Registre de desplaçament de transmissió buida

bit 0 TX9D: Valor del 9º bit de transmissió (pot utilitzar -se com bit de paritat o per

distingir entre direcció o dato als busos mestre -esclau)

Taula 2-4. Bits del registre TXSTA

Registre BAUDCON: És el registre que controla la velocitat de comunicació. A la Figura

2-10 es pot veure el registre BAUDCON i a la Taula 2-5 els bits

importants del registre BAUDCON.

Figura 2-10. Registre BAUDCON

Page 33: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 33 de 111

bit 7 ABDOVF: Bit de desbordament d‟ autodetecció de la velocitat de comunicació

0 = No s‟ha produït desbordament durant l‟autodetecció

1 = S‟ha produït desbordament durant l‟ auto- detecció (s‟ha de posar a „0‟ per software)

bit 6 RCIDL: Bit d‟Status de l‟operació en marxa

0 = Hi ha operació de recepció en marxa

1 = No hi ha operació de recepció en marxa

bit 4 SCKP: Bit de selecció de polaritat de la senyal de rellotge en mode asíncron

0 = La dada està disponible al nivell baix de la senyal de rellotge (després del flanc de

baixada)

1 = La dada està disponible al nivell alt de la senyal de rellotge (després del flanc de

pujada)

bit 3 BRG16: Bit d‟ habilitació del generador de velocitat de comunicació de 16 bits

0 = Generador de velocitat de comunicació de 8 bits (sol SPBRG)

1 = Generador de velocitat de comunicació de 16 bits (SPBRG i SPBRGH)

bit 1 WUE: Bit d‟habilitació del mode d‟autoactivació en mode asíncron

0 = Mode d‟autoactivació inhabilitat

1 = Mode d‟autoactivació habilitat (quan es detecta un flanc de baixada en la línea RX es

posa a „1‟ el flag RCIF)

bit 0 ABDEN: Bit d‟habilitació del mode d‟autodetecció de la velocitat de comunicació

0 = Mode d‟autoactivació inhabilitat

1 = Mode d‟autoactivació habilitat en la següent recepció

Taula 2-5. Bits del registre BAUDCON

2.1.5.2. Generació de la velocitat de comunicació per al mode asíncron

El microcontrolador 18F25J11 disposa d‟un generador de velocitat de comunicació. Es

tracta d‟un temporitzador on la seva freqüència es controla per un registre. El registre pot

ser de 8 bits (SPBRG) o de 16 bits ([SPBRGH;SPBRG]). El generador de velocitat de

comunicació té dos velocitats de funcionament que es poden seleccionar per mitjà del bit

BGRH (TXSTA).

A la Taula 2-11 s‟estableix com calcular la velocitat de comunicació per al mode asíncron

en funció dels valors dels bits BRGH i BRG16 i dels registres SPBRGH i SPBRG:

Page 34: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 34 de 111

Bits de configuració Mode BRG/EUSART Fórmula Baud

Rate

SYNC BRG16 BRGH

0 0 0 8-bit/Asíncron Fosc/[64(n+1)]

0 0 1 8-bit/Asíncron Fosc/[16(n+1)]

0 1 0 16-bit/Asíncron

0 1 1 16-bit/Asíncron

1 0 x 8-bit/Síncron Fosc/[4(n+1)]

1 1 x 16-bit/Síncron

Taula 2-11. Fórmules de càlcul del BaudRate

2.1.5.3. Càlcul del BaudRate

Per calcular el valor del BaudRate només s‟ha d‟aplicar les següents formules:

1:64__

SPBRGxSPBRGHx

FdesitjatRateBaud OSC

116/__/ desitjatRateBaudFX OSC

116/9600/20000000X

1291130X

9615112916/20000000__ calculatRateBaud

desitjatRateBauddesitjatRateBaudcalculatRateBaudError __/____

16.09600/96009615Error

La Taula 2-12 mostra el valor del registre SPBRG, sabent els valors Fosc, BRGH, BRG16

i BAUDRATE.

Taula 2-12. Valor del registre SPBRG

2.1.5.4. Recepció en el mode asíncron de la USART

El bloc de recepció de la USART incorpora un registre de desplaçament sèrie (RSR). Les

dades entren en sèrie pel pin RC7/RX i són mostrejades pel bloc de lectura de bits

(treballa a una freqüència 16 vegades el BaudRate). Si el bit d‟habilitació de recepció del

Page 35: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 35 de 111

CREN està a „1‟, el bloc de lectura de bits identifica els bits rebuts (bit Start, bits de dades,

9º bit i bit Stop) i els va passant en sèrie al RSR. Una vegada s‟han rebut tots els bits

corresponents a un byte el valor rebut es passa en paral·lel de RSR al registre RCREG.

D‟aquesta manera el registre RSR queda preparat per rebre una nova dada.

A la Figura 2-11, es mostra un diagrama de blocs que explica aquestes accions.

Figura 2-11. Diagrama de blocs de la recepció en mode asíncron de la USART

Si durant la recepció es produeix algun error de format (valor del bit Stop „0‟ al lloc de „1‟)

o de sobreescriptura (es rep un nou byte abans que el registre RSR s‟hagi posat al RCREG)

es posarà a „1‟ el bit corresponent (FERR/OERR).

Cada vegada que es rep una dada el flag RCIF es posa a „1‟. Si el bit d‟habilitació de

la interrupció de recepció del USART està a „1‟ es generarà una interrupció. El bit RCIF és

només de lectura, se posa a „1‟ quan arriba una nova dada a RCREG i es posa a „0‟

automàticament quan es llegeix aquest registre.

Si el mode de 9 bits s‟ha activat (bit RX9 a „1‟) el valor del 9º bit rebut quedarà

emmagatzemat en el bit RX9D.

2.1.5.5. Transmissió en el mode asíncron de la USART

El bloc de transmissió de la USART incorpora un registre de desplaçament sèrie (TSR) que

s‟encarrega d‟enviar en sèrie pel pin RC6/TX els bits de dades a transmetre. El registre

TSR s‟encarrega d‟enviar a més dels 8 bits de dades, el bit de Start i el bit de Stop. Si el bit

TX9 està a „1‟ també s‟enviarà com el 9º bit el valor que contingui el TX9D. La cadència

d‟aquesta transmissió ve determinada per la senyal de rellotge produïda pel generador de

velocitat de comunicació per tal que aquesta senyal de rellotge arribi a TSR el bit TXEN ha

d‟estar a „1‟ (habilitació de la transmissió).

A la Figura 2-12 es veu un diagrama de blocs on s‟explica aquestes accions.

Page 36: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 36 de 111

Figura 2-12. Diagrama de blocs de la transmissió en mode asíncron de la USART

El bit TRMT es posa a „1‟ quan el registre TRMT està buit (aquest bit és només de

lectura). El bit TRMT no està associat a cap mecanisme d‟interrupció, serveix únicament

per saber quan una dada ha estat completament transmesa.

El flag TXIF es posa a „1‟ quan el registre TXREG està buit. El bit TXIF es només de

lectura, es posa automàticament a „0‟ quan es torna a escriure un valor en TXREG i es

manté a „0‟ fins que aquest valor passi de TXREG a TSR. Si el bit TXIF està a „1‟ i el bit

d‟habilitació de la interrupció de transmissió del USART està a „1‟ es generarà una

interrupció. Per tant, únicament s‟ha d‟habilitar l‟ interrupció de transmissió del EUSART

després d‟escriure en TXREG la primera dada que volem transmetre i hem de inhabilitar-la

quan s‟hagi enviat l´ última dada. Per contra, s‟estaria generant contínuament interrupcions

de transmissió del USART.

2.1.6. El controlador d’interrupcions

2.1.6.1. Introducció al sistema d’interrupcions

Com ja es coneix, les interrupcions eviten que la CPU explori contínuament el valor d‟un

registre, alliberant així feines no necessàries.

Hi ha dos tipus d‟interrupcions possibles: una mitjançant una acció interna que podria ser

quan es produeix un desbordament d‟algun registre, i l‟altra per una acció externa que

podria ser l‟activació d‟algun pin.

El PIC18F25J11 té moltes fonts d‟interrupció i una funció de prioritat d‟interrupció que

permet més fonts d‟interrupció assignades a un nivell d‟alta o baixa prioritat.

El vector d‟interrupció d‟alta prioritat està en la 0008h i el vector d‟interrupció de baixa

prioritat està en la 0018h.

Hi ha 13 registres que s‟utilitzen per controlar l‟operació de la interrupció. Aquests

registres són els següents:

• RCON

• INTCON

• INTCON2

• INTCON3

• PIR1, PIR2, PIR3

Page 37: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 37 de 111

• PIE1, PIE2, PIE3

• IPR1, IPR2, IPR3

2.1.6.2. Registres usats i associats a les interrupcions

Registre RCON: És el registre que conté els bits usats per determinar la causa de l‟últim

Reset o el despertador del mode Idle o Sleep. El registre RCON també

conté el bit que permet les prioritats en les interrupcions. A la Figura

2-13 es veu el registre RCON i a la Taula 2-13 es mostra els bits

importants del registre RCON.

Figura 2-13. Registre RCON

bit 7 IPEN: Bit d‟habilitació de prioritats en les interrupcions

0 = Sistema de prioritat en les interrupcions inhabilitat

1 = Sistema de prioritat en les interrupcions habilitat

bit 5 !CM: Bit d‟indicació de coincidència de bandera

0 = Si hi ha hagut falta de coincidència del Reset

1 = No hi ha hagut una falta de coincidència del Reset

bit 4 !RI: Bit d‟indicació d‟instrucció Reset

0 = La instrucció Reset no s‟ha executat

1 = La instrucció Reset s‟ha executat causant un reinici del dispositiu

bit 3 !TO: Bit d‟indicació del temps d‟espera del Watch Dog(WD)”

0 = El temps d‟espera del WD ha passat

1 = Després de l‟engegada (power-up) o d‟una instrucció CLRWDT o SLEEP

bit 2 !PD: Bit d‟indicació de detecció del “Power-Down”

0 = Per executar una instrucció SLEEP

1 = Després de Power-Up o una instrucció CLRWDT

bit 1 !POR: Bit d‟indicació de Reset per engegada

0 = Hi ha hagut un Reset per engegada

1 = No hi hagut un Reset per engegada

bit 0 !BOR: Bit d‟indicació de Reset per fallo d‟alimentació

0 = Hi ha hagut un Reset per fallo d‟alimentació

1 = No hi ha hagut un Reset per fallo d‟alimentació

Page 38: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 38 de 111

Taula 2-13. Bits del registre RCON

Registre INTCON: És el registre que conté les habilitacions, prioritats i bits de bandera de

les interrupcions. A la Figura 2-14 es mostra el registre INTCON i a la

Taula 2-14 els bits importants del registre INTCON.

Figura 2-14. Registre INTCON

bit 7 GIE/GIEH: Bit d‟habilitació global de les interrupcions. La seva funció depèn del

valor de IPEN.

IPEN = „0‟

GIE = „0‟ Interrupcions inhabilitades a nivell global

GIE = „1‟ Interrupcions habilitades a nivell global

IPEN = „1‟

GIEH = „0‟ Interrupcions d‟alta prioritat inhabilitades a nivell global

GIEH = „1‟ Interrupcions d‟alta prioritat habilitades a nivell global

bit 6 PEIE/GIEL: Bit d‟habilitació global de les interrupcions de perifèrics. La seva

funció depèn del valor de IPEN.

IPEN = „0‟

PEIE = „0‟ Interrupcions de perifèrics inhabilitades a nivell global

PEIE = „1‟ Interrupcions de perifèrics habilitades a nivell global

IPEN = „1‟

GIEL = „0‟ Interrupcions de baixa prioritat inhabilitades a nivell global

GIEL = „1‟ Interrupcions de baixa prioritat habilitades a nivell global

bit 4 INT0IE: Bit d‟habilitació de la interrupció externa 0

0 = Interrupció externa 0 inhabilitada

1 = Interrupció externa 0 habilitada

bit 1 INT0IF: Bit d‟indicació de la interrupció externa 0

0 = No s‟ha produït un flanc en la línea RB0/INT0

1 = S‟ha produït un flanc en la línea RB0/INT0

Taula 2-14. Bits del registre INTCON

Registres PIR: Són registres que contenen els bits de bandera individuals per a les

interrupcions de perifèrics. Degut al gran nombre de fonts de interrupció de

perifèrics, hi ha tres registres de sol·licitud de interrupció de perifèrics

(PIR1, PIR2 i PIR3). Al programa només s‟ utilitzarà el registre PIR1.

Page 39: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 39 de 111

Registre PIR1: A la Figura 2-15 es mostra el registre PIR1 i a la Taula 2-15 es mostra els

bits importants del registre PIR1.

Figura 2-15. Registre PIR1

bit 5 RCIF: Indicació de la interrupció de recepció del EUSART

0 = El buffer de recepció del EUSART (RCREG) està buit

1 = El buffer de recepció del EUSART (RCREG) està ple

bit 4 TXIF: Indicació de la interrupció de transmissió del EUSART

0 = El buffer de recepció del EUSART (TXREG) està ple

1 = El buffer de recepció del EUSART (TXREG) està buit

Taula 2-15. Bits del registre PIR1

Registres PIE: Són registres que conten els bits individuals d‟habilitació per a les

interrupcions de perifèrics. Degut a les diverses fonts d‟interrupció de

perifèrics, hi ha tres registres (PIE1, PIE2 i PIE3). Només s‟utilitzarà el

registre PIE1 i el registre PIE3.

Registre PIE1: A la Figura 2-16 es mostra el registre PIE1 i a la Taula 2-16 es mostra els

bits importants del registre PIE1.

Figura 2-16. Registre PIE1

bit 5 RC1IE: Bit d‟habilitació de la interrupció de recepció del EUSART

0 = Interrupció de recepció del EUSART inhabilitada

1 = Interrupció de recepció del EUSART habilitada

bit 4 TX1IE: Bit d‟habilitació de la interrupció de transmissió del EUSART

0 = Interrupció de transmissió del EUSART inhabilitada

1 = Interrupció de transmissió del EUSART habilitada

Taula 2-16. Bits del registre PIE1

Registre PIE3: A la Figura 2-17 es mostra el registre PIE3 i a la Taula 2-17 els bits

importants del registre PIE3.

Page 40: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 40 de 111

Figura 2-17. Registre PIE3

bit 5 RC2IE: Bit d‟habilitació d‟interrupció de recepció del EUSART 2.

0 = Recepció inhabilitada

1 = Recepció habilitada

bit 4 TX2IE: Bit d‟habilitació d‟interrupció de transmissió del EUSART 2.

0 = Transmissió inhabilitada

1 = Transmissió habilitada

Taula 2-17. Bits del registre PIE3

Registres IPR: Són registres que contenen els bits de prioritats individuals de les

interrupcions de perifèrics. A causa del nombre de fonts d‟interrupcions de

perifèrics, hi ha tres registres d‟interrupcions de prioritats de perifèrics

(IPR1, IPR2 i IPR3), però només s‟utilitzarà el registre IPR1 i el registre

IPR3.

Registre IPR1: A la Figura 2-18 es mostra el registre IPR1 i a la Taula 2-18 es mostra els

bits importants del registre IPR1.

Figura 2-18. Registre IPR1

bit 5 RC1IP: Bit de prioritat d‟interrupció de recepció del EUSART 1.

0 = Baixa prioritat.

1 = Alta prioritat.

bit 4 TX1IP: Bit de prioritat d‟interrupció de transmissió del EUSART 1.

0 = Baixa prioritat.

1 = Alta prioritat.

Taula 2-18. Bits del registre IPR1

Registre IPR3: A la Figura 2-19 es mostra el registre IPR3 i a la Taula 2-19 es mostra els

bits importants del registre IPR3.

Figura 2-19. Registre IPR3

Page 41: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 41 de 111

bit 5 RC2IP: Bit de prioritat d‟interrupció de recepció del EUSART 2.

0 = Baixa prioritat.

1 = Alta prioritat.

bit 4 TX1IP: Bit de prioritat d‟interrupció de transmissió del EUSART 2.

0 = Baixa prioritat.

1 = Alta prioritat.

Taula 2-19. Bits del registre IPR3

2.1.6.3. Prioritats del sistema d’interrupcions

El bit IPEN del registre RCON permet activar el sistema de prioritats:

- IPEN a „0‟: totes les interrupcions tenen la mateixa prioritat i es vectoritzen a la

direcció 0008H. Per habilitar globalment les interrupcions del grup general

d‟interrupcions s‟ha de posar a „1‟ el bit GIE del registre INTCON. Per habilitar

globalment les interrupcions del bloc d‟interrupcions de perifèrics s‟han de

posar a „1‟ els bits GIE i PEIE del registre INTCON. En aquest cas, ninguna

interrupció pot interrompre el tractament d‟una altra interrupció.

- IPEN a „1‟: les interrupcions es poden configurar en dos nivells de prioritat en

funció del bit de prioritat d‟interrupció (excepte l‟ interrupció externa 0 que sempre

tindrà nivell de prioritat alta):

Bit de prioritat d‟interrupció a „0‟: Prioritat baixa. Les interrupcions de

prioritat baixa es vectoritzen a la direcció 0018H. Per habilitar globalment

les interrupcions de prioritat baixa s‟ha de posar a „1‟ el bit GIEL del

registre INTCON

Bit de prioritat d‟interrupció a „1‟: Prioritat alta. Les interrupcions de

prioritat alta es vectoritzen a la direcció 0008H. Per habilitar globalment les

interrupcions a les interrupcions de prioritat alta s‟ha de posar a „1‟ el bit

GIEH del registre INTCON

Una interrupció d‟alta prioritat pot interrompre el tractament d‟una interrupció de baixa

prioritat però a l‟inversa no és possible. Per altra part ni les interrupcions de alta prioritat ni

de baixa prioritat no poden interrompre‟s entre elles.

A més de ser habilitades globalment, les interrupcions han de ser habilitades a nivell

particular mitjançant el seu bit d‟habilitació d‟interrupció.

2.1.6.4. Fases d’una interrupció

A continuació s‟exposen les accions que es porten a terme quan s‟atén una interrupció:

1ª.- S‟activa una possible causa d‟interrupció. La senyalització d‟aquesta causa, el bit de

permís corresponent i el global per a totes les interrupcions (GIE) estan a nivell alt.

2ª.- Per evitar que es produeixi una altra interrupció mentre dura el tractament de la que

s‟ha acceptat, el bit GIE es posa a 0.

Page 42: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 42 de 111

3ª.- El valor actual del PC es guarda a la pila.

4ª.- El PC es carga amb el valor 0004h, que es el vector d‟interrupció.

5ª.- La rutina d‟interrupció comença explorant el valor dels senyalitzadors, per determinat

la causa que l‟ha provocat.

6ª.- Segons la causa d‟interrupció, la rutina es bifurca a la subrutina corresponent.

7ª.- S‟esborren les senyalitzacions per software, abans de realitza el retorn.

8.- Quan s‟arriba a l‟última instrucció de la rutina d‟interrupció, es carga al PC el valor que

inicialment es va guardar a la pila i es posa el bit GIE a 1.

2.1.6.5. Passos a seguir per treballar amb interrupcions

A continuació s‟exposen els passos a seguir per treballar amb interrupcions:

1er.- Configurar el dispositiu associat a la interrupció (temporitzadors, EUSART,

convertidor A/D, etc.).

2on.- Habilitar a nivell global les interrupcions del grup corresponent mitjançant els bits

GIE/GIEH i PEIE/GIEL del registre INTCON.

3er.- Habilitar a nivell individual la interrupció mitjançant el bit d‟habilitació.

4rt.- Establir la prioritat de la interrupció mitjançant el bit de prioritat (sol si prèviament

s‟ha activat el sistema de prioritat d‟ interrupció, IPEN=‟1‟).

5è.- A la direcció de vectorització corresponent (0008H o 0018H, segons el cas) afegir el

codi de tractament de l‟ interrupció ha d‟incloure:

Identificació de la interrupció: ja que varies interrupcions poden vectoritzar-se a

la mateixa direcció, s‟han de comprovar els flags de les interrupcions per saber

quina d‟elles ha provocat el salt a la direcció de vectorització.

Esborrar el flag d‟ interrupció: el flag d‟ interrupció s‟ha d‟esborrar per software

una vegada la interrupció ha estat identificada. D‟aquesta manera s‟evita que quan

finalitza la rutina de tractament d‟interrupció es torna a processar la mateixa

interrupció.

Codi de processat de la interrupció: per últim s‟ha d‟escriure el codi de tractament

a la interrupció que dependrà de cada aplicació.

2.1.6.6. Diagrama del sistema d’interrupcions

Cada causa d‟interrupció està controlada mitjançant tres línees o senyals. Una d‟elles té la

funció de senyalitzar si s‟ha produït o no una acció, una altra dona permís o prohibició a la

interrupció en sí i l‟altra controla si és una interrupció d‟alta prioritat o de baixa prioritat.

Com es mostra en la Figura 2-20, si per exemple, es rep una interrupció de recepció d‟un

caràcter del canal EUSART, els bits corresponents dels registres PIR1 (indicació

d‟interrupció), PIE1 (bit d‟habilitació de recepció) i IPR1 (bit de prioritat alta /baixa del

Page 43: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 43 de 111

canal EUSART) hauran d‟estar a nivell alt, a continuació els bits d‟habilitacions a nivells

globals PEIE/GIEL i bit d‟activació del sistema de prioritats IPEN hauran d‟estar a nivell

alt.

Figura 2-20. Sistema d‟interrupcions

2.1.7. Selecció de pins de perifèrics/Peripherial Pin Selectable (PPS

2.1.7.1. Introducció als PPS

Aquesta característica que implementa alguns microcontroladors com aquest està enfocat a

fer més flexible la utilització d‟ells, més encara als microcontroladors de pocs pins.

La selecció dels pins dels perifèrics permet als usuaris determinar quins pins usar en una

amplia gama de pins I/O. A l‟augmentar les opcions de patilles disponibles en un dispositiu

en particular, podem adoptar millor el microcontrolador a l‟aplicació, en lloc d‟adequar

l‟aplicació al dispositiu.

És a dir, és un multiplexor que permet a l‟usuari seleccionar el pinout de certes funcions de

perifèrics digitals.

Els pins disponibles per la selecció depenen del microcontrolador en particular, en el cas

del PIC 18F25J11 en són 22 pins PPS. Aquests pins inclouen la designació RPn

(Remappable Peripherial,on n indica el nombre).

Els perifèrics que poden utilitzar la selecció de pins són únicament digitals, aquests

inclouen les comunicacions sèries (UART i SPI), entrada a clock extern de timers, pin per

captura o comparació i pins d‟interrupció externa.

Hi ha perifèrics digitals que no poden utilitzar la multiplexació dels pins per necessitar un

hardware especial, com és el cas de la comunicació I2C.

Page 44: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 44 de 111

2.1.7.2. Control de la selecció de pins

La selecció de pins es divideix en pins que tenen la funció d‟entrada i pins de funció de

sortida.

2.1.7.3. Mapa d’entrada

Les entrades de les opcions de PPS s‟assignen sobre la base del perifèric, és a dir, un

registre de control associat al que el perifèric dicta el pin que serà assignat.

A la Taula 2-20 es pot veure el mapa d‟entrada del PIC 18F25J11.

Taula 2-20. Mapa d‟entrada

Per al mapeig de pins en la funció d‟entrada s‟utilitza el registre RPINRx, que conté un

camp de 5 bits per seleccionar el pin RPx associat al perifèric. A la Figura 2-21 es pot

veure l‟assignació de pins en funció d‟entrada.

Figura 2-21. Funció d‟entrada

Page 45: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 45 de 111

2.1.7.4. Mapa de sortida

En contrast en les entrades, les sortides de les opcions PPS s‟assignen a la base del pin. El

valor del bit correspon a un dels perifèrics i la sortida dels perifèrics s‟assigna al pin.

A la Taula 2-21 es mostra el mapa de sortida dels pins PPS del PIC 18F25J11.

Taula 2-21. Mapa de sortida

En canvi, la selecció de pins en la funció de sortida és inversa en la utilització del registre

RPORx ja que s‟assigna un perifèric a un pin determinat. A més inclou l‟opció NULL

(00000) que permet deixar desconnectat el pin. A la Figura 2-22 es pot veure l‟assignació

de pins en la funció de sortida.

Figura 2-22. Funció de sortida

Page 46: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 46 de 111

2.1.7.5. Beneficis del Peripherial Pin Select (PPS)

Els beneficil del PPS són els descrits a continuació:

Minimitza la mida del encapsulat i el cost de la MCU

Redueix la complexitat del software a través del increment de la funcionalitat del

hardware

Optimitza els pins del layout per reduir el temps de disseny, la complexitat del

PCB i les interferències electromagnètiques

Proveeix dissenys amb el set exacte de perifèrics que necessitem

2.1.7.6. Registres associats i usats al Peripherial Pin Select (PPS)

El PIC 18F25J11 amb els seus 28 pins conté 31 registres de configuració de perifèrics

reassignables.

Registre PPSCON: Registre 0 de PPS d‟entrada, situat al banc EFFh. Els valors d‟entrada i

sortida del registre només poden ser canviats si PPS <IOLOCK>=0. A

la Figura 2-23 es pot veure el registre PPSCON i a la Taula 2-22 els

bits del registre PPSCON.

Figura 2-23. Registre PPSCON

bit 0 IOLOCK: Bit d‟habilitació de bloqueig I/O

0 = Bloqueig I/O no activat, la configuració de pins es pot canviar

1 = Bloqueig I/O activat, els registres RPORx i RPINRx són protegits contra escriptura

Taula 2-22. Bit del registre PPSCON

Registre RPINR16: Registre 16 de PPS d‟entrada, situat al banc EF6h. A la Figura 2-24 es

mostra el registre RPINR16 i a la Taula 2-23 els bits del registre

RPINR16.

Figura 2-24. Registre RPINR16

bit 4-0 RX2DT2R<4:0>: Bits del EUSART 2 (RX2/DT2) que corresponen als pins

RPn.

Taula 2-23. Bits del registre RPINR16

Page 47: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 47 de 111

Registre RPOR1: Registre 1 de PPS de sortida, situat al banc EC7h. A la Figura 2-25 es

mostra el registre RPOR1 i a la Taula 2-24 els bits del registre RPOR1.

Figura 2-25. Registre RPOR1

bit 4-0 RP1Rx <4:0>: Bits de funcions de perifèrics de sortida s‟assignen al pin de

sortida RP1.

Taula 2-24. Bis del registre RPOR1

Page 48: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 48 de 111

2.2. El multímetre Agilent 344001A

2.2.1. Objectiu del multímetre

El multímetre Agilent 344001A serà l‟encarregat de realitzar certes mesures de tensió o

corrent a sensors que varien la seva resistència elèctrica dels gasos presents en l‟ambient

on es troben aquests dispositius.

Aquest multímetre serà programat de manera que pugui acceptar ordres de configuració i

de mesura des de la interfase remota (del microcontrolador).

2.2.2. Introducció física del Agilent 344001A

En aquest apartat es pretén familiaritzar al lector sobre les tecles del panel frontal, el

significat dels indicadors i formats de pantalla.

2.2.2.1. Panel Frontal

A la Figura 2-26 es pot observar les tecles del panel frontal del multímetre i a la Figura 2-

27 la seva llegenda.

Figura 2-26. Panel frontal del multímetre

Page 49: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 49 de 111

1. Tecles de funció de mesura

2. Tecles d‟operacions matemàtiques

3. Disparo simple / autodisparo / tecla de retenció de lectura

4. Shift / tecla local

5. Commutador del terminal d‟entrada frontal / posterior

6. Interval / nombre de dígits de tecles visualitzades

7. Tecles de funcionament de menús

Figura 2-27. Llegenda de les tecles del panel frontal

2.2.2.2. Indicadors de pantalla

En aquest apartat es mostren els indicadors de pantalla del multímetre, es poden veure a la

Figura 2-28 i la llegenda a la Figura 2-29.

Figura 2-28. Indicadors de pantalla

* Se connecta durant una mesura

Adsr Dirigeix al multímetre per escoltar o parlar sobre una interfase remota

Rmt El multímetre està en el mode remot (interfase remota)

Man El multímetre està utilitzant arrancada manual (l‟autoarranc està inutilitzat)

Trig El multímetre està esperant un disparo simple o extern

Hold La retenció de lectura està habilitada

Mem Es connecta quan la memòria de lectura està habilitada

Ratio El multímetre està en funció d‟interval dcv:dcv

Math Hi ha una operació matemàtica habilitada

ERROR Se detecten errors de comandament de la interfase remota o hardware

Rear Es seleccionen terminals d‟entrada posterior

Page 50: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 50 de 111

Shift La tecla Shift ha estat pulsada

4W El multímetre està en la funció de 4-wire ohms

El multímetre està en la funció de prova de continuïtat

El multímetre està en funció de prova de diode

Figura 2-29. Llegenda dels indicadors de pantalla

2.2.2.3. Formats de pantalla del panel frontal

Format de pantalla: - H . DDD , DDD EFFF

Exemple:

2

1 de dígit

Aquest es el rang de 10 Vdc, es visualitzen 5 2

1 de dígits

2.2.3. Programació del multímetre

Per a que el multímetre pugui rebre ordres del microcontrolador i pugui enviar els resultats

obtinguts de les mesures dels sensors, és necessari habilitar-lo de tal forma que la

comunicació sigui l‟adequada.

2.2.3.1. Mode d’enllaç del hardware (RS-232)

El connector RS-232 del panel posterior del multímetre és un connector de 9 clavilles

(connector DB9, mascle). Aquest connector estarà connectat amb el PIC. El connector es

pot veure a la Figura 2-30.

- Signe negatiu o blanc (positiu)

H Dígit “2

1 ” (0 o 1)

D Dígits numèrics

E Exponent (m, k, M)

F Unitats de mesura (VDC, OHM, HZ,dB)

10.216,5 VDC

5 dígits

Page 51: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 51 de 111

Figura 2-30. Connector per connectar Multímetre amb PIC

2.2.3.2. El multímetre i el controlador de bus

El model d‟intercanvi d‟un equip com el multímetre, inclou els següents components, a la

Figura 2-31 es pot veure un esquema il·lustratiu d‟aquests.

Figura 2-31. Model d‟intercanvi del multímetre

Buffer d‟entrada: es l‟àrea de memòria on les ordres i requeriments d‟entrada són

emmagatzemats, abans de ser interpretats i executats pel Parser. El buffer d‟entrada,

permet que l‟equip controlador del instrument, emmagatzemi al buffer un string contenen

varies ordres, mentre això passa es pot realitzar altres operacions amb altres equips.

Buffer de sortida: és l‟àrea de memòria on les dades de sortida (missatges de sortida) són

emmagatzemades a l‟espera que el controlador vulgui llegir-les.

Parser: és el controlador intern del equip que interpreta els missatges complets

emmagatzemats al buffer d‟entrada, els executa, i en cas que siguin de requeriment,

diposita a la cola de sortida les dades resultants.

Per entendre la relació entre el controlador de bus i el multímetre seguidament es mostra

un petit protocol:

- L‟equip i el controlador es comuniquen intercanviant missatges d‟ordres i missatges

de resposta

- Els missatges d‟ordres són enviats pel controlador, i poden ser de dos tipus: Ordres

de control: requereixen un canvi d‟estat de l‟equip, però no requereixen cap

resposta. Ordres de requeriment: sol·liciten informació sobre l‟estat de l‟equip o

sobre informació que posseeix

Page 52: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 52 de 111

- L‟equip només parla (envia un missatge de sortida) com a resposta d‟una ordre de

requeriment

- El controlador només admet un missatge de sortida, i ho requereix abans d‟enviar

un nou missatge d‟ordres. En cas de no ser així es genera una situació de bloqueig

La regla bàsica del protocol és la següent:

- “L‟equip només parla quan està disposat a això, en aquest cas, ha de parlar abans de

que se li ordeni una nova cosa”

- L‟equip i el controlador es comuniquen intercanviant missatges d‟ordres i de

respostes completes. Això significa que el controlador sempre ha d‟acabar un

missatge d‟ordres, abans d‟intentar llegir una resposta

- Si l‟equip envia un missatge de resposta, el controlador ha de llegir sempre de

forma completa el missatge, abans d‟enviar un nou missatge d‟ordres a l‟equip

- El controlador pot enviar un missatge contenint múltiples ordres de requeriments.

Això se li denomina un “requeriment compost”. Els diferents requeriments dins del

missatge han d‟estar separats per el delimitador “;”. Els missatges de resposta són

encolats a la cola de sortida, separats entre sí també, per el delimitador “

- Els comandaments són executats en l‟ordre en que han estat rebuts

2.2.3.3. Senyals a tenir en compte del connector RS-232

A la Taula 2-25 es mostren les diferents senyals del connector RS-232.

Nombre del pin I/O Descripció

1 Sortida *Comprovació de límits apta

2 Entrada Recepció de dades (RxD)

3 Sortida Transmissió de dades (TxD)

4 Sortida Terminal de dades preparat (DTR)

5 - Senyal de terra (SG)

6 Entrada Conf. de dades preparat (DSR)

9 Sortida *Comprovació de límits no apta

Taula 2-25. Senyals del connector RS-232

Durant aquest projecte s‟han utilitzat especialment 5 d‟aquestes senyals: la RxD, TxD,

DTR, DSR i SG.

-La senyal SG és la senyal de terra.

-La senyal RxD és la senyal de recepció. Són les dades que es reben (entrada).

Page 53: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 53 de 111

-La senyal TxD és la senyal de transmissió. Per aquí surten les dades (sortida).

-La senyal DTR s‟utilitza com una senyal que retindrà les dades del controlador de bus.

Una vegada que DTR és verdader, el controlador de bus pot enviar dades al multímetre.

Quan DTR es fals, el controlador de bus ha de deixar d‟enviar dades en 10 caràcters, i no

ha d‟enviar ninguna dada més, fins que DTR sigui verdader de nou.

El multímetre configura la senyal DTR a fals davant de dos condicions:

1. Quan el búffer d‟entrada del multímetre està ple (s‟han rebut 100 caràcters

aproximadament), configurarà el DTR com a fals. Quan s‟hagin eliminat els

suficients caràcters per fer espai al buffer, el multímetre configurarà el DTR com a

verdader, a no ser que la segona condició no ho accepti.

2. Quan el multímetre vol parlar, que significa que s‟ha produït una consulta, i ha vist

un final de missatge <newline> configurarà el DTR com a fals. Això implica que

una vegada s‟ha enviat una consulta al multímetre, el controlador de bus haurà de

llegir la resposta abans d‟intentar enviar més dades. També significa que una

<newline> ha d‟acabar la cadena de comandament. Després que hagi sortit la

resposta, el multímetre configurarà el DTR com a verdader de nou, a no ser que la

primera condició no ho accepti.

-La senyal DSR la controla el multímetre per determinar quan el controlador de bus està

preparat per acceptar dades. El multímetre consulta aquesta línea abans d‟enviar cada

caràcter, la sortida es suspesa si DSR es falsa. El multímetre mantindrà DTR falsa mentre

la sortida estigui suspesa. Existeix un bloqueig que fins que el controlador de bus asseguri

que el DSR es verdader per permetre que el multímetre completi la transmissió.

Es pot trencar el bloqueig enviant el caràcter Control-C, que suprimeix l‟operació en curs i

elimina la sortida pendent. Per a que el caràcter Control-C sigui reconegut com a fiable per

al multímetre mentre manté el DTR com a fals, el controlador de bus ha de configurar el

DSR com a fals.

A la Figura 2-32 es mostra el connexionat d‟aquests 5 senyals entre el controlador de bus i

el multímetre.

Figura 2-32. Connexionat controlador de bus amb multímetre

2.2.3.4. Seqüència de programació de la interfase remota

És pot programar el multímetre per a que realitze mesures des de la interfase remota,

seguint els següents passos.

1. Posar el multímetre en un lloc conegut.

2. Canviar les configuracions del multímetre per aconseguir la configuració desitjada.

Page 54: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 54 de 111

3. Configurar les condicions de disparo.

4. Inicia o armar el multímetre per una mesura.

5. Disparar el multímetre per realitzar una mesura.

6. Eliminar les lectures del buffer de sortida o de la memòria interna.

7. Llegir les dades mesurades al controlador de bus.

2.2.4. Introducció al llenguatge SCPI

2.2.4.1. Historia del llenguatge SCPI

Durant els primers dies de la comercialització‟ d‟instruments programables, cada fabricant

va crear el seu propi llenguatge per al control dels seus equips. Pocs fabricants compartien

el mateix idioma o sintaxis. Inclús els equips fets pel mateix fabricant utilitzaven a vegades

llenguatges completament diferents dels seus altres equips. Els instruments programables

es van anant fent més poderosos, i a la vegada el llenguatge de control tenia que ser més

complex. La sobrecàrrega d‟aprendre a controlar cada peça dels equips s‟havia convertit en

un problema molt important.

La programació d‟instruments electrònics va començar en la definició del estàndard IEEE-

488 sobre l‟any 1960 quan Hewlett Packard va desenvolupar el bus HP-IB.

Al 1975, per evitar la dispersió de característiques, els principals fabricants van acordar

l‟estandardització del GPIB (IEE 488.1), es van centrar en les característiques elèctriques i

mecàniques del bus. Dotze anys més tard, va tenir una segona estandardització (IEE 488.2)

que va delimitar de forma més concreta la programació del GPIB, definint comandes

d‟aparells, format de missatges i estat dels instruments (es pretenia augmentar la

compatibilitat entre sistemes).

Uns anys després, al 1990, un grup d‟empreses van acordar crear un conjunt d‟ordres en

una sintaxis comuna, la SCPI (Comandaments Estàndard per Instruments Programables),

amb una compatibilitat més extensa. El llenguatge SCPI neix davant la necessitat d‟

estandarditzar la comunicació amb els dispositius de manera que instruments en

funcionalitats similars responguin en els mateixos mandats independentment de la seva

tipologia i fabricant. SCPI especifica la sintaxis que s‟ha d‟utilitzar per al control

d‟instruments programables a través d‟un enllaç de comunicacions, com GPIB, RS-232,

USB...

Com a conseqüència de tot aquest desenvolupament històric, a l‟actualitat s‟ha aconseguit

disposar de major potencia en el desenvolupament d‟aplicacions en instruments

programables i simplificar el procés de programació.

Aquesta evolució de la norma es pot observar a la Figura 2-33.

Page 55: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 55 de 111

Figura 2-33. Evolució de la norma

2.2.4.2. Model del instrument programable

Per aconseguir la compatibilitat en la programació d‟instruments SCPI es va definir un

model d‟instrument. Existeixen tres tipus de compatibilitat en SCPI:

- Compatibilitat vertical: dos instruments del mateix tipus tenen els mateixos

controls. Per exemple: dos oscil·loscopis tenen els mateixos controls per a les seves

bases de temps i per als dispars.

- Compatibilitat horitzontal: dos instruments poden fer la mateixa mesura sense

importar la tècnica de mesura utilitzada. Per exemple, un oscil·loscopi i un

comptador poden mesurar el temps de pujada d‟un pols. Els dos instruments són

compatibles si usen el mateix comandament en els dos instruments.

- Compatibilitat funcional: dos instruments que realitzen la mateixa funció, utilitzant

els mateixos comandos. Per exemple: un analitzador d‟espectres i un generador RF

poden fer mesures de freqüència.

2.2.4.3. Sintaxis del llenguatge SCPI

Els comandaments SCPI utilitzen una estructura d‟arbre. L‟estructura arbre està

organitzada en comandaments a nivell d‟arrel (també anomenats “subsistemes”). A la

Figura 2-34 es pot veure una estructura d‟arbre com a mode representatiu.

Figura 2-34. Estructura d‟arbre

Page 56: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 56 de 111

Utilització dels dos punts (:)

Si es posen just abans del primer caràcter d‟una paraula clau d‟un comandament, indiquen

que la següent mnemotècnica del comandament es un comandament de nivell d‟arrel.

Quan s‟encerten dos punts entre dos mnemotècniques de comandament, els dos punts

baixen la ruta un nivell de la ruta present (per al comandament de nivell d‟arrel especificat)

de l‟arbre de comandament.

S‟ha de separar les mnemotècniques del comandament de les altres utilitzant dos punts. Es

poden ometre els dos punts principals si és el primer d‟una nova línea de programa.

Utilització del punt i coma (;)

Quan es vol separar dos comandaments que es troben en la mateixa cadena de

comandament. El punt i coma no canvia la ruta actual especificada. Per exemple, les dos

instruccions següents són equivalents.

:TRIG:DELAY 1; : TRIG:COUNT 10

:TRIG:DELAY 1; COUNT 10

Utilització de la coma(,)

Serveix per quan un comando necessita més d‟un paràmetre, aleshores es separa amb un

coma.

Utilització del comando “?”

El controlador de bus pot enviar comandaments en qualsevol moment, però un aparell

SCPI pot enviar respostes només quan se li han ordenat específicament fer-ho. Només els

comandaments de consulta (comandos que acaben en un “?” ordenaran a l‟aparell que

envií un missatge de resposta. Les consultes poden enviar o els valors mesurats o les

configuracions internes de l‟aparell.

Cal tenir precaució quan s‟envien dos comandaments de consulta sense llegir la resposta

del primer i a continuació s‟intenta llegir la segona resposta, ja que podem rebre algunes

dades de la primera resposta seguides de la segona resposta completa. Es pot evitar no

enviant un comando de consulta sense llegir la resposta; si no podem evitar aquesta

situació, enviem un comandament “eliminar dispositiu“ abans d‟enviar el següent

comandament de consulta.

No s‟hauria d‟enviar comandaments i consultes en la mateixa línea de programa. Això pot

fer que el buffer de dades de sortida sobrepassi si se generen massa dades.

2.2.4.3.1. Tipus de dades SCPI

El llenguatge SCPI defineix formats de dades per la utilització en els missatges de

programa i en els missatges de resposta. Els aparells són oients flexibles i poden acceptar

comandaments i paràmetres en diferents formats. En canvi, els aparells SCPI són parladors

concrets. Resumint, els aparells SCPI sempre respondran a una consulta en particular en un

format rígid predefinit. Existeixen quatre paràmetres que seguidament s‟explicaran:

Page 57: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 57 de 111

Paràmetres Numèrics: els comandaments que necessiten paràmetres numèrics acceptaran

totes les representacions decimals utilitzades normalment dels números incloent punts

decimals i anotacions científiques. També es pot enviar sufixes numèrics com (M, k, m o

u) amb paràmetres numèrics. Si només accepten els valors numèrics, el multímetre

automàticament arrodonirà els paràmetres numèrics d‟entrada.

Paràmetres Discrets: els paràmetres discrets s‟utilitzen per programar les configuracions

que tenen un número limitat de valors (com BUS, IMMediate, EXTernal). Aquests tenen

una forma llarga i curta al igual que les paraules claus de comandament. Se poden mesclar

lletres majúscules i minúscules. Les respostes de consulta sempre retornaran la forma curta

en lletres majúscules.

Paràmetres Booleans: els paràmetres booleans representen una condició simple binaria

que és falsa o verdadera. Per una condició falsa el multímetre entendrà “OFF” o “0”. Per

una condició verdadera, el multímetre acceptarà “ON” o “1”. Quan consultem una

configuració booleana, l‟aparell sempre retornarà “0” o “1”.

Paràmetres de Cadena: els paràmetres de cadena poden contenir virtualment qualsevol

classe de caràcters ASCII. Una cadena ha de començar i acabar en cometes d‟unió; o bé

una cometa amb una cometa simple o amb cometa doble. Es pot incloure el delimitador de

cometes com la part de la cadena escrivint-la dos vegades sense ningun caràcter entre

mesures.

2.2.5. Selecció dels paràmetres

2.2.5.1. Selecció de l’ interfase remota

El multímetre pot tenir dos interfases: interfase GPIB (IEEE-488) i interfase RS-232. Sol

pot tenir habilitada una interfase a la vegada. La interfase GPIB és la que ve habilitada

quan el multímetre surt de fàbrica.

En aquest projecte s‟utilitzarà la interfase RS-232, aleshores s‟haurà de configurar la

velocitat en bauds i la paritat del multímetre.

La interfase remota només es pot configurar des del panel frontal, de la manera següent:

2: INTERFACE (I/O MENU)

2.2.5.2. Selecció de la velocitat en bauds

Es pot seleccionar una de les sis velocitats en bauds següents: 300, 600, 1200, 2400, 4800

o 9600 (ve configurada de fàbrica).

La selecció de la velocitat en bauds es guarda en la memòria permanent, i no canvia quan

es desconnecta de la corrent o després de una reinicialització de l‟ interfase remota.

La velocitat en bauds només es pot configurar des del panel frontal, de la manera següent:

3: BAUD RATE (I/O MENU)

2.2.5.3. Selecció de paritat

El multímetre està configurat per a paritat par en 7 bits de dades.

Page 58: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 58 de 111

Es pot seleccionar un dels següents: None (8 bits de dades), Even (7 bits de dades) o Odd

(7 bits de dades). Quan es configura la paritat, se configura indirectament el nombre de bits

de dades.

La selecció de paritat es guarda en la memòria permanent, i no canvia quan es desconnecta

de la corrent o després de una reinicialització de la interfase remota.

La paritat només es pot configurar des del panel frontal, de la manera següent:

4: PARITY (I/O MENU)

2.2.5.4. Selecció del llenguatge de programació

Es pot seleccionar un dels tres llenguatges per programar des de l‟ interfase remota

seleccionada. El llenguatge de fàbrica és el SCPI.

Es pot selecciona un d‟aquests: SCPI, Agilent 3478A o Fluke 8840A.

Els llenguatges Agilent 3478A i Fluke 8840A no són possibles en la interfase RS-232.

La selecció del llenguatge es guarda en la memòria permanent, i no canvia quan es

desconnecta de la corrent o després de una reinicialització de l‟ interfase remota. El

llenguatge només es pot configurar des del panel frontal, de la manera següent:

5: LANGUAGE (I/O MENU)

A la Taula 2-27 es mostra en quins llenguatges es pot programar el multímetre segons el

protocol establert.

GPIB/488 RS-232

Llenguatge SCPI X X

Llenguatge Agilent

3478A

X No permès

Llenguatge Fluke 8840A X No permès

Taula 2-27. Tipus de llenguatges segons el protocol usat

2.2.6. Comandaments i paràmetres usats

Els comandaments MEASure? i CONFigure proporcionen el mètode més directe per la

programació de mesures del multímetre. Es pot seleccionar la funció, el rang i la resolució

mesurada en un mateix comandament. El multímetre automàticament reajusta altres

paràmetres de mesura (filtre de ca, zero automàtic, comptador de disparo, etc.) en valors

per defecte com es mostra a la Taula 2-28.

Filtro CA (DET:BAND) 20 Hz (filtro mitjà)

Zero Automàtic (ZERO:AUTO) ON si la config. de res. es NPLC≥1

OFF si la config. de res. es NPLC<1

Resistència d‟entrada

(INP:IMP:AUTO)

OFF (fixe en 10 MΩ per tots els rangs

de voltatge de cc)

Page 59: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 59 de 111

Mostres per dispar (SAMP:COUN) 1 mostra

Contador de Dispar (TRIG:COUN) 1 disparo

Retard de Dispar (TRIG:DEL) Retard automàtic

Font de Dispar (TRIG:SOUR) Immediata

Funció Matemàtica (CALCULate) OFF

Taula 2-28. Paràmetres que reajusta el multímetre al usar el comandament MEASURE? i

CONFigure

2.2.6.1. Comandament MEASure?

L‟ utilització del comandament MEASURE ? és la forma més fàcil de programar el

multímetre per a que realitzi mesures. No obstant, aquest comandament no ofereix molta

flexibilitat. Una vegada s‟executa el comandament, el multímetre reajusta les millors

configuracions per la configuració sol·licitada i immediatament executa la mesura. No es

pot canviar cap configuració (que no sigui la funció, el rang i la resolució) abans de que es

realitzi la mesura. Els resultats s‟envien al buffer de sortida.

Enviar el comandament MEASure? és el mateix que enviar un comandament CONFigure

seguit immediatament per un comandament READ?.

A la Taula 2-29 es pot veure les diferents funcions en els diferents rangs i resolucions

possibles del comandament MEASure.

Taula 2-29. Opcions del comando MEASure

2.2.6.2. Comandament CONFigure

Utilitzant el comandament CONFigure es té un grau d‟augment de flexibilitat de

programació. Una vegada s‟executa el comandament, el multímetre preconfigura les

millors configuracions per la configuració sol·licitada (igual que el comandament

MEASure?). No obstant, la mesura no comença automàticament i es possible canviar els

paràmetres de mesura abans de realitzar la mesura. Això permet canviar molt més la

configuració del multímetre des de les condicions de reajustament. El multímetre ofereix

una varietat de comandaments de baix nivell als subsistemes INPut, SENse, CALCUulate i

TRIGger. (Es pot utilitzar el comandaments SENSe: FUNCtion per canviar la funció de

mesura sense utilitzar MEASure? o CONFigure.).

Utilitzarem el comandament INITiate o READ? per començar la mesura.

Page 60: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 60 de 111

Page 61: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 61 de 111

Page 62: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 62 de 111

2.2.6.3. Comandament READ?

El comandament READ? canvia l‟estat del sistema de dispar des del estat “passiu” al estat

“en espera de dispar”. Les mesures comencen quan es compleixen les condicions de dispar

especificades seguint el que diu el comandament READ?. Les lectures s‟envien

immediatament al buffer de sortida. S‟ha d‟introduir les dades de lectura al controlador de

bus o el multímetre deixarà de fer mesures quan s‟ompli el buffer de sortida. Les lectures

no s‟emmagatzemen a la memòria interna del multímetre quan s‟utilitza el comandament

READ?.

L‟enviament del comandament READ? és el mateix que l‟enviament del comandament

INITiate seguit immediatament pel comandament FETCh?, excepte que les lectures no

s‟emmagatzemen internament.

Precaució: Si s‟envien dos comandaments de consulta sense llegir la resposta del primer, i

a continuació s‟intenta llegir la segona resposta, es possible que rebi alguns dades de al

primera resposta seguits per la segona resposta completa. Per evitar això, no enviarem un

comandament de consulta sense llegir la resposta. Quan no es pot evitar aquesta situació,

enviarem uns supressió de dispositiu abans d‟enviar el segon comandament de consulta.

2.2.6.4. Comandaments INITiate i FETCh?

Els comandaments INIiate i FETCh? proporcionen el nivell de control més baix (en la

major felixiblitat) de mesura de retirada de disparo i lectura. Utilitzem el comandament

INITiate després d‟haver configurat el multímetre per la mesura. Això canvia l‟estat del

sistema de dispar “passiu” a l‟estat “en espera de dispar”. Les mesures començaran quan es

cobreixen les condicions de dispar especificades després de rebre el comandament

INITiate. Les lectures es situen a la memòria interna del multímetre (poden

emmagatzemar-ne fins 512 lectures). Les lectures s‟emmagatzemen en memòria fins que

l‟usuari pugui retirar-les.

Utilitzem el comandament FETCh? per transferir les lectures des de la memòria interna del

multímetre al buffer de sortida del multímetre on es poden llegir al controlador de bus.

2.2.6.5. Comandaments de l’ interfase RS-232

L‟enviament o recepció de dades en l‟ interfase del RS-232 quan no està configurat per al

funcionament remot pot causar resultats imprescindibles.

SYSTem: LOCal

Totes les tecles del panel frontal són completament funcionals

SYSTem: REMote

Totes les tecles del panel frontal excepte la tecla LOCAL s‟inhabiliten.

SYSTem: RWLock

Totes les tecles del panel frontal s‟inhabiliten, incloent la tecla LOCAL.

Page 63: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 63 de 111

2.2.6.6. Acabaments dels missatges d’entrada

Els missatges de programa que s‟envien al multímetre s‟han d‟acabar amb un caràcter

“newline”. També un caràcter “retorno de carro” seguit per un caràcter “newline” és

acceptat.

2.2.6.7. Formats dels missatges de sortida

Els missatges de sortida que sortiran del multímetre estaran en un dels formats que mostra

la Taula 2-26.

Taula 2-26. Formats dels missatges de sortida

2.2.6.8. Indicador error

Quan es detecta un o més errors de sintaxis de comandament o de hardware, es connecta

l‟indicador ERROR del panel frontal. El multímetre té una cua d‟error on s‟emmagatzema

un registre que conté com a màxim 20 errors.

Els errors s‟extrauen per ordre FIFO (el primer que entra, serà el primer que sortirà). Una

vegada s‟han llegit tots els errors de la cua, l‟indicador ERROR s‟apaga. El multímetre

emet un soroll cada vegada que s‟ha generat un error.

Si es produeix més de 20 errors, l‟últim error emmagatzemat a la cua (el més recent) és

substituït pel format d‟error -350 “Massa errors”. Fins que no s‟eliminen els errors de la

cua no podrem emmagatzemar nous errors.

Si no s‟ha produït errors i llegim la cua d‟error, el multímetre ens contestarà amb el codi

+0 “Sense errors”.

La cua d‟error s‟elimina quan desconnectem la corrent o després d‟executar un

comandament *CLS.

- Llegir la cola des del panel frontal: 3: ERROR (SYS MENU)

Veurem com l‟indicador ERROR està encès, aleshores polsem (cridem al

menú) i així llegim els errors emmagatzemats a la cua.

ERR 1: -141

- Llegir la cola des de la interfase remota: SYSTem: ERRor?

-

Page 64: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 64 de 111

Els errors tenen el següent format (la cadena d‟error pot contenir fins a 80 caràcters):

-141, Invalid character data

Ara s‟enumeren els errors més comuns que han sorgit durant el projecte:

-101 Invalid Character

A la cadena de comandament s‟ha trobat un caràcter incorrecte. Pot ser que l‟usuari

hagi posat un caràcter com #, $, o % al començament del comandament o en un

paràmetre. Exemple: CONF: VOLT#DC

-102 Syntax Error

A la cadena de comandament s‟ha trobat sintaxis incorrecta. Pot ser que l‟usuari

hagi posat un espai en blanc abans o després de dos punts al començament del

comandament, o abans d‟una coma. Exemple: SAMP:COUN,1

-410 Query Interrupted

S‟ha rebut un comandament que envia dades al buffer de sortida, però aquest

contenia dades d‟un comandament previ (les dades prèvies no es sobreescriuen). El

buffer de sortida s‟elimina quan es desconnecta de la corrent o després d‟executar

un comandament *RST (reinicialitzar)

-511 RS-232 Framing Error

Page 65: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 65 de 111

2.3. Hyperterminal

És un programa que permet connectar amb altres equips, llocs Telnet, etc.. mitjançant un

mòdem, un cable de mòdem nul o Ethernet.

Aquest útil programa s‟utilitzarà per guardar els resultats enviats pel microcontrolador.

El primer que s‟ha de fer és establir una connexió, per això es posa un nom i una icona, tal

com es mostra a la Figura 2-35.

Figura 2-35. Entrada del Hyperterminal

Seguidament ens apareixerà una finestra com la de la Figura 2-36, aquí configurarem el

port on estarà connectat el nostre connector RS-232. És important completar els paràmetres

d‟aquesta finestra amb els paràmetres que haurem programat al pic, si no fos així la

comunicació no serà perfecta i hi poden haver resultats imprevisibles.

Figura 2-36. Elecció de propietats

Page 66: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Memòria de càlcul

Pàgina 66 de 111

Tots els paràmetres que es veuen a la Figura 2-36 són coneguts a excepció del control de

flux:

El control de flux és un mecanisme pel qual el “mòdem”, el microcontrolador i el

ordenador gestionen els intercanvis d‟informació. Aquests mecanismes permeten parar el

flux quan un dels elements no pot processar més informació i reprendre el procés quan

torna a estar disponible. Els mètodes més comuns de control de flux són:

Control de flux hardware: les senyals RTS i CTS permeten al PC i al

microcontrolador parar el flux de dades de forma temporal. Aquest sistema

és el més segur y el que suporta una operació adequada a altes velocitats.

Control de flux software: XON/XOFF: per al control de flux software

s‟utilitzen dos caràcters especials XON i XOFF, en comptes de les línees

hardware RTS i CTS. Quan el PC vol que el microcontrolador pare

d‟enviar dades, envia XOFF. Quan el PC vol que el microcontrolador enviï

més dades, envia XON. Aquests sistema no és adequat per a altes

velocitats.

Per fer la comunicació entre el multímetre – PC no hi haurà cap tipus de control de flux.

Per guardar els resultats que arriben del multímetre al hyperterminal a una plantilla Excel,

el que s‟ha de fer és crear un arxiu .csv (Figura 2-37), abans de començar la transmissió

anirem a l‟opció Transferir del hyperterminal i seleccionarem la finestra Capturar texto,

allí crearem l‟arxiu .csv i donarem al botó Iniciar.

Una vegada s‟hagi acabat el procés de recepció dels resultats tancarem el hyperterminal

(important tancar-lo sino a la plantilla excel no s‟hauran copiat els resultats) i es podran

veure els resultats a la plantilla excel.

Figura 2-37. Afegir a l‟arxiu excel

Page 67: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

PLÀNOLS

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 68: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

1 <RevCode>

Circuit Comunicació

A

1 1Tuesday, August 24, 2010

Title

Size Document Number Rev

Date: Sheet of

VCC(5V)

VCC(2,5V)

VCC(5V)

VCC(5V)

VCC(5V)

VCC(5V)

VCC(5V)

VCC(2,5V)

tantalum2

10u

R210k

Inversor TX

CON16C

12345678

16151413121110

9

C41u

U2LM109/TO3

1 2

3

IN OUT

GN

D

J5

CON6

123456

CEFC10u

C21u

R5

10k

osc1

15p

R7

470

MAX232'

CON16C

12345678

16151413121110

9

tantalum1

10u

R6470

C11u

C121u

R9

R

J12

CON1

1

C3 1uosc2

15p

J14

CON3

123

R310k

J11

CON1

1

OSCILADOR

J2

connector 20 pins

135791113151719

2468

101214161820

C101u

C51u

DB9'

CON9

123456789

J13

CON1

1

J10

CON1

1

C8 1u

Inversor RX

CON16C

12345678

16151413121110

9

C71u

DB9

CON9

123456789

C111u

C13 1u

MAX232''

CON16C

12345678

16151413121110

9

R410k

J3

PIC18F45J11

1234567891011121314

2827262524232221201918171615

MAX232

CON16C

12345678

16151413121110

9

J8

CON24C

123456789

101112

242322212019181716151413

C61u

C141u

C91u

C151u

PGCPGDMCLR

PGDPGC

MCLR

Page 69: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Plànols

Pàgina 69 de 111

3.1.2. Circuit layout

3.1.3. Fotogràfia

Page 70: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

<Doc> <RevCode>

<Title>

A

1 1Thursday, July 29, 2010

Title

Size Document Number Rev

Date: Sheet of

VCC

VCC

VCC

VCC

VCC

J1

Entrada

135791113151719

2468

101214161820

J4

CON1

1

J5

CON2

1

J7

CON4

1

J6

CON3

1

D3

1 2

J22

rele2

12345

J11

Salida

135791113151719

2468

101214161820

Q22N4341

2

3

1

J24

rele4

12345

D1

1 2

D2

1 2

Q42N4341

2

3

1

D4

1 2

Q12N4341

2

3

1

J23

rele3

12345

J3

REGLETA

12

J21

rele1

12345

Q32N4341

2

3

1

Page 71: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Plànols

Pàgina 71 de 111

3.2.3. Fotografia

Page 72: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

PRESSUPOST

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 73: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 73 de 111

4.1. Introducció

En aquest apartat es pretén determinar el cost total requerit per a implementar la placa del

circuit.

S‟ha dividit el cost en diferents capítols per poder veure el cost d‟una manera més clara i

ordenada. Els diferents capítols són:

- Capítol 1: Software. Programes utilitzats durant la creació i desenvolupament del

circuit

- Capítol 2: Components. Preus dels components que formen part del circuit

- Capítol 3. Mà d‟obra. Quantitat de temps dedicat a fer el projecte

4.2. Llista de preus unitaris

4.2.1. Capítol 1: Software

CODI U DESCRIPCIÓ PREU

C01_01 u MPLAB ICD2 CENT- SETZE EUROS amb

SETANTA-VUIT CÈTIMS

C01_02 u MPLAB IDE v8.4 ZERO EUROS

C01_03 u MPLAB C18 C Compiler

v3.34 ZERO EUROS

C01_04 u OrCAD Release 9.1 ZERO EUROS

C01_05 u Proteus 7 Professional ZERO EUROS

C01_06 u Agilent IO Libraries Suite 15.3 ZERO EUROS

4.2.2. Capítol 2: Components

CODI U DESCRIPCIÓ PREU

C02_01 u Resistència de 10 kΩ VINT CÈNTIMS

C02_02 u Resistència de 1 kΩ VINT CÈNTIMS

C02_03 u Resistència de 470Ω VINT CÈNTIMS

C02_04 u Condensador de 1 uF TRENTA-CINC CÈNTIMS

C02_05 u Condensador de 15 pF ceràmic ONCE CÈNTIMS

C02_06 u Condensador de 10 uF normal SETANTA-NOU CÈNTIMS

C02_07 u Condensador de 10 uF

tantalum NORANTA CÈNTIMS

Page 74: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 74 de 111

C02_08 u Díode 1N4001 QUARANTA-VUIT CÈNTIMS

C02_09 u Transistor NMOS TRENTA-CINC CÈNTIMS

C02_10 u Regulador LM1086 UN EURO amb TRES CÈNTIMS

C02_11 u Oscil·lador de 20 MHz DOS EUROS amb QUARANTA-

NOU CÈNTIMS

C02_12 u Relé electromecànic UN EURO amb SEIXANTA

CÈNTIMS

C02_13 u Microcontrolador PIC

18F25J11

DOS EUROS amb

CINQUANTA-CINC CÈNTIMS

C02_14 u MAX 232 DOS EUROS amb TRENTA-SIS

CÈNTIMS

C02_15 u Inversor 4049 CINQUANTA-CINC CÈNTIMS

C02_16 u Connector DB9 mascle QUARANTA-TRES CÈNTIMS

C02_17 u Connector RJ-11 SETANTA CÈNTIMS

C02_18 u Descodificador CD4514BC VUITANTA-NOU CÈNTIMS

C02_19 u Connector 20 pins TRENTA-CINC CÈNTIMS

C02_20 u Connector 20 pins recolzat QUARANTA-SIS CÈNTIMS

C02_21 u Sòcol tornejat 16 pins DOTZE CÈNTIMS

C02_22 u Sòcol tornejat 28 pins estret SETZE CÈNTIMS

C02_23 u Sòcol tornejat 28 pins ample DIVUIT CÈNTIMS

C02_24 u Regleta TRENTA- I- UN CÈNTIMS

C02_25 u Placa PCB SIS EUROS

4.2.3. Capítol 3: Mà d’obra

CODI U DESCRIPCIÓ PREU

C03_01 h Enginyer programador DIVUIT EUROS

C03_02 h Tècnic de muntatge NOU EUROS

Page 75: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 75 de 111

4.3. Quadre de descompostos

4.3.1. Capítol 1: Software

CODI DESCRIPCIÓ Uts. PREU IMPORT

C01_01 MPLAB ICD2

In circuit debugger. 1 116,78 116,78

C01_02 MPLAB IDE v8.4

Entorn de programació per a dispositius PIC 1 0 0

C01_03 MPLAB C18 C Compiler v3.34

Compilador de C18 1 0 0

C01_04 OrCAD Release 9.1

Disseny de layouts per a PCBs 1 0 0

C01_05 Proteus 7 Professional

Simulador de circuits electrònics 1 0 0

C01_06

Agilent IO Libraries Suite 15.3

Analitzador del port sèrie i connexions amb el

multímetre

1 0 0

TOTAL: 116,78

Puja un total de CENT- SETZE EUROS amb SETANTA-VUIT CÈNTIMS

4.3.2. Capítol 2: Components

CODI DESCRIPCIÓ Uts. PREU IMPORT

C02_01 Resistència de 10 kΩ

Tolerància +/- 20%. 0,5 W 1 0,20 0,20

C02_02 Resistència de 1 kΩ

Tolerància +/- 20%. 0,5 W 4 0,20 0,80

C02_03 Resistència de 470 Ω

Tolerància +/- 20%. 0,5 W 2 0,20 0,40

C02_04 Condensador de 1 uF para PCB

Tolerància +/- 10%. 100 V 15 0,35 5,25

C02_05 Condensador de 15 pF ceràmic 2 0,11 0,22

Page 76: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 76 de 111

Tolerància +/- 5%. 50 V

C02_06 Condensador de 10 uF normal

Tolerància +/-20%. 50 V 1 0,79 0,79

C02_07 Condensador de 10 uF de tantali

Tolerància +/-10%. 50 V 2 0,90 1,80

C02_08 Díode 1N4001

Rectificador de silici de 1 A. 50 V 4 0,48 1,92

C02_09

Transistor NMOS 2N3819

Corrent màx de 320 mA. Resistència de 4 Ω.

Màx. Potència de 0,7 W

4 0,35 1,40

C02_10

Regulador LM1086

Regulador lineal de tensió. Iout màx de 1,5 A

Regulació de línea de 0,015%

1 1,03 1,03

C02_11

Oscil·lador de 20 MHz

Capacitat de carga de 30 pF. Estabilitat de

freqüència de 50 ppm

1 1,60 1,60

C02_12

Relé electromecànic para PCB

Tensió bobina de 5V. Resistència bobina 112 Ω

4 1,60 6,40

C02_13

Microcontrolador PIC 18F25J11

Microcontrolador amb arquitectura Harvard de

8 bits, 28 pins, 32 kBytes de memòria de

programa, 1-UART amb PPS 2 UART.

1 2,55 2,55

C02_14 Tranceiver MAX 232

Driver de línea RS232. 2-T/2-R 3 2,36 7,08

C02_15

Inversor CD4049UBE

Rang de subministrament de tensió de 3 V a 18

V. Família lògica IC de 4000 CMOS.

2 0,55 1,10

C02_16

Connector DB9 mascle

Connector DB9 mascle para PCB 2 2,36 4,72

C02_17 Connector RJ-11

Connector RJ para placa PCB 1 0,95 0,95

Page 77: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 77 de 111

C02_18

Descodificador CD4514BC

Tensió d‟alimentació de funcionament de 3,3V.

Elements d‟entrada 4 i elements de sortida 16

1 0,89 0,89

C02_19

Connector de 20 pins normal

Connector mascle para cable pla 20 pins 1 0,35 0,35

C02_20

Connector de 20 pins recolzat

Connector mascle recolzat para cable pla 20

pins

2 0,46 0,92

C02_21

Sòcol tornejat 16 pins

Sòcol DIP16 vies de forat passant. Espaiat 2,54

mm. 2 files. Espai entre files 7,62 mm

5 0,12 0,60

C02_22

Sòcol tornejat 28 pins estret

Sòcol DIP28 vies de forat passant. Espaiat 2,54

mm. 2 files. Espai entre files 7,62 mm

1 0,16 0,16

C02_23

Sòcol tornejat 28 pins ample

Sòcol DIP28 vies de forat passant. Espaiat 2,54

mm. 2 files. Espai entre files 15,24 mm

1 0,18 0,18

C02_24 Regleta

Regleta de connexió 2 pin PCB 2 0,31 0,62

C02_25 Placa PCB

2 6,00 12,00

TOTAL: 53,93

Puja a CINQUANTA-TRES EUROS amb NORANTA-TRES CÈNTIMS

4.3.3. Capítol 3: Mà d’obra

CODI DESCRIPCIÓ Uts. PREU IMPORT

C03_01 Enginyer programador 330 18,00 5940

C03_02 Tècnic de muntatge 25 9,00 225

TOTAL: 5745

Puja a CINC MIL SET-CENTS QUARANTA-CINC EUROS

Page 78: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Pressupost

Pàgina 78 de 111

4.4. Resum del Pressupost

CAPÍTOL C01: SOFTWARE 116,78

CAPÍTOL C02: COMPONENTS 53,93

CAPÍTOL C03: MÀ D‟OBRA 5745

PRESSUPOST D’EXECUCIÓ MATERIAL 5915,71

Despeses generals 10% 591,57

PRESSUPOST D’EXECUCIÓ PER CONTRACTE 6507,28

IVA 18% 1171,31

PRESSUPOST DE LICITACIÓ 7678,59

TOTAL PRESSUPOST GENERAL 7678,59

El pressupost total puja a una quantitat de SET MIL SIS CENTS SETANTA-VUIT

EUROS amb CINQUANTA-NOU CÈNTIMS.

Page 79: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

PLEC DE CONDICIONS

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 80: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Plec de condicions

Pàgina 80 de 111

5.1. Reunits

El Dr. EDUARD LLOBET VALERO, professor titulat universitari, del Departament

d‟Enginyeria Electrònica , Elèctrica i Automàtica (DEEEA) de la Universitat Rovira i

Virgili (URV), amb domicili fiscal situat a l‟Avinguda dels Països Catalans, 26, de 43007

Tarragona.

i

El Sr. MARC LLUCH PORRES, enginyer tècnic industrial, amb domicili fiscal situat al

Carrer Berenguer IV, 22, de 43500 Tortosa.

5.2. Exposen

5.2.1. Primer

Que l‟enginyer tècnic industrial Marc Lluch Porres té experiència demostrada en l‟àrea

d‟electrònica digital i analògica, Disseny de Sistemes basats amb microcontroladors i en

informàtica industrial. Per aquesta motiu el DEEEA està interessat a contractar els seus

serveis.

5.2.2. Segon

Que la URV com a institució sense ànim de lucre, i que té com a finalitats principals, entre

d‟altres, les de formació i docència, les d‟investigació i recerca i, a la vegada, les d‟afavorir

i recolzar els convenis de col·laboració amb Marc Lluch Porres en les tasques de recerca i

suport a la docència.

5.3. Clàusules

5.3.1. Primera.- Objectius

El DEEA i Marc Lluch Porres col·laboren en activitats científiques d‟investigació i

desenvolupament tecnològic desenvolupades per aquest departament o amb d‟altres unitats

de recerca amb la condició de tercers en relació al present acord.

5.3.2. Segona.- Objecte de l’acord

L‟objecte d‟aquest contracte és que el Sr Marc Lluch Porres realitzi el projecte titulat

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació

RS232. per al Departament d‟Enginyeria Electrònica, Elèctrica i Automàtica de la

Universitat Rovira i Virgili i a sol·licitud seva.

5.3.3. Tercera.- Condicions d’acceptació del treball

El Sr. Marc Lluch Porres accepta realitzar el treball sol·licitat, d‟acord amb el programa de

treball establert en aquest projecte.

5.3.4. Quarta.- Extensió de la col·laboració

La col·laboració s‟entén en el sentit més ampli, tanmateix es veuen com a programes que

necessàriament s‟hauran de desenvolupar, els següents:

Execució de programes de recerca i desenvolupament.

Page 81: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Plec de condicions

Pàgina 81 de 111

Conveni per la utilització d‟equipament i de suport en la realització i certificació

d‟assajos.

Per cada programa dels esmentats es definiran les línees mestres a seguir pel que fa a

descripció detallada dels tipus d‟accions, sistemàtica a seguir, impresos a complimentar,

especialitats tècniques disponibles o qualsevol altre tipus d‟informació de caire general i de

procediment que faciliti la formalització dels futurs acords específics de col·laboració.

5.3.5. Cinquena.- Contingut dels programes específics

Cada projecte realitzat a l‟empara d‟aquest acord serà objecte d‟un contracte específic, el

qual haurà d‟incloure, entre d‟altres, els següents aspectes:

- Definició d‟objectius específics.

- Descripció del projecte i les diferents tasques a realitzar.

- Planificació de mitjans materials i humans necessaris, i cronograma corresponent.

- Pressupost i el seu pla de finançament

- Determinació de l‟aplicabilitat directa del present acord en tot el que estigui

determinat de forma específica al contracte del projecte.

- Designació de responsables directes del projecte per ambdues parts.

5.3.6. Sisena.- Coordinadors / Responsables

El DEEEA designa el Dr. Eduard Llobet Valero com a coordinador de l‟acord signat amb

Marc Lluch Porres.

Per l‟altra part, el coordinador que figurarà és Marc Lluch Porres. Aquest es podrà

actualitzar durant la vigència de l‟acord segons convingui, comunicant-ho per escrit a

l‟altra part. La persona designada serà l‟interlocutor i coordinador del programa de

col·laboració e la persona a la que serà adreçada tota consulta, correspondència o

comunicació general.

5.3.7. Setena.- Emissió d’informes

El responsable del projecte informarà regularment al DEEEA sobre la marxa dels treballs

que segons la memòria li correspongui desenvolupar. Aquestes persones seran

responsables de regir i impulsar les diferents tasques assignades a cada part. A la vegada

seran les responsables d‟emetre l‟informe final de tancament del projecte amb les

conclusions a que ha conduit el treball.

5.3.8. Vuitena.- Durada

La durada del present acord és de 31 setmanes, comptades a partir de la data de signatura

d‟aquest acord. En qualsevol cas, ambdues parts contemplen la possibilitat de fer unes

sessions de seguiment per tal de revisar els resultats de les diverses activitats de

col·laboració, proposar-ne de noves, i definir possibles accions de millora.

5.3.9. Novena.- Principis d’actuació

El DEEEA i el Sr. Marc Lluch Porres col·laboraran en tot moment sota els principis de

bona fe i eficàcia per assolir amb el millor èxit els projectes que es subscriguin.

5.3.10. Desena.- Resolució de conflictes

Després d‟esgotar la via de l‟acord privat i donada la impossibilitat manifesta d‟arribar a

un pacte acceptable per les parts davant d‟un hipotètic conflicte, ambdues parts acorden

Page 82: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Plec de condicions

Pàgina 82 de 111

que per a la resolució de qualsevol qüestió litigiosa que es plantegi a l‟empara del present

acord o dels contractes específics que se subscriguin en el futur, les parts se sotmetran a

l‟arbitratge institucional del Tribunal Arbitral de Barcelona de l‟Associació Catalana per a

l‟Arbitratge, encarregant-li designació d‟àrbitres i administració de l‟arbitratge d‟acord

amb el seu reglament, i sent d‟obligat compliment la seva decisió arbitral. S‟exceptuen

d‟aquesta submissió aquelles qüestions que no siguin de lliure disposició.

Abans d‟emprendre cap acció contra el DEEEA i/o la URV s‟haurà d0haver formulat la

reclamació administrativa prèvia tal com ho estableixen els articles 120 i següents de la

Llei de Procediment Administratiu.

I en prova de conformitat, ambdues parts signen el present pacte, a la ciutat i en la data

esmentada.

Pel DEPARTAMENT d‟ENGINYERIA L‟ENGINYER TÈCNIC INDUSTRIAL

ELECTRÒNICA, ELECTRICA I

AUTOMÀTICA

Dr. Eduard Llobet Valero Sr. Marc Lluch Porres

Tarragona, 9 de setembre del 2010

Page 83: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

CONCLUSIONS

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 84: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Tots els objectius preestablerts a l’inici del projecte s’han realitzat correctament.

S’ha aconseguit que el microcontrolador PIC 18F45J11 pugui comunicar-se via RS232 amb el multímetre Agilent 34401-A d’una manera eficaç.

S’ha realitzat correctament la comunicació del microntrolador amb un ordenador.

També s’ha aconseguit una multiplexació dels canals del multímetre amb la següent mesura dels sensors correctament. Com si es tractés d’un multímetre multicanal però amb baix cost.

A nivell d’aprenentatge s’ha millorat molt l’ús de programes com el Orcad, s’ha introduït eficientment a programes que mai s’havien utilitzat com són: el MPLAB IDE v8.40, simulador Proteus v7 i IO Libraries d’Agilent.

A nivell acàdemic s’ha millorat la programació amb c.

Page 85: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

BIBLIOGRAFIA

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 86: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

S’han consultat els següents llibres:

GARCIA, E. Compilador C CCS y simulador Proteus para microcontroladores PIC.

Barcelona.2000. ISBN 9788426714954

ANGULO, J.Mª [et al]. Microcontroladores avanzados dsPIC: Controladores de Señales, Arquitectura, programación y aplicaciones.2006. Madrid: Thomson. ISBN 84-9732-385-8.

GIRONA, J. Instrumentación virtual: adquisición, procesado y análisi de señales.2001. Ediciones UPC. ISBN 84-6301-473-4

S’han consultat les següents pàgines web:

Microchip Tecnology Inc (2008). Microchip Tecnology Inc Is a Leading Provider of Microcontroller and Analog Semiconductors [en línea][consultat: 4 de juny del 2010]. Disponible a: http://www.microchip.comhttp://www.microchip.com

Premier Farnell plc. (2008) Farnell [en linea][consultat: 28 d’agost del 2010]. Disponible a: http://es.farnell.comhttp://es.farnell.com

Premier Farnell plc. (2008) Farnell [en linea][consultat: 28 d’agost del 2010]. Disponible a: http://es.farnell.comhttp://es.farnell.com

Amidata S.A. (2008) RS online [en linea][consultat: 28 d’agost del 2010]. Disponible a: http://rs-online.comhttp://rs-online.com

Agilent Technoligies (2008) Agilent Technologies [en linea][consultat: 25 d’abril del 2010]. Disponible a: http://home.agilent.comhttp://home.agilent.com

Ayscom [en linea][consultat:15 de maig del 2010]. Disponble a: http://www.ayscom.com

Page 87: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Sistema de mesura mitjançant un multímetre i multiplexació de canals amb comunicació RS232

ANNEXES

TITULACIÓ: Enginyeria Tècnica Electrònica en Electrònica Industrial

AUTORS:Marc Lluch Porres.

DIRECTORS:Raul Calavia Boldu Eduard Llobet Valero.

DATA: Setembre del 2010

Page 88: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 85 de 111

8.1. Programació amb MPLAB IDE v8.4

8.1.1. Creació d’un projecte

Des del MPLAB IDE v8.4 és possible obrir un fitxer font (*asm) on s‟escriu el programa

en codi ensamblador o en c i després ensamblar-lo per obtenir el codi executable o binari

(*hex). També és possible l‟ús de projectes que utilitzen varis fitxers fonts, permetin així

reutilitzar el codi en més facilitat, al ser més modular.

Una vegada s‟obri el MPLAB IDE per crear un projecte hem de dirgir-nos al menú Project

i seleccionar l‟opció New. Apareix la finestra que mostra la Figura 8-1.

Figura 8-1. Il·lustració de la finestra New Project

Al camp Project Name s‟escriu el nom del projecte, i seguidament al camp Project

Directory s‟assigna la carpeta on es guardarà aquest.

Una de les primeres feines que s‟ha de realitzar és seleccionar el model del PIC en el que

es treballarà (en aquest cas serà el PIC18F45J11). Al menú principal es selecciona

Configure i després Select Device. Apareixerà una finestra com la de la Figura 8-2.

Figura 8-2. Il·lustració de la finestra de selecció del dispositiu

Page 89: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 86 de 111

Es pot veure un conjunt d‟eines tant hardware com software que el MPLAB és capaç de

soportar amb el model de PIC seleccionat. Les senyals verdes indiquen que l‟eina està

disponible, les vermelles que no són disponibles en el MPLAB per al dispositiu

seleccionat.

A continuació es selecciona el compilador que s‟usarà, en el cas d‟aquest projecte

correspon al compilador MPLAB C18. Aquesta selecció es realitza al menú Project i a

l‟opció Select Language Toolsuite, tal i com s‟indica a la Figura 8-3.

A continuació és configura els subdirectoris de treball,en el menú Project, seleccionant

l‟opció Build options i l‟opció Project. Es selecciona la ubicació de fitxers de declaracions

(Figura 8-4), de biblioteques (Figura 8-5) i de script d‟enllaç (Figura 8-6).

Figura 8-4. Il·lustració de la finestra de declaracions de fitxers

Figura 8-3. Il·lustració de la finestra de selecció del llenguatge de

programació

Page 90: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 87 de 111

Seguidament es crea l‟arxiu de text on s‟escriurà el programa que s‟haurà d‟executar, dins

de l‟opció File es selecciona New. Apareixerà una finestra tal com mostra la Figura 8-7

amb la paraula Untitled (indicant que no té nom).

Figura 8-5. Il·lustració de la finestra

d‟Script d‟enllaç

Figura 8-6. Il·lustració de la finestra

d‟ubicació de la biblioteca

Page 91: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 88 de 111

Figura 8-7. Il·lustració de la finestra Untitled

És recomanable guardar l‟arxiu del codi al projecte abans d‟escriure cap instrucció: dins

del menú File es selecciona l‟opció Save As, apareixerà una finestra com la de la Figura 8-

8. Es guardarà l‟arxiu en * .c i s‟afegirà al projecte creat anteriorment.

Figura 8-8. Il·lustració de la finestra on es guarda el projecte

Finalment ens dirigim al menú View i s‟activa l‟opció Project, aleshores apareixerà una

finestra com la de la Figura 8-9. Ara s‟ha de clicar al damunt de Source Files amb el botó

dret i afegir l‟arxiu en c.

En la versió v8.4 és necessari també agregar al projecte l‟arxiu (PIC18F utilitzat).lkr ( per

evitar un error de compilació).

Page 92: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 89 de 111

Figura 8-9. Il·lustració de la finestra PIC.mcw

8.2. Entorn de simulació

8.2.1. MPLAB SIM

Com ja s‟ha comentat anteriorment aquest simulador és simple, fàcil d‟usar i és simula al

mateix MPLAB IDE v8.40.

Per començar a simular hem de tenir el codi compilat i sense errors.

Una vegada compilat, dins de l‟apartat menú Debugger a l‟opció Select Tool i seleccionar

MPLAB SIM; seguidament apareixerà una pestanya com la de la Figura 8-10.

Figura 8-10. Barra de simulació del MPLAB SIM

A continuació explicaré els elements de la barra de simulació:

Run (F9): quan s‟activa aquesta opció el programa s‟executa a gran velocitat en “mode

temps real”. L‟execució comença en la direcció actual del comptador de programa (PC),

que es mostra en la barra d‟estat i en la finestra Program Memory. Mentre el programa està

en execució, Step i Run estan inhabilitats, i es paren si s‟activa Halt o si troba un

Breakpoint.

Animate: aquesta opció és semblant a l‟anterior, però en aquest cas el programa s‟executa

de manera automàtica des de la direcció que indiqui el PC en l‟instant en que s‟activi.

Equival a polsar contínuament Step into. S‟atura amb el Halt.

Halt (F5): Para l‟execució del programa, el comptador de programa es para i s‟actualitza la

informació.

Run

Animate

Halt Step Into

Step Out

Step Over

Reset

Halt

Page 93: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 90 de 111

Step Into (F7): aquesta acció executa la instrucció on la seva direcció de memòria

coincideix amb el valor que apunta el PC abans d‟activar-la. Si algun registre es modifica

es ressalta en color vermell. Amb aquesta acció, es pot comprovar pas a pas com s‟executa

el programa(comprovar si hi han errors) i veure on està l‟error per depurar-lo. També és

especialment interessant quan es comença a estudiar l‟ensamblador i es vol comprovar el

repertori d‟instruccions del mateix. En definitiva, executa la instrucció actual i s‟atura

actualitzant la informació.

Step Over (F8): executa l‟ instrucció actual i es para, actualitzant la informació.

Aparentment funciona com el Step Into però si la instrucció a executar es CALL, executa la

subrutina cridada i es para a l‟ instrucció següent a la cridada.

Step Out: si el lloc actual està dins d‟una subrutina, l‟acaba i retorna al programa

principal.

Reset: inicialitza el sistema. El comptador de programa (PC) es posa a 0.

Es pot seleccionar l‟opció Program Memory (es pot veure les posicions de memòria de

cada una de les instruccions), el codi d‟operació de cada instrucció i la posició de memòria

que se li ha donat a cada etiqueta. Es pot utilitzar per seguir pas a pas l‟execució del

programa. A la Figura 8-11 es mostra la finestra del Programa Memory.

Figura 8-11. Finestra de la Memòria de Programa

Si es selecciona en cadascuna de les tres opcions de la part inferior d‟aquesta finestra

(Figura 8-11)es podrà seleccionar tres formes de veure la memòria de programa:

- Opcode Hex: representa la memòria de programa amb les dades en hexadecimal.

Aquesta opció és útil al usar el programador del dispositiu i comprovar si s‟han

gravat bé les dades.

- Machine: aquesta opció representa el codi màquina ensamblat en la informació de

les etiquetes i direccions de memòria que té assignades.

- Symbolic: desplega el codi hexadecimal desensamblat amb els símbols (etiquetes)

utilitzades al programa.

També existeix l‟opció Watch que permet supervisar els continguts dels registres. Per

agregar els registres a visualitzar, es pot fer directament escrivint mitjançant els botons Add

SFR o Add symbol i les finestres desplegables corresponents. A la Figura 8-12 es mostra

com s‟ha introduït el valor del registre TRISB per supervisar-lo, després d‟emular el

programa apareix el valor 0x01.

Page 94: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 91 de 111

Figura 8-12. Opció Watch

8.3. Proteus 7

8.3.1. Creació de l’esquema del circuit

ISIS de Proteus és un potent programa de disseny electrònic que permet realitzar esquemes

que poden ser simulats en l‟entorn VSM o passat en un circuit imprès en l‟entorn ARES.

Conté una gran col·lecció de llibreries de models tant per dibuixar com per simular. Permet

la creació de nous components, inclús, la possibilitat de sol·licitar al fabricant (Labcenter

Electronics) que creí un nou model.

No s‟entrarà profundament a explicar com funciona aquest programa, però s‟explicarà les

bases per dibuixar qualsevol circuit electrònic. A la Figura 8-13 es mostra l‟àrea de treball.

Figura 8-13. Àrea de treball del ISIS

A la columna de l‟esquerra si es polsa sobre el botó P ens situa a la finestra dels

components. Apareixerà una finestra com la de la Figura 8-14, es mostren tres columnes

en diferents possibilitats.

Page 95: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 92 de 111

Figura 8-14. Selecció del components

A la columna de l‟esquerra hi ha un apartat on es pot introduir el codi del dispositiu

desitjat. Baix d‟aquest, es troba una àrea anomenada Category on s‟observen els noms de

les categories dels dispositius. Baix d‟aquest, es troben les Sub-category en més definició

per categories i més a baix es mostren els diferents fabricants.

A la columna central es mostra una llista d‟elements i la seva descripció, al seleccionar el

que es necessita es mostrarà la seva representació esquemàtica a la columna de la dreta.

Un cop ja s‟ha definit com agafar els components, ja es pot realitzar qualsevol circuit

electrònic. No s‟entrarà en detall en funcions com les d‟unió de punts entre els

components, com s‟esborren i es copien els components. Ja que són opcions molt intuïtives

i es pretén fer una breu explicació d‟aquest apartat.

Ara es parlarà com activar el microcontrolador per obtenir una bona simulació. Per

realitzar-ho correctament s‟ha de modificar les seves característiques. Es fa “clicant” amb

el botó dret del ratolí fins a l‟opció Edit Properties. Apareixerà una finestra com la de la

Figura 8-15.

Page 96: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 93 de 111

Figura 8-15. Opció d‟editar el PIC

El més important és que permet carregar al microcontrolador l‟arxiu de programa (*.HEX

o *.COF) generat en la compilació; també es pot modificar la freqüència del rellotge,

canviar la paraula de configuració i altres opcions avançades.

8.3.2. Depuració i simulació del circuit

La característica més important del PROTEUS VSM és la capacitat de depurar programes

fonts en diferents llenguatges de programació. A més d‟acceptar l‟arxiu de programació

Intel Hex(HEX), també admet fitxers com el Byte-Craft COD (COD), el Microchip

Compatible (COF), etc. A l‟utilitzar aquests arxius es pot obrir una finestra de codi font

anomenada SOURCE CODE mitjançant pel qual es pot seguir el programa font línea a

línea de codi. A més permet visualitzar elements interns del PIC com són la memòria de

programa, la memòria RAM o la EEPROM, els registres especials (FSR) i la pila.

En el cas del compilador C18, després de compilar se generen arxius *.HEX i *.COF, dels

quals es poden utilitzar en l‟entorn PROTEUS VSM. Per executar el programa des de ISIS

s‟ha d‟entrar a l‟opció Edit Properties del microcontrolador (tal com mostra la Figura 6-

15) i en l‟opció PROGRAM FILE s‟indica el fitxer del codi font utilitzat.

A més, es pot indicar la freqüència de treball en l‟opció PROCESSOR CLOCK

FREQUENCY i en l‟opció ADVANCED PROPERTIES es pot configurar elements com el

watchdog o accessos no correctes a memòria entre d‟altres.

Una vegada s‟ha carregat el codi font al microcontrolador es pot començar amb la

simulació usant la barra de la Figura 8-16.

Page 97: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 94 de 111

Figura 8-16. Barra de simulació del PROTEUS VSM

Aquesta barra se composa per l‟opció MARXA, PAS a PAS, PAUSA i PARADA

La simulació no és en temps real i dependrà de la carga de treball del PC. A la barra d‟estat

s‟indica la carga de la CPU (en més carga menys real serà la simulació) i el temps

d‟execució. Això implica, per exemple, que un temps de 1 s al circuit pot significar varis

minuts de simulació. Es pot veure a la Figura 8-17.

Figura 8-17. Barra d‟estat

A continuació s‟explicaran els elements de la barra de simulació:

L‟opció PARADA para totalment la simulació mentre que PAUSE la para de forma

momentània permetent usar les eines de depuració.

L‟opció PAS a PAS permet treballar en trams de temps predefinits, i a més permet utilitzar

les eines de depuració. Aquesta opció està lligada a la configuració de l‟animació tal com

es mostra a la Figura 8-18. Es va al menú SYSTEM i a l‟opció SET ANIMATION

OPTIONS.

Figura 8-18. Configuració de l‟animació

Dins d‟aquesta opció es pot canviar els següents paràmetres:

Frames per Second: nombre de vegades que la pantalla ISIS es refresca en un segon (per

defecte 20).

Timestep per Frame: indica el temps de simulació per cada un dels frames; l‟ideal es que

sigui el valor invers del escollit en l‟opció Frames per Second.

MARXA

PAS a PAS

PAUSA

PARADA

Page 98: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 95 de 111

Single StepTime: es defineix el increment de temps que es desitja que passi cada vegada

que és polsa aquesta tecla.

Animation Options: permet habilitar la visualització de les sondes de tensió i corrent,

mostrar els nivells lògics als pins, mostrar el nivell de tensió als cables mitjançant colors o

mostrar la direcció de les corrents als cables.

Voltage/Current Ranges: permet determinar la tensió llindar i corrent per utilitzar en la

visualització de les corresponents Animation Options.

Al circuit que es mostra en la Figura 8-19 podem veure l‟activació d‟algunes d‟aquestes

opcions.

Figura 8-19. Circuit exemple

També des del menú DEBUG es pot iniciar la simulació. En l‟opció Start/Restart

Debugging es pot iniciar la simulació però fent una pausa per veure les diferents finestres

de depuració. També es pot executar el programa directament en l‟opció Execute, executar

el programa sense punts de ruptura en l‟opció Execute Without Breakpoints o executar-lo

en un temps concret en l‟opció Execute for Specefied Time. Aquestes opcions es poden

veure a la Figura 8-20.

Page 99: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 96 de 111

Figura 8-20. Menú Debug

Des d‟aquesta mateixa finestra (Figura 8-20) també es pot veure la memòria Eeprom del

microcontrolador mitjançant l‟opció Reset Persistent Model Data. Aleshores ens apareix

les diferents eines de depuració com podem veure a la Figura 8-21.

Figura 8-21. Il·lustració de les eines de depuració

A continuació s‟expliquen breument algunes opcions vistes a la Figura 8-21.

Simulation Log: missatges resultants de la simulació.

Watch Window: finestra de visualització de posicions de memòria. Permet afegir el que el

usuari vol veure.

Page 100: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 97 de 111

Virtual Terminal: finestra de visualització del contingut del Virtual Terminal.

PIC18 CPU: es pot visualitzar els registres, la memòria de dades, la memòria de

programa, la memòria EEPROM...

Tal com indica la Figura 8-22. , hi ha una finestra de diagnòstic que facilita la depuració,

emmagatzemant els errors, missatges de diagnòstics i avisos produïts durant el procés de

simulació. En la barra d‟estat (zona inferior del àrea de treball) es mostra un avís tal com es

veu a la Figura 8-23; polsant sobre l‟avís apareix la finestra de diagnòstic.

Figura 8-22. Finestra de diagnòstic

Figura 8-23. Finestra d‟avís

Es pot configurar les opcions d‟aquesta eina des de l‟opció del menú DEBUG anant a

l‟opció Configure Diagnostics i apareixerà una finestra tal com mostra la Figura 8-24.

Figura 8-24. Opció de configuració de diagnòstics

Page 101: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 98 de 111

A la finestra (Figura 8-24) es mostren els components de l‟esquema d‟un diagnòstic en la

simulació, les diferents possibilitats de diagnòstic i el temps de diagnòstic .

El llistat de nodes i patilles es pot trobar en l‟ajuda de l‟opció Design Explorer. A la seva

finestra es mostren tots els nodes i patilles que formen el circuit. Es pot veure a la Figura

8-25.

Figura 8-25. Vista dels nodes i patilles del circuit

8.4. Imatges del programa Agilent IO Libraries Suite 15.3

Seguidament es mostren certes imatges que il·lustren com funciona aquest programa tan

interessant d‟Agilent.

Principalment serveix per verificar la correcta connexió del multímetre amb el PC. Com es

pot veure a la Figura 8-26 tenim una correcta connexió del COM 2 del PC amb el

multímetre.

Page 102: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 99 de 111

Figura 8-26. Verificació connexió Multímetre-PC

Una vegada estan connectats correctament poden intercanviar informació.

En l‟opció Interactive IO (Figura 8-26) es pot enviar ordres al multímetre. Aquesta opció

principalment serveix per conèixer en quins formats el multímetre accepta ordres i poder

així fer proves amb ell. La Figura 8-27 mostra com s‟envia el comandament “SYST:REM”

que posa el multímetre en mode remot.

Figura 8-27. Enviament d‟un comandament

Page 103: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 100 de 111

Seguidament a la Figura 8-28 veurem que també es possible enviar un comandament de

pregunta i que el mateix multímetre ens respongui. Es realitza enviant el comandament

“*IDN?” (identificació) i ens respon el seu model.

Figura 8-28. Enviament i recepció d‟un comandament

També existeix un programa molt interessant anomenat IO Monitor, aquest s‟anomena

col·loquialment un “sniffer del port sèrie”. S‟encarrega d‟observar el port sèrie bit per bit.

És molt útil perquè es pot veure exactament quins caràcters s‟envien i es reben a l‟hora

d‟enviar o rebre un comandament.

Tal i com es mostra en la Figura 8-29, una vegada enviat el comandament “*IDN?” a

l‟entrada han entrat exactament els caràcters que es veuen encerclats.

Figura 8-29. Observació de l‟entrada dels caràcters del comandament

Page 104: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 101 de 111

A la Figura 8-29 es pot veure pràcticament el mateix que a la Figura 8-28 però en aquest

cas s‟observa la sortida dels caràcters, és a dir, el que respon el multímetre.

També en aquestes Figures 8-28 i 8-29 es pot veure un error d‟incorrecte enviament de

format enviant “IDN?“ en canvi d‟enviar “*IDN?”, en això es vol mostrar la potent i útil

eina que s‟ha treballat.

Figura 8-29. Observació de la sortida dels caràcters del comandament

8.5. Característiques principals del port E/S

Un port de E/S paral·lel utilitza una sèrie de línies per on es transmeten les dades i una

senyal de rellotge per poder controlar la transferència. A la Figura 8-30 es mostra una

transmissió paral·lela de bn bits.

Figura 8-30. Transmissió paral·lela

L‟ample de banda del canal de comunicacions s‟expressa amb el nombre de bytes

transferits per segon (B/s) o amb el nombre de bits transferits per segon (b/s).

Parlem de comunicació sèrie quan per cada temps de bit enviem un bit. La Figura 8-31

mostra aquesta comunicació i veiem com només es té una línia per enviar un sol bit.

Page 105: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 102 de 111

Figura 8-31. Transmissió sèrie

Un altra característica dels ports E/S és establir en quin sentit pot anar la o les

comunicacions. Aleshores podem definir que el port pot ser simplex, half-duplex o full

duplex:

-Un canal simplex, permet la transferència de dades en una sola direcció. Un gran

desavantatge és que el receptor no té ninguna forma d‟avisar al transmissor sobre el seu

estat i sobre la qualitat d‟informació que es rep. Aquest canal es pot veure a la Figura 8-32.

Figura 8-32. Canal de comunicació simplex

-Un canal half-duplex, permet la transferència de dades en tots dos sentits però en

comunicacions diferents, és a dir, no es pot transferir informació en ambos sentits de

manera simultània. Aquest canal es mostra en la Figura 8-33.

Figura 8-33. Canal de comunicació half-duplex

-Un canal full duplex, suporta transferències en ambos sentits simultàniament. Aquest

canal s‟observa en la Figura 8-34.

Figura 8-34. Canal de comunicació full-duplex

Per a que dos dispositius es puguin comunicar (sigui un microcontrolador o un ordenador)

han de posar-se d‟acord amb el sistema de comunicació que utilitzaran.

Page 106: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 103 de 111

La comunicació sèrie es pot dividir en dos categories: comunicació asíncrona i

comunicació síncrona: en la transmissió asíncrona els dispositius es posen d‟acord en la

velocitat de comunicació, un transmet i l‟altre rep, o a l‟inrevés.

El caràcter que es vol transmetre té un indicador d‟inici i un de fi de caràcter. La forma

estàndard d‟enquadrar un caràcter és a través d‟un bit d‟inici i un bit de parada. Tal i com

es pot veure a la Figura 8-35.

Figura 8-35. Comunicació sèrie asíncrona

En les transmissions síncrones els caràcters es transmeten consecutivament, i sense existir

el bit d‟inici ni el de parada entre els caràcters.

El primer que s‟envia es un octet de sincronisme (“sync”) tal es pot veure a la Figura 8-36.

Aquest octet realitza la mateixa funció que el bit d‟inici en la transmissió asíncrona,

indicant al receptor que s‟anirà a enviar un missatge. A més, utilitza la senyal del rellotge

per determinar quan i en quina freqüència serà mostrejada la senyal, és a dir, permet

sincronitzar els rellotges dels dispositius transmissor i receptor.

Les dades es van transmeten un a un amb cada pols del rellotge.

Figura 8-36. Comunicació sèrie síncrona

Page 107: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 104 de 111

8.6. Codi font

#include <p18f25j11.h>

#include <usart.h>

#include <delays.h>

//Definicions de constants

#define rele1 1

#define rele2 1

#define rele3 1

#define rele4 1

//Declaració de variables

unsigned char Buffer_remot1[15]=0x53,0x59,0x53,0x54,0x65,0x6D,0x3A,

0x52,0x45,0x4D,0x6F,0x74,0x65,0x0D,0x0A;

unsigned char Buffer_mesura2[14]=0x4D,0x45,0x41,0x53,0x3A,0x56,0x4F,

0x4C,0x54,0x3A,0x44,0x43,0x3F,0x0A;

unsigned char Buffer_resistencia[10]=0x4D,0x45,0x41,0x53,0x3A,0x52,0x45,

0x53,0x3F,0x0A;

char rx_data = 0;

unsigned char p=0,a=0,k=0,x=0,z=0;

unsigned char acum[100];

//Declaració de funcions

void rx_handler (void);

void funcio_remot_mesura (void);

//Rutina de servei a la interrupció

#pragma code high_vector = 0x8

void high_interrupt (void)

_asm GOTO rx_handler _endasm

#pragma code

#pragma interrupt rx_handler

void rx_handler (void)

if(PIR1bits.RCIF==1) //Si hi ha hagut interrupció per recepció

PIR1bits.RCIF = 0; //Baixem el flag de recepció

acum[p]=Read1USART(); //Llegim la dada rebuda i la guardem

p++;

if(p==100)

p=0;

a=0;

Write2USART(acum[a]); //Enviem la dada d‟abans rebuda

a++;

Page 108: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 105 de 111

PIE3bits.TX2IE=1; //Habilitem la interrupció de transmissió

if(PIR3bits.TX2IF==1) //Si hi ha hagut interrupció de transmissió

if(a==100)

PIR3bits.TX2IF=0;//Baixem el flag de transmissió

a=0;

p=0;

else

Write2USART(acum[a]); //Continuem enviant les dades fins que arribi a 100

a++;

//------------------------------------------------------------------------------------------------------

//Programa principal

void main (void)

PORTB = 0x00; //Habilitem els ports com a sortides

TRISB = 0x00;

//Configurem el port USART1

baud1USART (BAUD_IDLE_CLK_LOW &

BAUD_8_BIT_RATE &

BAUD_WAKEUP_OFF &

BAUD_AUTO_OFF );

Open1USART( USART_TX_INT_OFF &

USART_RX_INT_ON &

USART_ASYNCH_MODE &

USART_EIGHT_BIT &

USART_SINGLE_RX &

USART_BRGH_HIGH ,

25);

TRISCbits.TRISC6 = 1;

TRISCbits.TRISC7 = 1;

EECON2=0x55; //Configurem els pins 2 i 3 com a PPS del USART2

EECON2=0xAA;

PPSCON=0x00;

RPOR1=0x05;

PPSCON=0x01;

//Configurem el port USART2

Page 109: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 106 de 111

baud2USART (BAUD_IDLE_CLK_LOW &

BAUD_8_BIT_RATE &

BAUD_WAKEUP_OFF &

BAUD_AUTO_OFF );

Open2USART(USART_TX_INT_OFF &

USART_RX_INT_ON &

USART_ASYNCH_MODE &

USART_EIGHT_BIT &

USART_SINGLE_RX &

USART_BRGH_HIGH,

25);

//Habilitem interrupcions

INTCONbits.GIEH = 1;

INTCONbits.PEIE = 1;

while(1)

if(rele1==1)

PORTB=0x01; //Activem relé 1

while (k<15) //Envio->SYSTem:REMote

while(Busy1USART())

Write1USART(Buffer_remot1[k++]);

Delay10KTCYx(10000000000000); //Retard

while(x<14) //Envio-->MEAS:VOLT:DC ?

while(Busy1USART())

Write1USART(Buffer_mesura2[x++]);

Delay10KTCYx(10000000000000);

PORTB=0x00; //Desactivem relé 1

Delay10KTCYx(100000);

if(rele2==1)

PORTB=0x02; //Activem relé 2

while (k<15) //Envio->SYSTem:REMote

while(Busy1USART())

Write1USART(Buffer_remot1[k++]);

Delay10KTCYx(10000000000000);

while(z<14) //Envio-->MEAS:VOLT:DC ?

while(Busy1USART())

Write1USART(Buffer_mesura2[z++]);

Page 110: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 107 de 111

Delay10KTCYx(10000000000000);

8.7. Diagrames de flux

Es mostraran un digrama de blocs de la interrupció i un del programa principal.

INICI

Flag

rx==1

Lectura dada

p++

p==num

p=0

Envio dada

a++

Habilitació tx

Flag

tx==1

a==num

Inhabilitar tx i rx

Envio dada

a++

FI

interrupció

tx

FI

interrupció

rx

SI

SI

NO

O

NO

O

Page 111: Sistema de mesura mitjançant un multímetre i …deeea.urv.cat/public/PROPOSTES/pub/pdf/1632pub.pdf · 2.2.4.1. Historia del llenguatge SCPI ... 4.2.1. Capítol 1: Software ... 8.3

Annexes

Pàgina 108 de 111

Habilitació

d’interrupcions

Mentre

sempre

Relé 1==1

Activació

del relé 1

Mentre

K<15

Comprovació

PORT USART

Envio carácter del

comando remot

K++

Retard

Comprovació

PORT USART

Envio carácter del

comando mesura

x ++

Mentre

K<15

Comprovació

PORT USART

Envio carácter del

comando remot

K++

Retard

Comprovació

PORT USART

Envio carácter del

comando mesura

x ++

Mentre

K<15

Comprovació

PORT USART

Envio carácter del

comando remot

K++

Retard

Comprovació

PORT USART

Envio carácter del

comando mesura

x ++

Mentre

K<15

Comprovació

PORT USART

Envio carácter del

comando remot

K++

Retard

Comprovació

PORT USART

Envio carácter del

comando mesura

x ++

Relé 2==1 Relé 3==1 Relé 4==1

Activació

del relé 1

Activació

del relé 1

Activació

del relé 1

INICI

INICIALITZACIONS: Ports E/S

Interrupcions Externes USART

PPS