miércoles, 11 de septiembre de 2019

STM32F4 Discovery - Analizador lógico (Logic Analyzer)

Introducción. 

Con los pasos descriptos en esta entrada, crearemos un analizador lógico por medio de una placa STM32F4 Discovery.

Los datos adquiridos será representados por un cliente OLS.

Todos los pasos detallados fueron realizados desde un Host (mi PC) con distro Debian 9.

Preparación de la STM32F4 Discovery 

Primero descargaremos el binario necesario desde la siguiente página:

https://code.google.com/archive/p/logicdiscovery/downloads

Para los ensayos que realicé, utilicé el último de la lista (el mas antiguo)
El cual funcionó correctamente. En breve testearé el resto.

LogicDiscovery.bin, el que utilicé al momento de crear esta entrada.
Una vez descargado, programamos la placa Discovery, yo utilizo openOcd para estos menesteres, en Window$ hay también utilidades de ST.

usuario@debian:~ openocd  -f ../scripts/board/stm32f4discovery.cfg -c init -c "reset halt" -c "flash write_image erase /home/usuario/Documentos/logicAnalizer/LogicDiscovery.bin 0x08000000" -c "reset" -c "exit" 

Luego de finalizado el proceso, reseteamos la placa y conectamos un cable micro USB al conector para tal fin, y Linux lo reconoce como puerto serie. (/dev/ttyACMx).

Cliente OLS 

Decargamos el siguiente programa, el cual está creado en Java, así que lo podrán correr desde las plataformas mas populares.

https://lxtreme.nl/projects/ols/

En mi caso descargué el mas nuevo, con extensión tar.gz:

OLS v0.9.7 SP2, released 2015-01-02, Es el que descargué.
Lo descomprimimos y lanzamos:

usuario@debian:~/Documentos/logicAnalizer/ols-0.9.7.2$ ./run.sh

Programa Iniciado

Analizando.

Primero debemos tener la Discovery conectada por medio del puerto micro USB, y luego identificar como fue numerado por Linux, ($ ls /dev), en mi caso es /dev/ttyACM1.

Dentro del programa seleccionamos Capture->Begin Capture y nos saldrá la siguiente pantalla:

Captura de mi configuración en la pestaña "Connection"

Luego para verificar la conectividad y el correcto funcionamiento de la Discovery, presionamos el botón "Show Device Metada", y nos devolverá una imagen similar a esta:

El software se pudo conectar con nuestra placa, lástima que no es FPGA, :(

Posteriormente pasamos a la pestaña "Acquisition", siempre verificar el valor de Sampling Rate, ya que por default está en 200MHz, la Discovery según el desarrollador está preparada para 20MHz como máximo:

Pestaña "Acquisition" con la configuración utilizada en este caso

Por último la pestaña "Trigger", seteada para iniciar la captura desde channel0 (PD0)



Los puertos de entrada son desde PD0 (channel 0) hasta PD7 (channel 7), PD5 me dió algunos problemas, probablemente por algún componente de la discovery que está conectado a dicho puerto.

Protagonistas: Raspberry PI3 como SSH - Jtag, placa de ensayos con EPM570 como contador de 4 bits, protoboard con algunos leds como monitor, Blue-pill como generador de clock, y STM32 Discovery como Analizador Lógico. HP48 como actor invitado :)


Captura de la configuración anterior.
Done!

T'T.

No hay comentarios.:

Publicar un comentario