cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 106|回复: 5

想做一款完全开源的计算器

[复制链接]
发表于 2021-11-20 17:22:37 | 显示全部楼层 |阅读模式
强两天买了台二手的 Numworks,但是发现现在官方已经结束社区发展,最新的官方固件将会禁止第三方软件。对此我感到十分遗憾,个人对这种先依托社区发展最后将其抛弃的行为也是比较反对。
多年以前我折腾过 TI-nspire,并在坛子里活跃过一段时间,后来很长一段时间都是用电脑作为主要的计算工具。最近我还是想找一个好用的硬件计算设备,因此购买了 Numworks,但是随着我知晓了官方的一些操作之后,顿时有了一种从头自己做的想法。

我本人主要从事(嵌入式) C++ 开发,写过 GUI 框架、脚本解释器等软件,早年也画过一些板子。做一个计算器这样的东西还算有把握。但是我知道数值计算、符号计算等功能需要大量的专业知识,这是我不具备的,但是我知道有一些开源库,因此总体应该还算可行。

另一方面,我个人无力承担所有的软硬件研发工作。比较大的局限的是我不懂机械设计,无法制作外壳,另外我有段时间没有做过 PCB 设计了,经验比较欠缺。

我注意到一款 MCU 比较符合我的期望,那就是 STM32H7B0VB76,这款 MCU 有 128KB 的 Flash,1.4MB SRAM,280MHz 主频,这意味着我们只需要外接屏幕、键盘、QSPI NorFlash 即可满足系统需求,而无需外扩的 RAM。另外它还有一些重要的优势:
- 这款 MCU 的功耗控制比较优秀,适合电池供电的设备(并且我们不需要外接 DRAM)
- 淘宝上这芯片卖 30 多块钱,可以有效控制成本(我希望任何人都能负担造价)
- MCU 软硬件开发难度比较低,ST 的产品换代兼容性非常优秀

我希望此项目的软件使用 GPL v2 许可证发布,保证其自由开源。所有硬件也应使用完全开放的方案,不引入任何限制。

我的初步计划是先在 PC 端使用模拟的方式完成基本的验证,然后尽快开始硬件的设计制作(不过我个人能力无法完全覆盖),坛友们感兴趣的欢迎讨论。(写的比较乱)

评分

参与人数 1金钱 +6 收起 理由
Myth + 6 支持楼主

查看全部评分

发表于 2021-11-22 00:33:02 | 显示全部楼层
早些年论坛有很多大神也跟楼主一样想自主研发一款开源的计算器,最后还是烂尾了,自主研发并没有楼主想得这么简单,需要投入大量的精力和资源,德州仪器能卖得这么贵也不是没他的道理的
 楼主| 发表于 2021-11-22 09:44:32 | 显示全部楼层
我同意,所以我认为要控制项目的复杂度。我目前的策略是先设计一款成本足够低的硬件,使大多数爱好者能够负担,然后在社区驱动下完善软件设计。否则以个人的资源不可能完成。
 楼主| 发表于 2021-11-22 09:58:35 | 显示全部楼层
我目前打算做一个裸板,不要外壳,小批量(其实就是样品)物料成本控制在150以内。设计裸板只需要电子知识,并且嘉立创基本就能完成加工,生产难度会很低。
 楼主| 发表于 4 天前 | 显示全部楼层
原理图基本画好了,先贴出来分享下。主要硬件参数如下:

- STM32H7B0VBT6: 1.4MB SRAM,128KB Flash,280MHz Cortex-M7 & 双精度浮点单元
- W25Q128/W25Q256:16/32MB QSPI Nor Flash,用于存储程序和文件(主要是程序)
- 2.8 inch 320x240 彩色 LCD,无触摸
- 锂聚合物电池功耗
- Type-C 充电和数据传输
- TF 卡槽
- 考虑低功耗的设计

这款计算器硬件的设计原则是“低成本、低功耗和纯粹的计算器“,因此我不会增加例如音频等和计算器功能不相关的电路。我也不打算让它做为掌机使用,因为为它考虑的硬件设计显然会带来成本的增加(包括物料以及我的设计成本),并且竞争不过真正的掌机。

软件方面,目前我做了基础的基于 CMake 的固件工程,可以使用 CLion 等现代 IDE 进行软件开发。

这几天可能不会立即开始 PCB 的绘制,我要进一步考虑一些问题,包括键盘布局、软件功能以及界面设计原则等问题。当我完成第一版具有功能的软硬件之后,会将此项目开源(这应当是一款从任何角度来说都自由的计算器)。

另外一件事是当我尝试了一段时间的 NumWorks 之后,我发现它实际上可能不是非常适合作为工程用的计算工具,而是更适合教育用途。这意味着有很多我需要的功能无法实现,例如使用标准电阻来设计分压电路的计算器。

Schematic_FreeArith_2021-11-28.pdf

289.62 KB, 下载次数: 4

发表于 3 天前 | 显示全部楼层
本帖最后由 Myth 于 2021-11-29 17:38 编辑

支持楼主~楼主是从事嵌入式软开吗?
这学期的嵌入式课用 STM32 做了个游戏机(正好也用了 H7 系列的 H743)。想问一下楼主 C++ 现在在嵌入式开发中很常见吗?我感觉 STM32 这方面还是以 C 居多,C++ 可能嵌入式 Linux 用的多一些?

另外如果楼主能现在在 Github 上开源一下就更好啦,想追踪一下楼主的开发过程~



您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2021-12-2 18:54 , Processed in 0.045427 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表