disseny i implementació d’un nas electrònic...

137
Disseny i Implementació d’un Nas Electrònic Autònom AUTORS: Jesús Ferrando Herranz, Julian Del Hallazgo Arasa . DIRECTORS: Jesús Brezmes Llecha, Xavier Vilanova Salas . DATA: Juny / 2001.

Upload: others

Post on 02-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Disseny i Implementació d’un Nas Electrònic Autònom

AUTORS: Jesús Ferrando Herranz, Julian Del Hallazgo Arasa . DIRECTORS: Jesús Brezmes Llecha, Xavier Vilanova Salas .

DATA: Juny / 2001.

Page 2: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Índex

i

Índex

Page 3: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Índex

ii

Índex 1 Memòria Descriptiva ....................................................................................................... 1

1.1 Introducció .......................................................................................................... 2

1.1.1 Antecedents .......................................................................................... 2 1.1.2 Objectius .............................................................................................. 2

1.2 Descripció funcional ........................................................................................... 3 1.2.1 Visió general ........................................................................................ 3 1.2.2 Placa CPU ........................................................................................... 4 1.2.3 Placa del teclat hexadecimal i el display LCD .................................... 7 1.2.4 Placa de conversió de digital a analògic ............................................ 8 1.2.5 Placa de conversió d’analògic a digital .............................................. 9 1.2.6 Placa de distribució de senyals ......................................................... 10 1.2.7 Placa dels sensors ............................................................................. 11 1.2.8 Font d’alimentació ............................................................................. 12 1.3 Descripció circuital ........................................................................................... 13 1.3.1 Placa CPU ......................................................................................... 13 1.3.1.1 El microprocessador ........................................................... 13 1.3.1.2 Ports paral· lels .................................................................... 30 1.3.1.3 Port sèrie ............................................................................. 32 1.3.1.4 Lògica ................................................................................. 38 1.3.1.5 Buffer ................................................................................... 40 1.3.1.6 Latch d’adreces ................................................................... 41 1.3.1.7 Connector placa D_A ......................................................... 41 1.3.1.8 Connector placa A_D ......................................................... 42 1.3.2 Placa teclat hexadecimal i display LCD ........................................... 43 1.3.3 Placa de conversió de digital a analògic .......................................... 45 1.3.3.1 Conversió i multiplexació de les dades ............................... 46 1.3.3.2 Control d’escriptura ........................................................... 49 1.3.3.3 Emmagatzematge de dades analògiques ............................ 52 1.3.3.4 Cronogrames ...................................................................... 54 1.3.4 Placa de conversió d’analògic a digital ............................................ 56 1.3.4.1 Multiplexor analògic ........................................................... 56 1.3.4.2 Amplificador d’instrumentació ........................................... 57 1.3.4.3 Conversor d’analògic a digital ........................................... 58 1.3.4.4 Flip-flop .............................................................................. 60 1.3.4.5 Multivibrador monoastable ................................................ 60 1.3.4.6 Buffers ................................................................................. 61 1.3.5 Placa de distribució dels senyals dels sensors .................................. 63 1.3.6 Placa dels sensors .............................................................................. 64 1.3.6.1 Fonts de corrent .................................................................. 64 1.3.6.2 Etapa de potència pels heaters ........................................... 65 1.3.7 Font d’alimentació ............................................................................. 66 1.3.7.1 Font d’alimantació de +5 volts ........................................... 66 1.3.7.2 Font de tensió simètrica de ±15 volts ................................. 67

Page 4: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Índex

iii

1.4 Incidències i resolució de problemes ................................................................ 68 1.4.1 Placa CPU ......................................................................................... 68 1.4.2 Placa da conversió de digital a analògic .......................................... 72 1.4.3 Placa de conversió d’analògic a digital ............................................ 73 1.5 Conclusions ...................................................................................................... 76 2 Memòria de càlcul ......................................................................................................... 77 2.1 Placa CPU ......................................................................................................... 78 2.1.1 Circuit del reset del microprocessador ............................................. 78 2.1.2 Connector display i teclat .................................................................. 78 2.1.3 MAX232 ............................................................................................. 79 2.1.4 Oscil· lador de la UART ..................................................................... 80 2.1.5 Oscil· lador del microprocessador ..................................................... 80 2.2 Placa de conversió de digital a analògic ........................................................... 81 2.2.1 Reset del biestable ............................................................................. 81 2.2.2 Temporitzador NE555 ....................................................................... 81 2.2.3 Divisor de tensió en l’amplificador operacional ............................... 82 2.2.4 Configuració del conversor AD669 ................................................... 83 2.2.5 Condensador del Sample and Hold ................................................... 83 2.3 Placa de conversió d’analògic a digital ............................................................ 84 2.3.1 Amplificador d’instrumentació .......................................................... 84 2.3.2 Multivibrador monoastable ............................................................... 85 2.4 Placa de sensors ................................................................................................ 86 2.4.1 Fonts de corrent ................................................................................. 86 2.4.2 Etapa de potència d’excitació dels heaters ....................................... 88 2.5 Placa font d’alimentació ................................................................................... 91 2.6 Programació ...................................................................................................... 92 2.6.1 Temporitzador .................................................................................... 92 2.6.2 Placa A/D ........................................................................................... 94 2.6.3 PIES ................................................................................................... 95 2.6.4 Comunicació sèrie ............................................................................. 96 3 Plànols ............................................................................................................................. 98 3.1 Esquemes .......................................................................................................... 99 3.1.1 Placa CPU ....................................................................................... 100 3.1.2 Placa D_A ........................................................................................ 101 3.1.3 Placa A_D ........................................................................................ 102 3.1.4 Placa distribució .............................................................................. 103 3.1.5 Placa sensors ................................................................................... 104 3.1.6 Placa font d’alimentació .................................................................. 105

Page 5: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Índex

iv

3.2 Fotolits ............................................................................................................ 106 3.2.1 Placa CPU.Components. ................................................................. 107 3.2.2 Placa CPU. Soldadures. .................................................................. 108 3.2.3 Placa D_A.Components. .................................................................. 109 3.2.4 Placa D_A.Soldadures. .................................................................... 110 3.2.5 Placa A_D.Components. .................................................................. 111 3.2.6 Placa A_D.Soldadures. .................................................................... 112 3.2.7 Placa sensors.Components. ............................................................. 113 3.2.8 Placa sensors. Soldadures. .............................................................. 114 3.3 Serigrafia components .................................................................................... 115 3.3.1 Placa CPU ....................................................................................... 116 3.3.2 Placa D_A ........................................................................................ 117 3.3.3 Placa A_D ........................................................................................ 118 3.3.4 Placa sensors ................................................................................... 119 4 Pressupost ..................................................................................................................... 120 4.1 Quadre de preus .............................................................................................. 121 4.2 Amidaments .................................................................................................... 125 4.3 Aplicació de preus .......................................................................................... 133 4.4 Pressupost ....................................................................................................... 141 5 Plec de Condicions ....................................................................................................... 144 5.1 Condicions generals ........................................................................................ 145 5.1.1 Introducció ....................................................................................... 145 5.1.2 Reglaments i normes ........................................................................ 145 5.1.3 Materials .......................................................................................... 145 5.1.4 Execució del projecte ....................................................................... 145 5.1.5 Interpretació i desenvolupament ..................................................... 146 5.1.6 Treballs complementaris ................................................................. 146 5.1.7 Modificacions .................................................................................. 146 5.1.8 Realització defectuosa ..................................................................... 147 5.1.9 Mitjans auxiliars .............................................................................. 147 5.1.10 Recepció del projecte ..................................................................... 147 5.1.11 Responsabilitats ............................................................................. 147 5.1.12 Fiança ............................................................................................ 148 5.2 Condicions tècniques ...................................................................................... 148 5.2.1 Condicions de les plaques de C.I. .................................................... 148 5.2.2 Condicions dels components electrònics ......................................... 148 5.2.3 Condicions del muntatge de plaques ............................................... 149 5.3 Condicions facultatives .................................................................................. 149 5.3.1 Normes a seguir ............................................................................... 149 5.3.2 Personal ........................................................................................... 149

Page 6: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Índex

v

5.3.3 Reconeixements i assajos previs ...................................................... 150 5.3.4 Assajos ............................................................................................. 150 5.3.5 Assajos d’aparellatge ...................................................................... 150 5.4 Condicions econòmiques ................................................................................ 151 5.4.1 Preus ................................................................................................ 151 5.4.2 Abonament del projecte ................................................................... 151 5.4.3 Revisió de preus ............................................................................... 151 5.4.4 Penalitzacions .................................................................................. 151 5.4.5 Contracte ......................................................................................... 151 5.4.6 Rescissió del contracte .................................................................... 152 5.6.7 Liquidació en cas de rescissió del contracte ................................... 153 6 Annexes ......................................................................................................................... 154 6.1 Llistats dels programes ................................................................................... 155 6.1.1 ProgramaTemporitzador ................................................................. 155 6.1.2 Programa Placa A/D ....................................................................... 158 6.1.3 Programa PIES ................................................................................ 160 6.1.4 Programa comunicació sèrie ........................................................... 163 6.1.4.1 Programa de recepció ....................................................... 163 6.1.4.2 Programa de transmissió .................................................. 165 6.1.4.3 Programa comunicació PC ............................................... 167 6.2 Informació tècnica dels components .............................................................. 168 Microprocessador 80C188XL UART TL16C450F PIA 82C55A Transceiver MAX232 EPROM 27C256 SRAM KM684000A Conversor D/A AD669 Multiplexor analògic HEF4067B LF398 Conversor A/D LTC1605 Multivibrador monoastable 74HC221

Page 7: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

1

1 Memòria Descriptiva

Page 8: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

2

Memòria descriptiva. 1.1 Introducció 1.1.1 Antecedents Els estudis sobre el nas electrònic fa anys que es realitzen en aquesta facultat. Els camps d’aplicació que té un projecte d’aquestes característiques són tant diversos com: el control de maduració de la fruita dolça, el torrat de fruits secs, el control de qualitat dels olis, formatges, perfums, etc. S’han anat fent diversos projectes encaminats a estudiar les diferents possibilitats de realització, a estudiar els tipus de sensors que s’han d’utilitzar, la seva resposta, la seva caracterització, etc., altres a estudiar el tema d’adquisició de les dades, altres al seu tractament mitjançant xarxes neuronals, etc. Fins ara el denominador comú que tenien els projectes anteriors, era que l’anàlisi de les dades adquirides pels sensors, mitjançant aquestes xarxes neuronals, es feia a través d’un ordinador PC. Si es vol comercialitzar un nas electrònic autònom per la fruita perquè es pugui fer ús comercialment, s’ha de fer autònom, és a dir, que no hagi de dependre d’aquest PC. A més, així no només es reduiria el seu pes i, per tant, fora més manejable, també es reduiria el seu cost econòmic d’adquisició. 1.1.2 Objectius L’objectiu principal del present projecte és desenvolupar el hardware i el software necessaris per la realització d’un equip d’adquisició i tractament de dades d’un nas electrònic autònom. Haurà de disposar d’una interfície per tal que l’usuari pugui visualitzar l’estat de la màquina i introduir-li les dades necessàries; a més, haurà de disposar d’una comunicació amb un PC, per tal de poder-lo programar i poder extreure’n les dades que hagi adquirit i tractat.

Page 9: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

3

1.2 Descripció funcional 1.2.1 Visió general. El nas electrònic disposarà d’un total de 10 plaques electròniques i d’una cambra de concentració dels gasos, on hi hauran un total de 16 sensors (14 de gasos més un de temperatura i un d’humitat). Aquestes plaques són: · Una placa per la CPU. · Una placa pel teclat hexadecimal i el display LCD. · Una placa de conversió de digital a analògic. · Una placa de conversió d’analògic a digital. · Una placa de distribució dels senyals per a les diferents plaques de sensors. · Quatre plaques de sensors. · La font d’alimentació de tot l’equip. Degut a certs factors que s’exposaran més endavant, només s’han implementat 4 d’aquestes 10 plaques :placa CPU, placa D/A, placa A/D i una de les 4 plaques de sensors. L’esquema general del nas és el que es mostra a la següent figura:

Figura 1 Tant a la placa del teclat i display com a les plaques dels sensors, l’alimentació els arriba a través del connector respectiu.

PLACACPU

PLACA D/A

PLACA A/D

DISPLAY TECLAT

PLACADISTRIBUCIO

SENSORS

PLACA 1SENSORS

PLACA 2SENSORS

PLACA 3SENSORS

PLACA 4SENSORS

FONTALIMENTACIO

PC

CAMBRA

GASOS

Page 10: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

4

1.2.2 Placa CPU És la placa on s’executarà el programa que controlarà la resta de plaques. Des d’aquí es controlen el teclat, el display, les plaques A/D i D/A, la comunicació amb el PC, i una sèrie d’entrades i sortides digitals implementades per controlar variables binàries (estat de vàlvules de gas tipus tot o res, o per obrir-les o tancar-les). Les característiques principals d’aquesta placa són: · Microprocessador de 16 bit 80C188XL. (de la família 8086). · Dues memòries RAM de 512Kx8 cada una (un total de 1MB). · Memòria EPROM de 32KB. · Comunicació sèrie via RS-232. · Entrades i sortides digitals configurables (24 línies). · Connector per teclat hexadecimal. · Connector per Display LCD. · Connector per la placa de conversió digital-analògic. · Connector per la placa de conversió analògic-digital. L’esquema general de la placa és el següent:

Figura 2

PLACA D/A

PLACA A/D

E/S DIGITAL

TECLAT/DISPLAI

RS-232 (PC)UART

PIA 1

PIA 1

BUFFER

LATCH AD.

RAM

EPROM

LOGICA

80C188XL

DATA, LOW AD.

HIGH AD.

DATA

BUS

DATA

BUS

ADRESS

BUS

Page 11: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

5

Aquest bloc rep les dades dels sensors a través de la placa conversora d’analògic a digital, i el control del punt de treball dels Heaters es fa a través de la placa de conversió de digital a analògic. Les dades que arriben al micro s’emmagatzemen a la memòria RAM i posteriorment són processades per una xarxa neuronal implementada a la EPROM. Els pesos d’aquesta xarxa neuronal es calculen durant la fase d’aprenentatge, en un PC. Per a que l’ordinador pugui ensinistrar la xarxa, el micro realitza una sèrie de mesures que envia al PC a través de la comunicació sèrie. Un cop calculats aquests pesos s’envien a la placa del micro i s’emmagatzemen a la RAM de la placa, destinada a aquesta tasca. La placa està pensada per a poder connectar-hi un Display i un teclat hexadecimal. La funció d’aquests és la de permetre a l’usuari accedir a les diferents funcions del nas electrònic: · Transmetre dades via sèrie. · Rebre dades via sèrie. · Adquirir, processar i controlar les dades dels sensors. S’ha incorporat a la placa dos connectors de 12 E/S digital cada un. Cada connector es pot programar com a entrada o bé com a sortida. Aquests senyals donen la possibilitat de controlar vàlvules, relés o altres dispositius necessaris per al bon funcionament del nas electrònic. · Mapa de memòria En la figura següent podem observar com estan repartits els diferents dispositius dintre del mapa de memòria. En el diagrama de l’esquerra es pot apreciar el mapa de memòria de la zona d’entrada i sortida. En aquesta zona s’accedeix quan s’executa alguna instrucció d’input o output. L’ubicació dels diferents dispositius pot ser programat per l’usuari. En el nostre cas els dispositius comencen en la posició 80H ja que l’emulador emprat utilitza posicions inferiors de memòria E/S. En el diagrama central està representat l’espai de memòria RAM. Es disposa de 1MB de memòria per poder emmagatzemar els pesos de la xarxa neuronal, les mesures preses dels sensors, la pila del programa, variables del programa i altres dades que el programador necessiti pels seus algoritmes. A la dreta apareix el mapa de memòria de la EPROM. De tot l’espai disponible, la EPROM sols ocupa els últims 32KB. Això s’ha implementat així ja que quan el sistema s’inicialitza, el punter de programa es situa a l’adreça FFFF0H i ha de trobar codi de programa en aquella adreça. La primera instrucció que es trobarà serà un salt a l’inici de la EPROM (F8000H).

Page 12: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

6

Figura 3

En la placa D/A l’adreça base es troba en la posició 80H, que correspon al primer dels Heaters. El següent Heater estarà a l’adreça 81H i així consecutivament fins el Heater 14. En la placa A/D l’adreça base es troba en la posició 100H. Per accedir als diferents sensors s’escriu primer en aquesta adreça una dada que indiqui el número de sensor al qual es vol accedir (1:14), i després es llegeix el resultat en la mateixa adreça. S’ha de tenir en compte que hi haurà un sensor d’humitat i un de temperatura, que correspondran als sensors 15 i 16. La PIA 1 té l’adreça base a la posició 180H, i la PIA 2 a l’adreça 200H. La UART té l’adreça base a la posició 280H.

64KB E/S1MB de Memòria

de Dades1MB Memòria de

Programa

F8000H

32KB EPROM

80H

100H

180H

200H

280H

Placa D/APCS1

Placa A/DPCS2

PIA 1PCS3

PIA 2PCS4

UARTPCS5

FF00H

FFFFH

PCB

Page 13: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

7

1.2.3 Placa del teclat hexadecimal i el display LCD El microprocessador mostra a través del display LCD un seguit de menús pels que l’usuari pot navegar i li demanarà una sèrie de paràmetres a introduir a través del teclat hexadecimal. Degut a certs factors, aquesta placa no s’ha arribat a implementar així com tampoc s’ha escrit la part de codi que la governa. Simplement s’ha fet un estudi a nivell teòric. Per tant els menús a què s’ha fet referència s’hauran de realitzar quan tot el hardware estigui implementat i es passi a la part de programació. Aquesta placa va connectada a la placa del microprocessador. Aquest envia les línies de control i de dades al display, així com rep el codi resultant d’haver premut algun dels polsadors del teclat. L’esquema de connexió d’aquesta placa és el següent:

Figura 4

PLACAMICRO

DISPLAY LCDDADES

C O N T R O L

DADES TECLAT

Page 14: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

8

1.2.4 Placa de conversió de digital a analògic Aquesta placa ens servirà per a poder controlar el punt de treball dels heaters dels sensors utilitzats. Les característiques principals de la placa són: · Resolució de conversió de 16 bits. · Rang de tensions de sortida de 0 a 10 volts. · Emmagatzemament de fins a 14 tensions analògiques independents. · Alimentació de +5, +15 i –15 volts. Està connectada a la placa del microprocessador i a la placa de distribució de senyals dels sensors. El microprocessador envia a aquesta placa el valor digital que haurà de convertir a analògic, i l’adreça del sensor al que volem controlar el seu punt de treball. Aquesta tensió de sortida serà d’un valor d’entre 0 i 10 volts. A la sortida del conversor es realitza una multiplexació d’aquesta tensió i després s’emmagatzema el valor. Hi haurà un total de 14 valors emmagatzemats. Aquestes tensions es distribuiran a cada un dels sensors per a determinar el seu punt de treball. A continuació es mostra un esquema d’aquesta placa:

Figura 5

PLACAMICRO

CONVERSORD/A

MUX

TENSIO 1

TENSIO 2

TENSIO 14

DADES

ADRECES

CONVERSIO MULTIPLEXACIO EMMAGATZEMAMENT

PLACA DE DISTRIBUCIODE SENYALS

ALS SENSORS

Page 15: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

9

1.2.5 Placa de conversió d’analògic a digital Aquesta placa és l’encarregada de mostrejar tots i cada un dels sensors que formen el nas electrònic. Les prestacions de la placa són: · 16 entrades analògiques diferencials de valor comprès entre 0 i 3 volts. · Conversor d’analògic a digital de 16 bits, amb una freqüència de mostreig màxima de 100KHz. · Connexió amb una placa microprocessadora amb un bus de dades de 8 ó 16 bits. Això s’aconsegueix modificant un únic Jumper. · Alimentació amb +5, +15 i –15 volts. Aquesta placa va connectada a la placa del microprocessador i a la placa de distribució dels senyals dels sensors, que és d’on li arribaran les tensions analògiques a mostrejar. Primerament la placa microprocessadora indica de quin sensor ha de prendre mostra. Un cop s’ha seleccionat el canal, es realitza la conversió i després, la mateixa placa del microprocessador anirà a llegir la dada convertida. L’esquema general de la placa és el següent:

Figura 6

PLACAMICRO

CONVERSORA/D

MUX

DADES

ADRECES

CONVERSIO MULTIPLEXACIO

PLACA DE DISTRIBUCIODE SENYALS

ALS SENSORS

Page 16: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

10

1.2.6 Placa de distribució de senyals Aquesta placa està connectada amb les plaques de conversió d’analògic a digital i de digital a analògic, i amb les diferents plaques dels sensors. La seva missió és, per una banda fer arribar les tensions que arriben de la placa de conversió D/A, a la placa on hi ha el seu heater associat, per altra banda, arreplega totes les tensions que arriben dels diferents sensors i les condueix cap a la placa de conversió A/D. Per altra banda, com que a cada placa de sensors només hi arriba un connector, la placa de distribució també haurà de distribuir les alimentacions a les plaques dels sensors, a través d’aquests connectors. L’esquema general de la placa és el següent:

Figura 7

PLACA D/A

PLACA A/D

FONTALIMENTACIO

PLACA SENSORS 4

PLACA SENSORS 3

PLACA SENSORS 2

PLACA SENSORS 1

Page 17: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

11

1.2.7 Placa dels sensors Hi ha d’haver quatre plaques de sensors. A cada placa hi ha d’haver un total de 4 sensors, amb la seva electrònica de control corresponent. Aquestes plaques van connectades a la placa de distribució, de manera que en reben les tensions de la placa de conversió de D/A, per controlar el punt de treball dels heaters, i hi porten les tensions dels sensors que hauran d’anar a la placa de conversió A/D. Les alimentacions d’aquesta placa, no venen d’una regleta, sinó que venen del mateix connector de la placa de distribució. Això s’ha implementat així per facilitar la maniobra de connexió i desconnexió d’aquestes plaques. L’electrònica de control dels sensors, consta d’una font de corrent, de valor fix, la qual s’injecta a la resistència sensora de cada sensor. També disposa d’una etapa de potència, que rep la tensió de referència que controla el punt de treball dels heaters dels sensors i els entrega la potència corresponent.

Figura 8

HEATER

RESISTENCIASENSORA

ETAPA DE POTENCIA

SENSOR 1 A 4

FONT DE CORRENT

PLACA DE DISTRIBUCIO

(D/A)

(A/D)

ALIMENTACIO

Page 18: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

12

1.2.8 Font d’alimentació Aquesta placa és la que proporciona totes les tensions necessàries per al funcionament de totes les plaques de què es compon el nas electrònic. Les tensions que ha de donar aquesta placa són: · 5 V (màx. 1.5A) pels circuits digitals i els conversors A/D i D/A. · +15 V ( màx. 3A) per a les fonts de corrent, pels circuits de potència dels heaters, per la placa D/A i per la placa A/D. · -15 V (màx. 1.5A) per a la placa D/A i A/D i per les plaques dels sensors. L’alimentació de +15 V, ha de donar més corrent, perquè és la que ha de subministrar la potència necessària per excitar els heaters.

Page 19: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

13

1.3 Descripció circuital 1.3.1 Placa CPU 1.3.1.1 El microprocessador El microprocessador escollit per realitzar el projecte és el 80C188XL de la família del 8086. S’ha escollit aquest model perquè era l’únic del qual es disposava d’un emulador per tal de poder depurar tant hardware com software. Es tracta d’un microprocessador de 16 bits d’arquitectura interna, però que sols disposa d’un bus de dades extern de 8 bits. Pel que fa a tota la resta és igual al 80C186XL. Podem destacar entre les seves característiques les següents: · Registres interns de 16 Bits. · Bloc de control de Perifèrics. · Unitat de control de Chip Select tant de memòria com d’entrada i sortida. · Un controlador d’interrupcions programable. · Tres timers de 16 bits programables. · Una unitat de control DMA amb dos canals de DMA independents. · Una unitat de refresc de memòria RAM dinàmica. A continuació es mostra un esquema on es poden veure els perifèrics interns del micro que s’han utilitzat en el projecte:

Figura 9

TEMPORITZADORS I COMPTADORS

UNITAT DE CONTROL

D'INTERRUPCIO

UNITAT DE CONTROL DE CHIP SELECT

ALUBLOC DE

CONTROL DE PERIFERICS

REGISTRES INTERNS DE

16 BITS

UNITAT D'INTERFICIE

DE BUS

TMR OUT1

TMR IN1

TMR IN2

TMR OUT2

INT3 INT2 INT1 INT0 PCS6:0 LCS UCS MCS 3:0

AD8:0 A9:19

Page 20: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

14

· Registres interns de 16 bits Registres de dades. Aquests registres serveixen per emmagatzemar tant operands com resultats. Poder accedir a cada un d’ells com a un registre de 16 bits, o com a dos registres de 8bits.

AX AH AL BX BH BL CX CH CL DX DH DL

Taula 1

Si volem accedir per exemple al registre A en mode 16 bits, ens referirem a ell com a AX, si volem accedir a la part alta (8 bits) ens referirem com a AH, i si volem accedir a la part baixa (8 Bits) ens referirem com AL. La resta de registres funciona de la mateixa manera. Alguns d’aquests registres tenen altres funcions específiques: BX à Registre Base per a càlcul d’adreces. CX à Comptador implícit en algunes instruccions.

DX à Emmagatzema adreces d’entrada i sortida durant algunes operacions d’E/S. Punters i índexs.

SP BP SI DI IP

Taula 2

IP à Comptador de programa. SP à Punter de la pila BP à Registre base per accedir a la pila. SI, DI à Són índexs. Poden ser utilitzats per sí sols, o utilitzar-se juntament amb els registres BX o BP i/o un desplaçament. L’adreça complerta de les instruccions es forma sumant el contingut de IP + CS (desplaçat cap a l’esquerra 4 bits).

Figura 10

1 6 b i t s

1 6 b i t s

2 0 b i t s

+4 b i t s = 0

A d r e ç a E f e c t i v a ,IP

A d r e ç a d e l s e g m e n t , C S

A d r e ç a F í s i c a

Page 21: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

15

El tipus de memòria que direcciona aquest microprocessador és segmentada. Amb el registre CS indiquem la base del segment de codi on estem, mentre que amb el registre IP ens movem dintre d’un determinat segment. Així doncs, un segment tindrà com a molt 216 = 64KB (que són els 16 bits del IP). Com que a l’hora de calcular l’adreça física desplacem el registre de segment 4 bits a l’esquerra, això implica que cada cop que augmentem aquest registre en una unitat, estem desplaçant el segment 16 Bytes. La base de segment de codi pot situar-se entre la posició 00000H i FFFF0H de la memòria física. La figura 11 mostra de forma gràfica com es forma una adreça física.

Figura 11 L’adreça de la pila es forma sumant el contingut de SP + SS (desplaçat d’igual forma). De la mateixa forma que en el cas anterior, el SS indica la base del segment on està la pila, i el SP el desplaçament necessari per accedir al Top de la pila. En els adreçaments amb base i les indexacions, l’adreça d’una dada es pot formar com la suma de BX (o BP), els continguts de SI (o DI) i un desplaçament. El grup de segments.

CS

SS

DS

ES

Taula 3

CS à Segment de Codi SS à Segment de Pila DS àSegment de Dades ES à Segment extra

0 0 0 0 0 H

B a s e s e g m e n t ( C S )

R e g i s t r e d e s p l a ç a m e n t ( I P )

A d r e ç a F í s i c a

Page 22: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

16

PSW és la paraula d’estat del 80C188, i conté indicadors de condicions i indicadors de control. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF

OF à Desbordament = 1 No Desbordament = 0 DF à Indicador de direcció, per instruccions que maneguen cadenes. 0 = La cadena es processa des del seu començament. 1 = La cadena es processa des de les adreces altes cap a les baixes. IF à Indicador d’interrupció. 1 = Les interrupcions emmascarables són reconegudes. 0 = Les interrupcions emmascarables no són reconegudes. TF à Indicador de Trap. 1 = S’executa un trap després de cada instrucció. SF à Signe de l’operació. 1 = Negatiu. 0 = Positiu. ZF à Indicador de zero 1 = Resultat de l’operació és zero. 0 = Resultat de l’operació diferent de zero. AF à Indicador de Carry Auxiliar. Sols per aritmètica BCD 1 = Carry en el bit 3er en les operacions de suma o resta. 0 = No Carry. PF à Indicador de paritat. 1 = Si els 8 bits de menys pes d’un resultat contenen un nombre parell d’uns. 0 = Si el nombre és imparell. CF à Indicador de Carry 1 = Si hi ha Carry en la suma o la resta. 0 = Si no hi ha Carry. · Bloc de control de perifèrics Tots els perifèrics integrats (Timer, DMA, Unitat de control de Chip Select..) estan controlats per un seguit de registres ubicats al Bloc de Control de Perifèrics (PCB). Aquest registres físicament, estan situats en els propis perifèrics que controlen, però són adreçats com a un únic bloc de registres. Aquest bloc i els seus registres, poden estar ubicats tant a memòria, com a l’espai d’entrada i sortida. Per defecte, aquest bloc té com a base l’adreça FF00H en l’espai d’entrada i sortida, però el podem reubicar accedint al registre de reubicació que es troba en el propi PCB. En el nostre cas no el reubiquem ja que en aquesta

Page 23: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

17

posició no ens molesta. Cada un dels registres de control i estat dels perifèrics integrats al micro, estan situats en un offset fix a partir de l’adreça base del PCB (veure taula 5).

PCB offset

Funció PCB offset

Funció PCB offset

Funció PCB offse

t Funció

00H Reservat 40H Reservat 80H Reservat C0H D0SRCL 02H Reservat 42H Reservat 82H Reservat C2H D0SRCH 04H Reservat 44H Reservat 84H Reservat C4H D0DSTL 06H Reservat 46H Reservat 86H Reservat C6H D0DSTH 08H Reservat 48H Reservat 88H Reservat C8H D0TC 0AH Reservat 4AH Reservat 8AH Reservat CAH D0CON 0CH Reservat 4CH Reservat 8CH Reservat CCH Reservat 0EH Reservat 4EH Reservat 8EH Reservat CEH Reservat 10H Reservat 50H T0CNT 90H Reservat D0H D1SRCL 12H Reservat 52H T0CMPA 92H Reservat D2H D1SRCH 14H Reservat 54H T0CMPB 94H Reservat D4H D1DSTL 16H Reservat 56H T0CON 96H Reservat D6H D1DSTH 18H Reservat 58H T1CNT 98H Reservat D8H D1TC 1AH Reservat 5AH T1CMPA 9AH Reservat DAH D1CON 1CH Reservat 5CH T1CMPB 9CH Reservat DCH Reservat 1EH Reservat 5EH T1CON 9EH Reservat DEH Reservat 20H Reservat 60H T2CNT A0H UMCS E0H RFBASE 22H EOI 62H T2CMPA A2H LMCS E2H RFTIME 24H POLL 64H Reservat A4H PACS E4H RFCON 26H POLLSTS 66H T2CON A6H MMCS E6H Reservat 28H IMASK 68H Reservat A8H MPCS E8H Reservat 2AH PRIMSK 6AH Reservat AAH Reservat EAH Reservat 2CH INSERV 6CH Reservat ACH Reservat ECH Reservat 2EH REQST 6EH Reservat AEH Reservat EEH Reservat 30H INSTS 70H Reservat B0H Reservat F0H PWRSAV 32H TCUCON 72H Reservat B2H Reservat F2H PWRCON 34H DMA0CON 74H Reservat B4H Reservat F4H Reservat 36H DMA1CON 76H Reservat B6H Reservat F6H STEPID 38H I0CON 78H Reservat B8H Reservat F8H Reservat 3AH I1CON 7AH Reservat BAH Reservat FAH Reservat 3CH I2CON 7CH Reservat BCH Reservat FCH Reservat 3EH I3CON 7EH Reservat BEH Reservat FEH RELREG

Taula 4 · Unitat de control de Chip Select Aquesta unitat permet utilitzar les línies de selecció de chips que incorpora el mateix microprocessador. D’aquesta forma no cal fer una decodificació dels diferents chips a partir de les línies d’adreces. Aquest mòdul es controla mitjançant els registres UMCS,

Page 24: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

18

LMCS, PACS, MMCS i MPCS (veure la seva adreça en la taula 5) situats al PCB. El diagrama de blocs de la unitat de control del Chip select amb les línies que controlen, és el que es mostra a continuació:

Figura 12

UCS à És un senyal que sols s’activa quan accedim a un espai de memòria situat a la part superior. En el registre on programem aquest senyal és UMCS. En aquest registre indiquem a partir de quina adreça volem que s’activi el senyal. A partir d’aquí, cada cop que accedim a una adreça compresa entre aquest valor programat i el final de la memòria, s’activarà el senyal. En el nostre cas programem el registre per a que s’activi el senyal a partir de l’adreça F8000H. Utilitzem aquest senyal com a chip select de la EPROM. Si ens fixem, entre F8000H i FFFFFH hi ha els 32kB de memòria EPROM que té la placa. També

= Amplada Bloc

= Amplada Bloc

= Amplada Bloc/4= Amplada Bloc/4= Amplada Bloc/4= Amplada Bloc/4

= Base

Base + 0

Base + 128

Base + 256

Base + 384

Base + 512

Base + 640

Base + 768

A

B

MUXA/B

= Base

Selector de memòria o

d'entrada/sortida

A1

A2Bits d'adreces interns

Bus d'adreces intern

UCS

LCS

MCS3MCS2MCS1

MCS0

PCS0

PCS1

PCS2

PCS3

PCS4

PCS5

PCS6

Page 25: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

19

deixem tres estats d’espera en cada cicle per donar temps a realitzar correctament la lectura. REGISTRE UMCS 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

U17

U16

U15

U14

U13

U12

U11

U10

R2

R1

R0

Bit Mnemònic

Bit Nom Estat Inicial

Funció

U17:10 Adreça d’inici 0FFH Defineix l’adreça d’inici pel chip Select UCS

R2 Bus Ready inhabilitat 0H

A nivell baix espera un senyal de Ready per completar el cicle de bus, mentes que a nivell alt R1:0 controla el nombre d’estats d’espera i el bus Ready és ignorat.

R1:0 Nombre d’estats d’espera 3H Defineix el mínim nombre d’estats d’espera insertats en un cicle de bus.

LCS à Aquest Chip Select sols s’activa al accedir a la part baixa de la memòria. Es programa mitjançant el registre del PCB anomenat LMCS. Aquest senyal s’activa sempre i quan accedim a una posició de memòria compresa entre l’adreça 0H fins la programada en el registre. En la nostra placa no fem ús d’aquest senyal. El registre LMCS és el següent: REGISTRE LMCS 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

U17

U16

U15

U14

U13

U12

U11

U10

R2

R1

R0

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

U17:10 Adreça final 00H Defineix l’adreça final pel chip Select LCS

Page 26: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

20

R2 Bus Ready inhabilitat X

A nivell baix espera un senyal de Ready per completar el cicle de bus, mentes que a nivell alt R1:0 controla el nombre d’estats d’espera i el bus Ready és ignorat.

R1:0 Nombre d’estats d’espera 3H Defineix el mínim nombre d’estats d’espera insertats en un cicle de bus.

MCS3:0 à Cada un d’aquests senyals s’activa quan accedim a blocs contigus de memòria. L’amplada de tot el bloc pot anar des de 8KB fins a 512KB i va definida al registre MPCS. L’adreça d’inici d’aquest bloc ve determinada al registre MMCS i ha de ser múltiple de l’amplada de tot el bloc, ja que aquests senyals no poden cobrir tot l’espai de memòria que hi ha entre LCS i UCS Chip Selects. A la figura 12 podem apreciar aquests senyals. El total del bloc es divideix en quatre parts iguals i cada senyal s’activa quan s’accedeix a la seva part. El registre MMCS és el que es mostra a continuació: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

U19

U18

U17

U16

U15

U14

U13

R2

R1

R0

Bit Mnemònic

Bit Nom Estat Inicial

Funció

U19:113 Adreça d’inici XXH Defineix l’adreça d’inici del bloc de chip Select MCS

R2 Bus Ready inhabilitat X

A nivell baix espera un senyal de Ready per completar el cicle de bus, mentes que a nivell alt R1:0 controla el nombre d’estats d’espera i el bus Ready és ignorat.

R1:0 Nombre d’estats d’espera 3H Defineix el mínim nombre d’estats d’espera insertats en un cicle de bus.

Page 27: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

21

REGISTRE MPCS

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

M6

M5

M4

M3

M2

M1

M0

EX

MS

R2

R1

R0

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

M6:0 Tamany del Bloc XXH Defineix el tamany del bloc total per als Chip Selects dels senyals MCS

EX Piu Selector X

Posant a “1” aquest senyal, es configuren els senyals PCS6:5 com a senyals de Chip Selects, mentre que si està a “0” aquests senyals actuen com els bits d’adreces A2:A1 Laxats

MS Selector de cicle de bus XH

Si es troba a “0” activa PCS6:0 per a cicles de bus d’entrada i sortida. Si està a “1” els activa per a cicles de bus en memòria.

R2

Bus Ready inhabilitat per als senyals PCS6:4 X

Aplicat sols per als senyals PCS6:4. A nivell baix espera un senyal de Ready per completar el cicle de bus, mentes que a nivell alt R1:0 controla el nombre d’estats d’espera i el bus Ready és ignorat.

R1:0

Nombre d’estats d’espera que donem als senyals PCS6:4 3H

Aplicat sols per als senyals PCS6:4. Defineix el mínim nombre d’estats d’espera insertats en un cicle de bus.

PCS6:0à Els senyals de Chip Selects PCS6:0 accedeixen a un bloc de memòria o d’espai d’adreces d’entrada i sortida de 896-bytes contigus. Cada senyal de Chip Select s’activa per una setena part d’aquest bloc (128 bytes). L’adreça d’inici del bloc es programa al registre PACS.; aquesta adreça ha de ser múltiple d’1Kbyte. En la figura 3 podem apreciar el mapa d’entrada i sortida amb aquests senyals. L’adreça base en el nostre cas és la posició 0000H. Es pot apreciar que no s’utilitza PCS0, ja que l’emulador emprat en la depuració, fa servir les primeres quatre posicions de memòria per a ús propi. El registre de configuració d’aquests senyals es mostra a continuació:

Page 28: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

22

REGISTRE PACS 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

U19

U18

U17

U16

U15

U14

U13

R2

R1

R0

Bit Mnemònic

Bit Nom Estat Inicial

Funció

U19:113 Adreça d’inici XXH Defineix l’adreça d’inici del bloc de chip Select PCS

R2 Bus Ready inhabilitat X

A nivell baix espera un senyal de Ready per completar el cicle de bus, mentes que a nivell alt R1:0 controla el nombre d’estats d’espera i el bus Ready és ignorat.

R1:0 Nombre d’estats d’espera 3H Defineix el mínim nombre d’estats d’espera insertats en un cicle de bus.

· Unitat de control d’interrupció L’arquitectura interna del 80C186 (família del microprocessador emprat) disposa d’una simple entrada d’interrupció emmascarable. La unitat de control d’interrupció (ICU) amplia les capacitats d’interrupció més enllà d’una simple entrada. Per portar a terme aquesta funció, la unitat de control d’interrupció opera en qualsevol dels dos modes de funcionament: Master o Slave. En mode Master el ICU controla les interrupcions emmascarables que van cap a la CPU. Les interrupcions poden ser originades des dels perifèrics integrats (DMA, TIMER) i des de quatre pius d’entrada d’interrupció (INT3:0). El ICU sincronitza i prioritza totes les fonts d’interrupció i presenta a la CPU el vector d’interrupció. En mode Slave, un mòdul extern 8259A controla les entrades d’interrupció emmascarables cap a la CPU i actua com a un controlador d’interrupcions Master. El ICU sols processa les interrupcions provinents dels perifèrics integrats (TIMER i DMA), i actua com a una entrada d’interrupció del 8259A. En la següent figura es mostra la unitat de control d’interrupció funcionant en mode Master (que és el mode emprat en el disseny).

Page 29: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

23

Figura 13 El programador pot deshabilitar aquestes interrupcions de forma global o de manera individual. En la paraula d’estat (PSW) es poden habilitar o deshabilitar de forma global les peticions d’interrupció mitjançant el bit IF (Interrupt Enable Flag). El programador controla aquest bit mitjançant les instruccions STI (Set interrupt) i CLI(Clear Interrupt). Per a un major control en els programes, aquestes interrupcions es poden deshabilitar cada una d’elles per separat, mitjançant el registre Interrupt Mask Register (IMASK) situat al PCB. Aquest registre té un bit associat a cada font d’interrupció, de manera que es permet la interrupció escrivint-hi un “0”. En cas de múltiples peticions d’interrupció, la unitat de control determina quina es més prioritària i quina és la menys. Per defecte, i després de cada reset, la prioritat queda determinada de la següent manera:

Nom Interrupció

Prioritat

Timer 0 0 (a) Timer 1 0 (b) Timer 2 0 (c) DMA0 1 DMA1 2 INT0 3 INT1 4 INT2 5 INT3 6

Taula 5

Quan una interrupció s’accepta el microprocessador executa una seqüència de passos comú a totes les interrupcions: · El processador salva l’estat de la màquina posant el registre PSW a la pila. · Es netegen els bits Trap Flag (TF) i Interrupt Enable (IF) del registre PSW.

Timer0 Timer1 Timer2 0 1 INT0 INT1 INT2 INT3

Determinant de la prioritat d'interrupció

DMA DMA

Cap a la línia de petició d'interrupció de la CPU Lògica de generació de

vector dínterrupció

F - Bus

Page 30: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

24

· Es guarden els registres de l’adreça actual (CS i IP) a la pila. · La CPU realitza el fetch del nou CS i IP pel vector de rutina d’interrupció de la taula de vectors d’interrupció, i comença a executar a partir d’aquest punt. Per a què s’executi la nostra rutina de servei a la interrupció, prèviament hem d’haver posat l’adreça d’inici de la nostra rutina (CS i IP) a la taula de vectors. Aquesta taula es mostra a continuació: Adreça Taula Tipus-Vector Adreça Taula Tipus - Vector 3FE CS 2E CS 3FC IP

255 2C IP

11 – DMA1

2A CS

28 IP

10 – DMA0

82 CS 26 CS 80 IP

32 U

SUA

RI

24 IP 9 – Reservat

7E CS 22 CS 7C IP

31 20 IP

8 – Timer 0

1E CS

1C IP

7- ESC

52 CS 1A CS 50 IP

20 RES

ERV

AT

18 IP 6 – No usat

4E CS 16 CS 4C IP

19 -Timer 2 14 IP

5 – Array

4A CS 12 CS 48 IP

18 - Timer 1 10 IP

4 – Overflow

46 CS 0E CS 44 IP

17 – Reservat 0C IP

3 – Punt de ruptura

42 CS 0A CS 40 IP

16 – Numèrics 08 IP

2 – NMI

3E CS 06 CS 3C IP

15 – INT3 04 IP

1 – Salt simple

3A CS 02 CS 38 IP

14 – INT2 00 IP

0 – Error en divisió

36 CS 34 IP

13 – INT1

32 CS 30 IP

12 – INT0

Taula 6

Els registres que formen la unitat de control d’interrupcions són els següents: TCUCON, DMA0CON, DMA1CON, I0CON, I1CON, I2CON, I3CON com a registres de control per a cada tipus d’interrupció (Timer, DMA0:1, INT0:3). El registre REQST ens mostra les interrupcions pendents. El registre IMASK permet deshabilitar les interrupcions. El registre PRIMSK permet emmascarar les interrupcions a partir d’una certa prioritat. El registre INSERV indica quina interrupció està essent servida. POLL i POLLSTS són registres emprats quan es realitza enquesta, i indiquen les interrupcions pendents. El registre EOI serveix per provocar la fi de la interrupció. El registre INTSTS ens mostra l’estat de les interrupcions. A continuació es mostra els registres utilitzats en els programes de prova per a la placa del microprocessador:

Page 31: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

25

TCUCON s’utilitza per habilitar la interrupció del Timer. Inicialitzem el registre amb el valor de 00H REGISTRE TCUCON

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

MSK

PM2

PM1

PM0

Bit

Mnemònic Bit Nom Estat Inicial Funció

MSK Màscara d'interrupció 1 A nivell baix habilita la interrupció del Timer.

PM2:0 Nivell de prioritat 111 Defineix el nivell de prioritat del Timer.

EOI s’utilitza per indicar al controlador d’interrupcions que la rutina de servei s’ha acabat d’executar. En ell indiquem quin tipus d’interrupció s’ha servit. També podem realitzar un EOI no específic (que es el que utilitzem). REGISTRE EOI 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

NSP

V

T4

VT3

VT2

VT1

VT0

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

NSP EOI no específica 0 A nivell alt provoca un EOI no específic

VT4:0 Tipus d’interrupció 0 0000 Tipus d’interrupció que es vol finalitzar.

· Temporitzadors i comptadors La unitat de temporització i comptatge pot ser utilitzada un moltes aplicacions. Algunes d’aquestes aplicacions incloeixen un rellotge de temps real, un generador d’ona quadrada i senyal digital que fa la funció de tret. Aquesta unitat està composta per tres temporitzadors independents de 16 bits cadascun. El seu funcionament és independent de la CPU. Aquesta unitat pot ser modelada com a un simple comptador multiplexat en el temps cap a tres bancs de registres. Cada temporitzador guarda el seu propi comptatge i té un màxim valor de comptatge definible per l’usuari. Els temporitzadors 0 i 1 tenen 2 registres de final de comptatge cadascun d’ells (CMPA i CMPB). Bàsicament hi ha dos modes de funcionament quant al final de comptatge: que es faci servir només un dels registres o que es facin servir els dos de forma alternativa. Tant el temporitzador 0 com l’1 funcionen de forma idèntica. En canvi el Timer 2 només té un registre de final de comptatge. Quan els temporitzadors arriben al final del seu comptatge hi ha dues possibilitats: que aquest s’aturi fins que se li torni a donar l’ordre de tornar a comptar o que automàticament

Page 32: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

26

es reanudi aquest comptatge. El clock intern del comptador té un període quatre vegades més gran que el de la base de temps del microprocessador. La freqüència dels temporitzadors 0 i 1 pot ser preescalada a través del temporitzador 2. Això vol dir que el temporitzador 2 supera el seu valor màxim, s’incrementa en una unitat un dels altres dos temporitzadors. El diagrama de blocs de la unitat de temporització i comptatge és el següent:

Figura 14 Aquesta unitat té 2 tipus de registres diferents: els de control i els que emmagatzemen el màxim valor de comptatge. Els registres de control del Timer 0 i del Timer 1 funcionen exactament igual. Els bits de què estan formats es mostren a continuació: REGISTRES TC0CON, i T1CON

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

EN

INH

INT

RIU

MC

RTG

P

EXT

ALT

CO

NT

T0 In T1 In

Latx de transició/

sincronitzador

Latx de transició/

sincronitzador

Element Comptador

Registres del Timer 0

Registres del Timer 1

Registres del Timer 2

CPU

Latx de sortida

Latx de sortida

T0 Out

T1 Out

Latx d'interrupció

CPU Clock

Page 33: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

27

Bit Mnemònic

Bit Nom Estat Inicial

Funció

EN Habilitar 0

Ficar a “1” per activar el temporitzador. Aquest bit només es pot modificar quan el senyal INH és a nivell alt.

INH Inhibició X

Ficant-lo a “1” es pot modificar el bit EN. A nivell baix ignora l’escriptura d’EN. Aquest bit no es guarda; sempre que es llegeix llegim el valor “0”.

INT Interrupció X

A nivell alt genera una petició d’interrupció quan el comptador arriba al seu valor màxim.

RIU Registre de comparació en ús (A ó B)

X

Indica quin registre de comparació s’usa. Quan està a “1” utilitza com a registre de comparació el CMPB. Quan està a “0” fa servir el CMPA

MC Màxim comptatge X

Aquest bit s’activa quan el comptador supera el màxim valor de comptatge. Quan està a “0” vol dir que encara no ha arribat.

RTG Reinici automàtic de comptatge X

Aquest bit especifica l’acció causada pel flanc ascendent de l’entrada TMR Inx. Quan està a “1”, reseteja el comptador; a “0” habilita el comptatge. Aquest bit s’ignora quan el bit EXT està a “1”.

Page 34: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

28

Bit Mnemònic

Bit Nom Estat Inicial

Funció

P Preescala X

Si està a “1” incrementa el temporitzador quan el Timer 2 supera el seu màxim comptatge. Si està a “0” el temporitzador funciona amb el clock intern d’una freqüència igual a ¼ de CLKOUT. Aquest bit és ignorat quan el bit EXT és a “1”.

EXT Rellotge extern X Si està a “1” s’utilitza un clock extern, sinó s’utilitza un d’intern.

ALT Registre de comparació alternatiu X

Aquest bit controla si el timer funciona en mode únic o en mode dual. Si està a “1” el mode de funcionament és el dual. A “0”, en mode simple.

CONT Mode continu de comptatge X Si està a “1”, e temporitzador funciona en mode continu.

El registre de control del Timer 2 es mostra a continuació: REGISTRE TC2CON

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

EN

INH

INT

MC

CO

NT

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

EN Habilitar 0

Ficar a “1” per activar el temporitzador. Aquest bit només es pot modificar quan el senyal INH és a nivell alt.

INH Inhibició X

Ficant-lo a “1” es pot modificar el bit EN. A nivell baix ignora l’escriptura d’EN. Aquest bit no es guarda; sempre que es llegeix llegim el valor “0”.

INT Interrupció X

A nivell alt genera una petició d’interrupció quan el comptador arriba al seu valor màxim.

Page 35: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

29

Bit Mnemònic

Bit Nom Estat Inicial

Funció

MC Màxim comptatge X

Aquest bit s’activa quan el comptador supera el màxim valor de comptatge. Quan està a “0” vol dir que encara no ha arribat.

CONT Mode continu de comptatge X Si està a “1”, e temporitzador funciona en mode continu.

Cada un dels temporitzador disposa d’un registre on emmagatzemen el valor actual del comptador. Els tres registres són idèntics quant a la disposició dels seus bits, però físicament són independents. L’adreça dels registres la podem trobar a la taula 5. El seu nom és T0CNT, T1CNT i T2CNT. REGISTRES T0CNT, T1CNT I T2CNT

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TC

15

TC

14

TC

13

TC

12

TC

11

TC

10

TC

9

TC

8

TC

7

TC

6

TC

5

TC

4

TC

3

TC

2

TC

1

TC

0

Bit

Mnemònic Bit Nom Estat Inicial Funció

TC15:0 Valor actual del temporitzador/comptador XXXXH

Conté el valor actual del timer associat.

Els registres T0CMPA, T0CMPB, T1CMPA, T1CMPB i T2CMPA són aquells en els què l’usuari defineix el valor màxim de comptatge de Timer associat. REGISTRES T0CMPA, T0CMPB, T1CMPA, T1CMPB I T2CMPA

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

TC

15

TC

14

TC

13

TC

12

TC

11

TC

10

TC

9

TC

8

TC

7

TC

6

TC

5

TC

4

TC

3

TC

2

TC

1

TC

0

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

TC15:0 Valor de comparació del temporitzador/comptador XXXXH

Conté el màxim valor que un temporitzador comptarà abans de resetejar el seu registre de comptatge a “0”.

Pel que es refereix a la unitat de control DMA i la unitat de refresc de la memòria RAM dinàmica, no es comentaran en aquest projecte ja que no s’han fet servir.

Page 36: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

30

1.3.1.2 Ports paral· lels Aquests ports s’han inclòs per a poder disposar d’un determinat nombre d’entrades i sortides digitals i per poder incloure el control d’un teclat hexadecimal i un Display LCD. Aquests ports s’han implementat mitjançant dos integrats del tipus 82C55A (PIA). Aquests dispositius disposen cada un d’ells, de tres ports (A, B i C), de 8 bits cada un, configurables tant d’entrada com de sortida. Els ports A i B quan es configuren, tots els seus bits tenen el mateix sentit d’entrada o de sortida, mentre que el port C la part baixa i la part alta es poden configurar independentment (Entrada-Entrada, Entrada-Sortida, Sortida-Entrada o Sortida-Sortida).

Figura 15

A la figura anterior el dispositiu U10 correspon a la PIA 1, mentre que el dispositiu U11 és la PIA 2. · PIA 1 La PIA 1 està connectada a dos connectors de 14 pius. El primer connector (J4) està connectat al port A i a la part alta del port C. L’altre connector està unit al port B i a la part baixa del port C. Amb aquests dos connectors tenim un total de 24 entrades i sortides digitals per poder controlar vàlvules, interruptors i altres dispositius controlats amb senyals de tot o res. Els senyals que controlen aquesta PIA són: · RE à Senyal de lectura provinent del micro. · WE à Senyal d’escriptura del micro. · A0:1 à Els dos bits de menys pes del bus d’adreces. · RES à Senyal de RESET provinent del micro. · PIA 1 à Correspon al senyal PCS3 provinent del micro.

Vcc Vcc

Vcc

Vcc

PA1PA3PA5PA7PB1

PA4PA6

PB2

PB1PB2

PA0PA1PA2PA3PA4PA5PA6PA7

PA0PA2

PB0

PB0

DO0DO1DO2DO3DO4DO5DO6DO7

DO0DO2DO4DO6DO8DO10

DO1DO3DO5DO7DO9DO11

DI0DI1DI2DI3DI4DI5DI6DI7

DI8DI9DI10DI11DO8DO9DO10DO11

DI0DI2DI4DI6DI8DI10

DI1DI3DI5DI7DI9DI11

D6

D0

D7

D4

D7D6D5

D3D2

D1D1D0

D2D3D4D5

U10

82C5

5

D034

D133

D232

D331

D430

D529

D628

D727

RD5

WR36

A09

A18

RESET35

CS6

PA0 4

PA13

PA22

PA3 1

PA4 40

PA5 39

PA6 38

PA7 37

PB018

PB1 19

PB2 20

PB3 21

PB4 22

PB523

PB624

PB7 25

PC0 14

PC1 15

PC216

PC317

PC4 13

PC5 12

PC6 11

PC7 10

VCC26

GND7

J4

CON14A

135791113

2468

101214

J7

CON14A

135791113

2468

101214

J5

CON14A

135791113

2468

101214

R4R

J6

CON8

12345678

R7R

R5R

R6R

C18

100nF

C19

100nF

U11

82C5

5

D034

D133

D232

D331

D430

D529

D628

D727

RD5

WR36

A09

A18

RESET35

CS6

PA0 4

PA13

PA22

PA3 1

PA4 40

PA5 39

PA6 38

PA7 37

PB018

PB1 19

PB2 20

PB3 21

PB4 22

PB523

PB624

PB7 25

PC0 14

PC1 15

PC216

PC317

PC4 13

PC5 12

PC6 11

PC7 10

VCC26

GND7

REWE

REWE

RESPIA1 PIA2

RESA1A0

A1A0

D0-D7

Page 37: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

31

L’adreça base de la PIA 1 és 180H de l’espai d’entrada i sortida; adreça que està dintre dels marges en què s’activa el senyal PCS3. · PIA 2 La PIA 2 està connectada a dos connectors. El primer connector és de 14 pius i les línies connectades a ell són les del port A i els tres bits més baixos del port B. La funció d’aquest connector és la de controlar el Display LCD. El segon connector és de 8 pius, i està connectat al port C. Aquest servirà per controlar el teclat hexadecimal. S’ha escollit aquest port ja que permet llegir i escriure en la part alta i la baixa de forma independent · Registres de la PIA Les PIES disposen de quatre registres accessibles tant de lectura com d’escriptura. Cada un d’ells es troba en una adreça consecutiva a partir de l’adreça base. A la següent taula es mostren els registres amb els Offsets on estan ubicats:

Base + Offset Registre

@Base + 0 Port A @Base + 1 Port B @Base + 2 Port C @Base + 3 Registre de Control

Taula 7

Tant el port A, B i C són registres per escriure o llegir les dades, segons la seva configuració. En ells escrivim la dada que volem treure pel port, o obtenim la dada que llegim pel port.

7 6 5 4 3 2 1 0

P7

P6

P5

P4

P3

P2

P1

P0

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

P7:0 Valor del bit del Registre del port XH

Conté el valor llegit o escrit del bit del port.

Page 38: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

32

Per a configurar els registres anteriors com a entrada o sortida s’utilitza el registre de control. Aquest i la seva funció apareixen descrits en les taules següents:

7 6 5 4 3 2 1 0

1 0 0 PA

PCH

0 PB

PCL

Bit

Mnemònic Bit Nom

Estat Inicial

Funció

PA Control port A XH Si val “1” el port A és d’entrada. Si val “0” serà de sortida.

PCH Control port C part alta XH Si val “1” el port C (part alta) és d’entrada. Si val “0” serà de sortida.

PB Control port B XH Si val “1” el port B és d’entrada. Si val “0” serà de sortida.

PCL Control port C part baixa XH Si val “1” el port C (part baixa) és d’entrada. Si val “0” serà de sortida.

1.3.1.3 Port Sèrie Aquest port s’ha inclòs per a poder disposar d’una línia de comunicació amb un ordinador. El microprocessador s’ha de comunicar amb el PC per passar-li les mostres recollides pels sensors i poder així entrenar la xarxa neuronal. Un cop entrenada, els pesos calculats pel PC per a cada neurona de la xarxa, es passen a la placa del microprocessador a través d’aquest port. Com que el microprocessador emprat no disposa de cap unitat de comunicació sèrie integrada, s’ha hagut d’implementar mitjançant una UART externa. La UART escollida ha estat la TL16C450. Les característiques principals d’aquest dispositiu són: · Disposa d’un canal de comunicació sèrie. · BAUD generador programable (fins a 256Kbits/s). · Bits de comunicació asíncrona, estàndard (inici, parada i paritat) afegits cap o eliminats de la trama de dades sèrie. · Entrada de Clock independent. · Gestió independent de la transmissió, la recepció, l’estat de la línia i les possibles interrupcions generades. · Caràcter programables entre 5,6,7 ó 8 bits. · Generador i detector de paritat parella, imparella o no paritat.

Page 39: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

33

· Generació de 1, 1 1/2 ó 2 bits de parada. · Detecció de fals bit d’inici. · Funcions de control de mòdem (CTS, RTS, DSR, DTR, RI i DCD). · Fàcil connexió amb els microprocessadors. Per programar la UART s’ha de fer a través dels seus registres interns. A continuació es mostra una taula on apareixen aquests registres, amb les seves adreces i el significat dels seus bits:

Adreça dels registres 0

(DLAB=0) 0

(DLAB=0) 1

(DLAB=0) 2 3 4 5 6 7

0 (DLAB=1)

1 (DLAB=1)

Bit Nº

Receiver Buffer

Register (Read Only)

Transmitter Holding Register (Write Only)

Interrupt Enable

Register IER

Interrupt Ident.

Register IER

Line Control Register

LCR

Modem Control Register

Line Status Register

Modem Status Register

Scratch Register

Divisor Latch (LSB)

Latch (MSB)

RBR THR IER IIR LCR MCR LSR MSR SCR DLL DLM

0 Data Bit 0 Data Bit 0 ERBF “0” Si hi ha interrupció

pendent WLS0 DTR DR DCTS Bit 0 Bit 0 Bit 8

1 Data Bit 1 Data Bit 1 ETBE Identificador d’interrupció

Bit 0 WLS1 RTS OE DDSR Bit 1 Bit 1 Bit 9

2 Data Bit 2 Data Bit 2 ELSI Identificador d’interrupció

Bit 1 STB Out 1 PE TERI Bit 2 Bit 2 Bit 10

3 Data Bit 3 Data Bit 3 EDSS 0 PEN Out 2 FE DDCD Bit 3 Bit 3 Bit 11 4 Data Bit 4 Data Bit 4 0 0 EPS Loop BI CTS Bit 4 Bit 4 Bit 12

5 Data Bit 5 Data Bit 5 0 0 Stick parity 0 THRE DSR Bit 5 Bit 5 Bit 13

6 Data Bit 6 Data Bit 6 0 0 Set Break 0 TEMT RI Bit 6 Bit 6 Bit 14

7 Data Bit 7 Data Bit 7 0 0 DLAB 0 0 DCD Bit 7 Bit 7 Bit 15

Taula 8

Aquests registres es troben en adreces consecutives a partir de l’adreça d’entrada i sortida 280H, que és l’adreça base de la UART. Passem a donar una breu explicació dels registres de la Taula 10: · RBR (Buffer del registre de recepció): Aquest registre és accessible només en cicles de lectura i és on s’ha d’accedir per anar a buscar la dada rebuda. Per poder accedir a aquest registre, el bit DLAB del registre LCR ha d’estar a “0”. · THR (Buffer del registre de transmissió): En aquest registre s’hi posa la dada que es vol enviar via sèrie. Només és accessible en cicles d’escriptura i quan el bit DLAB del registre LCR està a “0”. · IER (Registre d’habilitació d’interrupcions): Aquest registre habilita cadascun dels quatre tipus d’interrupcions i el senyal de sortida INTRPT en resposta a aquesta interrupció. Ficant a “0” cada un dels bits 0:3 es deshabilita la seva interrupció associada: · Bit 0: Quan aquest bit es posa a “1” s’habilita la interrupció de dada rebuda disponible.

Page 40: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

34

· Bit 1: Quan aquest bit es posa a “1” s’habilita la interrupció THRE (Registre de transmissió THR, buit). · Bit 2: Quan aquest bit es posa a “1” s’habilita la interrupció de línia d’estat (per si hi ha hagut error de paritat, overrun, framing o break). · Bit 3: Quan aquest bit es posa a “1” s’habilita la interrupció de les línies d’estat del mòdem. · Bits 4 –7 : Aquests bits no s’usen i estan sempre a “0”. · IIR(Registre d’identificació d’interrupció): Aquesta UART pot prioritzar les interrupcions anteriorment esmentades. Els nivells de prioritat són els següents: · Prioritat 1 – Interrupció de línia d’estat (màxima prioritat). · Prioritat 2 – Dada rebuda disponible o temps exhaurit de recepció de caràcter. · Prioritat 3 – Registre de transmissió (THR) buit. · Prioritat 4 – Estat del mòdem (prioritat més baixa). Quan es produeix una interrupció aquest registre indica que hi ha una interrupció pendent i el seu tipus: · Bit 0: Quan val “0” indica que hi ha una interrupció pendent. Quan està a “1” no hi han interrupcions pendents. · Bit 1 i 2: Aquests bits indiquen la interrupció pendent de més prioritat (Taula 11). · Bit 3 –7 Aquest bits no s’usen i estan sempre a “0”.

BIT 2 BIT 1 Tipus interrupció 0 0 Estat del mòdem. 0 1 Registre de transmissió buit. 1 0 Dada rebuda disponible. 1 1 Estat de la línia.

Taula 9

· LCR (Registre del control de línia): El programador decideix el format de la trama que s’envia i es rep a través del port mitjançant aquest registre. Això consisteix en controlar el nombre de bits de dades, el nombre de bits de parada, el tipus de paritat emprada i altres aspectes de la comunicació. · Bit 0:1: Amb aquests bits s’especifica el nombre de bits enviats o rebuts per cada caràcter.

Page 41: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

35

Aquests bits es codifiquen tal i com es mostra a la següent taula:

BIT 1 BIT 0 Longitud de la paraula 0 0 5 Bits 0 1 6 Bits 1 0 7 Bits 1 1 8 Bits

Taula 10

· Bit 2: Aquest bit indica el nombre de bits de parada a cada caràcter transmès. Si esta a “0” es genera un bit de parada. Si està a “1” el nombre dels bits de parada depèn del nombre de bits del caràcter. Aquests bits es mostren a la Taula 13:

BIT 2 Longitud de la

paraula Nombre de bits de parada

generats 0 Qualsevol longitud 1 1 5 Bits 1 ½ 1 6 Bits 2 1 7 Bits 2 1 8 Bits 2

Taula 11

· Bit 3: Aquest bit habilita el bit de paritat. Si està a “1” es genera el bit de paritat en la transmissió, i es comprova el bit de paritat en la recepció. · Bit 4: Aquest bit és el selector de paritat parella. Si està a “1” la paritat és parella, si el bit 3 està actiu. Si està a “0” la paritat és imparella. · Bit 5: Stick Parity bit. Quan els bits 3,4 i 5 estan a “1” el bit de paritat es transmet i es comprova com a “0”. Si els bits 3 i 5 estan a “1” i el bit 4 està a “0” el bit de paritat es transmet i comprova com a “1”. · Bit 6: És el bit de control de Break. Si està a “1” força una condició de ruptura (Break). Si està a”0” aquesta condició es deshabilita. · Bit 7: Aquest bit és el DLAB. Serveix per accedir al registre de selecció de Baud Generator. Si està a “0” s’accedeix als registres de transmissió i recepció de dades. · LSR ( Registre d’estat de la línia): Proporciona informació a la CPU sobre l’estat de les dades transferides a través de la línia. El significat d’aquests bits es mostren a continuació: · Bit 0: Aquest bit es posa a “1” quan el registre RBR ha rebut una dada. · Bit 1: Indica que ha hagut un error de Overrun. Quan està a “1” vol dir que abans d’haver llegit la dada del registre RBR s’ha rebut una altra dada que ha esborrat l’anterior. · Bit 2: És l’indicador d’error de paritat. Quan es fica a “1”, indica que la paritat del caràcter rebut, no compleix amb la paritat seleccionada al registre LCR (bit 4). El bit PE es fica a “0” cada cop que es llegeix el contingut del registre LSR.

Page 42: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

36

· Bit 3: Correspon a l’indicador d’error de trama (FE). Quan està a “1” indica que el caràcter rebut no té un bit de parada vàlid. El bit FE es fica a “0” cada cop que es llegeix el registre LSR. · Bit 4: És el bit indicador de break (BI). Quan es fica a “1” indica que la dada rebuda d’entrada ha estat a “0” més temps que el temps total de transmissió d’una dada (començament, dada, paritat i bits de parada). · Bit 5: Aquest bit és l’indicador de THRE. Si està a “1” indica que el registre de recepció està buit i preparat per acceptar un nou caràcter. Si la interrupció associada a aquest event està activada quan aquest bit es fica a “1” es genera una interrupció. Aquest bit es fica a “1” quan el contingut del registre THR és transferit al registre de desplaçament de sortida. · Bit 6: És l’indicador de transmissor (TEMT) buit. Es fica a “1” quan el registre de transmissió i el de desplaçament de sortida estan ambdós buits. Quan un dels dos té una dada, aquest bit es fica a “0”. · Bit 7: Aquest bit està sempre a “0”. · MCR (Registre de control de mòdem): Controla la interfície amb un mòdem o un altre perifèric que l’emuli. No s’explicarà el significat dels bits perquè en aquest projecte no s’ha emprat cap mòdem i si es vol saber més respecte a ell es pot consultar la documentació que s’ha adjuntat a l’annexe, referent a aquest integrat. · MSR (Registre d’estat de mòdem): és el registre que proporciona informació sobre l’estat actual de les línies de control provinents del mòdem. Igual que el registre anterior, no ens estendrem més en la seva explicació. · SCR (Bloc de notes): Aquest registre de 8 bits serveix per mantenir una dada que no afecti el funcionament del chip. Actua com un bloc d’apunts d’1 Byte. · DLL i DLM (Registre de divisió de clock): Aquests dos registres formen un sol registre de 16 bits que servirà per determinar la velocitat del baud rate. Per accedir a aquests registres, el bit DLAB del registre LCR ha d’estar a “1”. Seguidament es mostra una taula on es relaciona el valor emmagatzemat en aquest registre i el baud rate generat (en funció del cristall d’1,432 MHz emprat):

Page 43: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

37

Baud rate desitjat Registre DLH i DLL Error percentual de diferència

entre el desitjat i l’obtingut 50 2304 75 1536 110 1047 0.026

134.5 857 0.058 150 768 300 384 600 192 1200 96 1800 64 2000 58 0.69 2400 48 3600 32 4800 24 7200 16 9600 12 19200 6 38400 3 56000 2 2.86

Taula 12

A continuació es mostra l’esquema elèctric de connexió de la UART amb el transceiver (MAX232) i amb el connector sèrie DB9.

Figura 16

D6D7

D0D1

D5

A1A0

A2 D2D3D4

C1 1uF

+

U12

TL16

C450

A031

A130

A229

CS014

CS115

CS216

MR39

DISTR25

DISTR!24

DOSTR21

DOSTR!20

ADS28

XTAL118

XTAL219

D02

D1 3

D2 4

D3 5

D46

D5 7

D6 8

D7 9

SIN 11

SOUT 13

BADOUT 17

RCLK 10

RTS36

CTS 40

D T R 37

DSR41

DCD 42

RI 43

OUT138

OUT2 35

Vcc

44Vs

s22

INTRP33 DDIS26 CSOUT27

NC11

NC212

NC323

NC432

NC034

C2 1uF

+

1.8432MHz

13

24

JP2

C_U17100 nF

C_U12

100nF

C41uF+

U13

MAX2

32

T1 IN11 T1 OUT 14

R1 IN13 R1 OUT 12

C1+1

C1-3

T2 IN10 T2 OUT 7

R2 IN8 R2 OUT 9

C2+4

C2-5

V+ 2

V- 6

GND

15VC

C16

P1

CONNECTOR SERIE

594837261

C31uF

+

C_U13 10uF

+

UART

RD

INTR

WE

RES

BUS ADRECES

BUS DADES

Page 44: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

38

Els senyals que controlen la UART són: · El senyal anomenat UART, que prové del senyal PCS5 del microprocessador que és el senyal de la decodificació d’adreces. · El senyal RES, és el senyal de reset provinent del microprocessador. · RE és el senyal que indica un cicle de lectura. · WE indica un cicle d’escriptura. · INTR és un senyal que surt de la UART i que va cap a la línia d’entrada d’interrupció INT0 del micro. S’ha inclòs aquesta línia per si es volen aprofitar les interrupcions de la UART per realitzar la comunicació. La funció del jumper és tenir aquesta interrupció desconnectada quan no es desitja que es produeixi, evitant algun fallo de programació que l’activés. · A2:0 són els bits baixos del bus d’adreces que indicaran a quin dels registres interns de la UART s’accedeix. · D7:0 és el bus de dades. Finalment, dir que el MAX232 és el transceiver que adapta els nivells de tensió que van de la UART a la línia RS-232 i viceversa. 1.3.1.4 Lògica A la placa del micro es pot apreciar una lògica que serveix per fer part de la decodificació dels perifèrics i del mapa de memòria. El que s’ha descodificat és el següent: · Buffer del bus de dades (74HC245). Aquest buffer només s’activa quan es realitza un cicle de lectura o d’escriptura a un dels perifèrcis d’entrada i sortida del nostre projecte (placa DA, placa AD, PIA 1 i 2, i UART). Si s’accedís a alguna adreça diferent d’entrada i sortida, aquest buffer no s’activaria. Això s’ha fet així per evitar problemes en la comunicació amb l’emulador emprat durant la fase de depuració. L’esquema d’aquesta decodificació és el següent:

Figura 17

PCS1PCS2PCS3

PCS4PCS5

DEN

CSBUF

U14A

74LS11

12

1312

U14B

74LS11

345

6

U14C

74LS11

91011

8U3D

74LS32

12

1311

Page 45: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

39

El senyal DEN és el Data Enable que prové del microprocessador i el senyal CSBUF és el senyal que va al CS del buffer. · Placa AD. Aquesta lògica genera dos senyals que són ADRE i ADWE que són els senyals d’habilitació de la placa A/D per lectura i per escriptura respectivament. Aquests senyals van fins els pius 18 i 17 del connector J3 que va cap a aquesta placa. L’esquema de la decodificació és el següent:

Figura 18

· Memòria EPROM i RAM. Per fer aquesta decodificació s’han emprat els senyals S2:0 que mostren l’estat del cicle de bus del microprocessador (veure Taula 15), UCS i la línia d’adreça A19. Els chips de la RAM es decodifiquen de la següent manera: El senyal d’habilitació de la RAM1 s’activa quan es realitza un cicle de lectura o d’escriptura a l’espai de memòria comprès entre l’adreça 00000H i 7FFFFH. El senyal de la RAM 2 s’activa en un cicle de lectura o d’escriptura a memòria, entre les adreces 80000H i FFFFFH. El senyal de CS de la EPROM s’activa quan s’està realitzant el fetch d’una instrucció que es troba entre l’adreça F8000H i FFFFFH (programat amb el bit UCS). A la següent figura es pot veure l’esquema de la decodificació:

Figura 19

WE

RE

DEN

PCS2

ADWE

ADRE

U2B

74LS27

345

6

U2A

74LS27

12

1312

A19

S2

S0

S1

UCS

CER1

CER2

CEE

U1C

74LS10

91011

8

U4A74LS04

12

U1A

74LS10

12

1312

U3A

74LS32

1

23

U2C

74LS27

91011

8

U1B

74LS10

345

6

U3C

74LS32

9

108

U3B

74LS32

4

56

Page 46: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

40

El CER1 és el Chip-select del chip de la RAM dels primers 512 KB; el CER2 és el de la RAM dels següents 512KB. Finalment, el senyal CEE és el Chip-select de la EPROM. La combinació dels senyals S2:0 i la seva relació amb l’estat del bus, es pot veure a la següent taula:

Informació de l’estat del cicle de bus S2 S1 S0 Cicle de bus iniciat 0 0 0 Reconeixement d’interrupció 0 0 1 Lectura a l’espai d’entrada i sortida 0 1 0 Escriptura a l’espai d’entrada i sortida 0 1 1 Halt 1 0 0 Fetch de la instrucció 1 0 1 Lectura de dades de memòria 1 1 0 Escriptura de dades a memòria 1 1 1 Passiu (no cicle de bus)

Taula 13

Aquests senyals són activats per nivell baix i, com es pot veure a la taula, el senyal S2 pot ser utilitzat com indicador d’accés a memòria (“1”) o entrada i sortida (“0”). El senyal S1 funciona com un indicador del sentit de les dades en el bus de dades (DT/R). 1.3.1.5 Buffer S’ha incorporat un buffer a la placa per tal donar més força als senyals del bus de dades que es dirigeixen als perifèrics d’entrada i sortida. El chip utilitzat és el 74HC245, que és un buffer bidireccional, ja que les dades circulen en ambdós sentits. El sentit de les dades es determina mitjançant un piu ( nº 1) d’entrada del chip, al qual es connecta al piu DT/R del micro. Quan aquest bit val “0”, vol dir que les dades entren al micro. Per tant, el bus de la part del micro va a les entrades A del buffer, ja que quan aquest bit té aquest valor, les dades circulen en sentit de B a A. L’esquema de connexió del buffer és el que es mostra a continuació:

Figura 20

U15

74HC245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B1 18

B2 17

B3 16

B4 15

B5 14

B613

B7 12

B8 11

Q0:7 D0:7

CSBUFDTR

Page 47: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

41

1.3.1.6 Latch d’adreces En aquest microprocessador, el bus de dades i la part baixa del bus d’adreces comparteixen les mateixes línies. Per tant és necessari separar-los. Per aquesta finalitat es disposa un Latch que capturi les adreces i deixi les línies disponibles per a les dades. En qualsevol cicle de lectura o escriptura apareixen en primer lloc les adreces i després les dades. Quan apareixen les adreces, el microprocessador asserta el senyal ALE (Adress latch enable); aquest senyal s’utilitza per a realitzar el CLK del Latch i capturar així les adreces. A la figura següent es mostra la connexió d’aquest Latch.

Figura 21

1.3.1.7 Connector placa D_A Es tracta del connector J2 i disposa de 26 pius. Aquest s’uneix al connector (del mateix tamany) de la placa conversora de digital a analògic a través d’un cable de cinta pla. El connector porta els senyals del bus de dades (D7:0), S2, PCS1, WE i les línies d’adreces A3:0. La distribució d’aquests senyal en el connector és la següent:

Figura 22

D6 D7

A1

D3

A0

D5D4

D0

A3A2

D1D2

DAS2WR

Bus de dades

Bus Adreces

J2

CON26A

135791113151719212325

2468

101214161820222426

U6

74HC374

D03

D14

D27

D38

D413

D514

D617

D718

OC1

CLK11

Q02

Q15

Q26

Q39

Q412

Q515

Q616

Q719

ALE

Q7:0 A7:0

Page 48: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

42

A l’hora de muntar el cable de cinta pla als connectors femella s’ha de tenir en compte el següent esquema:

Figura 23

1.3.1.8 Connector placa A_D Aquest connector porta el bus de dades i els senyals de ADRE i ADWE cap a la placa de conversió d’analògic a digital. La distribució dels senyals al connector és la següent:

Figura 24

En el cable de cinta pla que uneix la placa A/D amb la del microprocessador, els connectors femella s’han d’unir al cable amb el mateix sentit i la mateixa orientació, l’un que l’altre (a diferència del cable de la placa D/A).

C a b l e d e c inta p la

Connec to r 1(p laca D /A)

Connec to r 2(p l aca m ic ro )

D5D7

D1D0D2 D3D4D6

ADWE

ADRE

Bus dadesJ3

CON20A

135791113151719

2468

101214161820

Page 49: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

43

1.3.2 Placa teclat hexadecimal i display LCD Els senyals estàndard que conformen el Display són les que es mostres a continuació:

Piu Símbol Piu Símbol 1 Vss 8 DB1 2 Vcc 9 DB2 3 Vee 10 DB3 4 RS 11 DB4 5 R/W 12 DB5 6 E 13 DB6 7 DB0 14 DB7

Taula 14

Els pius DB0:7 han d’anar connectats al port A de la PIA 2 (connector J5 placa CPU). Els tres senyals de control RS, R/W i E han d’anar connectats als senyals del port B de la mateixa PIA, que es mostren a la figura 25. Els senyals d’alimentació (Vcc, Vss) també arriben a través del connector (pius 13, 14). El senyal Vee controla la lluminositat del LCD. L’esquema de connexió és el següent:

Figura 25

Les línies de PC0 a PC3 controlen les files del teclat, mentre que les línies del port C de PC4 a PC7 controlen les columnes. Les resistències situades a la part baixa del port C són de Pull Up. L’esquema elèctric serà:

Figura 26

4x16LCD Display

DB7:0

Vee

Vcc

Vss

Ajust delluminositatP1E

R/WRS

Port APB0PB1PB2

GNDVcc

PC0PC1PC2PC3

PC4PC5PC6PC7

Vdd

= polsador

pull-up

Page 50: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

44

Per llegir quina tecla s’ha polsat s’ha de realitzar el següent procediment: · S’ha de definir la part baixa del port C com a entrada i la part alta com a sortida. · S’han d’escriure a la part alta tots els bits a “0”. · Es llegeix la part baixa. El bit que estigui a “0” indicarà la fila on hi haurà una tecla polsada. La resta de bits estaran a “1” degut a la tensió que hi arriba a través de les resistències de Pull Up. · Es defineix la part alta del port C com a entrada. · Es llegeix la part alta del port C. El bit que estigui a “1” indicarà la columna on s’ha polsat el polsador. · Un cop es coneixen la fila i la columna, ja es pot saber la tecla polsada. Un problema d’aquest muntatge, és la possibilitat que es produeixin rebots a l’hora de polsar una tecla. Això es pot solucionar mitjançant Software; es poden realitzar diverses lectures consecutives i comprovar que s’ha llegit el mateix valor. L’adreça base de la PIA 2 és 200H de l’espai d’entrada i sortida. Els dos muntatges anteriors no s’han pogut realitzar per falta de temps. Per tant sols s’ha realitzat l’estudi a nivell teòric.

Page 51: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

45

1.3.3 Placa de conversió de digital a analògic Aquesta placa està preparada per a funcionar amb un microprocessador de 8 o 16 bits de bus extern de dades. En el nostre cas treballem amb el microprocessador 80C188XL on el bus de dades extern és de 8 bits. Per a canviar d’una configuració a una altra es fa mitjançant els jumpers pertinents de la mateixa placa (JP3, JP5, JP8, JP9 i JP10 per 16 bits i JP4, JP6, JP7, JP9 i JP10 per 8 bits). El conversor utilitzat té una resolució de 16 bits (AD669). Per utilitzar aquest conversor amb el microprocessador esmentat, s’hauran de fer dues escriptures per realitzar la conversió - mentre que per un microprocessador amb bus extern de dades de 16 bits sols necessitarem una escriptura per fer la conversió - . En la primera escriptura es guarda la part alta de la dada a convertir en un latch (74F273) per a després ser llegida pel conversor. En la segona escriptura es posa al bus de dades la part baixa de la dada i es realitza la conversió – a la part alta del conversor es llegeix del latch, i la part baixa del conversor es llegeix del bus - . La sortida del conversor es dirigeix a l’entrada d’un multiplexor analògic (HEF4067B) que dirigirà, per alguna de les sever sortides, el valor de l’entrada a un dels 14 heaters . El fet d’utilitzar un sol conversor per controlar 14 sensors provoca la necessitat d’utilitzar un sistema per mantenir el valor de referència a cada sensor mentre es realitza la conversió dels altres tretze sensors. Per a realitzar aquesta tasca s’utilitza un Sample and Hold (LF398) per a cada sensor. Aquest circuit manté la tensió de referència fins a una nova actualització. Podem dividir, doncs, aquesta placa en tres parts funcionals diferents: - Conversió i multiplexació de les dades: Es la part on es reben les dades digitals del microprocessador, es converteixen i es multiplexen al sensor escollit. - Control d’escriptura: Aquesta part és formada per portes lògiques (NAND, NOR, FLIP-FLOP, ... ) i és on es controla el senyal de conversió depenent del bus extern de dades del micro. Si és de 8 bits: Per fer la conversió necessitem dues escriptures. En la primera escriptura s’emmagatzemen les dades en un latch (que correspon a la part alta de la dada a convertir); mentre que en la segona escriptura es realitza la conversió utilitzant com a dada el bus de dades (part baixa) i el latch (part alta). També aprofita per guardar els 4 bits d’adreces de menys pes, per utilitzar-los com indicador de a quin sensor volem accedir. Si és de 16 bits: En aquest cas sols és necessària una escriptura on es fa la conversió dels 16 bits del bus de dades i es capturen els 4 bits de menys pes del bus d’adreces. - Retenció del resultat de la conversió: Cada sensor ha de tenir un circuit que guardi el valor de referència. Aquest muntatge es realitza utilitzant el circuit LF398 que mantindrà el valor analògic desitjat fins que el vulguem canviar. També hi ha un temporitzador (NE555) la funció del qual és la d’assegurar que el Sample and Hold tingui temps de carregar el valor que ha de mantenir.

Page 52: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

46

1.3.3.1 Conversió i multiplexació de les dades. Aquesta part està formada per un connector de 26 pius, per dos Latch (74HC273, 74HC173), dos Buffers (74HC244), el conversor de digital a analògic (AD669), un multiplexor analògic (HEF4067B) i els quatre amplificadors operacionals (LM324). En la figura següent es pot apreciar l’esquema d’aquest muntatge:

Figura 27 · Si el bus de dades és de 8 bits el Buffer 2 (U9) està desactivat, i el Buffer 1 (U6) funciona. La part alta del bus de dades extern (D8-D15) també està inactiu. En una primera escriptura les dades arriben per la part baixa del bus de dades (D0-D7) i queden emmagatzemades en el Latch (U5) i passen pel Buffer 1 fins la part alta del conversor. A la segona escriptura les dades arriben també per la part baixa del bus de dades (D0-D7) i passen directament a la part baixa del conversor. També arriben els senyals de control del conversor que fan que aquest comenci la conversió. La sortida del conversor es dirigeix al multiplexor analògic (U12), on també arriben les línies d’adreces (AD0-AD3) emmagatzemades en el Latch @ (U8) i que indiquen quina sortida del multiplexor està activa. Cada sortida del multiplexor va a un Heater diferent. Amb el jumper JP9 es controla quin Buffer ha de permetre el pas de dades, posant les seves entrades d’habilitació a “0”. Amb el jumper JP10 s’indica quin ha d’estar inactiu. Quan un dels Buffers està actiu, l’altre ha d’estar inactiu. Els jumpers JP3 a JP6 s’han de configurar depenent de si el bus és de 8 o 16 bits. Si connectem el jumper JP1 el conversor utilitzarà com a tensió de referència, la tensió que li arribi a través d’un dels connectors de la regleta d’alimentació (REG1). Si en lloc d’aquest, es connecta JP2, la referència utilitzada serà la pròpia del conversor, que és de 10 volts.

Ref IN

Digitat GND

Ref OUT

D3

DA

D11

DB12

A3

D2

D10D6

DB13

A2

D4D7

D3

A2

D4

D14

D1

A1

WR

D0

A0

A1

DB9

D9

D15D12

D2

D7

DB14

D0

A0

DB10

DB8

DB15

A3

D1

S2DB11

D13

D8D5

D5D6

D0

D1

D2

D3

D4

D5

D6D7

D8

D9

D10

D11

D12

D13

D14D15

DB8

DB9

DB10

DB11

DB12

DB13

DB14DB15

DB8

DB9

DB10

DB11

DB12

DB13

DB14DB15

U8

74H

C17

3

D114

D213

D312

D411

CLK7

M1

N2

G19

G210

CLR15

Q13

Q24

Q35

Q46

R3

R1

U4A

LM324

+

-

3

21

411

U7

Vll

3

DGND4

AGND24

L1!5 CS!6

LDAC23

DB022

DB121

DB220

DB319

DB418

DB517

DB616

DB715

DB814

DB913

DB1012

DB1111

DB1210

DB139

DB148

DB157

SPAN26

Vout25

Ref In27

Ref Out 28

U5

74H

C27

3

D13

D24

D37

D48

D513

D614

D717

D818

CLK11

CLR1

Q12

Q2 5

Q36

Q49

Q512

Q6 15

Q716

Q819

J1

CON26A

13579

1113151719212325

2468101214161820222426

R2

U4B

LM324

+

-

5

67

411

JP3

JP5

U12

HEF

4067

Z1

Y72Y63Y54Y45Y36Y27Y1 8Y09

A010

A111

A313

A214

E!

15

Y1516Y14 17Y1318Y1219Y1120Y10 21Y922Y823

JP1

JP6

C8100nFJP4

JP2

U4C

LM324

+

-

10

98

411

R4

U4D

LM324

+

-

12

1314

411

U6

74HC244

1A12

1A24

1A36

1A48

2A111

2A213

2A315

2A417

1G1

2G19

1Y118

1Y2 16

1Y314

1Y412

2Y19

2Y2 7

2Y35

2Y43

U9

74HC244

1A12

1A24

1A36

1A48

2A111

2A213

2A315

2A417

1G1

2G19

1Y1 18

1Y216

1Y314

1Y412

2Y19

2Y27

2Y35

2Y43

JP9

22

11

33

JP10

22

11

33

SH5

SH15

SH11SH12

SH8

AD2

AD0

SH9

SH2

AD2

SH3

Ref OUT

AD3

AD1

AD1

AD0SH4

SH7SH6

SH10

AD3

SH13

SH1SH0

SH14

CONTROL ESCRIPTURA

Page 53: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

47

Per veure en quina posició han d’estar els jumpers segons la configuració desitjada, s’ha de consultar la serigrafia dels components, ubicada al capítol dels plànols. TAULA D’ADRECES DELS SENSORS

S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1

Taula 15

Essent Si el sensor al que es vol dirigir, i Ai els bits que formen l’adreça on és el sensor. Les adreces de la taula anterior mostren l’offset de cada sensor, respecte l’adreça base de la placa. Els senyals que donen l’ordre de conversió, i l’ordre d’emmagatzemament de les adreces i dades en els seus respectius Latch provenen d’un altre bloc situat a la mateixa placa, el qual s’explicarà al punt següent. El multiplexor analògic (U12) està alimentat entre 0 i 15 Volts (0 – Vcc), per això s’han d’adaptar els nivells de tensió de les línies d’adreces que hi arriben, ja que van de 0 a 5 Volts (0 – Vdd). Aquest canvi l’aconseguim mitjançant quatre amplificadors operacionals (U4). Aquests A.O actuen com a comparadors, de manera que per a valors de tensió dels senyals d’adreça entre 0 i 2.5 Volts, la sortida val 0 Volts; i per a valors entre 2.5 i 5 Volts, la sortida val 15 Volts. · Si el bus de dades extern del micro és de 16 bits el Buffer 1 no funciona, mentre que el Buffer 2 sí. En aquest cas sols es necessària una escriptura per aconseguir la conversió. Les línies D0 – D7 entren directament a la part baixa del conversor, mentre que les línies D8 – D15 van a parar a la part alta del conversor a través del Buffer 2. Tota la resta funciona com en el cas anterior. La figura següent ens mostra la configuració del conversor. Es tracta d’una configuració unipolar amb valors de tensió de sortida entre 0 i 10 Volts. Com el conversor és de 16 bits, la seva resolució serà de 152.59ìV. Per aconseguir aquesta configuració es posen dues resistències; una entre Span/Bipolar Offset (Piu 26) i VOUT (Piu 25), i l’altra entre RefOut (Piu 28) i refien (Piu 27). És possible utilitzar el conversor sense cap d’aquestes resistències, unint directament els respectius pius, però això incrementa el guany d’error en un 0.25%.

Page 54: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

48

Figura 28

· Les línies de control del conversor són les corresponents als pius 5, 6 i 23. En l’esquema de la figura anterior l’interface lògic del AD669 consisteix en dos Latch de 16 bits. En el primer registre de 16 bits les dades provenen directament del bus de dades. Quan ja s’ha carregat el primer registre, cal carregar el següent per a que el DAC converteixi la dada. El Primer registre està controlat pels senyal CS i L1. Cada un d’aquests senyals s’activa per nivell baix; això vol dir que quan el dos senyals estan a nivell baix la dada entra al Latch, i quan un d’ells està a nivell alt la dada queda fixada al Latch. El segon registre es controlat pel senyal LDAC. Aquest s’activa per nivell alt. Les dades presents al Latch quan el senyal és a nivell alt entraran en el registre LDAC, d’aquí que el conversor canvia d’estat a mesura que varia la dada. Quan LDAC es desactiva ( 0 Volts) la dada queda fixada a l’entrada del DAC. Aquestes 3 línies de control estaran unides entre si, de manera que quan la línia de control valgui “0” es carregarà el primer Latch, mentre el segon manté el valor anterior (El conversor encara converteix la dada anterior). Quan el senyal de control passa a valer “1”, el primer registre fixa la dada i el segon registre deixa passar la dada al DAC, el qual la converteix. La taula següent mostra el funcionament dels dos registres depenent dels seus senyals de control.

CS! L1! LDAC Operació

0 0 X Primer registre transparent X 1 X Primer registre fixat 1 X X Primer registre fixat

X X 1 Segon registre transparent

X X 0 Segon registre fixat

0 0 1 Tots el registres transparents

Taula 16

16 Bits Latch

16 Bits Latch

16 Bits DAC

6

5

23

27

28

1 2 3 4

24

25

26

7 2250 o

hm

50 o

hm

MSB LSB

Output

GND

VEE VCC VLL

LDAC

L1

C1

Page 55: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

49

1.3.3.2 Control d’escriptura. Aquesta par és formada per tres portes NOR (74HC02), quatre portes NAND (74HC00) i un flip-flop tipus D (74HC74). Gestiona les línies de control del conversor, del Latch d’adreces(U8), del Latch de dades (U5) i del temporitzador NE555 (U11).. En la figura següent es mostra l’esquema circuital d’aquesta part.

Figura 29 Si el bus extern de dades de la placa CPU és de 8 bits, s’han de connectar els jumpers JP4, JP6 i JP7. L’esquema lògic resultant d’aquestes connexions queda reflexat a la següent figura:

Figura 30

D

Q

QSET

CLR

..

Latch @

Latch Dades

Línies Control

NE555PCS

S2

WR

3.3uF

33Kohm

Vdd = 5V

B

U1A

74HC02

2

31

U1B

74HC02

5

64

U2A

74HC00

1

23

U2B

74HC00

4

56

U2C

74HC00

9

108

U2D

74HC00

12

1311

14

7

JP8

JP7

R6

U10A

74HC74

D2

CLK3

Q5

Q 6

PR4

CL1

U1C

74HC02

8

910

JP5

JP6

JP4

JP3

C45+

CLK dades

CLK adrecesSenyals de control DAC

DA

S-2

WR

Temporitzador

Page 56: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

50

Latch @ à És el senyal que provoca l’emmagatzemament de les línies d’adreces, en el Latch d’adreces (U8). S’activa a la segona escriptura. Latch Dades à És el senyal que provoca l’emmagatzemament del bus de dades en el Latch de dades (U5). Aquest senyal s’activa en la primera escriptura. Línies de control à Controlen el conversor (U7) i els seus registres interns correspon als senyals CS, L1 i LDAC. NE555 à És la línia que activa el temporitzador per a que el Sample and Hold tingui temps d’emmagatzemar el valor de tensió que li arriba del conversor D/A. El circuit del biestable està format per un circuit RC alimentat a 5 Volts. La funció d’aquesta xarxa és la d’assegurar que a l’engegar l’aparell el biestable es trobi en l’estat 0 (Q=0 i Q!=1). Al engegar, el condensador està descarregat per tant a l’entrada RESET del biestable hi ha un nivell baix, mentre que a l’entrada SET hi ha un nivell alt (Això provoca un reset de Q). A mesura que passa el temps el condensador es carrega fins a valer “1”. Es pot apreciar la presència de tres portes NAND en cascada. La funció d’aquestes és la de produir un petit retard per a que el senyal del biestable arribi abans a l’última porta NOR. Sense la presència d’aquest retard es corre el perill de produir-se el senyal LDAC en la primera escriptura i en la segona; quan sols s’ha de produir en la segona. En el cronograma següent es pot apreciar l’evolució dels senyals:

Figura 31

T1 à Correspon al temps de retard introduït per les portes NAND. En Aquest cas LDAC (Conversió) es dóna només a la segona escriptura. En cas de no posar retard (B*) es produeix un glitch al senyal LDAC en la primera escriptura, degut a que en un petit instant a la porta NOR arriben dos nivells baixos simultàniament (B* i Q).

PCS, S2, WR

Q

CLK

B

LDAC

B*

LDAC*

t1

Glitch

Primera Escriptura Segona Escriptura

Page 57: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

51

En una primera escriptura els senyals de control provinents del micro (S2, WR i PCS) es posen a zero, amb la qual cosa el biestable canvia d’estat (Q = 0 à Q = 1). Això provoca que es Latxin les línies de dades que correspondran a la part alta de la dada a convertir (DB8-DB15), però no es dona el senyal LDAC. A la segona escriptura es tornen a activar les línies de control de micro. També es Latxen les línies d’adreces que indicaran a quin sensor va dirigida la dada. El biestable torna a canviar d’estat (Q = 1 à Q = 0) cosa que provoca el senyal LDAC que permet la conversió de la nova dada. S’activa el senyal Trigger que dispara el temporitzador NE555 el qual té la funció de donar temps al Sample and Hold a emmagatzemar la dada. Si la placa del micro que controla aquesta placa té un bus de dades extern de 16 bit, llavors s’han de connectar els jumpers JP3, JP5 i JP8. Un cop configurada, l’esquema funcional és el següent:

Figura 32 Tot el procés es realitza en un sola escriptura. Al escriure el valor a convertir es donen tots els senyals: es Latxen les línies d’adreces (Latch @), es donen els senyals de control del conversor (Línies de control) i s’activa el Trigger del temporitzador (NE555).

Latch @

Línies Control

NE555

PCS

S2

WR

Page 58: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

52

1.3.3.3 Emmagatzematge de dades analògiques. Els components emprats en aquesta part son dues portes NAND (74HC00), un temporitzador (NE555), dos decodificadors 1 a 8 (74HC238) i 14 Samples and Hold (LF398). L’esquema circuital d’aquesta etapa és:

Figura 33

· Sample and Hold. Aquest dispositiu és l’encarregat de mantenir la tensió analògica que es desitja enviar al Heater corresponent durant el temps que es triga a enviar les diferents tensions a tots i cadascun dels Sample and Hold de la placa i torna a ser el torn del mateix.

Figura 34 Quan l’entrada TR, provinent dels multiplexors digitals (U27 o U28), es posa a “1” (5 V) llavors la tensió que es troba a l’entrada SH, provinent del multiplexor analògic (U12) es va carregant al condensador de càrrega (C). Depenent del valor d’aquest condensador, es carregarà més o menys ràpidament i, el temps de descàrrega, també en depèn. El temps de

VccVcc

Vee

TRS

SHLF398

+

-

3

85

1 24 6 7

C

Vdd

TR12

TR4

TR2

TR10

TR6AD1

TR15

AD3

TR14

TR1

TR13

TR3

TR9

TR11

TR5AD2

TR8

TR7

TR0

AD0

Senyal tret per 16 bits

Senyal tret per 8 bits

JP8 U27

74HC238

A1

B2

C3

G16

G2A4

G2B5

Y0 15

Y1 14

Y2 13

Y3 12

Y4 11

Y5 10

Y6 9

Y77

C47

U28

74HC238

A1

B2

C3

G16

G2A4

G2B5

Y015

Y114

Y213

Y312

Y411

Y510

Y69

Y77

U11

NE555

TR2

CV5

Q3

DIS7

THR 6R

4

VC

C8

GN

D1

JP7

C46

U3A

74HC00

1

23

U3B

74HC00

4

56

R5

Page 59: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

53

càrrega pel condensador emprat, i per a una error d’un 1% és de 100µs. Quan l’entrada TR es fica a “0” el valor queda fixat a la sortida (S). El decrement de la tensió de sortida en funció del temps és de 0.01mV/s. · Decodificador de 1 a 8: S’han utilitzat dos decodificadors per a poder tenir les 14 línies de control necessàries per controlar els Sample and Hold. Quan al decodificador li arriba el senyal del NE555 al seu piu Chip Select corresponent, la sortida escollida per les adreces A0-A2, es fica a “1”, mentre que la resta es queden a “0”. Aquest senyal és el que donarà l’ordre d’emmagatzemar la tensió al Sample and Hold (entrada TR). La línia d’adreça A3 serveix per discriminar a quin dels dos decodificadors s’accedeix, ja que cadascun d’ells només controla 8 línies. Si A3 = 0, es controlen els 8 primers Sample and Hold (decodificador U28), i si val “1”, els 6 restants (decodificador U27). · Temporitzador NE555: La funció del temporitzador és la d’incrementar el temps en que es passa de fer Sample (mostreig) a fer Hold (retenció). Això és necessari ja que la tensió a guardar triga un cert temps a arribar a l’entrada del LF398 per les següents causes:

- Temps de conversió de digital a analògic (≈13µs). - Temps que triguen els A.O. a adaptar el senyal (≈ 30µs). - Temps que triga el condensador C del LF398 a carregar-se (≈100µs).

És per aquest motiu que s’ha decidit provocar un temps d’espera d’uns 200µs; per assegurar que la tensió que es retén és la correcta.

Figura 35 El Trigger s’activa a la segona escriptura en el cas de tenir un bus de 8 bits i, a la primera, en el cas d’un de 16. L’evolució temporal de la sortida del NE555 es pot apreciar a la part dreta de la Figura anterior. La durada del pols depèn del valor de R1 i C1, i en el nostre cas és de 200ìs

NE555Trigger

R1 = 3K9ohmsVdd= 5 V

Vout

2

5

1

6

7

3

84

C147nF

100nF

TR

CV THR

DIS

OUTR

GND

Vcc

NE555

Vout

t200us

Page 60: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

54

Mentre aquest senyal està a “1”, els decodificadors estan en funcionament, donant al LF398 el senyal de Sample. Un cop el senyal cau a “0”, els decodificadors deixen de funcionar, entregant el senyal Hold al LF398. La durada del pols fa que el temps mínim entre una escriptura a un dels Heaters i una altra, sigui de 200µs. Com que el temps de cicle mínim serà d’uns 100ms aquesta limitació no representa cap inconvenient. 1.3.3.4 Cronogrames: Aquests cronogrames fan referència a un cicle complert d’escriptura a la placa. En aquest primer cronograma es pot apreciar l’evolució temporal dels senyals durant el primer i segon accés en cas d’un bus de 8 bits. Els senyals mostrats són els següents: · PCS, WR, S2. Quan aquests tres senyals es fiquen a zero en el mateix instant vol dir que s’està direccionant cap a aquesta placa i, a més, per escriptura (no s’hi accedeix en cap cas per lectura).

· Q. Representa la sortida del biestable. Indica en quin dels dos accessos ens trobem.

· Q0...Q7. Representen les sortides del Latch de dades, el qual emmagatzemarà la part alta de les dades en el primer accés per, al segon fer servir els mateixos 8 bits per donar la part baixa al conversor D/A.

· Trigger del Timer. Dóna el tret de sortida al temporitzador perquè aquest generi el pols requerit pels Sample and Hold.

· A0...A3. Són les sortides del Latch d’adreces. Aquestes adreces indiquen a quin sensor va dirigida la dada.

· LDAC. Quan es fica a “1”, deixa passar la nova dada a convertir. Al baixar a zero, aquesta queda fixada.

· Vout. Representa el valor analògic de sortida del conversor.

· LM324. Mostra el variació temporal dels senyals de selecció de canal del multiplexor analògic, des de que li arriben del Latch d’adreces.

· Timer. És representada la durada del pols de sortida del temporitzador, que anirà a l’entrada TR dels Sample and Hold.

Page 61: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

55

Figura 36

En el segon cronograma es reflexen les variacions temporals dels senyals durant l’únic cicle d’escriptura que es realitza quan el bus de dades és de 16 bits. És bastant semblant a allò que es veu en el segon accés del cas anterior, però amb la salvedat de què el senyal LDAC canvia abans, degut a què aquest senyal recorre un camí diferent que en el cas anterior. El cronograma és el següent:

Figura 37

Primer accés Segon accés

Escriptura

Q

Q0...Q7

Trigger

A0...A3

LDAC

Vout

LM324

Timer

13us

30us

200us

8ns

10ns

8ns

5ns

25ns

20ns

10ns

E s r i p t u r a

L D A C

T r i g g e r

A 0 . . . A 3

V o u t

T i m e r

L M 3 2 4

1 5 n s

5 n s

1 3 u s

3 0 u s

1 0 n s

2 0 0 u s

Page 62: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

56

1.3.4 Placa de conversió d’analògic a digital A aquesta placa li arriben les tensions provinents dels sensors. Aquestes tensions que arriben dels dos extrems de cada un dels sensors es fan passar a través de dos multiplexors analògics de 16 canals cada un d’ells (U1, U2). Aquests multiplexors seleccionen la tensió diferencial del sensor que es vol mostrejar, la qual es referència a massa i s’amplifica mitjançant un amplificador d’instrumentació (U3) per tal de poder ser convertida en una dada digital. Un cop la dada ha estat convertida ja esta llesta per ser llegida i emmagatzemada a la placa del microprocessador. El procediment per a convertir una dada és el següent: · Primerament es realitza un cicle d’escriptura a l’adreça 100H de l’espai d’entrada i sortida. La dada que s’escriu a aquesta adreça és el valor del canal que es vol seleccionar. Aquest cicle també serveix per donar al conversor l’ordre de conversió. · Si el microprocessador té un bus extern de 8 bits s’hauran de realitzar dues lectures consecutives a la mateixa adreça: a la primera llegirem la part baixa de la dada convertida i a la segona llegirem la part alta. Si el bus del micro és de 16 bits, només caldrà fer una lectura. · Suposant que es volen fer dues lectures consecutives del mateix sensor, prèviament s’ha d’haver realitzat un cicle d’escriptura dient de quin sensor volem llegir (encara que sigui el mateix). Això es fa perquè l’ordre de conversió es dóna fent aquest cicle d’escriptura. 1.3.4.1 Multiplexor analògic Els multiplexors analògics emprats són els HEF4067B. Aquest multiplexor és bidireccional; això vol dir que quan hi ha un canal seleccionat, l’informació pot circular tant en un sentit com en un altre. Aquest integrat està alimentat entre 0 i 5 volts; això implica que els valors de tensió que circularan a través d’ell han d’estar compresos entre aquests dos valors. És per aquests motiu que les tensions diferencials d’entrada estan restringides a 3 volts. Tot i que podrien circular 5 volts, es deixa un marge de seguretat de 2 volts per evitar les alinealitats que es podrien produir en tensions d’entrades molt properes a la de l’alimentació. Per seleccionar el canal desitjat es disposa de 4 entrades digitals. Els senyals que arriben a aquestes entrades provenen d’un Latch (U4) que, durant el cicle d’escriptura captura la dada que indica el canal que es vol seleccionar.

Page 63: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

57

L’esquema de connexió dels multiplexors és el següent:

Figura 38

1.3.4.2 Amplificador d’instrumentació. Bàsicament compleix dues funcions: referir la tensió diferencial que hi ha entre les sortides dels multiplexors analògics a massa, i amplificar aquesta tensió per tal d’aprofitar al màxim possible el rang de tensions d’entrada del conversor analògic-digital (U5) i tenir així la màxima resolució possible. El guany d’aquesta etapa és de 3 V/V. La tensió diferencial màxima que hi haurà en els multiplexors serà de 3 volts, que amplificats pel guany de l’amplificador d’instrumentació, donarà una tensió màxima d’entrada al conversor de 9 Volts. Com ja es comentarà més endavant (consultar la secció del conversor analògic-digital), el rang de tensions d’entrada del conversor és de ±10 V. L’amplificador d’instrumentació està implementat mitjançant 3 amplificadors operacionals i 7 resistències. És el típic muntatge en què hi ha dues etapes, la primera de les quals (U3A i U3B) dóna una alta impedància d’entrada i és la que dóna el guany. La següent etapa és un amplificador diferencial de guany unitat, que referència la tensió de l’etapa anterior a massa i li dóna un gran factor de rebuig en mode comú (U3C).

ADWE

D3D2D1D0

S+14S+13

S+15

S+12S+11S+10S+9S+8S+7S+6S+5S+4S+3S+2S+1S+0

S-12S-13S-14

S-7

S-5S-6

S-0

S-9

S-2

S-10S-11

S-3

S-1

S-4

S-15

S-8

HEF4067U1

Z 1

Y72

Y63Y54

Y45

Y36Y27

Y18

Y09

A0 10A1 11A3

13A2 14

E!

15

Y1516Y1417

Y1318

Y1219Y1120

Y1021

Y922Y823

74HC374

U4

D0 3D1 4D27D3 8D4 13D514D6 17D7 18

OC 1CLK 11

Q02 Q15 Q26 Q39 Q412 Q5

15 Q616 Q719

HEF4067U2

Z 1

Y72

Y63Y54

Y45

Y36Y27

Y18

Y09

A0 10A1 11A3

13A2 14

E!

15

Y1516Y1417

Y1318

Y1219Y1120

Y1021

Y922Y823

conn. micro

V+ AMP. INSTRUMENTACIO

V- AMP. INSTRUMENTACIO

CONNECTOR SENSORS

Page 64: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

58

L’esquema de l’amplificador és el següent:

Figura 39

1.3.4.3 Conversor d’analògic a digital. El conversor utilitzat és el LTC1605. Es tracta d’un conversor de 16 bits amb una freqüència de mostreig màxima de 100KHz. Aquest conversor porta integrat un Sample and Hold a la seva entrada, una referència interna de tensió de precisió, un conversor A/D d’aproximacions successives de capacitats commutades i un Clock intern sincronitzat. El rang de tensió d’entrada del LTC1605 es tracta d’un estàndard industrial de ±10 V. Per poder millorar la seva exactitud enfront la temperatura, es pot fer servir una referència de tensió externa, però en aquest muntatge no s’ha implementat aquesta entrada. La seva sortida és formada per un port paral· lel de 16 bits ó 2 bytes, compatible amb un microprocessador. També incorpora una entrada d’inici de conversió, un senyal de dada preparada per lectura (BUSY), facilitat de connexió a FIFO’s, DSP i microprocessadors. Per facilitar la interconnexió amb un microprocessador amb un bus de dades de 8 bits, aquest conversor disposa d’una entrada (BYTE) mitjançant la qual es poden intercanviar el byte alt i el byte baix de la seva sortida. Si aquesta entrada està a nivell baix, el byte baix surt pels pius del 15 a 22, i l’alt del 6 al 13. Si està a “1”, s’intercanvien. Per a poder realitzar la conversió es necessari que l’entrada Chip Select estigui a nivell baix i que per l’entrada Read Convert (R/C) li arribi un pols a nivell baix d’una durada mínima de 40ns.

Vcc

Vcc

Vcc

Vee

VeeVee

U3A

LM324

+

-

3

21

411

U3BLM324

+

-

5

67

411

U3CLM324

+

-

10

98

411

R1

R2

R3

R4

R5

R7

R6MUX_1

MUX_2

CONV A/D

Page 65: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

59

El fabricant recomana afegir una xarxa de filtratge a l’entrada del conversor formada per dues resistències i un condensador. També recomana afegir uns condensadors als pius on hi han les tensions de referència. El muntatge de configuració d’aquest dispositiu ha estat el d’aplicació típica que es mostra a continuació:

Figura 40

El muntatge bipolar anterior codifica el resultat del senyal mostrejat de forma diferent per les tensions positives que per les negatives. Mentre que pels senyals positius el bit de més pes és “0” i la resta és el mòdul de la tensió, per les negatives el bit de més pes val “1” i la resta és el mòdul codificat en complement A1. Això vol dir que sense tenir en compte el signe els bits del mòdul s’han canviat els “0” per “1” i viceversa. En el cas del present projecte les tensions a llegir seran sempre positives. La taula següent mostra la codificació en funció de la tensió d’entrada:

Taula 16

011...111

011...110

000...001

000...000

111...111

111...110

100...001

100...000

0V-1 1-FS/2 FS/2-1LSB

LSB LSB

TENSIO D'ENTRADA (V)

CODI DE SORTIDA

FS = 20V1LSB = FS/65536

ZERO BIPOLAR

Vin+/-10 V

R8

R9C1

C4,C5

C2,C3

CAP

REF

BUSY

CS

R/C

BYTE

Senyals digitals de control

D15:0 16 bits o 2 bytes, bus paral·lel

LTC1605

Page 66: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

60

1.3.4.4 Flip-flop El Flip-flop emprat és un 74HC74 (U8). La funció que desenvolupa és la d’intercanviar la part alta i la part baixa de la paraula de 16 bits que dóna el conversor en el cas que el bus extern de dades del microprocessador emprat sigui de 8 bits. Durant el cicle d’escriptura, al Flip-flop se li realitza un Set (posada a “1” del seu senyal de sortida). Aquesta inicialització es fa per tal que en el cicle de lectura partim sempre d’un mateix estat. En fer el primer cicle de lectura, als 8 bits del bus de dades hi haurà el Byte baix, i a la segona lectura, el Byte alt. Els senyals que arriben al Flip-Flop són ADRE i ADWE. El primer s’activa a cada cicle de lectura i fa canviar d’estat el biestable. El segon senyal li arriba durant el cicle d’escriptura i inicialitza el senyal de sortida del biestable a “1”. El senyal de sortida controla l’entrada BYTE del conversor, que determina com surten el Byte alt i el baix. L’esquema de connexió d’aquest biestable és el següent:

Figura 41

1.3.4.5 Multivibrador monoastable Aquest integrat és el 74HC221 (U10). La funció que desenvolupa és donar el pols de conversió al conversor A/D, amb l’amplada que recomana el fabricant. S’ha escollit aquest integrat, perquè és el mostrat en el muntatge d’aplicació dels fulls de característiques del conversor. Per programar l’amplada d’aquest pols, el chip disposa de dos pius on es connecten una resistència i un condensador. Depenent dels seus valors, aquest pols tindrà més amplada o menys. En el cas que ens ocupa, la durada del pols ha d’ésser de 40ns. El senyal que controla el tret del multivibrador és ADWE. Com ja s’ha esmentat anteriorment, això és així perquè és en el cicle d’escriptura que se li dóna l’ordre al conversor de convertir la tensió. El senyal de sortida del multivibrador controla l’entrada R/C del conversor.

Vdd

ADWE

ADRE

BYTE

U6B

74HC74

D12

CLK11

Q9

Q8

PR10

CL13

VCC14

GND7

U5A

74HC00

1

23

Page 67: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

61

L’esquema de muntatge és el següent:

Figura 42

1.3.4.6 Buffers Els Buffers emprats són del tipus 74HC244 (U6 i U7). Són dos Buffers de 8 bits cada un, de tipus monodireccional, amb sortida tri-state. És necessari ficar-los per dues raons: · Donen la potència suficient als senyals perquè puguin arribar bé les dades, al microprocessador, a través del cable de cinta pla. · En cas de què no s’estigui accedint a aquesta placa, els Buffers tindran les seves sortides en estat d’alta impedància, la qual cosa fa que s’eviti ficar dades al bus que puguin interferir amb altres. El primer dels Buffers (U6) és el que està connectat als pius de15 a 22 del conversor A/D i és el que sempre funciona, tant si el microprocessador és de 8 bits de bus de dades extern, com de 16 bits. El senyal que controla aquest Buffer és ADRE, per tant ficarà dades al bus a cada cicle de lectura de la placa. El segon dels Buffers (U7) només funcionarà en cas de que aquesta placa estigui connectada a un microprocessador de 16 bits de bus de dades extern. Per fer això existeix un jumper a la placa que s’haurà de canviar de posició en funció d’un cas o l’altre. Si el bus és de 8 bits, el jumper estarà ficat de manera que a l’entrada 1G i 2G els arriba un “1” i, per tant, les sortides estaran en alta impedància. Si és de 16 bits, el jumper estarà connectat de manera que a aquestes entrades d’habilitació els arribarà el senyal ADWE, el qual farà que el Buffer s’activi només durant el cicle d’escriptura a la placa.

Vdd

U10A

74HC221

CEXT14

REXT/CEXT15

A1

B2

CLR3

Q13

Q 4

VCC16

GND8

R8

R/CADWE

Page 68: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

62

L’esquema de connexió dels Buffers és el següent:

Figura 43

Vdd

U7

74HC244

1A12

1A24

1A36

1A48

2A111

2A213

2A315

2A417

1G1

2G19

1Y118

1Y216

1Y314

1Y412

2Y19

2Y27

2Y35

2Y43

U6

74HC244

1A12

1A24

1A36

1A48

2A111

2A213

2A315

2A417

1G1

2G19

1Y118

1Y216

1Y314

1Y412

2Y19

2Y27

2Y35

2Y43

JP1jumper3

22

11

33

U9C

74HC00

9

108ADRE

Q0:7

Q8:15

D0:7

D8:15

Page 69: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

63

1.3.5 Placa de distribució dels senyals dels sensors Aquesta placa consta de 6 connectors i una regleta, per on arriba l’alimentació. El connector (J1) que ve de la placa D/A, porta les tensions analògiques que serviran de referència als circuits de control de potència dels heaters. N’arriben un total de 14, que es reparteixen entre els 4 connectors que van a la placa dels sensors de manera que a 3 d’aquestes plaques els arriben 4 tensions analògiques, mentre que a la quarta placa només n’arriben 2. Això és degut a què els sensors d’humitat i de temperatura de la quarta placa no tenen cap heater al qual se li hagi d’entregar potència i, per tant, no necessiten d’aquestes tensions de referència. El connector (J2) que va a la placa A/D, hi porta les tensions diferencials que li arriben dels 4 connectors de les plaques dels sensors. De cada una li arriben un total de 4 tensions fins i tot de la quarta, de la qual li arriben també les tensions dels sensors d’humitat i de temperatura. Als connectors de les plaques dels sensors, els arriba l’alimentació que donarà potència a aquestes plaques. Això elimina l’haver d’incloure algún altre tipus de connexió a les plaques dels sensors per tal de portar-los l’alimentació. L’esquema de connexió de la placa és el següent

Figura 44

Vcc=15V Vcc=15V

Vcc=15V Vcc=15VVee=-15V Vee=-15V

Vee=-15VVee=-15V

S1+ S1- S5+ S5-S2+ S2- S6+ S6-

VH1 VH2 S3+ S3- S7+ S7-VH3 VH4 S4+ S4- S8+ S8-VH5 VH6 VH1 VH2 VH5 VH6VH7 VH8 VH3 VH4 VH7 VH8VH9 VH10VH11 VH12VH13 VH14

S9+ S9- S13+ S13-S1+ S1- S10+ S10- S14+ S14-S2+ S2- S11+ S11- S15+ S15-S3+ S3- S12+ S12- S16+ S16-S4+ S4- VH9 VH10 VH13 VH14S5+ S5- VH11 VH12S6+ S6-S7+ S7-S8+ S8-S9+ S9-S10+ S10-S11+ S11-S12+ S12-S13+ S13-S14+ S14-S15+ S15-S16+ S16-

J1

CON16A

13579111315

2468

10121416

J2

CON34A

13579

111315171921232527293133

246810121416182022242628303234

J5

CON20A

13579

1113151719

2468101214161820

J3

CON20A

13579

1113151719

2468101214161820

J4

CON20A

13579

1113151719

2468101214161820

J6

CON20A

13579

1113151719

2468101214161820

Page 70: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

64

1.3.6 Placa dels sensors Primerament s’ha de comentar que només s’explicarà la placa que s’ha realitzat, la qual està preparada per portar 4 sensors del tipus TAGUSHI, amb tota l’electrònica de control necessària. Per a cada sensor s’ha implementat una font de corrent de valor fix i una etapa de potència per excitar la resistència del heater. 1.3.6.1 Fonts de corrent Per realitzar la font de corrent. S’ha optat per utilitzar la tensió de referència que dóna l’integrat LM317, per tal de tenir una referència estable. El principi de funcionament d’aquesta font és el següent:

Figura 45

El corrent que circula per RI (IS) és proporcional a la tensió de referència VREF i depèn només d’aquesta tensió i d’aquesta resistència RI i és independent de RL. El corrent (IL) que circula per la càrrega RL és la suma de IS + IADJ. Aquest corrent IADJ és de valor reduït (uns centenars de µA), però es va pensar que seria bo intentar eliminar-lo o intentar reduir-lo el màxim possible. Per fer això, es va decidir aprofitar la propietat del curtcircuit virtual dels amplificadors operacionals i se’n va incorporar un al disseny:

Figura 46

LM317 RI

RL

IS

IL

IADJ

Vcc

VREF

LM317 R I

RL

IS

IL

Vcc

VREF

+

-

Page 71: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

65

El curtcircuit virtual de l’amplificador operacional garanteix que entre els terminals de la resistència RI hi hagi la tensió VREF. El corrent IADJ és absorbit per l’amplificador operacional. Ara el corrent IL és pràcticament idèntic al corrent IS; la diferència que existeix entre aquests corrents és degut als corrents de polarització de l’amplificador operacional. S’ha escollit un TL082 perquè té uns corrents de polarització d’unes dècimes de µA. És important que sigui el més reduït possible, ja que la impedància de sortida de la font dependrà d’aquesta diferència entre IS i IL, i aquesta ha d’ésser el més elevada possible. 1.3.6.2 Etapa de potència pels heaters Seguint les especificacions dels sensors TAGUSHI, la tensió que ha d’alimentar els heaters dels sensors ha de ser de 5V com a màxim. També està indicat a les especificacions que la resistència que presenta aquest heater és de 38±3 Ω. Per tant, la potència màxima que s’ha d’entregar a cada un d’ells és d’uns 5/7 de W. Es fa necessària la incorporació d’un circuit que sigui capaç de donar aquesta potència màxima i que faci que la tensió que hi hagi al heater estigui en funció de la tensió de referència provinent de la placa de conversió D/A. El circuit dissenyat és el que es mostra a la figura següent:

Figura 47

El potenciòmetre P és per ajustar el guany de l’etapa a exactament ½ de la tensió d’entrada Vin. Això és així perquè el conversor D/A dóna una tensió màxima de 10V, i la tensió màxima que s’ha d’entregar a RH és de 5V. El transistor s’ha d’escollir perquè pugui dissipar la potència necessària per poder donar el corrent que el heater requereixi. A més, el guany del transistor ha d’ésser suficientment gran com perquè l’A.O. no se saturi en corrent.

R1

P

R2

+

-

A.O. Q

VinVcc

R3

RH

Page 72: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

66

1.3.7 Font d’alimentació Aquesta placa és l’encarregada de donar l’alimentació a la resta de les plaques que conformen el projecte. D’aquesta placa sols s’ha realitzat l’estudi teòric. És formada per una font de +5 volts, per alimentar la circuiteria digital, i per un simetritzador de ±15 volts, per alimentar la circuiteria analògica.

Figura 48

1.3.7.1 Font d’alimentació de +5 volts Aquesta font esta formada per l’integrat LM7805 (U5), els condensadors C3, C6, C13, C14 i per els diodes D3 i D6. Aquest muntatge permet un senzill esquema de muntatge a costa d’un baix rendiment energètic, degut a que està constituït per un regulador de tensió lineal. El condensador C14 dóna estabilitat en la tensió de sortida enfront de càrregues capacitives, i el condensador C13 realitza la mateixa funció en cas de que el condensador de filtratge C3 estigui allunyat. S’ha implementat un rectificador d’ona complerta amb un pont de diodes (BR1). La tensió polsant que entrega aquest pont, es filtrada mitjançant el condensador C3. La tensió a l’entrada de l’integrat U5 és de 20 volts. Aquesta s’aconsegueix mitjançant l’ús d’un transformador de toma mitja i amb relació de transformació de 220 a 20,0,20. Tot i la reducció del nivell de tensió, es fa necessària la utilització d’un dissipador en el propi regulador de tensió amb una Rth 4K/W. La regleta de sortida J1 té un terminal (4) a la sortida d’aquest integrat. Mentre que la massa està connectada a la toma mitja del transformador i aquesta al terminal 2 de la mateixa regleta. D’aquesta manera aconseguim que les dues fonts d’alimentació estiguin en el mateix potencial de referència.

5V (màx 1.5A)

15V (màx 3A)

-15V (màx 1.5A)

GNDF1

6A

U1

ON/OFF

0 0

D1

D2D3

D4

D5

U2

LM78151

1

22

33

U3

LM781511

22

3 3

U4 LM7915

VI

GN

D VO

U5

LM78051

1

22

33

TR1

220Vac/20,0,20Vac

V1

220Vac, 50Hz

C3+

C13 C14

C6+

C1+

C2+ C5+

C4+

C12C11

C9 C10

C7 C8

BR1

B80 C 3200/2200

J1

CON4

1234

D6

Page 73: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

67

1.3.7.2 Font de tensió simètrica de ±15 volts Aquesta font està formada pels integrats U2 (LM7815), U3 (LM7815) i U4 (LM7915), i pels components C1, C2, C4, C5, C7:12, D1, D2, D4 i D5. Els raonaments exposats en el punt anterior són aplicables d’igual forma en aquest apartat. Cal ressaltar l’ús de l’integrat LM7915 (U4) que és el complementari del LM7815. En aquest cas el condensador de filtratge d’entrada es format pels condensadors C1 i C2. La resta de condensadors realitzen la mateixa funció que en el punt anterior. La sortida de +15 volts està connectada al terminal 1 de la regleta de sortida. En el terminal 3 es troba la tensió negativa de –15 volts. La massa està connectada al terminal 2 i a la toma mitja del transformador. S’ha d’apreciar que en la tensió de +15 volts s’han unit, en paral· lel, dos integrats iguals (U2 i U3), d’aquesta forma s’aconsegueix el doble de corrent per a la seva sortida. Si un sol integrat pot proporcionar 1.5A, amb aquesta unió aconseguim 3A. La diferència de consum en aquesta línia, en respecte les altres, es deu a que alimenta la part de potència i fonts de corrent de les plaques dels sensors. En l’entrada dels integrats U2 i U3 hi ha una tensió de 20 volts, i en l’entrada de l’integrat U4 hi ha una tensió de –20 volts. Això s’aconsegueix amb el transformador de toma mitja explicat en el punt anterior. Per evitar escalfaments en els integrat es aconsellable d’introduir dissipadors de Rth 4K/W.

Page 74: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

68

1.4 Incidències i resolució de problemes 1.4.1 Placa CPU Primer de tot hem de dir que aquesta placa s’ha muntat en dues ocasions. La diferència entre les dues és que en la segona es va incloure un Buffer al bus de dades que anava als dispositius d’entrada i sortida. Al primer disseny aquest dispositiu no es va implementar. El motiu d’aquest canvi s’entendrà un cop llegit aquest apartat. · Problema 1 Per tal de comprovar el correcte funcionament d’aquesta placa, es va fer ús de l’únic emulador del 80C188XL, que disposava a la facultat. Aquest emulador va ser dissenyat per uns alumnes de la facultat com a projecte final de carrera. Per familiaritzar-nos amb ell, es va voler muntar en un dels ordinadors de la facultat disponible per als projectants. L’emulador disposa d’una placa de comunicació que va connectada a un dels Slots ISA de què disposa un PC. Aquesta placa de comunicació es connecta a la placa de l’emulador, a través d’un cable de cinta pla, i aquesta placa es connecta a la placa on hauria d’anar el microprocessador, a través d’un cable de cinta pla a un adaptador per a un sòcol PLCC de 68 pius (sòcol del micro). Es va muntar la tarja de comunicacions al PC que se'ns va ser assignat, i aquesta a l’emulador. Es va instal· lar el software de control i es va executar el programa d’exemple de què disposa l’emulador. Al intentar executar el programa d’emulació, aquest donava un error en la comunicació. Es varen repassar les connexions i la configuració de les targes, tant a nivell de hardware com a nivell de software. Després de comprovar que no hi havia cap error, es va tornar a intentar executar el programa i aquest va donar el mateix error. Després de varis intents infructuosos, es va decidir canviar la placa de comunicacions de slot del PC. El resultat va ser negatiu en tots els intents. Es va demanar permís als responsables dels laboratoris per canviar la placa de comunicacions a un altre ordinador. Ens van concedir el permís i es va canviar de PC la targeta. Es va tornar a instal· lar el software i a configurar tot de nou. Es va executar el programa en diverses ocasions, donant un resultat negatiu en totes elles. A partir d’aquest moment es va pensar en la possibilitat de què el problema pogués ser o bé de la placa de comunicacions o de la pròpia tarja de l’emulador. Es va decidir de posar-se en contacte amb els alumnes que van realitzar el projecte de l’emulador i explicar-los els problemes. Ells van anar personalment al laboratori i ens van ajudar en tot el procés de muntatge, instal· lació de software, configuració i execució del programa emulador, però l’emulador continuava donant el mateix error de comunicació. El següent pas va ser comprovar si la targeta de comunicació funcionava o no. Vàrem rebre autorització per tal de canviar les PIES (80C255) de la placa de comunicació i de la placa emuladora per unes de noves, per si el problema venia d’aquests integrats, ja que els propis creadors de l’emulador van informar-nos de què van tenir problemes amb aquests integrats i el programa els donava el mateix error de comunicació. Però al efectuar aquest canvi, l’emulador continuava donant el mateix problema. El següent pas va ser escriure un petit programa en llenguatge ensamblador, utilitzant el programa DEBUGGER del sistema operatiu MS-DOS, el qual accedia directament a la PIA de la tarja de comunicacions i comprovava el seu funcionament. El resultat d’aquest experiment va ser satisfactori i, la conclusió que es va treure va ser que el problema no venia de la tarja de comunicacions. A partir d’aquí pensarem que el problema es podia centrar en la pròpia placa de l’emulador. Es va portar aquesta placa a casa dels seus projectants per provar-la ja que ells tenien instal· lada en el seu ordinador una tarja de comunicacions igual. Es va crear un petit programa per provar l’emulador i la tarja

Page 75: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

69

emuladora va funcionar perfectament. Aquest mateix programa el vàrem portar al laboratori de la facultat i al intentar executar-lo en l’emulador aquest no va funcionar (continuava donant el mateix problema de comunicació). Es va plantejar el problema als responsables dels laboratoris i aquests es van oferir a ajudar-nos a tornar a reinstal· lar-ho tot un altre cop. Però la tarja continuava sense poder comunicar-se amb el PC. Això es va provar de fer en diversos PC’s del laboratori, i no vàrem ser capaços de fer-lo funcionar. · Solució Problema 1 El següent pas, ja que en la casa del projectants va funcionar l’emulador, va ser demanar permís per poder portar el material de l’emulador a la nostra pròpia casa. Vàrem muntar l’emulador al nostre PC i la tarja de comunicació i la placa de l’emulador varen funcionar perfectament. Llavors demanarem de poder tenir l’emulador a casa fins a finalitzar el projecte, i ens el van concedir. A partir d’aquí vàrem provar l’emulador, sense connectar-lo a la nostra placa del micro, per a familiaritzar-nos amb ell, i no va sorgir cap problema. · Problema 2 Un cop familiaritzats amb el funcionament de l’emulador i amb la programació del micro, es va passar a la fase de connectar-lo a la placa del micro. Es va realitzar un petit programa que accedia a les PIES de la nostra placa i escrivia diferents valors. Es varen repassar les connexions (alimentació, la connexió de l’emulador a la placa del micro i a la placa de comunicacions al PC) i un cop comprovat tot es va executar el programa emulador. Per depurar la nostra placa del micro es va executar el programa de prova pas a pas, per poder comprovar el valor dels registres interns del microprocessador. Vam comprovar que al accedir a les PIES per escriure uns valors determinats als seus ports, no es veien reflexats aquests valors. El següent pas va ser comprovar el programa per verificar que les adreces eren les correctes i que programàvem correctament la PIA. Però aquest no era el problema ja que tot el codi era correcte. Seguidament vàrem comprovar la continuïtat de les pistes, de les soldadures de la placa i dels senyals del micro provinents de l’emulador, però totes les pistes estaven correctes. Es va decidir de canviar els Chips de les PIES per si estaven malmeses, però seguien sense funcionar. El següent que vàrem sospitar fou que el senyal de Chip Select de la PIA no arribés correctament. Per a comprovar-ho es va realitzar un muntatge amb un Flip-flop (74HC74) que canviava d’estat cada cop que s’enviava un senyal de Chip Select a la PIA. L’esquema d’aquest muntatge és el que es mostra a continuació:

Figura 49

Q

D Q

C L KMicro

PIA

P C S 3 , 4 C S

D

R

Page 76: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

70

Fent aquest muntatge vàrem comprovar que els senyal de Chip Select es realitzava correctament. Un cop arribat aquest moment vam realitzar un altre muntatge per a comprovar el bus de dades i adreces que arribaven a la PIA. En aquesta prova es va utilitzar el senyal de Chip Select per capturar el bus de dades i adreces que arribaven a la PIA, mitjançant un Latch (74HC374) i dos Flip-flops(74HC74). El Latch era per capturar el bus de dades, mentre que els biestables servien per capturar els dos bits d’adreces que arribaven a la PIA. Els leds que es poden veure a la figura 50 servien per facilitar-nos la lectura d’aquests senyals. Gràcies a aquest muntatge ens vàrem adonar que les dades circulaven bé, mentre que les adreces no eren les correctes. Després de repassar les connexions del Latch d’adreces i comprovar que eren correctes, es va decidir canviar aquest dispositiu. Es va tornar a executar el programa de prova de les PIES i el muntatge va mostrar-nos que aquest cop, tant dades com adreces eren correctes. Per a comprovar el bon funcionament dels ports, el programa de prova, escrivia un valor a cada port i després el llegia. Vam comprovar que el valor s’escrivia correctament, però que a l’hora de capturar-lo no el llegíem bé. Sabíem que els valors s’escrivien correctament ja que ho comprovàvem mirant bit a bit el valor dels ports mitjançant un multímetre (i el valor llegit de cada bit era l’esperat), i el valor de lectura era incorrecte ja que en el registre intern del micro destinat a realitzar la lectura, ens donava un valor que no era l’esperat. Aquesta prova es va realitzar als tres ports de cada una de les dues PIES, i escrivint diferents valors en cada un dels ports.

Figura 50

Q

D Q

CLK

MicroPIA

PCS3,4 CS

4k7

Q

D Q

CLK

4k7

LATCH

BUS MICRO

A0

A1

LATCHDADES

4k7

CLK

A1A0

Page 77: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

71

Vàrem pensar en la possibilitat d’incloure un Buffer en el bus de dades de la nostra placa per si els senyals no tenien prou força com per ser correctament llegits per l’emulador. Va ser en aquest moment quan es va inspeccionar la placa de l’emulador per veure si hi havia implementat un Buffer en el bus de dades; per comprovar com s’havia realitzat el muntatge. Es va observar que, efectivament n’hi havia un. Mirant les seves connexions, vàrem veure que el seu Buffer s’activava a cada cicle de lectura o d’escriptura. L’esquema de la seva connexió és el següent:

Figura 51

Mirant la figura 51 es pot entendre la causa del problema de lectura. A l’hora de realitzar un cicle d’escriptura les dades circulen en el sentit del micro emulador cap a la resta de dispositius (dispositius de l’emulador i placa del micro), fins aquí no hi trobem cap problema. El problema es presenta a l’hora de realitzar un cicle de lectura ja que les dades que provenen de la placa del micro xoquen amb les dades que força el Buffer. Com que les dades del Buffer tenen més força i estan més a prop del micro que les que provenen dels nostres dispositius, aquestes se superposen a les nostres. · Solució Problema 2 Després d’observar l’emulador més atentament vàrem arribar a la conclusió de què el Buffer no era imprescindible pel seu correcte funcionament. Per solventar el problema es va extreure el Buffer i es van pontejar les seves entrades i sortides. Abans de continuar amb les proves de la placa del micro, es va comprovar que l’emulador continuava funcionant correctament després d’haver fet aquest canvi. Es va connectar l’emulador a la placa del micro i es va tornar a executar el programa de prova de les PIES. Continuava donant problemes a l’hora de llegir, però en aquest cas sempre es llegia el valor 00H. El següent canvi fou realitzar les modificacions necessàries sobre la placa del micro per incloure el Buffer al bus de dades (veure figura 2). Després d’aquest últim canvi la comunicació amb les PIES va funcionar en els dos sentits (lectura i escriptura). · Problema 3 El següent dispositiu a comprovar en la placa del micro va ser la UART (comunicació sèrie). Es va realitzar un programa en assembler per transmetre i per rebre caràcters a través de la UART. Per altra banda es va realitzar un altre programa en Visual Basic que realitzava les mateixes funcions i que s’executava sobre el COM2 del PC. Es varen

M I C R OE M U L A D O R

BUFFER

DISPOSITIUSPLACA

E M U L A D O R

P L A C A M I C R O

D E N

DT/R

Page 78: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

72

transmetre alguns caràcters del PC cap a la placa del micro i del micro al PC. Com que els resultats varen ser bons, per a continuar amb les proves, es va repetir la placa amb els nous canvis ja que aquesta placa estava malmesa degut a totes les modificacions. En la nova placa vàrem comprovar el seu bon funcionament. 1.4.2 Placa de conversió de digital a analògic Aquesta placa es va muntar dos cops degut a un problema detectat en l’ensamblatge dels Sample and Hold en la primera. Un cop soldats els component de la placa es va passar a la fase de comprovació. Aquesta placa per al seu funcionament ha de ser controlada per la placa del microprocessador, però com que en aquell moment no es disposava d’aquesta placa es va optar per insertar manualment els senyals de control que hi havien d’arribar, la qual cosa es va realitzar amb un dels entrenadors lògics de què es disposa a la facultat. Aquestes proves van consistir en forçar a l’entrada del conversor una dada digital, convertir-la emprant els senyals de control i adreçar-la als diferents Sample and hold. Es van comprovar les tensions a les sortides del conversor i del multiplexor analògic. També es varen verificar els diferents senyals de control. El temporitzdor NE555 no es va poder comprovar a la mateixa placa ja que el senyal de TRIGGER (que dispara el pols de sortida) al haver de ser introduït manualment la seva durada era molt superior a la durada del pols que havia de generar el Timer, amb la qual cosa no es podia comprovar el seu correcte funcionament. Es va optar per realitzar el muntatge del temporitzador en placa protoboard i introduir un pols de Trigger de durada suficientment petita, mitjançant un generador de funcions. Es va visualitzar el seu pols de sortida mitjançant un oscil· loscopi i vàrem verificar que la seva durada era la desitjada ( 200µs). Com que els senyals de control es van introduir manualment (el temps de durada de cada senyal era relativament gran) era indiferent la presència o no del temporitzador, ja que la durada del seu pols de sortida era equiparable a la durada del temps dels senyals de control introduïts manualment. El temps de Sample, per tant, no era de 200µs, sinó que era molt superior (temps en què es mantenia manualment un senyal de control actiu). Això no implica cap inconvenient ja que com més temps se li doni al LF398 millor podrà capturar la tensió a retenir. · Problema A l’hora de comprovar les tensions en les sortides del Sample and Hold, la majoria d’ells no retenien el valor de la tensió. Durant uns dies es van realitzar proves per esbrinar el problema. Aquestes proves varen consistir en verificar el traçat del PCB al voltant de cada LF398 i comparant-lo amb el circuit típic d’aplicació d’aquest integrat. Es va comprovar que els circuits estaven ben dissenyats. La següent prova va consistir en treure els diferents integrats de la placa per veure si influenciaven en el LF398. No es va apreciar cap canvi, amb la qual cosa el problema no era degut a cap influència dels integrats. La següent fase va consistir en anar tallant les pistes que arribaven a l’integrat: · La primera en tallar va ser la pista del senyal analògic (que és per on entra el senyal a guardar), i introduirem el senyal directament al Sample and Hold emprant una font de tensió. No es va apreciar cap millora.

Page 79: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

73

· La següent pista fou el senyal que mostreja o reté la tensió d’entrada. Introduíem aquest senyal de control directament des de l’entrenador lògic. Això no va donar cap resultat positiu. · Per últim vàrem tallar les alimentacions del LF398 i es va alimentar directament des de la font d’alimentació mitjançant dos cables. Tampoc es va resoldre el problema. El següent pas va consistir en canviar el condensador electrolític de 0.1µF per un altre de MKT de 100nF, ja que el condensador és més sensible a la temperatura i es temia que s’hagués corromput durant el procés de soldatge. Però el Sample and Hold seguia sense retenir la tensió d’entrada. Al veure que no hi havia cap altre error es va pensar que possiblement el problema venia del propi integrat. Es va treure del sòcol de la placa i es va fer el mateix muntatge sobre placa protoboard. Aquest muntatge va funcionar perfectament tant amb un condensador electrolític, com amb un MKT. Això ens va fer sospitar que el condensador es descarregava a causa d’uns corrents de fugues. Com que els bornes del condensador no anaven a cap altre lloc més que a dos pius del LF398, aquestes fugues havien de produir-se en aquestes connexions, ja que si s’haguessin produït a través de l’integrat, el muntatge sobre protoboard tampoc hagués funcionat. Un cop, tant el condensador com l’integrat LF398, es van desconnectar de la placa es va mesurar l’impedància que hi havia entre aquestes connexions mitjançant un multímetre, el qual va donar una lectura d’impedància al voltant de 1.3MΩ. Aquesta impedància paràsita paral· lela al condensador era la causa de què no es retingués la tensió a la sortida (el condensador es descarregava a través d’aquesta impedància). Un petit càlcul mostra que el temps de descàrrega era molt petit en comparació al que havia de ser: sFMCR 13.01.03.1 =∗Ω=∗= µτ (1) · Solució Problema Es va observar que la zona al voltant del LF398, del condensador i, en definitiva, en qualsevol punt on hagués una soldadura tenia un to brillant. Aquest era degut a la pasta de soldar emprada per muntar la placa, la qual entre pius consecutius s’unia i creava una impedància paràsita. Per assegurar que aquest era la font del problema, es va netejar la superfície de la placa i es va tornar a muntar l’integrat i el condensador. Aquest cop el Sample and Hold va retenir la tensió a la seva sortida. Com la placa no estava en condicions per realitzar més proves, es va repetir. Aquesta segona placa està muntada, però no s’ha realitzat cap prova sobre el seu funcionament. 1.4.3 Placa de conversió d’analògic a digital Igualment que la placa D/A, aquesta es va haver de provar introduint els senyals manualment, a través d’un entrenador lògic, degut a què la placa del microprocessador no estava implementada quan aquesta es va provar. Aquesta placa també s’ha hagut d’implementar dues vegades, per corregir certs errors comesos en el primer disseny.

Page 80: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

74

Per provar la placa es van ficar una sèrie de tensions diferencials a les entrades dels multiplexors. Per simular les entrades ADRE i ADWE, es van utilitzar dos interruptors que donaven 5 i 0V, els quals eren activats manualment. En les primeres proves es varen observar diversos Problemes: · El conversor no convertia, encara que li donéssim l’ordre de convertir a través del senyal ADWE (recordem que aquest senyal era per determinar el canal a mostrejar i per donar l’ordre de conversió). Un repàs a la circuiteria de la placa ens va mostrar que era degut a una errada de disseny del PCB. · La solució a aquest problema va ser tallar la pista errònia i portar-la al lloc on havia d’haver anat. La circuiteria de selecció del canal va funcionar perfectament. · El valor digital que donava el conversor, no era l’esperat. Es va mesurar la tensió que hi havia a l’entrada del conversor i es va veure que no era el que s’esperava. Es va anar canviant de canal, però en cap cas, arribava la tensió que devia al conversor. S’ha de comentar que en el primer muntatge, l’amplificador d’instrumentació no es va realitzar a partir d’amplificadors operacionals, sinó que es va utilitzar un integrat específic per realitzar aquesta funció, que era el INA111AP. El que es va fer va ser extreure l’amplificador i aplicar una tensió directament a l’entrada del conversor. En aquest cas sí que la conversió es va realitzar correctament. Fins i tot es va simular la realització de dos cicles de lectura consecutius per llegir la part baixa i alta de la dada convertida i es va comprovar que s’intercanviaven de lloc entre una lectura i una altra. Es va provar l’amplificador d’instrumentació en una placa protoboard, per intentar determinar si el seu funcionament era correcte o no, i es va comprovar que aquest no era satisfactori (el guany que donava no era l’esperat en funció de la resistència RG i, a més, aquest guany depenia del valor de la tensió d’entrada). Es va provar de muntar sobre protoboard un amplificador d’instrumentació a partir d’amplificadors operacionals i resistències i el seu funcionament va ser perfecte. · La solució va ser repetir la placa, amb els canvis pertinents, fets. Un cop es va muntar la segona placa ja es va disposar de la placa del microprocessador. Les proves que es van realitzar d’aquesta placa es van fer a través de l’emulador i de la placa CPU. Igual que en el primer muntatge, per provar aquesta, es van aplicar una sèrie de tensions diferencials a les entrades dels multiplexors. · Problema 2 Les proves ens van mostrar el següent: · A través del programa que corria sota l’emulador érem capaços de seleccionar el canal correcte a mostrejar pel conversor. · A la sortida de l’amplificador d’instrumentació (i per tant, a l’entrada del conversor) el valor de tensió era l’esperat. · Si es realitzaven dues lectures consecutives, es llegien la part baixa i la part alta de la dada convertida.

Page 81: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

75

· La dada convertida no era la correcta. Es varen fer algunes proves com repassar les pistes de la placa, repassar les connexions amb la placa CPU i muntar el conversor sobre placa perforada, portant els senyals de control des de la placa de conversió fins al conversor a través de cables. Aquest experiment va mostrar que el conversor funcionava, ja que al llegir els bits de sortida, un a un, amb un multímetre, donava el valor digital esperat en funció de la tensió d’entrada que hi aplicàvem; però quan el conversor el muntàvem a la seva placa, no convertia bé. Es van repassar totes i cada una de les seves connexions i no es va detectar cap anormalitat. Per falta de temps, no s’ha pogut investigar més a fons sobre quina pot ser la causa del problema en la conversió.

Page 82: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria descriptiva

76

1.5 Conclusions En principi aquest projecte hauria d’haver arribat més lluny, però a causa de diferents problemes no s’ha pogut concloure. El principal problema ha estat la restricció a l’hora d’escollir el microprocessador. Degut a que la facultat sols disposava d’un emulador per a un micro 80C188 el disseny es va haver d’adaptar a aquest microprocessador, quan en el mercat existeixen una àmplia varietat de microprocessadors i microcontroladors amb característiques que els feien molt més adient per a utilitzar-los en aquest projecte. La tasca següent que s’haurà de dur a terme serà la de comprovar i modificar les plaques de conversió A_D i de conversió D_A fins que aquestes funcionin amb la placa de la CPU. S’ha de comprovar el funcionament de la placa dels sensors, la qual no ha pogut ser testada encara. S’hauran de dissenyar i muntar la placa de distribució dels sensors, la placa de la font d’alimentació i la placa del Display LCD i del teclat hexadecimal. També s’haurà de dissenyar i muntar la carcassa on aniran totes les plaques del projecte. S’haurà de fer la programació de la xarxa neuronal, del control del Display i del teclat, la comunicació sèrie, l’adquisició de les dades de la placa A_D, del control dels Heaters a través de la placa D_A, del menú que gestionarà el funcionament del nas i del programa del PC que entrenarà la xarxa neuronal. Els llistats dels programes que apareixen en aquest projecte, s’han realitzat per a comprovar el funcionament de les diferents plaques que formen el projecte. Aquests programes poden servir de guia per a la realització del software definitiu.

Tarragona a 14 de Juny de 2001

Jesús Ferrando Herranz Enginyer Tècnic Industrial

Julian Del Hallazgo Arasa Enginyer Tècnic Industrial

Page 83: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

77

2 Memòria de Càlcul

Page 84: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

78

Memòria de Càlcul. 2.1 Placa CPU 2.1.1 Circuit del reset del microprocessador Per a generar el circuit del reset, s’ha implementat la xarxa típica que es mostra a continuació:

Figura 52

El fabricant recomana uns valors de R1 i CS1 de 50KÙ i 1 ìF respectivament, que dóna una constant de temps de 50ms. S’ha optat per implementar un circuit amb una constant de temps del doble (100ms), per tal d’assegurar que el reset es realitza correctament. Per aconseguir aquesta constant de temps s’han escollit un valor de R1 de 33KÙ i s’ha calculat un valor de CS1 de:

FKms

RCSCSR µττ 3.3

33100

1111 ≈

Ω==→⋅=

2.1.2 Connector Display i teclat La màxima capacitat de corrent dels pius dels ports de les PIES és de 2.5mA. Per això en qualsevol disseny s’ha de delimitar aquest valor. En el procés de lectura del teclat, es fa necessari forçar unes entrades a “1”, per això estan connectades a Vdd (5Volts). Aquesta connexió no es pot realitzar directament ja que al polsar una tecla es curtcicuitaria Vdd amb uns pius on hi ha escrits “0”. Les resistències eviten el curtcircuit, limitant el corrent. Un valor de corrent acceptable seria de 1mA. Per tant les resistències de Pull-Up han de tenir un valor de:

Ω≈== 7415

KmAV

IV

R (2)

Vdd=5V

Pulsador del reset Reset al micro

R1

33Kohm

CS1

3.3uF

+

D11N4148

Page 85: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

79

La connexió de les resistències de Pull-Up es la mostrada en la figura següent:

Figura 53

2.1.3 Max232 Els condensadors emprats per a configurar aquest integrat (U13) han estat els recomanats pel propi fabricant i es mostren en la figura següent:

Figura 54

On C1, C2, C3 i C4 valem 1ìF i C_U13 val 10ìF.

Vdd=5V

PIA2

U11

82C

55

D034

D133

D232

D331

D430

D529

D628

D727

RD5

WR36

A09

A18

RESET35

CS6

PA0 4

PA1 3

PA2 2

PA3 1

PA4 40

PA5 39

PA6 38

PA7 37

PB0 18

PB1 19

PB2 20

PB3 21

PB4 22

PB5 23

PB6 24

PB7 25

PC0 14

PC1 15

PC2 16

PC3 17

PC4 13

PC5 12

PC6 11

PC7 10

VCC26

GND7

4K7

J6

CON8

12345678

Vcc = 5v

Sin

Sout

C_U13

10uF

+

P1

CONNECTOR SERIE

594837261

U13

MAX

232

T1 IN11

T1 OUT14

R1 IN13

R1 OUT12

C1+1

C1-3

T2 IN10

T2 OUT7

R2 IN8 R2 OUT 9

C2+4

C2-5

V+ 2

V-6

GN

D15

VCC

16

C41uF+

C11uF

+

C31uF

+

C2

1uF

+

Page 86: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

80

2.1.4 Oscil· lador de la UART Per al bon funcionament de la UART (U12) s’ha d’incloure un oscil· lador. L’oscil· lador emprat és el recomanat pel fabricant, i apareix als muntatges d’aplicacions de les fulles d’especificacions. El valor del cristall és de 1.8432MHz. L’esquema de connexió apareix en la figura següent i també és el que apareix en els muntatges d’aplicació:

Figura 55

2.1.5 Oscil· lador del microprocessador La seva connexió és la típica. En aquest cas la freqüència de l’oscil· lador del micro és de 20MHz ja que és el valor d’oscil· lació en el que el model del micro escollit funciona. La seva connexió al microprocessador és la mostrada en la figura següent:

Figura 56

Vcc = 5v

Piu 18 (U12)

U17

1.8432MHz

13

24

Vcc = 5v

Piu 59 (U5)

U16

20MHz

13

24

Page 87: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

81

2.2 Placa de conversió de digital a analògic 2.2.1 Reset del biestable Interessa conèixer l’estat inicial de la sortida del biestable per saber en quina escriptura estem (primera o bé segona). Per això s’ha implementat una xarxa RC en l’entrada CL (Clear) del biestable. D’aquesta manera al engegar la placa apareix un zero en aquesta entrada, i això causa un “0” en la sortida del biestable. Per implementar aquesta xarxa s’ha copiat el mateix model del circuit del reset del microprocessador. El valor de R6 és de 33KÙ i el valor de C45 és de 3.3ìF. La figura següent mostra aquests valors:

Figura 57

2.2.2 Temporitzador NE555 Aquest dispositiu serveix per provocar un retard de 200ìs. Aquest retard s’aconsegueix mitjançant una xarxa RC. En el nostre circuit aquesta xarxa es formada per R5 i C47. Seguint les especificacions del fabricant tenim que aquest retard depèn de la funció:

4751.1 CRT ⋅⋅= (3)

T = temps del retard, que és de 200ìs. Si agafem un valor de capacitat de 47nF i aïllem R5 de la formula (2) llavors queda el valor de R5:

Ω≈⋅

=⋅

= 93471.1

200471.1

5 KnFs

CT

El valor de C46 està especificat pel fabricant i és de C46 = 10nF.

Vdd = 5v

R64K7ohm

U10A

74HC74

D2

CLK3

Q5

Q6

PR

4C

L1

C453.3u

+

Page 88: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

82

L’esquema que mostra les connexions i els valors anteriorment exposats és el següent:

Figura 58

2.2.3 Divisor de tensió en l’amplificador operacional L’amplificador operacional U4 serveix per adaptar les tensions de les adreces que van cap al multiplexor U12 de 5 volts a 15 volts. Se li ha d’introduir una tensió de referència de 2.5 volts a cada entrada V- de cada un dels 4 operacionals de que disposa aquest integrat. Per a valors superiors en l’entrada V+ de cada operacional, aquest traurà un valor de 15 volts, i per valors inferiors a 2.5 volts, traurà 0 volts. Per aconseguir aquests 2.5 volts s’ha emprat un divisor de tensió amb les resistències R3, R4 i la alimentació de 5 volts. La fórmula del divisor de tensió és:

544RR

RVVout +

⋅= (4)

essent Vout la tensió que volem (2.5 volts) i V la tensió d’alimentació. Si fixem un valor de R4 de 10KÙ i aïllem de la fórmula (3) el valor de R5, traurem que aquesta resistència ha de valer:

Ω=⋅Ω=−⋅Ω=−

⋅= KKKV

VVRR

out

out 105.25.2

105.2

5.251045

Vdd= 5V

C4747nF

U11

NE555

TR2

CV5

Q 3

DIS7

THR6

R4

VC

C8

GN

D1C4610nF

R53K9ohm

Page 89: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

83

2.2.4 Configuració del conversor AD669 Per a realitzar la configuració unipolar del conversor s’han emprat les resistències que recomanava el fabricant. Aquest muntatge es pot apreciar als circuits d’aplicació que apareixen en l’informació tècnica de l’integrat. Tant la resistència R1 com la resistència R2 tenen un valor de 50Ù. La figura següent mostra aquesta connexió:

Figura 59

2.2.5 Condensador del Sample and Hold El valor de la capacitat del càrrega dels Sample and Hold és de 0.1ìF. Aquest valor s’ha escollit observant les corbes dels temps de càrrega i descàrrega que apareixen descrits en els fulls d’especificacions que proporciona el propi fabricant. Amb aquest valor el temps de càrrega és de 100ìs i amb una precisió del 1% i es pot apreciar en la següent gràfica:

Figura 60

Ref OUT

Ref IN

R2

50ohm

U7

Vll

3

DGND4

AGND24

L1!5 CS!6

LDAC23

DB022

DB121

DB220

DB319

DB418

DB517

DB616

DB715

DB814

DB913

DB1012

DB1111

DB1210

DB139

DB148

DB157

SPAN 26

Vout 25

Ref In27

Ref Out28

R150ohm

0.10.010.0011000

100

10

1

Capacitat (uF)

Temps (us)

1%

0.1%

0.01%

Temps d'adquisició

Page 90: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

84

2.3 Placa de conversió d’analògic a digital 2.3.1 Amplificador d’instrumentació Aquest és un muntatge típic d’amplificador d’instrumentació a partir d’amplificadors operacionals. Aquest muntatge està compost per dues etapes: la primera és la que dóna el guany a l’amplificador i a més és la que li dóna la gran impedància d’entrada característica d’un bon amplificador d’instrumentació. El guany desitjat per aquest amplificador és de 3. Aquest guany està en funció de les resistències R1, R2 i R3.

Figura 61

El guany es calcula amb la següent fórmula extreta del llibre Funcions electròniques (Ed. U.P.C.):

327272

1122

1 =Ω

Ω⋅+=⋅+=KK

RR

G (5)

Aquesta fórmula és vàlida si R3=R2. La segona etapa és un amplificador diferencial, que refereix la tensió diferencial de l’etapa anterior a massa i dóna a l’amplificador un gran factor de rebuig en mode comú (CMRR). Un bon amplificador d’instrumentació ha de complir que el seu CMRR sigui el més elevat possible. Aquest factor depèn de la precisió de les resistències de l’etapa diferencial. Així per unes resistències de tolerància de l’1% (suposant que les 4 que formen aquesta etapa són iguals) l’amplificador d’instrumentació té un CMRR d’uns 34dB com a mínim.

Vcc

Vcc

Vcc

Vee

VeeVee

U3A

LM324

+

-

3

21

411

U3BLM324

+

-

5

67

411

U3CLM324

+

-

10

98

411

R127K

R2

27K

R3

27K

R4

10K

R5

10K

R7

10K

R6

10K

MUX_1

MUX_2

CONV A/D

Page 91: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

85

Per calcular aquest valor s’ha emprat la següent fórmula, treta del llibre Funcions Electròniques (Ed. U.P.C.):

( ) dBKK

RR

CMRRmín 3450log2001,04

1010

1log20

4

1log20 5

7

==

+=

+=

δ(6)

On ä és la tolerància de les resistències emprades.

2.3.2 Multivibrador monoestable És l’encarregat de donar el pols de durada necessària perquè el conversor A/D converteixi la dada correctament. Segons les especificacions del conversor, aquest pols ha de tenir una durada mínima de 40ns. Per determinar l’amplada d’aquest pols, aquest integrat té uns pius als quals es connecten una resistència i un condensador. El valor d’aquestos determinaran aquesta amplada. Per l’amplada desitjada, el fabricant recomana deixar a l’aire l’entrada del condensador i posar una resistència de 2KÙ a l’altra entrada. Els valors comercials més propers de resistència, a 2KÙ, s ón 1K8Ù i 2K2Ù. S’ha optat per utilitzar aquest últim valor, ja que amb l’altre, el pols tindria una durada menor.

Figura 62

Vdd

U10A

74HC221

CEXT14

REXT/CEXT15

A1

B2

CLR3

Q13

Q4

VCC16

GND8

R8

2.2K

R/CADWE

Page 92: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

86

2.4 Placa de sensors 2.4.1 Fonts de corrent La font de corrent ha estat implementada amb un regulador de tensió LM317 per tenir una referència de tensió estable. L’esquema és el següent:

Figura 63

EL corrent que dóna la font, depèn dels sensor al qual hagi d’alimentar. La resistència que presenten els sensors, està en funció de la concentració del gas al qual són sensibles i, aquesta resistència disminueix amb aquesta concentració. Per tant, a l’hora d’assignar un corrent a cada sensor, ens fixarem en la resistència que presenten en repòs (RS màxima). La següent taula mostra com s’assignen els corrents a cada sensor en funció de la seva RS:

RS IS Entre 250kΩ i 2.5MΩ 1.25µA Entre 25kΩ i 250kΩ 12.5µA Entre 2.5kΩ i 25kΩ 125µA Entre 250Ω i 2.5kΩ 1.25mA

Taula 17

S’han d’implementar aquestes diferents escales per tal de no perdre precisió a l’hora de convertir la tensió que es genera als seus terminals. Així, per exemple, si tenim un sensor que tingui una RS de 300kΩ en repòs i suposem que amb la concentració del gas, aquesta resistència baixa dues dècades (RS’=3kΩ). La tensió que es generarà serà de:

VS = 3kΩ*1.25µA = 3.75mV (7) El guany de l’amplificador d’instrumentació de la placa A/D és de 3, per tant la tensió que arribarà a l’entrada del conversor serà de:

VinA/D = 3*3.75mV = 11.25mV (8)

Vcc = 15V

Vee = -15V

U1ATL082

+

-

3

21

84

U2LM317

VIN3

AD

J1

VOUT 2

RL

120R

RI

RS

Page 93: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

87

La resolució del conversor A/D és de:

Res(V) = 20/(216-1) = 305.18µV (9) I tenint en compte que l’error del conversor A/D és de ±1LSB, l’error relatiu màxim que es cometria en aquest cas seria de:

εR(%)=100*(305.18µV/11.25mV) = 2.7% (10) És un error molt petit, tenint en compte que és un cas molt desfavorable. El valor màxim de RS s’ha determinat per a cada escala de manera que el valor de tensió que li arribi al conversor, estigui dins del seu rang:

VinA/Dmàx = 3*1.25µA*2.5MΩ = 9.375V < 10V (11) Un cop establertes les diferents escales pels corrents, cal determinar el valor de RI necessari, perquè el muntatge la generi. El valor de RI es calcularà amb la fórmula:

RI = 1.25V/IS (12) El valor de 1.25V, és el que dóna el regulador LM317 com a tensió de referència. La següent taula mostra aquests valors de RI:

IS RI 1.25µA 1MΩ 12.5µA 100kΩ 125µA 10kΩ 1.25mA 1kΩ

Taula 18

És aconsellable utilitzar resistències del 0.1% per tal d’obtenir la màxima precisió. Si s’observa la figura de la pàgina anterior, s’observa que hi ha una resistència entre els terminals de referència i de sortida del regulador, de 120Ω. El fabricant informa de què per tal que el regulador funcioni correctament, el corrent de sortida ha de ser, com a mínim de 10mA. Aquesta resistència garanteix aquest corrent i, a més, no afecta al corrent de sortida de la font. La potència d’aquesta resistència ha de ser:

P = V2/R = 1.252/120Ω = 13mW ⇒ 1/4W (13) Un aspecte molt important a tenir en compte a l’hora de dissenyar una font de corrent és el de la seva impedància de sortida. Aquesta ha d’ésser el més elevada possible, per evitar que el corrent que genera la font sigui consumit per aquesta impedància. Per calcular-la, primerament s’ha de comentar que els elements que la determinen són: l’amplificador operacional que forma part de la font, el multiplexor analògic de la placa de conversió A/D i els amplificadors operacionals que formen l’amplificador d’instrumentació també a la placa A/D. Els amplificador operacionals emprats són: TL082 per la font de corrent i el

Page 94: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

88

TL084 per l’amplificador d’instrumentació. Són del tipus TL081, el qual té una impedància d’entrada de 1012Ω. El multiplexor analògic té una impedància de canal màxima de 350Ω. La següent figura és un esquema que explica com s’ha procedit per calcular aquesta impedància:

Figura 64

A l’amplificador d’instrumentació, es despreciarà la influència de les resistències que determinen el guany, enfront de la impedància dels A.O. Així, una aproximació a la impedància de sortida de la font de corrent seria:

Zout = Zin // (2*RON+2*Zin) ≈ Zin // 2*Zin = (2/3)*Zin ≈ 670GΩ (14) 2.4.2 Etapa de potència d’excitació dels heaters Aquesta etapa divideix per dos la tensió de referència que li arriba del conversor D/A i l’aplica al heater, subministrant el corrent necessari per tal que aquesta tensió es mantingui. El fabricant diu que la tensió màxima que s’ha d’aplicar al heater ha de ser de 5V, i la que ve del conversor serà de 10V màx.; és per això que es divideix per dos. La resistència que presenta el heater és de 38±3Ω (segons el fabricant). Per dimensionar l’etapa, es prendrà el pitjor cas, que és RH = 35Ω.

El corrent màxim que aquesta resistència exigirà serà de:

IH = 5V/35Ω = 143mA (15)

Com que l’amplificador operacional que fa de separador no pot donar aquest corrent, s’ha optat per muntar una etapa amb un transistor tal i com mostra la figura:

Zin A.O. Zin

Zin

RON

(MUX)

RON

IS

(MUX)

RS

IS

Zout

Page 95: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

89

Figura 65

El valor de la resistència RL es calcularà perquè no consumeixi més d’1/4 W. Així doncs, el seu valor serà de:

RL ≤ P/I2 = 0.25/(0.143)2 = 12.22Ω (16)

S’ha escollit un valor de RL de 10Ω, 1/4W.

La potència màxima que haurà de dissipar el transistor serà de:

PQ = (Vcc – (10Ω+35Ω)*IH)*IH (17)

DPQ/dIH = 15V – 2*IH*45Ω = 0 ⇒ IH = 166.67mA (18)

Com que aquest valor de corrent és superior al màxim que circularà, la potència màxima que dissiparà el transistor es produirà per IH = 143mA i serà:

PQ = (15 – (45Ω*0.143)*0.143 = 1.22 W

Valor que cau dins dels 8 W que el fabricant diu que pot dissipar aquest transistor. Un altre aspecte que s’ha de tenir en compte és que aquest transistor tingui el guany suficient com perquè l’A.O. pugui injectar-li per la base el corrent necessari per polaritzar-lo. El fabricant diu que el guany mínim del transistor és de 25. Així doncs, el corrent màxim que exigirà a l’A.O. serà de:

IA.O. = 143mA/25 = 5.72mA (19)

Pel tipus d’A.O. emprat, el fabricant no especifica quin és el valor màxim de corrent que pot arribar a donar, però fent una ullada a altres que poden considerar-se de semblants (TL071, TL031, ...) es pot estimar que pot arribar a donar uns 40mA. El consum màxim de tots els sensors d’una placa serà de:

Imàx = 4*0.143 mA= 0.572 mA (20)

Vcc = 15V

Vee = -15V

Vheater U1B

TL082

+

-

5

67

84

Q1BD139

RL10R

RH38R

R210k

R1

10k

P11k

Page 96: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

90

Si totes les plaques utilitzessin sensors del tipus TAGUSHI, el consum total de totes elles (tenint en compte només el que consumeixen els sensors) seria:

Itot = 14*0.143 mA = 2.002 A ≈ 2A (21)

És per aquest motiu que la font d’alimentació de +15V s’ha dimensionat perquè pugui donar fins a 3 A.

Page 97: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

91

2.5 Placa font alimentació D’aquesta placa sols s’ha realitzat l’estudi teòric. El valor dels components que la formen no s’han calculat, sinó que simplement s’han emprat els que recomana el fabricant. El valor dels components apareixen en l’esquema següent:

Figura 66

5V (màx 1.5A)

15V (màx 3A)

-15V (màx 1.5A)

GNDF1

6A

U1

ON/OFF

0 0

D1

1N4007

D2

1N4007

D3

1N4007

D4

1N4007

D5

1N4007

U3

LM781511

22

3 3

U4 LM7915

VI

GN

D VO

TR1

220Vac/20,0,20Vac

V1

220Vac, 50Hz

C14

100nF, 50V

C610uF, 50V

+

C2680uF, 50V

+ C5680uF, 50V

+

C4

680uF, 50V+

C12

1uF, 50V

C11

2200nF, 50V

C9

330nF, 50V

C10

100nF, 50V

C7

330nF, 50V

C8

100nF, 50V

BR1

B80 C 3200/2200

J1

CON4

1234

D61N4007

C1680uF, 50V

+

C13

330nF,50V

U5

LM780511

22

3 3

C32500uF,50V

+

U2

LM781511

22

3 3

Page 98: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

92

2.6 Programació Els llistats dels programes que es comenten a continuació es trobaran als Annexes. Aquests programes en assembler s’han compilat amb el programa Turbo Assembler V. 4.0 Borland International. 2.6.1 Temporitzador Configura el TIMER 2 utilitzant la interrupció del mateix comptador. El programa incrementa en una unitat cada segon el valor que es visualitza al port dels leds de la placa emuladora. Aquest programa serveix com exemple per a programar un temporitzador en cas de necessitat. En aquest programa s’utilitzen dos variables. La variable MSEC s’incrementa cada cop que s’executa la subrutina de servei a la interrupció del Timer, i la variable COMPTADOR que conté el valor a treure pel port dels leds i s’incrementa cada segon. La interrupció es dóna cada cop que el timer arriba al seu valor màxim de comptatge. Aquest valor és de 50000 (C350H) i fa que el temps de temporització sigui de 10ms. La freqüència del Timer és una quarta part de la freqüència de l’oscil· lador del microprocessador:

MHzMHzCLK

FTimer 54

204

===

Per tant el seu període serà de :

nsMHzF

TTimer

Timer 2005

11 ===

Si volem que temporitzi 10ms, el valor a carregar al registre de comparació del Timer 2 serà de:

HCns

msCMPAT 35050000

20010

2 ===

Es programa el Timer 2 per a que compti de forma contínua (es reinicialitza cada cop que acaba de comptar amb el valor màxim de comptatge anterior), i generi una interrupció al finalitzar cada comptatge. Per això es programa el registre de control del comptador T2CON amb el valor E001H. Per habilitar la interrupció d’aquest comptador es programa el registre TCUCON amb el valor de 00H i s’habilita el flag d’interrupcions en el registre PSW mitjançant la instrucció STI.

Page 99: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

93

A continuació es mostra el diagrama de fluxe d’aquest algoritme:

Figura 67

TEMP

DEFINICIO ADRECES

REGISTRES

DEFINICIO VARIABLES

INICIALITZACIO VARIABLES

CALCUL ADREÇA RSI

TIMER 2

INCIALITZACIO COMPTADOR

TIMER 2

CONFIGURACIO TIMER 2

HABILITAR INTERRUPCIONS

ESPERAR

RSI TIMER 2

SALVAR REGISTRES

MSEC > 99?

TREURE VARIABLE

COMPTADOR PELS LEDS

COMPTADOR++

EOI

RESTAURAR VECTORS

SORTIR

MSEC = 0

SI

NOMSEC ++

Page 100: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

94

2.6.2 Placa A/D Amb aquest algoritme s’accedeix a la placa de conversió analògic a digital. Es programa el registre PACS per a que l’espai d’entrada i sortida comenci a l’adreça 00H Es realitza un conversió i una lectura de les dades per als sensors 0, 1, 2 i 3. El diagrama de fluxe d’aquest programa és el següent:

Figura 68

A D

D E F I N I C I O A D R E C E S

R E G I S T R E S

D E F I N I C I O A D R E C E S S E N S O R S

P R O G R A M E M R E G I S T R E

P A C S

S E L E C C I O C A N A L

A N A L O G I C 0 I M O S T R E I G

L E C T U R A D E D A D E S

S E L E C C I O C A N A L

A N A L O G I C 3 I M O S T R E I G

L E C T U R A D E D A D E S

S O R T I R

Page 101: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

95

2.6.3 PIES Aquesta rutina serveix per comprovar el funcionament dels ports de les pies de la placa de la CPU. Es programen tots els ports per a que siguin sortides, s’escriu un valor a cada un d’ells i després es llegeix per a comprovar que s’ha escrit correctament. El diagrama de fluxe del programa és el següent:

Figura 69

PIES

DEFINICIO ADRECES

REGISTRES

DEFINICIO ADRECES

DELS PORTS

PROGRAMEM REGISTRE

PACS

PROGRAMAR ELS PORTS DE SORTIDA

ESCRIURE DADA PORT A DE PIA 1

LECTURA PORT A DE

PIA 1

ESCRIURE DADA PORT C DE PIA 2

LECTURA PORT C DE

PIA 2

Page 102: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

96

2.6.4 Comunicació sèrie La velocitat de comunicació emprada per als programes, és de 4800 bps. La trama és de 8 bits de dades, sense paritat i amb un bit d’STOP. · Programa del microprocessador En el microprocessador hi ha dos programes per a provar el funcionament de la comunicació sèrie. El programa SERIE_R serveix per a rebre els caràcters que el PC enviï. L’altre programa és el SERIE_T i serveix per a transmetre dades al PC. · SERIE_Rà Aquest programa espera fins que rep una dada, i després treu aquesta pel port dels leds de la placa de l’emulador. · SERIE_Tà El programa envia els caràcters de la ‘a’ fins la ‘z’ al PC i quan acaba, torna a començar. Els fluxogrames dels dos algoritmes anteriors apareixen en la figura següent:

Figura 70

SERIE_R

DEFINICIO ADRECES

REGISTRES

DEFINICIO VARIABLES

CONFIGURACIÓ UART

LLEGIR DADA

TREURE DADA PEL PORT DELS

LEDS

SERIE_T

DEFINICIO ADRECES

REGISTRES

INICIALITZAR DADA A ENVIAR

ENVIAR DADA

CONFIGURACIO UART

DADA REBUDA?

SI

NO

DEFINICIO VARIABLES

ULTIMA DADA?

SI

DADA SEGÜENT

NO

Page 103: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Memòria de Càlcul

97

· Programa PC Aquest codi s’executa des del PC, i tant serveix per enviar, com per a rebre dades. S’ha emprat el Visual Basic 6.0 com a eina de programació, ja que és un llenguatge visual fàcil d’utilitzar. Aquesta comunicació es realitza pel Comm 2 del PC. Disposa de 3 finestres. La primera finestra és Estado, que indica a l’usuari l’estat de la comunicació: “Espera”, “Enviant Dada Pel Port Sèrie”, “S’ha enviat la dada” i “Dada Rebuda”. La següent finestra és Output, en ella posem la dada que es vol enviar a la placa CPU i llavors es pitja el botó Enviar (el missatge que apareix a la barra d’estat és Enviant Dada Pel Port Sèrie). Un cop enviada, per la finestra Input apareix la dada que s’ha enviat, i a la finestra d’estat apareix el missatge S’ha enviat la dada. Quan es rep una dada provinent de la placa CPU, aquesta dada apareix a la finestra Input, i a la finestra d’estat apareix el missatge Dada Rebuda. El botó Sortir serveix per a tancar l’aplicació. La següent figura mostra la pantalla que l’usuari pot veure al executar el programa:

Figura 71

Tarragona a 14 de Juny de 2001

Jesús Ferrando Herranz Enginyer Tècnic Industrial

Julian Del Hallazgo Arasa Enginyer Tècnic Industrial

Page 104: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plànols

98

3 Plànols

Page 105: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plànols

99

3.1 Esquemes

Page 106: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plànols

106

3.2 Fotolits

Page 107: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plànols

115

3.3 Serigrafies components

Page 108: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Pressupost

120

4 Pressupost.

Page 109: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Pressupost

121

4.1 Quadre de Preus.

Page 110: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Pressupost

125

4.2 Amidaments

Page 111: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Pressupost

133

4.3 Aplicació de Preus

Page 112: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Pressupost

141

4.4 Pressupost

Page 113: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

144

5 Plec de Condicions

Page 114: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

145

Plec de Condicions. 5.1 Condicions generals 5.1.1 Introducció El present projecte desenvolupa la gestió de recursos necessaris per a l’adquisició i tractament de dades d’un nas electrònic autònom. Donada la condició de “Final de carrera” del projecte, les consideracions de tipus contractual posseeixen un caràcter de suposició. El present plec de Condicions té per objecte definir al contractista l’abast del treball i de la seva execució qualitativa. L’abast del treball del Contractista inclou el disseny i preparació de tots els plànols, diagrames, llista de material i requisits per l’adquisició i instal· lació del treball. 5.1.2 Reglaments i normes Totes les unitats d’obra s’executaran complint les prescripcions indicades als Reglaments de Seguretat i Normes Tècniques d’obligat compliment per aquest tipus d’instal· lacions, tant d’àmbit nacional, autonòmic com municipal, així com totes les altres establertes al projecte. S’adaptaran a més, a les presents condicions particulars que complementaran les indicades pels Reglaments i Normes citades. 5.1.3 Materials Tots els materials emprats seran de primera qualitat, compliran les especificacions i tindran les característiques indicades al projecte i a les normes tècniques generals. Tota especificació o característica de materials que figurin en un sol dels documents del Projecte, tot i que no figuri als altres, és igualment obligatòria. En cas d’existir contradicció o omissió als documents del projecte, el contractista obtindrà l’obligació de posar-ho de manifest al Tècnic Director de l’obra, qui decidirà sobre el particular. En cap cas podrà suplir la falta directament, sense l’autorització expressa. No es podran emprar materials que no hagin estat acceptats pel director Tècnic. 5.1.4 Execució del projecte Començament. El contractista donarà començament al projecte en el plaç que hi figuri al contracte establert amb la Propietat o, en el seu defecte, als quinze dies de l’adjudicació definitiva de l’obra.

Page 115: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

146

El contractista està obligat a notificar per escrit al Tècnic director la data d’inici dels treballs. Plaç d’execució. L’obra s’executarà en el plaç que s’estipuli al contracte subscrit amb la Propietat o en el seu defecte en el que figuri a les condicions d’aquest plec. Quan el ritme de treball establert pel contractista, no sigui el normal, o bé a petició d’una de les parts, es podrà convenir una programació d’inspeccions obligatòries d’acord amb el pla d’obra. Llibre d’ordres. El contractista disposarà durant la realització del projecte d’un Llibre d’Ordres en què s’escriuran les que el Tècnic Director estimi donar-li a través de l’encarregat o persona responsable, sense perjudici de les que doni per ofici quan ho cregui necessari i que tindrà l’obligació de signar l’assabentat. 5.1.5 Interpretació i desenvolupament El Director Tècnic és la persona a qui li correspon interpretar els documents del projecte, a ell se li ha de sotmetre qualsevol dubte, aclaració o contradicció que sorgeixi durant l’execució de l’obra, sempre amb la suficient antelació en funció de la importància de l’assumpte. El contractista es fa responsable de qualsevol error de l’execució motivat per la no consulta i conseqüentment haurà de refer a costa seva els treballs que corresponguin a la correcta interpretació del Projecte. El contractista ha de fer tot el necessari per la bona execució de l’obra, encara que no s’hagi expressat al projecte. El contractista ha de notificar per escrit o personalment al director d’obra, les dates en què quedaran preparades per inspecció, cadascuna de les parts del projecte o per aquelles que, totalment o parcialment hagin, posteriorment, de quedar ocultes. 5.1.6 Treballs complementaris El contractista ha de realitzar tots els treballs complementaris necessaris per executar el projecte tal i com estava previst, encara que en ell no figurin explícitament aquests treballs complementaris. Tot això sense variació de l’import contractat. 5.1.7 Modificacions El contractista està obligat a realitzar les variacions (ampliacions, reduccions o modificacions) del projecte sempre que aquestes no suposin una variació sobre el global projectat superior al 25%. Si el contractista, desitja realitzar alguna modificació, ho haurà de notificar per escrit al Tècnic Director, si es considera raonable i s’accepta, serà confirmada per escrit, així com les noves condicions econòmiques que mútuament s’acordin. Si l’anterior no es dóna com s’especifica, no s’acceptarà modificació alguna.

Page 116: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

147

La valoració es farà d’acord amb els valors establerts al pressupost pel Contractista i que ha estat près com a base del contracte. 5.1.8 Realització defectuosa Quan el contractista trobi qualsevol unitat de treball que no s’ajusti a l’especificat al projecte o en aquest Plec de Condicions, el Tècnic Director podrà acceptar-la o refusar-la, en el primer cas, aquest fixarà el preu que cregui just per arreglar les diferències que hi haguessin, estant obligat el Contractista a acatar aquesta valoració, en l’altre cas, es reconstruirà a expenses del Contractista la part mal executada sense que sigui motiu de reclamació econòmica o d’ampliació del plaç d’execució. 5.1.9 Mitjans auxiliars Seran de compte del Contractista tots els mitjans i màquines auxiliars que siguin precises per l’execució del projecte. En el seu ús estarà obligat a fer complir tots els Reglaments de Seguretat en el treball vigents i a utilitzar els mitjans de protecció als seus operaris. 5.1.10 Recepció del projecte Recepció provisional. Un cop acabats els treballs, tindrà lloc la recepció provisional i per això es practicarà en ells un detingut reconeixement pel Tècnic Director i la Propietat en presència del Contractista, aixecant acta i començant a córrer des d’aquell dia el plaç de garantia si es troben en estat d’ésser admesos. De no ser admesos es farà constar a l’acta i es donaran instruccions al Contractista per subsanar els defectes observats, fixant-se per tal un plaç, expirat el qual es procedirà a un nou reconeixement a fi de procedir a la recepció provisional. Plaç de garantia. El plaç de garantia serà com a mínim d’un any, comptant des de la data de recepció provisional, o bé el que s’estableixi al contracte també comptant des de la mateixa data. Durant aquest període queda a càrrec del Contractista la conservació del sistema i reparació dels desperfectes causats per mala construcció. Recepció definitiva. Es realitzarà després d’haver transcorregut el plaç de garantia d’igual forma que la provisional. A partir d’aquesta data acabarà l’obligació del Contractista de conservar i reparar a càrrec seu els desperfectes, si bé subsistiran les responsabilitats que hi pugui tenir per defectes i deficiències de causa dubtosa. 5.1.11 Responsabilitats El contractista és responsable de l’execució dels treballs com fixa el projecte i haurà de reconstruir tota part que no s’ajusti al programa, sense servir d’excusa la raó de què el director d’obra hagi examinat i reconegut l’obra. El contractista és l’únic responsable de les possibles errades comeses per ell o el seu personal, així com dels accidents o perjudicis produïts a la propietat, veïns o tercers a causa de la inexperiència o mètodes inadequats.

Page 117: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

148

El contractista és l’únic responsable de l’incompliment de les disposicions vigents en matèria laboral respecte del seu personal i, per tant, els accidents que poguessin sobrevindre i dels drets que d’ells se’n poguessin derivar. 5.1.12 Fiança Al contracte s’establirà la fiança que el contractista haurà de depositar en garantia del seu compliment, o es convindrà una retenció sobre els pagaments realitzats a compte del treball executat. De no estipular-se la fiança al contracte s’entén que s’adopta com a garantia una retenció del 5% sobre els pagaments a compte citats. En el cas de que el Contractista es negués a fer pel seu compte els treballs per ultimar el projecte en les condicions contractades, o a atendre la garantia, la Propietat podrà ordenar executar-les a un tercer, abonant el seu import amb càrrec a la retenció o fiança, sense perjudici de les accions legals a què tingui dret la Propietat si amb l’import de la fiança no hi hagués prou. La fiança retinguda s’abonarà al Contractista en un plaç no superior a trenta dies un cop signada l’acta de recepció definitiva de l’obra. 5.2 Condicions tècniques 5.2.1 Condicions de les plaques de C.I. Les plaques de circuit imprès hauran d’ésser dissenyades pel fabricant sota les següents normes: - Amplada de les pistes de senyal: 0.5 mm. - Amplada de les pistes alimentació: 2mm. - Els condensadors de desacoblament hauran d’anar situats el més a prop possible del piu

d’alimentació. - Dimensions dels taladres:

· 0.85 mm pels circuits integrats i components discrets. · 1 mm pels connectors. · 1.25 mm per les regletes. · 3 mm pels taladres de subjecció de la placa.

Totes les plaques un cop sortides de producció hauran d’ésser testades, de tal forma que l’índex d’errades en pistes, sigui inferior a l’1%. 5.2.2 Condicions dels components electrònics La premissa bàsica a seguir en la compra dels components electrònics, és buscar components de marques de reconegut prestigi i que posseeixin un índex de rebuig en producció, inferior al 20%.

Page 118: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

149

Així, per exemple, es recomana la utilització de components de la casa MOTOROLA o qualsevol de les seves subsidiàries (RCA. AMD) que fins avui han demostrat un molt alt grau de fiabilitat dels components subministrats. No es recomana recórrer sot cap concepte a les plèiades de fabricants d’Orient que han sorgit a Corea, Singapur, Malàsia, etc., ja que en anteriors produccions han posat de manifest un baixíssim grau de fiabilitat, donant-se el cas de trobar partides senceres de components que als 6 mesos de funcionament han fallat íntegrament. 5.2.3 Condicions del muntatge de plaques El muntatge de plaques haurà d’ésser realitzat per inserció automatitzada, ja que l’índex d’errors és pràcticament nul, no així quan es recorre al muntatge manual de components. La soldadura de les plaques ha d’ésser realitzada per onada, amb estany de bona qualitat, i un cop finalitzat el procés, les plaques han d’estar perfectament netejades amb algun producte específic basat en fluor, dels molts que hi ha disponibles al mercat. De cada partida de plaques produïdes, al menys 10 d’elles hauran d’ésser verificades en un forn a 40 graus centígrads i en funcionament de tal forma que se’ls proporcioni l’equivalent a 6 mesos de funcionament ininterromput durant les proves, sigui superior al 20%, la partida sencera haurà d’ésser retirada i substituïda per una de nova.

5.3 Condicions facultatives

5.3.1 Normes a seguir El disseny de la instal· lació elèctrica estarà d’acord amb les exigències o recomanacions exposades a l’última edició dels següents codis: - Reglament Electrotècnic de Baixa Tensió i Instruccions complementàries. - Normativa UNE. - Normativa DIN. - Pla nacional i ordenança general de Seguretat i Higiene al treball. - Normes de la Companyia Subministradora. - Publicacions del Comitè Electrotècnic Internacional (CEI). - Allò indicat en aquest plec de condicions amb preferència a tots els codis i normes. 5.3.2 Personal El Contractista tindrà al capdavant de l’obra un encarregat amb autoritat sobre els altres operaris i coneixements acreditats i suficients per l’execució del projecte. L’encarregat rebrà, complirà i transmetrà les instruccions i ordres del Tècnic Director de l’obra. El contractista tindrà el nombre i classe d’operaris que facin falta pel volumen i naturalesa dels treballs que es realitzin, els quals seran de reconeguda aptitud i experimentats en l’ofici. El Contractista estarà obligat a separar de la realització del projecte, a aquell

Page 119: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

150

personal que, a judici del Tècnic Director, no compleixi amb les seves obligacions, realitzi el treball defectuosament, bé per falta de coneixements o per obrar de mala fe. 5.3.3 Reconeixements i assajos previs Quan així sigui estimat oportú pel Tècnic Director, aquest podrà encarregar i ordenar l’anàlisi, assaig o comprovació dels materials, elements o instal· lacions, bé sigui a la fàbrica d’origen, laboratoris oficials o a la mateixa obra, segons cregui més convenient, encara que aquests no estiguin indicats en aquest plec. En el cas de discrepància, els assajos o proves s’efectuaran al laboratori oficial que el Tècnic Director d’obra designi. Les despeses ocasionades per aquestes proves i comprovacions, aniran a compte del Contractista. 5.3.4 Assajos Abans de la posada en servei del sistema elèctric, el Contractista haurà de fer els assajos adequats per provar, per la sencera satisfacció del Tècnic Director del projecte, que tot l’equip, aparells i cablejat han estat instal· lats correctament d’acord amb les normes establertes i estan en condicions satisfactòries pel seu funcionament. Tots els assajos seran presenciats per l’Enginyer que representa el Tècnic Director d’obra. Els resultats dels assajos seran passats en certificats indicant data i nom de la persona a càrrec de l’assaig, així com categoria professional. Els cables, abans de posar-se en funcionament, es sotmetran a un assaig de resistència d’aïllament entre fase i terra. 5.3.5 Assajos d’aparellatge Abans de posar l’aparellatge sota tensió, es mesurarà la resistència d’aïllament de cada equip entre fase i terra. Les mesures han de repetir-se amb els interruptors en posició de funcionament. Tot relé de protecció que sigui ajustable serà calibrat i assajat, fent servir un comptador de cicles, caixa de càrrega, amperímetre i voltímetre, segons es necessiti. Es disposarà, en la mesura del possible, d’un sistema de protecció selectiva. D’acord amb això, els relés de protecció s’escolliran i coordinaran per aconseguir un sistema que permeti actuar primer el dispositiu d’interrupció més proper a la falta. Tots els interruptors automàtics es col· locaran en posició de prova i cada interruptor serà tancat i disparat des del seu interruptor de control. Els interruptors hauran d’ésser disparats per accionament manual i aplicant corrent als relés de protecció. Es comprovaran tots els enclavaments.

Page 120: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

151

5.4 Condicions econòmiques

5.4.1 Preus El contractista presentarà, al formalitzar-se el contracte, relació dels preus de les unitats de treball que integren el projecte, els quals d’ésser acceptats tindran valor contractual i s’aplicaran a les possibles variacions que hi puguin haver. Aquests preus unitaris, s’entén que comprenen l’execució total de la unitat del projecte, incloent tots els treballs fins i tot els complementaris i els materials així com la part proporcional d’imposició fiscal, les càrregues laborals i altres despeses repercutibles. En cas d’haver de realitzar-se unitats de treball no previstes al projecte, es fixarà el seu preu entre el Tècnic Director i el Contractista abans d’iniciar la obra i es presentarà a la propietat per la seva acceptació o no. 5.4.2 Abonament del projecte El contracte s’haurà de deixar detalladament la forma i plaços en què s’abonaran les parts del projecte. Les liquidacions parcials que puguin establir-se tindran caràcter de documents provisionals a bon compte, subjecte a les certificacions que resultin de la liquidació final. No suposant, aquestes liquidacions, aprovació ni recepció de les obres que comprenen. Acabades les obres es procedirà a la liquidació final que s’efectuarà d’acord amb els criteris establerts al contracte. 5.4.3 Revisió de preus Al contracte s’establirà si el contractista té dret a revisió de preus i la fórmula a aplicar per calcular-la. En defecte d’aquesta última, s’aplicarà a judici del Tècnic Director algun dels criteris oficials acceptats. 5.4.4 Penalitzacions Per retràs en els plaços d’entrega de les obres, es podran establir taules de penalització i les seves quanties i demores es fixaran al contracte. 5.4.5 Contracte El contracte es formalitzarà mitjançant un document privat, que podrà elevar-se a escriptura a petició de qualsevol de les parts. Comprendrà l’adquisició de tots els materials, transport, mà d’obra, mitjans auxiliars per l’execució de l’obra projectada en el plaç estipulat, així com la reconstrucció de les unitats defectuoses, la realització de les obres complementàries i les derivades de les modificacions que s’introdueixin durant l’execució, aquestes últimes en els termes previstos. La totalitat dels documents que composen el Projecte tècnic de l’obra seran incorporats al contracte i tant el contractista com la Propietat hauran de signar-los en testimoni de qui els coneixen i accepten.

Page 121: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

152

5.4.6 Rescissió del contracte Causa de rescissió: Es consideren causes suficients per la rescissió del contracte les següents: 1- Mort o incapacitació del Contractista. 2- El trenc del contractista. 3- Modificació del projecte quan es produeixi alteració en més o menys el 25% del valor

contractat. 4- Modificació de les unitats d’obra en nombre superior al 40% de l’original. 5- La no iniciació dels treballs en el plaç estipulat quan sigui per causes alienes a la

propietat. 6- La suspensió de les obres ja iniciades sempre que el plaç de suspensió sigui superior a

6 mesos. 7- Incompliment de les condicions del Contracte quan impliqui mala fe. 8- Acabament del plaç d’execució de ‘obra sense haver arribat a completar aquesta. 9- Actuació de mala fe en l’execució dels treballs. 10- Delegar o subcontractar la totalitat o part dels treballs a tercers sense l’autorització del

Tècnic Director i de la propietat.

Page 122: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Plec de Condicions

153

5.4.7 Liquidació en cas de rescissió del contracte Sempre que es rescindeixi el contracte per causes anteriors o bé per acord d’ambdues parts, s’abonarà al Contractista les unitats del projecte executat i els materials arreplegats que reuneixin les condicions i siguin necessaris pel mateix. Quan es rescindeixi el contracte portarà implícit la retenció de la fiança per obtenir les possibles despeses de conservació del període de garantia i els derivats del manteniment fins la data de nova adjudicació.

Tarragona a 14 de Juny de 2001

Jesús Ferrando Herranz Enginyer Tècnic Industrial

Julian Del Hallazgo Arasa Enginyer Tècnic Industrial

Page 123: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

154

6 Annexes

Page 124: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

155

Annexes 6.1 Llistats dels programes 6.1.1 Programa Temporitzador ;Programa font TEMP.ASM ;Configuracio del timer 2 utilitzant la interrupcio del mateix ;timer, per controlar els leds de la placa emuladora ;La base de temps del timer agafant el CLK del micro es de CLK/4 (200ns) ;FUNCIO: Aquesta funcio programa el timer i l'interrupcio que genera ; el propi Timer 2 per generar una interrupci¢ cada 10 milisegons ; per implementar un comptador de segons ; ;NOTA: La frequencia del micro es de 20 MHz ; ; La frequencia del Timer 2 = 20MHz/4 ; = 5MHz ; = 200 nanosegons ; ; El valor a carregar per comptar 10 ms = 10ms/200ns ; = 50000 =(0C350H) TITLE Temporitzacio .model small .code .186 ;********** Definicio de @ de registre ************ PCB EQU 0FF00H TCUCON EQU PCB + 32H T2CNT EQU PCB + 60H T2CMPA EQU PCB + 62H T2CON EQU PCB + 66H IMASK EQU PCB + 28H EOI EQU PCB + 22H END_INTERRUP EQU 8000H TEMPS EQU 0C350H ;Temps que temporitza el Timer 2 ;50000 = 10ms ;********** Definicio de variables *********** DATA SEGMENT 'DATA' MSEC DW 0 ;Comptador de 10ms COMPTADOR DB 0 ;Inicialitzem la variable comptador a 0 DATA ENDS ;********************************************************* ;******** Codi del programa *************** ;********************************************************* CODI SEGMENT 'CODE' ASSUME CS:CODI

Page 125: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

156

ASSUME DS:DATA ORG 0H INICI: MOV MSEC,0000H ;Inicialitzem les variables MOV COMPTADOR,00H PUSH DS ;Calculem la direccio de la RSI al Timer 2 XOR AX,AX MOV DS,AX MOV SI,4CH MOV WORD PTR DS:[SI],OFFSET TIMER_2_INTERRUPT_ROUTINE INC SI INC SI MOV DS:[SI],CS POP DS ;***** Programem el Timer 2 ***** MOV DX,T2CNT ;Inicialitzem el comptador del Timer 2... XOR AX,AX OUT DX,AL ;... a zero MOV DX,T2CMPA ;Carreguem el temps que volem que... MOV AX,TEMPS OUT DX,AL ;...temporitzi. MOV DX,T2CON ; Configurem el timer per a que compti utilitzant MOV AX,0E001H ;el registre A, de forma continua, i generant una OUT DX,AL ;interrupcio al finalitzar el comptatge. ;***** Programem el registre TCUCON (Reg. Cont. Interrupcio Timer 2) ****** MOV DX,TCUCON XOR AX,AX ;Habilitem interrupcio Timer 2 OUT DX,AL STI ;Habilitem el flag de les interrupcions BUCLE: JMP SHORT BUCLE ;Esperem ;****************************************************************** ;******* SUBRUTINA DE SERVEI A LA INTERRUPCIO DEL TIMER 2 ******* ;****************************************************************** TIMER_2_INTERRUPT_ROUTINE PROC FAR PUSH DX PUSH AX CMP MSEC,0063H ;si ha passat 1 segons JAE TREURE_LEDS INC MSEC JMP SHORT SORTIR_INTERRUP TREURE_LEDS: MOV MSEC,0H ;Inicialitzem comptador de 10ms MOV AL,COMPTADOR OUT 1H,AL ;Treiem pels leds del port b el comptador INC COMPTADOR ;Nou valor

Page 126: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

157

SORTIR_INTERRUP: MOV DX,EOI ;Provoquem el End_Of_Interrupt MOV AX,END_INTERRUP OUT DX,AX POP AX ;Desapilem els valors utilitzats POP DX IRET ;Retornem de la subrutina TIMER_2_INTERRUPT_ROUTINE ENDP CODI ENDS END INICI

Page 127: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

158

6.1.2 Programa placa A/D ;Programa font AD.ASM ;Configuracio de la placa A_D ;FUNCIO: Escriptura i lectura en la placa A_D per a realitzar ; el mostreig de 4 sensors ; ;NOTA: Primer realitzem una escriptura per indicar quin sensor ; es vol llegir, i despres es realitzen dues lectures per ; a capturar la dada convertida ; TITLE Conversió A_D .model small .code .186 ;********** Definicio de @ de registre ************ PCB EQU 0FF00H PACS EQU 0FFA4H AD EQU 00080H S0 EQU 0000H ;Dada a escriure per seleccionar sensor 0 S1 EQU 0001H ;Dada a escriure per seleccionar sensor 1 S2 EQU 0002H ;Dada a escriure per seleccionar sensor 2 S3 EQU 0003H ;Dada a escriure per seleccionar sensor 3 ;********************************************************* ;******** Codi del programa *************** ;********************************************************* CODI SEGMENT 'CODE' ASSUME CS:CODI ORG 0H INICI: MOV DX,PACS MOV AX,003BH OUT DX,AL MOV DX,AD ; Seleccionem canal 0 MOV AX,S0 OUT DX,AL IN AL,DX ;Llegim part baixa IN AL,DX ;Llegim part alta MOV DX,AD ; Seleccionem canal 1 MOV AX,S1 OUT DX,AL IN AL,DX ;Llegim part baixa IN AL,DX ;Llegim part alta MOV DX,AD ; Seleccionem canal 2

Page 128: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

159

MOV AX,S2 OUT DX,AL IN AL,DX ;Llegim part baixa IN AL,DX ;Llegim part alta MOV DX,AD ; Seleccionem canal 3 MOV AX,S3 OUT DX,AL IN AL,DX ;Llegim part baixa IN AL,DX ;Llegim part alta CODI ENDS END INICI

Page 129: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

160

6.1.3 Programa PIES ;Programa font PIEs.ASM ;Configuracio de les Pies de la placa del micro ;FUNCIO: Programar les pies (8255) per escriure valors als ports ; i provar el bon funcionament del projecte; ; ;NOTA: Els periferics els accedim mitjan‡ant les linies de ; decodificaci¢ d'adreces PGSi! ; - PGS1 --> D/A --> @080H ; - PGS2 --> A/D --> @100H ; - PGS3 --> PIA1 --> @180H ; - PGS4 --> PIA2 --> @200H ; - PGS5 --> PIA SERIE --> @280H ; Configuraci¢ PIA 82C55: ; - @Base --> Port A ; - @Base+1 --> Port B ; - @Base+2 --> Port C ; - @Base+3 --> Registre de Control ; Registre de Control: ; 1 0 0 X X 0 X X --> Port C (Part Baixa) ; | | | 1 --> Input ; | | | 0 --> Output ; | | | ; | | |-----> Port B ; | | 1 --> Input ; | | 0 --> Output ; | | ; | |---------> Port C (Part Alta) ; | 1 --> Input ; | 0 --> Output ; | ; |-----------> Port A ; 1 --> Input ; 0 --> Output TITLE PIES .model small .code .186 ;********** Definicio de @ de registre ************ PCB EQU 0FF00H PACS EQU 0FFA4H PIA1_A EQU 00180H PIA1_B EQU 00181H PIA1_C EQU 00182H PIA1_CR EQU 00183H PIA2_A EQU 00200H PIA2_B EQU 00201H PIA2_C EQU 00202H PIA2_CR EQU 00203H

Page 130: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

161

;********************************************************* ;******** Codi del programa *************** ;********************************************************* CODI SEGMENT 'CODE' ASSUME CS:CODI ORG 0H INICI: MOV DX,PACS MOV AX,003BH OUT DX,AL MOV DX,PIA1_CR ;Configurem la pia 1 per a que tots MOV AX,0080H ;els ports siguin sortida OUT DX,AX XOR AX,AX ;Llegir registre de control IN AL,DX MOV DX,PIA2_CR ;Configurem la pia 2 per a que tots MOV AX,0080H ;els ports siguin de sortida OUT DX,AL XOR AX,AX ;Llegim registre de control de la IN AL,DX ;PIA 2 INI: MOV DX,PIA1_A ;Escrivim un valor al port A MOV AX,00A2H ;de la PIA 1 OUT DX,AL XOR AX,AX IN AL,Dx ;i el llegim despres MOV DX,PIA1_B MOV AX,005DH OUT DX,AL XOR AX,AX IN AL,DX MOV DX,PIA1_C MOV AX,00F0H OUT DX,AL XOR AX,AX IN AL,DX MOV DX,PIA2_A MOV AX,003CH OUT DX,AL XOR AX,AX IN AL,DX MOV DX,PIA2_B MOV AX,0047H OUT DX,AL XOR AX,AX IN AL,DX MOV DX,PIA2_C MOV AX,00FFH

Page 131: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

162

OUT DX,AL XOR AX,AX IN AL,DX JMP INI CODI ENDS END INICI

Page 132: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

163

6.1.4 Programa comunicació sèrie 6.1.4.1 Programa recepció ;Programa font SERIE_R.ASM ;Configuracio de la pia serie (TL16C450) per a rebre i prova de recepcio ;de caràcters del PC pel port sèrie COMM2. La comunicació es realitza per ;enquesta. Un cop rebuda, aquesta dada serà enviada al port dels LEDs(PB) ;de l'emulador per verificiar la comunicació. TITLE Pia_Serie_r .model small .code .186 PIA_SERIE EQU 00280H RBR EQU PIA_SERIE + 0H ;de lectura (dlab=0) LCR EQU PIA_SERIE + 3H ;registre de control LSR EQU PIA_SERIE + 5H ;registre estat SCR EQU PIA_SERIE + 7H ;scratch registre DLL EQU PIA_SERIE + 0H ;byte baix de baud rate (dlab=1) DLM EQU PIA_SERIE + 1H ;byte alt de baud rate (dlab=1) PB EQU 01H ;adreça del port dels LEDS de l'emulador PCB EQU 0FF00H PACS EQU PCB + 000A4H DATA SEGMENT 'DATA' ESTATUS DB 0 ;Valor del registre de estat DADA DB 0 ;dada DATA ENDS ;********************************************************* ;******** Codi del programa *************** ;********************************************************* CODI SEGMENT 'CODE' ASSUME CS:CODI ASSUME DS:DATA ORG 0H INICI: MOV DX,PACS ;programem el registre PACS per a provocar MOV AX,003BH ;tres estats d'espera en cada acces als OUT DX,AL ;periferics MOV DX,LCR ;programem per no paritat, 8 bits de MOV AX,97H ;dades i DLAB=1 OUT DX,AL MOV DX,DLL ;modifiquem el baud generator per a una MOV AX,18H ;velocitat de transmissio de 4800 bps OUT DX,AL ;amb un cristall de 1.8432MHz = 24

Page 133: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

164

MOV DX,DLM XOR AX,AX ;1.8432M/(16x4800) = 24 OUT DX,AL MOV DX,LCR MOV AX,17H ;DLAB=0 OUT DX,AL LEC: MOV DX,LSR ;Llegim el registre de estat XOR AX,AX IN AL,DX MOV ESTATUS,AL ;..i el guardem TEST AL,01H ; Si no Caracter esperant salta i si no JZ LEC ;continua i... MOV DX,RBR ;Llegim la dada XOR AX,AX IN AL,DX MOV DADA,AL MOV DX,PB ;Treiem la dada pel PB del Leds MOV AL,DADA OUT DX,AL JMP LEC CODI ENDS END INICI

Page 134: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

165

6.1.4.2 Programa transmissió ;Programa font SERIE_T.ASM ;Configuracio de la pia serie (TL16C450)per a enviar una dada al PC ;pel port serie COMM2. TITLE Pia_Serie_t .model small .code .186 PIA_SERIE EQU 00280H THR EQU PIA_SERIE + 0H ;escriptura (dlab=0) LCR EQU PIA_SERIE + 3H ;registre de control LSR EQU PIA_SERIE + 5H ;registre estat DLL EQU PIA_SERIE + 0H ;byte baix de baud rate (dlab=1) DLM EQU PIA_SERIE + 1H ;byte alt de baud rate (dlab=1) PCB EQU 0FF00H PACS EQU PCB + 000A4H DATA SEGMENT 'DATA' DADA DB 0 ;dada DATA ENDS ;********************************************************* ;******** Codi del programa *************** ;********************************************************* CODI SEGMENT 'CODE' ASSUME CS:CODI ASSUME DS:DATA ORG 0H INICI: MOV DX,PACS ;programem el registre PACS per a provocar MOV AX,003BH ;tres estats d'espera en cada acces als OUT DX,AL ;periferics MOV DX,LCR ;programem per no paritat, 8 bits de MOV AX,97H ;dades i DLAB=1 OUT DX,AL MOV DX,DLL ;modifiquem el baut generator per a una MOV AX,18H ;velocitat de transmissio de 4800 bps OUT DX,AL ;amb un cristall de 1.8432MHz = 24 MOV DX,DLM XOR AX,AX ;1.8432M/(16x4800) = 24 OUT DX,AL MOV DX,LCR MOV AX,17H ;DLAB=0 OUT DX,AL MOV DX,THR INI: MOV DADA,61H ;Inicialitacio variable a caràcter 'a' TREURE: MOV AX,DADA ;Enviar dada al PC

Page 135: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

166

OUT DX,AL CMP DADA,7AH ;Si dada és caràcter 'z' JAE INI ;Tornar a començar, sinó INC DADA ;Incrementar dada JMP SHORT TREURE CODI ENDS END INICI

Page 136: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

167

6.1.4.3 Programa comunicació PC Option Explicit Dim cadena As String 'Caracter on posarem la dada a enviar 'o a rebre Dim Caracter As Byte ' Si es prem la tecla Sortir o Escape Private Sub CmbSortir_Click() Unload Me 'Acabar End Sub Private Sub Form_Load() 'Obrim El port de comunicacion Comunicacion.PortOpen = True TxtEstado = "Espera" End Sub Private Sub Form_Unload(Cancel As Integer) 'Tacar el port de comunicacions Comunicacion.PortOpen = False End Sub 'Si volem enviar una dada La Posem a Output Private Sub CmbEnviar_Click() TxtEstado = "Enviant Dada Pel Port Serie" 'Caracter = Asc(TxtOutput.Text) cadena = TxtOutput.Text Comunicacion.Output = Left(cadena, 1) End Sub 'Cada cop que rebem una dada del Client Private Sub Comunicacion_OnComm() 'Si S'ha rebut Un caracter al menys If Comunicacion.CommEvent = comEvReceive Then ' And Comunicacion.InBufferCount <> 0 Then TxtEstado = "Dada Rebuda" 'Timer1.Interval = 1000 'L'agafem cadena = Comunicacion.Input 'I el Treiem per pantalla TxtInput.Text = Left(cadena, 1) 'Si S'ha enviat un caracter ElseIf Comunicacion.CommEvent = comEvSend Then TxtEstado = "S'ha enviat la dada" TxtInput.Text = TxtOutput.Text 'Timer1.Interval = 1000 'si no ha passat res de lo anterior ElseIf Comunicacion.CommEvent <> comEvReceive _ And Comunicacion.CommEvent <> comEvSend Then 'Si no es que es un error MsgBox "Es Produeix un Error " & Comunicacion.CommEvent & _ " durant la comunicacio" End If End Sub

Page 137: Disseny i Implementació d’un Nas Electrònic Autònomdeeea.urv.cat/public/PROPOSTES/pub/pdf/114pub.pdf · controlen el teclat, el display, les plaques A/D i D/A, la comunicació

Annexes

168

6.2 Informació tècnica dels components · Microprocessador 80C188XL · UART TL16C450F · PIA 82C55A · Transceiver MAX232 · EPROM 27C256 · SRAM KM684000A · Conversor D/A AD669 · Multiplexor analògic HEF4067B · Sample and Hold LF398 · Conversor A/D LTC1605 · Multivibrador monoastable 74HC221