之前有段时间一直用面包板来搭建电路用于快速验证想法,
但是呢 在找电脑USB线连接面包板的工具时还是没找到比较满意的模块,
某宝是有相关的产品 买回来实验之后效果也不那么满意。
用Arduino开发时可以用其自带的USB进行串口烧录和通信,
但是用STC8051就没那么容易了,要自己搭建串口电路。
因此呢 结合上述的开发过程中遇到的难点,自己设计了一款面包板伴侣。
它主要实现了3个功能
1、 内部自带串口以及arduino复位下载功能
采用的是基于CH340N的USB-TTL转换电路, 用于串口通信。
Reset功能引出 用于下载Arduino nano Uno mega等开发板。
现在随着智能手机的更新迭代USB Type C接口的数据线越来越普及,
而以上3个系列的arduino硬件核心板采用的不同型号的USB接头—
nano的是USB-Mini Uno和mega使用的是USB-Type B ,
在开发过程中比较不方便,
因此在端口位置处采用了USB type C的接口,
这样出门只带一根Type C的电源线就可以实现为其他手机设备充电和下载调试程序。
2、 自带两路电池供电,每路输出3.3V和5V可选
由于很多模块的供电需要3.3V电压 而有的单片机需要5V电压
因为arduino本身自带3.3V电源输出口用arduino开发还好说,
但是用STC的8051就比较麻烦了,
因此供电在电源上采用了双路独立电源 输出3.3V 5V可调设计,
内部集成650mAh的电池以及电池充放电管理电路
便于脱离电脑供电的条件下运行 ,
并且充电口与串口下载共用一个type C 日常开发不用刻意充电
因为在与电脑USB接口联机烧录和调试时该模块就已经开始自动充电了。
另外 模块还集成了HM1160电池电量检测功能 用于查看当前电池电量
3、 STC8051冷启动下载功能
由于STC8051单片机下载的时候需要进行冷启动复位,
因此在设计时特意添加了冷启动复位功能。 而且自带管脚排布完全匹配STC15系列单片机的下载引脚排布
只需要将单片机对齐插入面包板中就可以进行下载操作。
简单介绍下实现原理。
在使用STC-ISP上位机烧录程序时,点击下载按键
软件会通过ISP软件会以选中的波特率通过USB-TTL模块向单片机发送0x7F 的数据流,
之后单片机手动断电上电实现冷启动,
上电的瞬间收到0x7F 的数据流单片机自动进入下载状态。
而本模块添加一块STC15W204S单片机通过检测0x7F 的数据流
控制单路mos关断100ms来实现输出电源的断电重启。
如果之前买过类似这种 STC USB–TTL的同学
应该会发现用这种下载器 时而可以实现自动下载
时而又不行 具体原因我目前还不太清楚,有可能是只支持一种下载波特率
不过我实验现在的这个 波特率从1200到38400都可以实现, 采用了特殊的算法检测连续的0x7F数据流
再高的波特率无法支持 因为模块内部检测0x7F的单片机运行太慢了无法检测更短的脉冲数据。
最后为整个模块设计了外壳,表面的两层亚克力是在某宝几块钱打样做的,下面的外壳也是在嘉立创旗下的三维猴做的。做出来是这个样子滴。 –模块拓扑图– 脱机运行 备用电池 相关的设计资料将会放在立创开源硬件平台了,到时候大家感兴趣的话可以去围观。
|