关于uFun学习板——"满满的爱和正能量"
uFun是由@张进东 张工组织发起的一个开源的学习板,设计初衷是为了帮助学生更好的理解电子知识和开发技巧,同时又能对学生毕业找工作有很明显的帮助。张工于2014年10月提出这个想法,并发到了博客上,不久就得到了全国各地几十位小伙伴的支持和响应,大家天南海北,筹钱献力,多位在职工程师,利用业余时间共同设计了这块学习板,经过几次的设计验证,还有一些厂商的支持,400套学习板诞生了。
关于uFun的LOGO含义:“U”上面两个点是伸出的双手,象征着热情的拥抱,是工程师与学生之间爱的传递;“F”是family;“un”是取形电路走线,连接美好。这块板子里凝聚的满满都是爱和正能量!相信每一个参与者背后都有一段奇妙的故事。
最近有幸能得到uFun开发板的试用机会,我是3月4号提交的申请,3月8号收到的板子,可以说面包板社区的效率还是很高的,在这里感谢面包板社区、@张进东 张工及所有为了这个项目奉献的人!正好今天是周末,有时间写一下开箱报告,希望我的这篇文章,能对那些刚拿到板子的朋友有一些帮助,另外有哪里不对的,也请大家指出,同时也希望能和各位大佬多多交流。
uFun开箱靓照——精致与内涵并存
快递是用的顺丰,到付18元。包装简洁,用泡沫包装的很严实,使用的静电袋包装,可以有效防止运输过程中静电对芯片造成的损坏。板子刚上手,就被它小巧精致的外观给震撼了,但是看着不太那么圆润,先上手盘了一会,大致观察了一下,主控是常见的STM32F103RCT6,供电采用的Micro-USB接口,可以直接使用电脑的USB口供电,单从这一点可以看出,板子的功耗非常低,毕竟只是一块学习板,没有功率太大的元件,如LCD等。可不要小瞧这个Micro-USB接口,它可不只有供电的功能,同时还可以作为USB转串口以及程序下载的功能。串口输出一些调试信息对于程序的开发还是非常便利的,另外它内部连接的是STM32的串口1,还可以进行程序的下载,这是其他串口外设不具备的功能。由于Micro-USB数据线非常常见,大部分安卓手机的数据线就是这种,所以板子并没有附带一根USB线。赶紧来看几张板子的靓照吧!
uFun开发板正面:
uFun开发板背面:
开发板背面有一根很短很细的漆包跳线,大家发现了吗?本来以为还要自己焊接跳线,没想到都焊接好了,而且焊接的很小巧,不仔细看根本看不出来,如果真让我自己焊,焊的肯定很丑。另外背面可以看到留有很多测试点,这是批量生产常采用的一种方法,可以直接使用对应的测试工装夹具,简单快捷的进行板子的整体测试。
为了防止以后拿来拿去,板子受到磕碰,我又加装了铜柱,立马高大上了起来,加装铜柱后:
uFun板子非常精致,仅有4*6cm,比银行卡还要小,下面是一张和公交卡的对比图:
板载资源简介——麻雀虽小,五脏俱全
PCB板采用四层板,沉金工艺,蓝色油墨,小巧精致而不失内涵!做过PCB样板的朋友应该都知道,“四层板、沉金工艺、蓝色油墨”,这三项都不是常规工艺。据我所知,这个项目也是得到了PCB和SMT厂家的支持,所以这也就不足为奇了,再次感谢!整体来看布局紧凑,走线合理美观,两面都布置了元器件,充分利用了有限的空间。大点的芯片座子主要放在了正面,阻容主要分布在了背面,各元器件的封装也都是选了小封装,如大部分0402封装的阻容,贴片的超级电容等。别看板子只有小小的4*6cm,但是板子资源还是相当丰富的,下面我们一起来看一下吧!
- 主控MCU:STM32F103RCT6,LQFP64封装,STM32系列大容量产品,256KB Flash + 48kB SRAM,内存空间足够使用了,主频72MHz,外设也还算丰富,51个可用IO,8个16位定时器,3路SPI,2路串口,1路SDIO等等。对于新手入门32位ARM单片机是一个很好的选择,学习资料非常多,学习过程中遇到的问题基本都能在网上找到答案。
- 串口芯片:CH340,板子自带了USB-TTL转换芯片,对于没有调试器的朋友,可以方便的通过串口1来下载程序,同时,也是程序调试的好帮手。
- 传感器:LIS3DH,ST公司的MEMS传感器,三轴加速度计,支持IIC或者SPI协议,本板子采用的是IIC协议接口。
- 触摸按键:TTP224N,4通道触摸芯片,上下左右4个触摸按键直接画在了板子上,可以做出很多好玩的东西。
- Mini-PCIe:据张工介绍,这个座子并不是按照PCIe的协议来设计的,所以使用不了PCIe接口的模块,如4G模块SIM7600CE。它只是空余IO的引出,但是板子并没有配备PCIe的转2.54mm排针的转接板,所以并不是很方便的扩展外部器件,如液晶屏,传感器模块等。不过大家可以自己画扩展板哈,就是扩展板的结构尺寸不好把握,如果后续能开源PCB文件就好了。
- TF卡座:采用的是自弹式TF卡槽,内部直接连接了STM32的SDIO接口,可以直接通过官方固件库来驱动。
- RGB灯:RGB采用的全彩共阳极LED,通过控制3路PWM波,从而调出各种颜色,当然,如果能采用那种外部是玻璃封装的就更好了。
- LED灯:LED采用的反贴红色光,发光在反面。是我孤陋寡闻了,这种封装的我是第一次见,放置在了触摸板中间的正下方,晚上可以方便的操作触摸按键,这一点的设计还是很有创新的,白天看不太出来,晚上可以试一下。
- 蜂鸣器:HY-8540,贴片无源蜂鸣器,比传统的直插式蜂鸣器要稍微小一点。
- RTC电池:使用的是贴片超级电容,相比于贴片电池座+纽扣电池的方式,体积要小的多。
- 拨码开关:BOOT设置,没有使用跳线帽+排针的方式,毕竟跳线帽这小玩意容易丢。我见过一种比这更小的贴片拨码开关,不过得用镊子才能拨,这里采用大封装的,可以直接用手拨动。
- AD滤波电路:由于我的模电比较菜,所以这部分电路没有看太懂,还有各个阻容值的计算过程,很适合学习。
- Micro-USB接口:USB使用了和普通安卓手机一样的USB接口,而不是Mini-USB,之前看有朋友在试用过程中,不小心把端子从板子上直接拔掉了,我在使用中没有遇到这个情况,所以大家在拔USB线的时候,温柔一点,如果焊盘被拔掉了,那就玩不了。
- 外部IO:留出了SWD调试端口,标准2.54mm排针,可以方便的通过J-Link或ST-Link调试器下载程序和调试。
- 其他:ESD,磁珠,防反接保护等等这些板子上都有设计。
令人激动的时刻——上电启动
板子默认应该已经是烧录了Demo程序吧,但是不知道波特率多少。所以我又下载了配套的Demo程序,Keil打开之后,编译,居然报了很多错误,都是这个找不到头文件cannot open source input file "core_cmInstr.h
,从文件名来看,应该是Cortex-M3内核相关的文件,那这个文件到底在哪呢?在电脑上搜索发现是在Keil安装目录下E:\Keil_v5\ARM\Pack\ARM\CMSIS\4.3.0\CMSIS\Include
,手动指定头文件包含路径,重新编译,成功。
具体的解决办法可以参考我的另一篇文章:Keil报错:cannot open source input file "core_cmInstr.h" 解决办法
好了,终于下载成功了。打开串口助手,波特率115200,可以看到程序启动的一些LOG:
小结
虽然Demo程序的下载遇到了一些小问题,不过uFun开发板的开箱体验还是很不错的,不过并没有见到之前资料介绍的8266 WIFI芯片,所以玩不了物联网功能,只能通过外接模块来实现了。整体来看,uFun开发板“麻雀虽小,五脏俱全”,非常适合新手入门,市场上很多消费电子产品,都是使用STM32来作为控制器,这对于以后的平滑过度到工作中非常有帮助。目前这块板子市场上还是买不到的,这次没申请到的朋友,也不用着急,过一段时间,面包板社区还会开展申请试用的相关活动。
参考资料:
相关资料下载
- Demo工程下载:uFun_Demo_Keil_Prj.rar
- uFun快速入门指南.:uFun 开发板快速入门指南 V10.pdf
- uFun开发板芯片数据手册打包:uFun开发板芯片数据手册打包.rar
- ufun时钟问题更改方案:ufun时钟问题更改方案.pdf
- ufun学习板介绍:ufun学习板介绍.pdf
- uFun原理图:uFun原理图.pdf
- μFun C 编程规范:μFun C 编程规范(草稿 2015-1-12)..pdf
历史精选文章:
- 一键自动格式化你的代码
- Qt小项目之串口助手控制LED
- C++学习之从C到C++
- Jlink使用技巧之烧写SPI Flash存储芯片
- Jlink使用技巧之虚拟串口功能
- Jlink使用技巧之读取STM32内部的程序
- Jlink使用技巧之J-Scope虚拟示波器功能
欢迎大家关注我的个人博客
或微信扫码关注我的公众号