精华内容
下载资源
问答
  • DA14580可以1s内发送4kb的数据吗? 可以一次性发送还是要分开多个包连续发送? 如何分包发送500个字节来通知客户端?
  • 本文分析全球最低功耗蓝牙单芯片DA14580的硬件架构和睡眠、唤醒技术。

    号称全球最低功耗蓝牙单芯片DA14580在可穿戴市场、健康医疗、ibeacon定位等市场得到广泛的应用,但是因为其较为封闭的技术/资料支持导致开发人员有较高的技术门槛,网络上也极少看到有关DA14580的开发技术分享,因此一般企业和一般技术团队都不敢贸然采用该平台,但一旦精通该芯片平台的开发,即可在蓝牙方案应用开发中获得较大的技术优势。

    本文分析DA14580的硬件架构和睡眠、唤醒技术。睡眠和唤醒即是低功耗的核心技术。这里从硬件的角度去分析睡眠和唤醒的原理。而睡眠和唤醒的软件框架和实践后续再展开。

    一、DA14580硬件架构

    DA14580硬件体系架构如下图:

    可见,DA14580包括三个部分:

    1)使用ARM公司的cortex M0作为CPUprocessor处理器。

    2)使用RivieraWaves公司的IP核作为BLEcore和基带、射频部分。

    3)集成时钟管理CMU、电源管理PMU、memory控制存储和其他外围模块控制器,如GPIO、UART、I2C、SPI和timer等等。

    一般地,DA14580用于蓝牙BLE应用时,会使用两个外部晶振,其中16M晶振用于CPU执行相关的模块(如M0和memory),也会分频给部分peripheral。而32K晶振则用于BLE精确基准时钟和睡眠时的低功耗部分电路。

    二、DA14580低功耗(睡眠和唤醒)

    蓝牙单芯片的低功耗主要指的是整个硬件系统的睡眠和唤醒。而低功耗主要针对电源和时钟管理。这是由集成电路的特性所决定的。

    1.   睡眠

    对于睡眠,从以上架构来看,其包括以下部分:

    1)  CPU睡眠,即cortex M0。根据cortex M0的体系结构,其包括两种睡眠模式:normal sleep和deep sleep,其会映射到M0的寄存器和不同的硬件电路。需要注意的是,CPU在两种模式下并没有多大区别,但是各个SOC厂商在集成cortex M0时会对这两种模式对peripheral部分进行不同的控制。如DA14580会在M0的deepsleep上再细分两种模式,即extended sleep和deepsleep。前者RAM数据是可以保持的,而后者则不保持。

                                                             

          2)BLE core 协议栈、基带和RF射频部分睡眠。对于M0的低功耗来说,有很多的指导文档,但是RivieraWaves的BLE部分的资料极少,方案商都可能没有,只有研发DA14580的dialog公司才有,开发人员只有从DA14580的SDK中理解源码,并通过不断的调试验证来获取低功耗控制的经验。这也是很多公司选择TI而不选择DA作为蓝牙应用的原因。但是DA14580的功耗确实是业界最强,如果能掌握将在物联网产业极具技术优势。

          3)peripheral部分睡眠,此部分包括其他集成模块,如memory和UART、GPIO、TIMER、SPI、中断控制等等。DIALOG公司在DA14580的SPEC规格书上也没有公开系统设计的框架图,只有部分寄存器的描述,所以要想精通DA14580的peripheral低功耗控制的方法和调试,也是要花费很多的时间。而且,睡眠和唤醒的调试是相对困难的,需要掌握方法。

          4)对于以上的各个部分,我们都是要考虑时钟CLOCK和电源,对于高级CPU可能有动态调频调压,但对于蓝牙单芯片,基本是disable电源和clock。

    对于cortex M0来说,WFI指令对应的电路使用一种称为State Retention Power Gating的技术来控制电源,而且结合cotext M0的wakeup interrupt controller模块可以唤醒CPU。对于时钟,则是disable 16M高频晶振。

         

          对于BLE,需要主动disable其时钟[16M或者8M]和电源。BLE的时钟源是32KHz,这里关闭是指BLE的时钟部分,而不是完全disable 32K外部晶振。因为其还需要给唤醒部分提供时钟。

          对于peripheral部分,则是关闭电源和时钟,由于其主要使用16M晶振的分频,所以当16M晶振停止工作时,其自然也没有时钟了。

    2.   唤醒

    对于DA14580的唤醒,其主要有两个唤醒源。一个是同步唤醒源,来源于BLE的内部定时器(默认10秒)和BLE事件;另一个是异步唤醒源,即唤醒中断,可以配置为任意引脚唤醒,其即使用cortex M0指定的WIC技术。

    WIC(wakeup interruptcontroller)是独立于CPU和中断控制工作的,但WIC检测到电平变化(也可以计数到指定数值时)即会提醒PMU给CPU供电,并启动内部RC震荡电路提供时钟,并维持中断信号给CPU中断部分,这样CPU可以从睡眠中唤醒。

          那么,对于DA14580的唤醒,需要注意什么呢?

    1)BLE的唤醒定时器设置

    2)DA14580的外部唤醒设置

    DA14580支持wakuptimer来唤醒,其能够监测任意引脚的电平变化计数,可以是上升沿也可以是下降沿。其通过WIC接入CPU。

    三、低功耗代码框架

          以上知识只是说明如何做好睡眠和唤醒的设置工作,当CPU执行WFI指令时,即进入睡眠状态。那么,睡眠和唤醒的设置应该在什么时候执行?唤醒之后对唤醒中断产生的消息/事件、BLE timer事件如何处理?还有CPU唤醒中断后返回用户态时要先做什么事情?这些都应该是低功耗代码框架要考虑的因素。

          DA14580软件体系决定的消息/事件是基于BLE TIMER基准时钟的,例如内核的定时器ke-timer是BLE-CORE的组成部分,并不是peripheral中的定时器。而schedule函数将处理所有pending的消息事件。这里,假定CPU是由BLE TIMER唤醒的,这时唤醒之后BLE CORE是正常工作的,因此schedule是可以正常执行的。以上为同步唤醒过程。

          异步唤醒即是由wakeup timer中断唤醒,唤醒后BLE timer可能还是disable状态。

    我们暂且不去区分DA14580的SDK对于异步唤醒中断产生的事件和BLE timer同步唤醒产生的事件。并基于同步唤醒给出低功耗睡眠代码框架:

    Voidmain_loop(void)

    {

          While(1)

    {

          Schedule();//处理完所有的消息事件会返回

          Disable BLE;//关闭BLECORE

          Disable Radio;//关闭射频

          Disable peripheral power domain;//关闭外围控制部分

          Set CPU DEEP SLEEP.//CPU 睡眠设置

          WFI();  //等待中断

          Set CPU active.//唤醒之后CPU设置active状态;在BLE TIMER唤醒中断服务中应该要enable BLE CORE, RADIO, peripheral等部分。

    }

    }

          如果要同时支持异步中断及其产生的异步消息/事件,同时处理extended sleep和deep那sleep两种模式的影响,那么低功耗代码框架会变得复杂。作者日后再从软件实践的角度详细分析DA14580如何支持低功耗特性。

     

    展开全文
  • da14580睡眠专题实验

    2018-10-26 10:00:45
    da14580功耗实验,唤醒信号设计,详细的实验代码和过程解析
  • DA14580蓝牙低功耗4.2 SoC最终概述DA14580集成电路具有完全集成的无线收发器和基带处理器,用于Blue-tooth®低功耗。 它可用作独立应用程序处理器或托管系统中的数据泵.DA14580支持灵活的内存架构,用于存储蓝牙配置...

    DA14580-01UNA
    DA14580蓝牙低功耗4.2 SoC最终概述DA14580集成电路具有完全集成的无线收发器和基带处理器,用于Blue-tooth®低功耗。
    它可用作独立应用程序处理器或托管系统中的数据泵.DA14580支持灵活的内存架构,用于存储蓝牙配置文件和自定义应用程序代码,可通过无线更新(OTA)。合格的蓝牙低功耗协议栈存储在专用ROM中。
    所有软件都通过简单的调度程序在ARM®Cortex®-M0处理器上运行。蓝牙低功耗固件包括L2CAP服务层协议,安全管理器(SM),属性协议(ATT),通用属性配置文件(GATT)和通用访问配置文件(GAP)。
    蓝牙SIG发布的所有配置文件以及自定义配置文件均为支持。
    收发器直接连接到天线,完全符合蓝牙4.2标准.AD14580具有专用硬件,用于LinkLayer实现蓝牙低功耗和接口控制器,增强连接功能
    DA14328
    特性
    FAE:13723714318
    符合蓝牙V4.2,ETSI EN 300 328和EN 300 440 Class 2(欧洲),
    FCC CFR47 Part 15(US)和ARIB STD-T66(日本)
    处理能力
    16MHz32位ARM Cortex-M0 使用SWD接口专用链路层处理器
    AES-128位加密处理器
    32kB一次性可编程(OTP)内存
    42 kB系统SRAM
    84BROMROM
    8kB保持SRAM
    功率管理
    集成降压/升压DC-DC转换器
    P0,P1,P2和P3端口,3.3 V容差。
    只需4个电源引脚即可轻松去耦支持硬币(典型值3.0 V)和碱性(典型值1.5 V)电池单元
    10位ADC用于电池电压测量
    数字控制振荡器
    16MHz晶振(最大±20 ppm)和RC振荡器
    32kHz晶振(±50 ppm,最大±500 ppm)和RCX振荡器。一般用途,捕捉和休眠定时器。数字接口。通用I / O:14(WLCSP34封装),24(QFN40封装),32(QFN48封装)
    系统图
    2具有硬件流控制的UART高达1MBd SPI+™接口
    I2C总线,100 kHz,400kHz
    3轴兼容正交解码器
    模拟接口
    4通道10位ADC
    无线电收发器
    完全集成的2.4 GHz CMOS收发器
    单线天线:无需RF匹配或RX / TX切换。
    在VBAT3V时提供电流:TX:3.4 mA,RX:3.7 mA(具有理想DC-DC)
    0dBmtransmi t输出功率
    -20 dBm输出功率,采用“近场模式”
    -93 dBm接收器灵敏度。
    封装:WLCSP34引脚,2.436 mmx2.436mm
    QFN40引脚,5 mm x5mm
    QFN48引脚,6 mm x6mm
    KGD(晶圆,骰子)
    14580
    分类RF / IF和RFID
    射频收发器IC
    系列 -
    打包 切带(CT)
    部件状态有效
    输入TxRx + MCU
    RF系列/标准蓝牙
    协议蓝牙v4.1
    调制 -
    主频2.4GHz
    数据速率(最大) -
    功率 - 输出-1dBm
    灵敏度-93dBm
    内存大小32kB OTP,84kB ROM,50kB SRAM
    串行接口I²C,SPI,UART
    GPIO14
    电压 - 电源2.35V~3.3V
    电流 - 接收3.7mA
    电流 - 传输3.4mA
    工作温度-40°C~85°C
    封装/箱体34-UFBGA,WLCSP

    引脚分布DA14580有三种封装:•晶圆级芯片尺寸封装(WLCSP),带34个球•四芯扁平封装无引脚(QFN),48引脚•四芯扁平封装无引线(QFN),带40个引脚实际引脚/球分配 在以下数字中:
    QFN48

    展开全文
  • 上一篇文章《蓝牙单芯片DA14580的硬件架构和低功耗》阐述了DA14580的硬件架构和低功耗的工作原理。本文文章阐述该平台的软件体系,并着重分析消息事件的处理机制。一、DA14580SOC硬件组成和软件体系组成DA14580芯片...

    上一篇文章《蓝牙单芯片DA14580的硬件架构和低功耗》阐述了DA14580的硬件架构和低功耗的工作原理。本文文章阐述该平台的软件体系,并着重分析消息事件的处理机制。


    一、DA14580SOC硬件组成和软件体系组成

            DA14580芯片硬件架构包含三个部分:

            1)使用ARM公司的cortex M0作为CPUprocessor处理器。

            2)使用RivieraWaves公司的IP核作为BLEcore和基带、射频部分。

            3)集成时钟管理CMU、电源管理PMU、memory控制存储和其它外围模块控制器,如GPIO、UART、I2C、SPI和timer等等。

            对应地,DA14580平台SDK的软件组成也包含下面组成部分:

            1)ARMcortex M0平台相关的库文件,如启动、CMSIS(the cortex Microcontroller software interface standard)支持的寄存器訪问、中断异常訪问接口等。

            2)RW公司的BLE驱动、射频驱动。此外RW BLE还集成了系统的内核部分,其提供消息处理、定时器和任务调度等核心功能。

    所以DA14580平台SDK的开发是基于RW公司研发的内核,而不是DIALOG公司研发的。

    此部分大部分的代码都是固化在ROM里面。

            3)SOC集成的其它模块的驱动。由DIALOG公司提供,如UART驱动等,此外其调用RW内核的相关接口来完毕消息循环和低功耗功能。

            4)应用程序。调用以上三个部分的接口来完毕自己定义功能。

        我们重点分析2)中的RW内核机制和功能。


    二、RW内核

            RW内核的指导文档为《RW-BT-KERNEL-SW-FS.pdf》。其主要包含下面三个部分:

            1)Message,消息处理机制。

            2)Taskand Schedule,任务和调度。

            3)Timer,定时器用法。


    三、Task

    RW在BLE协议栈层次的基础上抽象了多个任务task。每一个task完毕一个软件层次的功能。所以说RW内核是支持多个任务task的。但本质上。RW内核也是一个单任务内核,所以各个task能够看成是能够完毕特定功能的独立函数体或者函数集合。

    每一个task都有一个task ID。其具有优先级功能。相似于UCOS的优先级。

    RW内核和UCOS的差别是:UCOS是多任务内核,具有时间片轮流运行,并具有相互排斥同步。


    四、Message

    4.1 消息标识

    一个消息就要区分它是属于哪个task的。并且还要区分同一个task里面的不同消息。所以一个Message包含两个部分:


    TASK_TYPE即是task的ID。在调度时。优先级高的task的消息会先得到运行处理。

    4.2  消息结构体元素


    我们仅仅须要关注红色圈着的这五个元素,第一个元素能够看出消息结构体节点是以链表的形式来管理的。HCI相关的是指USB dongle这样的应用形式,由PC主机控制蓝牙BLE,咱们不讨论这样的应用。

    红色圈到的五个元素分别的是:

    1)id。即第一点说到的消息标识。

    2)消息由哪个目标task处理。

    3)发出消息的task

    4)消息參数的长度

    5)消息參数的结构体地址

    消息參数结构体是能够自己定义的,这里通过void*转换传入地址。


    4.3  消息动态内存管理

           RW内核专门给消息处理提供动态内存管理机制。接口是:

           void*ke_msg_alloc(ke_msg_id_t const id, ke_task_id_t const dest_id,

                       ke_task_id_t const src_id,uint16_t const param_len);

           一般给应用提供一个宏,用于简化写法:

                         #defineKE_MSG_ALLOC(id, dest, src, param_str) \

       (struct param_str*) ke_msg_alloc(id, dest, src, sizeof(structparam_str))

           释放接口是:void ke_msg_free(struct ke_msg const *param);. 在调度机制里面会通过推断消息处理的返回值对消息进行对应的处理,如释放消息的内存。用户编程一般不用调用释放接口。


    4.4    消息接口

           1)带參数的消息发送

           voidke_msg_send(void const *param_ptr); param_ptr须要通过ke_msg_alloc接口申请动态内存。

           一般的命令消息发送写法例如以下:

    structgapm_set_dev_config_cmd* cmd = KE_MSG_ALLOC(GAPM_SET_DEV_CONFIG_CMD,

                            TASK_GAPM, TASK_APP,gapm_set_dev_config_cmd);

       ke_msg_send(cmd);

           2)不带參数的消息发送

           voidke_msg_send_basic(ke_msg_id_t const id, ke_task_id_t const dest_id,ke_task_id_t const src_id)


    五、TIMER

    5.1 定时单位

    10ms,RW内核提供一个定时器,其并非DA14580集成的TIMER1和TIMER3。对定时器的初始化等工作是在BLE初始化内部的,不须要用户编程设置。

    用户仅仅须要调用RW内核的TIMER接口就可以。

    5.2    设置timer

    voidke_timer_set(ke_msg_id_t const timer_id, ke_task_id_t const task, uint16_tconst delay);

    timer_id是定时器消息。其属于一种不带參数的MESSAGE,delay是定时时间,10ms为单位,当时间到达时,RW内核会发送timer_id到目标task的消息队列。当内核schedule时即会运行定时器对应的回调。


    六、Schedule

    1.先取出最高优先级task的消息事件,该消息从消息队列中pop出来

    2.依据task的状态和消息ID来得到对应的handler

    3.运行该handler回调

    4.依据回调的返回值对消息进行处理

        1)假设返回KE_MSG_CONSUMED,则内核free掉该消息。

        2)假设返回KE_MSG_NO_FREE。则内核不处理该消息,但该消息也不会又一次放到消息队列,即内核不能再从消息队列中获得该消息。

        3)假设返回KE_MSG_SAVED。则内核不free该消息。并且将该消息又一次入列。


    七、基于状态机的RW内核消息处理机制

        Task数据结构例如以下:



    RW内核是基于状态机对消息进行处理的。从ke_task_desc看来,一个task包含显式的状态处理state_handler和默认的状态处理default_handler。

    state是task的状态机变量,task可能有多个状态。那么state_handler是状态处理集合,每一个状态可能会处理多个消息回调。比如上层task会发送消息来运行调用,或者下层task发送消息来运行回调。

    default_handler处理的消息代表该task在随意状态时都可能受到的消息,比如底层task发出的断开连接消息。

    我们也能够得出。ke_state_handler代表一个状态下的多个消息处理。

    因此,state_handler是一个ke_state_handler数组,而default_handler则是ke_state_handler元素。

     

    八、參考文献:

    《UM-B-015_DA14580 Software architecture v4.0.pdf》、

    《RW-BT-KERNEL-SW-FS.pdf》。

     

    下一篇。敬请期待:

    全球最低功耗蓝牙单芯片DA14580的软件体系

    -层次架构和BLE消息事件处理过程


    技术咨询请发邮件:yqwucheng@163.com。

    百分百原创。每周两篇。阿里、魅族、nvidia、龙芯、炬力、拓尔思等顶级企业资深project师分享----嵌入式、Linux、物联网、GPU、Android、自己主动驾驶等技术,欢迎扫码关注微信公众号:嵌入式企鹅圈,实时推送原创文章!



    转载于:https://www.cnblogs.com/ljbguanli/p/7290505.html

    展开全文
  • DA14580是Dialog公司研制的蓝牙单芯片,号称全球功耗最低,是TI CC2541的四分之一,是运动手环等穿戴类电子产品的常用芯片。但是DA14580的开发门槛不低,适合有蓝牙开发经验的团队来开发,不适合学习爱好者,在网络...

    DA14580是Dialog公司研制的蓝牙单芯片,号称全球功耗最低,是TI CC2541的四分之一,是运动手环等穿戴类电子产品的常用芯片。但是DA14580的开发门槛不低,适合有蓝牙开发经验的团队来开发,不适合学习爱好者,在网络上搜索DA14580相关的开发文章,基本上都是对官方仅有的几篇文档进行简单翻译,还不如直接阅读英文原文。笔者将对DA14580的系统架构和应用开发框架进行分析,之后再讲解如何进行应用开发。

           对于蓝牙单芯片应用开发来说,我们要关注的问题是:蓝牙协议栈方面如何新增一个GATT profile(服务和特征值定义及操作)、SOC内核方面如何驱动外围设备、系统应用框架上如何使用定时器和任务间消息通信等等。DA14580单芯片发布时并不是一颗裸片,而是带有开发平台和SDK包,还有常用的应用例程(如防丢proximity),我们要做的就是通过SDK和相关的文档去理解它整个系统架构和应用框架,在这个基础上才能去完成以上三个方面的开发。

    一、DA14580系统架构

    DA14580是基于Cortex M0架构,内置ROM、OTP和RAM。其中ROM固化了大部分协议栈和操作系统(单任务)的代码实现,而OTP一次性编程则是为了降低成本,实现用户的差异化应用需求。当用户通过SPI NORFLASH引导或者直接通过JLINK下载代码到RAM进行调试后,就可以通过SmartSnippets工具下载代码到OTP。量产产品即从OTP开始引导执行。

    DA14580集成的是第三方公司RW的蓝牙协议栈IP,范围包括GAT和GAP层及以下。因此我们可以在代码框架目录上看到RW开头命名的目录和头文件,官方文档涉及到蓝牙协议栈方面大部分都是RW公司出品。

     

    二、DA14580 开发例程目录和SDK目录结构

    DA14580的SDK开发平台使用keil,我们先来看看开发例程的目录结构,再来看SDK目录结构。前者简单一些,后者因为涉及到第三方IP、ROM等原因,目录实在是太多太细了,初接手真的会歇菜。

    防丢(proximity,英文是接近的意思)的开发目录结构如下:

     

    这里需要注意的是,ROM里面的固话代码,包括协议栈和单任务操作系统的相关管理代码也是整个工程应用的一部分,只不过没有列到开发目录里面。

    SDK目录架构如下:

     

    三、蓝牙profile和应用的角色和分工

    从工程的代码目录结构来看,每个profile都有一个以profile(如proxr)命名的.c文件,也有一个以profile_task(如proxr_task)命名的.c文件;相应地,每个应用子任务也有一个app_profile(如app_proxr)的.C文件,和app_profile_task(如app_proxr_task)的.c文件。一般地:

    在操作系统ke内核看来,Profile和profile_task共同完成一个task任务,其中app_proxr_task的task ID标识是TASK_PROXR。但app_profile和app_profile_task并不是一个具体的task任务,在代码目录的app目录,所有的task,包括app_proxr_task和app_batt_task(电池)、app_sec_task(安全)共同组成一个task,在app.c中完成任务创建,task的ID标识是TASK_APP。各个app_profile_task只不过完成应用的一个子场景功能,如防丢、电池告警等。

    app是主动发送消息给profile,以执行相应的蓝牙GATT服务和操作,并接受回调。即app是profile的上层。

    Profile任务执行GATT服务/属性的具体创建create、开启服务enable和属性特征的读写等操作,其调用ATT和GAP等底层接口来实现具体功能。Profile作为接口供给app层调用,app是通过消息通信来完成接口调用的。

    app_profile的代码一般包括主动调用的接口实现,而app_profile_task则是接受消息回调的接口实现。两者的分工是非常清晰的。

     

    四、应用开发框架

    DA14580的应用开发框架的核心是基于状态机和消息回调。以下分析以防丢proxr为例。

    1.    状态机

    每个任务都必须明确自己的状态表,例如proxr的状态表是:

     

    状态的初始化和转换是由用户主动切换的。在某个确定的状态时,内核会在对应的状态响应接口集中遍历所有发给该任务的消息。

    每个任务都会在初始化时被创建,例如proxr任务的创建是:

     

    这时,假设有个其他的任务发一个消息给TASK_PROXR,则会在proxr_disabled中查找相应的消息回调接口,并执行回调。

    2.    消息回调

    接下来看看各个状态的响应接口集,例如PROXR_CONNECTED连接状态时的状态响应接口集如下。可见,其会对两个消息进行回调,一个是底层ATT收到对特征值的写操作时执行回调,另一个应用层主动改写另一个特征值。在笔者的防丢和计步应用中,前者是实现防丢告警功能,后者是上报计步数据。

     

    3.    任务间通信

     

    消息发出之后,系统即会执行proxr_jibu_update_req_handler回调。

     

    另外,笔者会根据文章的阅读量考虑进一步对DA14580的SDK进行分析,如系统启动过程、服务建立过程以及上面说的,如何进行应用开发,即蓝牙协议栈方面如何新增一个GATT profile(服务和特征值定义及操作)、SOC内核方面如何驱动外围设备、系统应用框架上如何使用定时器和任务间消息通信等等。

    转载于:https://www.cnblogs.com/lifan3a/articles/10363846.html

    展开全文
  • DA14580开发文档

    2015-03-12 17:21:41
    DA14580是Dialog推出的目前业界体积最小、功耗最低的BLE器件。 附件为开发所需文档。
  • DA14580 业内功耗最低的蓝牙收发实验源码
  • DA14580入门总结

    2016-04-21 23:10:00
    话说DA14580功耗是业界最低的,这迷倒了一大批智能设备开发者投身到DA14580开发中,我也是这众多开发者之一.因DA14580资料少,使用人数较少的原故,网上能找到的资料找来找去就那么一点点的资料,最多就是把官网资料...
  • DA14580计步MPU6050

    2017-02-16 16:51:20
    利用DA14580作为主控芯片,使用MPU6050作为姿态检测,实现计步。超低功耗
  • DA14580开发板说明书

    2015-05-26 11:20:05
    DA14580开发板说明书,最近刚出的一款低功耗蓝牙芯片
  • 在作者之前发表的《全球最低功耗蓝牙单芯片DA14580的系统架构和应用开发框架分析》、《全球最低功耗蓝牙单芯片DA14580的硬件架构和低功耗》、《全球最低功耗蓝牙单芯片DA14580的软件体系-RW内核和消息处理机制》三...
  • DA14580集成电路具有完全集成的特性用于Bluetooth®低功耗的无线电收发器和基带处理器。它可以作为独立使用 应用程序处理器或托管系统中的数据泵。DA14580支持灵活的内存架构用于存储蓝牙配置文件和自定义应用 代码...
  • 现象:当设备处于睡眠的时候仍然有100多ma的电流问题原因:终端引脚模式设置的不对,主芯片应设置为 下拉输入(最开始是上拉输入,导致功耗高),6轴设置为推挽输出...
  • 网络罕见的蓝牙单芯片DA14580开发分享 -层次架构和BLE消息事件处理过程
  • 蓝牙低功耗模块,基于DA14580芯片,空旷的情况下传输距离能达到30米
  • DA14580,用于手环与智能手表的开发,这颗芯片是一颗带蓝牙SOC芯片,低功耗
  • 微控制器ATMega32U4通过UART端口与BLE模块(DA14580)进行通信,aka蓝牙低功耗(BLE)内置。您可以从Arduino IDE选择板式LilyPad Arduino USB开始编程。这是在您的项目中获得蓝牙4.0的最简单方法! BLEPad与以前的...
  • DA14580蓝牙规格书

    2014-06-25 14:57:39
    蓝牙4.0 BLE技术将成为未来无线控制,智能家居控制,穿戴式产品设计及物联网的重要技术之一,这是一个Dialog的蓝牙4.0芯片规格书,其封装小,功耗低,可以与TI的CC2541/CC2540做一比较
  • ble da14580资料收集

    2020-01-14 22:56:36
    功耗休眠模式: 本人实际调试功耗测试如下: 休眠 1.7uA; 广播 100uA, 正常工作 470uA; 1 转自:https://blog.csdn.net/sinat_23338865/article/details/83790023 睡眠代码:app_default_sleep_mode = ARCH_...
  • DA14580 UART2串口发送与接收

    千次阅读 2018-05-18 15:47:07
    1、注册UART2 IO口2、初始化UART2,tx rx口可以任意配置3、初始化函数放在void periph...,5、回调函数将串口接收的数据通过串口发送出去6、注意:DA14580串口做接收在低功耗模式下会有问题,建议做串口接收的时候不...
  • DA14580_SDK_3.0.4.0

    热门讨论 2015-01-16 08:51:47
    dialog 最新的BLE技术,功耗更低,上传官网SDK,希望对大家有用。
  • DA14580_SDK_3.0.2.0

    2016-02-27 17:00:02
    功耗蓝牙代码,已经开发完成包括计步器等简单功能,协议栈为第三方提供-Bluetooth low energy code has already been developed, including a pedometer and other simple functions, the protocol stack is ...

空空如也

空空如也

1 2 3
收藏数 60
精华内容 24
关键字:

da14580功耗