Selected:

Sistema Modular de Adquisición de Datos

9,99

9,99

En este proyecto se describe cómo se ha implementado un Sistema Modular de Adquisición de Datos. Éste consiste en una carcasa o rack en el que se conectan diversas tarjetas electrónicas: comunicación, medición, conmutación, etc. y mediante un PC, se procesa y controla todo el sistema. Numerosas veces se hará referencia al Sistema de Comprobación como INTE y al Sistema de Adquisición de Datos como AINTE que son sus nombres comerciales. Éstos pertenecen a la empresa CreaSoft.

La descarga include la siguiente información: memoria del proyecto en formato pdf y docx (el código fuente está presente en los apéndices), presentación en formato pptx y todo los datasheets relevantes para el diseño electrónico.

  • Fecha: Enero 2004 – Septiembre 2004
  • Autor: Raúl Bartolomé Castro
  • Director: Alfonso Romero Nevado
  • Estudio: Ingeniería en Automática y Electrónica Industrial
  • Asignatura: Proyecto Final de Carrera

Description

Índice de Contenidos

1 Índice 2

1.1 Índice de Contenidos 3

1.2 Índice de Ilustraciones 12

1.3 Índice da Tablas 15

2 Memoria Descriptiva 16

2.1 Introducción 17

2.1.1 Contexto 17

2.1.1.1 Sistema de Comprobación ISA (INTE ISA) 17

2.2 Objetivos 19

2.2.1 Sistema de Comprobación USB (INTE USB) 19

2.2.2 Sistema de Adquisición de Datos USB (AINTE USB) 21

2.3 El bus USB 22

2.3.1 Introducción 22

2.3.2 Características generales 22

2.3.2.1 USB 1.0 23

2.3.2.2 USB 1.1 23

2.3.3 Especificaciones técnicas 24

2.3.3.1 Topología 24

2.3.3.2 El flujo de datos 29

2.3.3.3 Protocolo 34

2.3.3.4 Características eléctricas 42

2.4 Descripción general 45

2.4.1 Hardware 46

2.4.1.1 El sistema modular 47

2.4.1.2 Subsistema de control y comunicaciones USB 48

2.4.1.3 Subsistema de medida 49

2.4.1.4 Subsistema de conmutación 53

2.4.2 Software 55

2.4.2.1 Enumeración 57

2.4.2.2 Archivos de sistema 58

2.4.2.3 Bibliotecas de Enlace Dinámico 59

2.4.2.4 Aplicación ProvaR.exe 61

2.4.3 Especificaciones del sistema 63

3 Memoria de Cálculo 64

3.1 Hardware 65

3.1.1 Tarjeta de Enlace (TE) 65

3.1.1.1 Arquitectura 65

3.1.2 Tarjeta Base de Control USB (TBCU) 66

3.1.2.1 Arquitectura 66

3.1.2.2 Microcontrolador 68

3.1.2.3 Dispositivo Lógico Programable (PLD) 70

3.1.2.4 Interfaz con Tarjetas de Enlace 74

3.1.3 Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR) 75

3.1.3.1 Arquitectura 75

3.1.3.2 Control Digital (DC) 78

3.1.3.3 Fuente de Alimentación (PS) 83

3.1.3.4 Conversor Analógico Digital (ADC) 85

3.1.3.5 Amplificadores de Ganancia Programable (PGA) 87

3.1.3.6 Conmutación Analógica (AS) 89

3.1.3.7 Fuente de Corriente (CS) 90

3.1.3.8 Conversor Digital Analógico (DAC) 94

3.1.4 Tarjeta de Conmutación Analógica (TCA) 95

3.1.4.1 Arquitectura 95

3.1.4.2 Control Digital (DC) 97

3.1.4.3 Conmutación Analógica (AS) 100

3.1.4.4 Memoria de Conmutación (SM) 101

3.2 Software 102

3.2.1 Programa de la Tarjeta de Control USB (FirmwareTBCU.hex) 102

3.2.1.1 Visión global 102

3.2.1.2 Código específico 104

3.2.2 Biblioteca de Enlace Dinámico (InteUSB32.dll) 106

3.2.3 Biblioteca de Enlace Dinámico (InteDrv32.dll) 109

3.2.3.1 Esquemas de medición 112

3.2.4 Aplicación (ProvaR.exe) 119

4 Planos 123

4.1 Tarjeta de Enlace (TE) 124

4.1.1 Fotografía 124

4.1.2 Esquema 125

4.1.3 PCB: Componentes 126

4.1.4 PCB: Cara Inferior 127

4.1.5 Lista de Materiales 128

4.1.5.1 Elementos Pasivos 128

4.2 Tarjeta Base de Control USB (TBCU) 129

4.2.1 Fotografía 129

4.2.2 Esquema: USB y Control 130

4.2.3 Esquema: Cabecera de Bus 131

4.2.4 Implementación PLD 132

4.2.5 PCB: Componentes 133

4.2.6 PCB: Cara Superior 134

4.2.7 PCB: Cara Inferior 135

4.2.8 Lista de Materiales 136

4.2.8.1 Semiconductores y Optoelectrónica 136

4.2.8.2 Elementos Pasivos. 137

4.3 Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR) 138

4.3.1 Fotografía 138

4.3.2 Esquema: Control 139

4.3.3 Esquema: Conversor AD 140

4.3.4 Esquema: Amplificadores de Ganancia Programable 141

4.3.5 Esquema: Conversor DA 142

4.3.6 Esquema: Fuente de Corriente 143

4.3.7 Esquema: Conmutación Analógica 144

4.3.8 Esquema: Energía 145

4.3.9 Implementación PLD 146

4.3.10 PCB: Componentes 148

4.3.11 PCB: Cara Superior 149

4.3.12 PCB: Cara Inferior 150

4.3.13 Lista de Materiales 151

4.3.13.1 Semiconductores y Optoelectrónica 151

4.3.13.2 Elementos pasivos 152

4.4 Tarjeta de Conmutación Analógica (TCA) 153

4.4.1 Fotografía 153

4.4.2 Esquema: Control 154

4.4.3 Esquema: Memoria 155

4.4.4 Esquema: Conmutación Analógica 156

4.4.5 Implementación PLD 157

4.4.6 PCB: Componentes 158

4.4.7 PCB: Cara Superior 159

4.4.8 PCB: Cara Inferior 160

4.4.9 Lista de Materiales 161

4.4.9.1 Semiconductores y Optoelectrónica 161

4.4.9.2 Elementos Pasivos 162

5 Presupuesto 163

5.1 Tarjeta de Enlace (TE) 164

5.1.1 Requerimientos de Materiales 164

5.1.2 Precios Unitarios 164

5.1.3 Escandallo 164

5.2 Tarjeta Base de Control USB (TBCU) 165

5.2.1 Requerimientos de Materiales 165

5.2.2 Precios Unitarios 167

5.2.3 Escandallo 169

5.3 Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR) 171

5.3.1 Requerimientos de Materiales 171

5.3.2 Precios Unitarios 174

5.3.3 Escandallo 177

5.4 Tarjeta de Conmutación Analógica (TCA) 180

5.4.1 Requerimientos de Materiales 180

5.4.2 Precios Unitarios 181

5.4.3 Escandallo 182

5.5 Rack A 183

5.5.1 Requerimientos de Materiales 183

5.5.2 Precios Unitarios 183

5.5.3 Escandallo 183

5.6 Diseño del software 184

5.6.1 Requerimientos de tiempo 184

5.6.2 Precio Unitario 184

5.6.3 Escandallo 184

5.7 Resumen del presupuesto 185

6 Pliego de Condiciones 186

6.1 Condiciones Generales 187

6.1.1 Introducción 187

6.1.2 Reglamentos y Normas 187

6.1.3 Materiales 187

6.1.4 Ejecución del proyecto 188

6.1.5 Interpretación y Desarrollo 188

6.1.6 Trabajos y Complementos 188

6.1.7 Modificaciones 189

6.1.8 Realización Defectuosa 189

6.1.9 Medios Auxiliares 189

6.1.10 Recepción del Proyecto 189

6.1.11 Responsabilidades 190

6.1.12 Fianza 190

6.2 Condiciones Técnicas 191

6.2.1 Condiciones de las Placas de CI 191

6.2.2 Condiciones de los Componentes Electrónicos 191

6.2.3 Condiciones del Montaje de Placas 191

6.3 Condiciones Facultativas 192

6.3.1 Normas a Seguir 192

6.3.2 Personal 192

6.3.3 Reconocimiento de Ensayos Previos 192

6.3.4 Ensayos 193

6.3.5 Ensayos de Aparellaje 193

6.4 Condiciones Económicas 194

6.4.1 Precios 194

6.4.2 Abono del Proyecto 194

6.4.3 Revisión de Precios 194

6.4.4 Penalizaciones 194

6.4.5 Contrato 194

6.4.6 Rescisión del Contrato 195

6.4.7 Liquidación en el Caso de Rescisión del Contrato 195

7 Anexo: Código Fuente 196

7.1 InteUSB.inf 197

7.2 InteLdr.sys 200

7.2.1 Ezloader.h 200

7.2.2 Ezloader.c 204

7.2.3 Loader.h 204

7.2.4 firmware.h 205

7.2.5 hex.dat 205

7.2.6 Resource.h 205

7.3 InteDrv.sys 206

7.3.1 Ezusbsys.h 206

7.3.2 Ezusbsys.c 223

7.3.3 Version.h 223

7.3.4 Resource.h 223

7.4 FirmwareTBCU.hex 224

7.4.1 Fw.c 224

7.4.2 Periph.c 230

7.4.3 Com.h 233

7.4.4 Com.c 234

7.4.5 Param.h 237

7.4.6 Param.c 238

7.4.7 Inte.h 240

7.4.8 Inte.c 241

7.4.9 Inte1.h 248

7.4.10 Inte1.c 249

7.4.11 Inte2.h 252

7.4.12 Inte2.c 253

7.4.13 Inte4.h 258

7.4.14 Inte4.c 259

7.4.15 Born.h 262

7.4.16 Pack.h 263

7.4.17 Pack.c 263

7.4.18 Pause.h 264

7.4.19 Pause.c 264

7.4.20 SByte.h 265

7.4.21 Sword.h 265

7.4.22 Temp.h 266

7.4.23 Temp.c 267

7.4.24 Dscr.a51 270

7.4.25 JmpTB.a51 275

7.4.26 Led.h 276

7.4.27 Led.c 277

7.4.28 LocalDefines.h 281

7.4.29 Tracer.h 281

7.4.30 Tracer.c 281

7.4.31 EZRegs.h 285

7.4.32 EZusb.h 293

7.5 InteUSB32.dll 299

7.5.1 InteUSB.hpp 299

7.5.2 InteUSB.cpp 300

7.5.3 InteUSB32.h 303

7.5.4 InteUSB32.cpp 304

7.5.5 InteUSB32.def 306

7.5.6 StdAfx.h 306

7.5.7 StadAfx.cpp 307

7.5.8 USB.hpp 307

7.5.9 USB.cpp 308

7.5.10 Resource.h 315

7.5.11 Excepcion.hpp 315

7.5.12 TracErr.hpp 316

7.5.13 TracErr.cpp 317

7.5.14 InteUSB32.hpp 320

7.6 InteDrv32.dll 321

7.6.1 Analog.hpp 321

7.6.2 Analog.cpp 322

7.6.3 InteDrv32.hpp 327

7.6.4 InteDrv32.h 327

7.6.5 InteDrv.cpp 328

7.6.6 InteUSB1.cpp 329

7.6.7 InteUSB2.cpp 329

7.6.8 InteUSB3.cpp 332

7.6.9 InteUSB4.cpp 333

7.6.10 InteUSB5.cpp 334

7.6.11 InteUSB6.cpp 336

7.6.12 Resource.h 336

7.6.13 EtdAfx.h 337

7.6.14 EtdAfx.cpp 338

7.6.15 Defines.h 338

7.6.16 InteUSB32.hpp 339

7.6.17 Ordres.h 339

7.6.18 TVIR.h 340

7.6.19 Born.hpp 340

7.6.20 Pack.hpp 341

7.6.21 Pack.cpp 342

7.6.22 SetBool.hpp 346

7.6.23 SetBool.cpp 347

7.6.24 SetBorns.hpp 348

7.6.25 SetBorns.cpp 349

7.6.26 SetByte.hpp 351

7.6.27 SetByte.cpp 352

7.6.28 SetShort.hpp 353

7.6.29 SetShort.cpp 354

7.6.30 SetWord.hpp 355

7.6.31 SetWord.cpp 356

7.6.32 USBParam.hpp 357

7.6.33 USBParam.cpp 358

7.7 ProvaR.exe 363

7.7.1 ProvaR.h 363

7.7.2 ProvaR.cpp 364

7.7.3 IndeDrv32.hpp 365

7.7.4 ProvaRDlg.h 366

7.7.5 ProvaRDlg.cpp 367

7.7.6 Resource.h 376

7.7.7 StdAfx.h 377

7.7.8 StdAfx.cpp 377

8 Anexo: Especificaciones Técnicas 378

8.1 Circuitos Integrados 379

8.1.1 Conmutadores Analógicos 379

8.1.2 Buffers Transceivers 379

8.1.3 Convertidores AD 379

8.1.4 Convertidores DA 379

8.1.5 Dispositivos Lógicos Programables (PLD) 379

8.1.6 Lógica Digital 379

8.1.6.1 Decodificadores 379

8.1.6.2 Flip-Flops 380

8.1.7 Inter-Integrated Circuit (I2C) 380

8.1.7.1 EEPROM 380

8.1.7.2 Sensor Digital de Temperatura 380

8.1.8 Reguladores Lineales 380

8.1.9 Microcontroladores 380

8.1.10 Memoria 380

8.1.11 Amplificadores Operacionales 381

8.1.11.1 Amplificador Operación de Precisión 381

8.1.11.2 Amplificadores de Instrumentación 381

8.1.12 Diodos 381

8.1.12.1 Generales 381

8.1.12.2 Diodos de Voltaje de Referencia 381

8.1.12.3 Diodos Emisores de Luz (LED) 381

8.2 Componentes Pasivos 382

8.2.1 Condensadores 382

8.2.2 Resistencias 382

8.3 Conectores 383

8.3.1 USB 383

8.3.2 DIN41612 383

8.3.3 IDC 383

8.4 Software 383

8.4.1 Especificaciones USB 1.1. 383

8.4.2 EZ-USB Especificaciones del GPD 383

9 Anexo: Bibliografía 384

9.1 Diseño electrónico 385

9.2 Especificaciones esenciales 385

9.3 Proyectos 386

9.4 Páginas WEB 386

Índice de Ilustraciones

Ilustración 1: Sistema de Comprobación ISA 17

Ilustración 2: Tipos de comprobaciones de continuidad 17

Ilustración 3: Sistema de Comprobación USB 19

Ilustración 4: Estructura de capas del bus USB 24

Ilustración 5: Diagrama de capas del USB 24

Ilustración 6: La capa física USB 25

Ilustración 7: HUB USB 27

Ilustración 8: La capa lógica USB 28

Ilustración 9: Relación software cliente y función 28

Ilustración 10: Campo PID 35

Ilustración 11: Campo dirección 35

Ilustración 12: Campo endpoint 35

Ilustración 13: Campo de datos 36

Ilustración 14: Transferencia bula 40

Ilustración 15: Transferencias de control 40

Ilustración 16: Transferencia de interrupción 41

Ilustración 17: Transferencias isócronas 41

Ilustración 18: Identificación de la velocidad del dispositivo 42

Ilustración 19: Codificación de datos NRZI 42

Ilustración 20: Señal Sync 43

Ilustración 21: Descripción general 45

Ilustración 22: Sistema de Adquisición de Datos INTE 46

Ilustración 23: El sistema modular 47

Ilustración 24: Subsistema de control y comunicaciones USB 48

Ilustración 25: Subsistema de medida 49

Ilustración 26: Multímetro de 4 hilos 50

Ilustración 27: Subsistema de medida real 51

Ilustración 28: Medición por divisor de tensión 52

Ilustración 29: Subsistema de conmutación 53

Ilustración 30: Esquema de medición 54

Ilustración 31: Descripción general del software 55

Ilustración 32: Diagrama de bloques simplificado del microcontrolador 56

Ilustración 33: Descripción de InteUSB32.dll 59

Ilustración 34: Descripción de InteDrv32.dll 60

Ilustración 35: Mediaciones de ProvaR.exe 61

Ilustración 36: Medida con patrón de ProvaR.exe 62

Ilustración 37: Arquitectura de TE 65

Ilustración 38: Arquitectura de TBCU 66

Ilustración 39: Microcontrolador 69

Ilustración 40: Dispositivo Lógico Programable 71

Ilustración 41: Implementación de la PLD 1 72

Ilustración 42: Implementación de la PLD 2 73

Ilustración 43: Interfaz con TE 74

Ilustración 44: Arquitectura de TVIR 75

Ilustración 45: Arquitectura definitiva de TVIR 77

Ilustración 46: Control Digital con PLD 79

Ilustración 47: Implementación de la PLD 1 80

Ilustración 48: Implementación de la PLD 2 81

Ilustración 49: Cronograma de lectura del AD 82

Ilustración 50: Fuente de alimentación y referencias de tensión 83

Ilustración 51: Esquema interno del conversor AD 85

Ilustración 52: Conversor Analógico Digital 86

Ilustración 53: Esquema interno del PGA 87

Ilustración 54: Amplificadores de Ganancia Variable 88

Ilustración 55: Conmutación Analógica 89

Ilustración 56: Fuente de Corriente 90

Ilustración 57: Fuente de Howland 91

Ilustración 58: Fuente de corriente de alta precisión 93

Ilustración 59: Esquema interno del conversor DA 94

Ilustración 60: Conversor Digital Analógico 94

Ilustración 61: Arquitectura TCA 95

Ilustración 62: Control Digital 98

Ilustración 63: Implementación de la PLD 99

Ilustración 64: Conmutación Analógica 100

Ilustración 65: Memoria de Conmutación 101

Ilustración 66: FrameWoks de la TBCU 103

Ilustración 67: Firmware específico TBCU 104

Ilustración 68: InitInstance de InteUSB32.dll 106

Ilustración 69: ExitInstance de InteUSB32.dll 106

Ilustración 70: Connecta de InteUSB32.dll 107

Ilustración 71: Transferencia de PC a 8051 108

Ilustración 72: Transferencia de 8051 a PC 108

Ilustración 73: Constructor de cAnalog 109

Ilustración 74: Función GetR 110

Ilustración 75: Medición a cuatro hilos 112

Ilustración 76: Medición a dos hilos 113

Ilustración 77: Esquema electrónico de medida 114

Ilustración 78: Implementación de GetR 115

Ilustración 79: Funciones TCA 118

Ilustración 80: Función Measure 1 119

Ilustración 81: Función Measure N 120

Ilustración 82: Función Test System 121

Índice da Tablas

Tabla 1: PIDs USB 34

Tabla 2: Comportamiento en transferencia IN de endpoint 38

Tabla 3: Comportamiento en transferencia IN de host 38

Tabla 4: Comportamiento en transferencias OUT del host 39

Tabla 5: Cable de velocidad baja 44

Tabla 6: Especificaciones del sistema 63

Tabla 7: Comparación entre el 8051 EZ-USB y algunos competidores 68

Tabla 8: Características de la familia MAX3000 70

Tabla 9: Características de la familia MAX7000 78

Tabla 10: Características de la familia MAX7000 97

Tabla 11: Distribución de TCA 111

Tabla 12: Elementos pasivos TE 128

Tabla 13: Semiconductores y Optoelectrónica TBCU 136

Tabla 14: Elementos Pasivos TBCU 137

Tabla 15: Semiconductores y Optoelectrónica TVIR 151

Tabla 16: Elementos Pasivos TVIR 152

Tabla 17: Semiconductores y Optoelectrónica TCA 161

Tabla 18: Elementos Pasivos TCA 162

Sistema Modular de Adquisición de Datos

Memoria Descriptiva

AUTOR: Raúl Bartolomé Castro.

DIRECTOR: Alfonso Romero Nevado.

FECHA: Octubre / 2004.

Introducción

En este proyecto se describe cómo se ha implementado un Sistema Modular de Adquisición de Datos. Éste consiste en una carcasa o rack en el que se conectan diversas tarjetas electrónicas: comunicación, medición, conmutación, etc. y mediante un PC, se procesa y controla todo el sistema.

Numerosas veces se hará referencia al Sistema de Comprobación como INTE y al Sistema de Adquisición de Datos como AINTE que son sus nombres comerciales. Éstos pertenecen a la empresa CreaSoft.

Contexto

Sistema de Comprobación ISA (INTE ISA)

Inte

Ilustración : Sistema de Comprobación ISA

El INTE ISA está concebido como una máquina para la comprobación de continuidad del cableado para la automoción. Esto quiere decir que puede determinar si en un cable eléctrico existe continuidad o no.

Para realizar las medidas de continuidad se utilizan unas tarjetas de datos digitales de lectura/escritura de 64 puntos de test cada una. Éstas son el elemento fundamental de comprobación de continuidad. Permiten la comprobación punto a punto así como la de un punto respecto a n. En la siguiente ilustración se puede apreciar la idea:

Sistema%20test

Ilustración : Tipos de comprobaciones de continuidad

Además de las tarjetas de datos digitales el sistema posee una tarjeta de comunicación entre el equipo y el PC que se realiza mediante el bus ISA, de tal manera que la memoria de las tarjetas de datos es accesible a velocidad de este bus. En términos de diseño electrónico diríamos que las tarjetas de datos están mapeadas directamente en la memoria del bus ISA. Este hecho caracteriza al equipo con una gran velocidad de comprobación de cables, ya que los algoritmos de comprobación se ejecutan mediante el microprocesador del PC.

Como se puede apreciar en la ilustración 1, existen varios armazones o racks para este sistema de comprobación: tamaño A, B, C y el D no representado en la ilustración. Con unos puntos de comprobación que oscilan entre 320 y 4032.

Lo expuesto anteriormente es el punto de partida para el desarrollo de un equipo de comprobación de cableado que solventase varios problemas inherentes a la tecnología utilizada.

La utilización del bus ISA presenta ciertos problemas e incertidumbres a nivel de evolución tecnológica. Con la aparición de Windows 2000 y futuras ediciones, la accesibilidad al bus ISA desaparece. También las placas base de los PC de hoy en día, no presentan ranuras para la conexión de tarjetas ISA.

Por estas razones fue necesario emigrar de un sistema basado en el bus ISA, a otro con grandes expectativas de futuro y buenas prestaciones; el bus USB fue escogido por cumplir varios de los requisitos deseados, como ancho de banda, conexión en caliente, comunicaciones seguras, redes de 126 dispositivos, etc.

Otro aspecto a mejorar es el hecho de utilizar tarjetas de datos digitales para la comprobación de continuidad. Éstas presentan el inconveniente que el umbral de continuidad y no continuidad es fijo y de un valor aproximado de 5 kΩ.

Para mejorar esto se optó por obtener el valor exacto de resistencia del cable eléctrico. De esta forma queda a nivel de programación decidir el umbral de continuidad o no continuidad. Para conseguirlo se utilizaron tarjetas analógicas de medición, implementadas mediante una tarjeta de medición y uno o varias de conmutación.

Objetivos

Los objetivos de este proyecto se pueden separar en dos grupos

  1. Cómo se implemento la transición del Sistema de Comprobación ISA (INTE ISA) al Sistema de Comprobación USB (INTE USB).

Esto consiste en el diseño e implementación de una tarjeta de comunicaciones y control USB así como su software. Se tuvo que realizar de tal manera que pudiese soportar todo el legado del Sistema Comprobación ISA (INTE ISA), es decir, que pudiese soportar tarjetas de datos digitales, hasta los 4032 puntos, compatibilidad de software, etc.

  1. Cómo se implemento el Sistema de Adquisición de Datos USB (AINTE USB)

Trabajando sobre el marco proporcionado por el Sistema de Comprobación USB (INTE USB) se pretende diseñar e implementar un Sistema de Adquisición de Datos USB (AINTE USB). Nuevamente se desea que soporte el legado del sistema anterior INTE USB pero que además tenga la posibilidad de realizar mediciones analógicas de resistencias. Para alcanzar el objetivo se diseñaron e implementaros dos tarjetas, una encargada de realizar mediciones a modo de multímetro digital y la otra encargada de realizar conmutaciones analógicas.

Sistema de Comprobación USB (INTE USB)

Inte%20USB

Ilustración : Sistema de Comprobación USB

El objetivo principal es emigrar del bus de comunicaciones ISA al USB, pero existen unas restricciones. Esto es el legado del equipo anterior, el hardware y el software del Sistema de Comprobación ISA, es decir tarjetas de datos digitales, tarjeta de relés electromecánicos y opto acopladores y compatibilizad con el software de comprobación existente llamado HETOS.

Para alcanzar este primer objetivo de pasar del INTE ISA al INTE USB a nivel de hardware, el autor del presente proyecto tuvo de diseñar, implementar y programar una tarjeta para controlar todo el rack y además realizar las comunicaciones USB.

Esto consistió en la implementación de la tarjeta TBCU, que es la que tiene leds y el conector USB de la ilustración anterior. El diseño está basado en un microcontrolador, un dispositivo lógico programable, memoria RAM, etc.

La compatibilidad de hardware se obtiene manteniendo la misma interfase de tarjeta de control que se utiliza en el INTE ISA, es decir, utilizando la misma conexión al bus ‘backplane’ que se utilizaba anteriormente.

Debido al hecho que el conector USB está ubicado en la parte delantera del equipo, también se ubicó el de alimentación en la parte delantera (orientación similar a la de un autómata PLC), a diferencia del INTE ISA, donde el conector de datos y el de alimentación estaban el la parta trasera del equipo.

Para alcanzar los objetivos a nivel de software, se tuvo que trabajar mucho, esto es así por el cambio radical en la filosofía de acceso. En el INTE ISA las tarjetas de datos digitales están mapeadas directamente en memoria del bus ISA del PC, pero en el INTE USB es el microcontrolador de la tarjeta TBCU el que tiene las tarjetas de datos digitales mapeadas en memoria.

El firmware de la TBCU se describe ampliamente en este proyecto, en la memoria descriptiva, en la memoria de cálculo y también está disponible todo el código fuente en el anexo. Sólo se hace hincapié en la parte de comprobación de cableado a nivel analógico y comunicaciones USB, a pesar de que el autor del proyecto desarrolló todas las funciones, esto es así porque se consideró la parte de comprobación analógica la más interesante del proyecto.

La DLL InteUSB21.dll se describe completamente en los apartados de memoria descriptiva, memoria de cálculo y anexo. Como se ha dicho encapsula todas las comunicaciones USB, otorgando una interfase amigable para la siguiente capa. Este archivo se desarrollo con las indicaciones que proporcionadas por el fabricante del microcontrolador. Implementa una “tubería” de comunicación con el apartado de comunicaciones USB del firmware, de esta manera para el resto de código fuente las comunicaciones son transparentes.

La DLL InteUSB.dll, también fue desarrollado e implementado por el autor del proyecto, este archivo tiene por objetivo, la implementación de todas las funciones que estaban disponibles en el INTE ISA. De esta manera se mantiene una compatibilidad total con el equipo anterior. En esta ocasión no se ha descrito en este proyecto la implementación de este archivo, esto ha sido así para acotar la amplitud del proyecto y también porque se ha considerado mas interesante la parte de comprobación analógica.

Sistema de Adquisición de Datos USB (AINTE USB)

Sobre el marco de trabajo del INTE USB, el objetivo es otorgarle a éste la posibilidad de realizar mediciones analógicas. En concretos las especificaciones fueron la medición de 20 resistencias con un error del 5% respecto al valor real y mantener el legado del Sistema de Comprobación USB.

Para cumplir el objetivo a nivel de hardware, el autor del proyecto diseñó, desarrolló y programó dos tarjetas. La primera de ella está basada en un multímetro digital de cuatro hilos con la intención de poder realizar mediciones de voltaje, intensidad y resistencia a dos y cuatro hilos, esta tarjeta se llama TVIR.

La otra tarjeta consiste en una matriz de conmutación analógica de dos canales y numerosos puntos de entrada llamada TCA, de esta forma hay disponibles muchos puntos de comprobación gracias a técnicas de multiplexación de los canales de medición de la tarjeta multímetro digital TVIR.

Como se puede observar las especificaciones iniciales eran fácilmente alcanzables, por ello los objetivos fueron mucho más ambiciosos. Se pretendió poder realizar mediciones de resistencias a 4 y 2 hilos, tensión y corriente. Además mediante las tarjetas de conmutación, el número de puntos de comprobación podía ser muy elevado, y próximos a los 4032 puntos digitales del INTE ISA o INTE USB.

Pero debido a lo reducido de los plazos de entrega para el AINTE USB, se produjeron algunos fallos de diseño, entre ellos el más significativo, fue el hecho que la tarjeta de medición sólo pudo hacer medición de resistencias por el principio de divisor de tensión. La tarjeta de conmutación fue de 56 puntos de comprobación, en lugar de los 64.

A nivel de software se tuvo que ampliar el firmware de la tarjeta TBCU para incluir el control de las tarjetas TVIR y TCA, la descripción de cómo se realizó esto se puede leer en la memoria descriptiva, la de cálculo y el anexo.

Para proporcionar unas funciones amigables al programador final, se desarrolló la DLL InteDrv32.dll, está se describe totalmente en el presente proyecto en sus correspondientes apartados de descripción, cálculos y anexo. Este archivo proporciona una única función llamada GetR que devuelve el valor óhmico entre dos puntos de comprobación de la tarjeta TCA.

Finalmente el autor del proyecto implementó la sencilla aplicación ProvaR.exe para ejemplificar el potencial del Sistema Modular de Adquisición de Datos. La explicación y código fuente del mismo están disponibles completamente en este proyecto en sus correspondientes apartados

El bus USB

Introducción

El bus USB o Universal Serial Bus es una interfaz para la transmisión serie de datas y distribución de energía desarrollado por empresas líderes del sector de las telecomunicaciones. Ha sido introducida en el mercado de los PC’s y periféricos para mejorar las lentas interfaces series y paralelo.

Este interfaz de 4 hilos distribuye 5 V para la alimentación y puede transmitir datos a velocidad de hasta 480 Mbps en la versión 2.0. Es un bus serie que hace posible la conexión de hasta 127 periféricos a un único conector del PC, con detección u configuración automáticas, siendo esto posible con el PC encendido y sin tener que reiniciarlo.

Características generales

La especificación de USB proporciona una serie de características que pueden ser distribuidas en categorías. Estas características son comunes para todas las versiones.

Facilidad de uso para el usuario:

  • Modelo simple para el cableado y los conectores
  • Detalles eléctricos aislados del usuario
  • Periféricos auto-identificativos
  • Periféricos acoplados y reconfigurados dinámicamente

Ancho de banda isócrono:

  • Se garantiza un ancho de banda y bajas latencias apropiadas para telefonía, audio, etc.
  • Utilización de todo el ancho de banda del bus en este modo
  • Control de flujo para el manejo del buffer construido en el protocolo

Amplia gama de aplicaciones:

  • Se puede adecuar el ancho de banda de pocos Kbps hasta varios Mbps
  • Soporta tanto las transferencias isócronas como las isócronas.
  • Soporta hasta 127 dispositivos físicos

Robustez:

  • Manejo de errores y mecanismos de recuperación ante fallos
  • Inserción dinámica de dispositivos
  • Soporte para identificar dispositivos defectuosos

Implementación a bajo coste:

  • Comunicaciones a 1,5Mbps
  • Conectores y cables de bajo coste

USB 1.0

Esta versión, publicada en Enero del 1996, fue iniciada por el USB-IF cuyos integrantes son Compaq, Digital Equipment Co, IBM, Inte, Microsoft, NEC y Northern Telecom. Es la primera versión que abarca todas las características anteriormente mencionadas. Está limitado a una velocidad máxima de 12Mbps.

Inicialmente fue concebido para la conexión de teléfonos al PC, pero debido a su gran aceptación se desarrolló para convertirse en un estándar.

USB 1.1

El objetivo de esta versión, que salió a la luz en septiembre de 1998, era solucionar los problemas de ambigüedad de la especificación 1.0 para facilitar el trabajo a los desarrolladores tanto de hardware como de software.

Existen otras especificaciones USB como la 2.0, 2.0 OTG no las describiré, porque en la implementación de este proyecto se utilizó la especificación 1.1.

Especificaciones técnicas

Topología

La interconexión física USB es una topología de estrellas apiladas donde un hub es el centro de cada estrella. Cada segmento de cable es una conexión punto a punto entre el host y los hubs, o un hub conectado a otro hub.

El número máximo de dispositivos o funciones es de 127, pero el número de capas permitidas (incluida la raíz) es de siete, la longitud de cable máxima entre un hub y el dispositivo o función es de 5m.

USB%20arquitectura

Ilustración : Estructura de capas del bus USB

La topología del bus USB se puede dividir en tres partes

  • La capa física: define cómo están conectados los electos físicamente
  • La capa lógica: define los roles y las responsabilidades de los elementos USB
  • La relación software del cliente-función: cómo se ven mutuamente el software del cliente y los interfaces de las funciones relacionadas

USB%20diagramacapas

Ilustración : Diagrama de capas del USB

La capa física

La arquitectura física del USB se centra en las piezas de plástico y de metal con las que el usuario debe tratar para construir un entrono USB. En la capa física podemos identificar:

  • El host
  • El controlador del host
  • Los enlaces
  • Los dispositivos
  • Los hubs

Los dispositivos están conectados físicamente al host mediante una topología en estrella, como se aprecia en la siguiente ilustración. Los punto de acople se llaman hubs. Los cuales poseen puertos. Los hubs se conectan entre si o con dispositivos mediante los enlaces (cables de cuatro hilos).

USB%20capafisica

Ilustración : La capa física USB

Todas las comunicaciones físicas son iniciadas por el host. Además el host inicia todas las transacciones físicas y soporta todas las transferencias de datos sobre la capa física.

El host USB

EL host es el sistema de computación completo, incluyendo el software y el hardware, sobre el cual se sostiene el USB.

El host tiene la habilidad de procesar y gestionar los cambios de configuración que puedan ocurrir en el bus durante su funcionamiento. El host gestiona el sistema y los recursos del bus como el uso de la memoria del sistema, la asignación del ancho de banda y la alimentación del bus. El host también ayuda con la configuración automática de los dispositivos conectados y reaccionaron los desconectados.

Un host puede soportar uno o más buses USB. Los gestionará cada uno independientemente de los demás. Los recursos específicos del bus como el ancho de banda son únicos para cada bus. Cada bus está conectado al host a través de un controlador host. Sólo hay un host en cualquier sistema USB.

El controlador del host

El controlador del host está formado por el hardware y el software que permite a los dispositivos USB estar conectados al host. Este controlador es el que inicia las transferencias en el bus. El controlador del host es el master de un bus USB (no existen múltiples masters).

Las funciones básicas del controlador host son:

  • Detectar la inserción o desconexión de dispositivos USB
  • Gestionar el flujo de control entre el host y los dispositivos
  • Gestionar el flujo de datos entre el host y los dispositivos
  • Coleccionar estadísticas de actividad y estado
  • Proveer una cantidad limitada de energía a los dispositivos conectados

Existen dos implementaciones típicas en el mercado:

  • El Universal Host Controller Inteface (UHCI) definido por Intel
  • Open Host Controller Interface (OpenHCI o OHCI) definido por Microsoft
Los dispositivos

Un dispositivo es una colección de funcionalidades que llevan a cabo algún propósito (por ejemplo: ratón, teclado, etc.). Cada dispositivo lleva consigo información que puede ser útil para identificar sus características. Esta información se divide en tres categorías:

  • Estándar: es la información cuya definición es común a todos los dispositivos USB e incluye electos como la identificación del fabricante, la clase, la gestión de energía, etc.
  • Clave: La definición de esta información varía dependiendo del aparato. Es una característica de los dispositivos en cuanto a sus prestaciones.
  • USB Vendor: el fabricante del periférico puede poner aquí cualquier información deseada.

El software del host es capaz de determinar el tipo de dispositivo conectado haciendo usa de esta información y de un direccionamiento individual. Todos los dispositivos USB son accedidos por una dirección USB que se asigna dinámicamente cuando se conecta, asignándole también un número. Cada periférico soporta uno o más canales a través de los cuales el host puede comunicarse con los dispositivos, el software del host puede hacer que los drivers del dispositivo apropiados obtengan el control del nuevo dispositivo conectado.

Cuando desconectamos el dispositivo, la dirección puede ser reutilizada para el próximo dispositivo conectado.

Los hubs

Los hubs son un elemento clave en la arquitectura Plug and Play del USB. Plug & Play el sistema de reconocimiento por el que el sistema operativo detecta un nuevo hardware. Tras la detección, el sistema busca el software que lo gestione, y que puede estar en los discos que el fabricante ofrece con el dispositivo.

USB%20hub

Ilustración : HUB USB

Un bus tradicional puede ser dividido en segmentos conectados por puentes. Cada segmento tiene un número limitado de puntos de conexión debido a la limitada energía y la carga de cada bus. En la arquitectura USB, el número de puntos de conexión de dispositivos se expande añadiendo dispositivos únicos llamados HUBs o concentradores. Estos dispositivos expanden la arquitectura del USB de dos formas:

  • Incrementando los puntos de conexión a través de puertos adicionales
  • Proporcionando energía a los dispositivos al expandir el bus

Los HUBs sirven para simplificar la conectividad USB desde la perspectiva del usuario y proporcionar robustez y complejidad a un precio relativamente bajo. Según esta arquitectura, se puede expandir el bus acoplando hubs adicionales, interconectando dichos hubs mediante enlaces. Cada hub convierte un punto simple de conexión en múltiples puntos, donde estos puntos de conexión se les llaman puertos.

La capa lógica

El punto de vista lógico presenta capas y abstracciones que son relevantes para los distintos diseñadores. La arquitectura lógica describe cómo unir el hardware del dispositivo USB a un drivers del dispositivo en el host para que tenga el comportamiento que el usuario final desea.

La vista lógica de esta conexión es la mostrada en el esquema siguiente. En el podemos ver cómo el host proporciona conexión al dispositivo, donde esta conexión es a través de un simple enlace USB. La mayoría de los demás buses como PCI, ISA, etc. proporcionan múltiples conexiones a los dispositivos y los drivers lo manipulan mediante algunas combinaciones de estas conexiones (I/O, direcciones de memoria, interrupciones y canales DMA).

Físicamente el USB tiene sólo un cable simple de bus que es compartido por todos los dispositivos del bus. Sin embargo, desde el punto de vista lógico cada dispositivo tiene su propia conexión punto a punto mediante el host.

USB%20capalogica

Ilustración : La capa lógica USB

Aunque la mayoría de las actividades de los host o de los dispositivos lógicos usan perspectiva lógica, el host mantiene el conocimiento de la topología física para dar soporte del proceso de desconexión de los hubs. Cuando se quita un hub, todos los dispositivos conectados a él son quitados también de la vista lógica de la topología

La capa funcional

A pesar de que la topología física y lógica del USB refleja la naturaleza de bus compartido, la manipulación del interfaz de una función USB por parte del software de cliente (CSw) se presenta con una vista distinta.

El software de cliente para las funciones USB debe usar el interfaz de programación software USB para manipular sus funciones en contraposición de las que son manipuladas directamente a través de la memoria o los accesos I/O como pasa con otros buses (PCI, EISA, PCMCIA, etc.). Durante esta operación, el software del cliente debería ser independiente a otros dispositivos que pueden conectarse al USB.

USB%20csw

Ilustración : Relación software cliente y función

El flujo de datos

Un dispositivo USB desde el punto de vista lógico hay que entenderlo como una seri de endpoints, a su vez los endpoints se agrupan en conjuntos que dan lugar a interfaces, las cuales permiten controlar la función del dispositivo.

Como ya se ha visto la comunicación entre el host y un dispositivo físico USB se puede dividir en tres niveles o capas. En el nivel mas bajo el controlador host USB se comunica con la interfaz del bus utilizando el cable USB, mientras que en el nivel superiores software USB del sistema se comunica con el dispositivo lógico utilizando la tubería de control por defecto (“Default Control Pipe”). En lo que al nivel de función se refiere, el software cliente establece la comunicación con las interfaces de la función a través de tubería a endpoints.

Endpoints y direcciones de dispositivo

Cada dispositivo USB está compuesto por una colección de endpoints independientes, y una dirección única asignada por el sistema en tiempo de conexión de forma dinámica. A su vez cada endpoint dispone de un identificador único dentro del dispositivo al que pertenece, a este identificador se le conoce como número de endpoint y viene asignado de fábrica. Cada endpoint tiene una determinada orientación de flujo de datos. La combinación de dirección, número de endpoint y orientación, permite referenciar cada endpoint de forma inequívoca. Cada endpoint es por si solo una conexión simple que soporta un flujo de datos en una única dirección, bien de entrada o bien de salida.

Cada endpoint se caracteriza por:

  • Frecuencia de acceso al bus requerida
  • Ancho de banda requerido
  • Número de endpoint
  • Tratamiento de errores requerido
  • Máximo tamaño de paquete que el endpoint puede enviar o recibir
  • Tipo de transferencia para el endpoint
  • La orientación en la que se transmiten los datos

Existen dos endpoints especiales que todos los dispositivos deben tener, los endpoints con número 0 de entrada y de salida, que deben de implementar un método de control por defecto al que se le asocia la tubería de control por defecto. Estos endpoints están siempre accesibles mientras que el resto no lo estarán hasta que no hayan sido configurados por el host.

Tuberías

Una tubería USB es una asociación entre uno o dos endpoints en un dispositivo, y el software en el host. Las tuberías permiten mover datos entre software en el host, a través de un buffer, y un endpoint en un dispositivo. Hay dos tipos de tuberías:

  • Stream: Los datos se mueven a través de la tubería sin una estructura definida.
  • Mensaje: Los datos se mueven a través de la tubería utilizando una estructura USB.

Además una tubería se caracteriza por:

  • Demanda de acceso al bus y uso del ancho de banda
  • Un tipo de transferencia
  • Las características asociadas a los endpoints

Como ya se ha comentado, la tubería que esta formada por dos endpoints con número cero se denomina tubería de control por defecto. Esta tubería está siempre disponible una vez se ha conectado el dispositivo y ha recibido un reset del bus. El resto de tuberías aparecen después que se configure el dispositivo. La tubería de control por defecto es utilizada por el software USB del sistema para obtener la identificación y requisitos de configuración del dispositivo, y para configurar al dispositivo.

El software cliente normalmente realiza peticiones para transmitir datos a una tubería vía IRPs (petición de paquetes de entrada/salida) y entonces, o bien espera, o bien es notificado de que se ha completado la petición. El software cliente puede causar que una tubería devuelva todas las IRPs pendientes. El cliente es notificado de que una IRP se ha completado cuando todas las transacciones del bus que tiene asociadas se han completado correctamente, o bien porque se han producido errores.

Una IRP puede necesitar de varias tandas para mover los datos del cliente al bus. La cantidad de datos en cada tanda será el tamaño máximo de un paquete excepto el último paquete de datos que contendrá los datos que faltan. De modo que un paquete recibido por el cliente que no consiga llenar el buffer de datos de la IRP puede interpretarse de diferentes modos en función de las expectativas del cliente, si esperaba recibir una cantidad variable de datos considerará que se trata del último paquete de datos, sirviendo pues como delimitador de final de datos, mientras que si esperaba una cantidad específica de datos lo tomará como un error.

Streams

No necesita que los datos se transmitan con una cierta estructura. Las tuberías stream son siempre unidireccionales y los datos se transmiten de forma secuencial: “first in, first out”. Están pensadas para interactuar con un único cliente, por lo que no se mantiene ninguna política de sincronización entre múltiples clientes en caso de que así sea. Un stream siempre se asocia a un único endpoint en una determinada orientación.

Mensajes

A diferencia de lo que ocurre con los streams, en los mensajes la interacción de la tubería con el endpoint consta de tres fases. Primero se realiza una petición desde el host al dispositivo, después se transmiten los datos en la dirección apropiada, finalmente un tiempo después se pasa a la fase estado. Para poder llevar a acabo este paradigma es necesario que los datos se transmitan siguiendo una determinada estructura.

Las tuberías de mensajes permiten la comunicación en ambos sentidos, de hecho la tubería de control por defecto es una tubería de mensajes. El software USB del sistema se encarga de que múltiples peticiones no se envíen a la tubería de mensajes concurrentemente. Un dispositivo ha de dar únicamente servicio a una petición de mensaje en cada instante por cada tubería de mensajes.

Una tubería de mensajes se asocia a un par de endpoints de orientaciones opuestas con el mismo número de endpoint.

Frames y microframes

USB establece una unidad de tiempo base equivalente a 1 milisegundo denominada frame y aplicable a buses de velocidad media o baja, en alta velocidad se trabaja con microframes, que equivalen a 125 microsegundos. Los (micro) frames no son más que un mecanismo del bus USB para controlar el acceso a este, en función del tipo de transferencia que se realice. En un (micro) frame se pueden realizar diversas transacciones de datos.

Transferencias

La interpretación de los datos que se transmitan a través de las tuberías, independientemente de que se haga siguiendo o no una estructura USB definida, corre a cargo del dispositivo y del software cliente. No obstante, USB proporciona cuatro tipos de transferencia de datos sobre las tuberías para optimizar la utilización del bus en función del tipo de servicio que ofrece la función.

Transferencias de control

Es el único tipo de transferencia que utiliza tuberías de mensajes, soporta por lo tanto comunicaciones de tipo configuración/comando/estado entre el software cliente y su función. Una transferencia de tipo control se compone de una transacción de setup del host a la función, cero o mas transacciones de datos en la dirección indicada en la fase de setup, y por último una transacción de estado de la función al host. La transacción de estado devolverá éxito cuando el endpoint haya completado satisfactoriamente la operación que se había solicitado.

Por lo tanto este tipo de transferencia esta pensado para configurar, obtener información, y en general para manipular el estado de los dispositivos. El tamaño máximo de datos que se transmiten por el bus viene determinado por el endpoint. En dispositivos de velocidad media los posibles tamaños máximos son de 8, 16, 32 o 64 bytes, en velocidad baja el tamaño es de 8 bytes y en velocidad alta 64 bytes. El porcentaje de (micro)frame utilizado ronda el 30% en velocidad baja, 5% en velocidad media y el 2% en alta.

El endpoint puede estar ocupado durante la fase de envío de datos y la fase de estado, en esos casos el endpoint indica al host que se encuentra ocupado, invitando al host a intentarlo mas tarde. Si el endpoint recibe un mensaje de setup y se encontraba en mitad de una transferencia de control, aborta la transferencia actual y pasa a la nueva que acaba de recibir. Normalmente el host no inicia una nueva transferencia de control con un endpoint hasta que no ha acabado la actual, si bien debido a problemas de transmisión el host puede considerar que se han producido errores y pasar a la siguiente. USB proporciona detección y recuperación, vía retransmisión, de errores en las transferencias de control.

Transferencias isócronas

Hacen uso de tuberías stream. Garantiza un acceso al bus USB con una latencia limitada, asegura una transmisión constante de los datos a través de la tubería siempre y cuando se suministren datos, además en caso de que la entrega falle debido a errores no se intenta reenviar los datos.

USB limita el máximo tamaño de datos para los endpoints con tipo de transferencia isócrona a 1023 bytes para los endpoints de velocidad media y 1024 bytes para velocidad alta. De hecho las transferencias isócronas solo se pueden usar en dispositivos de velocidad alta o media. En función de la cantidad de datos que se estén transmitiendo en un momento dado, en velocidad media porcentual de frame utilizado puede variar desde un 1% hasta un 69%, mientras que el porcentaje de microframe utilizado en velocidad alta varía entre un 1% y un 41%.

Tranferencias de interrupción

Utiliza tuberías stream. Este tipo de transferencia está diseñado para servicios que envían o reciben datos de forma infrecuente. Esta transferencia garantiza el máximo servicio para la tubería durante el periodo en el que envía. En caso de error al enviar los datos se reenvían en el próximo periodo de envío de datos.

El tamaño de paquete de datos máximo es de 1024 bytes para alta velocidad, 64 bytes para velocidad media y 8 bytes para baja velocidad. En ningún caso se precisa que los paquetes sean de tamaño máximo, es decir, no es necesario rellenar los paquetes que no alcancen el máximo. Cuando en una transferencia de interrupción se necesite transmitir más datos de los que permite el paquete máximo, todos los paquetes a excepción del último paquete deben de tener el tamaño máximo. De modo que la transmisión de un paquete se ha llevado a cabo cuando se ha recibido la cantidad exacta esperada o bien, se ha recibido un paquete que no alcanza el tamaño máximo. El porcentaje de (micro) frame utilizado ronda el 13% en velocidad baja y el 2.5% en velocidad media, mientras que en velocidad alta para cantidades similares utilizadas para obtener los anteriores porcentajes se obtienen resultados del 1%, pero para cantidades muy superiores se puede llegar a una utilización del 42%.

Transferencias de bultos (Bulk)

Hace uso de tuberías stream. Esta diseñado para dispositivos que necesitan transmitir grandes cantidades datos en un momento determinado sin importar mucho el ancho de banda disponible en ese momento. Esta transferencia garantiza el acceso al USB con el ancho de banda disponible, además en caso de error se garantiza el reenvío de los datos. Por lo tanto este tipo de transferencia garantiza la entrega de los datos pero no un determinado ancho de banda o latencia.

El tamaño máximo de paquete de datos para velocidad media es de 8, 16, 32 o 64 bytes, mientras que en velocidad alta es de 512 bytes. Los dispositivos de velocidad baja no disponen de endpoints con este tipo de transferencia. No es necesario que los paquetes se rellenen para alcanzar el tamaño máximo. El porcentaje de frame utilizado en velocidad media en función del número de bytes enviados varía entre el 1% y el 5%, mientras que el porcentaje de microframe en velocidad alta varía entre un 1% y un 5%, eso sí, teniendo en cuenta mayor cantidad de datos.

Protocolo

La forma en la que las secuencias de bits se transmiten en USB es la siguiente; primero se transmite el bit menos significativo, después el siguiente menos significativo y así hasta llegar al bit más significativo. Cuando se transmite una secuencia de bytes se realiza en formato “little-endian”, es decir del byte menos significativo al byte más significativo.

El primer campo de todo paquete de datos es el campo PID. El PID indica el tipo de paquete y por lo tanto, el formato del paquete y el tipo de detección de errores aplicado al paquete. En función de su PID podemos agrupar los diferentes tipos de paquetes en cuatro clases:

Tipo PID

Nombre

PID

Descripción

Token

OUT

0001B

Dirección + número de endpoint en una transacción host a función.

IN

1001B

Dirección + número de endpoint en una transacción función a host.

SOF

0101B

Indicador de inicio de frame (Start Of Frame) y número de frame.

SETUP

1101B

Dirección + número de endpoint en una transacción host a función para realizar un Setup de una tubería de control.

Data

DATA0

0011B

PID de paquete de datos par.

DATA1

1011B

PID de paquete de datos impar.

DATA2

0111B

PID de paquete de datos de alta velocidad, elevado ancho de banda en una transferencia isócrona en un microframe.

MDATA

1111B

PID de paquete de datos de alta velocidad para split y elevado ancho de banda en una transferencia isócrona.

Handshake

ACK

0010B

El receptor acepta el paquete de datos libre de errores.

NAK

1010B

El dispositivo receptor no puede aceptar los datos o el dispositivo emisor no puede enviar los datos.

STALL

1110B

Endpoint sin servicio o una petición de control sobre una tubería no está soportado.

NYET

0110B

Aún no se ha recibido una respuesta del receptor.

Special

PRE

1100B

(Token) Habilita trafico de bajada por el bus a dispositivos de velocidad baja.

ERR

1100B

(Handshake) Error de transferencia split.

SPLIT

1000B

(Token) Transferencia de alta velocidad split.

PING

0100B

(Token) Control de flujo sobre endpoints de tipo control o bulk.

Reservad

0000B

PID reservado.

Tabla : PIDs USB

Formato de los campos

Los paquetes se dividen en campos, a continuación se presenta el formato de diferentes campos.

Campo identificador de paquete PID

Es el primer campo que aparece en todo paquete. El PID indica el tipo de paquete, y por tanto el formato del paquete y el tipo de detección de error aplicado a éste. Se utilizan cuatro bits para la codificación del PID, sin embargo el campo PID son ocho bits, que son los cuatro del PID seguidos del complemento a 1 de esos cuatro bits. Estos últimos cuatro bits sirven de confirmación del PID. Si se recibe un paquete en el que los cuatro últimos bits no son el complemento a 1 del PID, o el PID es desconocido, se considera que el paquete está corrupto y es ignorado por el receptor.

USB%20campopid

Ilustración : Campo PID

Campo dirección

Este campo indica la función, a través de la dirección, que envía o es receptora del paquete de datos. Se utilizan siete bits, de lo cual se deduce que hay un máximo de 128 direcciones.

USB%20campodireccion

Ilustración : Campo dirección

Campo endpoint

Se compone de cuatro bits e indica el número de “enpoint” al que se quiere acceder dentro de una función, como es lógico este campo siempre sigue al campo dirección.

USB%20campoendpoint

Ilustración : Campo endpoint

Campo número de frame

Es un campo de 11 bits que es incrementado por el host cada (micro)frame en una unidad. El máximo valor que puede alcanzar es el 7FFH, si se vuelve a incrementar pasa a cero.

Campo de datos

Los campos de datos pueden variar de 0 a 1024 bytes. En el dibujo se muestra el formato para múltiples bytes.

USB%20campodatos

Ilustración : Campo de datos

Campo CRC

El CRC (Cyclic Redundancy Checks) se usa para proteger todos los campos no PID de los paquetes de tipo token y de datos. El CRC siempre es el último campo y se genera a partir del resto de campos del paquete, a excepción del campo PID. El receptor al recibir el paquete comprueba si se ha generado de acuerdo a los campos del paquete, si no es así, se considera que alguno o más de un campo están corruptos, en ese caso se ignora el paquete.

El CRC utilizado detecta todos lo errores de un bit o de dos bits. El campo de CRC es de cinco bits para los paquetes de tipo IN, SETUP, OUT, PING y SPLIT.

Formato de lo paquetes
Paquetes tipo token

Un token está compuesto por un PID que indica si es de tipo IN, OUT o SETUP. El paquete especial de tipo PING también tiene la misma estructura que token. Después del campo PID viene seguido de un campo dirección y un campo endpoint, por último hay un campo CRC de 5 bits.

En los paquetes OUT y SETUP esos campos identifican al endpoint que va a recibir el paquete datos que va a continuación. En los paquetes IN indican el endpoint que debe transmitir un paquete de datos. En el caso de los paquetes PING hacen referencia al endpoint que debe responder con un paquete “handshake”.

Paquete inicio de frame SOF

Estos paquetes son generados por el host cada un milisegundo en buses de velocidad media y cada 125 microsegundos para velocidad alta. Este paquete está compuesto por un campo número de frame y un campo de CRC de 5 bits.

Paquete de datos

Este paquete está compuesto por cero o más bytes de datos seguido de un campo de CRC de 16 bits. Existen cuatro tipos de paquetes de datos: DATA0, DATA1, DATA2 y MDATA. El número máximo de bytes de datos en velocidad baja es de ocho bytes, en media de 1023 bytes y en alta de 1024 bytes. El número de bytes de datos ha de ser entero.

Paquetes Handshake

Los paquetes “handshake”, en castellano apretón de manos, se utilizan para saber el estado de una transferencia de datos, indicar la correcta recepción de datos, aceptar o rechazar comandos, control de flujo, y condiciones de parada. El único campo que contiene un paquete de este tipo es el campo PID.

Existen cuatro paquetes de tipo “handshake” además de uno especial:

ACK: Indica que el paquete de datos ha sido recibido y decodificado correctamente. ACK sólo es devuelto por el host en las transferencias IN y por una función en las transferencias OUT, SETUP o PING.

NAK: Indica que una función no puede aceptar datos del host (OUT) o que no puede transmitir datos al host (IN). También puede enviarlo una función durante algunas fases de transferencias IN, OUT o PING. Por último se puede utilizar en el control de flujo indicando disponibilidad. EL host nunca puede enviar este paquete.

STALL: Puede ser devuelto por una función en transacciones que intervienen paquetes de tipo IN, OUT o PING. Indica que una función es incapaz de transmitir o enviar datos, o que una petición a una tubería control no está soportada. El host no puede enviar bajo ninguna condición paquetes STALL.

NYET: Sólo disponible en alta velocidad es devuelto como respuesta bajo dos circunstancias. Como parte del protocolo PING, o como respuesta de un hub a una transacción SPLIT indicando que la transacción de velocidad media o baja aún no ha terminado, o que el hub no está aún habilitado para realizar la transacción.

ERR: De nuevo sólo disponible en alta velocidad y de nuevo formando parte del protocolo PING, permite a un hub de alta velocidad indicar que se ha producido un error en un bus de media o baja velocidad.

Transacciones

Los paquetes de tipo token tiene como objetivo indicar el inicio de una transacción de datos de una determina forma.

Transferencia IN

La transacción empieza con el envío de un paquete de tipo IN por parte del host a un determinado endpoint en una función. Un endpoint cuando recibe un paquete de tipo IN debe comportarse como muestra la siguiente tabla:

Token recibido corrupto

Estado de endpoint

La función puede transferir los datos

Acción

Si

No responde

No

Deshabilitado

Envía STALL

No

Habilitado

No

Envía NAK

No

Habilitado

Si

Envía el paquete de datos

Tabla : Comportamiento en transferencia IN de endpoint

La respuesta que del host al recibir un paquete de datos en la transacción se puede observar en la siguiente tabla:

Paquete de datos corrupto

El host puede aceptar los datos

Respuesta del host

Si

Descarta el paquete, no responde

No

No

Descarta el paquete, no responde

No

Si

Envía ACK

Tabla : Comportamiento en transferencia IN de host

Sincronización mediante conmutación de bits

USB ofrece un mecanismo que garantiza la sincronización entre el emisor y el receptor de datos a lo largo de múltiples transacciones. La idea es garantizar que los dos sean conscientes de que los handshakes han sido recibidos correctamente. Para ello se utilizan los dos PID DATA0 y DATA1 que sólo varían en un bit. De manera que inicialmente tanto el emisor y el receptor están sincronizados en la secuencia de bits. De modo que, el que recibe datos conmuta su bit cuando puede aceptar datos y ha recibido un paquete de datos libre de errores. Por su parte el que envía conmuta su bit cuando recibe un ACK, tal que si el último paquete de datos tenía PID DATA0 el siguiente tendrá DATA1, y viceversa, además si todo ha salido bien, el PID del paquete coincidirá con la secuencia de bits del receptor.

Transacción OUT

El host envía un paquete OUT a un determinado endpoint y seguidamente envía el paquete de datos. Suponiendo que el endpoint ha decodificado correctamente el token, en caso contrario se ignora el token y lo datos, espera a recibir un paquete de datos. El comportamiento del endpoint cuando recibe el paquete de datos es el siguiente.

Paquete de datos corrupto

Estado del receptor

Coincidencia de la secuencia de bits

La función puede aceptar los datos

Acción

Si

No responde

No

Deshabilitado

Envía STALL

No

Habilitado

No

Envía ACK

No

Habilitado

Si

Si

Envía ACK

No

Habilitado

Si

No

Envía NAK

Tabla : Comportamiento en transferencias OUT del host

Transacción SETUP

La transacción SETUP es una transacción especial que tiene las mismas fases que una transacción OUT, que sólo se puede utilizar con endpoints de tipo control y cuya finalidad es la de indicar el inicio de la fase setup.

Las transferencias

En este apartado se muestra de forma general las transacciones que se realizan, y las particularidades de cada tipo de transferencia.

De forma general toda función en principio está esperando a que el host le envíe un paquete, si este paquete es de tipo token entonces cambia el estado de la función iniciándose una transacción. También se debe de tener en cuenta, que cuando o bien el host, o bien una función se encuentran en un estado que no es el de reposo, aparecen los timeouts como otra causa de error.

Transferencias de bulto (Bulk)

En las transferencias de bulto se puede hablar en parte de transacciones de bulto, pues la idea es enviar datos de paquete en paquete sin que tenga que haber un flujo de datos continuo. La diferencia reside en que si hablamos de transferencia, no se puede considerar que haya terminado hasta que el host haya conseguido enviar los datos, o bien que después de varios intentos fallidos de un error.

Cada transacción de bulto se puede dividir en tres fases: token, datos y “handshake”, si bien gracias al token PING pueden haber transacciones de dos fases: token y “handshake”. A continuación un esquema de una transacción de bultos.

USB%20bulkesquema

Ilustración : Transferencia bula

Transferencias de control

Estas transferencias constan de tres fases: transacción setup, fase de datos y transacción de estado. La transacción siempre la inicia el host, y sirve para enviar información de control para indicar al endpoint que se quiere realizar. El siguiente esquema representa una transacción setup.

USB%20setupesquema

Ilustración : Transferencias de control

A continuación se inicia la fase de transferencia de datos, que consiste en una secuencia de transacciones de datos siempre en la misma dirección alternando DATA0 y DATA1. Esta fase no es obligatoria, la dirección se establece en la fase setup. Finalmente tiene lugar una transacción estado, esta transacción es idéntica a una transacción de bultos. La dirección de esta transacción es siempre la contraria a la de la fase de transferencia de datos, y si esta no exisitiese, la dirección es del endpoint al host.

Transferencias de interrupción

Las transferencias de interrupción son solamente transacciones de tipo IN y OUT. Desde el punto de vista de las transacciones es muy similar a una transferencia de bultos. A continuación el esquema de una transacción de interrupción.

USB%20interrupcionesquema

Ilustración : Transferencia de interrupción

Transferencias isócronas

Una transferencia isócrona se plantea como una secuencia de transacciones muy sencillas para enviar o recibir datos. Estas transacciones no utilizan “handshakes” y por lo tanto no se reenvían paquetes, ya que el objetivo de la transferencia es simular un flujo constante de datos. A continuación un esquema de una transacción.

USB%20isoesquema

Ilustración : Transferencias isócronas

Características eléctricas

Identificación de la velocidad del dispositivo

Para poder iniciar cualquier tipo de transacción cuando se conecta el dispositivo al host, es necesario que este conozca la velocidad a la que trabaja. Con esa finalidad existe un mecanismo a nivel eléctrico. La diferencia entre los dispositivos de velocidad media y los de velocidad baja, es que en velocidad media tiene una resistencia conectada al D+, en velocidad baja la misma resistencia se encuentra en D- y no en D+ como se puede observar en los dibujos.

USB%20identificacion

Ilustración : Identificación de la velocidad del dispositivo

De forma que después del reset el estado de reposo de la línea es diferente si se trata de baja o media velocidad. En el caso de dispositivos de alta velocidad lo que se hace es que en un principio se conecta como un dispositivos de velocidad media y mas tarde a través de un protocolo se pasa a velocidad alta.

Codificación de datos

El USB utiliza la codificación NRZI para la transmisión de paquetes. En esta codificación los “0” se representan con un cambio en el nivel, y por el contrario los “1” se representan con un no cambio en el nivel. De modo que las cadenas de cero producen transiciones consecutivas en la señal, mientras que cadenas de unos produce largos periodos sin cambios en la señal. A continuación un ejemplo:

USB%20nrzi

Ilustración : Codificación de datos NRZI

Relleno de bits

Debido a que cadenas de unos pueden producir largos periodos en los que la señal no cambia dando lugar a problemas de sincronización, se introducen los bits de relleno. Cada 6 bits consecutivos a “1” se inserta un bit a “0” para forzar un cambio, de esta forma el receptor puede volverse a sincronizar. El relleno bits empieza con el patrón de señal Sync. El “1” que finaliza el patrón de señal Sync es el primer uno en la posible primera secuencia de seis unos.

En las señales a velocidad media o baja, el relleno de bits se utiliza a lo largo de todo el paquete sin excepción. De modo que un paquete con siete unos consecutivos será considerado un error y por lo tanto ignorado.

En el caso de la velocidad alta se aplica el relleno de bits a lo largo del paquete, con la excepción de los bits intencionados de error usados en EOP a velocidad alta.

Sync

Teniendo en cuenta que K y J representan respectivamente nivel bajo y nivel alto, el patrón de señal Sync emitido, con los datos codificados, es de 3 pares KJ seguidos de 2 K para el caso de velocidad media y baja. Para velocidad alta es una secuencia de 15 pares KJ seguidos de 2 K. A continuación el caso de velocidad media y baja:

USB%20sync

Ilustración : Señal Sync

El patrón de señal Sync siempre precede al envío de cualquier paquete, teniendo como objetivo que el emisor y el receptor se sincronicen y se preparen para emitir y recibir datos respectivamente.

Si partimos de que el estado de reposo de la señal es J, podemos interpretar Sync como una secuencia impar de “0’s” y un “1” que se inserta antes de los datos.

EOP

A todo paquete le sigue EOP, cuya finalidad es indicar el final del paquete.

En el caso de velocidad media y baja el EOP consiste en que, después del último bit de datos en el cual la señal estará o bien en estado J, o bien en estado K, se pasa al estado SE0 durante el periodo que se corresponde con el ocupado por dos bits, finalmente se transita al estado J que se mantiene durante 1 bit. Esta última transición indica el final del paquete.

En el caso de la velocidad alta se utilizan bits de relleno erróneos, que no están en el lugar correcto, para indicar el EOP. Concretamente, el EOP sin aplicar codificación consisitiría en añadir al final de los datos la secuencia 0111 1111.

Cable de velocidad baja

Al igual que el cable fijo de alta y media velocidad tiene un conector macho de Serie A en un extremo, mientras que el otro depende del fabricante. La diferencia es que este tipo de cables sólo funciona con dispositivos de velocidad baja.

Contacto

Señal

Cable

1

VBUS

Rojo

2

Datos-

Blanco

3

Datos+

Verde

4

GND

Negro

Tabla : Cable de velocidad baja

Descripción general

Sistema%20descripcion

Ilustración : Descripción general

En la anterior ilustración se describe de forma general todo el sistema INTE. El usuario se comunica mediante el PC en un entorno Windows para medir variables eléctricas con el INTE. Se puede apreciar claramente dos bloques:

  1. PC

En este soporte se ejecuta la aplicación ‘ProvaR.exe’ que sirve para demostrar el potencial del sistema. Este ejecutable accede al INTE mediante un conjunto de archivos según aparecen en el dibujo: ‘InteDrv32.dll’ y ‘InteUSB32.dll’, que implementan las funciones del INTE y las comunicaciones USB respectivamente; ‘InteDrv.sys’ y el ‘Host Controller Driver’ que proporcionan nuevas API’s a Windows y el driver del hardware USB de placa base respectivamente.

  1. INTE

Éste esta constituido básicamente por un bus denominado Tarjeta de Enlace (TE) en el cual se conectan el resto de placas: la Tarjeta Base de Control USB (TBCU), que se encarga de las comunicaciones USB y el control de todo el INTE, gracias a su software residente en memoria ‘FirmwareTBCU.hex’; la Tarjeta de medición de Voltaje, Intensidad o Resistencia (TVIR), que como su nombre indica es la que adquiere la información del exterior; y las Tarjetas de Conmutación Analógica (TCA), cuya función es realizar caminos entre los puntos de medida y la TVIR

Hardware

Sistema%20des%20hard

Ilustración : Sistema de Adquisición de Datos INTE

En la ilustración anterior observamos el Sistema de Adquisición de Datos INTE, los elementos con los que está constituido y cómo se relaciona con el exterior. De izquierda a derecha identificamos la fuente de alimentación, conectada a tensión de línea; la Tarjeta Base de Control USB TBCU, conectada al PC mediante el bus USB; la Tarjeta de medición de Voltaje, Intensidad y Resistencias TVIR; y finalmente las Tarjetas de Conmutación Analógica, que mediante cables planos se conectan los elementos a medir.

Todas las tarjetas, así como la fuente de alimentación, están conectadas entre si mediante la Tarjeta de Enlace TE, que realiza la función de ‘backplane’.

El sistema modular

TE6%20des

Ilustración : El sistema modular

El sistema modular se consigue mediante un ‘backplane’ que lo llamamos Tarjeta de Enlace TE. Existen dos modelos, la primera es la TE6 de seis conectores de bus, y la segunda es la TE17 de 17 conectores de bus.

En todos los conectores de bus se pueden conectar periféricos como tarjetas TCA, a excepción del primero, que está dedicado a la fuente de alimentación, y el segundo, que esta reservado para la tarjeta TBCU o equivalente. Sólo existen dos tipos de conectores físicamente diferentes, un tipo es el conector de alimentación y el resto es el otro tipo.

La TE es un ‘backplane’ pasivo, sin compensar, es decir sin elementos activos como semiconductores, ni impedancias de terminación de línea. Se caracteriza por 8 líneas de datos, 4 de direcciones, 3 de control, 4 analógicas, 4 de alimentación y 1 línea extra por cada periférico.

Subsistema de control y comunicaciones USB

TBCU%20des

Ilustración : Subsistema de control y comunicaciones USB

La Tarjeta Base de Control USB para los amigos TBCU, se encarga de controlar todo el Sistema de Adquisición de Datos INTE, y también las comunicaciones USB. De derecha a izquierda, observamos el conector de bus para la conexión con la TE, debiéndose utilizar sólo el conector de bus master. Seguidamente encontramos el Conector de Piso, que otorga la posibilidad de expansión a otro piso, con un total máximo de 6. En la parte izquierda identificamos el conector para el cable USB y un conjunto de leds que informan sobre las tensiones del sistema y del estado de la propia TBCU.

Está diseñada alrededor del microcontrolador de la familia 8051 con ‘interface’ USB, éste ejecuta un programa que está ubicado en una memoria SRAM de 32 kBy. En el diseño interviene muy activamente un PLD de Altera de la familia MAX300, que se caracteriza por un gran número de pines, a un precio muy razonable, sus funciones son la de implementar toda la lógica discreta del la tarjeta, así como la de ‘interface’ entre 5 V y 3,3 V. Mediante un ‘jumper’ ubicados cerca del conector de bus (selección de piso), se habilita un decodificador de 4 a 16 para generar las señales de selección de periféricos. El resto de elementos son ‘buffer’ bidireccionales del tipo 245, utilizados como cabeceras de bus.

La TBCU posee un sensor digital de temperatura y una memoria EEPROM (no presentes en la ilustración), ambos se comunican con el microcontrolador mediante el bus I2C; el primero interviene en el control de la ventilación del INTE cuando este es de grandes dimensiones; y el segundo almacena los identificadores del dispositivo USB (TBCU) que son el identificador del vendedor VID y el identificador del dispositivo PID.

Subsistema de medida

TVIR%20des

Ilustración : Subsistema de medida

La Tarjeta de medición de Voltajes, Intensidades y Resistencias, fue concebida como un multímetro digital, con la capacidad de medir pequeñas tensiones o corrientes y mediciones de resistencias a 2, 4 o 5 hilos. De derecha a izquierda, observamos el conector de bus para la conexión con la TE, pudiéndose utilizar cualquier conector de bus para periférico. En el extremo izquierdo identificamos los 5 conectores necesarios para realizar todos los tipos de mediciones deseados.

Está diseñada alrededor de un PLD de Altera de la familia MAX 7000, se caracteriza por 128 macrocélulas de memoria y 84 pines. Sus funciones son las de controlar todos los componentes de la tarjeta, así como la comunicación mediante el bus TE. La tarjeta también posee una memoria de 8 kBy para realizar adquisiciones de datos en modo ráfaga. Mediante un buffer 245 se comunica con el backplane TE.

El sistema analógico de adquisición está constituido por el conversor analógico digital ADS7806 de 12 bits, que es compatible con el ADS7807 que es de 16 bits. A continuación se puede identificar un amplificado de ganancia variable PGA aunque en realidad son dos concatenados, mediante éstos se obtienen 7 posibles ganancias.

Para la medición de resistencia es necesaria una corriente constante y además debe ser variable para poder medir en un amplio rango, por lo tanto fue necesaria la implementación de una fuente de corriente controlada digitalmente. Para ello se optó por un conversor digital analógico AD7945 de 12 bits, que es la entrada de un conversor tensión corriente.

A modo ilustrativo se presenta la siguiente la siguiente figura:

Sistema%204H

Ilustración : Multímetro de 4 hilos

En la ilustración anterior se puede apreciar cómo debería ser el conjunto TVIR de 4 hilos con el ‘backplane’ TE. Esquemáticamente se puede apreciar la fuente de corriente que proporciona una intensidad de Iout y un amplificador de instrumentación.

La configuración anterior el la típica de un multímetro de baja tensión con la capacidad de medir resistencia d 4 hilos. Para realizar la medición de corriente lo es necesario ubicar una resistencia entre los terminales positivo y negativo del amplificador.

Subsistema de medida definitivo

TVIR%20des%202

Ilustración : Subsistema de medida real

El diseño inicial de la TVIR es el que se ha presentada en la ilustración anterior, pero se produjo un error de diseño al escoger el módulo de conversión de tensión a corriente. Éste fue una fuente de corriente Howland, que presento una muy mala respuesta frente a variaciones de carga.

Como en el momento que se implementó el sistema había mucha prisa por el plazo de entrega, se tuvo que reaprovechar el circuito y no se pudo rehacer. Se Optó por cambiar la filosofía de medición de resistencias.

El criterio inicial de medida fue utilizar una fuente de corriente constate para aplicar la ley de Ohm, de esta manera podía realizar mediciones a 2 y 4 hilos. Como no era una especificación necesaria la medición a 4 hilos se decidió descartarla y utilizar sólo la de 2 hilos.

Finalmente se optó por utilizar el principio de divisor de tensión para realizar la medición de resistencias, de ahí que el ‘nuevo’ diseño de la TVIR aparezca una resistencia y desaparezcan el conversor digital analógico y la el conversor tensión corriente.

En la siguiente ilustración se puede apreciar cómo quedó finalmente el esquema electrónico de medición de resistencias

Sistema%202H

Ilustración : Medición por divisor de tensión

Se puede observar que el principio de medición es el de divisor de tensión. Para deducir la resistencia incógnita lo que se realiza es la medición de la caída de tensión sobre una resistencia de sensado, esto es la medición indirecta de la corriente que circula por el divisor de tensión.

En esta configuración, sólo se puede realizar la medición de resistencias. Se puede observar que se han reducido sustancialmente las prestaciones iniciales que se pretendían alcanzar.

Subsistema de conmutación

TCA%20des

Ilustración : Subsistema de conmutación

La Tarjeta de medición de Conmutación Analógica tiene por objetivo en enrutamiento de las señales eléctricas entre las cargas o variables a medir y la tarjeta de medición TVIR. En la derecha, observamos el conector de bus para la conexión con la TE, pudiéndose utilizar cualquier conector de bus para periférico. En el extremo izquierdo identificamos otro conector con las mismas características que el conector de bus, pero esta está destinado para la conexión con el exterior.

Está constituida por 56 puntos de conexión, cada uno de los puntos se pueden conectar a cualquiera de los dos canales internos de la tarjeta, éstos a su vez se encaminan hacia el conector de bus.

El componente clave del diseño es el conmutado analógico de 4 canales DG442 o su homólogo de mejores características MAX313. Cada pareja de estos conmutadores está gobernado por un octal flip-flop tipo D 273.

Está conjunto esta controlado por un PLD de Altera de la familia MAX 7000, se caracteriza por 64 macrocélulas de memoria y 44 pines. Sus funciones son las de decodificar las direcciones provenientes del conector de bus así como las señales de control de lectura, escritura y reset.

En un sistema típico de adquisición de datos se utilizan numerosas TCA y una TVIR. De esta forma se consigue tener muchos canales de medición sin aumentar excesivamente el coste del sistema, ya que sólo una tarjeta es la que se encarga de medir. Se debe tener en cuenta que esta filosofía de trabajo implica que la velocidad de adquisición de datos se va reduciendo proporcionalmente al número de canales utilizados (característica típica de los sistemas multiplexados).

El circuito resultante es el siguiente:

Sistema%202H%20TCA

Ilustración : Esquema de medición

En la ilustración anterior se puede apreciar el conjunto final de medición de resistencias. La tarjeta TVIR en configuración de medición mediante divisor de tensión, el ‘backplae’ TE encargado de trasmitir las señales analógicas a lo largo del bus y la tarjeta TCA para conmutar las señales analógicas y así poseer muchos canales de medición.

Cabe hacer la anotación que podrían haber numerosas tarjetas TCA, para alcanzar así un gran número de canales de medición.

Software

Sistema%20des%20soft

Ilustración : Descripción general del software

En la ilustración anterior podemos observar la descripción general del software que participa en el sistema de adquisición de datos. Se presenta un diagrama de capas de forma similar al descrito en el apartado del bus USB, las líneas verticales es la comunicación real de datos y las líneas horizontales son las comunicaciones virtuales de datos a excepción del cable USB que circulación real, también podemos distinguir tres capas:

  • Capa interfaz de bus USB que es la capa física
  • Capa de dispositivo USB que es la capa lógica
  • Capa funcional que es la capa funcional

A diferencia del diagrama de capas del USB presentado en el apartado de especificaciones técnicas del bus USB que era genérico, en el que presentamos en este apartado es específico de la aplicación. La ilustración contempla el hecho de utilizar el microcontrolador Cypress EZ-USB y el software que interviene de este fabricante.

El microcontrolador implementa la capa física del USB, esto es, el transceiver y el SIE (“Serial Interface Engine”). Esta es una de la soluciones posible de implementación, otra muy típica con un nivel de integración menor, es la utilización de un microcontrolador genérico y un periférico USB.

Cypress%20Diagrama%20de%20bloques%20simplificado

Ilustración : Diagrama de bloques simplificado del microcontrolador

El SIE decodifica y codifica los datos serie e implementa la corrección de errores, el relleno de bits, y otros detalles de señales requeridos por el USB y en última instancia transferencia de datos de y hacia el interfaz USB.

El microprocesador interno del EZ-USB es una mejora del 8051 con tiempo de ejecución rápido y nuevas características. Utiliza memoria interna RAM (también puede ser externa) para almacenar el programa y el código, convirtiendo a la familia EZ-USB en una solución software de la implementación. El controlador host descarga el código de programa y la personalidad del dispositivo del 8051 en la memoria RAM a través del bus USB, y entonces el chip EZ-USB re-conecta como un dispositivo personalizado cómo define el código cargado. El código o firmware que se descarga es el archivo InteDrv.sys de la primera ilustración del apartado.

La familia EZ-USB usa una mejora del interfaz SIE/USB (llamado núcleo USB) el cual tiene la inteligencia de funcionar como un dispositivo USB completo incluso antes que el 8051. La mejora del núcleo simplifica el código del 8051 implementando por si mismo mucho del protocolo USB.

La capa funcional abarca la aplicación del cliente, en el lado del PC está la librería de enlace dinámico ‘InteUSB32.dll’ la cual encapsula las llamadas a las API’s de Windows. También se desarrolló la biblioteca dinámica ‘InteDrv32.dll’ que es el último nivel de abstracción al hardware, permitiendo un interfaz amigable para el programador final. Por último está la aplicación ‘ProvaR.exe’ que sirve para ejemplificar el acceso al hardware. En el lado del microcontrolador tenemos el ‘FirmwareTBCU.hex’ que es el resultado del compilador Keil para 8051, este archivo esta empotrado dentro de ‘InteDrv.sys’ el cual se encarga de descargar el firmware en el encendido de la máquina (INTE).

Enumeración

Este término es muy utilizado dentro de las especificaciones del bus USB, consiste en lo siguiente. Cuando el PC está encendido. Conectas un dispositivo USB, y Windows cambia el cursor por un reloj de arena y luego vuelve al cursor al estado inicial. Mágicamente, el dispositivo es conectado y su driver de Wiondows es cargado. Esto es un auténtico Plug and Play.

¿Qué ha sucedido automáticamente? Dentro de cada dispositivo USB hay una tabla de ‘descriptores’ que son la suma total de los requerimientos y características de los dispositivos. Cuando se conecta en el USB, el host realiza la siguiente secuencia:

  • El host envía una petición “Get_Descriptor/Device” a la dirección cero (el dispositivo debe responder mediante la dirección cero tras su primera conexión)
  • El dispositivo responde a la petición devolviendo un PID de datos diciendo quien es
  • El host envía al dispositivo una petición de”Set_Address”, la cual da una única dirección para distinguirlo de otros dispositivos conectados en el bus.
  • El host envía mas peticiones de “Get_Descriptor”, preguntando más información al dispositivo. De esta forma sabe cuantos end-points posee, sus requerimientos de energía, el ancho de banda necesario y que driver cargar.
Re-Enumeración

Como hemos dicho, la familia EZ-USB tiene la característica ‘soft’, esto es, poder cambiar la identidad del chip en múltiples momentos. En el inicio de la conexión del periférico, el primer driver descarga el firmware en el 8051 y las tablas de descriptores mediante el cable USB. Una vez ha sido descargado el firmware, otro driver se carga totalmente diferente según especifique el firmware. Este segundo proceso, se llama Re-Enumeración, sucede en la conexión inicial del dispositivo USB.

Para mas información sobre el microcontrolador remítase a la documentación técnica del anexo, en concreto “EZ-USB Technical Reference Manual”.

Archivos de sistema

Los archivos de sistema pertenecen al núcleo del sistema operativo, esto quiere decir que para compilarlos es necesario utilizar DDK (Developer Driver Kit). Si se utiliza Windows 2000 o posterior debe hacerse la instalación en modo administrador.

InteUSB.inf

Este no es un archivo compilado, es simplemente de texto. Se utiliza en el procedimiento de instalación del hardware. En su interior asocia el identificado del periférico con un driver en concreto.

Debido a las características de este microcontrolador existen dos asociaciones como mínimo, la primera para la Enumeración y la segunda par la Re-Enumeración. En el anexo de Código fuente puede observarse la implementación de este archivo.

InteLdr.sys

Este archivo es el encargado de descargar el firmware en el microcontrolador 8051. Es durante el proceso de Enumeración descrito en los apartados anteriores cuando este archivo entra en acción.

Cuando le llega por primera vez la alimentación al 8051, Windows identifica el periférico y utiliza el archivo InteLdr.sys como driver, éste en su interior almacena el firmware, que en nuestro caso proviene de un compilador de 8051 (Keil). El firmware se descarga y en consecuencia se provoca la Re-Enumeración, que provoca que se cargue otro driver, ‘InteDrv.sys’ descrito en el siguiente apartado.

El armazón de este archivo viene dado por el fabricante del microcontrolador, Cyprees.

InteDrv.sys

Este archivo es un driver de propósito general proporcionado por Cypress, permite el acceso al hardware mediante aplicaciones en SDK, es decir, las que no son en modo kernel de Windows.

Para trabajar con este archivo se disponen de tres funciones de API:

  • CreateFile: ésta retorna un handle (manejador) de un dispositivo.
  • CloseHandle: cierra un handle anteriormente abierto.
  • DevideIoControl: esta función implementa todos los tipos de transferencia USB, así como la lectura de sus descriptores, etc.

Para una información más detallada puede referirse al anexo de especificaciones técnicas y leer el documento ‘EZ-USB General Purpose Driver Spec.pdf’

Bibliotecas de Enlace Dinámico

Las bibliotecas de enlace dinámico han sido compiladas en modo SDK, es decir, en modo no kernel. Tienen por objetivo la implementación de un interfaz amigable para la aplicación final, que pretende acceder al hardware.

InteUSB32.dll

InteUSB32%20des

Ilustración : Descripción de InteUSB32.dll

En la ilustración anterior se presentan las funciones de la biblioteca ‘InteUSB32.dll’. Esta DLL accede a las API’s proporcionadas por el driver ‘InteDrv.sys’ para implementar la apertura y el cierre del hardware, y también las transferencias de tipo bulk.

En la parte superior proporciona una única función de acceso cuyos parámetros son el número de operación que se pretende realizar con el hardware y el buffer de lectura y el des escritura. El driver ‘InteDrv.sys’ tiene las característica que debe conocerse el tamaño de información a leer antes de realizar la escritura. Esta situación es razonable, ya que el host (PC) es el master del bus, es decir, el que toma la iniciativa y en todo momento sólo él sabe lo que quiere leer, o lo que es lo mismo, cuan grande será la respuesta.

InteDrv32.dll

InteDrv32%20des

Ilustración : Descripción de InteDrv32.dll

Esta DLL es el mayor grado de abstracción. Por debajo accede a la DLL descrita anteriormente, con la función ‘Connecta’, por arriba proporciona la función ‘GetR’. Los parámetros de esta función son la carta y el borne de un extremo de medida, la carta y el borne del otro extremo de medida y retorna el valor de la medida realizada mediante un puntero a un ‘double’.

Obsérvese que de cara al programador final, el que realiza la aplicación ejecutable, se le proporciona un interfaz muy amigable y sencillo, las dos cartas bornes y el resultado. Esta DLL también implementa un gran número de funciones para la comprobación de la continuidad del cableado, pero no se han descrito aquí porque los algoritmos no los desarrolló el autor de este proyecto.

Aplicación ProvaR.exe

Para ejemplificar el potencial de sistema se presenta una aplicación basada en un diálogo, con algunas de las opciones posibles de medida de resistencias. En las siguientes ilustraciones se pueden apreciar las capturas del programa.

Captura%20ProvaR%20measure%201

Captura%20ProvaR%20measure%20n

Ilustración : Mediaciones de ProvaR.exe

En la parte superior izquierda se puede apreciar un cuadro de texto de sólo lectura que dice TVIR POS, esto es la posición de la TVIR dentro del equipo. De forma análoga también podemos identificar TCA POS que es la posición inicial de las TCA’s y el número que hay presente TOT. Estos valores se almacenan en un archivo de configuración, que se carga en la inicialización, llamado HETOS.ini.

A continuación podemos identificar la carta borne A y la carta borne B, que son los puntos sobre los que se realizan la medida. Son cuadros de texto en los que se puede escribir cualquier valor dentro de los permitidos

La fila de botones son las funciones implementadas por la aplicación. Primero esta la mediada de una sola muestra, que correspondería a una llamada a la función ‘GetR’ descrita anteriormente. Este caso se puede apreciar en la ilustración de la izquierda, donde se puede apreciar que se han realizado 8 operaciones de este tipo con diferentes valores de cartas bornes.

En la ilustración de la derecha se ha realizado la medida de 20 adquisiciones sobre una misma carta borne, la aplicación muestra un diálogo con la media aritmética de las 20 muestras y con el valor superior e inferior.

Captura%20ProvaR%20test

Ilustración : Medida con patrón de ProvaR.exe

En esta última pantalla captura se presenta el proceso de calibración del sistema y comprobación de todos los puntos de test. Consiste en un conjunto de resistencia metálicas del 1% de tolerancia distribuidas como se presenta el la columna de ‘Real value’, este conjunto es leído y presentado en la columna de ‘Measured value’ y finalmente se presenta el porcentaje de error en la columna de ‘Error’. Obsérvese que el error siempre es inferior al 5% que era la especificación deseada.

El sistema permite ser calibrado mediante un offset de resistencia que se resta a cualquier valor leído, este valor viene dado por el archivo de configuración HETOS.ini. Esto es necesario debido a la existencia de numerosos conmutadores analógico en la ruta de mediación, pero sólo es significativo para valores de medida bajos.

Especificaciones del sistema

El sistema de adquisición de datos presentado presenta las especificaciones siguientes:

 

Mínimo

Máximo

Numero de tarjetas TCA

1

62

Número de puntos de test analógicos

56

3472

Numero de tarjetas TD (Tarjeta digital)

1

63

Número de puntos de test digitales

64

4032

Resolución en bits

12

16

Margen de medición en Ω

10

10 M

Error de medida

5%

Tabla : Especificaciones del sistema

Sistema Modular de Adquisición de Datos

Memoria de Cálculo

AUTOR: Raúl Bartolomé Castro.

DIRECTOR: Alfonso Romero Nevado.

FECHA: Octubre / 2004.

Hardware

Tarjeta de Enlace (TE)

Arquitectura

TE6%20calculo

Ilustración : Arquitectura de TE

La Tarjeta de Enlace, es un ‘backplane’ pasivo para una tarjeta maestra y 5 tarjetas periféricas. Es del tipo pasivo sin compensar dada la corta distancia de las líneas de transmisión y baja frecuencia de las comunicaciones. Físicamente está constituido por un conector de alimentación y 6 conectores del tipo DIN industrial.

La arquitectura de la Tarjeta de Enlace consta de los siguientes elementos, de arriba a bajo podemos identificar:

  • 4 líneas analógicas. Para realizar medidas a 2 y 4 hilos
  • 4 tensiones: 0 V, 5 V, 15 V y -15 V
  • Un bus de datos de 8 bits
  • 4 líneas de direcciones. Se suelen utilizar para direccionar bytes dentro de las tarjetas periféricos
  • 3 líneas de control: lectura, escritura y reset
  • Una línea de selección para cada periférico

De la ilustración anterior se deduce que este ‘backplane’ es mono-master, ello viene dado porque las líneas de selección de periférico salen del conector maestro.

Tarjeta Base de Control USB (TBCU)

Arquitectura

TBCU%20calculo

Ilustración : Arquitectura de TBCU

La Tarjeta Base de Control USB (TBCU), tiene diversas competencias, seguidamente se enumeran:

  • Es la tarjeta master del bus, por lo tanto controla a todos los periféricos de la Tarjeta de Enlace. Genera las señales de selección de periférico.
  • Posee el firmware del equipo de adquisición de datos, por lo tanto es la parte inteligente del sistema. Posee los algoritmos de control y de comprobación.
  • Se encarga de realizar las comunicaciones USB con el PC
  • Realiza tareas adicionales como la medida de la temperatura del equipo y almacenamiento en memoria no volátil la información de identificación USB

La arquitectura de la TBCU consta de los siguientes bloques

  • Microcontrolador. Es el elemento clave de la tarjeta.

Este microcontrolador es de la familia 8051 con numerosas mejoras, también posee el interfaz USB (D+, D-) que se conectar al conector USB, utilizando un supresor de transitorios.

Alrededor de éste podemos identificar un sensor de temperatura y una memoria EEPROM serie, ambos elementos son accedidos mediante el bus I2C (SDA, SDL). El Sensor de temperatura se utiliza para informar al PC de la temperatura del equipo. Gracias a la memoria EEPROM poseemos memoria no volátil para almacenar la información que se desee, pero su mayor utilidad es la de guardar el PID (identificador de producto) de de USB y de esta manera descargar el firmware adecuado.

Existen un conjunto de diodos leds para indicar el estado del sistema, por un lado las tensión de alimentación de 3.3 V, 5 V y 15 V, y el resto de leds para sobre temperatura, conexión USB y acceso al bus USB y acceso al bus TE.

Finalmente el microcontrolador almacena el código de programa y las variables en memoria SRAM de 32kBy. Esta memoria es controlada por la PLD, que como se puede observar forman una unión muy compacta.

  • Dispositivo Lógico Programable. Sirve de apoyo al microcontrolador y se enlaza con el interfaz con la Tarjeta de Enlace.

La utilización principal de la PLD es para sustituir la típica lógica discreta de estos tipos de diseños electrónicos, reduciendo el tiempo de desarrollo, asegurando un acierto en el diseño y sin sacrificar mucho el precio.

El chip recibe del microcontrolador las señales de control de habilitación de programa (PSEN), escritura (Wr), lectura (Rd), reset (Rst), el reloj de 24MHz (Clk1), otro de baja frecuencia programable por interrupción (Clk2), las 16 direcciones y las 8 señales de datos.

Por un lado se encarga de controlar la memoria SRAM mediante las señales lectura (RdR), selección (CsR) y la dirección más alta (A14R), Por otro lado prepara las señales para el interfaz de la TE.

  • Interfaz de Tarjeta de Enlace. Permite la conexión con la Tarjeta de Enlace y controla ‘backplanes’ si los hubiera.

La función principal de este bloque es la de implementar el interfaz entre la PLD y la TE. Está constituida básicamente por buffers. Con éstos se alcanzan los niveles de 5V, ya que la PLD trabaja a 3.3 V aunque es tolerante a los 5 V.

La primera columna de buffers tiene como objetivo permitir la conexión con otros ‘backplanes’ TE si los hubiera. La segunda columna de chips tiene por objetivo proporcionar más energía a las señales de datos, control y direcciones.

Finalmente mediante un decodificador de 4 a 16 se generan las señales de selección de periféricos (en el TE presentada el proyecto sólo se utilizan 5) y con el selector se obtiene la señal de selección de piso (CsP).

Microcontrolador

El EZ-USB utiliza un conjunto el conjunto de instrucciones estándar del 8051, de esta manera se pueden utilizar compiladores y ensambladores estándares de la familia 8051. Pero posee las siguientes mejoras:

  • Ejecución de instrucciones en 4 ciclos en lugar de los 12 del chip estándar
  • Trabaja a 24 MHz
  • Dos punteros de datos
  • Dos UART’s
  • Tres temporizadores de 16 bits
  • Interfaz de alta velocidad para memoria sin multiplexar el bus de direcciones que es de 16 bits
  • 8 interrupciones extras
  • Instrucción MOVX variables para RAM más o memos rápidas
  • 3.3 V de trabajo
  • Dos auto-punteros que son punteros de datos auto-incrementables
  • Interrupciones USB vectorizadas
  • Modo ahorro de energía con dos fuentes para despertarlo
  • Un controlador I2C que trabaja a 100 o 400 kHz
  • SFR’s específicos para USB

En la siguiente tabla presento de una comparativa del microcontrolador con algunos de sus competidores:

Tabla : Comparación entre el 8051 EZ-USB y algunos competidores

En la siguiente ilustración se presenta un esquema electrónico del microcontrolador la memoria SRAM, se han omitidos algunos elementos para no despistar a la hora de comprender el diseño:

TBCU%208051

Ilustración : Microcontrolador

EL conector J4 es el de USB que se conecta directamente al 8051 mediante unas resistencias cómo recomienda el fabricante, gracias al integrado U10 se suprimen los transitorios del bus. La señal DIS conectada a la resistencia R3 sirve para hacer la Conexión y RE-Conexión USB descrita en la memoria descriptiva.

Se puede observar una de las características principales, que el 8051 tiene doble puerto, en la izquierda las direcciones y datos y en la derecha los puertos estándares del 8051. La memoria se conecta directamente a excepción de la dirección A14_1 que sirve para ubicar la memoria en la parte alta o baja del mapa de memoria, y las señales de selección CE1 y lectura WRn.

En la parte de la derecha identificamos los periféricos I2C, el U14 es un termómetro que proporciona la temperatura actual y activa la señal Temp provocando una interrupción cuando se supera un umbral de temperatura programado. El chip U11 es una memoria EEPROM que almacena el identificador USB de fabricante y periférico, con el selector J12 se selecciona entre un conjunto posible de este tipo de memoria.

El resto de señales son de actuación sobre los leds (las que empiezan por E), otras para el desarrollo como las de comunicación serie (RX, TX), las de AUX se llevan a la PLD para aplicaciones auxiliares y las de AMP van a un conector a depilación no utilizado.

Dispositivo Lógico Programable (PLD)

Las PLD’s es un elemento común en casi todos los diseños. Se utilizan para sustituir la electrónica discreta y como beneficios se obtiene una velocidad alta de diseño del esquemático y el PCB, también se asegura que el diseño será bueno o como mínimo aprovechable y todo aumentando apenas el coste del sistema. Seguidamente se presenta algunas de las características más significativas de este modelo que es de la familia MAX3000 de Altera:

  • 3.3 V programable en el propio sistema (ISP) gracias al interfaz JTAG con posibilidad bloque del chip
  • Con ‘boundary-scan test’ (BST)
  • Alta densidad de puertas de 600 a 5000
  • Retardos de 4.5 ns de pin a pin con frecuencias de de hasta 227,3 MHz
  • Interfaz MultiVolt I/O habilitando al núcleo del dispositivo a trabajar a 3,3 V, mientras que las I/O son compatible con 5,0 V, 3,3 V y 2,5 V
  • Rango de pines de 44 a 208, con encapsulados TQFP, PQFP y PLCC
  • PCI compatible
  • Control del ‘slew-rate’ y opción de drenador abierto
  • Macro células programables con individual señal de borrado, reset, reloj, y habilitador de reloj
  • Software de diseño Altera MAX-PLUS II basado en el sistema operativo Windows y otras plataformas

En la siguiente tabla presento las características más remarcables de la familia MAX3000 de Altera:

TBCU%20PLD

Tabla : Características de la familia MAX3000

La característica fundamental que se buscaron a la hora de escoger la PLD fue un gran número de pines a un precio bajo, en este caso escogí la EPM3064 con 66 pines utilizables que tiene un precio de 4,5 €.

En la siguiente ilustración se presenta el diseño de este bloque, se han incluido sólo los elementos más significativos:

TBCU%20PLD2

Ilustración : Dispositivo Lógico Programable

La parte de la derecha es la que está conectada con el microcontrolador, que son las señales de dirección, datos y control, así como unas señales adicionales de propósito general (AUX).

El conector de la parte de arriba sirve para programar la PLD mediante el protocolo JTAG y un programador cuyo esquema lo proporciona Altera byte-blaster es su nombre.

La parte de la izquierda sirve para adaptar las tensiones de 3.3 V a 5 V y dar suficiente energía a las líneas de transmisión, ya que inmediatamente después está el conector de piso (no utilizado en este proyecto). Lo buffers utilizados son 245, que son de doble dirección y tri-estado, la tecnología es ABT ‘Advance Bus Technologies’ que el la adecuada para buses de transmisión.

Las resistencias R20, R21 y R22 se pusieron porque inicialmente se pretendía trabajar con las salidas de la PLD en colector abierto, pero luego se descubrió que los márgenes de tensión de los buffers ABT eran tolerantes a 3.3 V considerando las variaciones del 1 lógico, en consecuencia las resistencias, que forman un ‘pull-up’ son innecesarias.

En la siguiente ilustración se presenta el esquema electrónico que se implementó dentro de la PLD:

TBCU%20PLD5

Ilustración : Implementación de la PLD 1

La utilización de dos chips 74541 es para implementar el bus bi-direccional, en este caso las líneas podríamos decir que pasan transparentes a la PLD, pero según la configuración se podría guardar información en la PLD y ser leía por el microcontrolador como si fuese memoria no volátil.

La señal E2 habilita permanentemente los buffers de control. La señal 1WrRdn establece la dirección de los buffers de datos de los periféricos y la señal 1WCn genera la señal de escritura retrasada 2 señales de reloj respecto a las señales de escritura del microcontrolador, esto es para escribir cuando los datos estén estables.

Mediante la señal EBUS se actúa sobre un led que indica el acceso al bus TE con cada conmutación, se utiliza la señal CNTLED como base de tiempos, que proviene del microcontrolador siendo su frecuencia programable, y la señal interna de la PLD E que se activa cuando se pretende acceder a un periférico.

En la siguiente ilustración se presenta el resto de la implementación:

TBCU%20PLD4

Ilustración : Implementación de la PLD 2

Mediante el 74541 se transmiten las señales de direcciones del microcontrolador al interfaz de TE, son 3 para las direcciones internas del periférico y 4 para la activación de periféricos.

Con el decodificador 74138 se generan las señales de activación de pisos, como se puede observar, se pueden direccionar hasta 6 pisos. La activación del piso 0 no se permite hasta que no está activada la señal de reset.

Mediante la OR multipuerta se decodifica la dirección en la que están ubicados los periféricos, en este caso es la 0x3000. Esta activación se hace con las direcciones, las señales de control de lectura y escritura y cuando no se pretende acceder a código de programa.

También se generan las señales de control de la SRAM con A14_1, CE1 y RD1, se puede deducir que se accede a este chip en la parte alta de la memoria y para código de programa y datos.

La señal de reset 1RSTn se controla directamente por el 8051. Pero mediante el Fip-flop dipo D durante el ‘power-up’ el reset está activada automáticamente hasta que no se accede al periférico.

Interfaz con Tarjetas de Enlace

Este bloque lo podríamos definir como cabecera de bus de TE, ya que está integrada en la tarjeta TBCU, pero también se fabrica aisladamente para los casos que se necesita utilizar racks con más de un bus TE.

Se implementa con lógica estándar y en la siguiente ilustración se presenta el esquema electrónico omitiendo elementos poco importantes como los conectores de bus, ya que éstos no se utilizan en el presente proyecto

TBCU%20TE

Ilustración : Interfaz con TE

EL conector J0 el conector DIN industrial que se conecta con el bus TE, cabe hacer la anotación que a la TBCU no le llegan las señales analógicas.

El chip U1, es el buffer de datos, el U2 es de direcciones y control y el U3 es el decodificador 4 a 16 de habilitación de tarjeta, aunque en este caso solo se poseen 5 tarjetas periférico.

Con el ‘junper’ J3 se establece el camino de selector a piso como habilitador de la electrónica de interfaz de TE.

Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR)

Arquitectura

TVIR%20calculo

Ilustración : Arquitectura de TVIR

La Tarjeta de medición de Voltaje, Intensidad y Resistencia (TVIR), como su nombre indica, tiene por objetivo realizar mediciones de variables analógicas. Vista desde el exterior posee un conector para conectarse al bus TE, y en su lado opuesto están las 5 puntas de pruebas (Iout, V+, V-, Guarda, 0 V) para las mediciones. Internamente podemos identificar los siguientes bloques:

  • Control Digital

Está basado en una PLD de la familia MAX7000 de Altera, es encarga de la gestión de toda la tarjeta. También pertenecería a este bloque un sensor de temperatura (para realizar compensación) y una EEPROM (para guardar configuraciones) I2C, así como una memoria SRAM (para realizar mediciones en ráfagas)

También podemos identificar un buffer para aislar los datos de la PLD respecto al bus del ‘back plane’ de la TE.

  • Fuentes de Alimentación

Están constituidas por un regulador de tensión 7805 (+5 V), 7812 (+12 V) y un 7912 (-12 V). Esto es utilizan para otorgar las tensiones analógicas a la placa y de esta forma aislarlas de las provenientes de la TE, ya que también se alimenta a mucha electrónica digital.

  • Conversor Analógico Digital

Se ha utilizado un ADS7806 que es un conversor de 12 bits con bus de 8 bits del fabricante Burr-Brown. Tiene un patillaje compatible con el ADS7906 que se conecta y se accede igual que el primero pero es de 16 bits.

  • Amplificador de Ganancia Programable

Está basado en dos amplificadores PGA de Burr-Brown en cascada modelos PGA204 (G= 1, 10, 100, 1000) y PGA205 (G= 1, 2, 4, 8). Tiene la característica principal que se selecciona la ganancia digitalmente, de esta manera no se tiene que diseñar la red de resistencias para obtener la ganancia, evitando así posibles focos de error.

  • Conmutación Analógica

Está constituido por los dos conmutadores analógicos que hay presentes en la placa, pudiendo ser el MAX313 de Maxim de muy buenas características o el modelo clónico DG442.

El que esta ubicado en la parte superior derecha se encarga de propagar las señales analógica de medición de la placa al bus TE.

El que está ubicado en la izquierda se utiliza para la medición de corriente poniendo resistencias entre el terminal V+ y V-. Y para realizar mediciones a dos hilos, conectando el terminal V- a 0 V y el V+ con Iout.

  • Fuente de Corriente y Conversor Digital Analógico:

Estos elementos configuran una fuente de corriente programable digitalmente.

Para implementar ésta se ha utilizado un conversor el digital analógico AD7945 de Burr-Brown de 12 bits u bus de acceso de 12 bits, sirve para proporcional la tensión de referencia al módulo conversor de tensión a corriente.

El problema es que el módulo conversor de tensión a corriente se diseño mal, y en consecuencia se tuvo que cambiar el diseño aprovechado el mismo circuito debido a problemas de plazos.

Como se ha comentado, el diseño del conversor de tensión a corriente no fue el adecuado, se tuvo que hacer modificaciones sobre el propio circuito, quedando de la siguiente manera:

TVIR%20calculo%202

Ilustración : Arquitectura definitiva de TVIR

La ilustración anterior es la implementación final del circuito, se cambió la filosofía. En lugar de realizar mediciones de resistencias a 4 hilos y para a 2 hilos cuando se desease, todo ello basado en una fuente de corriente, se optó por una configuración de divisor de tensión, con una tensión de referencia constante.

También los elementos con perfil discontinuo, no se incluyeron, estos son el sensor de temperatura, la memoria EEPROM y la memoria SRAM. Nótese que ha desaparecido el conversor digital analógico y el conversor tensión corriente.

Control Digital (DC)

El diseño del Control Digital está basado nuevamente alrededor de una PLD, en este caso en una de la familia MAX7000 de Altera, sus características más importantes son:

  • 5 V programable en el propio sistema (ISP) gracias al interfaz JTAG con posibilidad bloque del chip
  • Con ‘boundary-scan test’ (BST)
  • Alta densidad de puertas de 600 a 5000
  • Retardos de 5ns de pin a pin con frecuencias de de hasta 175.4 MHz
  • Interfaz MultiVolt I/O habilitando al núcleo del dispositivo a trabajar a 3,3 V o 5 V, mientras que las I/O son compatible con 5,0 V o 3,3 V
  • Rango de pines de 44 a 208, con encapsulados TQFP, PGA, PQFP, RQFP y PLCC
  • PCI compatible
  • Control del ‘slew-rate’ y opción de drenador abierto
  • Macro células programables con individual señal de borrado, reset, reloj, y habilitador de reloj
  • Software de diseño Altera MAX-PLUS II basado en el sistema operativo Windows y otras plataformas

En la siguiente tabla presento las características más remarcables de la familia MAX7000 de Altera:

TVIR%20PLD0

Tabla : Características de la familia MAX7000

En la siguiente ilustración se presenta el diseño de este bloque, no se ha incluido todos los elementos del diseño inicial (EEPROM, SRAM y sensor de temperatura):

TVIR%20Control1

Ilustración : Control Digital con PLD

El conector J1 es el que se conecta al bus TE, están todas las señales presente típicas de un periférico incluidas las señales analógicas. Las señales de datos van del conecto J1 al buffer U4 245 y de desde éste a la PLD, de esta manera se aísla la PLD de la TE. Mediante el ‘jumper’ J4 se selecciona si la señal 1TRG/SGN5 se utiliza como quinta señal analógica, guarda, o como señal de disparo.

El oscilador Y1 genera una señal de 20 MHz para que la PLD pueda realizar temporizaciones. Con el conector J2 se puede programar la PLD de la misma manera que la TBCU.

El registro de memoria U6 (8 flip-flops tipo D) sirve para proporcionar señales de salida extras a la PLD y así poder controlar mas señales sin tener que utilizar un modelo de PLD con más pines.

La PLD recibe todas las señales del bus TE, comunicándose con la tarjeta master. También posee todas las señal de control de todos los periféricos, actúa como elemento inteligente del la tarjeta TVIR. En cada apartado se describirá cada una de sus señales.

En la siguiente ilustración se presenta el esquema electrónico que se implementó dentro de la PLD:

TVIR%20PLD2

Ilustración : Implementación de la PLD 1

En al columna de la izquierda podemos identificar las señales de entrada y salida de la PLD. La selección del periférico (1CSn), el reset (1RSTn), la señal escritura retardada (1WCn), el habilitador del buffer de datos de TE (OEn), la escritura o escritura (1WrRdn), la dirección del buffer de datos de TE (DIR).

También tenemos las direcciones de la tarjeta (1A0 a 1A3), las líneas de datos provenientes de la TE (2D0 a 2D7), el reloj de 20 MHz (CLK), la señal de escritura (LSCH_CLK) y el reset (LACH_CLRn) del registro que proporciona señales extras, las líneas de datos de la tarjeta (D0 a D7), las señales de control de las ganancias de PGS (G0 a G3).

Finalmente se identifican las señales de control de conversor analógico digital (ADC_CSn, ADCR/Cn, ADC:BYTE y ADC_BUSYn) así como las del conversor digital analógico, pero que estaría deshabilitado si lo hubiese (DAC_CSn, D8, D9, D19 y D11).

También tenemos accesibles el byte de conversión del AD (ADC0 a ADC11), que inicialmente se utilizaba como las direcciones del conversor DA, pero al no utilizarse so opto por esta funcionalidad para realizar depuraciones.

Mediante los decodificadores 74138 se generan las señales de lectura o escritura del byte deseado. Escribiendo en el byte 0, se modifican las señales de control de las ganancias de los PGA’s. Escribiendo en el byte 1 se producen dos eventos, el hecho de escribir inicia el proceso de muestreo del conversor AD, y los datos escritos son los utilizados para el registro 273 U6 que proporciona señales de control extras.

Cuando se realiza la lectura, en el byte 0 esta la parte alta de la conversión, y en el byte 1 está la parte baja. Leyendo el byte 3 se realiza la encuesta para saber si la conversión del AD ha finalizado.

En la siguiente ilustración se presenta el resto de la implementación:

TVIR%20PLD3

Ilustración : Implementación de la PLD 2

Este apartado se utiliza para el control del conversor AD, es el bloque más complicado del diseño y un buen candidato para ser programado en VHDL y con lógica discreta.

El objetivo de esta electrónica es la implementación del siguiente cronograma:

TVIR%20PLD4%20cronograma

Ilustración : Cronograma de lectura del AD

Se base en tres columnas de fip-flops tipo D. La primera columna implementa los flancos de bajada y subida de las señales R/Cn y CSn. La segunda y tercera columna (que se puede considerar como una única columna unidas por la señal AUX) implementan el resto del cronograma.

Los dos fip-flops ubicados en la parte inferior izquierda implementan el inicio del muestro mediante las señales de W0 (escritura en el byte 0) y 1RSTn que establecen los valores iniciales y la señal W1 (escritura en el byte 1) que provoca el inicio de la conversión.

El flip-flop contiguo a los anteriores es el encargado de iniciar la segunda y tercera columna, cuando se ha finalizado la conversión y deben leerse los datos.

Las cadenas de flip-flops para entenderse la temporización debe considerarse que todo se mantiene en reset (o lógico), y cuando se inicia cualquier columna lo que ocurre es que un 1 lógico se va propagando de flip-flop en flip-flop. Considerando esto y combinaciones de ANDS, ORS y NOTS se consigue el cronograma deseado.

Fuente de Alimentación (PS)

TVIR%20PS1

Ilustración : Fuente de alimentación y referencias de tensión

En la ilustración anterior se muestran los reguladores de tensión de 5 V (7805), 12 V (LM340 o 7812) y el de -12 V (7912). Las características más significativas de estos reguladores de tensión son las siguientes:

  • Corriente de salida hasta 1 A
  • Componentes externos mínimos
  • Protección térmica interna
  • Protección contra corto circuito
  • Tolerancia de 2 %
  • Tensión de entrada máxima de 35 Vdc

El diseño esta hecho de forma general, es decir serviría para cualquier caso. Los condensadores se utilizan si el regulador esta ubicado muy lejos de la fuente de alimentación. Los condensadores de entradas son estrictamente necesarios, y su valor debe ser mayor de 0,1 uF para garantizar la estabilidad.

El diodo en inversa entre la entrada y la salida se utiliza por si en la salida del regulador hay una capacidad de valor muy elevado, de tal manera que cuando desaparece la tensión de entrada, lo que ocurre es que por un breve espacio de tiempo en la salida hay tensión y en la entrada, esto puede provocar que el regulador conduzca en inversa, cosa que produciría su destrucción.

Los diodos entre la salida y masa se utilizan cuando existe una configuración de alimentación positiva y negativa, es una recomendación del fabricante.

Los chips de tensión de referencia UPS4 y UPS5 son REF01 y REF02, que otorga 10 V y 5 V respectivamente, su ficción son la de proporcionar la tensión de referencia para el divisor de tensión (aunque inicialmente era para otorgar una tensión de referencia de gran estabilidad al AD). La tensión de 5 V no es necesaria ya que en el diseño final no se utiliza conversor DA.

Las características de estas referencias de tensión son las siguientes:

  • Tolerancia de salida de +/-0,3 %
  • Rango de ajuste de salida del +/-3 %
  • Excelente estabilidad respecto a la temperatura: 8,5 ppm/ºC
  • Ruido muy bajo 30 uVpp
  • Amplio margen de tensión de entrada de 12 V a 40 V
  • Gran capacidad de corriente de salida 20 mA
  • Protección contra corto circuito

Mediante los potenciómetros de sendas referencias de tensión se puede ajustar el margen en +/-3 % la tensión de salida. Esto potenciómetros son de 25 vueltas.

Conversor Analógico Digital (ADC)

Para implementar este módulo se ha utilizado el conversor analógico digital ADS7806 de Burr-Brown. Es un conversor de aproximaciones sucesivas, cuya característica principal es que es de 12 bits y acceso mediante bus de 8 bits. También su patillaje es compatible con el ADS7807 que es de 16 bits. Sus características más significativas son las siguientes:

  • Disipación de energía de 25 mW
  • Modo ahorro de energía de 50 uW
  • Tiempo máximo de adquisición y conversión de 25 us
  • Error de no linealidad máximo de +/-1 LSB
  • Rangos de tensiones de entrada de +/-10 V, 0 V a 5 V y 0 V a 4 V
  • Salida de datos serie o paralelos
  • Puede utilizar tensión de referencia interna o externa
  • Enmoquetado DIP o SOIC

Esquema interno del conversor analógico digital:

Ilustración : Esquema interno del conversor AD

Las razones principales para escoger este chip fue el amplio rango de tensiones de entrada, el acceso mediante bus de 8 bits y la posibilidad de utilizar un equivalente de 16 bits

La implementación electrónica es la siguiente:

TVIR%20ADC%201

Ilustración : Conversor Analógico Digital

El esquema anterior da la posibilidad de tres conexionado diferente:

  1. Mínimos componentes: es el caso con peor características de adquisición, donde sólo es necesario RADC1, RAC2, CADC3 y CADC4. Este es la opción que se ha escogido
  2. Caso medio: donde se utilizan los elementos anteriores y RADC3 y RVADC1 y CADC2, donde se consigue mejora en prestaciones
  3. Finalmente, la utilización de todos los componentes del esquema que otorga la mejor caracterización

Una posible mejora en esta implementación sería la utilización de un filtro paso baja en la entrada del circuito par evitar el solapamiento de la señal de entrada, aunque en el caso que nos presenta no es muy necesario, ya que se realizan adquisiciones a baja frecuencia.

Amplificadores de Ganancia Programable (PGA)

Está basado en dos amplificadores PGA de Burr-Brown en cascada modelos PGA204 (G= 1, 10, 100, 1000) y PGA205 (G= 1, 2, 4, 8). Tiene la característica principal que se selecciona la ganancia digitalmente, de esta manera no se tiene que diseñar la red de resistencias para obtener la ganancia, evitando así posibles focos de error. Sus características más recargables son:

  • Bajo voltaje de offset: máximo 50 uV
  • Baja deriva del voltaje de offset: 0,25 uv/ºC
  • Baja corriente de entrada: máximo 2 nA
  • Empaquetados DIP y SOIC

El esquema interno es el siguiente:

Ilustración : Esquema interno del PGA

La utilización de estos integrada otorga una gran facilidad de diseño, ya que te ahorras el hecho de utilizar redes de resistencias externas para implementar las ganancias. Desaparecen numerosas fuentes de error que se podrían producir en ganancias elevadas.

Mediante los terminales V+ y V- se implementa la guarda de tensión.

El esquema electrónico con la concatenación de los dos amplificadores de instrumentación de ganancia variables es el siguiente:

TVIR%20PGA1

Ilustración : Amplificadores de Ganancia Variable

La implementación no tiene ningún misterio, lo único que se ha hecho es seguir las especificaciones del fabricante. Se Utilizan condensadores de desacoplo de 1 uF de tántalo, el amplificador de guarda se conecta mediante dos resistencia de 20 kΩ, este amplificador está en configuración de seguidor de tensión.

Entre los terminales 6 y 7 hay unos potenciómetros multivuelta para ajustar las ganancias de los amplificadores, en la implementación final no se han puesto. En el capítulo de los planos se puede observar que también tiene la posibilidad de ajustar los offsets, pero dada las herramientas que se poseen en la empresa CreaSoft no resultaba aconsejable, por lo que se optó por no compensar y trabajar con el offset base.

Al poner dos PGA’s en cadena los que se obtiene es la multiplicación de ganancias, por lo que en este caso se llega a alcanzar una ganancia de 8000.

Conmutación Analógica (AS)

Está constituido por los dos conmutadores analógicos que hay presentes en la placa, pudiendo ser el MAX313 de Maxim de muy buenas características o el modelo clónico DG442.

El conmutador analógico MAX313 se caracteriza por:

  • Pin compatible con DG411, DG412 y DG413 (pero están negados)
  • Baja resistencia serie, típicamente 6,5 Ω
  • Garantiza protecciones electroestática de 2000 V
  • Crosstalk mayor de 96 dB a 20 kHz
  • Operación a tensión única de 4,5 a 30 V o dual de +/-4,5 V o +/-20 V

En el caso que nos atañe se ha utilizado para lo siguiente:

TVIR%20AS1

Ilustración : Conmutación Analógica

El conmutador de la izquierda tenía como objetivo el encaminamiento de las señales de medición V+, V-, Iout y 0 V al bus TE, pero debido al error de diseño descrito anteriormente no se pone el chip, y se realizan los puntes con cable de cobre como indican las líneas discontinuas.

El conmutador de la derecha tiene por objetivo la conexión de la resistencia RAS1 o RAS2 entre los terminales V+ y V-, de esta forma se implementa la medición de corriente. Mediante los otros dos interruptores que quedan libres se utilizan para conectar el terminal V+ con el Iout y el V- con 0 V, esto se utilizaría para pasar de medición de 4 a 2 hilos.

Fuente de Corriente (CS)

Mas que una fuente de corriente se pretendía diseñar un conversor de tensión a corriente, para ello se optó un una fuente de Howland, que fue una selección muy desafortunada. Efectivamente el comportamiento de este circuito es adecuado cuando no se trabaja con carga, pero cuando existe una carga pierde toda su linealidad.

El circuito implementado es el siguiente:

TVIR%20CS%20H2

Ilustración : Fuente de Corriente

El bloque de la izquierda es un amplificador operación en configuración de seguidor de tensión, porque como se verá la impedancia de entrada de la fuente de Howland es variables respecto a la carga.

El bloque de la derecha el la fuente de Howland propiamente dicha, en el siguiente aparta se realiza el análisis.

Debido al fallo expuesto anteriormente, no se pudo implantar la fuente y lo que se hizo fue eliminar los chips y realizar unos puentes con cables según indican las líneas discontinuas.

Fuente de Howland

En la siguiente ilustración se presenta la fuente de corrigen en cuestión y su posterior análisis:

TVIR%20howland

Ilustración : Fuente de Howland

Suponiendo que el amplificado operacional es ideal y cortocircuito virtual, realizamos el análisis nodal:

Donde entonces:

Realizando Kramer encontramos:

Resolviendo los determinantes:

Sustituyendo :

Entonces despejando la corriente de salida:

Si se considera entonces:

En consecuencia la corrigen de salida sólo depende de la tensión de entrada y la resistencia.

Impedancia de entrada del circuito:

Si entonces:

Si consideramos :

En conclusión la impedancia de entrada depende de la carga.

Lo anteriormente planteado es válido siempre y cuando la resistencia de carga sea superior a la R, en consecuencia este diseño no es válido

Otra fuente de corriente

A continuación se presentan algunas otras posibles implementaciones que se han ido encontrando:

TVIR%20CS%20otra

Ilustración : Fuente de corriente de alta precisión

En este caso se utiliza un REF102, que es un chip de referencia de tensión de 10 V de alta precisión, éste es capaz de otorgar hasta 10 mA. La corriente que circula por la carga es la misma que la que circula por la resistencia R, esto es así porque el operacional OPA111 demanda una corriente nula a través de su terminal positivo.

El circuito es muy sencillo y presenta unas características muy buenas respecto a estabilidad de temperatura y carga. Las únicas precauciones que hay que tener es no exceder la corriente máxima del REF y tener en cuenta que la caída de tensión entre el terminal 6 y 4 es de 10 V.

La ecuación que describe el circuito es:

Considerando .

Se Han realizado pruebas con este circuito y se ha comportado muy bien, en concreto se utilizó un REF02 que otorga 5 V de esta manera la tensión en la carga puede ser mayor.

Para implementarlo como una fuente de corriente variable se debería conmutar la resistencia R, dando en consecuencia dificultades. La mejor solución sería utilizar un circuito como el anterior para cada corriente en concreto y multiplexar los circuitos, esto proporcionaría la opción más rápida de respuesta pero la mas cara.

Una solución muy interesante es ubicar una etapa atenuadora de tensión mediante un protenciómetro digital y un seguidor de tensión, entre el terminal 6 si la resistencia R. De esta manera se posee una fuente de corriente programable con el mínimo de elementos.

Conversor Digital Analógico (DAC)

El conversor digital analógico tenía por objetivo proporcionar una tensión variable al conversor de tensión corriente (fuente de Howland), de esta manera se poseía de una fuente de corrigen controlada.

El conversor DA se caracteriza por lo siguiente:

  • Conversor de 12 bits
  • Especificaciones garantizadas para 3,3 V y 5 V
  • No linealidad máxima de 0,5 LSB
  • Bajo consumo: 5 uW
  • Interfaz rápido: 40 ns de escritura

El esquema interno es el siguiente:

Ilustración : Esquema interno del conversor DA

La implementación en el esquema fue la siguiente:

TVIR%20DA2

Ilustración : Conversor Digital Analógico

El esquema es siguiendo la recomendaciones del fabricante. Consiste en la conexión estándar unipolar. No se explicará más porque no se llegó a implementar por el problema anteriormente citado.

Tarjeta de Conmutación Analógica (TCA)

Arquitectura

TCA%20calculo

Ilustración : Arquitectura TCA

La Tarjeta de Conmutación Analógica TCA consiste en una tarjeta que puede conmutar cualquiera de sus 56 puntos de entrada a uno de sus dos posibles canales internos. Internamente se distribuye en bancos de 8 puntos, existiendo un total de 7. De la ilustración anterior podemos identificar los siguientes bloques:

  • Control Digital

Está basado en una PLD de la familia MAX7000 de Altera, es encarga de la gestión de toda la tarjeta. Realiza básicamente las tareas de decodificación de las direcciones y generar las señales que habilitan los bancos.

También podemos identificar un buffer para aislar el bus de datos interno respecto al bus del ‘back-plane’ de la TE. De modo análogo a la TVIR aquí también hay un conmutador analógico para conecta los canales internos con los de la TE.

  • Conmutadores Analógicos

Se utilizan dos interruptores analógicos por punto de medición, considerando que el conmutador analógico que se utiliza es de 4 interruptores, nos da que se utiliza un chip por cada 2 puntos. Los extremos de una pareja de interruptores se cortocircuitan para conectar con el punto de comprobación y los otros extremos se conectan al canal A y el canal B

  • Memoria de conmutación

La memoria de conmutación consiste en filp-flops tipo D de 8 elementos, éstos actúan directamente sobre los interruptores. Se utiliza un 273 cada dos conmutadores.

Control Digital (DC)

El diseño del Control Digital esta basado nuevamente alrededor de una PLD, en este caso en una de la familia MAX7000 de Altera, sus características más importantes son:

  • 5 V programable en el propio sistema (ISP) gracias al interfaz JTAG con posibilidad bloque del chip
  • Con ‘boundary-scan test’ (BST)
  • Alta densidad de puertas de 600 a 5000
  • Retardos de 5 ns de pin a pin con frecuencias de de hasta 175.4 MHz
  • Interfaz MultiVolt I/O habilitando al núcleo del dispositivo a trabajar a 3,3 V o 5 V, mientras que las I/O son compatible con 5,0 V o 3,3 V
  • Rango de pines de 44 a 208, con encapsulados TQFP, PGA, PQFP, RQFP y PLCC
  • PCI compatible
  • Control del ‘slew-rate’ y opción de drenador abierto
  • Macro células programables con individual señal de borrado, reset, reloj, y habilitador de reloj
  • Software de diseño Altera MAX-PLUS II basado en el sistema operativo Windows y otras plataformas

En la siguiente tabla presento las características más remarcables de la familia MAX7000 de Altera:

TVIR%20PLD0

Tabla : Características de la familia MAX7000

En la siguiente ilustración se presenta el diseño de este bloque:

TCA%20ESQ1

Ilustración : Control Digital

El conector J1 es el que se conecta al bus TE, están todas las señales presente típicas de un periférico incluidas las señales analógicas. Las señales de datos van del conector J1 al buffer UCNT4 245. Mediante el ‘jumper’ J4 se selecciona si la señal 1TRG/SGN5 se utiliza como canal 1 o dispara para la PLD.

Con el conector JCNT1 se puede programar la PLD de la misma manera que la TBCU. El conmutador UCNT3 permite la propagación de las señales analógicas desde el bus TE a bus analógico interno de la tarjeta.

El registro de memoria U6 (8 flip-flops tipo D) sirve para proporcionar señales de salida extras a la PLD y así poder controlar mas señales sin tener que utilizar un modelo de PLD con más pines.

La PLD recibe todas las señales direcciones y control del bus TE. La PLD genera todas las señales de escritura de los registros de memoria 273 (CLK1 a CLK14) y controla el resto de la electrónica.

En la siguiente ilustración se presenta el esquema electrónico que se implementó dentro de la PLD:

TCA%20PLD1

Ilustración : Implementación de la PLD

En al columna de la izquierda podemos identificar las señales de entrada y salida de la PLD. La selección del periférico (1CSn), el reset (1RSTn), la señal escritura retardada (1WCn), el habilitador del buffer de datos de TE (OEn), la escritura o escritura (1WrRdn), la dirección del buffer de datos de TE (DIR).

También tenemos las direcciones de la tarjeta (1A0 a 1A3), las líneas de control del conmutador análogo de la TE (CSGN1_4 y CSGN2_3) y finalmente las señales de lectura de los registros de memoria 273 (CLK1 a CLAK14).

El procedimiento para acceder a la PCA es el siguiente. Primero con la dirección A2 activada se selecciona el decodificador 138 que se utilizará (columna de 138), esto lo realiza el decodificado 138 situado en la parte inferior derecha. Después se vuelve acceder a la TCA pero esta vez se activa uno de los CLK seleccionados.

Los dos flip-flops tipo D se utilizan para poner a 0 las direcciones cuando se pretende resetear la tarjeta.

Conmutación Analógica (AS)

Está constituido por 28 conmutadores analógicos de cuatro interruptores cada uno pudiendo ser el MAX313 de Maxim de muy buenas características o el modelo clónico DG442.

El conmutador analógico MAX313 se caracteriza por:

  • Pin compatible con DG411, DG412 y DG413 (pero están negados)
  • Baja resistencia serie, típicamente 6,5 Ω
  • Garantiza protecciones electroestática de 2000 V
  • Crosstalk mayor de 96 dB a 20 kHz
  • Operación a tensión única de 4,5 a 30 V o dual de +/-4,5 V o +/-20 V

El esquema electrónico es el siguiente:

TCA%20CA

Ilustración : Conmutación Analógica

En este caso sólo se presentan dos conmutadores, el resto serían de forma análoga. En la parte de la derecha están las señales que van al conector de medición (OUT1, OUT2, etc.). En la parte de la izquierda están las señales analógicas (CH1 y CHS2) y las señales de memoria (CH1OUT1, CH2OUT1, CH1OUT2, CH2OUT2, etc.)

Memoria de Conmutación (SM)

Este bloque está basado en flip-flops tipo D de 8 unidades, el clásico 74HCT273. Éste posee un CLK para la señal de escritura y reset para ponerlo a 0. La implementación seguida es la siguiente:

TCA%20MEM1

Ilustración : Memoria de Conmutación

Sólo se han presentado dos registros de memoria de los 11 existentes. La parte de la derecha el bus interno de la tarjeta (D0 a D7) y la parte de la izquierda son las señales de control de los interruptores (CH1OUT1, CH2OUT1, CH1OUT2, CH2OUT2, etc.).

Software

Programa de la Tarjeta de Control USB (FirmwareTBCU.hex)

La implementación del firmware de la TBCU se ha realizado en C mediante el compilador Keil. Se parte de un marco de trabajo proporcionado por el fabricante del microcontrolador Cypress.

El firmware FrameWork lo proveen para simplificar y acelerar el desarrollo de periféricos USB utilizando chips Anchor Chips EZ-USB. El FrameWorks implementa código para el 8051 para la inicialización del EZ-USB, el manejo de las peticiones estándares USB, y los servicios al usuario de gestión de energía USB. Sólo es necesario proveer una tabla de descriptores USB y código para implementar las funciones completas del periférico para completar la funcionalidad total del dispositivo USB.

Visión global

El FrameWorks implementa los requerimientos funcionales básicos de un dispositivo USB. El FrameWorks es un simple ejecutador de tareas cooperativo. En el arranque del dispositivo, el FrameWorks primero inicializa todas sus variables de estado internas, entonces se llaman a las funciones de usuario TD_Init(). Después, el FrameWorks inicializa el interfaz USB para los estados no configurados y habilita las interrupciones. Luego empieza la re-numeración del dispositivo en un segundo intervalo hasta que los paquetes de setup son recibidos en el endpoint 0. Una vez el paquete setup se recibe, el FrameWorks empieza de desalojado de tareas de forma cooperativa. El desalojado de tareas realiza las siguientes operaciones:

  1. Llama a la función de usuario TD_Poll()
  2. Determina si hay pendiente una petición estándar de dispositivo. Si es así, pasa a recibir comandos y a responder consecuentemente
  3. Determina si el núcleo USB ha informado de un evento de suspensión USB. Si es así, llama a la función de usuario TD_Suspend(). En el retorno de la función, se comprueba el evento de continuación. Si no se detecta se pone el procesador en modo suspendido. Cuando se recibe el evento de continuación se llama a la función TD_Resume().

Peticiones de dispositivo del tipo estándar y vendedor se implementan por el FrameWorks. Pero también permite con facilidad acoplar trozos de programa para manejar y retomar pedidos específicos de dispositivo.

El la siguiente ilustración se presenta el diagrama de flujo del FrameWorks proporcionado Anchor Chips (Cypress). La parte específica del firmware está en la llamada a TD_Init() que es la inicialización y TD_Poll() que se ejecuta en el tiempo ocioso del microcontrolador.

SOFT%20FW

Ilustración : FrameWoks de la TBCU

Código específico

El código especifico es la parte que controla todo el equipo de adquisición de datos y que está ubicado en la función TD_Poll(). Se divide en varios bloques, y tiene por objetivo la recepción y transmisión de tramas de comunicación mediante endpoints. Una vez se ha recibido la información se decodifica y se llaman a las funciones que indica el protocolo propietario.

En la siguiente ilustración se puede apreciar el diagrama de flujo de la función TD_Poll(). Es decir, todo lo que se encadena cuando no es FrameWork.

SOFT%20Firmware

Ilustración : Firmware específico TBCU

Para representar el firmware específico no se ha utilizado una nomenclatura formal de diagrama de flujos, ya que, normalmente ésta produce un gran número de diagramas, perdiendo la visión global del diseño. En consecuencia la persona que pretenda entender los pormenores del software, deberá leer el código fuente directamente.

Cuando se ejecuta la función TD_Poll lo primero que se hace es mirar si existe alguna información disponible en el endpoint de USB, en caso negativo se sale de la función TD_Poll(), pero en caso afirmativo se prepara el buffer de recepción.

Cuando se ha recibido toda la información, normalmente no cabe todo en una transacción USB y se necesitan varias, se pasa a un gran selector (switch) que selecciona la función en concreto.

Cada función sabe los parámetros que necesita y en consecuencia los desencola del buffer de recepción que se había llenado anteriormente. Una vez posee los parámetros de entrada necesarios, se ejecuta el cuerpo de la función en concreto.

Una vez la función ha realizado sus operaciones necesarias, se encolan en el buffer de transmisión las datos de salida. Luego es el momento de transmitir el buffer de transmisión, que a veces ocupa más del tamaño de un endpoint.

Obsérvese que cada función se ejecuta una ver, en una secuencia del tipo, recepción de datos, ejecución de la función y transmisión de datos. Todo se ejecuta en el tiempo ocioso del microcontrolador, que en un principio es todo el tiempo.

Biblioteca de Enlace Dinámico (InteUSB32.dll)

Esta DLL llama directamente a algunas funciones de API, como son CreateFile, CloseHandle y DeviceIoControl. Mediante estas funciones se puede abrir y cerrar el driver y controlar las comunicaciones USB en modo ‘bulk’.

Por otro lado la DLL proporciona una función que enmascara todo esto, se llama Connecta y sus parámetros de entrada y salida son: operación a realizar y el buffer de entrada y salida. Mediante esta función el programador se puede abstraer un poco más del hardware, sin tener que usar API’s y de esta forma trabajar con mayor comodidad.

En la siguiente ilustración se presenta la primera función que se llama cuando se carga en memoria una DLL, ésta es la famosa InitInstance. Lo que se realiza dentro de ella es abrir el driver EZ-USB con el nombre simbólico ‘ezusb-0’. Esto se realiza mediante la función Open de la clase cUSB, la cual llama al fa función CreateFile con los parámetros indicados.

SOFT%20INTEUSB32%20CAL%201

Ilustración : InitInstance de InteUSB32.dll

De forma análoga en la función ExistInstance se cierra el driver, esto se hace llamando a la función Close de la clase cUSB. Esta función realiza la llamada a CloseHandle parándole como parámetro el manejador retornado por CreateFile.

SOFT%20INTEUSB32%20CAL%202

Ilustración : ExitInstance de InteUSB32.dll

Las dos ilustraciones anteriores presentaban los procedimientos de apertura y cierre del driver USB, a continuación se puede apreciar la función que es llamada por la siguiente capa de código, ésta es la función Connecta. Los parámetros son la operación a realizar (byOp), esto es medición con TVIR, conmutación con TCA, etc, luego esta el puntero a datos de escritura (*pbyOut), su tamaño (wOut), el puntero a datos de lectura (*pbyIn), su tamaño (wIn), el tamaño leído (*pwIn) y si la operación a resultado satisfactoria (*pbyOK).

SOFT%20INTEUSB32%20CAL%203

Ilustración : Connecta de InteUSB32.dll

De diagrama de flujos podemos observar que inicialmente se realiza una comunicación del PC al 8051 mediante la función TramaOUT, ésta utiliza como parámetros, la operación, el puntero de datos de escritura y el tamaño de los mismos.

Si en la llamada a la función se espera una respuesta, esto es si el tamaño de la lectura es mayor que cero, se actualiza la variable de bytes leídos y se llama a la función TramaIN que sólo necesita el puntero a datos de lectura y el tamaño de los mismos.

En la siguiente ilustración se presenta la transferencia de una trama de desde el PC al 8051. Esto está constituido por dos funciones, la primera de ellas es la TramaOUT de la clase cInteUSB, lo que realiza es la construcción de un vector de bytes 5 unidades mayor al proporcionado por el tamaño de los datos de escritura. De tal forma que en el primer byte se ubica la operación, en el segundo y tercero la parte alta y baja de los bytes que se leerán, en el cuanto y quinto la parte alta y baja de los bytes de datos que se transmitirán, luego se copia todo el vector de datos a transmitir.

Después de construir el vector se llama a la función Write de la clase cUSB, esta requiere como parámetros solamente el puntero a los datos, el tamaño de los datos y a que pipe se transmite la información.

La función Write es una API cuyos parámetros son los propuestos por el fabricante del 8051, se requiere el manejador del driver, especificar que es una operación de escritura ‘bulk’, una estructura que posee el número de pipe, el puntero a los datos y su tamaño.

Después de la llamada a la función Write se ejecuta la liberación de memoria que se había reservado con al inicio de la función.

SOFT%20INTEUSB32%20CAL%204

Ilustración : Transferencia de PC a 8051

Finalmente se presenta el último diagrama de flujos que pertenece a una transferencia de información del 8051 al PC. Como habíamos comentado en la memoria descriptiva apartado bus USB, es el PC o mejor dicho el controlador host el que es el maestro del bus USB. Una de las consecuencias más remarcables al programar es que se debe saber el tamaño en una transferencia de lectura.

SOFT%20INTEUSB32%20CAL%205

Ilustración : Transferencia de 8051 a PC

Como se observa la lectura es más sencilla que la escritura. La función TramaIN de la clase cInteUSB simplemente llama a la función Read de la clase cUSB con el número de pipe. A su ver la función Read realiza la llamada a la API DeviceIoControl que requiere el manejador del driver, especificar que es una operación de lectura ‘bulk’, una estructura que posee el número de pipe, el puntero a los datos y su tamaño.

Biblioteca de Enlace Dinámico (InteDrv32.dll)

Esta DLL llama a la descrita anteriormente, InteUSB32.dll. Es la última capa antes del ejecutable final que presenta los datos al usuario. Entre sus numerosas funciones, sólo nos interesa la GetR, que retorna una variable del tipo doble con el valor de la resistencia medida y recibe como parámetros dos cartas bornes. Esta función realiza un escalado de ganancias automáticamente retornado el valor con la escala mas adecuada.

La función GetR está encapsulada en la clase cAnalog, en su constructor adquiere los parámetros de inicialización para las operaciones, como ilustra la siguiente figura:

SOFT%20InteDrv32USB%20cal

Ilustración : Constructor de cAnalog

Las variables de inicialización son las siguientes:

  • byVIR_Pos: posición de la tarjeta TVIR dentro del rack
  • byVIR_Ver: versión de tarjeta, hasta hoy sólo existe la 0
  • byCA_Pos: posición inicial de la tarjeta TCA dentro del rack
  • byCA_Tot: número de tarjetas TCA
  • byCA_Ver: versión de tarjeta, hasta hoy sólo existe la 0
  • fOffset: valor de desplazamiento que se resta a la medida de resistencia obtenida
  • fResMax: valor de resistencia máxima presentada
  • fRexMin: valor de resistencia mínima presentada

En la siguiente ilustración se presenta la implementación de la función GetR:

SOFT%20InteDrv32USB%20cal2

Ilustración : Función GetR

Esta función es la principal, GetR que retorna una variable doble con el valor de resistencia leído entre dos cartas bornes. Lo primero que se realiza es establecer el valor de carta a un valor absoluto, ya que se recibe relativo a la primera carta TCA, esto se implementa mediante la suma de byCA_Pos -1 a cada una de las cartas.

Seguidamente se comprueba que versión de TCA se está utilizando, en la actualidad sólo existe la 0 que se caracteriza por tener 56 puntos de test. La distribución respecto a los pines es la siguiente:

Físico conector

0

39

40

47

48

63

Físico TCA

0

39

40

55

Lógico

0

39

48

63

Tabla : Distribución de TCA

Se puede observar en la tabla anterior que en el conector de la TCA están disponibles los puntos de test de 0 a 39 y de 48 a 63, que a su vez corresponden con los puntos lógicos, pero que de forma física la TCA los implementa cómo se expresa en la tabla.

Debido a esto deben realizarse las comprobaciones que se observan en el diagrama de flujos anterior, si los puntos de comprobación están entre el 40 y el 47 ambos incluidos, se retorna el valor de 0 porque no están implementados, pero si el punto de comprobación es mayor o igual a 48 se le resta 8 porque es cómo se implementa físicamente en la TCA.

Este procedimiento se plica tanto al borne A como a la B. En una versión futura de la TCA, se deberían implementar los 64 puntos de comprobación, existiendo así una correspondencia sin desplazamientos entre los puntos lógicos, los físicos y los físicos del conector.

A continuación se conecta la carta borne A al canal A de la TCA, esto se realiza con TCA_A y de forma análoga se conecta la carta borne B al canal B de la TCA, con la función TCA_B.

Seguidamente se realiza una pausa de 1 ms para que los conmutadores analógicos se estabilicen, esto se realiza con sleep(1). Después de esta pausa se realiza la medición de la resistencia. Se puede observar cómo para la medición no importan los puntos de conmutación de ello se encargan las TCA.

Una vez realizada la medición se dejan las tarjetas de conmutación TCA a su valor anterior, esto se realiza con las funciones TCA_A y TCA_B con el parámetro false, que es lo contrario a la activación.

Finalmente se realiza un filtrado del valor obtenido, esto consiste en comprobar los márgenes superior e inferior. Si el valor de resistencia obtenido es mayor que el máximo especificado en el archivo de inicialización, si es así se retorna -1. Si el valor es inferior al mínimo se retorna 0.

Esquemas de medición

Antes de pasar a describir cómo se implementa la función GetR, es necesario tener en cuenta cual es el esquema electrónico de medida. Seguidamente se presenta los posibles esquemas.

Los elementos que se podrán identificar son los siguientes esquemas son:

: Resistencia incógnita a medir

: Resistencias de los conmutadores analógicos de la TCA

: Resistencias de los conmutadores analógicos de la TVIR

: Resistencia de medición de corriente

: Caída de tensión sobre la resistencia de medición de corriente

: Tensión de referencia

: Corriente de excitación

Medición a cuatro hilos

El objetivo inicial consistía en permitir la medición a cuatro hilos como se muestra en la siguiente ilustración:

SOFT%20InteDrv32USB%20cal%206

Ilustración : Medición a cuatro hilos

Para este método de medición se hubiesen necesitado dos TCA ya que cada una es de dos canales y se hubieran necesitado cuatro.

La gran ventaja de este método es que todas las resistencias son superfluas, las que están en el camino de la corriente lo son porque la corriente no depende de estas resistencias. Las resistencias que están en el camino del amplificador también son superfluas porque la corriente de entrada de éste es aproximadamente cero.

Mediación a dos hilos

Del esquema anterior se pretendía derivar a la medición a dos hilos como muestra el esquema:

SOFT%20InteDrv32USB%20cal%207

Ilustración : Medición a dos hilos

En este caso las resistencias de conmutación no son superfluas, pero se gana en el hecho que sólo es necesaria una tarjeta de conmutación TCA.

Finalmente debido al fallo en el diseño de la fuente de corriente se tuvo que optar por una configuración en divisor de tensión.

Medición por divisor de tensión

Es esquema electrónico resultante después de la modificación por el fallo en el diseño de la fuente de corriente es el siguiente:

SOFT%20InteDrv32USB%20cal%205

Ilustración : Esquema electrónico de medida

Puede observarse que el principio de medición de resistencia es un simple divisor de tensión.

Aplicando la ecuación de divisor de tensión obtenemos:

Despejando obtenemos:

Esta es la ecuación que se utiliza para obtener el valor de en función de .

En la siguiente ilustración se presenta la implementación de GetR:

SOFT%20InteDrv32USB%20cal3

Ilustración : Implementación de GetR

Se utiliza una estructura TVIR que almacena los parámetros de configuración de la TVIR necesarios para su funcionamiento, algunos de ellos no se utilizan por el hecho de no utilizan una fuente de corriente. Seguidamente se describen los parámetros:

  • TVIR.wAddr: es la dirección física de la tarje, se multiplica la posición de la tarjeta por 8, ya que cada tarjeta del rack ocupa 8 bytes de datos
  • TVIR.byVersion: es la versión de TVIR, por ahora solo existe la 0
  • TVIR.byVIR: tenía por objetivo seleccionar entre medición de tensión, internsidad y resistencia pero en versión 0 no importa
  • TVIR.byCurrSou: establece la corriente que debe otorgar la fuente de corriente. En la versión 0 no importa
  • TVIR.byBPCon: modo de conexión al backplane. En versión 0 no importa
  • TVIR.byGenVn: con un valor de 1 conecta el terminal negativo del amplificador de instrumentación a masa, no lo conecta si es 0
  • TVIR.by4H2Hn: si es 0 conecta el terminal positivo del amplificador con la fuente de corriente, si es 1 no lo conecta
  • TVIR.CurrSen: si es 1 se realiza medición de corriente, si es 0 no la realiza
  • TVIR.GndVn: si es 0 no conecta el terminal negativo del amplificador de instrumentación a masa, si es 1 si lo conecta

También se definen unas variables que son específicas del esquema de medición por divisor de tensión, estas son:

  • fRes: resistencia incógnita
  • fVal: tensión leída sobre la resistencia de sensado
  • R1: resistencias de los conmutadores analógicos en la TVIR, de valor 10 Ω
  • R2: resistencias de los conmutadores analógicos en la TCA, de valor 10 Ω
  • Rsen: resistencia para el sensado de corriente, de valor 1000 Ω
  • Vref: tensión de referencia para el divisor de tensión, de valor 10 V

Aparecen dos variables más, el set de short, que es un vector de ‘unsigned short’, para almacenar los valores leídos. Por último está la variables bOK para comprobar las condiciones de error.

Una vez finalizada la inicialización anteriormente descrita, se ejecuta un bucle tipo ‘for’, el número máximo de iteraciones que se realizarán coincide con el número máxima de ganancias posibles de los amplificadores de ganancia variables PGA, esto es 7 (la concatenación de 2 PGA) especificado con la constante NUM_MAX_PGA_GAIN.

Ahora empieza el cuerpo del bucle, este consiste en realizar una medición de resistencia y luego evaluar la condición de salida.

Para realizar la medición, primero se carga la estructura TVIR.byPGA con el valor del la variable contador ‘i’. Esto provocará la selección de la primera ganancia. Las ganancias considerando del la 0 a la 6 son: 1, 2, 4, 8, 80, 800, 8000.

Luego se inicializa el ‘set de shorts’ a 30, ello quiere decir que cuando se realice la medición, se leerán 30 muestras.

Ahora es el momento de apilar los datos en la cola de transmisión USB. Esto se realiza mediante la clase cUSBParams que no está descrita en diagramas de flujos por haberse considerado innecesario. En el constructor se especifica que se pretende realizar una operación con la TVIR (cUSBParams params(ordreTVIR)), luego se encola la estructura TVIR (params.AddInTVIR(TVIR)) y finalmente se encolan el número de elementos que se pretenden leer (params.AddInWord(SS.wElem)). De forma análoga el programa ubicado en la TBCU (‘FirmwareTBCU.hex’) desencolará los datos.

La función params.Connecta(2+2*SS.wElem), es la que realiza la llamada a la DLL InteUSB32.ddl que hemos descrito en el apartado correspondiente. A modo de recordatorio diremos que la DLL InteUSB32.dll recibe un puntero a los datos de transmisión, el tamaño de los mismos, otro puntero a los datos de recepción, el tamaño de estos y la operación que se pretende realizar. Si todo ha ido bien la función retorna un verdadero y en consecuencia desencolamos los datos. Esto se realiza con params.ExtractOutSShort(&SS).

Una vez extraídos los datos se realiza la media aritmética de los mismos mediante la función PreTVIR(SS) y se multiplica por el factor FAC_CONV para convertir el resultado a voltios. Este factor de conversión viene determinado por el conversor AD, y es el rango de éste dividido por el número de cuentas

Una vez tenemos el valor de tensión promediado, se debe decidir si se realiza otra conversión pero con una ganancia superior (se debe medir lo más próximo a final de escala). Para decidirlo se multiplica el valor obtenido por la siguiente ganancia, si supera una tensión de 9,9 V el valor de la medición actual es el de mayor ganancia posible y se finaliza el bucle, en caso contrario se pasa a la siguiente ganancia y se repite el proceso. Se debe realizar la matización que las 4 primeras ganancias son en base 2 y que el resto de ganancias en base 10.

Una vez se ha obtenido un valor de tensión correcto se escala en función de la ganancia utilizada, esto se realiza mediante la línea:

‘fVal /= PGA_GAIN[TVIR.byVersion][TVIR.byPGA]’

De esta manera ya se posee el valor real de la tensión en la resistencia de sensado.

Finalmente se comprueba que el valor obtenido es diferente de 0 para evitar la división por ceso. Si es diferente se aplica la ecuación descrita anteriormente de medición mediante divisor de tensión:

En la ecuación real también se incluye una resistencia Roffset, para calibrar el equipo de comprobación para valores pequeños.

En la siguiente ilustración se presenta la implementación de la funciones de conmutación de las tarjetas TCA:

SOFT%20InteDrv32USB%20cal4

Ilustración : Funciones TCA

Son dos diagramas de flujos, unos para la conmutación del hacia el canal A y la otra para la conmutación hacia el canal B.

Las funciones reciben como parámetro la carta borne sobre la que se actuará y el valor a que se establecerá, verdadera implicar conexión y falso implicará no conexión.

La implementación empieza creando un objeto de la clase cUSBPArams que se encarga de encolar y desencolar los datos así como de la conexión con la DLL InteUSB32.dll.

En el constructor se especifica que se pretende realizar una operación u orden respecto a la TCA. Seguidamente se encola un 0 se pretende actuar sobre el canal A o un 1 si se pretende actuar sobre el canal B. Seguidamente se encola la carta borne sobre la que se actuara, luego se encola si se conmutará o no.

Finalmente mediante la función Connecta(), se realiza la comunicación USB.

Aplicación (ProvaR.exe)

La aplicación ProvaR.exe sirve para ejemplificar la utilización del sistema de adquisición de datos, no pretende ser una aplicación comercial, sólo comprobar la validez del hardware y software desarrollado. Por ello no se explicará la implementación de está aplicación exhaustivamente.

En la siguiente ilustración se presenta el diagrama de flujos de la función asociada al botón para realizar la medición de una resistencia entre dos puntos:

SOFT%20ProvaR%20cal%201

Ilustración : Función Measure 1

Esta función es el ejemplo más sencillo para la utilización de GetR. Mediante la función ‘UpdateData(true)’ se actualizan los parámetros de las cartas bornes A y B (cbA y cbB). Consiste en transferir los datos del diálogo a las variables

Luego se ejecuta la función GetR con los parámetros anteriormente citados y actualiza la variable doble ‘fr’.

Seguidamente mediante la función ‘UpdateData(false)’ se actualiza el resultado presentado en pantalla, es decir el valor leído ‘fr’.

En la siguiente ilustración se presenta el diagrama de flujos de la función ‘MeasureN’. Ésta realiza la medición de resistencia de N elementos presentando en el diálogo las N medidas realizadas. También enseña otro diálogo donde se puede leer la media aritmética, el valor mayor y el valor menos, esto es útil para comprobar si hay problemas en las comunicaciones.

En la implementación de la función se utilizan las variables de cartas bornes A y B, el valor de lectura de resistencia fr, y unas variables de apoyo que son fSum para almacenar la media aritmética, fUpper para almacenar el valor superior y fLower para almacenar el valor inferior. También se utiliza el contador ‘i’ para implementar un bucle.

Mediante ‘UpdateData(true)’ se actualizan las cartas bornes y el contador ‘i’ con el número de operaciones que se desea realizar N.

Si ‘i’ es diferente de cero se ejecuta el cuerpo del bucle, en caso contrario se finaliza, se deduce de ello que la implementación es decremental.

El cuerpo de bucle consiste en lo siguiente. Se realiza una llamada a la función GetR y seguidamente se suma el valor a la variable fSum. Luego se comprueban los valores superiores e inferiores actualizando las variables fUpper yfLower si es necesario. Finalmente se decrementa la variable contador.

Antes de salir del bucle se actualizan los datos del diálogo con ‘UpdateData(false)’ y finalmente se presenta otro diálogo con ‘AfxMessageBox()’ y los datos de media, mayor y menor.

SOFT%20ProvaR%20cal%202

Ilustración : Función Measure N

En la siguiente ilustración se puede apreciar la función asociada al botón de ‘System Test’. Lo que realiza es la media de un patrón preestablecido y establece el error de la medida. Este procedimiento sirve para calibrar el sistema y comprobar que todos los puntos de comprobación funcionan correctamente.

Las variables que intervienen son las cartas bornes A y B (cbA y cbB). Los variables de doble precisión necesarias son: fr para la lectura actual, fPer para el error de lectura, fUpper el valor superior del patrón, fLower el valor inferior del patrón, fUpperPer el errror de lectura superior, fLowerPer el error lectura inferior y un vector para almacenar el patrón inicializado al principio por la aplicación (InitDialog()). También son necesarios dos variables contadores para el bucle.

SOFT%20ProvaR%20cal%203

Ilustración : Función Test System

Primero se obtienen los datos del diálogo mediante ‘UpdadeData(true)’ y luego se inicializan las variables contadores y los bornes. Luego se ejecuta el bucle mientras la variable contador ‘i’ sea diferente de 0, de ello se deduce que la implementación es decremental.

El cuerpo del bucle realiza los siguientes pasos:

Se almacena en ‘fUpper’ el valor superior de la resistencia patrón enésima (+1%).

Se almacena en ‘fLower’ el valor inferior de la resistencia patrón enésima (-1%).

Se almacena en ‘fUpperPer’ el error de medida relativo superior en tanto por ciento.

Se almacena en ‘fLowerPer’ el error de medida relativo inferior en tanto por ciento.

Luego se evalúa la condición de cual de los dos errores es menor y se actualiza la variable ‘fPer’ con el menor de los errores. Ésta variable es la que se presentará por pantalla.

Finalmente se imprime por pantalla la variable de error y se actualizan los contadores y los bornes. El ciclo se repite hasta 32 veces y finalmente se actualizan los datos con ‘UpadtaData(false)’.

Sistema Modular de Adquisición de Datos

Planos

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2004.

Tarjeta de Enlace (TE)

Fotografía

te6

Esquema

 

PCB: Componentes

 

PCB: Cara Inferior

 

Lista de Materiales

Elementos Pasivos

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

JPOWER1

1

Conector Poste macho polarizado paso 3.96mm

Varios

 

J0 – J5

6

Conector A+C DIN41612 macho, 64 vias, acodado PCB sin expulsores

ITW Pancon

100-964-033

Tabla : Elementos pasivos TE

Tarjeta Base de Control USB (TBCU)

Fotografía

TBCU%20V0105%20rack2

Esquema: USB y Control

TBCU%20V0105%20esquema%201

Esquema: Cabecera de Bus

TBCU%20V0105%20esquema%202

Implementación PLD

PLD%20TBCU

PCB: Componentes

 

PCB: Cara Superior

 

PCB: Cara Inferior

 

Lista de Materiales

Semiconductores y Optoelectrónica

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

U1,U2,U7,U8,U9

5

Buffer Transceiver

Philips

74HCT245D

U3

1

Decoder 4-16

Philips

74HC154N

U4

1

Microcontrolador familia 8051 con interficie USB incorporada

Cypress

AN2131QC

U5

1

Dispositivo Lógico Programable MAX3000A, 1250gates, 64macrocells, 100pin

Altera

EPM3064ATC100-10

U6

1

SRAM 256K (32Kx8) CMOS RAM, 20ns acc., 3.3V, SMD

Int. Devide

IDT71V256SA20Y

U10

1

Single Universal Serial Port Transient Supressor, SMD

Texas Inst.

SN65220

U11

1

EEPROM 1K(128×8) Serial CMOS (Low voltage), 3.3V

ST MICR.

ST24C01B1

U12

1

Fixed Voltage Regulator, 3.3V, 1.5A, Thermally Protected, LDO, SMD

Texas Inst.

TPS75333QPWP

Y1

1

Quartz Crystals, 12MHz, accuracy +/-30ppm, Tª stab +/-50ppm, 30pF

 

A158K

Tabla : Semiconductores y Optoelectrónica TBCU

Elementos Pasivos.

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

C1, C2, C3, C5, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C24, C20, C21, C22, C23, C26

22

Condensador, cerámico multicapa, 16V, X7R (10%) , SMD, 100nF

PHICOMP

 

C6

1

Condensador, Tántalo, Radial, 25V, 1uF

Multicomp

 

C7

1

Condensador, aluminio electrolítico, Radial, 6.3V, 100uF

Multicomp

 

C27

1

Condensador, aluminio, electrolítico, Radial, 25V, 2.2uF

Multicomp

 

C28, C29

2

Condensador, cerámico multicapa, 16V, NPO (5%), 33pF

PHICOMP

 

R14, R16

2

Resistencia, película fina, 1/8W, 1%, 220Ω

Varios

 

R2

1

Resistencia película fina, 1/8W, 1%, SMD, 1MΩ

Varios

 

R3

1

Resistencia, película fina, 1/8W, 1%, 1k5Ω

Varios

 

R10, R11

2

Resistencia, película fina, 1/8W, 1%, 2k2Ω

Varios

 

R4, R5, R19

3

Resistencia, película fina, 1/8W, 1%, 22Ω

Varios

 

R6, R7, R8, R9, R15, R18, R24, R25

8

Resistencia, película fina, 1/8W, 1%, 10kΩ

Varios

 

J0

1

Conector A+C DIN41612 macho, 64 vías, acodado PCB sin expulsores

ITW Pancon

100-964-033

J3

1

Tirapin 2,54 mm. 2 x 6 pins

Varios

 

J4

1

Tirapin 2,54 mm. 2×2 pins

Varios

 

J8

1

Conector IDC macho 10 vias

Varios

 

J12

1

Tirapin 2,54 mm. 2×4 pins

Varios

 

Tabla : Elementos Pasivos TBCU

Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR)

Fotografía

tvir_top

Esquema: Control

 

Esquema: Conversor AD

 

Esquema: Amplificadores de Ganancia Programable

 

Esquema: Conversor DA

 

Esquema: Fuente de Corriente

 

Esquema: Conmutación Analógica

 

Esquema: Energía

 

Implementación PLD

PLD%20TVIR%202

PLD%20TVIR%203

PCB: Componentes

 

PCB: Cara Superior

 

PCB: Cara Inferior

 

Lista de Materiales

Semiconductores y Optoelectrónica

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

U1

1

Dispositivo Lógico Programable MAX7000s, 128macrocells, 84pin PLCC,Speed 15, SMD

Altera

EPM7128SLC84-15

U4

1

Octal transceiver with direcction pin, 5V, HCT

Philips

74HCT245N

U6

1

Octal FilpFlop D con reset

Philips

74HC273N

UADC1

1

A/D converter 12bits, 25us, 35mW, C, L, P, R, S, S/A, S/H, 5V

BB

ADS7806P

UAS2

1

Analogue switches, quad SPST CMOS, 5ohms, 100mA

MAX

MAX313CPE

UCS1

1

Operational Amplifier, Single, Utra-precision, low offset, low drift, low noise

BB

OPA177GP

UPGA1

1

Precision Instrumentation Amplifier, binary model, programable gains de 1, 2, 4, 8

BB

PGA205AP

UPGA2

1

Eq. Gain 1, 10, 100, 1000 (*)

BB

PGA204AP

UPS1

1

Fixed Voltage Regulator, +12V, 1A

National Semicon.

LM340T-12

UPS2

1

Fixed Voltage Regulator, -12V, 0.5A

National Semicon.

LM79M12CT

UPS3

1

Fixed Voltage Regulator, +5V, 0.5A, LDO, Thermal protected

Toshiba

TA78M05S

UPS4

1

Voltage Referencie Diodes, 10V precision, 65ppm/ºC

Analog Devices

REF01CP

Y1

1

Crystall Oscillator Modules, single output module, universal output, 20.0MHz

 

AEL9710CSN

DPS1, DPS2, DPS3, DPS4, DPS5, DPS6

6

Diodos de propósito general

 

1N4004

Tabla : Semiconductores y Optoelectrónica TVIR

Elementos pasivos

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

J1

1

Conector A+C DIN41612 macho, 64 vias, acodado

ITW Pancon

100-964-033

J2

1

Conector macho IDC 10 vias, 2,54mm.

Varios

 

J4, JPGA3, JPGA2

3

2 x Tirapin 2 vias macho, 2,54mm.

Varios

 

JPS1, JPS2, J3, J5, JPGA1

5

Tirapin 2 vias macho, 2,54 mm.

Varios

 

JADC2

1

3 x Tirapin 2 vias macho, 2,54 mm.

Varios

 

RVPS1

1

Multi turn cermet Trimmer, 1/2W, 25turn on TOP,20k

Vishay

RADC1

1

Reistencia capa metalica 200Ω, ¼ W, 1%

Varios

 

RADC2

1

Resistencia capa metallic 100Ω, ¼ W, 1%

Varios

 

RAS1

1

Resistencia capa metálica 1kΩ, ¼ W, 1%

Varios

 

RAS2

1

Resistencia cpa metálica 100kΩ, ¼ W, 1%

Varios

 

C1, C2, C3, C4, C5, C6, C7, C8, C11, C13, CPS7, CAS1, CAS2, CAS3, CADC3, CCS1, CCS2

17

Condensador cerámico multicapa, 100nF >15V

Varios

 

CPS2, CPS4, CPS6, CPGA1, CPGA2, CPGA3, CPGA4

7

Condensador tántalo, 1µF >15V

Varios

 

CPS1, CPS5

2

Condensador de tántalo, 0,33µ >20V

Varios

 

CPS3, CADC1, CADC2

3

Condensador de tántalo, 2,2µ >20V

Varios

 

CADC4

1

Condensador de tántalo, 10µ >10V

Varios

 

C14

1

Condensador electrolítico, 47µ >10V

Varios

 

Tabla : Elementos Pasivos TVIR

Tarjeta de Conmutación Analógica (TCA)

Fotografía

TCA_V1

Esquema: Control

 

Esquema: Memoria

 

Esquema: Conmutación Analógica

 

Implementación PLD

PLD%20TCA

PCB: Componentes

 

PCB: Cara Superior

 

PCB: Cara Inferior

 

Lista de Materiales

Semiconductores y Optoelectrónica

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

UCNT1

1

Dispositivo Lógico Programable MAX7000s, 64macrocells, 44pin PLCC,Speed 10, SMD

Altera

EPM7064SLC44-10

UCNT2

1

Transceiver 8 bits con selector de direccion, 5V, HCT

Philips

74HCT245N

UCNT3, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28

29

Analogue switches, quad SPST CMOS, 5Ω, 100mA (4xNO)

MAX

MAX313CPE

U33, U34, U35, U36, U37, U38, U39, U40, U41, U42, U43, U44, U45, U46

14

Octal FilpFlop D con reset

Philips

74HC273N

Tabla : Semiconductores y Optoelectrónica TCA

Elementos Pasivos

Ref. Circuito

Uds.

Descripción

Fabricante

Ref. Fab.

CCNT0, CCNT1, CCNT11

3

Condensador electrolitico de alumínio, 47 µF > 20 V

Varios

 

CCNT2-9

y

C1-42

50

Condensador ceramico multicapa 100 nF >20 V

Varios

 

JCNT1

1

Conector IDC 2,54mm., 10 vias

Varios

 

J1

1

Conector A+C DIN41612 macho, 64 vias, acodado PCB sin expulsores

ITW Pancon

100-964-033

J2

1

Conector A+C DIN41612 macho, 64 vias, acodado PCB con expulsores

ITW Pancon

120-964-033A

Tabla : Elementos Pasivos TCA

Sistema Modular de Adquisición de Datos

Presupuesto

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2004.

Tarjeta de Enlace (TE)

Requerimientos de Materiales

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

Ud.

Conector Poste macho polarizado paso 3.96mm

 

Varios

B8.903205

1

Conector A+C DIN41612 macho, 64 vias, acodado PCB sin expulsores

 

ITW Pancon

120-964-435 DIN 41612

6

Precios Unitarios

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

Conector Poste macho polarizado paso 3.96mm

 

Varios

B8.903205

0,75

Conector A+C DIN41612 macho, 64 vias, acodado PCB sin expulsores

 

ITW Pancon

120-964-435 DIN 41612

2,8

Escandallo

ZÓCALOS Y CONECTORES

 

Descripción

Fab.

Ref. Fab.

Ud.

€/Ud

Total

Conector Poste macho polarizado paso 3.96mm

Varios

B8.903205

1

0,75

0,75

Conector A+C DIN41612 macho, 64 vias, acodado PCB sin expulsores

ITW Pancon

120-964-435 DIN 41612

6

2,8

16,8

 

TOTAL

17,55

17,55

 

TOTAL

17,55

Tarjeta Base de Control USB (TBCU)

Requerimientos de Materiales

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

Ud.

Microcontrolador 8051 con interface USB, SMD

80 pin PQFP

CYPRESS SEMICONDUCT.

AN2131QC

1

Dispositivo Lógico Programable MAX3000A, 1250gates, 64macrocells, 100pin TQFP,SMD

JEDEC MS-026 op BED

ALTERA

EPM3064ATC100-10

1

Octal transceiver with direction pin (3-State), SMD

SO20 (SOT163-1)

PHILIPS SEMICONDUCT.

74ABT245D

0

(eq) Octal transceiver with direction pin (3-State), SMD

SO20 (SOT163-1)

PHILIPS SEMICONDUCT.

74ABT245D

5

Decodificador/Demultiplexer 4/16, SMD

SO 137-1

PHILIPS SEMICONDUCT.

74HCT154D

0

(eq) Decodificador/Demultiplexer 4/16, SMD

JEDEC MO-153

FAIRCHILD

MM74HC154WM

0

(eq) Decodificador/Demultiplexer 4/16, SMD

JEDEC MO-153

FAIRCHILD

MM74HC154WM

1

SRAM 256K (32Kx8) CMOS RAM, 20ns acc., 3.3V, SMD

SOJ-28

INTEGRATE DEVICE TECH.

IDT71V256SA20Y

1

EEPROM 1K(128×8) Serial CMOS (Low voltage)

DIP-8

ST MICROELECT.

ST24C01B1

0

EEPROM 1K(128×8) Serial CMOS (Low voltage), Ind. Temp, 3.3V

DIP-8

ST MICROELECT.

M24C01-BN6

0

(eq) EEPROM 1K(128×8) Serial CMOS (Low voltage)

DIP-8

ST MICROELECT.

ST24C01B1

1

Inverting Schmitt-trigger, Picogate, SMD

 

PHILIPS SEMICONDUCT.

74HC1G14GW

0

Single Universal Serial Port Transient Supressor, SMD

SADI

TEXAS INSTRUMENTS

SN65220

1

Fixed Voltage Regulator, 3.3V, 1.5A, Thermally Protected, LDO, SMD

20/TSSOP

TEXAS INSTRUMENTS

TPS75333QPWP

1

Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

ON SEMICONDUCT.

MC1413D

1

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

NATIONAL SEMINCONDUCT.

DS2003CM

0

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

TOSHIBA

ULN2003AFW

0

Temp. Sensor with I2C interface, 3V operation, 9-bit Delta-Sigma ADC, SMD

 

MICROCOMPUTER SYS. COMP.

LM75CIM3

1

PCB Mounting LEDs, 5mm/T1 3/4, Standard, Yellow

 

ANGILENT TECHNOLOGIES

HLMP3401-F00B2

4

PCB Mounting LEDs, 5mm/T1 3/4, Standard, HE red

 

ANGILENT TECHNOLOGIES

HLMP3301-F00B2

3

Quartz Crystals, 12MHz, accuracy +/-30ppm, Tª stab +/-50ppm, 30pF

HC49/4H

C-MAC

A158K

1

(eq) Quartz Crystals, 12MHz

HC49

C-MAC

A158A

0

 

ZÓCALOS, CONECTORES Y ACCESORIOS

Descripción

Encap.

Fab.

Ref. Fab.

1 Ud.

Receptáculo USB, 4ways, single deck

 

FCI

61729-0010B

1

Conector macho recto, bajo perfil, doble fila para CI, IDC, 50pins

 

ARISTON

CO 1650

1

Conector macho recto, bajo perfil, doble fila para CI, IDC, 10pins

 

ARISTON

 

1

Tirapin 6×2

 

 

 

1

Tirapin 2×2

 

 

 

1

Tirapin 4×1

 

 

 

0

Tirapin 2×1

 

 

 

0

DIN41612, 3 row body, ac, Male

 

 

 

1

Zócalo DIP 8 pins

 

 

 

1

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

1 Ud.

Resistor, thick film Networks, 200mW/element, 2%, 270ohms

 

BOURNS

4609X-101

1

Resistor, thick film Networks, 200mW/element, 2%, ohms

 

BOURNS

 

0

Resistor, thick film, 1/8W, 1%, SMD, ohms

 

MULTICOMP

 

0

Resistor, thick film, 1/8W, 1%, SMD, 5k6ohms

Case size 1206

MULTICOMP

 

0

Resistor, thick film, 1/8W, 1%, SMD, 39kohms

Case size 1206

MULTICOMP

 

0

Resistor, thick film, 1/8W, 1%, SMD, 22ohms

Case size 1206

MULTICOMP

 

3

Resistor, thick film, 1/4W, 2%, SMD, 24ohms

Case size 1206

WELWYN

 

0

Resistor, thick film, 1/8W, 1%, SMD, 1,5Kohms

Case size 1206

MULTICOMP

 

1

Resistor, thick film, 1/4W, 1%, SMD, 2,2Kohms

Case size 1206

MULTICOMP

 

2

Resistor, thick film, 1/4W, 1%, SMD, 10Kohms

Case size 1206

MULTICOMP

 

15

Resistor, thick film, 1/8W, 1%, SMD, 1Mohms

Case size 1206

MULTICOMP

 

1

Resistor, thick film, 1/4W, 1%, SMD, 220ohms

Case size 1206

MULTICOMP

 

0

Capacitor, multilayer ceramic, 16V, X7R (10%) , SMD, 100nF

Case size 0603

PHICOMP

 

23

Capacitor, multilayer ceramic, 16V, NPO (5%), SMD, 33pF

Case size 0603

PHICOMP

 

2

Capacitor, Tantalum, Radial, 25V, 1uF

 

MILTICOMP

MDT105M025

1

(eq) Capacitor, Tantalum, Radial, 35V, 1uF

 

MILTICOMP

MDT105M034

0

Capacitor, aluminium electrolitic, Radial, 6.3V, 100uF, 5mm profile

 

MILTICOMP

UMR6V3107M5X5

1

Capacitor, aluminium electrolitic, Radial, 25V, 2.2uF, 5mm profile

 

MILTICOMP

UMR25V225M4X5

1

Capacitor, aluminium electrolitic, Radial, 6.3V, 180uF, 5mm profile

 

MILTICOMP

 

0

Precios Unitarios

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

€/Ud

Microcontrolador 8051 con interface USB, SMD

80 pin PQFP

CYPRESS SEMICONDUCT.

AN2131QC

13,38

Dispositivo Lógico Programable MAX3000A, 1250gates, 64macrocells, 100pin TQFP,SMD

JEDEC MS-026 op BED

ALTERA

EPM3064ATC100-10

4,512

Octal transceiver with direction pin (3-State), SMD

SO20 (SOT163-1)

PHILIPS SEMICONDUCT.

74ABT245D

0,547

(eq) Octal transceiver with direction pin (3-State), SMD

SO20 (SOT163-1)

PHILIPS SEMICONDUCT.

74ABT245D

0,625

Decodificador/Demultiplexer 4/16, SMD

SO 137-1

PHILIPS SEMICONDUCT.

74HCT154D

2,19

(eq) Decodificador/Demultiplexer 4/16, SMD

JEDEC MO-153

FAIRCHILD

MM74HC154WM

0,844

(eq) Decodificador/Demultiplexer 4/16, SMD

JEDEC MO-153

FAIRCHILD

MM74HC154WM

0,55

SRAM 256K (32Kx8) CMOS RAM, 20ns acc., 3.3V, SMD

SOJ-28

INTEGRATE DEVICE TECH.

IDT71V256SA20Y

3,751

EEPROM 1K(128×8) Serial CMOS (Low voltage)

DIP-8

ST MICROELECT.

ST24C01B1

0,516

EEPROM 1K(128×8) Serial CMOS (Low voltage), Ind. Temp, 3.3V

DIP-8

ST MICROELECT.

M24C01-BN6

0,641

(eq) EEPROM 1K(128×8) Serial CMOS (Low voltage)

DIP-8

ST MICROELECT.

ST24C01B1

0,32

Inverting Schmitt-trigger, Picogate, SMD

 

PHILIPS SEMICONDUCT.

74HC1G14GW

0,42

Single Universal Serial Port Transient Supressor, SMD

SADI

TEXAS INSTRUMENTS

SN65220

0,687

Fixed Voltage Regulator, 3.3V, 1.5A, Thermally Protected, LDO, SMD

20/TSSOP

TEXAS INSTRUMENTS

TPS75333QPWP

5,21

Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

ON SEMICONDUCT.

MC1413D

0,735

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

NATIONAL SEMINCONDUCT.

DS2003CM

1,751

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

SOIC 16

TOSHIBA

ULN2003AFW

0,469

Temp. Sensor with I2C interface, 3V operation, 9-bit Delta-Sigma ADC, SMD

 

MICROCOMPUTER SYS. COMP.

LM75CIM3

4,83

PCB Mounting LEDs, 5mm/T1 3/4, Standard, Yellow

 

ANGILENT TECHNOLOGIES

HLMP3401-F00B2

0,39

PCB Mounting LEDs, 5mm/T1 3/4, Standard, HE red

 

ANGILENT TECHNOLOGIES

HLMP3301-F00B2

0,39

Quartz Crystals, 12MHz, accuracy +/-30ppm, Tª stab +/-50ppm, 30pF

HC49/4H

C-MAC

A158K

0,797

(eq) Quartz Crystals, 12MHz

HC49

C-MAC

A158A

1,72

 

 

ZÓCALOS, CONECTORES Y ACCESORIOS

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

Receptáculo USB, 4ways, single deck

 

FCI

61729-0010B

1,64

Conector macho recto, bajo perfil, doble fila para CI, IDC, 50pins

 

ARISTON

CO 1650

0,3

Conector macho recto, bajo perfil, doble fila para CI, IDC, 10pins

 

ARISTON

 

0,05

Tirapin 6×2

 

 

 

0,05

Tirapin 2×2

 

 

 

0,1

Tirapin 4×1

 

 

 

0,1

Tirapin 2×1

 

 

 

0,9

DIN41612, 3 row body, ac, Male

 

 

 

0,09

Zócalo DIP 8 pins

 

 

 

 

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

Resistor, thick film Networks, 200mW/element, 2%, 270ohms

 

BOURNS

4609X-101

0,25

Resistor, thick film Networks, 200mW/element, 2%, ohms

 

BOURNS

 

 

Resistor, thick film, 1/8W, 1%, SMD, ohms

 

MULTICOMP

 

 

Resistor, thick film, 1/8W, 1%, SMD, 5k6ohms

Case size 1206

MULTICOMP

 

0,042

Resistor, thick film, 1/8W, 1%, SMD, 39kohms

Case size 1206

MULTICOMP

 

0,03

Resistor, thick film, 1/8W, 1%, SMD, 22ohms

Case size 1206

MULTICOMP

 

0,03

Resistor, thick film, 1/4W, 2%, SMD, 24ohms

Case size 1206

WELWYN

 

0,03

Resistor, thick film, 1/8W, 1%, SMD, 1,5Kohms

Case size 1206

MULTICOMP

 

0,03

Resistor, thick film, 1/4W, 1%, SMD, 2,2Kohms

Case size 1206

MULTICOMP

 

0,03

Resistor, thick film, 1/4W, 1%, SMD, 10Kohms

Case size 1206

MULTICOMP

 

0,025

Resistor, thick film, 1/8W, 1%, SMD, 1Mohms

Case size 1206

MULTICOMP

 

0,03

Resistor, thick film, 1/4W, 1%, SMD, 220ohms

Case size 1206

MULTICOMP

 

0,03

Capacitor, multilayer ceramic, 16V, X7R (10%) , SMD, 100nF

Case size 0603

PHICOMP

 

0,169

Capacitor, multilayer ceramic, 16V, NPO (5%), SMD, 33pF

Case size 0603

PHICOMP

 

0,169

Capacitor, Tantalum, Radial, 25V, 1uF

 

MILTICOMP

MDT105M025

0,719

(eq) Capacitor, Tantalum, Radial, 35V, 1uF

 

MILTICOMP

MDT105M034

0,985

Capacitor, aluminium electrolitic, Radial, 6.3V, 100uF, 5mm profile

 

MILTICOMP

UMR6V3107M5X5

0,13

Capacitor, aluminium electrolitic, Radial, 25V, 2.2uF, 5mm profile

 

MILTICOMP

UMR25V225M4X5

0,183

Capacitor, aluminium electrolitic, Radial, 6.3V, 180uF, 5mm profile

 

MILTICOMP

 

 

Escandallo

SEMICONDUCTORES Y OPTOELECTRÓNICA

Total

Descripción

Fabricante

Ref. Fab.

1 Ud.

€/Ud

Total

Microcontrolador 8051 con interface USB, SMD

CYPRESS SEMICONDUCT.

AN2131QC

1

13,38

13,38

 

Dispositivo Lógico Programable MAX3000A, 1250gates, 64macrocells, 100pin TQFP,SMD

ALTERA

EPM3064ATC100-10

1

4,512

4,512

Octal transceiver with direction pin (3-State), SMD

PHILIPS SEMICONDUCT.

74ABT245D

0

0,547

0

(eq) Octal transceiver with direction pin (3-State), SMD

PHILIPS SEMICONDUCT.

74ABT245D

5

0,625

3,125

Decodificador/Demultiplexer 4/16, SMD

PHILIPS SEMICONDUCT.

74HCT154D

0

2,19

0

(eq) Decodificador/Demultiplexer 4/16, SMD

FAIRCHILD

MM74HC154WM

0

0,844

0

(eq) Decodificador/Demultiplexer 4/16, SMD

FAIRCHILD

MM74HC154WM

1

0,55

0,55

SRAM 256K (32Kx8) CMOS RAM, 20ns acc., 3.3V, SMD

INTEGRATE DEVICE TECH.

IDT71V256SA20Y

1

3,751

3,751

EEPROM 1K(128×8) Serial CMOS (Low voltage)

ST MICROELECT.

ST24C01B1

0

0,516

0

EEPROM 1K(128×8) Serial CMOS (Low voltage), Ind. Temp, 3.3V

ST MICROELECT.

M24C01-BN6

0

0,641

0

(eq) EEPROM 1K(128×8) Serial CMOS (Low voltage)

ST MICROELECT.

ST24C01B1

1

0,32

0,32

Inverting Schmitt-trigger, Picogate, SMD

PHILIPS SEMICONDUCT.

74HC1G14GW

0

0,42

0

Single Universal Serial Port Transient Supressor, SMD

TEXAS INSTRUMENTS

SN65220

1

0,687

0,687

Fixed Voltage Regulator, 3.3V, 1.5A, Thermally Protected, LDO, SMD

TEXAS INSTRUMENTS

TPS75333QPWP

1

5,21

5,21

Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

ON SEMICONDUCT.

MC1413D

1

0,735

0,735

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

NATIONAL SEMINCONDUCT.

DS2003CM

0

1,751

0

(eq) Transistor Array, 7 NPN Darlingtons (ULN2003 compatible), SMD

TOSHIBA

ULN2003AFW

0

0,469

0

Temp. Sensor with I2C interface, 3V operation, 9-bit Delta-Sigma ADC, SMD

MICROCOMPUTER SYS. COMP.

LM75CIM3

1

4,83

4,83

PCB Mounting LEDs, 5mm/T1 3/4, Standard, Yellow

ANGILENT TECHNOLOGIES

HLMP3401-F00B2

4

0,39

1,56

PCB Mounting LEDs, 5mm/T1 3/4, Standard, HE red

ANGILENT TECHNOLOGIES

HLMP3301-F00B2

3

0,39

1,17

Quartz Crystals, 12MHz, accuracy +/-30ppm, Tª stab +/-50ppm, 30pF

C-MAC

A158K

1

0,797

0,797

(eq) Quartz Crystals, 12MHz

C-MAC

A158A

0

1,72

0

 

TOTAL

40,627

40,627

ZÓCALOS, CONECTORES Y ACCESORIOS

 

Descripción

Fab.

Ref. Fab.

1 Ud.

€/Ud

Total

Receptáculo USB, 4ways, single deck

FCI

61729-0010B

1

1,64

1,64

Conector macho recto, bajo perfil, doble fila para CI, IDC, 50pins

ARISTON

CO 1650

1

 

0

Conector macho recto, bajo perfil, doble fila para CI, IDC, 10pins

ARISTON

 

1

0,3

0,3

Tirapin 6×2

 

 

1

0,05

0,05

Tirapin 2×2

 

 

1

0,05

0,05

Tirapin 4×1

 

 

0

0,1

0

Tirapin 2×1

 

 

0

0,1

0

DIN41612, 3 row body, ac, Male

 

 

1

0,9

0,9

Zócalo DIP 8 pins

 

 

1

0,09

0,09

 

TOTAL

3,03

3,03

   

PASIVOS

 

Descripción

Fab.

Ref. Fab.

1 Ud.

€/Ud

Total

Resistor, thick film Networks, 200mW/element, 2%, 270ohms

BOURNS

4609X-101

1

0,25

0,25

Resistor, thick film Networks, 200mW/element, 2%, ohms

BOURNS

 

0

 

0

Resistor, thick film, 1/8W, 1%, SMD, ohms

MULTICOMP

 

0

 

0

Resistor, thick film, 1/8W, 1%, SMD, 5k6ohms

MULTICOMP

 

0

0,042

0

Resistor, thick film, 1/8W, 1%, SMD, 39kohms

MULTICOMP

 

0

0,03

0

Resistor, thick film, 1/8W, 1%, SMD, 22ohms

MULTICOMP

 

3

0,03

0,09

Resistor, thick film, 1/4W, 2%, SMD, 24ohms

WELWYN

 

0

0,03

0

Resistor, thick film, 1/8W, 1%, SMD, 1,5Kohms

MULTICOMP

 

1

0,03

0,03

Resistor, thick film, 1/4W, 1%, SMD, 2,2Kohms

MULTICOMP

 

2

0,03

0,06

Resistor, thick film, 1/4W, 1%, SMD, 10Kohms

MULTICOMP

 

15

0,025

0,375

Resistor, thick film, 1/8W, 1%, SMD, 1Mohms

MULTICOMP

 

1

0,03

0,03

Resistor, thick film, 1/4W, 1%, SMD, 220ohms

MULTICOMP

 

0

0,03

0

Capacitor, multilayer ceramic, 16V, X7R (10%) , SMD, 100nF

PHICOMP

 

23

0,169

3,887

Capacitor, multilayer ceramic, 16V, NPO (5%), SMD, 33pF

PHICOMP

 

2

0,169

0,338

Capacitor, Tantalum, Radial, 25V, 1uF

MILTICOMP

MDT105M025

1

0,719

0,719

(eq) Capacitor, Tantalum, Radial, 35V, 1uF

MILTICOMP

MDT105M034

0

0,985

0

Capacitor, aluminium electrolitic, Radial, 6.3V, 100uF, 5mm profile

MILTICOMP

UMR6V3107M5X5

1

0,13

0,13

Capacitor, aluminium electrolitic, Radial, 25V, 2.2uF, 5mm profile

MILTICOMP

UMR25V225M4X5

1

0,183

0,183

Capacitor, aluminium electrolitic, Radial, 6.3V, 180uF, 5mm profile

MILTICOMP

 

0

 

0

 

 

 

 

TOTAL

6,092

6,092

 

TOTAL

49,749

Tarjeta de medida de Voltaje Intensidad y Resistencia (TVIR)

Requerimientos de Materiales

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

1 Ud.

Dispositivo Lógico Programable MAX7000s, 128macrocells, 84pin PLCC,Speed 15, SMD

84 PLCC

ALTERA

EPM7128SLC84-15

1

Eq. Speed 10

84 PLCC

ALTERA

EPM7128SLC84-10

0

Octal transceiver with direcction pin, 5V, HCT

DIP-20/300”

PHILIPS SCD

74HCT245N

1

Eq. Peor caracteristicas

DIP-20/300”

PHILIPS SCD

74HC245N

0

Octal FilpFlop D con reset

DIP-20/300”

PHILIPS SCD

74HC273N

1

A/D converter 12bits, 25us, 35mW, C, L, P, R, S, S/A, S/H, 5V

DIP-28/300”

BB

ADS7806P

1

Operational Amplifier, Single, Utra-precision, low offset, low drift, low noise

DIP-8/300”

BB

OPA177GP

1

Eq. Existen muchos modelos

DIP-8/300”

 

 

0

Precision Instrumentation Amplifier, binary model, programable gains de 1, 2, 4, 8.

DIP-16/300”

BB

PGA205AP

1

Precision Instrumentation Amplifier, binary model, programable gains de Gain 1, 10, 100, 1000 (*)

DIP-16/300”

BB

PAG204AP

1

Analogue switches, quad SPST CMOS, 5ohms, 100mA

DIP-16/300”

MAX

MAX313CPE

1

Voltage Referencie Diodes, 10V precision, 65ppm/ºC

DIP-8/300”

AD

REF01CP

1

Eq. Existen muchos modelos

DIP-8/300”

 

 

 

Fixed Voltage Regulator, +12V, 1A

3/T0-220

NSC

LM340T-12

1

Eq.

3/T0-220

ST

L7812CP

0

Fixed Voltage Regulator, -12V, 0.5A

3/T0-220

NSC

LM79M12CT

1

Eq. 1A

3/T0-220

FCH

KA7912

0

Fixed Voltage Regulator, +5V, 0.5A, LDO, Thermal protected

3/T0-220

TOSH

TA78M05S

1

Eq. Existen muchos modelos

3/T0-220

 

 

 

Crystall Oscillator Modules, single output module, universal output, 20.0MHz

DIP-14/300”

AEL

 

1

Eq. Con Enable/disable

DIP-14/300”

AEL

 

0

Eq.

DIP-14/300”

C-MAC

 

0

Eq

DIP-8/300”

AEL

 

0

Eq

DIP-8/300”

C-MAC

 

0

Eq. Con Enable/disable

DIP-8/300”

AEL

 

0

Diodos de propósito general

 

 

1N4004

6

 

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

Ud.

4mm PCB Sockets 10A, Black

 

 

 

0

4mm PCB Sockets 10A, Red

 

 

 

0

PLCC socket, Through-Hole Mounting

84 ways

3M

268-7166-71-1157

0

(Eq) PLCC socket, Through-Hole Mounting

84 ways

3M

PLCC-P-84-PS-TT

0

(Eq) PLCC socket, Through-Hole Mounting

84 ways

TYCO/AMP

822473-7

1

(Eq) PLCC socket, Through-Hole Mounting

84 ways

TYCO/AUGAT

PCS-084-A-1

0

DIN A+C, acodado macho

64ways

 

 

1

IDC 10 para PCB

10ways

 

 

1

IC Socket adaptor, SOIC to DIL

8 ways

ARIES

08-350000-10

0

Zócalo DIP 8 pins

DIP 8

 

 

2

Zócalo DIP 14 pins

DIP 14

 

 

3

Zócalo DIP 16 pins

DIP 16

 

 

3

Zócalo DIP 20 pins

DIP 20

 

 

2

Tirapin 2 vias , 2,54 mm.

 

 

 

4

Tirapin 2 x 2 vias, 2,54 mm.

 

 

 

3

Tirapin 3 vias, 2,54 mm.

 

 

 

1

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

Ud.

Multi turn cermet Trimmer, 1/2W, 25turn on TOP,20k

6.35mm, T93YA

VISHAY

 

1

Resitores capa metálica 200ohms, 1/4W, 1%

MF25 series

Best Value

 

1

Resitores capa metálica 1kohms, 1/4W, 1%

MF25 series

Best Value

 

4

Condensador cerámico multicapa, 100nF, >15V

Pitch 5.08mm

 

 

17

Condensador cerámico multicapa, 1uF, 50V (Z5U: 10 a 85ºC, 20%)

Pitch 5.00mm

BC componets

2252 345 22105

7

Condensador cerámico multicapa, 1uF, 50V (X7R: -55 a 125ºC 20%)

Pitch 5.08mm

AVX

SR305C105KTA

0

Condensador cerámico multicapa, 1uF, 50V (2F4: -25 a 85ºC 30%))

Pitch 5.08mm

AVX

SR305E105MTA

0

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP104M035CCS

0

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105M035CCS

0

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105K035CCSY

0

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105M035CCSY

0

Condensador de tántalo, 0.33uF, 35V

Pitch 5.08mm

MULTICOMP

 

0

Condensador de tántalo, 0.33uF, 35V (-55 a 85ºC, 15ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP334M035CCS

2

Condensador de tántalo, 2.2uF, 16V

Pitch 5.08mm

MULTICOMP

 

0

Condensador de tántalo, 2.2uF, 16V (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M016CCS

0

Condensador de tántalo, 2.2uF, 25V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M025CCS

3

Condensador de tántalo, 2.2uF, 35V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M035CCS

0

Condensador de tántalo, 10uF, 16V

Pitch 5.08mm

MULTICOMP

 

0

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 3,2ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP106M016CCS

1

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 2,2ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP106M025CCS

0

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

Pitch 2.5mm, High 5mm

MULTICOMP

UMR16V476M6.3X5

1

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

Pitch 2.5mm, High 5mm

BC componets

2222 134 55479

0

Precios Unitarios

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

€/Ud

Dispositivo Lógico Programable MAX7000s, 128macrocells, 84pin PLCC,Speed 15, SMD

84 PLCC

ALTERA

EPM7128SLC84-15

23,054

Eq. Speed 10

84 PLCC

ALTERA

EPM7128SLC84-10

34,054

Octal transceiver with direcction pin, 5V, HCT

DIP-20/300”

PHILIPS SCD

74HCT245N

0,192

Eq. Peor caracteristicas

DIP-20/300”

PHILIPS SCD

74HC245N

 

Octal FilpFlop D con reset

DIP-20/300”

PHILIPS SCD

74HC273N

 

A/D converter 12bits, 25us, 35mW, C, L, P, R, S, S/A, S/H, 5V

DIP-28/300”

BB

ADS7806P

22,492

Operational Amplifier, Single, Utra-precision, low offset, low drift, low noise

DIP-8/300”

BB

OPA177GP

1,751

Eq. Existen muchos modelos

DIP-8/300”

 

 

 

Precision Instrumentation Amplifier, binary model, programable gains de 1, 2, 4, 8.

DIP-16/300”

BB

PGA205AP

13,286

Precision Instrumentation Amplifier, binary model, programable gains de Gain 1, 10, 100, 1000 (*)

DIP-16/300”

BB

PAG204AP

13,286

Analogue switches, quad SPST CMOS, 5ohms, 100mA

DIP-16/300”

MAX

MAX313CPE

7,659

Voltage Referencie Diodes, 10V precision, 65ppm/ºC

DIP-8/300”

AD

REF01CP

3,939

Eq. Existen muchos modelos

DIP-8/300”

 

 

 

Fixed Voltage Regulator, +12V, 1A

3/T0-220

NSC

LM340T-12

1,641

Eq.

3/T0-220

ST

L7812CP

0,875

Fixed Voltage Regulator, -12V, 0.5A

3/T0-220

NSC

LM79M12CT

1,219

Eq. 1A

3/T0-220

FCH

KA7912

0,891

Fixed Voltage Regulator, +5V, 0.5A, LDO, Thermal protected

3/T0-220

TOSH

TA78M05S

1

Eq. Existen muchos modelos

3/T0-220

 

 

 

Crystall Oscillator Modules, single output module, universal output, 20.0MHz

DIP-14/300”

AEL

 

4,626

Eq. Con Enable/disable

DIP-14/300”

AEL

 

4,892

Eq.

DIP-14/300”

C-MAC

 

4,501

Eq

DIP-8/300”

AEL

 

4,267

Eq

DIP-8/300”

C-MAC

 

5,767

Eq. Con Enable/disable

DIP-8/300”

AEL

 

4,736

Diodos de propósito general

 

 

1N4004

0

 

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

4mm PCB Sockets 10A, Black

 

 

 

0,766

4mm PCB Sockets 10A, Red

 

 

 

0,766

PLCC socket, Through-Hole Mounting

84 ways

3M

268-7166-71-1157

3,954

(Eq) PLCC socket, Through-Hole Mounting

84 ways

3M

PLCC-P-84-PS-TT

3,822

(Eq) PLCC socket, Through-Hole Mounting

84 ways

TYCO/AMP

822473-7

1,047

(Eq) PLCC socket, Through-Hole Mounting

84 ways

TYCO/AUGAT

PCS-084-A-1

6,106

DIN A+C, acodado macho

64ways

 

 

0,745

IDC 10 para PCB

10ways

 

 

0,072

IC Socket adaptor, SOIC to DIL

8 ways

ARIES

08-350000-10

12,801

Zócalo DIP 8 pins

DIP 8

 

 

0,2

Zócalo DIP 14 pins

DIP 14

 

 

0,3

Zócalo DIP 16 pins

DIP 16

 

 

0,4

Zócalo DIP 20 pins

DIP 20

 

 

0,5

Tirapin 2 vias , 2,54 mm.

 

 

 

0,05

Tirapin 2 x 2 vias, 2,54 mm.

 

 

 

0,1

Tirapin 3 vias, 2,54 mm.

 

 

 

0,02

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

Multi turn cermet Trimmer, 1/2W, 25turn on TOP,20k

6.35mm, T93YA

VISHAY

 

2,563

Resitores capa metálica 200ohms, 1/4W, 1%

MF25 series

Best Value

 

0,03

Resitores capa metálica 1kohms, 1/4W, 1%

MF25 series

Best Value

 

0,03

Condensador cerámico multicapa, 100nF, >15V

Pitch 5.08mm

 

 

0,37

Condensador cerámico multicapa, 1uF, 50V (Z5U: 10 a 85ºC, 20%)

Pitch 5.00mm

BC componets

2252 345 22105

1,047

Condensador cerámico multicapa, 1uF, 50V (X7R: -55 a 125ºC 20%)

Pitch 5.08mm

AVX

SR305C105KTA

2,585

Condensador cerámico multicapa, 1uF, 50V (2F4: -25 a 85ºC 30%))

Pitch 5.08mm

AVX

SR305E105MTA

1,396

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP104M035CCS

0,476

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105M035CCS

0,476

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105K035CCSY

1,364

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP105M035CCSY

1,174

Condensador de tántalo, 0.33uF, 35V

Pitch 5.08mm

MULTICOMP

 

0,412

Condensador de tántalo, 0.33uF, 35V (-55 a 85ºC, 15ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP334M035CCS

0,476

Condensador de tántalo, 2.2uF, 16V

Pitch 5.08mm

MULTICOMP

 

0,412

Condensador de tántalo, 2.2uF, 16V (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M016CCS

0,476

Condensador de tántalo, 2.2uF, 25V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M025CCS

0,476

Condensador de tántalo, 2.2uF, 35V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP225M035CCS

0,571

Condensador de tántalo, 10uF, 16V

Pitch 5.08mm

MULTICOMP

 

0,634

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 3,2ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP106M016CCS

0,73

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 2,2ohms a 100kHz 20ºC)

Pitch 5.00mm

AVX

TAP106M025CCS

0,841

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

Pitch 2.5mm, High 5mm

MULTICOMP

UMR16V476M6.3X5

0,147

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

Pitch 2.5mm, High 5mm

BC componets

2222 134 55479

0,227

Escandallo

SEMICONDUCTORES Y OPTOELECTRÓNICA

Total

Descripción

Fabricante

Ref. Fab.

1 Ud.

€/Ud

Total

Dispositivo Lógico Programable MAX7000s, 128macrocells, 84pin PLCC,Speed 15, SMD

ALTERA

EPM7128SLC84-15

1

23,054

23,054

 

Eq. Speed 10

ALTERA

EPM7128SLC84-10

0

34,054

0

Octal transceiver with direcction pin, 5V, HCT

PHILIPS SCD

74HCT245N

1

0,192

0,192

Eq. Peor caracteristicas

PHILIPS SCD

74HC245N

0

 

0

Octal FilpFlop D con reset

PHILIPS SCD

74HC273N

1

 

0

A/D converter 12bits, 25us, 35mW, C, L, P, R, S, S/A, S/H, 5V

BB

ADS7806P

1

22,492

22,492

Operational Amplifier, Single, Utra-precision, low offset, low drift, low noise

BB

OPA177GP

1

1,751

1,751

Eq. Existen muchos modelos

 

 

0

 

0

Precision Instrumentation Amplifier, binary model, programable gains de 1, 2, 4, 8.

BB

PGA205AP

1

13,286

13,286

Precision Instrumentation Amplifier, binary model, programable gains de Gain 1, 10, 100, 1000 (*)

BB

PAG204AP

1

13,286

13,286

Analogue switches, quad SPST CMOS, 5ohms, 100mA

MAX

MAX313CPE

1

7,659

7,659

Voltage Referencie Diodes, 10V precision, 65ppm/ºC

AD

REF01CP

1

3,939

3,939

Eq. Existen muchos modelos

 

 

 

 

0

Fixed Voltage Regulator, +12V, 1A

NSC

LM340T-12

1

1,641

1,641

Eq.

ST

L7812CP

0

0,875

0

Fixed Voltage Regulator, -12V, 0.5A

NSC

LM79M12CT

1

1,219

1,219

Eq. 1A

FCH

KA7912

0

0,891

0

Fixed Voltage Regulator, +5V, 0.5A, LDO, Thermal protected

TOSH

TA78M05S

1

1

1

Eq. Existen muchos modelos

 

 

 

 

0

Crystall Oscillator Modules, single output module, universal output, 20.0MHz

AEL

 

1

4,626

4,626

Eq. Con Enable/disable

AEL

 

0

4,892

0

Eq.

C-MAC

 

0

4,501

0

Eq

AEL

 

0

4,267

0

Eq

C-MAC

 

0

5,767

0

Eq. Con Enable/disable

AEL

 

0

4,736

0

Diodos de propósito general

 

1N4004

6

0

0

 

TOTAL

94,145

94,145

   

ZÓCALOS Y CONECTORES

 

Descripción

Fab.

Ref. Fab.

Ud.

€/Ud

Total

4mm PCB Sockets 10A, Black

 

 

0

0,766

0

4mm PCB Sockets 10A, Red

 

 

0

0,766

0

PLCC socket, Through-Hole Mounting

3M

268-7166-71-1157

0

3,954

0

(Eq) PLCC socket, Through-Hole Mounting

3M

PLCC-P-84-PS-TT

0

3,822

0

(Eq) PLCC socket, Through-Hole Mounting

TYCO/AMP

822473-7

1

1,047

1,047

(Eq) PLCC socket, Through-Hole Mounting

TYCO/AUGAT

PCS-084-A-1

0

6,106

0

DIN A+C, acodado macho

 

 

1

0,745

0,745

IDC 10 para PCB

 

 

1

0,072

0,072

IC Socket adaptor, SOIC to DIL

ARIES

08-350000-10

0

12,801

0

Zócalo DIP 8 pins

 

 

2

0,2

0,4

 

Zócalo DIP 14 pins

 

 

3

0,3

0,9

 

Zócalo DIP 16 pins

 

 

3

0,4

1,2

 

Zócalo DIP 20 pins

 

 

2

0,5

1

 

Tirapin 2 vias , 2,54 mm.

 

 

4

0,05

0,2

 

Tirapin 2 x 2 vias, 2,54 mm.

 

 

3

0,1

0,3

 

Tirapin 3 vias, 2,54 mm.

 

 

1

0,02

0,02

 

 

TOTAL

0,817

0,817

   

PASIVOS

 

Descripción

Fab.

Ref. Fab.

Ud.

€/Ud

Total

Multi turn cermet Trimmer, 1/2W, 25turn on TOP,20k

VISHAY

 

1

2,563

2,563

Resitores capa metálica 200ohms, 1/4W, 1%

Best Value

 

1

0,03

0,03

Resitores capa metálica 1kohms, 1/4W, 1%

Best Value

 

4

0,03

0,12

Condensador cerámico multicapa, 100nF, >15V

 

 

17

0,37

6,29

Condensador cerámico multicapa, 1uF, 50V (Z5U: 10 a 85ºC, 20%)

BC componets

2252 345 22105

7

1,047

7,329

Condensador cerámico multicapa, 1uF, 50V (X7R: -55 a 125ºC 20%)

AVX

SR305C105KTA

0

2,585

0

Condensador cerámico multicapa, 1uF, 50V (2F4: -25 a 85ºC 30%))

AVX

SR305E105MTA

0

1,396

0

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

AVX

TAP104M035CCS

0

0,476

0

Condesador de tántalo, 1uF, 35V, (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

AVX

TAP105M035CCS

0

0,476

0

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

AVX

TAP105K035CCSY

0

1,364

0

Condesador de tántalo, 1uF, 35V, (-55 a 125ºC, 8ohms a 100kHz 20ºC)

AVX

TAP105M035CCSY

0

1,174

0

Condensador de tántalo, 0.33uF, 35V

MULTICOMP

 

0

0,412

0

Condensador de tántalo, 0.33uF, 35V (-55 a 85ºC, 15ohms a 100kHz 20ºC)

AVX

TAP334M035CCS

2

0,476

0,952

Condensador de tántalo, 2.2uF, 16V

MULTICOMP

 

0

0,412

0

Condensador de tántalo, 2.2uF, 16V (-55 a 85ºC, 20%, 8ohms a 100kHz 20ºC)

AVX

TAP225M016CCS

0

0,476

0

Condensador de tántalo, 2.2uF, 25V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

AVX

TAP225M025CCS

3

0,476

1,428

Condensador de tántalo, 2.2uF, 35V (-55 a 85ºC, 20%, 6ohms a 100kHz 20ºC)

AVX

TAP225M035CCS

0

0,571

0

Condensador de tántalo, 10uF, 16V

MULTICOMP

 

0

0,634

0

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 3,2ohms a 100kHz 20ºC)

AVX

TAP106M016CCS

1

0,73

0,73

Condensador de tántalo, 10uF, 16V (-55 a 85ºC, 2,2ohms a 100kHz 20ºC)

AVX

TAP106M025CCS

0

0,841

0

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

MULTICOMP

UMR16V476M6.3X5

1

0,147

0,147

Condensador electrolitico de aluminio, 47uF, 16V (-40 a 85ºC, 20%)

BC componets

2222 134 55479

0

0,227

0

 

 

 

 

TOTAL

19,589

19,589

 

TOTAL

114,551

Tarjeta de Conmutación Analógica (TCA)

Requerimientos de Materiales

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

1 Ud.

Dispositivo Lógico Programable MAX7000s, 64macrocells, 44pin PLCC,Speed 10, SMD

44 PLCC

ALTERA

EPM7064SLC44-10

1

Eq. Speed 6

44 PLCC

ALTERA

EPM7064SLC44-6

0

Octal transceiver with direcction pin, 5V, HCT

DIP-20/300”

PHILIPS SCD

74HCT245N

1

Eq.

DIP-20/300”

FAIRCHILD

74ABT245CPC

0

Eq. Peor caracteristicas

DIP-20/300”

PHILIPS SCD

74HC245N

0

Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

INTERSIL

DG442DJ

29

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

HARRIS SEM.

DG442DJ

0

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

SILICONIX

DG442DJ

0

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

DIP-16/300”

SILICONIX

DG412DJ

0

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

DIP-16/300”

INTERSIL

DG412DJ

0

(eq) Analogue switches, quad SPST CMOS, 5ohms, 100mA (4xNO)

DIP-16/300”

MAXIM

MAX313CPE

0

Analogue switches, quad SPST CMOS, 5ohms, 30mA (4xNO)

DIP-16/300”

SLX

DG441DJ

0

Eq. Existen muchoes equivalentes

DIP-18/300”

 

 

 

Octal FilpFlop D con reset

DIP-20/300”

PHILIPS SCD

74HC273N

14

 

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

Ud.

IDC 10 para PCB

10ways

 

 

1

PLCC socket, Through-Hole Mounting

44 ways

3M

244-7163-71-3857

0

(eq) PLCC socket, Through-Hole Mounting

44 ways

TYCO/AMP

822473-4

1

(eq) PLCC socket, Through-Hole Mounting

44 ways

3M

PLCC-P-44-PS-TT

0

(eq) PLCC socket, Through-Hole Mounting

44 ways

TYCO/AUGAT

PCS-044-A-1

0

Zócalo DIP 16

 

 

 

29

Zócalo DIP 20

 

 

 

15

DIN A+C, acodado macho

64ways

 

 

1

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

Ud.

Condensador electrolitico de aluminio, 47uF, >10V

Pitch 2.5mm

MULTICOMP

 

3

Condensador cerámico multicapa, 100nF, >20V

Pitch 5.08mm

 

 

50

Precios Unitarios

SEMICONDUCTORES Y OPTOELECTRÓNICA

Descripción

Encap.

Fabricante

Ref. Fab.

€/Ud

Dispositivo Lógico Programable MAX7000s, 64macrocells, 44pin PLCC,Speed 10, SMD

44 PLCC

ALTERA

EPM7064SLC44-10

12,692

Eq. Speed 6

44 PLCC

ALTERA

EPM7064SLC44-6

30,885

Octal transceiver with direcction pin, 5V, HCT

DIP-20/300”

PHILIPS SCD

74HCT245N

0,192

Eq.

DIP-20/300”

FAIRCHILD

74ABT245CPC

 

Eq. Peor caracteristicas

DIP-20/300”

PHILIPS SCD

74HC245N

 

Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

INTERSIL

DG442DJ

1,143

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

HARRIS SEM.

DG442DJ

 

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

DIP-16/300”

SILICONIX

DG442DJ

 

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

DIP-16/300”

SILICONIX

DG412DJ

2,109

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

DIP-16/300”

INTERSIL

DG412DJ

 

(eq) Analogue switches, quad SPST CMOS, 5ohms, 100mA (4xNO)

DIP-16/300”

MAXIM

MAX313CPE

5,033

Analogue switches, quad SPST CMOS, 5ohms, 30mA (4xNO)

DIP-16/300”

SLX

DG441DJ

1,063

Eq. Existen muchoes equivalentes

DIP-18/300”

 

 

 

Octal FilpFlop D con reset

DIP-20/300”

PHILIPS SCD

74HC273N

0,24

 

 

ZÓCALOS Y CONECTORES

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

IDC 10 para PCB

10ways

 

 

0,072

PLCC socket, Through-Hole Mounting

44 ways

3M

244-7163-71-3857

2,657

(eq) PLCC socket, Through-Hole Mounting

44 ways

TYCO/AMP

822473-4

0,856

(eq) PLCC socket, Through-Hole Mounting

44 ways

3M

PLCC-P-44-PS-TT

2,569

(eq) PLCC socket, Through-Hole Mounting

44 ways

TYCO/AUGAT

PCS-044-A-1

2,522

Zócalo DIP 16

 

 

 

0

Zócalo DIP 20

 

 

 

0

DIN A+C, acodado macho

64ways

 

 

0,745

 

 

PASIVOS

Descripción

Encap.

Fab.

Ref. Fab.

€/Ud

Condensador electrolitico de aluminio, 47uF, >10V

Pitch 2.5mm

MULTICOMP

 

0,141

Condensador cerámico multicapa, 100nF, >20V

Pitch 5.08mm

 

 

0,37

Escandallo

SEMICONDUCTORES Y OPTOELECTRÓNICA

Total

Descripción

Fabricante

Ref. Fab.

1 Ud.

€/Ud

Total

Dispositivo Lógico Programable MAX7000s, 64macrocells, 44pin PLCC,Speed 10, SMD

ALTERA

EPM7064SLC44-10

1

12,692

12,692

 

Eq. Speed 6

ALTERA

EPM7064SLC44-6

0

30,885

0

Octal transceiver with direcction pin, 5V, HCT

PHILIPS SCD

74HCT245N

1

0,192

0,192

Eq.

FAIRCHILD

74ABT245CPC

0

 

0

Eq. Peor caracteristicas

PHILIPS SCD

74HC245N

0

 

0

Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

INTERSIL

DG442DJ

29

1,143

33,147

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

HARRIS SEM.

DG442DJ

0

 

0

(eq) Analogue switches, quad SPST CMOS, 150ohms, 30mA (4xNO)

SILICONIX

DG442DJ

0

 

0

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

SILICONIX

DG412DJ

0

2,109

0

(eq) Analogue switches, quad SPST CMOS, 35ohms, 30mA (4xNO)

INTERSIL

DG412DJ

0

 

0

(eq) Analogue switches, quad SPST CMOS, 5ohms, 100mA (4xNO)

MAXIM

MAX313CPE

0

5,033

0

Analogue switches, quad SPST CMOS, 5ohms, 30mA (4xNO)

SLX

DG441DJ

0

1,063

0

Eq. Existen muchoes equivalentes

 

 

 

 

0

Octal FilpFlop D con reset

PHILIPS SCD

74HC273N

14

0,24

3,36

 

TOTAL

49,391

49,391

ZÓCALOS Y CONECTORES

 

Descripción

Fab.

Ref. Fab.

Ud.

€/Ud

Total

IDC 10 para PCB

 

 

1

0,072

0,072

PLCC socket, Through-Hole Mounting

3M

244-7163-71-3857

0

2,657

0

(eq) PLCC socket, Through-Hole Mounting

TYCO/AMP

822473-4

1

0,856

0,856

(eq) PLCC socket, Through-Hole Mounting

3M

PLCC-P-44-PS-TT

0

2,569

0

(eq) PLCC socket, Through-Hole Mounting

TYCO/AUGAT

PCS-044-A-1

0

2,522

0

Zócalo DIP 16

 

 

29

0

0

Zócalo DIP 20

 

 

15

0

0

DIN A+C, acodado macho

 

 

1

0,745

0,745

 

TOTAL

1,673

1,673

PASIVOS

 

Descripción

Fab.

Ref. Fab.

Ud.

€/Ud

Total

Condensador electrolitico de aluminio, 47uF, >10V

MULTICOMP

 

3

0,141

0,423

Condensador cerámico multicapa, 100nF, >20V

 

 

50

0,37

18,5

 

 

 

 

TOTAL

18,923

18,923

 

TOTAL

69,987

Rack A

Requerimientos de Materiales

Descripción

Encap.

Fabricante

Ref. Fab.

Ud.

Módulo básico para Rack A, carcasa

 

RITTAL

VM3932000

1

Barra de aluminio Rack A

 

RITTAL

VM3663-741

4

Cantonera para montaje sobremesa Rack A

 

RITTAL

VM-3930

4

Ventilador 80x80x38mm 220Vac

 

Ariston

I4.21050

1

Rejilla metálica SUNON

 

Ariston

J1.01010

1

Fuente de alimentación para Rack A

 

Mean Well

T-40C

1

Varilla roscada para Rack A

 

RITTAL

UV 3604-410

2

Precios Unitarios

Descripción

Encap.

Fabricante

Ref. Fab.

€/Ud.

Módulo básico para Rack A, carcasa

 

RITTAL

VM3932000

77,62

Barra de aluminio Rack A

 

RITTAL

VM3663-741

2,18

Cantonera para montaje sobremesa Rack A

 

RITTAL

VM-3930

1,08

Ventilador 80x80x38mm 220Vac

 

Ariston

I4.21050

8,41

Rejilla metálica SUNON

 

Ariston

J1.01010

1,32

Fuente de alimentación para Rack A

 

Mean Well

T-40C

44,90

Varilla roscada para Rack A

 

RITTAL

UV 3604-410

2,49

Escandallo

SEMICONDUCTORES Y OPTOELECTRÓNICA

Total

Descripción

Fabricante

Ref. Fab.

1 Ud.

€/Ud

Total

Módulo básico para Rack A, carcasa

RITTAL

VM3932000

1

77,62

77,62

 

Barra de aluminio Rack A

RITTAL

VM3663-741

4

2,18

8.72

Cantonera para montaje sobremesa Rack A

RITTAL

VM-3930

4

1,08

4,32

Ventilador 80x80x38mm 220Vac

Ariston

I4.21050

1

8,41

8,41

Rejilla metálica SUNON

Ariston

J1.01010

1

1,32

1,32

Fuente de alimentación para Rack A

Mean Well

T-40C

1

44,90

44,90

Varilla roscada para Rack A

RITTAL

UV 3604-410

2

2,49

4,98

 

TOTAL

150,27

150,27

Diseño del software

Requerimientos de tiempo

Descripción

Ud.

Desarrollo del software del microcontrolador 8051 (FirmwareTBCU.hex)

240

Desarrollo del software para el PC (InteUSB32.dll, InteDrv32.dll y ProvaR.exe)

200

Desarrollo del software para PLD’s (TBCU, TVIR y TCA)

100

Precio Unitario

Descripción

€/Ud.

Hora de desarrollo de programación en ingeniería electrónica

40

Escandallo

Descripción

Ud.

€/Ud

Total

 

Desarrollo del software del microcontrolador 8051 (FirmwareTBCU.hex)

240

40

9600

Desarrollo del software para el PC (InteUSB32.dll, InteDrv32.dll y ProvaR.exe)

200

40

8000

Desarrollo del software para PLD’s (TBCU, TVIR y TCA)

100

40

4000

 

TOTAL

21600

21600

 

TOTAL

21600

Resumen del presupuesto

CAPÍTULO

DESCRIPCIÓN

IMPORTES TOTALES

1

Tarjeta de Enlace (TE)

17,55

2

Tarjeta Base de Control USB (TBCU)

49,75

3

Tarjeta de Medida de Tensión Intensidad y Resistencia (TVIR)

114,55

4

Tarjeta de Conmutación Analógica (TCA)

69,99

5

Rack A

150,27

6

Diseño del Software

21600,00

 

Total Ejecución Material

22002,11

 

Gastos Generales (13%)

2860,27

 

Beneficio Industrial (6%)

1320,13

 

Total Ejecución por Contrata

26182,50

El presente presupuesto asciende a la cantidad de:

# Veintiséis mil ciento ochenta y dos euros con cincuenta céntimos #

Tarragona, Octubre del 2004

Raúl Bartolomé Castro

Sistema Modular de Adquisición de Datos

Pliego de Condiciones

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2004.

Condiciones Generales

Introducción

El presente proyecto desarrolla un osciloscopio para Windows 95 utilizando el puerto serie.

Dada la condición de “Final de carrera” del proyecto, las consideraciones de tipo contractual poseen un carácter de suposición.

El presente pliego de Condiciones tiene por objeto definir al contratista el alcance del trabajo y la ejecución cualitativa del mismo.

El alcance del trabajo del Contratista incluye el diseño y preparación de todos los planos, diagramas, lista de material y requisitos para la adquisición e instalación del trabajo.

Reglamentos y Normas

Todas las unidades de obra se ejecutaran cumpliendo las prescripciones indicadas en los Reglamentos de Seguridad y Normas Técnicas de obligado cumplimiento para este tipo de instalaciones, tanto de ámbito nacional, autonómico como municipal, así como todas las otras establecidas en el proyecto.

Se adaptarán además, a las presentes condiciones particulares que complementarán las indicadas por los Reglamentos y Normas citadas.

Materiales

Todos los materiales empleados serán de primera calidad, cumplirán las especificaciones y tendrán las características indicadas en el proyecto y en las normas técnicas generales.

Toda especificación o característica de materiales que figuren en uno solo de los documentos del Proyecto, aún sin figurar en los otros es igualmente obligatoria.

En caso de existir contradicción u omisión en los documentos del proyecto, el contratista obtendrá la obligación de ponerlo de manifiesto al Técnico Director de la obra, quien decidirá sobre el particular. En ningún caso podrá suplir la falta directamente, sin la autorización expresa.

No podrá utilizarse materiales que no hayan sido aceptados por el director Técnico.

Ejecución del proyecto

Comienzo. El contratista dará comienzo al proyecto en el plazo que figure en el contrato establecido con la Propiedad, o en su defecto a los quince días de la adjudicación definitiva de la obra.

El contratista está obligado a notificar por escrito al Técnico director la fecha de comienzo de los trabajos.

Plazo de ejecución. La obra se ejecutará en el plazo que se estipule en el contrato suscrito con la Propiedad o en su defecto en el que figure en las condiciones de este pliego.

Cuando el ritmo de trabajo establecido por el contratista, no sea el normal, o bien a petición de una de las partes, se podrá convenir una programación de inspecciones obligatorias de acuerdo con el plan de obra.

Libro de órdenes. El contratista dispondrá en la realización de proyecto de un Libro de Ordenes en el que se escribirán las que el Técnico Director estime darle a través del encargado o persona responsable, sin perjuicio de las que le dé por oficio cuando lo crea necesario y que tendrá la obligación de firmar el enterado.

Interpretación y Desarrollo

El Director Técnico es la persona a quien le corresponde interpretar los documentos del proyecto, a él se le tiene que someter cualquier duda, aclaración o contradicción que surja durante la ejecución de la obra, siempre con la suficiente antelación en función de la importancia del asunto.

El contratista se hace responsable de cualquier error de la ejecución motivado por la no consulta y consecuentemente deberá rehacer a su costa los trabajos que correspondan a la correcta interpretación del Proyecto.

El contratista ha de hacer todo los necesario para la buena ejecución de la obra, aún cuando no se halla expresado en el proyecto.

El contratista ha de notificar por escrito o personalmente al director de obra, las fechas en que quedarán preparadas para inspección, cada una de las partes del proyecto o para aquellas que, total o parcialmente deban posteriormente quedar ocultas.

Trabajos y Complementos

El contratista ha de realizar todas los trabajos complementarios necesarios para ejecutar el proyecto tal y como estaba previsto, aunque en él no figuren explícitamente dichos trabajos complementarios. Todo ello sin variación del importe contratado.

Modificaciones

El contratista está obligado a realizar las variaciones (ampliaciones, reducciones o modificaciones) del proyecto siempre que estas no supongan una variación sobre el global proyectado superior al 25%.

Si el contratista, desea realizar alguna modificación, deberá darla a conocer por escrito al Técnico Director, si se considera razonable y se acepta, será confirmada por escrito, así como las nuevas condiciones económicas que mutuamente se acuerden. Si lo anterior no se da como se especifica, no se aceptará modificación alguna.

La valoración se hará de acuerdo, con los valores establecidos en el presupuesto por el Contratista y que ha sido tomado como base del contrato.

Realización Defectuosa

Cuando el contratista halle cualquier unidad de trabajo que no se ajuste a lo especificado en el proyecto o en este Pliego de Condiciones, el Técnico Director podrá aceptarlo o rechazarlo, en el primer caso, éste fijará el precio que crea justo con arreglo a las diferencias que hubiera, estando obligado el Contratista a acatar dicha valoración, en el otro caso, se reconstruirá a expensas del Contratista la parte mal ejecutada sin que ello sea motivo de reclamación económica o de ampliación del plazo de ejecución.

Medios Auxiliares

Serán de cuenta del Contratista todos los medios y máquinas auxiliares que sean precisas para la ejecución del proyecto. En el uso de los mismos estará obligado a hacer cumplir todos los Reglamentos de Seguridad en el trabajo vigentes y a utilizar los medios de protección a sus operarios.

Recepción del Proyecto

Recepción provisional. Una vez terminadas los trabajos, tendrá lugar la recepción provisional y para ello se practicará en ellas un detenido reconocimiento por el Técnico Director y la Propiedad en presencia del Contratista, levantando acta y empezando a correr desde ese día el plazo de garantía si se hallan en estado de ser admitidos.

De no ser admitidos se hará constar en el acta y se darán instrucciones al Contratista para subsanar los defectos observados, fijándose un plazo para ello, expirando el cual se procederá a un nuevo reconocimiento a fin de proceder a la recepción provisional.

Plazo de garantía. El plazo de garantía será como mínimo de un año, contando desde la fecha de la recepción provisional, o bien el que se establezca en el contrato también contado desde la misma fecha. Durante este período queda a cargo del Contratista la conservación del sistema y arreglo de los desperfectos causados por mala construcción.

Recepción definitiva. Se realizará después de transcurrido el plazo de garantía de igual forma que la provisional. A partir de esta fecha cesará la obligación del Contratista de conservar y reparar a su cargo los desperfectos, si bien subsistirán las responsabilidades que pudiera tener por defectos ocultos y deficiencias de causa dudosa.

Responsabilidades

El contratista es responsable de la ejecución de los trabajos como fija el proyecto, y tendrá que reconstruir toda parte que no se ajuste al programa, sin servir de excusa la razón de que el director de obra haya examinado y reconocido la obra.

El contratista es el único responsable de los posibles fallos cometidos por él o su personal, así como de los accidentes o perjuicios producidos a la propiedad, vecinos o terceros a causa de la inexperiencia o métodos inadecuados.

El contratista es el único responsable del incumplimiento de las disposiciones vigentes en la materia laboral respecto de su personal y por tanto los accidentes que puedan sobrevenir y de los derechos que puedan derivarse de ellos.

Fianza

En el contrato se establecerá la fianza que el contratista deberá depositar en garantía del cumplimiento del mismo, o, se convendrá una retención sobre los pagos realizados a cuenta del trabajo ejecutado.

De no estipularse la fianza en el contrato se entiende que se adopta como garantía una retención del 5% sobre los pagos a cuenta citados.

En el caso de que el Contratista se negase a hacer por su cuenta los trabajos para ultimar el proyecto en las condiciones contratadas, o a atender la garantía, la Propiedad podrá ordenar ejecutarlas a un tercero, abonando su importe con cargo a la retención o fianza, sin perjuicio de las acciones legales a que tenga derecho la Propiedad si el importe de la fianza no bastase.

La fianza retenida se abonará al Contratista en un plazo no superior a treinta días una vez firmada el acta de recepción definitiva de la obra.

Condiciones Técnicas

Condiciones de las Placas de CI

Las placas de circuito impreso, deberán ser diseñadas por el fabricante bajo las siguientes normas:

  • Ancho de las pistas de señal: 0.5 mm.
  • Ancho de las pistas de alimentación: 2 mm.
  • Osciladores de cuarzo tumbados sobre plano de masa.
  • Los condensadores de desacoplo deberán ir situados lo más cerca posible del pin de alimentación.
  • Dimensiones de los taladros:
  • 1 mm para los circuitos integrados y componentes discretos.
  • 1.25 mm para regletas y reguladores de tensión.
  • 3.2 mm para los tornillos de los disipadores.
  • 4 mm para los taladros de sujeción de la placa.

Todas las placas una vez salidas de producción deberán ser testeadas, de tal forma que el índice de fallos en pistas, sea inferior al 1%.

Condiciones de los Componentes Electrónicos

La premisa básica a seguir en la compra de los componentes electrónicos, es buscar componentes de marcas de reconocido prestigio y que posean un índice de rechazo en producción, inferior al 20%.

Así por ejemplo, se recomienda la utilización de componentes de la firma MOTOROLA o cualquiera de sus subsidiaras (RCA. AMD) que hasta la fecha han demostrado un muy alto grado de fiabilidad de los componentes suministrados.

No se recomienda recurrir bajo ningún concepto a las pleyades de fabricantes de Oriente que han surgido en Corea, Singapur, Malasia, etc., puesto que en anteriores producciones han puesto de manifiesto un bajísimo grado de fiabilidad, dándose el caso de encontrar partidas enteras de componentes que a los 6 meses de funcionamiento han fallado íntegramente.

Condiciones del Montaje de Placas

El montaje de placas deberá ser realizado por inserción automatizada, puesto que el índice de errores es prácticamente nulo, no así cuando se recurre al montaje manual de componentes.

La soldadura de las placas debe ser realizada por ola, con estaño de buena calidad, y una vez finalizado el proceso, las placas deben ser perfectamente limpias con algún producto específico basado en flúor de los muchos que hay disponibles en el mercado.

De cada partida de placas producidas, al menos lo de ellas deberán ser verificadas en horno a 40 grados centígrados y en funcionamiento de tal forma que se les proporcione el equivalente a 6 meses de funcionamiento ininterrumpido durante las pruebas, sea superior al 20%, la partida entera deberá ser retirada y sustituida por una nueva.

Condiciones Facultativas

Normas a Seguir

El diseño de la instalación eléctrica estará de acuerdo con las exigencias o recomendaciones expuestas en la última edición de los siguientes códigos:

  • Reglamento Electrotécnico de Baja Tensión e Instrucciones complementarias.
  • Normativa UNE.
  • Normativa DIN.
  • Plan nacional y ordenanza general de Seguridad e Higiene en el trabajo.
  • Normas de la Compañía Suministradora.
  • Publicaciones del Comité Electrotécnico Internacional (CEI).
  • Lo indicado en este pliego de condiciones con preferencia a todos los códigos y normas.

Personal

El Contratista tendrá al frente de la obra un encargado con autoridad sobre los demás operarios y conocimientos acreditados y suficientes para la ejecución del proyecto.

El encargado recibirá, cumplirá y transmitirá las instrucciones y órdenes del Técnico Director de la obra.

El Contratista tendrá el número y clase de operarios que haga falta para el volumen y naturaleza de los trabajos que se realicen, los cuales serán de reconocida aptitud y experimentados en el oficio. El Contratista estará obligado a separar de la realización del proyecto, a aquel personal que a juicio del Técnico Director no cumpla con sus obligaciones, realice el trabajo defectuosamente, bien por falta de conocimientos o por obrar de mala fe.

Reconocimiento de Ensayos Previos

Cuando lo estime oportuno el Técnico Director, podrá encargar y ordenar el análisis, ensayo o comprobación de los materiales, elementos o instalaciones, bien sea en fábrica de origen, laboratorios oficiales o en la misma obra, según crea más conveniente, aunque estos no estén indicados en este pliego.

En el caso de discrepancia, los ensayos o pruebas se efectuarán en el laboratorio oficial que el Técnico Director de obra designe.

Los gastos ocasionados por estas pruebas y comprobaciones, serán por cuenta del Contratista.

Ensayos

Antes de la puesta en servicio del sistema eléctrico, el Contratista habrá de hacer los ensayos adecuados para probar, a la entera satisfacción del Técnico Director del proyecto, que todo el equipo, aparatos y cableado han sido instalados correctamente de acuerdo con las normas establecidas y están en condiciones satisfactorias para le funcionamiento.

Todos los ensayos serán presenciados por el Ingeniero que representa el Técnico Director de obra.

Los resultados de los ensayos serán pasados en certificados indicando fecha y nombre de la persona a cargo del ensayo, así como categoría profesional.

Los cables, antes de ponerse en funcionamiento, se someterán a un ensayo de resistencia de aislamiento entre fase y tierra.

Ensayos de Aparellaje

Antes de poner el aparellaje bajo tensión, se medirá la resistencia de aislamiento de cada equipo entre fases y tierra.

Las medidas deben repetirse con los interruptores en posición de funcionamiento.

Todo relé de protección que sea ajustable será calibrado y ensayado, usando contador de ciclos, caja de carga, amperímetro y voltímetro, según se necesite.

Se dispondrá, en lo posible, de un sistema de protección selectiva. De acuerdo con esto, los relés de protección se elegirán y coordinarán para conseguir un sistema que permita actuar primero el dispositivo de interrupción más próximo a la falta.

Todos los interruptores automáticos se colocarán en posición de prueba y cada interruptor será cerrado y disparado desde su interruptor de control. Los interruptores deben ser disparados por accionamiento manual y aplicando corriente a los relés de protección. Se comprobarán todos los enclavamientos.

Condiciones Económicas

Precios

El contratista presentará, al formalizarse el contrato, relación de los precios de las unidades de trabajo que integran el proyecto, los cuales de ser aceptados tendrán valor contractual y se aplicarán a las posibles variaciones que puedan haber.

Estos precios unitarios, se entiende que comprenden la ejecución total de la unidad del proyecto, incluyendo todos los trabajos aún los complementarios y los materiales así como la parte proporcional de imposición fiscal, las cargas laborales y otros gastos repercutibles.

En caso de tener que realizarse unidades de trabajo no prevista en el proyecto, se fijará su precio entre el Técnico Director y el Contratista antes de iniciar la obra y se presentará a la propiedad para su aceptación o no.

Abono del Proyecto

En el contrato se deberá dejar detalladamente la forma y plazas que se abonarán las partes del proyecto. Las liquidaciones parciales que puedan establecerse tendrán carácter de documentos provisionales a buena cuenta, sujeto a las certificaciones que resulten de la liquidación final. No suponiendo, dichas liquidaciones, aprobación ni recepción de las obras que comprenden.

Terminadas las obras se procederá a la liquidación final que se efectuará de acuerdo con los criterios establecidos en el contrato.

Revisión de Precios

En el contrato se establecerá si el contratista tiene derecho a revisión de precios y la fórmula a aplicar para calcularla. En defecto de esta última, se aplicará a juicio del Técnico Director alguno de los criterios oficiales aceptados.

Penalizaciones

Por retraso en los plazos de entrega de las obras, se podrán establecer tablas de penalización cuyas cuantías y demoras se fijarán en el contrato.

Contrato

El contrato se formalizará mediante documento privado, que podrá elevarse a escritura a petición de cualquiera de las partes. Comprenderá la adquisición de todos los materiales, transporte, mano de obra, medios auxiliares para la ejecución de la obra proyectada en el plazo estipulado, así como la reconstrucción de las unidades defectuosas, la realización de las obras complementarias y las derivadas de las modificaciones que se introduzcan durante la ejecución, éstas últimas en los términos previstos.

La totalidad de los documentos que componen el Proyecto técnico de la obra serán incorporados al contrato y tanto el contratista como la Propiedad deberán firmarlos en testimonio de que los conocen y aceptan.

Rescisión del Contrato

Causas de rescisión: Se consideran causas suficientes para la rescisión del contrato las siguientes:

  1. Muerte o incapacitación del Contratista.
  2. La quiebra del contratista.
  3. Modificación del proyecto cuando produzca alteración en más o menos 25% del valor contratado.
  4. Modificación de las unidades de obra en número superior al 40% del original.
  5. La no iniciación de los trabajos en el plazo estipulado cuando sea por causas ajenas a la Propiedad.
  6. La suspensión de las obras ya iniciadas siempre que el plazo de suspensión sea mayor de seis meses.
  7. Incumplimiento de las condiciones del Contrato cuando implique mala fe.
  8. Terminación del plazo de ejecución de la obra sin haberse llegado a completar ésta.
  9. Actuación de mala fe en la ejecución de los trabajos.
  10. Destajar o subcontratar la totalidad o parte de los trabajos a terceros sin la autorización del Técnico Director y la propiedad.

Liquidación en el Caso de Rescisión del Contrato

Siempre que se rescinda el contrato por causas anteriores o bien por acuerdo de ambas partes, se abonará al Contratista las unidades del proyecto ejecutado y los materiales acopiados que reúnan las condiciones y sean necesarios para el mismo.

Cuando se rescinda el contrato llevará implícito la retención de la fianza para obtener los posibles gastos de conservación de el período de garantía y los derivados del mantenimiento hasta la fecha de nueva adjudicación.

Sistema Modular de Adquisición de Datos

Anexo: Código Fuente

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2004.

 

See attachment

 

Sistema Modular de Adquisición de Datos

Anexo: Especificaciones Técnicas

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2003.

Circuitos Integrados

Conmutadores Analógicos

Buffers Transceivers

Convertidores AD

Convertidores DA

Dispositivos Lógicos Programables (PLD)

Lógica Digital

Decodificadores

Flip-Flops

Inter-Integrated Circuit (I2C)

EEPROM

Sensor Digital de Temperatura

Reguladores Lineales

Microcontroladores

Memoria

Amplificadores Operacionales

Amplificador Operación de Precisión

Amplificadores de Instrumentación

Diodos

Generales

Diodos de Voltaje de Referencia

Diodos Emisores de Luz (LED)

Componentes Pasivos

Condensadores

Resistencias

Conectores

USB

DIN41612

IDC

Software

Especificaciones USB 1.1.

EZ-USB Especificaciones del GPD

Sistema Modular de Adquisición de Datos

Anexo: Bibliografía

AUTOR: Raúl Bartolomé Castro.

DIRECTOR Alfonso Romero Nevado.

FECHA: Octubre / 2003.

Diseño electrónico

Luis Martínez Salamero, Alberto Poveda López, Luis García de Vicuña, Frances Guinjoan Gispert, Antonio F. Sánchez García y Frances J. Sánchez Robert.

Funcions electròniques

Edicions UPC

C. J. Savant, Jr, Martin S. Roden, Gordon L. Carpenter

Diseño electrónico

Addison-Wesley Iberoamericana

Especificaciones esenciales

Compaq, Intel, Microsoft, NEC

Universal Serial Bus Specification

Revision 1.1, September 23, 1998

Altera

MAX 3000A Programmable Logis Device Family

September 2000, ver. 1.1

http://www.altera.com/

Altera

MAX 7000 Programmable Logis Device Family

August 2000, ver. 6.02

http://www.altera.com/

Cypress Semiconductor

EZ-USB Technical Reference Manual

Version 1.1

http://www.cypress.com/

Burr-Brown

ADS7806 Low-Power 12-Bit Sampling CMOS ANALOG-to-DIGITAL CONVERTER

November 1994

http://www.burr-brown.com/

Analog Devices

AD7943 AD7945 AD7948 +3.3V / +5V Multiplying 12-Bit DACs

REV A, 1998

http://www.analog.com/

Proyectos

Raúl Bartolomé Castro, director Ernest Gil i Dolcet

Osciloscopio para Win95 mediante puerto serie

Proyecto Final de Carrera de Ingeniería Técnica Industrial en Electrónica Industrial

Pere Miquel Guiu i Arbonés, director Ernest Gil i Dolcet

Analitzador lògic suportat per PC

Proyecto final de Carrera, Setembre 2001

Páginas WEB

Organización USB: http://www.usb.org/home

Compilador C para 8051: http://www.keil.com/

Reviews

  1. Felipe

    Hola Raúl,

    Soy Felipe y estoy estudiando Ingeniería Industrial (especialidad Electrónica Industrial). En la actualidad, estoy realizando mi Proyecto final de carrera que trata de módulos de adquisición y transmisión de datos. Estoy muy interesado en tu proyecto y te agradecería si lo pudiera ver como ayuda. Desde esta página no puedo descargármelo.

    Muchas gracias.

    Un saludo.

  2. Raúl Bartolomé Castro

    @Felipe
    Hola Felipe, he actualizado la página he incluido el PDF del PFD. Espero que te sea de utilidad.

    Saludos,
    Raúl

  3. Susana

    Holap, Raúl
    Estoy interesada en la definición de módulos para la enseñanza de electrónica industrial básica

    • Raúl Bartolomé Castro

      Hola Susana,

      No estoy seguro de entender tu comentario, ¿podrías desarrollar la pregunta?

  4. roberto contreras

    estimadao felipe

    me gustaria tener una copia de tus dos trabajos, estoy interesado en desarrollarun trabajo sobre medicion de ruido utilizando el puerto USB o el serial

Add a review

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close Menu
×
×

Cart

%d bloggers like this: