本帖最后由 maxtch 于 2018-1-28 03:14 编辑 ! f/ p. ?- H% `+ p8 A& u 看到这位仁兄的帖子,我想到了我自己设计的开发板。这个开发板 DIY 我已经做了一段时间,出了好几个版本了。我做这个设计的初衷是想设计一块完全兼容 Arduino 的超低功耗 STM32 开发板,后来就一发不可收拾了。 7 U6 S8 [, k, a o/ B" E+ [ 先上图,这个是第六版:$ v$ G4 t: ] @' z. X 这块板子上有两个 STM32:一颗 LQFP-48 的 STM32 作为平台主控,一颗 STM32F042F6P6 作为 USB 转串口兼板载 DAP42 调试器。想要兼容 Arduino,板子的尺寸和接插件的位置就被定死了。平台主控去掉 Arduino 管脚,剩下的正好是一路带 DP 控制的 USB、两个晶体,一个唤醒脚和四线 JTAG。唤醒脚我接了个物理按钮,既可以当用户按钮用,也可以用做低功耗模式下的唤醒。JTAG 口我用了 ARM 在 CoreSight 里面定义的 1.27 脚距四线 JTAG 口,可以同时兼容四线 JTAG 和 SWD。 这块板子第一版的时候是一个我给自己的设计挑战:只允许双面电路板单面贴元件,既要考虑兼容手焊,又要考虑兼容机贴,完全兼容 Arduino 包括物理尺寸、电气规格和所有官方 Shield,管脚全部引出,也不能重复。(Arduino 的 ARM 板子有很多都是四层或以上,且难以手工焊接。)之后的各个版本这个当初的设计挑战一直被视作最基本的设计需求对待。这块板子对 Arduino 的兼容性标准是 Arduino M0 Pro,为了对标 M0 Pro、Zero 和 Prima 的内置仿真器,我在第四版也加入了基于我另一个 DIY 项目 DAP42 内置仿真器。 3 O5 L% {) Q4 U4 d 至于焊接,我用的是安泰信 936 焊台、K 烙铁头搭配 0.5mm 日本斯倍利亚 SN96CI 无铅焊锡。K 头拖焊基本不会搭焊,哪怕搭上了也很容易清理。 不知有没有哪位有兴趣的?我在考虑要不要基于此写点教程什么。 ]# ]' X' {! E. N& a3 ~, ~( H* n2 } ! e o8 ^3 B6 i' k8 }+ d |
STM32固件库分享,超全系列整理
小马哥STM32F103开源小四轴RoboFly全部资料大放送
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
基于STM32F1的CAN通信之之串口IAP
这块板子第一版的时候是一个我给自己的设计挑战:只允许双面电路板单面贴元件,既要考虑兼容手焊,又要考虑兼容机贴,完全兼容 Arduino,管脚全部引出,也不能重复。(Arduino 的 ARM 板子有很多都是四层或以上,且难以手工焊接。)
1. 既然板面空间允许,去耦电容到电源管脚的距离也还不至于太远,加上去至少聊胜于无。如果你觉得可以没必要,焊盘留着不装元件罢了。这种“聊胜于无”结果遇到边界情况的事情我也是遇到过的,预留焊盘帮了大忙。至于晶振电容,这是考虑到手焊的问题。
2. 我在做这块板子的时候手里没有 Nucleo(前两天才买了块二手的 Nucleo F767ZI)同时,我想用的 Arduino Shield 主要是 Ethernet Shield 2,但 Nucleo 的管脚布局问题导致其不兼容依赖那个 ICSP 作 SPI 的 Ethernet Shield 2。
1. 板子有一个设计约束条件:单面元件,只能过一次炉子,因此把距离都拉开了一两个毫米。& R1 E/ [) q Q$ x- V5 x
2. Nucleo 有一个大问题:不支持 Arduino 真正的 SPI 脚(用的是 AVR ICSP 的脚位)另外还有一个小问题:比
Arduino 物理尺寸要大一点。这个核心板支持这组 SPI,而且物理尺寸和 Arduino Zero 几乎一样(两个 USB 插座间距都是一样的,位置差了两个毫米)
例程暂时没有,而且哪怕有我用的开发工具也不主流(Eclipse CDT + GNU MCU Eclipse + GCC,不用 HAL 或 STL)写出来的例程你可能也用不了,而且几乎没有板载外设例程要写也有点尴尬。
至于 F0,你要装对应的 pack。
加钱加太多了,太贵。
自己的方案。图上显示的是第六版,这个想法我酝酿了好几年了。
个人意见:1 y- F+ I1 L0 E p
1、去耦电容里目标太远了~ 晶振的起振电容一样离得太远了,玩玩还是可以的!
2、既然都这么玩了,干么要做核心板呢,干脆做nucleo的扩展板不更好。
第一点的解答不合理,如果这样,干脆把去耦电容都给撤掉算了。
第二点,我是说nucleo的扩展版,不是arduino,不过,开心就好