
这是一款cortex m4 f的智能手表。![]() 描述 这款智能手表是基于stm32l4,配备了1.44英寸的tft触摸屏、32位STM32 ARM处理器、额外的QSPI flash和加速度计,所有这些都在一个简洁的盒子里。 这个想法是基于Retrowatch和Piwatch。 它有一个230毫安的锂电池。 细节 作为pix项目中的“zerowatch”的后续产品,Pix-Watch应运而生。 Pix-Watch使用ST单片机,使用Arduino IDE,并为其编写了定制软件。 ![]() 它的硬件规格是: -最高80mhz皮质M4F单片机 - 128kb RAM - 512kb系统FLASH,主机固件 - 1.44英寸高彩色tft屏(ili9163,128 *128px),电容式触控输入 -额外flash (4mbyte) - 3轴加速度计 ——振动电机 一些特点: ——framebuffer ——快速绘图 ——易于扩展api ——阿尔法混合 ——开源软件和硬件 目前已完成的工作: ——建立开发平台 正在进行的工作: ——内联应用框架 ——案例设计 ——编写初始测试代码 目前需要做的工作: -pcb设计 -更好的图形命令集 -暂时使用机载RTC -外部flash图像/应用程序加载支持 -创建SDK -应用程序eeprom存储(在eeprom仿真中存储变量) -应用程序同步和闪烁使用USB 组件 1×pix-watch板 主板 1×230 mah锂电池 30 x20x5mm 1×外壳 3 d印制 1×Ili9361c 电容触摸 tft速度测量 我只是想分享我对面包板系统的基准。 全屏刷新(fillScreen命令):15ms(66fps) 使用sdfat lib从microsd加载的全屏幕(128*128)位图:略大于125ms(即8fps) 您可能想知道为什么位图加载如此低效? 因为我们从缓冲区中的microsd读取了一条水平的像素数据线,将其绘制到屏幕上,并对每条垂直线(总共128x)重复这个过程 这真的想要我去一个framebuffer,加载整个位图到它,然后调整像素在需要的地方,然后像fillScreen命令一样推送它。 这将大大加快速度。 然而,它也有它的缺点:单个framebuffer都会消耗50%的RAM。 注意:我们不能从屏幕上读取,没有味噌线在屏幕上,否则我们可以使用,作为framebuffer,拯救我们32 kb的内存的成本30-40ms(猜测)绘制速度framebuffer内部ram(如果我们做我需要像20-25ms(猜测)) 告诉我们你认为最好的是什么,不加帧缓冲还是用帧缓冲? pcb越来越小 我得到的pcb长度从50mm到43.5 mm,但仍然具有相同的功能(移动轨迹和组件) 也就是说它只比我的zerowatch项目长3.5毫米(它的长度为40mm) 仍然想要一个framebuffer。 :framebuffer都恢复正常了,电池续航时间很长 几天前我又在手表上工作了,脑子里有两件事:framebuffer和延长电池寿命 我在这两方面都取得了成功,主要是在电池寿命方面:370小时待机(17小时运行@ 24mhz)时间(还没有加速度计)(总功耗:1.35mA) 这相当于500毫安时的15天待机时间! 现在我正在移植所有使用framebuffer的图形命令。 framebuffer的唯一缺点是:它消耗了teensy 3.2的一半RAM。 但是多亏了rossum的microtouch框架,我们仍然可以为应用程序提供9kb的RAM,这比Arduino兆字节多1/8 ! 同样,framebuffer很酷的一点是:alpha混合是可能的,有些人可能看过我演示的视频。但对于那些没看过的人,这个是视频 切换蓝牙模块 现在我遇到了一个新的蓝牙模块,即ble113模块,它是蓝牙低能量的,并且有非常低的功率模式(几百nA)。 与hc06相比,它的尺寸只有hc06的1/2,耗电量更少。 这也导致了更小的pcb尺寸(理论上)。 到目前为止,我还没有进一步研究编码。但是我很快就会恢复编程(希望在一周内) 是的,这个项目还远远没有结束! 话题:我只是看了看时间,凌晨3:45,我该睡觉了。 注释和图形 因为ble113很难正常(Atomsoft是这么说的)(它需要pcb上一个额外的swd来编程),所以我们放弃了它,转而使用BC118模块,该模块也可以在uart上工作,在睡眠模式下只使用9uA 这两个模块的价格大致相同(在digikey上为11刀),所以这不是问题。 我还开始清理代码,并将其分散到多个库中,否则我们将拥有一个包含1500多行代码的库。 希望代码很快就会出现。 我还创建了一个图形命令,即:循环加载条(log结尾的demo vid),并在RAM中添加了同样多的图形命令,因为它可以简单地加快速度。 我也尝试过超时计时,它稳定运行到144mhz,任何更高的将会导致系统失败(我认为是在mcu的电压下)。 请注意,这是推荐的mcu clockspeed的200%,所以我不建议超过96mhz(这在teensy上已经是超频了)。 圆形加载条图的视频 缺乏动力和延迟 你们可能已经注意到这个项目最近没怎么更新,因为我实在找不到继续下去的动力。(别担心,项目会完成的!) Atomsoft(谁会做pcb设计)没有让我知道任何关于设计的当前状态遗憾。(到现在已经超过两周了) 总之,在某种程度上是积极的: 我有一些时间来重做一小部分代码,我计划一旦我得到我的动机重新做内联应用程序API。 现在,有一个视频演示一些图形化命令,包括反别名圆圈。 改变计划! 正如一些人可能已经注意到的,我不满意teensy作为单片机,并将切换到stm32l4单片机,我已经有了显示工作,我将抛弃蓝牙,因为我想保持它的简约。 智能按钮将被电容式触摸屏所取代,其行为方式与Android wear类似(基本手势控制!) 另一个设计变化是整个PCB,我的目标是34*15mm 4层。 我将尽我最大的努力使它有点防水(pogo针充电/编程它使用一个码头,没有按钮应该允许我实现这一点。 另外,teensy 3.2没有fpu,因此alpha混合速度非常慢,这可以通过切换MCU来解决,在同一个MCU时钟上增加7x的增益=) 性能提升 我只是想说明在最初的设计(teensy 3.2)和新设计(stm32l4)之间的浮点数(alpha混合/反混叠)每瓦特的性能增加 首先,我想指出的是stm32l4至少是teensy 3.2规范中节能3倍 实际上更像4x的teensy 3.2需要一个单独的引导装载程序ic,它也使用电源。 然后浮点数学....teensy 3.2根本没有fpu,所以计算肯定会很慢,但是在stm32l4上,速度比teensy要快7倍,因为stm有fpu。 与功率效率相比,这大约是28倍(fpu数学/瓦特) 此外,未来可能会从stm32l476改为stm32l496,使用320k的sram,用于更大的应用程序,而且它也更节能。(91微安/兆赫与100微安/兆赫) pix-watch相关资料 原文请见hackaday |
考虑过stm32l496芯片的体积了吗,整体设计看上去和arduin的比例,感觉还是太大了,可以看到目前市场上免费领取的儿童手表手机,还带有一个GPS,功能十分强大,已经成熟的商品化了。 |