Download Hardware CADmega128 R1.0
Transcript
CAD Ingeniería S.A. SAN ISIDRO 255 OFICINA F Santiago, Chile MANUAL DEL USUARIO Placa de Entrenamiento / Desarrollo CADmega128 1 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. 1. Introducción La placa de Entrenamiento / Desarrollo CADmega128 proporciona un entorno electrónico compacto y versátil para el aprendizaje (y aplicación) de la programación de microcontroladores Atmel ATmega128. Los principales periféricos, tales como botones, pantalla, LEDs, etc. ya están listos para su uso, así como conexiones seriales, ADC y DAC. Ello evita los clásicos problemas de los proto-boards, como son conexiones ruidosas, cables quebrados, etc. Además se ofrecen dos conectores con señales del micro para expansión u otros propósitos. Un conector JTAG Atmel estándar permite programación y depuración en circuito, preferiblemente en lenguaje C, para programar de forma moderna y eficiente al microcontrolador. Junto con la placa se entrega código fuente para utilizar de inmediato periféricos más complicados como lo son los puertos seriales, ADC y DAC, LCD, etc. Precauciones para el uso de la placa CADmega128 - No utilice otro adaptador de corriente que no sea el suministrado con la placa. - Nunca manipular la placa con las manos húmedas o en entornos húmedos, y hacerlo sólo por los bordes. - No tocar la electrónica (excepto los botones, perilla y conectores) cuando la placa esté encendida, ello puede introducir interferencia y alterar el funcionamiento del micro. - Evite tocar el borde del regulador de voltaje que se encuentra a la izquierda del buzzer (por debajo de la placa), en operación normal se calienta pero nunca hasta un punto de provocar quemaduras u otras molestias. - Al conectar voltajes externos a la placa, nunca deben exceder de 5V. 2 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. 2. Hardware 2.1. Alimentación La placa CADmega128 se alimenta mediante un transformador externo de 220VAC/12VDC, 600mA (incluido con cada unidad). En la placa se aplica filtrado para atenuar el ruido switching de esta alimentación y se distribuyen los 12V en diferentes partes de la placa que lo requieren. Además se obtienen 5V necesarios para el micro y toda la lógica digital mediante U5. ALIMENTACION Y FILTRADO Entrada 12VDC V12 J20 1 1 100uH JUMPER DC_JACK C3 C4 100n 10u J4 VI VO 3 1 GND TIP VCC 7805 CONN-SIL1 2 SLV JP6 2 U5 L1 J3 1 CONN-SIL1 VCC C6 C5 C8 C7 C10 100n 100n 100n 100n 100n El jumper JP6 es el interruptor maestro de la alimentación, puede usarse para apagar o encender la placa sin desconectar el transformador externo. 2.2. CPU La placa CADmega128 posee como cerebro el avanzado microcontrolador RISC Atmel Atmega128, con cristal a 16 Mhz (máxima velocidad posible, permite hasta 16 MIPS, Millones de Instrucciones por Segundo). La programación/depuración se realiza mediante conector JTAG Atmel estándar (J1). 3 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. ATmega128 soldado en la cara inferior de la placa CADmega128 4 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. Como se observa en el esquemático, se dispone de un botón manual de Reset (SWR), que reinicia el programa del micro desde cero. El cristal X1 es de 16 Mhz, para velocidades menores debe usarse el oscilador interno del micro y programar esto en los fusibles. El terminal J7 permite conectar una referencia de voltaje externa (AVREF) para el conversor ADC integrado del micro, dicha referencia no puede ser negativa ni exceder 5V. El cristal X2 es de tipo reloj de cuarzo, frecuencia 32,768 kHz, y puede usarse para implementar un reloj de tiempo real por software (sin respaldo de batería). 2.3. Programación y Puerto JTAG (J1) El puerto JTAG permite programación y depuración del micro, mediante programador JTAG USB Atmel o compatible. JTAG USB Cable estándar IDC 10 pines CADmega128 PC con entorno AVR Studio La programación se realiza generalmente en lenguaje C, usando el entorno de programación AVR Studio. El uso del lenguaje C provee gran flexibilidad y rapidez en el desarrollo, ya que no es necesario usar las instrucciónes de máquina (assembly) de la CPU. Los programas son grabados en el micro en su memoria Flash permanente, y pueden ser pausados (e incluso “RESETeados”) a voluntad usando las facilidades de depuración del JTAG. o Se recomienda no conectar el programador JTAG a la placa estando ésta conectada. 2.4. LEDs 5 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. La placa CADmega128 posee 3 LEDs programables (D2,D3 y D4), conectados directamente al puerto G del microcontrolador (pines PG0, PG1 y PG2 respectivamente). VCC D2 R12 LED_G0 2.2k LED D3 R13 LED_G1 2.2k LED D4 R14 LED_G2 2.2k LED Al estar los LEDs conectados a VCC (5V), para encenderlos es necesario escribir un ‘0’ lógico en el pin correspondiente, previamente configurado como salida. 2.5. Buzzer La placa CADmega128 incorpora un buzzer (BZ1) controlado por transistor, conectado al puerto PF3 del micro (etiq. BUZ en el esquemático). VCC BZ1 + + - BUZ-OLIMEX R11 Q2 2N3904 BUZ 2.2k Este buzzer no es del tipo auto-oscilador, por lo que para generar sonido es necesario enviarle un tren de pulsos cuadrados dentro de un rango de hasta 2 kHz. Ello es fácil de lograr alternando ‘1’s y ‘0’s en este pin. 2.6. Botones La placa CADmega128 posee 5 botones (SW1 a SW5), ubicados directamente bajo el LCD. Están conectados a pines del puerto D, con la correspondencia: 6 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. - [SW1] está conectado a PD0, lo que además permite detonar la interrupción INT0. - [SW2] está conectado a PD1, lo que además permite detonar la interrupción INT1. - [SW3] está conectado a PD4. - [SW4] está conectado a PD5. - [SW5] está conectado a PD6, lo que además permite incrementar el Timer 1 si se selecciona el modo de contador. 7 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. Botones y Filtrado de Rebotes VCC R4 10k U2:A R3 1 2 SW1 1k 74HC14 C18 10n VCC R6 10k U2:B R5 3 4 SW2 1k SW1 1/2 74HC14 C19 3/4 10n SW-SPST SW2 1/2 3/4 VCC SW-SPST SW3 1/2 3/4 R8 SW-SPST 10k SW4 1/2 3/4 SW-SPST 5 6 SW3 1k 74HC14 C20 SW5 1/2 U2:C R7 10n 3/4 SW-SPST VCC R10 10k R9 U2:D 13 12 SW4 1k 74HC14 C21 10n VCC R15 10k R1 U2:E 11 10 SW5 1k C28 74HC14 10n Los switches poseen filtrado anti-ruido y anti-“rebotes” mediante resistores, capacitores y el TTL 74HC14. De acuerdo a la lógica, al presionar un switch aparece un ‘1’ lógico en el pin correspondiente del micro. 8 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. 2.7. LCD La placa CADmega128 incorpora un LCD de 16 caracteres x 2 líneas, estándar HD44780 en modo de 4 bits (usando los bits de datos D7 a D4). Se dispone de potenciómetro integrado en la placa (RV1) para el contraste, que varía con el ángulo de visión y la temperatura ambiente. El LCD está conectado al puerto A. El backlight (luz de fondo) está siempre activo, aún cuando lógicamente no se inicialice el LCD. LCD1 BL-K BL-A 16 15 D4 D5 D6 D7 11 12 13 14 RS RW E LCD_E VCC LCD_D4 LCD_D5 LCD_D6 LCD_D7 VCC 2 4 5 6 LCD_RS 1 2 3 VSS VDD VEE LCD_16X2_4BIT RV1 1 3 10k Para inicializar y escribir caracteres en el LCD, se ofrece una librería completa en el CD adjunto con la placa, en los archivos LCD44780.c, LCD44780.h 2.8. UARTs La CPU ATmega128 posee 2 canales de comunicación serial (USARTs), que pueden ser operados en modo síncrono o asíncrono. En la placa CADmega128, ambas USARTs pueden ser usadas de manera directa en modo asíncrono (es decir, como UARTs) y ello otorga inmediata compatibilidad con infinidad de equipos que usan estos estándares. La UART0 está alambrada a un convertidor TTL/RS232, de modo que sus señales aparecen listas para conectarse a un PC u otro equipo compatible con EIA232. El conector hembra (J2) corresponde al estándar 232 DCE: o Pin 2: TX UART0 (data transmitida desde la placa) o Pin 3: RX UART0 (data recibida por la placa) 9 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. o Pin 5: GND (tierra de comunicaciones) o Los demás pines no están conectados. o Los LEDs D1 y D7 indican, por hardware, transmisión y recepción a esta UART. C14 1 TX0 RX0 11 12 10 9 100n 3 C1+ C1- T1IN R1OUT T2IN R2OUT T1OUT R1IN T2OUT R2IN U4 MAX232 VS+ VSPACKAGE=SO16 C2+ C2- J2 14 13 7 8 C17 2 6 VCC 100n 1 6 2 7 3 8 4 9 5 CONN-D9F C16 100n 4 C15 5 100n * Para conectar la placa a un PC, basta con un cable serial DB9 macho – hembra. La UART1 no está alambrada a ningún convertidor TTL/RS232, de modo que sus señales corresponden a niveles TTL directos, y están disponibles en los pines J11: o Pin 1: TX UART1 (data transmitida desde la placa) o Pin 2: RX UART1 (data recibida por la placa) o Pin 3: GND (tierra de comunicaciones) o Los LEDs D5 y D6 indican, por hardware, transmisión y recepción a esta UART. o Estos pines están conectados de manera directa al microcontrolador, por tanto es necesario sumo cuidado en su conexión. Importante: Cuando no se use o no se conecte nada a la UART1, debe colocarse un jumper (suministrado con la placa) que haga un puente entre los pines TX1 y RX1. De otro modo, el LED RX1 puede encenderse aleatoriamente, haciendo molesto el uso de la placa. 2.9. Entradas Análogas (ADC) La placa CADmega128 posee 2 entradas análogas externas (para voltaje o corriente), conectadas a las entradas ADC0 y ADC1, y además se ofrece un potenciómetro divisor de tensión (RV2, 0 a 5V) permanente en ADC2, como perilla para variar datos en los programas del microcontrolador. 10 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. J5 1 2 J8 1 2 JP3 JP8 Pin para volt. ref. externo Cada entrada análoga externa dispone de un jumper para usarla en modalidad de voltaje o corriente: o Si JP3 está puesto, ADC0 se puede usar para medir corriente. o Si JP8 está puesto, ADC1 se puede usar para medir corriente. o Notar que ambas entradas poseen resistencias idénticas de 250 ohm (±1%). La máxima corriente que se puede medir es de 20 mA, con voltaje de referencia interno 5V (del micro, seleccionable por software) o externo (terminal J7). En caso de usar resistencias externas y referencia externa, el producto i*R no puede exceder de 5V. 11 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. o Sin jumper puesto, la entrada correspondiente mide voltaje positivo, siempre respecto a la referencia interna de 5V o bien referencia externa, hasta un máximo de 5V. Exceder este voltaje puede dañar de manera irreversible al micro. o El potenciómetro RV2 es un divisor de voltaje conectado directamente a la entrada ADC2 del micro, permitiendo variar desde 5V (izq.) a 0V (der.) o Para usar un voltaje de referencia positivo externo, conectarlo al pin J7 al costado derecho del LCD. La tierra de este voltaje externo debe unirse a la tierra de la placa CADmega. Este voltaje externo no puede exceder de 5V. 2.10. Salidas Análogas (DAC) La placa CADmega128 incorpora un DAC dual AD7303, que ofrece 2 salidas de voltaje independientes de 8 bits de resolución (canales DAC 0 y 1). Dado que el pin VREF del DAC no está accesible para conectar una referencia externa, debe usarse la opción software REFINT al enviarle información digital al DAC. Esto selecciona una referencia interna de alta precisión de 5V. Salida DAC U7 SPI_CLK DAC_CS SPI_MO 5 7 6 8 J9 SCK VOUTA SYNC VREF DIN VOUTB AD7303 1 4 1 2 Salida análoga 0 a 5V, 8 bit, usar bit REFINT del DAC TBLOCK-2P-3.5MM C39 100n V12 V12 Salida análoga 0-20 mA C25 J10 1 2 RV4 U6:A TBLOCK-2P-3.5MM 8 2 100n 3 Q1 3 1 2N3904 1k LM358 4 1 2 J9 3 RV3 1 1 2 2 1 2 200 J10 Se ofrecen entonces 2 salidas análogas: 12 Manual del Usuario – CADmega128 – CAD Ingeniería S.A. Salida de voltaje en J9, se pueden obtener desde 0.01 a 5V en incrementos de 5 / 256 = 19.5 mV. Notar que por limitación del DAC, es imposible obtener 0V exactos en su salida. El pin 1 de J9 es el voltaje del canal DAC 0, y el pin 2 es tierra de la placa (0 V). o Esta salida es lineal, es decir, para obtener 0.01V se envía el valor digital 0 al DAC, y para obtener 5V 8 se envía el valor 255 (2 -1) al DAC. o Notar que esta salida está directamente conectada al DAC, y no soporta carga directa más allá de un par de mA, por tanto esta tensión es de control y debe ser amplificada mediante circuito externo. Salida de corriente en J10: se implementa una salida análoga de corriente programable utilizando el canal DAC 1. La corriente (desde 0 a 20 mA) fluye desde el terminal 1 al terminal 2 de J10, la máxima carga es de 250 ohm. Esta salida es lineal, es decir, para obtener 0 mA se envía el valor digital 0 al DAC, y para obtener 8 20mA se envía el valor 255 (2 -1) al DAC. Esta salida se puede usar para manipular equipos de control industrial con entrada de 4-20 mA. Este DAC es un periférico externo al micro, por tanto se programa mediante SPI. Con la placa CADmega128 se adjunta código en C listo para acceder al DAC, consultar la documentación en el CD adjunto. Los potenciómetros RV3 y RV4 son parte de la calibración de la salida de corriente y NO deben ser alterados de sus posiciones por ningún motivo. 2.11. Conectores para expansión La placa CADmega128 ofrece dos conectores (tipo IDC) que permiten acceso a los voltajes de alimentación (+12, +5, GND) de la placa y a la mayoría de los puertos del micro (B,C,D y E). Como estas conexiones son directas al micro, deben utilizarse con cuidado para no dañarlo. V12 V12 VCC VCC J6 SPI_CS SPI_CLK SPI_MO SPI_MI PB4 PB5 PB6 PB7 PD7 PE2 PE3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 J12 PE4 PE5 PE6 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 TRANS 14 DIL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 TRANS 14 DIL J6 13 Manual del Usuario – CADmega128 – CAD Ingeniería S.A.