Datalogger BasMicroc YTar FlashSD

4

Click here to load reader

Transcript of Datalogger BasMicroc YTar FlashSD

Page 1: Datalogger BasMicroc YTar FlashSD

DATALOGGER BASADO EN MICROCONTROLADOR Y TARJETA FLASH SD

Auror: Edgardo Rodolfo Hirsch Directores: Ing. Rivera, Raul Facultad de Ingeniería, Electrónica, 2007 Ing. Germin, Walter

- 1 -

Resumen

En este proyecto se desarrolló una plataforma portable y autónoma de hardware y software, que dota a un sistema basado en un microcontrolador PIC, de la capacidad de manejar tarjetas de memoria Flash SD.

El usuario del sistema será aquel que desarrolle una aplicación especifica de adquisición de datos para almacenarlos en la tarjeta SD en forma de archivo de texto (con extensión *.txt). Por lo tanto, su contenido, podrá ser visualizado por casi todos los ordenadores, ya que la mayoría funcionan bajo el sistema operativo de Microsoft.

El tipo de microcontrolador escogido limitará en gran medida las aplicaciones. Además, su arquitectura también influyó en la forma en la que se desarrolló el software para él. Por tanto se ha de entender que el sistema que se desarrolló será muy específico para los microcontroladores PIC. Igualmente

ocurre para el tipo de tarjeta de memoria Flash escogida, la tarjeta SD.

Como “sistema de propósito general”, tal y como se ha diseñado, ofrece las mayores posibilidades. El usuario puede utilizar un mismo sistema para realizar diversas tareas.

Materiales y métodos

El sistema de adquisición esta

basado en la utilización de los siguientes elementos. • El microcontrolador • Sistema de Archivos • Almacenamiento de datos • Hardware (interfaz SPI) • Herramientas de Desarrollo (El código

C y el compilador PIC-C)

El microcontrolador

La placa de adquisición consta de un microcontrolador PIC18F4550, CPU de 8 bits, ADC de 13 canales de 10 bits c/u, 32.768 Bytes de memoria de código (Flash), 2.048 Bytes de memoria RAM de datos, 256 Bytes memoria EEPROM de datos, empaque PDIP de 40 pines, modulo MSSP (“Master Synchronous Serial Port”) para comunicación SPI, etc...

La placa se alimenta por medio de una batería de 9 V y posee un regulador de 5 V que se encarga de alimentar el PIC, y por medio de un arreglo de diodos, a la tarjeta SD (3.3 V).Ver figura1.

Page 2: Datalogger BasMicroc YTar FlashSD

DATALOGGER BASADO EN MICROCONTROLADOR Y TARJETA FLASH SD

Auror: Edgardo Rodolfo Hirsch Directores: Ing. Rivera, Raul Facultad de Ingeniería, Electrónica, 2007 Ing. Germin, Walter

- 2 -

Figura 1

Sistema de Archivos

No existe un sistema de archivos

suficientemente desarrollado para tarjetas de memoria Flash SD. La gran mayoría de dispositivos electrónicos con memorias Flash utilizan el sistema de archivos FAT, de Microsoft, más concretamente en la versión FAT16. Esto es debido a que normalmente, cualquiera de esos dispositivos necesita de comunicación con un ordenador personal, y a día de hoy la gran mayoría de ordenadores funcionan con sistemas operativos de Microsoft. Almacenamiento de datos

Para el almacenamiento de datos, se eligió la tarjeta SD que consiste en una solución de bajo coste para almacenamiento de datos. Está diseñada como medio de almacenamiento para una amplia área de aplicaciones.��El protocolo de comunicación está definido como una

parte del estándar MMC (Modo MMC). Sin embargo y para asegurar compatibilidad con la mayoría de controladores existentes, la tarjeta SD ofrece un modo de comunicación alternativo basado en el estándar SPI que fue la que se utilizo en este proyecto. Hardware (interfaz SPI)

La interfase SPI (Serial Peripherical Interface) utilizada entre el PIC y la tarjeta, es un protocolo de comunicación serie mediante el cual se transmiten paquetes de 8 bits entre un dispositivo maestro y un esclavo. El protocolo SPI únicamente define la interfase o bus de comunicación y no establece nada acerca de la estructura de la información intercambiada entre maestro y esclavo. La comunicación es full-dúplex, de modo que cada dispositivo conectado al bus puede actuar como transmisor y receptor al mismo tiempo. Herramientas de Desarrollo (El código C y el compilador PIC-C)

Principalmente se desarrolló un

software que permite a sistemas basados en microcontroladores PIC de alta gama adquirir una señal externa y mediante la capacidad de manipular archivos, almacenarla en una tarjeta de memoria SD.

El modulo principal del código (main.c) será el encargado de comunicar la tarjeta con el hardware, es decir, deberá implementar las funciones de más bajo nivel destinadas a manejar la tarjeta SD y manejar los archivos en FAT16

Page 3: Datalogger BasMicroc YTar FlashSD

DATALOGGER BASADO EN MICROCONTROLADOR Y TARJETA FLASH SD

Auror: Edgardo Rodolfo Hirsch Directores: Ing. Rivera, Raul Facultad de Ingeniería, Electrónica, 2007 Ing. Germin, Walter

- 3 -

El módulo con el código correspondiente al manejo del sistema de archivos FAT16 lleva el nombre de FAT16.c y su archivo de cabecera lleva el nombre de FAT16.h. Se debe proveer al sistema de todas las funciones necesarias para el manejo de archivos y directorios, lo cual lo convierte en el módulo más importante y complejo

La primera acción a realizar dentro del sistema FAT16 es conocer donde se sitúa la partición FAT dentro de la tarjeta y a continuación se deben conocer todos los parámetros de la FAT situados en el BPB (BIOS Parameter Block). esos parámetros dependen del tamaño de la tarjeta y de cómo haya sido formateada así como del MBR.

El módulo con el código correspondiente a la gestión de la tarjeta SD (Capa_Fisica.c) y a su archivo de cabecera Capa_Fisica.h. Contiene las funciones básicas de comunicación con la tarjeta SD.

Por ultimo,��en el código han sido utilizadas algunas funciones que proporciona el compilador, como pueden ser las relativas al tratamiento de cadenas de texto (string.h ). Sin embargo, todas las funciones utilizadas son estándar y las proporciona cualquier compilador.

La figura siguiente muestra los principales componentes del modulo principal del cual se obtiene el archivo ejecutable (*.hex) que será cargado en la memoria del pic

Como ejemplo puntual, se ha

realizado un programa que se encarga de tomar una muestra de temperatura ambiente cada 10 segundos y almacenar su valor en forma de texto en un archivo llamado “SDTemp.txt”. Para ello se ha conectado un sensor de temperatura LM35 al pin AN0 del microcontrolador.

Para temporizar los 10 segundos, el programa utiliza el reloj de tiempo real y mediante encuesta determina cuando han pasado los 10 segundos.

Conclusiones

Se ha pretendido, en este proyecto, diseñar un sistema lo más versátil posible, de modo que pueda ser adaptable a cualquier aplicación posible para la que el microcontrolador esté preparado.

Se pudo observar la gran dependencia que tiene el código con el compilador utilizado (CCS C Compiler v.4) lo cual determina en gran medida la sintaxis del mismo. Por lo que en todo momento se ha tratado de enfocar el

Page 4: Datalogger BasMicroc YTar FlashSD

DATALOGGER BASADO EN MICROCONTROLADOR Y TARJETA FLASH SD

Auror: Edgardo Rodolfo Hirsch Directores: Ing. Rivera, Raul Facultad de Ingeniería, Electrónica, 2007 Ing. Germin, Walter

- 4 -

desarrollo de la forma más teórica posible para realizar un sistema abierto que pueda ser constantemente evolucionado, portado a otras plataformas o modificado para ajustarlo a las necesidades del usuario.

. Blibliografia • Hardware White Paper “FAT : General

Overview of On-Disk Format” Versión 1.02, May 5, 1999. Microsoft Corporation.

• SD Memory Card Specifications. Simplified version of Part1 “Physical Layer Specification” version 1.01. April 15,2001.Matsushita Electric Industrial Co.,Ltd

• http://www.pjrc.com/tech/8051/ide/fat32.html.(consulta : Agosto 2007)

• http://www.todopic.com.ar/ GUIA FAT al desnudo.htm.(consulta Julio 2007).

• Morina, Hermoso--“Cargador de programas y manejo de archivos para sistemas empotrados”. Bogota, Colombia.

• Usb mass Storage. “Designing and programming devices and embedded hosts”. Jan Axelson. Published by Lakeview Research LLC, 5310 Chinook Ln., Madison WI 53704

• http://www.bknd.com/cc5x/Programm für PIC-Microcontroller und MMC-Speicherkarte mit FAT16.(consulta: julio 2007)

• Revistas Profesionales— Resistor —Nº :214,216 . “Teoría y practica de la Flash Memory Card”. Madrid, España, 2006.

• Datasheet Pic18F4550 –www.microchip.com

• Manual de usuario del compilador PCW de CCS. C Compiler for Microchip PICmicro® MCUs