Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Departamento de Electrnica
Mencin Computadores
Diciembre de 2003
Resumen
ii
ndice de contenido
Resumen............................................................................................... ii
Introduccin ........................................................................................ ix
iii
Captulo 3 Introduccin a protocolos de comunicacin entre
dispositivos ........................................................................................ 29
Conclusiones ...................................................................................... 59
Referencias......................................................................................... 60
Anexo ................................................................................................. 62
iv
ndice de figuras
v
Figura 2-14 Programador y emulador ....................................................... 28
vi
ndice de tablas
vii
Prefacio
viii
Introduccin
x
Captulo 1
El microcontrolador MSP430
1.1 Introduccin
1
1.2 Mapa de memoria e interrupciones
2
contenido. La forma sugerida por Texas Instruments para realizar la
conexin al puerto serial de un computador es utilizar los pines DTR y RTS
del puerto para manejar los pines RESET y TEST del microcontrolador y
proporcionar la secuencia necesaria, mientras los pines RX y TX se utilizan
para la comunicacin. Por supuesto se deben conectar mediante un
cambiador de niveles para adaptar la interfaz RS232 a los niveles de tensin
que utiliza el microcontrolador. Los comandos estn descritos en la literatura
proporcionada por TEXAS[3].
3
Tabla 1-2 Vector de interrupciones
Fuente de i nterupci on Fl ags afectado Ti po de interrupci n Di reccin Pri ori dad
Encendido WDT IFG Reset 0FFFEh 15, mayor
Reset externo KEYV
Watchdog
Memoria Flash
NMI NMIIFG (No)enmascarable 0FFFCh 14
Falla del oscilador OFIFG (No)enmascarable
Violacin de acceso a Flash ACCVIFG (No)enmascarable
T imer_B7 T BCCR0 CCIFG Enmascarable 0FFFAh 13
T imer_B7 T BCCR1 al 6 CCIFGs, Enmascarable 0FFF8h 12
T BIFG
Comparador_A CAIFG Enmascarable 0FFF6h 11
Watchdog timer WDT IFG Enmascarable 0FFF4h 10
USART 0 recepcin URXIFG0 Enmascarable 0FFF2h 9
USART 0 transmisin UT XIFG0 Enmascarable 0FFF0h 8
ADC12 ADC12IFG Enmascarable 0FFEEh 7
T imer_A3 T ACCR0 CCIFG Enmascarable 0FFECh 6
T imer_A3 T ACCR1 CCIFG, Enmascarable 0FFEAh 5
T ACCR2 CCIFG,
T AIFG
I/O puerto 1 P 1IFG.0 al P 1IFG.7 Enmascarable 0FFE8h 4
USART 1 recepcin URXIFG1 Enmascarable 0FFE6h 3
USART 1 transmisin UT XIFG1 Enmascarable 0FFE4h 2
I/O puerto 2 P 2IFG.0 al P 2IFG.7 Enmascarable 0FFE2h 1
0FFE0h 0, menor
4
Figura 1-1 Designacin de patillas del microcontrolador
5
1.4 El mdulo de reloj
Con estas fuentes el mdulo de reloj genera las siguientes tres seales:
6
El siguiente es un esquema del mdulo generador de reloj [1]:
7
1.5 El multiplicador por hardware
8
1.6 Modos de bajo consumo
En modo de temporizador las fuentes del reloj pueden ser las seales
ACLK, SMCLK o una seal externa a travs de los pines TACLK (TBCLK) o
INCLK. A su vez la fuente de reloj elegida puede ser dividida por un factor de
2, 4 u 8 mediante los bits IDx del registro de control TACTL (TBCTL). Puede
funcionar en uno de cuatro modos, seleccionado con los bits MCx
10
Tabla 1-3 Modos del contador
Para mayor claridad se muestran las siguientes figuras del manual del
usuario del microcontrolador.
11
Figura 1-5 Modos del temporizador B como temporizador/contador
(a) Modo hacia arriba, (b) modo continuo, (c) modo hacia arriba y abajo.
12
latch de comparacin con el valor de los registros de comparacin, que son
los que el usuario manipula. Adems se puede agrupar varios latch para su
actualizacin simultnea. El momento se refiere al valor del contador TBR.
13
Los flags se activan en modo de captura cuando un valor es capturado
al registro correspondiente y en modo de comparacin el flag responde
cuando el valor del contador alcanza el valor del registro correspondiente.
14
Figura 1-8 Diagrama del comparador analgico
15
Figura 1-9 Diagrama del conversor anlogo a digital
V in V R
N ADC = 4096
VR + VR
16
La conversin se inicia en el canto de subida de la seal interna SHI,
que se selecciona entre: el bit ADC12SC controlado por software, o la etapa
de salida 1 del temporizador A, o la 0 o la 1 del temporizador B. Esta seal a
su vez controla la seal SAMPCON que sincroniza las etapas de muestreo y
retencin y la etapa de conversin que toma 13 ciclos del reloj ADC12CLK.
En la Figura 1-10 se ve un ciclo completo de muestreo y conversin.
17
Las 16 direcciones de memoria que almacenan los datos ADC12MEMx
se configuran con sus correspondientes 16 registros de control
ADC12MCTLx. Se puede configurar independientemente para cada una el
canal y la fuente para las referencias. Adems el bit EOS indica el fin de
secuencia cuando se selecciona una conversin secuencial. La conversin
comienza usando el registro de control seleccionado con los bits
CSTARTADDx del registro ADC12CTL1 y en caso de una conversin
secuencial contina con los registros de control restantes hasta encontrar el
bit EOS. Si no se utiliza una conversin secuencial el nico registro utilizado
es el indicado por CSTARTADDx.
18
Captulo 2
La tarjeta de desarrollo EasyWeb II
20
Figura 2-3 Diagrama de fuente de alimentacin
21
Figura 2-4 Conexin de pulsadores
22
Figura 2-6 Conexin de optoacopladores
23
Figura 2-8 Conexin a la memoria Flash
24
Figura 2-10 Conexin del puerto serial
25
Figura 2-12 Esquema de conectores
26
Figura 2-13 Conexin del controlador ethernet
27
Figura 2-14 Programador y emulador
28
Captulo 3
Introduccin a protocolos de comunicacin entre
dispositivos
29
que si fuera activada por nivel. La velocidad de transmisin es uno de los
puntos fuertes de estos protocolos, en sucesivas revisiones de ellos se ha ido
subiendo la velocidad mxima hasta los 3 Mbits/s para Microwire y 10
Mbits/s en el caso de los ltimos dispositivos SPI [6].
30
y fin de transmisin. Un ejemplo completo de una transferencia se puede ver
en la Figura 3-1.
31
Figura 3-2 Byte de control
33
Envo de comando de
escritura
Envo condicin de
STOP para comenzar
ciclo de escritura
Se
recibe No
ACK?
Si
Siguiente operacin
34
Figura 3-7 Lectura de posicin aleatoria
El protocolo especifica que las seales SDA y SCL deben operarse con
conexiones de colector abierto para poder generar un wired AND en el bus,
en caso de que varios maestros quieran iniciar una comunicacin
simultneamente. El MSP430 es capaz de emular este tipo de conexin en
cualquiera de los pines de entrada y salida [9]. Esto se logra escribiendo un
cero en el registro de salida del puerto correspondiente y manejando el nivel
en la salida mediante el registro de direccin. Si se requiere un cero en la
salida, el pin se configura como salida, con lo que el valor de 0 escrito en el
registro se refleja en la salida. Si se quiere un 1 en la salida el pin se
configura como entrada, de esta forma la resistencia de pull up interna fija el
nivel en 1 de forma estable. La lectura se efecta siempre mediante el
registro de entrada del puerto.
35
3.2 Los dispositivos iButton de Dallas Semiconductors y el
protocolo propietario 1-Wire
36
Figura 3-11 Apariencia de un dispositivo iButton
38
Figura 3-14 Lectura desde dispositivos iButton
Escribir cero en la
lnea
Generar retardo de
480 S
Volver la lnea a
estado alto
Retardo de 70 S
39
Escribir cero en la lnea para
comenzar la ranura de tiempo
Retardo de 15 S desde el
comienzo de la ranura
No
40
Cada dispositivo en particular tiene su repertorio de instrucciones, por
lo que la programacin de una aplicacin debe realizarse mediante sus hojas
de caractersticas. Existen algunas instrucciones compartidas como: leer el
cdigo identificatorio, o generar un CRC para comprobar los datos
transmitidos.
41
3.3 Control de un mdulo de cristal lquido alfanumrico
1 Tierra
2 VCC
42
Los comandos se envan al controlador mediante una palabra de 8 bits,
las instrucciones disponibles (slo las que escriben registros en el
controlador) se resumen en la tabla
0 0 0 0 0 0 0 0 0 1 Borrar display
Habilitar display/cursor:
D: Enciende el display
C: Enciende el cursor
43
B: Cursor parpadeante
A: Direccin de memoria
D: Byte de informacin
44
Una de los problemas de no poder interrogar el flag de ocupado (porque
el pin de R/W est cableado a tierra) es que la operacin se torna ms lenta,
ya que hay que esperar un tiempo extra entre cada instruccin. De las hojas
de caractersticas del controlador se obtiene que las instrucciones de
borrado del display y regreso del cursor son las que ms tiempo toman: 1,5
mS; el resto de las instrucciones toman menos de 50 S. Pero el fabricante
de la tarjeta de desarrollo recomienda 100 mS y 10 mS respectivamente.
5. Escribir 0x2 en los cuatro bits para habilitar modo de 4 bits, enviar
pulso a seal E y esperar.
45
Tabla 3-3 Caracteres disponibles en el mdulo de cristal lquido
46
3.4 Utilizacin del protocolo TCP/IP en sistemas embebidos
Capa de aplicacin
Capa de presentacin
Capa de aplicacin
Capa de sesin
Capa de transporte
Capa de transporte
Capa de Internet
Capa de red
Capa de red
Capa de enlace de datos
Capa fsica
48
Figura 3-19 Diagrama esquemtico del CS8900A
8
D[7..0]
4
A[3..0]
MSP430F149 CS8900A
IOR
IOW
50
3.4.2 El software del microcontrolador
Ethernet
51
Para ello el software utiliza dos mensajes: ARP Request para conocer la
direccin de otro dispositivo y ARP Reply para responder a los requerimientos
de otro dispositivo de red.
Protocolo Internet, IP
52
Una buena herramienta para estudiar el comportamiento de los
dispositivos y protocolos de red son los analizadores de trfico. Los cuales
monitorean el trfico de red y descomponen los paquetes para obtener el
valor de los campos de los protocolos conocidos por ellos. Como ejemplo de
uno de ellos se muestra el resultado de una comunicacin entre un
computador con IP 192.168.0.1 y la tarjeta Easyweb con IP 192.168.0.30. En
este caso desde el computador se enva un paquete ARP Request, al que la
tarjeta contesta con ARP Reply, a continuacin se enva una peticin de
Echo, a la que la tarjeta contesta con un mensaje Echo Reply. En la Figura
3-21 se puede ver el resultado de la captura.
53
Del mismo modo se presentan las transacciones entre el mismo
computador y un servidor HTTP (Protocolo de transferencia de hipertexto)
implementado en la tarjeta de desarrollo, en la Figura 3-22.
55
3. SOCK_TX_BUF_RELEASED Con este flag el stack le indica a la apliacin
del usuario que el buffer de transmisin est disponible para ser ocupado, y
que la variable TCPTxDataCount puede ser alterada.
56
DoNetworkStuff()
Terminar
No
programa?
Si
Finalizar
58
Conclusiones
59
Referencias
[10] Using the Crystal 8900A in 8-Bit Mode (AN181), 2002, Cirrus
Logic, disponible:
http://www.cirrus.com/en/pubs/appNote/an181.pdf
60
[11] MSP430 Internet Connectivity (SLAA137), Texas Instruments,
2000, disponible:
http://focus.ti.com/lit/an/slaa137/slaa137.pdf
61
Anexo
/********************************************************************
*
* Standard register and bit definitions for the Texas Instruments
* MSP430 microcontroller.
*
* This file supports assembler and C development for
* MSP430x14x devices.
*
* Texas Instruments, Version 1.7
*
********************************************************************/
/************************************************************
* STATUS REGISTER BITS
************************************************************/
#define C (0x0001)
#define Z (0x0002)
#define N (0x0004)
#define V (0x0100)
#define GIE (0x0008)
#define CPUOFF (0x0010)
#define OSCOFF (0x0020)
#define SCG0 (0x0040)
#define SCG1 (0x0080)
/************************************************************
* PERIPHERAL FILE MAP
************************************************************/
/************************************************************
* SPECIAL FUNCTION REGISTER ADDRESSES + CONTROL BITS
************************************************************/
#define IE1_ (0x0000) /* Interrupt Enable 1 */
sfrb IE1 = IE1_;
#define U0IE IE1 /* UART0 Interrupt Enable Register */
#define WDTIE (0x01)
62