1 Manual del Usuario – CADmega128 – CAD Ingeniería S.A.
CAD Ingeniería S.A. SAN ISIDRO 255 OFICINA F
Santiago, Chile
MANUAL DEL USUARIO
Placa de Entrenamiento / Desarrollo
CADmega128
2 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.
3 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.
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).
L1
100uH
C3100n
Entrada 12VDC
C410u
ALIMENTACION Y FILTRADO
C5100n
C6100n
C7100n
C8100n
VCC
C10100n
TIP1
SL
V
2
J20
DC_JACK
1
J3
CONN-SIL1
1
J4
CONN-SIL1
VI1
VO3
GN
D2
U57805
VCCV12
JP6
JUMPER
4 Manual del Usuario – CADmega128 – CAD Ingeniería S.A.
ATmega128 soldado en la cara inferior de la placa CADmega128
5 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.
Ca
ble
está
nd
ar
IDC
10
pin
es
CADmega128
JTAG USB
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
6 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).
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).
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:
VCC
D2
LED
LED_G0
R12
2.2k
D3
LED
LED_G1
R13
2.2k
D4
LED
LED_G2
R14
2.2k
Q22N3904
++
--
BZ1
BUZ-OLIMEX
VCC
BUZ
R11
2.2k
7 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.
8 Manual del Usuario – CADmega128 – CAD Ingeniería S.A.
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.
1/2 3/4
SW1
SW-SPST
1/2 3/4
SW2
SW-SPST
1/2 3/4
SW3
SW-SPST
1/2 3/4
SW4
SW-SPST
R3
1k
R410k
VCC
1 2
U2:A
74HC14C1810n
R5
1k
R610k
VCC
3 4
U2:B
74HC14C1910n
R7
1k
R810k
VCC
5 6
U2:C
74HC14C2010n
R9
1k
R1010k
VCC
13 12
U2:D
74HC14C2110n
SW1
SW2
SW3
SW4
Botones y Filtrado de Rebotes
R1
1k
R1510k
VCC
C2810n
SW5
1/2 3/4
SW5
SW-SPST
11 10
U2:E
74HC14
9 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.
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)
LC
D_
RS
LC
D_
E
LC
D_
D4
LC
D_
D5
LC
D_
D6
LC
D_
D7
VCC
12
3
RV1
10k
VCCD
714
D6
13
D5
12
D4
11
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
BL
-A15
BL
-K16
LCD1LCD_16X2_4BIT
10 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.
* 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.
T1IN11
R1OUT12
T2IN10
R2OUT9
T1OUT14
R1IN13
T2OUT7
R2IN8
C2+
4
C2-
5
C1+
1
C1-
3
VS+2
VS-6
U4
MAX232
PACKAGE=SO16
C14
100n
C15
100n
C16100n
C17
100n
VCC
1
6
2
7
3
84
9
5
J2
CONN-D9F
TX0
RX0
11 Manual del Usuario – CADmega128 – CAD Ingeniería S.A.
J5
J8
1
2
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.
12 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.
Se ofrecen entonces 2 salidas análogas:
3
2
1
84
U6:A
LM358
Q12N3904
V12
V12
12
3RV3
200
C39100n
SPI_MO
SPI_CLK
DAC_CS
C25
100n
SCK5
SYNC7
DIN6
VOUTB8
VOUTA1
VREF4
U7
AD7303
Salida DAC
1
2
J9
TBLOCK-2P-3.5MM
1
2
J10
TBLOCK-2P-3.5MM
12
3
RV4
1k
Salida análoga 0 a 5V, 8 bit, usar bit REFINT del DAC
Salida análoga 0-20 mA
J9
J10
1
2
1
2
JP3
JP8
13 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
se envía el valor 255 (28-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
20mA se envía el valor 255 (28-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.
J6
SPI_CS
SPI_CLK
SPI_MO
SPI_MI
V12 VCC
1
2
3
4
5
67
8
9
10
11
12
13
14
J6
TRANS 14 DIL
PB4
PB5
PB6
PB7
PD7
PE2
PE3
PE4
PE5
PE6
PC0
V12 VCC
1
2
3
4
5
67
8
9
10
11
12
13
14
J12
TRANS 14 DIL
PC1
PC2
PC3
PC4
PC5
PC6
PC7