Skip to main content

FST-01

FST-01 是一款微型 USB 32 位计算机。实际上,FST-01 是一个缩写,其全称是 "Flying Stone Tiny ZERO-ONE"。

它由位于日本群马县前桥市的 Flying Stone Technology 公司设计。

其设计理念是“极简设计”。它采用自由(即自由度)硬件设计。预期的应用包括 Gnuk(用于 GnuPG 的加密令牌)和 NeuG(基于 ADC 噪声的真正随机数生成器)。这些应用程序都是自由软件。

Flying Stone Technology 是“Gnuk”的第二来源制造商,而“Gnuk”由日本自由软件倡议组织(Free Software Initiative of Japan)拥有版权。

对于那些需要丰富功能的人,请考虑 Maple Mini

                        SWD 端口
(GND, SWD-CLK, SWD-IO)
电源端口 +---------------------+
Vdd |[] []()() -------+
GND |[] | |
|()() I/O 端口 | USB |
| (PA2, PA3) | |
| -------+
+---------------------+

请使用 FST-01 问答网站 提出您的问题。

无外壳的 FST-01带热缩管的 FST-01带外壳的 FST-01 (P1A-120704U)

它也可以通过 Flying Stone Technology(飞石技术)以个人对个人的方式购买。请参阅 gniibe.org 网站上的 购买 FST-01! 页面(日文)。

应用


如上文所述,我们计划在 FST-01 上运行 Gnuk。它是受 GPLv3 许可分发的版权软件。

Gnuk 是一个用于 GnuPG 的加密令牌实现,它运行在 STM32F103 上。源代码可在 http://www.gniibe.org/ (https://git.gniibe.org/cgit/chopstx/ttxs.git/) 获取。

有关 Gnuk 的更多信息,请访问:Gnuk 官方文档

此外,我们计划在 FST-01 上运行 NeuG。

NeuG 是基于 ADC 量化误差的真正随机数生成器实现。

请注意,FST-01 上只能安装一个应用程序(Gnuk 或 NeuG)。

开发环境

对于 Gnuk 1.0.1,我们使用 GCC ARM Embedded 4.6-2012-q2

FST-01 的第一批产品

在此产品中,包含受版权保护的软件 Gnuk 版本 1.0.1,该软件根据 GPLv3 许可授权。本 WiKi 中包含该许可的副本,请参阅 GPLv3。 您可以在产品最后一次发货后三年内获得完整的对应源代码,最早不会早于 2016-01-01。源代码可在制造商网站 http://git.gniibe.org/gitweb/?p=gnuk/gnuk.git 获取,我们为产品版本标记了 "release/1.0.1" 标签。

请注意,FST-01 第一批产品中的 Gnuk 二进制文件是使用 GCC ARM Embedded 4.6-2012-q2 编译器的 "-O3 -Os" 选项编译的。

Gnuk/NeuG 的邮件列表

我们有一个 Gnuk/NeuG 的邮件列表:https://lists.alioth.debian.org/mailman/listinfo/gnuk-users

除了 git.gniibe.org,源代码库还可以在以下地址获取:https://anonscm.debian.org/cgit/gnuk/

写入 MCU 的 Flash ROM


我们使用 SWD 接口来写入 MCU 的 Flash ROM。由于 SWD 是一种较新的技术,目前尚未积累丰富的硬件和软件经验。

我们选择了 ST-Link/V2 作为廉价的 SWD 调试器,并用 Python 编写了自己的工具 stlinkv2.py。该工具 stlinkv2.py 随 Gnuk 一起分发。有关 ST-Link/V2 和 FST-01 的连接,请参阅这篇文章

即将发布的 OpenOCD 0.6.0 将支持 ST-Link/V2 和 SWD。届时您也可以使用它。

描述

FST-01 是一个最小化的 STM32F103 板,适合运行以计算为导向的应用程序,例如 Gnuk。

  • 尺寸:1.62 x 0.52 英寸(包括 USB 插头)
  • USB 总线供电
  • MCU:32 位 ARM Cortex M3,72MHz(STM32F103TBU6),Flash ROM:128KB,RAM:20KB
  • SPI Flash 内存:4MB
  • SWD 接口,两个 I/O 引脚
  • MCU 的 Flash ROM 内容:作为测试计划的副产品,FST-01 的 MCU Flash ROM 上预装了 Gnuk 版本 1.0.1,并且受保护。在写入 Flash ROM 之前,您需要禁用保护。

请访问此页面了解详情。

没有外壳的 FST-01

这是一个裸板,适用于评估、开发或那些希望使用自己外壳的人。

您可以访问 SWD 接口并更改 Flash ROM 的内容。

带热缩管的 FST-01

该板被透明热缩管覆盖。因此无法访问 SWD 接口。 这可以作为 Gnuk Token 的日常使用。

带外壳的 FST-01 (P1A-120704U)

该板配有外壳。请注意,用户需要将板安装到外壳中。 如果透明热缩管不符合您的审美,或者您希望更改 MCU 的 Flash ROM 内容,这可能是更好的选择。 虽然 FST-01 PCB 是按照 P1A-120704U 规格建议设计的,但外壳可能稍大一些,您可能需要一点胶水来使板和外壳贴合。否则,板可能会稍微移动(< 1mm 左右)。

历史


  • 2011-08-06: 创意

  • 2011-08-08: 初次提交到 FST-01 Git 仓库

  • 2011-08-23: 为原型 PCB 下单 Fusion PCB:#33163

  • 2011-08-26: FST-01 的愿望

  • 2011-09-06: 为原型 PCB 下单 Fusion PCB:#34012

  • 2011-09-13: 为原型 PCB 下单 Fusion PCB:#34217

  • 2011-09-30: 为原型 PCB 下单 Fusion PCB:#35421

  • 2011-10-27: 为原型 PCB 下单 Fusion PCB:#37126

  • 2011-11-14: 发布 FST-01 PCB 设计版本 1.0

  • 2012-07-10: 提交到 Propagete

  • 2012-08-??: 下单生产

  • 2012-09-27: 第一批生产完成

    • 第一批中,XTAL 更换为具有 20pF 负载电容的型号。(由于零件的可用性。)

      • 第一批中,MCU 的 Flash ROM 内容为 Gnuk 1.0.1,并且受保护。
  • 2012-10-08: 在 Seeed Bazaar 开始销售

  • 2015-04-01: 在 FSF Shop 开始销售,预装 NeuG:http://shop.fsf.org/product/usb/

自由(如自由)板设计

Fst-01-schematic.png

该板设计以 KiCAD 格式提供。请访问 http://git.gniibe.org/gitweb?p=gnuk/fst-01.git。

原理图设计采用 Creative Commons Attribution 3.0 Unported License (CC BY 3.0) 分发。

PCB 设计采用 Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0) 分发。

FST-01 的物料清单 (BOM)


FST-01 的物料清单 (BoM)
部件编号名称详情封装制造商分销商分销商参考
C1电容27pFC0402
C2电容27pFC0402
C3电容0.1uFC0402
C4电容0.1uFC0402
C5电容0.1uFC0402
C6电容0.1uFC0402
C7电容0.1uFC0402
C8电容4.7uFC0603
C9电容0.01uFC0402
C10电容4.7uFC0603
C11电容0.1uFC0402
R1电阻510RR0402
D1LED蓝色LED0603
J1连接器USB 2.0, 1002-015-01001USB 插头 A 型CNC TechDigikey1175-1020-ND
U1MCUSTM32F103TBU6QFN36STMicroelectronicsAVNETSTM32F103TBU6
U2LDO 电压调节器CAT6217-330TDGT3 +3.3VTSOT23-5ON SemiconductorMouser698-CAT6217330TD-G
U3USB 终端器NUF2221W1SOT363ON SemiconductorDigikeyNUF2221W1T2GOSTR-ND
U4SPI 闪存SST25VF032B-80-4I-QAE-TWSON8Silicon Storage TechnologyDigikeySST25VF032B-80-4I-QAE-T-ND
X1晶振ABM8G-12.000MHZ-18-D2Y-T3.2mmx2.5mmAbracon CorporationDigikey535-10261-2-ND
外壳P1A-120704U 白色1.2 x .71 x .40 英寸New Age Enclosures

FST-01 的组件


  • STM32F103TB

  • SPI 闪存 (32Mbit)

  • USB 终端器

  • LDO 调节器 (3.3V)

  • 12MHz XTAL CL=18pF

  • LED

  • GND/SWDIO/SWDCLK 的 SWD 端口

  • VDD/GND/Port0/Port1 的扩展端口

  • USB 插头 A 型

STM32F103TB

MCU 是由 STMicroelectronics 基于 Cortex-M3 的 ARM 微控制器。运行频率为 72MHz,拥有 128KB 的闪存 ROM 和 20KB 的 RAM。

SPI 闪存

机密数据应存储在 MCU 的闪存中,但非机密数据(如公钥环的备份)可以存储在 SPI 闪存中。

我们使用 SST25VF032B(32Mbit = 4MB)。

USB 终端器

我们使用 NUF2221W1 USB 上游终端器。

这是因为它具有静电放电保护功能。与两个电容和两个电阻相比,它的占用空间更小。

LDO 调节器

我们使用 CAT6217-330 作为 3.3V 调节器(从 5V 转换)。150mA 的电流足够使用。

XTAL 12MHz CL=18pF

我们使用 12MHz XTAL CL=18pF。

这是因为我们可以找到占用空间更小的 12MHz XTAL(相比 8MHz)。

LED

我们使用 LED 来显示状态。

SWD 端口

SWD 端口用于将固件安装到 MCU 的闪存 ROM 中。

VDD/GND/Port0/Port1 的扩展端口

我们决定使用两个 I/O 引脚。(一个 I/O 引脚对于极简设计来说仍然不够。)

使用两个 I/O 引脚,可以实现:

  • 串行通信的 TX 和 RX
  • 触摸传感器的驱动和输入
  • 控制其他 MCU 的 SWD 端口

USB 插头 A 型

FST-01 的使用方式是直接连接到 USB 端口,就像 USB 闪存驱动器一样。

电路和元件可能的更改


LDO 稳压器

MCP1700T-330 可以作为替代品(电气特性似乎较差,但适用于更高电流的情况)。在这种情况下,我们需要稍微修改电路。

晶体振荡器(XTAL)

可以直接将 XTAL 替换为 12MHz XTAL,CL=20pF。
此更改在设计的容限范围内。

如果从一开始就进行更换,最好同时将 C1 和 C2 替换为 33pF。

请参阅 维基百科关于负载电容的解释

屏蔽地与信号地

FST-01 设计为直接插入 USB 端口使用。
如果不是直接使用,而是通过延长线连接,最好通过电阻(如果需要,也可以加电容)将屏蔽地和信号地连接起来。

参考链接:
http://electronics.stackexchange.com/questions/4515/how-to-connect-usb-connector-shield

USB_EN

USB_EN 并非必需,但 NUF2221W1 的第 5 引脚可以直接连接到 3.3V(Vdd)。

在许多使用 STM32F103 的电路板设计中,我们可以看到类似的连接方式,但由于可以通过软件控制 USB D+ 为 0V,因此 USB_EN 并不需要。

默认无 SPI 闪存

闪存的容量有些过小,实用性不高,因此可以作为特殊用户的选项,默认情况下不安装芯片也可以。

PCB 图片


PCB 图片由 prettygerbv 生成。

FST-01 工程原型


FST-01-Prototype-PCB.jpg

感谢 Fusion PCB 服务,我们制作了 FST-01 工程原型的 PCB。

PCB 组装由 User:Gniibe 手工完成。详情请参阅 我的文章

测试计划概要


  1. 检查 MCU ID
  2. 写入 MCU 的闪存 ROM
  3. 检查 LED 闪烁
  4. 检查 SPI 闪存 ROM 访问
  5. 运行使用 USB 的应用程序并检查是否正常工作(Hub 分配地址)
    1. 上电(或复位)时,LED 发光。
    2. FST-01 应用程序等待 USB Hub 分配 USB 地址。(Hub 检测设备并分配地址需要几秒钟。)
    3. USB 地址分配完成后,FST-01 应用程序进入循环:
      • 等待 5 秒
      • 闪烁 LED(发光 25ms,熄灭 200ms)。

技术支持与产品讨论

感谢您选择我们的产品!我们致力于为您提供各种支持,确保您使用我们的产品时体验顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...