超过460,000+ 应用技术资源下载
pdf

DA14683学习日志(1) - Central 工程学习总结

  • 1星
  • 日期: 2018-08-07
  • 大小: 1.28MB
  • 所需积分:5分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: bleda14683

DA14683学习日志(1) - Central 工程学习总结

文档内容节选

Da14683 学习日志一 Central Demo 例程学习总结 概述 DA14683 是 Dialog 公司推出的针对智能家居工业和可穿戴设备的单芯片蓝牙 IC它 是 32bit ARM CortexM0 内核,支持蓝牙 5 及蓝牙 mesh,并且支持无限的外部闪存以获得 最大的设计灵活性其主要特性如下所示: 低功耗,仅 30uAMHz 可动态地控制时钟频率,从 32KHz 到 96MHz 高达 84 Dhrystone MIPS 具有 16KB 高速缓存 RAM 存储器的 4 路相联高速缓存控制器 专用应用处理器硬件加密引擎 0dBm Tx 输出功率和93dBm Rx 灵敏度 3431mA TxRx 3V 集成的换衡器balun 50匹配的单线天线接口 集成的降压 DCDC 转换器 VBat 电源电压范围 17V475V 用于外部器件的 3 个电源引脚 支持锂聚合物电池锂离子电池纽扣电池镍氢电池及碱性电池 电池充电器高达 50V,具有可编程充电曲线 高精度充电状态电量计 可编程阈值的掉电检测 ......

Da14683 学习日志(一) -- Central Demo 例程学习总结 概述 DA14683 是 Dialog 公司推出的针对智能家居、工业和可穿戴设备的单芯片蓝牙 IC。它 是 32bit ARM Cortex-M0 内核,支持蓝牙 5 及蓝牙 mesh,并且支持无限的外部闪存以获得 最大的设计灵活性。其主要特性如下所示: 低功耗,仅 30uA/MHz 可动态地控制时钟频率,从 32KHz 到 96MHz 高达 84 Dhrystone MIPS 具有 16KB 高速缓存 RAM 存储器的 4 路相联高速缓存控制器 专用应用处理器硬件加密引擎 0dBm Tx 输出功率和-93dBm Rx 灵敏度 3.4/3.1mA Tx/Rx @3V 集成的换衡器(balun) 50Ω匹配的单线天线接口 集成的降压 DCDC 转换器 VBat 电源电压范围 1.7V-4.75V 用于外部器件的 3 个电源引脚 支持锂聚合物电池、锂离子电池、纽扣电池、镍氢电池及碱性电池 电池充电器(高达 5.0V),具有可编程充电曲线 高精度充电状态电量计 可编程阈值的掉电检测 USB 充电检测和保护 37(AQFN)或 21(WL-CSP)通用 I/O,具有可编程电压电平 Quad-SPI 闪存接口 双 UART,其中一个具有硬件流控 双 SPI+接口 双 I2C 总线接口 @100KHz、400KHz 三轴正交解码器 带硬件采样率转换器的 PDM 接口(2 个麦克风或 2 个扬声器) I2S/PCM 主从接口,多达 8 个通道 具有消抖功能的键盘扫描仪 红外(IR)接口(PWM) USB 全速(FS-Full speed)设备接口 8 通道 10bit ADC,平均能力达到 11.5ENOB(Effective Number of Bits ) 三个匹配的白色 LED 驱动器 温度传感器 1 hǎo 好 y ī 一 shì 事 zhēn 真 zuò 做 rèn 认 Author :Mark Xu QQ:2912615383 mark@vsourcetech.com jiàn 件 开发环境 DA14683 用到的集成开发环境是 Dialog 公司自己开发的 SmartSnippets IDE,它是基于 Eclipse CDT 开发的,需要配置一下其它插件用以开发。先安装 SmartSnippets,然后再安装 其它软件,用以配置插件,需要安装的软件主要有以下几个: 软件名称 软件描述 SmartSnippets_Studio_v1.6.3_windows.zip Dialog 开的的集成开发环境 DA1468x_DA15xxx_SDK_1.0.12.1078.zip Dialog 的 SDK gcc-arm-none-eabi-7-2018-q2-update-win32.exe GCC 编译器,用来编译代码的 JLink_Windows_V632g.exe JLink 驱动,用于下载程序 Ozone_Setup_Windows_V256r_x86.exe 用于仿真的 Setup_SystemView_V252a.exe 用于仿真分析及监视数据的 SDK 简介 DA14683 的 SDK 中包括 ble_central,ble_peripheral,ble_usbhid 等例程。看前面 芯片的介绍,芯片功能确实很强大,但实际的例程并没有全面覆盖,所以会增加一些开发的 难度,这也是大部分新推 IC 的通病,为了抢占市场,仓促上阵。 文件夹名称 例程 例程描述 ancs Apple Notification Center Service (ANCS) client Demo application blp_sensor Blood Pressure Profile (BLP) Demo application bms Bond Management Service Demo application cscp_collector Cycling Speed And Cadence collector Demo application ble_profiles hogp_device HOGP Device Demo application 关于 Profile 相关的例程 hogp_host HOGP Host Demo application hrp_collector Heart Rate collector Demo application hrp_sensor Heart Rate Sensor Demo application htp_thermometer Health Thermometer Profile (HTP) Demo application wsp_weightscale Weight Scale Profile Demo ble_adv BLE ADV demo application ble_external_host BLE External Host Demo application Demos ble_multi_link BLE multi-link demo application 关于广播,功耗等的一些例程 peripherals_demo Peripherals demo application Features 一些特色的例程 power_demo Power Demo application pxp_reporter Proximity Reporter Demo application ble_central BLE central role device Demo implementation ble_peripheral BLE peripheral Demo application ble_suota_client This application is a SUOTA 1.2 client implementation and allows to 2 hǎo 好 y ī 一 shì 事 zhēn 真 zuò 做 rèn 认 Author :Mark Xu QQ:2912615383 mark@vsourcetech.com jiàn 件 update SUOTA-enabled devicesover the air, using simple serial ble_usbhid coex_test console interface. Include usb device and usb dongle This application tests the COEX/Arbiter subsystem extended_sleep Deep sleep application ftdf_test_phy_api Ping-pong test program for the FTDF driver. "Bare metal" version generic_winusb The FreeRTOS_Generic_WinUSB project kbscn_demo Keyboard scanner demo rf_tools_cli RF Tools CLI application suousb_loader (SUOUSB) This is an application for Software Update over the USB CDC This application is an example app about how to implement USB usb_cdc CDC. usb_cdc_smsd CDC and SmartMSD at the same time. This application is an example app about how to implement USB reference_designs plt_fw PLT FW reference design Templates 模块例程 freertos_retarget FreeRTOS template application with retarget freertos_rtt FreeRTOS template application with SEGGER RTT 以上 32 个例程就是 SDK 中的全部例程,在其开发文档中,描述的不是太详细,需要读 者自己看代码摸索。另外可配合/doc/html/index.html 文件,该文 件对 API 有详细的说明。 要想快速上手 SDK 一般要从两个例程下手,1)ble_central 2) ble_peripheral 是 的一个是主机例程,一个是从机例程,掌握好这两个例程,SDK 的基本框架就会明了,再看 其它例程就会很快上手。 因为近一段时间一直在折腾 usb_hid_dongle 工程,所以对 central 摸索的比较多,下 面先以 ble_cntral 工程进行分析总结,后面会对 ble_peripheral 例程做一篇学习笔记,如 果时间允许,等做完 ble_peripheral 的笔记,笔者会对其它例程逐一进行整理,这是后话, 下面就 central 的例程做一下整理。 ble_central 工程 工程结构 ble_central 工程包括以下几个文件夹 Binaries 存放的是生成的 elf 文件 Include 包含头文件路径及头文件 config 工程配置及系统配置相关的文件 App 用户应用层相关源文件(这个是我后面建的,原 DEMO 中没有) 3 hǎo 好 y ī 一 shì 事 zhēn 真 zuò 做 rèn 认 Author :Mark Xu QQ:2912615383 mark@vsourcetech.com jiàn 件 misc 关于内在地址的一些配置,不需要改动 adapters 存放的是系统应用层的驱动接口源文件,包括电池,i2c,uart 等 ble BLE 协议栈相关的源文件,一般情况下不需要修改 ble_service 存放的是蓝牙服务相关的源代码 bsp_include 存放的是底层相关的一些头文件 config 存放的是配置相关的头文件,一般情况下不需要修改 sdk cpm 存放的是系统相关的一些应用文件,一般情况下不需要修改 FreeRTOS Idscripts memory osal 存放的是 FreeRTOS 相关的一条源文件,一般情况下不需要修改 链接相关的一些文件,不需要修改 关于外部 FLASH 相关的源文件,换外部 FALSH 时可能要修改,目前没仔细研究 系统相关的源文件,一般情况下不需要修改 peripherals 芯片外设相关的驱动,在适当的时候调用或者配合系统调用 startup 关于芯片底层的一些配置文件,暂时不需要改动 用户应用相关源文件 1) main.c 该文件是一些初始化函数,启动蓝牙协议栈,启动相关任务,主程序入口函数等。 函数列表 该文件中主要包括以下几个函数:  static void system_init( void *pvParameters ) – 系统初始化函数,包括系统时钟初始化, 硬件接口初始化,蓝牙协议栈初始化,central_task 启动等 int main( void ) – 主程序入口,主要是建立初始化任务,启动系统等功能 static void periph_init(void) – 外设驱动初始化,这里主要是串口引脚初始化 static void prvSetupHardware( void ) – 硬件初始化相关 void vApplicationMallocFailedHook( void ) – 动态分配内存失败的钩子函数 void vApplicationIdleHook( void ) – 空闲应用钩子函数 void vApplicationStackOverflowHook( OS_TASK pxTask, char *pcTaskName ) – 栈溢出钩       子函数  void vApplicationTickHook( void ) – 滴答应用钩子函数 函数简介 下面对这几个关键函数做一下简单的注释,以方便理解: 函数名称 : system_init 函数描述 : 系统初始化,包括时钟初始化,硬件接口初始化等 入口参数 : *pvParameters – 入口参数,系统需要,目前暂时没有用到 出口参数 : None 4 hǎo 好 y ī 一 shì 事 zhēn 真 zuò 做 rèn 认 Author :Mark Xu QQ:2912615383 mark@vsourcetech.com jiàn 件 函数备注 : None 函数名称 : periph_init 函数描述 : 外设驱动初始化,Dmo 中初始化是的灯,这里我改成了串口引脚初始化 入口参数 : None 出口参数 : None 函数备注 : None 函数名称 : main 函数描述 :主程序入口 入口参数 : None 出口参数 : None 函数备注 :包括各种初始化,建立任务,启动任务等 函数名称 : prvSetupHardware 函数描述 :硬件初始化 入口参数 : None 出口参数 : None 函数备注 : None 关于硬件初始化方面,需要根据硬件设计做局部调整,这与其它 MCU 的设置类似,这里不再赘述。 2) ble_central_task.c 该源文件涉及到整个 central 角色的处理逻辑,所以需要好好理一下。下面结合相关函数,逐一总结。 函数列表 源文件中涉及到函数如下所示:       5 static const char *format_bd_address(const bd_address_t *addr) – 将 MAC 地址转换在字符串 static const char *format_uuid(const att_uuid_t *uuid) – 将 UUID 转换成字符串 static const char *format_properties(uint8_t properties) – 将属性值转换成字符串 static void format_value(uint16_t length, const uint8_t *value) – 将数值转换成字符串 static void scan_dev_evt(bool sw) – 启动/停止扫描 static void handle_evt_gap_adv_report(ble_evt_gap_adv_report_t *evt) – 处理广播数据包及应答数据包 hǎo 好 y ī 一 shì 事 zhēn 真 zuò 做 rèn 认 Author :Mark Xu QQ:2912615383 mark@vsourcetech.com jiàn 件
更多简介内容

推荐帖子

Da14683学习日志(一) -- Central Demo例程学习总结
本帖最后由 懒猫爱飞 于 2018-8-7 10:09 编辑 此内容由EEWORLD论坛网友懒猫爱飞原创,如需转载或用于商业用途需征得作者同意并注明出处 概述 DA14683是Dialog公司推出的针对智能家居、工业和可穿戴设备的单芯片蓝牙IC。它是32bit ARM Cortex-M0内核,支持蓝牙5及蓝牙mesh,并且支持无限的外部闪存以获得最大的设计灵活性。其主要特性如下
懒猫爱飞 RF/无线
430学习总结
430单片机确实和51有些差别,低功耗模式非常适合当前的发展趋势。丰富的时钟选择,及内部和外部资源。都决定了它是一款难学,好用,方便的单片机。强大的功能又对它的稳定性提出了挑战通过自己的学习,以及这几天帮助同学解决其中的问题,我同时对430有了更加深入的认识,下面我也就对它简单做如下总结:430的学习中时钟是一个很重要的模块:首先有3个可选的时钟源.方便MCLK、SMCLK、ACLK的选择。对速度
Widic 【微控制器 MCU】
openwrt学习总结
详见附件: Openwrt编译及烧写 Build.tex     Building an image        Openwrt采用不同的方式来build a firmware,从头开始来dowloading、patching、compiling一切,包括交叉编译器。也就是说,openwrt不包含任何可执行程序,甚至源代码,他自动下载源代码、打补丁来满足指定平台,并编译。通过修改templat
chenzhufly RF/无线
BLE 学习资料整理
蓝牙4.0是 Bluetooth SIG 于2010年7月7日推出的新的规范。Bluetooth 4.0,协议组成和当前主流的Bluetooth h2.x+EDR、还未普及的Bluetooth h3.0+HS不同,Bluetooth 4.0是Bluetooth从诞生至今唯一的一个综合协议规范,还提出了“低功耗蓝牙”、“经典蓝牙”和“高速蓝牙”三种模式。 射频方面,发射功率被控制-2
linjiang 下载中心专版
ROOKIE--F28335学习经验记录_双通道AD/DA的使用
学习日常日志1 第一篇水文,会不会被潜规则 本水文只适合新手观赏娱乐,也是为了学习过程中的总结,大佬们请手下留情(请使劲打脸) 这次使用了TMS320F28335开发板和TLV5618双路DA输出模块,使用F28335进行双通道的AD采样,再将采样数据发送给TLV5618模块 F28335上使用到的功能模块:1.ADC 模块 2.SPI模块 下面主要记录分享F28335的ADC配置
乘鲤而去 【微控制器 MCU】
5年单片机学习总结
人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。   在2003年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用C语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实
songbo 单片机

评论


个人中心

意见反馈

求资源

回顶部

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子

搜索下次设计所需的
TI 器件

● 目前在售器件有45,000款
● 6.99美元标准运费,不受时间和地点限制
● 无最低起订量要求

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

EEWorld电子技术资料下载——分享有价值的资料

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })