FST-01
FST-01 es una pequeña computadora USB de 32 bits. De hecho, FST-01 es una abreviación y su nombre completo es "Flying Stone Tiny ZERO-ONE".
Está diseñado por Flying Stone Technology, una empresa en Maebashi, Gunma, Japón.
El concepto es "Diseño Minimalista". Es un diseño de hardware libre (como en libertad). Las aplicaciones previstas son Gnuk (El Token Criptográfico para GnuPG) y NeuG (Generador de Números Verdaderamente Aleatorios basado en ruido ADC). Esas aplicaciones son Software Libre.
Flying Stone Technology es un fabricante de segunda fuente de "Gnuk", que tiene derechos de autor de la organización sin fines de lucro, Free Software Initiative of Japan.
Para aquellos que desean características más ricas, por favor consideren Maple Mini, en su lugar.
SWD port
(GND, SWD-CLK, SWD-IO)
Power port +---------------------+
Vdd |[] []()() -------+
GND |[] | |
|()() I/O port | USB |
| (PA2, PA3) | |
| -------+
+---------------------+
Por favor, utiliza el sitio de preguntas y respuestas de FST-01 para tus consultas.
FST-01 sin carcasa | FST-01 con tubo termorretráctil | FST-01 con carcasa (P1A-120704U) |
---|---|---|
![]() | ![]() | ![]() |
También está disponible en Flying Stone Technology (飛石技術), de persona a persona. Consulta la página ¡Compra FST-01! en gniibe.org (en japonés).
Aplicaciones
Como se explica en la sección anterior, pretendemos ejecutar Gnuk en FST-01. Es software con derechos de autor distribuido bajo licencia GPLv3.
Gnuk es una implementación de Token Criptográfico para GnuPG, y se ejecuta en STM32F103. El código fuente está disponible en http://www.gniibe.org/ (https://git.gniibe.org/cgit/chopstx/ttxs.git/)
Para más información sobre Gnuk, por favor visita: Documentación Oficial de Gnuk.
También, pretendemos ejecutar NeuG en FST-01.
NeuG es una implementación de Generador de Números Verdaderamente Aleatorios basado en el error de cuantización del ADC.
Ten en cuenta que solo se puede instalar una aplicación en FST-01 (ya sea Gnuk o NeuG).
Entorno de Desarrollo
Para Gnuk 1.0.1, utilizamos GCC ARM Embedded 4.6-2012-q2.
Para el primer lote de FST-01
En este producto, contiene software con derechos de autor, Gnuk versión 1.0.1, que está licenciado bajo GPLv3. Una copia de esa licencia está incluida en este WiKi, ver GPLv3. Puedes obtener el código fuente correspondiente completo durante un período de tres años después del último envío de este producto, que no será antes del 2016-01-01, en el sitio web del fabricante en http://git.gniibe.org/gitweb/?p=gnuk/gnuk.git y ponemos la etiqueta "release/1.0.1" para la versión del producto.
Ten en cuenta que el binario de Gnuk en el primer lote de FST-01 fue compilado con la opción "-O3 -Os" por GCC ARM Embedded 4.6-2012-q2.
Lista de correo para Gnuk/NeuG
Tenemos una lista de correo para Gnuk/NeuG: https://lists.alioth.debian.org/mailman/listinfo/gnuk-users
Así como git.gniibe.org, los repositorios de código fuente están disponibles en: https://anonscm.debian.org/cgit/gnuk/
Escribiendo la ROM flash del MCU
Utilizamos el puerto SWD para escribir la ROM flash del MCU. Dado que SWD es algo nuevo, aún no hay buenas experiencias de hardware y software.
Seleccionamos ST-Link/V2 como depurador SWD económico y escribimos nuestra propia herramienta stlinkv2.py en Python. La herramienta stlinkv2.py se distribuye dentro de Gnuk. Ver este artículo para la conexión de ST-Link/V2 y FST-01.
El próximo OpenOCD 0.6.0 soportará ST-Link/V2 y SWD. También podrás usar eso.
Descripción
FST-01 es una placa STM32F103 mínima, que es adecuada para ejecutar aplicaciones orientadas a computación como Gnuk.
- Dimensiones: 1.62 x 0.52 pulgadas (incluyendo conector USB)
- Alimentado por Bus USB
- MCU: ARM Cortex M3 de 32 bits a 72MHz (STM32F103TBU6), ROM flash: 128KB, - RAM: 20KB
- SPI Memoria Flash: 4MB
- Puerto SWD, Dos pines de E/S
- Contenido de la ROM Flash del MCU: Como efecto secundario del plan de pruebas, FST-01 viene con Gnuk versión 1.0.1 instalado en la ROM flash del MCU y está protegido. Necesitas deshabilitar la protección antes de escribir la ROM flash.
Por favor visita esta página para más detalles.
FST-01 sin carcasa
Esta es una placa desnuda para evaluación, desarrollo o para aquellos que quieren sus propias carcasas.
Puedes acceder al puerto SWD y cambiar el contenido de la ROM flash.
FST-01 con tubo termorretráctil
La placa está cubierta por un tubo termorretráctil transparente. Por lo tanto, no es posible acceder al puerto SWD. Esto puede ser para uso diario como Token Gnuk.
FST-01 con carcasa (P1A-120704U)
La placa viene con la carcasa. Ten en cuenta que son los usuarios quienes ponen la placa en la carcasa. Esto sería mejor si el tubo transparente no coincide con tu gusto o quieres cambiar el contenido de la ROM flash del MCU. Aunque el PCB FST-01 está diseñado siguiendo la recomendación de la especificación P1A-120704U, la carcasa podría ser un poco más grande y necesitarás un poco de pegamento para ajustar la placa y la carcasa. De lo contrario, la placa podrá moverse un poco (< 1mm aproximadamente).
Historial
-
2011-08-06: Idea
-
2011-08-08: Commit inicial al repositorio Git de FST-01
-
2011-08-23: Pedido de Fusion PCB para PCB prototipo: #33163
-
2011-08-26: Deseo para FST-01
-
2011-09-06: Pedido de Fusion PCB para PCB prototipo: #34012
-
2011-09-13: Pedido de Fusion PCB para PCB prototipo: #34217
-
2011-09-30: Pedido de Fusion PCB para PCB prototipo: #35421
-
2011-10-27: Pedido de Fusion PCB para PCB prototipo: #37126
-
2011-11-14: Versión 1.0 del Diseño de PCB FST-01 lanzada
-
2012-07-10: Enviado a Propagete
-
2012-08-??: Realizado el pedido para producción
-
2012-09-27: Producción terminada para el primer lote
-
Para el primer lote, XTAL se cambió a uno con capacitancia de carga de 20pF. (Debido a la disponibilidad de la pieza.)
- Para el primer lote, el contenido de la memoria flash ROM del MCU es Gnuk 1.0.1 y está protegido.
-
-
2012-10-08: Inicio de ventas en Seeed Bazaar
-
2015-04-01: Inicio de ventas en FSF Shop, con NeuG instalado: http://shop.fsf.org/product/usb/
Diseño de Placa Libre (como en libertad)
Fst-01-schematic.png
El diseño de la placa está disponible en formato KiCAD. Por favor visite http://git.gniibe.org/gitweb?p=gnuk/fst-01.git.
El diseño esquemático se distribuye bajo la Licencia Creative Commons Atribución 3.0 Unported (CC BY 3.0).
El diseño de PCB se distribuye bajo la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported (CC BY-SA 3.0).
BOM de FST-01
Parte # | Nombre | Detalle | Paquete | Fabricante | Distribuidor | referencia del distribuidor |
---|---|---|---|---|---|---|
C1 | Capacitor | 27pF | C0402 | |||
C2 | Capacitor | 27pF | C0402 | |||
C3 | Capacitor | 0.1uF | C0402 | |||
C4 | Capacitor | 0.1uF | C0402 | |||
C5 | Capacitor | 0.1uF | C0402 | |||
C6 | Capacitor | 0.1uF | C0402 | |||
C7 | Capacitor | 0.1uF | C0402 | |||
C8 | Capacitor | 4.7uF | C0603 | |||
C9 | Capacitor | 0.01uF | C0402 | |||
C10 | Capacitor | 4.7uF | C0603 | |||
C11 | Capacitor | 0.1uF | C0402 | |||
R1 | Resistor | 510R | R0402 | |||
D1 | LED | Azul | LED0603 | |||
J1 | Conector | USB 2.0, 1002-015-01001 | USB Plug A Male | CNC Tech | Digikey | 1175-1020-ND |
U1 | MCU | STM32F103TBU6 | QFN36 | STMicroelectronics | AVNET | STM32F103TBU6 |
U2 | Regulador de Voltaje LDO | CAT6217-330TDGT3 +3.3V | TSOT23-5 | ON Semiconductor | Mouser | 698-CAT6217330TD-G |
U3 | Terminador USB | NUF2221W1 | SOT363 | ON Semiconductor | Digikey | NUF2221W1T2GOSTR-ND |
U4 | Memoria Flash SPI | SST25VF032B-80-4I-QAE-T | WSON8 | Silicon Storage Technology | Digikey | SST25VF032B-80-4I-QAE-T-ND |
X1 | Cristal | ABM8G-12.000MHZ-18-D2Y-T | 3.2mmx2.5mm | Abracon Corporation | Digikey | 535-10261-2-ND |
Carcasa | P1A-120704U Blanco | 1.2 x .71 x .40 pulgada | New Age Enclosures |
Componentes del FST-01
-
STM32F103TB
-
Memoria Flash SPI (32Mbit)
-
Terminador USB
-
Regulador LDO (3.3V)
-
XTAL 12MHz CL=18pF
-
LED
-
Puerto SWD de GND/SWDIO/SWDCLK
-
Puerto de extensión de VDD/GND/Port0/Port1
-
Conector USB A
STM32F103TB
El MCU es un ARM basado en Cortex-M3 de STMicroelectronics. Funciona a 72MHz, tiene 128KB de ROM flash y 20KB de RAM.
Memoria Flash SPI
Los datos secretos deben estar en la flash del MCU, pero los datos no confidenciales (como respaldo del llavero público) pueden estar en la memoria flash SPI.
Usamos SST25VF032B (32Mbit = 4MB).
Terminador USB
Usamos el Terminador USB Upstream NUF2221W1.
Esto es porque tiene la característica de protección contra descarga electrostática. También es mejor para una huella más pequeña que dos capacitores y dos resistores.
Regulador LDO
Usamos CAT6217-330 para el Regulador de 3.3V (desde 5V). Una corriente de 150mA es suficiente.
XTAL 12MHz CL=18pF
Usamos XTAL 12MHz CL=18pF.
Esto es porque podemos encontrar XTAL de huella más pequeña para 12MHz (que para 8MHz).
LED
Usamos un LED para mostrar el estado.
Puerto SWD
El puerto SWD es para instalar firmware en la ROM flash del MCU.
Puerto de extensión de VDD/GND/Port0/Port1
Decidimos tener dos pines de E/S. (Un pin de E/S no es suficiente ni siquiera para un minimalista.)
Con dos pines de E/S, puede ser:
- TX y RX de comunicación serial
- Activación y entrada de sensor táctil
- Control del puerto SWD de otro MCU
Conector USB A
El uso del FST-01 es simplemente conectarlo al puerto USB, como una unidad USB.
Posibles Cambios al circuito y componentes
Regulador LDO
MCP1700T-330 sería una alternativa (las características eléctricas parecen peores, pero para el caso de más corriente). En este caso, necesitamos cambiar el circuito un poco.
XTAL
Es posible simplemente reemplazar el XTAL con XTAL 12MHz CL=20pF. Este cambio está dentro del margen del diseño.
Sería mejor también reemplazar C1 y C2 a 33pF juntos en ese caso, si lo harás desde el principio.
Ver explicación sobre capacitancia de carga en Wikipedia.
GND de Blindaje a GND de Señal
El FST-01 está destinado a ser insertado directamente al puerto USB. Si el uso no es directo sino conectado por cable de extensión, es mejor conectar el GND de Blindaje y el GND de Señal por resistor (y capacitor si gustas).
Referencia: http://electronics.stackexchange.com/questions/4515/how-to-connect-usb-connector-shield
USB_EN
USB_EN no es necesario, pero el pin 5 del NUF2221W1 puede ser conectado a 3.3V (Vdd) directamente.
En muchos diseños de placas con STM32F103, vemos algo así, pero porque es posible controlar USB D+ para que sea 0V por software, USB_EN no es necesario.
Sin memoria flash SPI por defecto
El tamaño es algo demasiado pequeño para ser útil, por lo que podría ser una opción de usuarios especiales y no tener chip estaría bien por defecto.
Imágenes de PCB
Las imágenes de PCB son generadas por prettygerbv.
Prototipo de Ingeniería del FST-01
FST-01-Prototype-PCB.jpg
Gracias al servicio Fusion PCB, fabricamos la PCB del Prototipo de Ingeniería FST-01.
El ensamblaje de la PCB fue realizado por User:Gniibe a mano. Ver mi artículo para más detalles.
Esquema del plan de pruebas
- Verificar ID del MCU
- Escribir en la ROM flash del MCU
- Verificar parpadeo del LED
- Verificar acceso a la ROM Flash SPI
- Ejecutar una aplicación que use USB y ver si funciona (Hub asignando dirección)
- Al encender (o reiniciar), el LED emite luz.
- La aplicación FST-01 espera la asignación de dirección USB por el Hub USB. (Toma unos segundos para que el Hub detecte y asigne dirección al dispositivo.)
- Después de la asignación de dirección USB, la aplicación FST-01 entra en el bucle
- esperando 5 segundos
- parpadear LED (emite luz por 25ms, apagado 200ms).
Soporte Técnico y Discusión del Producto
¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.