Hemos leído: Serial Port Complete 2nd. Ed. (Jan Axelson)

Otro que ha caído como una pera madura de un árbol. Y no es porque no traiga información, que la trae, y mucha, sino porque… porque… aparte de los elementos de diseño hardware, que no me interesan lo más mínimo –para eso están los chatarrillas, como yo los llamo[1]-, no me aportan nada nuevo, sino más bien… se queda muy corto.

Pero veamos qué trae el libro. Los primeros capítulos son un poco rollo, con una serie de explicaciones teóricas sobre nomenclaturas, características y opciones. Los siguientes sí que les pueden resultar interesantes a los diseñadores de hardware, ya que incluso modela ecuaciones mediante código. Habla de largos máximos, de atenuaciones, masas, etc., todo ello cuestiones de diseño que no me incumben y de las que sé lo justo para poder lidiar con los problemas habituales cuando se programa con puertos serie de por medio. Sigue con más explicaciones teóricas sobre los puertos serie de los PC.

Luego trae dos capítulos enormemente interesantes ya que la literatura sobre el tema es bien escasa: RS-485, que es un RS-232 en el que se usan dos hilos diferenciales como soporte físico para el envío y recepción de datos, lo que tiene la ventaja de que al ser una señal diferencial tiene muchas menos pérdidas y en consecuencia permite cables de mayor longitud, y la desventaja de que no se permite enviar y recibir simultáneamente ya que ambos hilos se usan a la vez para la comunicación. Eso no quiere decir que no pueda ser bidireccional, sino que o bien se envía o bien se recibe. Personalmente he usado ampliamente este soporte físico para realizar comunicaciones dentro de una máquina, y lo cierto es que no tengo claro si las ventajas superan a los inconvenientes o al revés. En fin, con estos dos capítulos cualquiera se vería cualificado para diseñar sobre este formato de hardware.

Quiero hacer notar (y esto no viene en el libro), que existen protocolos más modernos y robustos basados en los hilos diferenciales, como el CAN, que usa la Mercedes dentro de sus coches. La ventaja es que resulta enormemente seguro en cuanto a pérdida de datos y que muchos temas de protocolos –como el de lucha para conseguir el control del bus- se llevan a cabo a nivel de hardware, con lo que liberan al programador de tareas bastante complejas y que llevan mucho tiempo desarrollar.

El capítulo 8 desvaría un poco, y seguro está puesto para llenar páginas: habla del Bluetooth, Wifi, etc. como protocolos serie… El primero de ellos lo es, pero el segundo seguro que no.

Dos capítulos dos sobre desarrollo con puertos serie bajo .NET (y a C++ y VB que los zurzan). Nada nuevo bajo el sol y que no esté contemplado más o menos bien leyendo la documentación de la MSDN. Aparte de algún gazapillo perdonable (un System.String se envía en formato UNICODE, no ASCII, sólo por poner un ejemplo, ya que hay alguno más), el texto trae los típicos ejemplos realizados en VB.NET y C#, facilones y evidentes. En el segundo profundiza algo más, explicando los eventos y cómo realizar programación asíncrona, aunque sólo toca la superficie.

Y es que lo que trae es apenas nada en cuanto a desarrollo de software en el que intervenga una o más UARTS, os lo digo yo que llevo buena mili con el tema.

Luego viene un capítulo sobre puertos serie sobre dispositivos, explicando un modelo de Microchip que incorpora una UART, tratando sobre cuestiones de diseño y de programación en C sobre dicho micro. Ciertamente es un capítulo loable, pero dado que cada microprocesador incorpora las UART y sus registros a su manera, tan sólo sirve para dar una ligera idea de lo que uno se puede encontrar cuando programa un procesador.

Y digo flojito porque una obra que se precie de completa debería haber contemplado este tema con mayor profundidad. Debería haber explicado cómo funcionan las UART dentro de un microprocesador grande, con toda la parafernalia de los niveles de interrupción, vectores instalables y prioridades de la UART frente a los timers (por poner un ejemplo). También debería haber cubierto en profundidad los chips UART, pastillas que llevan 4, 8 ó 16 UARTS y que se anexan al bus de datos (y cómo integrarlas dentro del firmware), o cómo montar cores UART dentro de una FPGA o similar…

Sí que trae un capítulo interesante pero de nuevo flojito sobre diseño de protocolos sobre canales serie. De nuevo apenas contempla lo más básico.

Finaliza con mucho rollo sobre convertidores USB-RS232, muchos de los temas apenas son interesantes porque de eso ya se ocupa el fabricante del chip, pero hay que llenar páginas poniendo rollos en lugar de escribir sobre lo que hay que escribir.

El libro no está mal, pero apenas cubre una iniciación tanto en el diseño del hardware como en el desarrollo con estos dispositivos; es perfectamente válido para cualquiera que empiece con el tema, pero desde luego no llega a los talones de cualquier aplicación o diseño de la Vida Real™.


[1] Que nadie se tome a mal el nombre. Dentro de lo que yo llamo nomenclatura simpática, un diseñador de hardware en un chatarrillas, un diseñador gráfico un pintamonas, y un jodío developer un chafateclas, y desde luego no hay ninguna intención peyorativa, sino que simplemente me resultan nombres tan irreverentes como yo mismo soy.

2 comentarios sobre “Hemos leído: Serial Port Complete 2nd. Ed. (Jan Axelson)”

  1. Se nota que ni idea tienes de lo que se trata programar un microcontrolador(en ensamblador, C, Pascal o Basic) que va a interarctuar con un programa en PC……..

Responder a rfog Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *