站内搜索
发作品签到
如何快速上手一款新芯片

分类

技术干货

如何快速上手一款新芯片

原创
1.2w
56
69
26

简介

从闲鱼上捡来的价签pcb引申出来对新芯片上手思路

简介:从闲鱼上捡来的价签pcb引申出来对新芯片上手思路
更新时间:2023-02-09 14:18:19

最近在闲鱼上又看到便宜东西

FUea3rOmKIXJyayWAxhsClKTLqD01grer0diKfzr.png

全新2.13价签外壳淘了20个16块,一顿外卖钱,想着可以塞低温2.13墨水屏,这种成品外壳设计还是不错了

到手居然发现里面带原价签PCB板子

ZqCGgIgqjXCuhQnjJKZVgvKuJkENl1wTTlsecJlP.png

dU63draWqFllvjYfh1isK9ejeYNtnQMvYmGT1kHj.png

看到板子上的调试点,顿时有了想法

先查询主控DA14585资料

在瑞萨官网找到芯片手册  芯片官网链接

 

SRW9mWGUlusNt35OMaE8jDRA4bA400Y7arSwy7bV.png

查看手册是低功耗蓝牙5.0 BLE芯片,不过看到是64K OTP 存储器,这边介绍下什么叫OTP。

T2zpxkkMiEbhI8xgJHwQyOzDSCF00qwnnrn2bMb5.png

通过搜索DA14585的烧录教程,发现芯片通过jlink的SWD接口编程,通过SmartSnippets Toolbox上位烧录软件烧录到外部flash启动,

并非一定要烧录OTP才能运行,所以到这里不好判断芯片是否OTP启动。

芯片手册介绍如果OTP Header标志位设置OTP启动就无非再次使用。

yIaPqRywCUNI1omJPVuUofgGboRl0XbMcvnvZDh6.png

S5kSUm4cV41ySEoJQVl8xhuGLa5Ue2X0SZpQ1e6G.png

对板子飞线VBAT GND DIO CLK

bwbBAAtjDLy8PyxtAevy8UOegaJI9mHLn1ghhfIn.png

官网下载SmartSnippets Toolbox 软件  官网最新软件下载地址

软件安装就不介绍了,无非下一步确实。

  1. 打开软件 新建个设置

BdUNq0bLPo7rT6eiSKVqa6DQxcxy0cccBdmA11EE.png

2.选中你新建的配置,选择芯片型号和链接方式

uCtEE7330PgPBJ282REIA2sZM8LJx7wLyfQdK7Up.png

3.点击open进入设置

这一步没报错,说明芯片swd调试口未关闭,如果调试口关闭,该芯片是无法使用的,一般是写过OTP把SWD关闭了

3zG1LZyTbtjmHG1QMHzI0zWPMKuIyBKGPpbQNurn.png

4.点击OTP,查看OTP header

pCE5r1HZNwVQNX4jrMaZ6wyMIbmiOqwJlX7yNPmi.png

点击connect 再点Read 查看OTP启动标志位是NO,说明这个芯片不是OTP启动

RTDLhysPoRHGlZH7mJECvnfdzE7IhX1o9QPDJ4hN.png

5.切换到SPI FLASH页

3TFxCLCLf76XOpsTs0Q3jHny5djfcoFChg2feIDE.png

点击connect 再点击Read就能回读到flash前32K数据

9RJTypvrwRlhlnAod6bEQsPTpRO07SgSWCl1YRYi.png

等代码编写好就可以通过该软件烧入进flash。该芯片可以通过KEIL5 debug模式运行

 

下面是我通过原板快速点亮墨水屏流程

 

1.先搭建环境安装keil5开发环境和下载SDK

2.快速浏览一边SDK,找到keil的工程文件打开

f22RTFhAGYXxYzejP01IkBMQzFKHPEeTuDz7Xgh7.png设备工程在该目录下,主要看ble工程和外设工程

hLcdciWLM1VOaeOnskSS5Et0ockda0d8CikTY3er.png

3.打开一个蓝牙工程编译并烧录

YG0VzOVufqivkX44NkSVl2upZSNBm59yUdlYPejU.png

编译并调试

RTcZ5mKzRsjj429tockjRbepF9FuZ27WS1OWv54p.png

如果进入不了调试,点击keil的魔法棒工具查看jlink是否有识别设备

4TAuOydi0ppuVTGxh3jqcuzL6g9niNgQ8oirnyND.png

mYlpNNPS98qUdMtr2hIRxfszgIeImVD64aMEA01D.png

然后调试运行

RzSv8M9ouWq7bZjVnMjM0Awj5SEfvEpJhTdttIpe.png

 

通过nrf蓝牙软件搜索蓝牙搜索到新的设备DLG-PRPH,说明工程能正常运行。

MQehmwrUgSh5KB0urBSM8izVRaVvo8XhSDm4K4OQ.png

4TpUANVSWhulsAjuPBXwpFJHPW82GoYeKB7cFNUM.png

把生成的bin烧录到flash,板子断电再上电,注意要断开SWD连接只供电,还能搜索到该信号,说明烧录OK

5nF6Zg9pL5muDBdNuEuWjQHE1QtJK9RQOsKB1iFQ.png

 

4.分析pcb电路,找出控制墨水屏的io

下面是用万用表找出来出来的驱动对应IO

xfBGA1MR7BKFKuuRu5C21LUAJdJWKFRmTURj7Jck.png

5.移植驱动到工程

选择blinky工程移植,ble例子不好上手先用闪灯外设例子上手

xW6bzy6pHKRha5Pqh7tnWFjQGOMlWOnldY842Uzo.png

分析墨水屏驱动,

墨水屏只需要io控制高低和读取,就能驱动,所以移植需要有io设置电平的读取电平的函数还有延时函数

 

6.查看sdk手册

只需要看GPIO的说明,暂时不深入其他,下面是sdk说明

Gv44z6PNqA9q4z1C2y22rwF1xnOl23bneDgIVHW5.png

找出GPIO控制函数

DSM5XOZsaaFdDxzkA8fuv3BGC8ZbE3qfXxvlTfyn.png

 

io配置函数

ZM1fBtlKLC1B7JoCh9GC4ZFTDHziZHxruzXTFEAV.png

读取io电平函数

wroNJKBWQTsTL0I9urZ7GX9TjJQo3xgCr3L4iJ3j.png

io设置高低电平函数

bwjvr1tSNl0wRAG7ptgpx5BDrZqnfEvgSAZAteo8.png

 

7.找出一块24PIN上接的墨水屏,有驱动代码

下面是我手上的一款低温价签用的墨水屏,使用微雪的2.13V2修改分辨率104*212驱动。

f5bRKMI3FM6v8FV278JtLEFG6tTPHnmhVypa7g51.png

使用软件SPI,通用性强,待功能实现的差不多再修改为硬件SPI提高传输效率

cL7MCCxd0bLA9GkZk5O5stVIMh9JGniHXwm1iEuK.png

 

配置墨水屏io

eUYn0wWSL0O06NcFgKeIEODcbOawtQyq27bR7LGY.png

写引脚控制宏定义

延时函数是我翻SDK手册找到的

hirAgc69vzKBPUi91KOxkrDZm6k7EBIZAAiMQxxn.png

没有可以写个for循环去代替

CSDSlEYMKa58IJ2zH1rRM0lxpiR8lNxngmr2UFEV.png

宏定义

TfPYnRKcXXwpAs8FmIKF79e0haJ6zh9I3NjRzIEt.png

主方法

d6wgYCjTDbUjqTqHOJKTYy0uYgw0zr36Bu3jJeTc.png最后编译运行

 

 

 

添加到专辑
0
0
分享
侵权投诉

附件

序号文件名称下载次数
1
点亮视频.mp4
170

评论

全部评论(1
按时间排序|按热度排序

底部导航