Hardware
Los parámetros de comunicación utilizados en este proyecto son los siguientes:
- Transmisión asincrónica
- no handshaking, no flow control
- LSB first (El primer data bit es el menos significativo)
- 9600 bps (bits por segundo)
El circuito es extremadamente simple, como puede apreciarse en la figura 1, porque toda la lógica está implementada por software. Utiliza un microcontrolador PIC16C55 para comunicarse con el puerto serie del PC, no directamente, sino a través de un driver MAX233. Como usted recordará, la norma RS232 no utiliza los tradicionales 5V y 0V para representar unos y ceros respectivamente, sino voltajes de entre 3 y 25V, negativo para el "uno" y positivo para el "cero". De ahi que necesitemos un driver.
Solo se usan dos conductores del cable RS232: RXD y TXD, o sea, por uno se recibe la informacion desde el PC, por el otro se transmite informacion hacia el PC; de modo que no se utiliza ninguna señal de "handshaking", asi como tampoco se usa ningún "flow control" por software (Xon/Xoff). Una posible modificación a este proyecto es implementar flow control ya sea por hardware o por software... ahi se lo dejo de tarea; para mis propósitos, esto no es necesario.
Consecuentemente, solo se utilizan dos de los cuatro drivers que vienen en el MAX233. Los otros dos quedan libres para "handshaking" en caso de que se anime.
La figura 2 muestra el aspecto que tiene el prototipo en estos momentos. Como puede verse, no hay ningún relay (todavia) sino solo LEDs. Esto se debe a que en estos momentos estoy desarrollando el software, para lo cual me basta con ver alguna lucesita; reemplazar los LEDs por relays es muy simple, por eso no constituye una prioridad en estos momentos.
Asi mismo, solo he colocado un push button (al lado del cristal de cuarzo), suficiente por el momento, pero obviamente, en el prototipo definitivo serán cuatro.
Por último, la alimentación la provee una baterÃa de 9V. En un futuro es muy probable que reemplace esta baterÃa por una fuente de alimentación decente.
Contenido |
Anterior |
Siguiente