【原创】初次把玩零知标准板(F103RB)-Arduino中文社区 - Powered by Discuz! Archiver

t3486784401 发表于 2019-1-7 02:29

【原创】初次把玩零知标准板(F103RB)

本帖最后由 t3486784401 于 2019-1-7 02:29 编辑

前阵子经坛子推荐,入手了零知的标准板:主控 F103RB,辅助一片 CH340G,外引原生USB+调试 USB.
入手这个主要是想复用手头已有的 Arduino 扩展板,实现性能大幅提升(从 AVR 到 ARM 快的肯定不是一点)。

以下几点把玩经验,针对 <暂没安装零知IDE> 的环境,仅把零知当作 STM32 开发板进行调试。

【关于BOOTLOADER】

玩 Arduino 的朋友估计都了解,BOOTLOADER 是向单片机灌入程序的关键。
有别于 AVR,STM32 预装了串口 BOOTLOADER 并且不可擦除(也就没有掉固件的说法).
启动 BOOTLOADER(STM32称为“System Memory”)时序为:BOOT0/1=H/L,RST复位之。

因此零知开发板的硬件设计中,应该针对 BOOT0/1、RST 有所侧重。
具体的硬件电路这里就不扒了,amobbs 上已有前辈上传,我说下功能:

a. 使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序”;
b. CH340.RTS/DTR= L/H 时:F103 强制复位并保持复位;
c. 在 b 状态下,改变 DTR=L 后:F103 进入 BOOTLOADER 模式;
d. 在 b 状态下,改变 RTS=H 后:F103 进入 用户程序模式;
e. 在串口未连接(例如外插电)情况下,CH340 复位至 RTS/DTR=H/H,不影响用户程序.

在 BOOTLOADER 模式下,可以使用 STM 官方 Flash_Loader(附件#A)上载任何 HEX/BIN 程序。
比如我上载这个带有皂片的 Mass_Storage 执行文件(附件#B),就把原生 USB 口虚拟成了 U 盘....

[附件#A] STM32 官方 FLASH 烧录器(太大我放度娘了):
链接: https://pan.baidu.com/s/1Ab0O7yQRRliei1bYNzEVSw 提取码: 3txb
[附件#B] 带有 Horo 皂片的 Mass_Storage 执行文件:


【关于硬件用料】

初次拿到这个零知的开发板,感觉做工中规中矩,有这么几点意见:

1. EEPROM 采用了 24C02(256 B)真不够玩的,怎么着装一个 24C16、24C512(成本要飞起),
    不能比 UNO(1KB) 还差啊,过几天我自己换上 24C512 玩玩。

2. 锂电插口不是 2.54 间距! 不能忍不能忍,不过要我是团队成员,目测也得用这玩意,还指着这个卖电池挣生活费.....

3. 高压供电部分暂时没试,但是高压滤波的高大壮电容直接顶起了零件的平均身高,外壳(如果有)不能太薄了。

4. 建议团队开模做一批外壳吧,我用 UNO 的壳切了切也算装进去了,立刻比裸板高大上了。




【关于出厂程序】

出厂程序是 L 指示灯闪烁示意,并且貌似串口周期发送。如果用普通串口助手,怎么调波特率都是乱码。

用串口助手测试了波特率,应该就是 9600bps,于是用 HEX 模式接收,发现数据为 Ex xx xx Ex xx xx,
并且有 0D 0A 这样的换行符,凭经验这个应该就是 UTF-8 格式的中文文本,只是助手没支持而已。

接收数据拷贝出来,使用 WinHex 写入到一个文本文档,果然内容正确解开了,好朴实的语言:





特在这里把原始接收的数据也写下来,供其他乱码的各位参考.... 目测这个问题在 零知 IDE 里已经不存在了。


【总结】

零知的这套 F103RB 开发板整体可玩性还是很高的,最方便的在于它能兼容现有的 Arduino 扩展盾板。
实测 F103C8 的程序(不涉及IO)拿来可以直接跑,例如虚拟个 U 盘啥的。

至于硬件用料,建议团队给个官方的外壳,省的天天裸板拿来拿去电坏了(房东家木地板静电真酸爽)。


零知实验室-roc 发表于 2019-1-7 13:13

帖子写的很用心,赞一个!也谢谢你的建议,不过增加外壳,成本就增加了,我们目前还在初始阶段,主要就靠性价比

chinawow 发表于 2020-4-28 11:47

楼主好

使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序

这一步不知道应该如何操作,是要给什么引脚一个高电压么?

t3486784401 发表于 2020-4-28 20:29

chinawow 发表于 2020-4-28 11:47
楼主好

使用 CH340.RTS/DTR 可以实现“复位至BOOTLOADER”或“复位至用户程序


这两个信号一个是对应 RST,一个是对应 BOOT0,可以操作 RTS/DTR 的串口助手下就能搞。
页: [1]
查看完整版本: 【原创】初次把玩零知标准板(F103RB)