【BD0052】DA14580的一篇非常基础的教程1

 

本文介绍DA14580的一些非常基本的知识,连载中。...





本文介绍DA14580的一些基本知识,适合从来没接触过这颗芯片的人看,包括用哪些工具做开发、如何debug、如何量产以及如何测试等等。有一定开发基础的,就没必要看这个了。这个可能会分多个章节来写,因为内容可能会很多;我想到哪就写到哪吧,有关DA14580的,能想到的,我都会写进去。

首先,来看一下DA14580的资源:



42K的system RAM,主要用于跑程序,当然数据也存放于此;

8K的Retention RAM,存放一些需要长时间保存的数据,在Retention RAM中的数据,在deep sleep状态下会保留,而system RAM中的数据则会丢掉。

32K OTP,可以存放代码和一些配置,配置包括蓝牙地址,Crystal trim等。

84K ROM,普通用户就别打它的主意了,直接忽略。

然后,像UART、IIC、SPI等外设,跟普通的也没啥区别,不再多啰嗦。有一点要提醒,虽然在程序中,这些口可以MAP到任何IO口,但是,默认的串口(比如P04,P05),必须要有一组引出来,否则,后续的测试、程序烧录等,都会遇到麻烦。关于有哪些默认的串口,官方有一个关于启动顺序的文档,去查阅一下就好了。

关于晶体,16M必须要有,32k看需求,可以用外部晶振,也可以只用内部的。当然,外部晶振不会白用,使用外部晶振,功耗会低一点,准确度也会高一点,使用内部晶振的时候,蓝牙的连接间隔需要控制在2s以内。

关于DA14580的启动问题,代码可以放在OTP中,也可以放在外挂FLASH(EEPROM)中,或者直接用UART boot方式,通过外部CPU启动DA14580等都是可以的。

一般建议是DA14580+外挂FLASH的方式,如果要支持OTA的话,FLASH大小至少为1M。

讲到外挂FLASH,顺便讲一下DA1458x的其他几颗芯片:

DA14581,它貌似是增加了HCI接口和充电管理功能,但具体好像也没人用过,总之,这颗料感觉很少用。

DA14582,就是在DA14580基础上增加了CODEC,适合做智能遥控器方案,小米的蓝牙遥控器就是用这颗料做的。

DA14583,可以理解为DA14580+1M FLASH,硬件上QFN40的封装也与DA14580的QFN40 PIN2PIN,除了PIN5有一点不一样,需要供一个电源(DA14580为空引脚)。

DA14585,可以理解为DA14580的RAM,OTP增强版,主要是为了解决DA14580资源不够的问题,当然这颗芯片也是dialog第一颗支持蓝牙5.0的芯片;

DA14586,就是DA14585增加了内置FLASH。

另外,如果不是PCB空间有限的话,尽量用DA14580+FLASH的方式代替DA14583,这样成本会低一点。

DA14580有三个封装,WLCSP、QFN40、QFN48,IO口多少的区别吧,其他貌似没有。需要注意的是,WLCSP需要遮光处理,这有相关文档说明,生产的时候需要考虑生产成本。

今天就写这么多吧,下期将会谈谈硬件上的设计,也可能谈谈软件的debug,看到时候想到什么吧。


    关注 蓝牙


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册