domingo, 13 de febrero de 2011

Prototipo de Analizador de Antenas Vectorial de EA4FRB

Prototipo Analizador de Antenas Vectorial de EA4FRB




Han pasado algunos meses sin publicar novedades sobre el progreso del proyecto. Esto no siginifica que el proyecto se haya estancado, lo que ha sucedido es que he decidido realizar algunos cambios bastante significativos y ha llevado algún tiempo ponerlos en marcha.





El primer cambio y bastante significativo ha sido "aparcar" la solución basada en el micro-controlador PSoC5 y cambiar al STM32 de ST Microelectronics. Ha habido múltiples razones para esta decisión, para empezar destacar la falta de visibilidad por parte de Cypress en la disponibilidad y precio de este componente; y específicamente saber si realmente está interesada en el mercado amateur y ofrecer un producto competitivo en precio. Todo lo contrario sucede con la familia STM32 de STM que dispone de decenas de dispositivos tanto con núcleos Cortex M3 y ahora también Cortex M4, existen infinidad de placas de evaluación y desarrollo a precios muy competitivos (el Discovery Kit está disponible por $10), y tienen un muy buen soporte software. El STM32 no es tan flexible y la circuitería analógica de tan altas prestaciones pero es más que suficiente para la mayoría de aplicaciones. 

El segundo cambio ha sido decidir utilizar un display TFT color. El display monocromo utilizado me parecía muy limitado para mostrar los gráficos y estando ya en el 2011 parece un poco anacrónico utilizar esta tecnología. Las buenas noticias es que se pueden encontrar en el mercado display TFT de tamaños de 2.8" a 3.2" a precios muy asequibles, de hecho, incluso más baratos que el monocromo. Estos displays además integran un controlador por lo que es muy sencillo el control desde un micro-controlador como el STM32. Otro punto importante es que se pueden encontrar en el mercado "breakout boards", es decir, placas que integran el display y algún hardware adicional y con conexiones de tipo de tira de pinchos por lo que es muy fácil prototipar con ellos. También comentar que algunas de las placas de evaluación incorporan displays de este tipo. Un ejemplo es la Mini STM32 V4http://www.micro4you.com/store/mini-stm32-stm32f103-tft-lcd-board-v4/prod_164.html disponible a un precio de $50.

La última novedad es que estoy avanzando en la posible realización como producto comercial (para el segmento amateur). Las características principales serían el tamaño de bolsillo (90x60x14.5 cm), display TFT de 3.0", batería de Litio Polímero, rango de frecuencia de hasta 200Mhz, conexión USB y disco USB interno, y código abierto. Iré informando en futuras entradas en el Blog acerca del progreso de esta realización. En el caso de que no vaya adelante el proyecto, publicaré en todo caso la información necesaria y código fuente para autoconstruir el analizador en los próximos meses.

Entrando en la parte más técnica, para el nuevo prototipado del analizador he utilizado como hardware un Mini STM32 V3 y el STM32 Discovery Kit. El Mini STM32 es una placa de evaluación del STM32 que incorpora un display TFT de 2.8", dos conexiones USB, un slot SD, algunos LED y pulsadores, y una serie de tiras de pinchos para acceder a los puertos del STM32. La pega es que hay muy pocos puertos disponibles, aunque no es un gran problema para parte del desarrollo del software. Reciemente han lanzado la version V4, que tiene muchos más puertos disponibles y que será más adecuada para el prototipado del analizador.

El STM32 Discovery Kit se utiliza únicamente para la funcionalidad de depuración. El kit incorpora el ST-Link, el cual es un interface de debug que utiliza el protocolo SWI y permite el uso externo, por lo que lo he configurado de esta forma para conectarlo al Mini STM32 para poder depurar.

En la siguiente fotografía se muestra la combinación del Mini STM32 con el kit Discovery:


La selección de las herramientas de desarrollo software ha sido un pequeño dolor de cabeza. Existen varias herramientas comerciales, versiones gratuitas de las versiones comerciales con diferentes limitaciones, y los compiladores totalmente libres de GNU. Finalmente mi decisión ha sido utilizar la versión "Lite" de Atollic TrueStudio. Esta herramienta no tiene limitaciones en el tamaño de código y esta versión Lite es totalmente funcional para el desarrollo del software del analizador. El TrueStudio se apoya en el IDE de Eclipse lo cual lo hace bastante productivo.

El portado del código original del prototipo del analizador para el PSoC5 ha sido bastante sencillo. La librería para el manejo de periféricos del STM32 proporcionada por STM es realmente potente lo cual permite poner en marcha los periféricos muy fácilmente. Para el control del LCD he utilizado como base las rutinas básicas de inicialización proporcionados por el fabricante y a partir de ahí he desarrollado una librería de primitivas gráficas. STM está desarrollando una librería gráfica muy completa pero de momento está disponible solamente en Beta bajo acuerdo de confidencialidad, por lo que no es utilizable en este proyecto.

Para la funcionalidad USB, he utilizado la librería que también proporciona STM para el propósito. Es también muy sencilla de poner en marcha y hasta ahora he probado los clientes HID y Virtual COM. Están también disponibles los de disco USB, audio, etc. Como sistema de archivos he portado el FatFS de ChaN utilizando de momento una SD como soporte físico. Posteriormente se montará el sistema de archivos sobre el disco interno flash.

El diseño del interfase de usuario y la implementación software no están 100% completos pero si ya está empezando a tomar forma. Las funcionalidades proporcionadas van a ser los gráficos de impedancia para el análisis de antenas, el análisis de cables y líneas de transmisión por medio de reflectrometría en el dominio de la frecuencia, y diagrama de Smith.

La funcionalidad básica de gráficos de impedancia es la más avanzada. El diagrama mostrará hasta dos ejes, por ejemplo para mostrar el gráfico de R+X, o de Rho+Phy, o cualquiera de dos magnitudes seleccionadas por el usuario. Se proporcionarán hasta dos marcas (Marker), seleccionables por el usuario o automáticas. También se mostrarán los parámetros de impedancia completos en la frecuencia central o en cualquiera de las marcas. Otras funcionalidades serán por ejemplo, el almacenado o la recuperación de las gráficas. El STM32 tiene bastante capacidad de memoria por lo que hay bastante espacio para un buen número de funcionalidades y futuras evoluciones. 

En el siguiente ejemplo de pantalla, en el primer eje se muestra la ROE y en el segundo el módulo de la impedancia, y las dos marcas están activadas.


Cualquier comentario y sugerencias para este proyecto serán bienvenidas.

Links:
http://ea4frb.blogspot.com/
http://www.ea4frb.eu/sark100_esp.html

No hay comentarios:

Publicar un comentario