我现在的设计中,主要采用了F103C8/CB/RB系列进行开发。主要原因还是因为F103CX,虽然基于Cortex-M3,但是推出最早,价格和供货都让人满意。
图1:USBLR110M USB LoRa Dongle开发板
上图图1就是基于F103C8迷你系统板的LoRa开发板,我所做的事情就是制作了转换板,并把官方代码做了适配,同时增加了USB/UART的两种接口方式。
图2:USBLR1000 USB LoRa Dongle成品
USBLR110M比较适合做系统原型和网络的测试,但是USBLR1000则针对台式和移动应用做了优化,主要通过USB/USB OTG接入主机。处于PCB布局的需求,I/O定义所有区别。但是该板依然支持UART/SWD接口,同时板载锂电池充电管理,所以裸板支持嵌入式的设计。
目前我打算使用STM32F072替代F103,理由有:
- STM32F072可以同时支持USB/CAN,而F103不能;
- STM32F072自带USB DFU,而F103只有串口 bootloader;
但是一些开发者问,为何不使用官方推荐的L051/L072/L073?我现在也很纠结。因为:
- L072/L073货源很少,所以很贵;
- 使用USB的功耗和F072差不多,如果要低功耗,还要USB干什么?
- 低功耗模式下,不如采用L051。
所以,针对不使用USB,对于低功耗要求很高的情况下,使用L051更加合理,如果要添加USB,也可以通过外置的USB/UART转换IC实现。