pos机什么玩意(继续榨干一元pos机价值制作TC35661蓝牙透传转接板)

快鱼网 17 0

本来半年前就做好的东西了,因为各种各样的原因拖到现在才得闲发出来,算是让大伙久等了

相信大家之前都撸了不少一元pos机吧。

上面有款蓝牙模块tc,因为需要协议栈才能使用,所以困扰了不少人,大家基本的处理方法都是弃之堆灰。

直到论坛大神@yht 给出了初始化和协议转接的方法,见:

stm32驱动蓝牙pos机里面的蓝牙模块 tc:

于是这个芯片得以能玩转。然而因为需要一些编程水平,所以大家的选择还是继续让这个模块继续堆灰。

于是我就有了个想法,做个透传模块,于是有了这个帖子:

不用拆芯片,不用调程序,直接在pos机板上玩TC蓝牙模块|

但是这样离方便使用,可以零基础玩转还有一些距离,为了达到最终完美,于是就有了本贴

首先需要找一款有两个串口的MCU,而且要体积小,成本低,于是选择了efm32tg110这个芯片(具体为什么成本低,楼下细说)

这款芯片的手册截图

arm cortex m3内核 运行在32mhz(强大运算足够处理大数据量下的协议栈)

32k flash+4kram

两个串口(这是最关键的)

有一路12位dac,两路12位adc(麻雀虽小,五脏俱全),方便和蓝牙搭配做便携式小设备

体积小,qfn封装

功耗低

等等

原理图

pcb

pcb的面积很小,就是一个正常蓝牙模块大小+天线+排针占用的面积

30mm*16mm

没有用上的引脚全部引出,其中包括完整的dac和adc,这样的好处是,以后如果有余力开发,可以直接用这个最小蓝牙板做一个无线的测量仪器,或者无线小控制器

打好的pcb

焊接完成的模块正面

焊接完成的模块背面

上电以后,可以在手机或者带蓝牙的电脑上搜搜到蓝牙模块 默认名称是 POSYSTORAGE_TC

设备地址码是唯一的,防止冲突(使用了单片机的唯一uid)

连接成功,正常通讯中

电脑通过串口发送mydigit

手机通过蓝牙发送 posystorage

正常联机的各种状态指示信息

第一行提示当前波特率

第二行提示已经初始化成功啦

第三行提示蓝牙已连接

第四号提示蓝牙已断开

板子正面有个LED

在初始化过程中快速闪烁。当初始化成功后,转为慢闪

当连接后,变成常亮。断开连接则为慢闪

板子有6个排针孔。

vcc和gnd是电源,不多说

rx tx为透传串口

swd和sck为板载mcu调试和程序下载接口。也可做普通io使用

BT指令的详细解释

为了方便使用,实现一键零基础操作,我就搞了个BT指令集(参考市面上的某些无线模块的AT指令集)。这样一些简单的配置,比如模块改名或者更改波特率什么的就不需要程序编译程序,直接BT指令操作就行。

BT指令的使用方法:首先连接串口,给蓝牙模块上电,等待初始化完成(指示灯由快闪变为慢闪为初始化成功,或者串口提示初始化成功)

不用连接蓝牙(即在非连接状态下)

输入BT和BT+xxx指令来实现操作。

注意,所有的指令均不需要换行,不需要加回车

比如说,输入BT

回复BT OK!

表示串口正常,指令正确,工作正常

输入BT_ABOUT 显示关于信息,版本信息,设备mac,固件版本,作者信息

1.0版本的消息

1.1版本的消息

输入BT_LIST

将罗列 BT指令集支持的所有指令

BT_MSG_ON打开提示信息

如果打开了提示信息,会提示初始化状态,是否联机得到信息

BT_MSG_OFF关闭提示信息

所有提示信息均不显示

这样的好处是,如果是外接MCU使用,就可以真正透传消息,而不受提示信息的干扰

BT_RES_FAC 恢复原始出厂状态,没啥好讲的

蓝牙名称恢复TC_POSYSTORAGE

波特率恢复

默认消息提示打开

BT_HELP 帮助信息,提示有些BT指令怎么使用,比如说,怎么设置串口波特率和结束符,奇偶校验什么的

BT_RENAME 更改蓝牙的名称。更改后下次上电生效

BT_UART_BPS 更改波特率。更改后下次上电生效

如果输入了错误指令,会这样提示。比如说输了小写什么的

开始讲述制作心路历程

之前楼上不是说了,一直在苦苦寻觅 “两个串口,而且要体积小,成本低的MCU”

找了一久,突然一日在某论坛商家看见一款拆机的板子,价格便宜(为了避免打广告嫌疑,就不说商家明和价格了)

卖家的图

这个板子,上面有一个似MCU的芯片,没有主丝印,数了下24脚,封装应该是QFN24

然后就开始脑洞了~

以下几个条件判断出了大概80%的概率是efm32的MCU

如图

1、封装是QFN24,能对应上

2、芯片侧面所有脚都是io或者电源,没有gnd脚,说明gnd只有中间大焊盘有

3、电源引脚能对上三,其中两个104的电容颜色是一样的,另外一个是105,不是一个材质(颜色有微差异)

这样确定下来可能有三款芯片

efm32tg110

efm32zg110

和efm32hg110

三款是属于不同的产品系列线,但是引脚和封装都是一样的,看外观无法辨别。

犹豫许久,决定买来碰碰运气

因为便宜嘛,买少了邮费不划算,所以买了一小包

体积很小的pos机(又是pos机,摔~~~~~)

拆开,第一个拆的有点失败哈,太暴力了,不过主要元件没事

各部分拆开对照图

22合一友情上镜~~

后面的电池基本没电了

板子正面

板子背面

小6脚芯片特写。到现在我也不知道这是啥功能

反正不是猪脚,不重要,不管了

右上角有个双运放

注意到板子是4年前的老东西了,怪不得电池都没电了

继续排除走线,发现和efm32吻合度99%,所有电源脚都能对上,切引出来调试接口,就是图上上锡的那两个焊盘

掏出自制jlink(做个小巧漂亮的jlink调试器|

按手册接线开始测试

配套好simplicity和jlink软件

一联机,果然大惊喜,啊hhhhhh

赚翻了赚翻了

果然赌对了

这样看不出来是吧,我圈圈重点

看到没 energy micro

energy micro被silion lab收购

这尼玛不就是efm32 哈哈哈哈哈哈

图上说芯片被锁住了,那就尝试解锁 使用unnlock efm32gxxxx指令

解锁成功 so easy~~

再次联机

看到没有 arm cortex m3内核,这样果断确定是efm32tg110

因为只有他是cortex m3内核,另外两个是cortex m0内核

继续来确定下芯片容量

使用jflash

先选该系列最大容量,尝试能不能读写成功

显然是可以的

没问题~~

最终确定型号EFM32TG110F32

得到整个“赌”芯片中最好的结局,三个系列中配置最好的mcu,通型号中储存空间最大的,哈哈哈~

继续玩,焊接个led上去,尝试成功点灯

吧外壳都拆掉,元件进行分拣,方便保存

这些是不要的垃圾

先说说怎么靠使用Simplicity Studio 来进行快速的,简单的,图形化傻瓜配置的点灯实验,以方便快速测试

首先下载安装并打开Simplicity Studio,新建工程

选择本贴的猪脚efm32tg110f32

选择Simplicity configurator program,图形化配置工程

名字随便写

选择led引脚

配置为推挽

main函数很简单

很简单,是不是

复制代码

#include "em_device.h"

#include "em_chip.h"

int main(void)

{

int i;

CHIP_Init();

enter_DefaultMode_from_RESET();

while (1)

{

for(i = 0; i < ; i++);//做延时作用

GPIO_PinOutToggle(gpioPortC, 15);//翻转LED

}

}

然后,编译下载,就可以看见led开始卖力的闪烁了

好了,说是制作心路历程,现在说的有点跑题了,拉回来哈

拿出之前玩efm32tg剩下的转接板。反正引脚都一样,直接往上怼呗

这里吐槽下垃圾板厂的v割工,都吧丝印割没了你知道么。精度这么差,哎~

拆下芯片

焊接过程略过不表

qfn总体不怎么好焊接,需要耐心和细心

背面全是容阻元件。这MCU电源脚奇多

日常成功点灯

这里放下这个小核心板的原理图和pcb截图

背面用丝印画了个mini小壁虎,结果实物出来,这都啥玩意啊?四不像?

继续哈,拆完芯片的板子不能浪费

来跑下走线,方便在板玩耍

跑走线第一步,日常先上锉刀嘛

最终标注出所有io的走线结果,这里还需要感谢坛友 @shi988

好了,一个破板子研究了半天,终于要步入正题了

开始研究蓝牙透传

初期测试是这样的

调通透传程序以后

画了1.0版本的转接板

打样归来如图

开始焊接蓝牙转接板

拆下芯片+转接板背面

tc模块来自某pos板子

焊接过程略过不表

焊完才发现,疏忽大意阴沟里面翻船了

引脚接错了,只能靠飞线补救了

好吧,修改好再打一版,哎

v1.1来了

这次就不用飞线了嘛,舒服

可以用直排针这样焊,能比弯排针显著减小体积,不过也牺牲了些许牢固程度

因为板子位置有限。部分元件标注了参数值

剩下没标的,都是104电容 100nF

图中红圈圈中

板子上的元件,除了106电容,基本都可以从原芯片的小板子上拆到

为了保护元件,建议套个热缩管

左边的板子是拆完有用元件后的样子~

最后来个大合影

源代码,固件和原理图需至原帖中获取:

谢谢观看!

浏览更多精彩内容请登录数码之家网站

技术交流请联系原作者

作者:

本文来源:数码之家

标签: 蓝牙

抱歉,评论功能暂时关闭!