Desarrollo del Driver NDS 3 para dispositivos NI PXIe FlexRIO

Medina Moreno, Carlos (2019). Desarrollo del Driver NDS 3 para dispositivos NI PXIe FlexRIO. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Desarrollo del Driver NDS 3 para dispositivos NI PXIe FlexRIO
Author/s:
  • Medina Moreno, Carlos
Contributor/s:
  • Nieto Valhondo, Julián
Item Type: Final Project
Degree: Grado en Ingeniería Electrónica de Comunicaciones
Date: 18 June 2019
Subjects:
Freetext Keywords: Driver NDS; Sistemas de adquisición de datos
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Ingeniería Telemática y Electrónica
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview
[img] Archive (ZIP) - Users in campus UPM only
Download (779kB)

Abstract

El propósito de este proyecto se centra en el diseño y desarrollo de un driver para el control del sistema de adquisición de datos que conforman la tarjeta FPGA PXIe-7966R junto con el módulo analógico NI5761. El usuario de este driver accede a su uso mediante un sistema de control industrial para instalaciones científicas. Con el objetivo de disminuir la curva de aprendizaje involucrada en el uso de una amplia gama de dispositivos de adquisición de datos con características y funcionalidades similares, se utiliza el concepto de estandarización. Con este propósito, se abordará el diseño y desarrollo del controlador con el soporte de NDSv3. NDS (Nominal Device Support - Soporte nominal de dispositivos) son un conjunto de librerías que estandarizan la implementación de drivers. El driver se desarrollará como driver con el uso de NDS en su versión 3 lo que implica seguir la metodología de diseño para NDS3 con una distribución funcional en árbol del código. Además, la codificación de este driver se implementa haciendo uso de las librerías IRIO que permiten la gestión de entradas y salidas tanto analógicas o digitales sin tener que atender a las particularidades de cada módulo. De este modo, se podrá extender el uso de este driver a otros módulos y aplicaciones (distintos del conjunto PXIe-7966R_5761) también soportados por IRIO. IRIO, para el hardware soportado, da cobertura para trabajar con entradas y salidas digitales y analógicas, pero también permite configurar generadores de señales, adquisición de imágenes, manejar señales internas y DMAs (Direct Access Memory - Memoria de acceso directo), este último, esencial para la adquisición analógica. El driver NDS, objeto de este proyecto, da soporte a todas estas funcionalidades (a excepción de la adquisición de imágenes) aunque su desarrollo se centra, principalmente en la adquisición analógica. El resultado es un driver funcional en una primera versión (Beta), en la cual el sistema es capaz de adquirir sin pérdida de información o desbordamiento de hasta 4 Canales analógicos simultáneamente a una tasa de aproximadamente 10 MS/s para muestras de 16 bits. Para concluir, el diseño resultado del trabajo en este proyecto es plenamente funcional. Tratando de trabajar con el sistema con la máxima tasa de muestreo (125 MS/s) se puede observar que el tiempo de movimiento de datos al sistema de control es demasiado elevado, llenando rápidamente las FIFOs hasta su desbordamiento. De cara una futura versión, se podría mejorar el mecanismo de encaminamiento de los datos de modo que se consiga un mayor rendimiento y, en consecuencia, alcanzar la tasa de muestreo máxima del hardware. Abstract: The purpose of this Project is focused in the design and the development of a driver to control a data acquisition system which is shaped by a FPGA PXIe-7966R Card along with the analogic module NI5761. The user could use the driver through an industrial control system for scientific facilities. With the aim to decrease the learning curve involved in the wide range of data acquisition devices with similar features and functionalities is used the standardization concept. With this purpose the design and development of the driver will be addressed with the support of NDSv3. NDS (Nominal Device Support) is a set of libraries to normalize drivers’ implementation. So this driver is developed with the usage of NDS version 3 which implies following a design methodology for NDS3 and breaking the code into functional blocks shaping a tree-structure of the code. The coding of this driver is implemented using IRIO libraries which permits managing inputs and outputs as analogic as digital ones without focusing on the particularities of each module. Thereby the driver usage could be extended to other modules and applications (and not only the set PXIe-7966R_5761) also supported by IRIO. IRIO, for the supported hardware, gives coverage to work with digital inputs and output and analogic ones. But It also permits setting up signal wave generators and image acquisition, handling with internal signals and working with DMAs (Direct Access Memory), the latter, essential for analogic acquisition. The result of this project is a functional driver in its first version (Beta), which can acquire without data lost or overflows up to 4 analogic channels simultaneously with an approximate sample rate of 10 MS/s with samples of 16 bits. To conclude, the design result of the work done in this project is fully functional. Trying to work with the system at the hardware maximum sample rate (125 MS/s), It was observed the data routing time to CS was too high, filling quickly FIFO buffers to its overflow. Facing a new future version, data acquired routing mechanism could be improved to achieve a better performance and, as a result, to raise sampling rate to the maximum allowed by the hardware.

More information

Item ID: 63414
DC Identifier: http://oa.upm.es/63414/
OAI Identifier: oai:oa.upm.es:63414
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 04 Aug 2020 07:10
Last Modified: 04 Aug 2020 07:10
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM