BLE协议学习笔记课件_第1页
BLE协议学习笔记课件_第2页
BLE协议学习笔记课件_第3页
BLE协议学习笔记课件_第4页
BLE协议学习笔记课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》“nRF52832的IO口可以通过DIR配置,和PIN_CNF[n]单独配置。当其中一个寄存器(DIR或PIN_CNF[n])改变后其它的寄存器会自动跟着改变。PIN_CNF[n]与其它寄存器不同是单独,而其它是对GPIO口所有的脚配置。PIN_CNF[0]~PIN_CNF[31]针对32个IO口分别配置,其中还有DIR设置的功能。见下图:“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》左图给出了PIN_CNF[n]寄存器图,其中同样有“DIR”,“INPUT”,“PULL”,“DRIVE”,“SENSE”等配置位。

这个寄存器是对每个PIN脚的设置。“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》一直对此描述不懂,后来经青风指点明白了:字段:DRIVEStandard0,standard1是芯片内部的配置几种形式,当我们将该字段ID赋0~7时是指其驱动能力由弱到强的7个等级。即:0最弱其内配置为S0S1(Standard0,Standard1)“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》这里我们讲几点关键的:

1第一次用引脚必须对该引脚配置比如p0.16这个按钮

NRF_GPIO->IN_CNF[16]=(0<<0)

//key0将0左移0位0

|(0<<1)//将0左移1位与前面的或0

|(3<<2)//将3左移2位1100//1la

|(4<<8)//将4左移8位10000000000

|(3<<16);//将3左移16位110000000000000000

以上全部或运算

可以看到bit0,bit1,bit(2,3),bit(8,9,10),bit(16,17)

我来讲下PIN_CNF[n]

这个n代表硬件的引脚0~31用法NRF_GPIO->

IN_CNF[16]就是设置p0.16脚

PIN_CNF

是32位寄存器bit31~bit0这里只用部分几个位(妈比的总算看到个用寄存器比较奢侈的单片机了)

bit0

写0为输入,写1为输出(和DIR的寄存器关联也可以设置)

bit1

设置PIN[]的INPUT缓冲(写1断开缓冲,写0连上)

bit(3,2)

设置上下拉13k内置电阻,00无拉,01下拉电阻,10保留,11上拉电阻。应该有错,手册说的是01上下拉,

bit(10,9,8)

设置驱动强度000是最弱,我输出用011

我输入用100

此处为100

bit(17,16)

这是中断用的触发沿(10是上升沿触发,11下降沿触发)

原点电子网的帖子学习“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》20GPIO—Generalpurposeinput/output

Thegeneralpurposeinput/output(GPIO)isorganizedasoneportwithupto32I/Os(dependentonpackage)enablingaccessandcontrolofupto32pinsthroughoneport.EachGPIOcanbeaccessed

individually.

GPIOhasthefollowinguser-configurablefeatures:

•Upto32GPIO

•8GPIOwithAnalogchannelsforSAADC,COMPorLPCOMPinputs

•Configurableoutputdrivestrength

•Internalpull-upandpull-downresistors

•Wake-upfromhighorlowleveltriggersonallpins

•Triggerinterruptonstatechangesonanypin

•AllpinscanbeusedbythePPItask/eventsystem

•OneormoreGPIOoutputscanbecontrolledthroughPPIandGPIOTEchannels

•Allpinscanbeindividuallymappedtointerfaceblocksforlayoutflexibility

•GPIOstatechangescapturedonSENSEsignalcanbestoredbyLATCHregister

1.将32个I/O组合成一个PORT(端口),可以通过一个端口控制32个I/O脚2.GPIO口有以下功能配置*有32个GPIO口*有8个GPIO可用于模拟输入,供给SAADC、COMP或LPCOMP;*可以配置输出的强弱*内部有上下拉电阻*所有PINS具有高电平唤醒或低电平触发*任意pins的变化状态都能触发中断*全部pins都能使用PPI系统事件*一个或多个GPIO输出可以通过PPI和GPIOTE控制通道*所有的pins都可以映射,以利于布局*GPIO捕捉到的感应信号的变化状态都储存在LATCH寄存器“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》讯联电子提供nRF52832板及芯片和技术支持nRF52832芯片的特点(括号内为nRF51的比较):32/64MHZ外部时钟片上集成512KBFLASH,64KBRAM(存储空间翻倍)7.7mA

TXat+4dBm

5.5mATXat0dBm

5.5mARXat1Mbs空中兼容NRF24L系列、NRF24AP系列、NRF51系列SOC多达20个PPI通道(增加4个)发射功率-20dBm-4dBm超低待机电流:400nA(更低)

接收灵敏度

-96dBm(BLE)(提升3dBm)

-92.5dBm(ANT)集成NFC,支持近场检测与唤醒;支持OOB配对(更节能的BLE时代已经来临)集成BALUN

(省去外围元件达4个以上)集成PDM、IIS接口(BLE传输数字音频不是梦)3X4通道PWM输出(终于有硬件PWM接口了)12BIT200KSPSADC(精度提升2位,转换速度更快正式量产版芯片,绝非工程样片

“学习nRF52832笔记”“可以用SMT32开发板学习C++”.参考网盘文件《边学边用突破C语言》

IO端口完全兼容官方PCA10040,所有端口都已经引出。所有官方30多个例程无需修改即可使用。最新版本的nRF52832芯片

64KRAM,功耗更低,性能更优越.高效板载PCB天线,通讯距离可达到15米。预留外接天线接口。预留JLINK调试接口,可以选择本公司或者原厂的调试器。支持蓝牙抓包。空中兼容nRF24L01、nRF24AP系列、nRF51系列通讯,蓝牙/2.4G蓝牙鼠标的不二之选。预留电流测试端口,辅助电路跟BLE电路分别供电,方便准确评估BLE系统电流消耗三种供电方式,USB,CR2032纽扣电池,3.7V锂电池。开发板可以对外给传感器模块供电。板载CPL2102高性能USB转串口芯片。板子尺寸适中,黄金比例,板子有固定脚,使用方便。再也不用担心板子放不稳了。一个单体RGB七彩LED,充分发挥你的创意。四个用户按键,四个用户LED。独家的传感器SHIELD。预留4PIN插针SWD调试接口。预留2个8PIN的传感器接口,支持ARDUINO的几十款传感器。预留模拟接口、数字接口、电源接口,跟ARDUINO兼容,可以直接把各种SHIELD接扣在开发板上。直接运行所有官方NRF52DK程序,更多教程正在编写中.提供NORDIC官方培训资料。独家提供BLE英文经典著作InsideBluetoothLowEnegy(请友商自重)独家提供BLE英文经典著作TheDeveloper'sHandBook(请友商自重)优良的性能。板子所有的电容电感都采用村田品牌,电阻采用国巨品牌。每块板子出货都经过频谱仪的测试。支持安卓4.3及以上和IPHONE4S以上手机。提供安卓APK和IOSAPP源码。所有资料终生免费。设计合理,做工精美。“学习Altiumdesigner笔记”发现Alitumdesigner16的一个功能:将一条线剪断。如上,用BreakWire可以将导线剪断,也不是删除整条线。“学习Altiumdesigner笔记”一个不小心的操作使元件的脚位标识不见了,整了两小时都不知是什么原因,最好恢复默认设置才解决。原来是参数设置将单位搞错。本来是想设为5mm,却成了5m。结果标识跑天外去了“学习Altiumdesigner笔记”1.布好局后要先将地孔扇出,避免布好线后找不到位置放过孔。特别是多层板更好事先将地孔放好。所有的地周围都要放,待布完线后敷铜时与地平面形成回路。2.地平面敷铜后要将引脚间的铜箔剪除,以防短路。3.敷好铜的地平面如与另一面同GND,则可多补几个过孔。地与地平面是有区别的,地是指电路图中的GND,GND在布线时有时会走很远的线,并不能很好地提供信号的回路,而地平面是大面积的敷铜,虽然与GND是一个网点,但地平面的主要作用是为信号形成回路而设计的,GND与靠近的地平面相连可以缩短信号回路。“学习BLUETOOTH笔记”LDO和DC/DC模式比较。电源管理模式“学习BlueTOOTH笔记”•Flexiblepowermanagement灵活的电源管理,如下几种模式:

•Supplyvoltagerange1.7V–3.6V供应电压范围为1.7-31.6伏

•FullyautomaticLDOandDC/DCregulatorsystem全自动LDO和dc/直流调节系统

•Fastwake-upusing64MHzinternaloscillator用64兆赫的内部振荡器快速唤醒

•0.3μAat3VinOFFmode0。3a在3伏的模式下

•0.7μAat3VinOFFmodewithfull64kBRAMretention0.7μAat3V在有64kB的内存保留模式下,•1.9μAat3VinONmode,noRAMretention,wakeonRTC

1.9uAat3V在RAM全开模式下,以RTC唤醒。Nrf52832具有灵活的电源管理能力“学习nRF52832笔记”HFINT内部高速振荡器LFXO外部低速晶体振荡器HFCLK时钟控制器标准SYNT频率合成器LFRCRC振荡器LFCLK低速时钟控制器HFXO外部高速晶体振荡器PCLK1MPCLK16MPCLK32MPCLK64MPCLK32KlHFCLKSTARTHFCLKSTOPLFCLKSTOPLFCLKSTARTHFCLKSTARTEDLFCLKSTARTEDXC2XC1XL1XL232.0MHz32.768KHznRF52832时钟系统“学习nRF52832笔记”HFINT内部高速振荡器LFXO外部低速晶体振荡器HFCLK时钟控制器标准SYNT频率合成器LFRCRC振荡器LFCLK低速时钟控制器HFXO外部高速晶体振荡器PCLK1MPCLK16MPCLK32MPCLK64MPCLK32KlHFCLKSTARTHFCLKSTOPLFCLKSTOPLFCLKSTARTHFCLKSTARTEDLFCLKSTARTEDXC2XC1XL1XL232.0MHz32.768KHznRF52832时钟系统nRF52832有5个时钟源,1是内部64M的振荡器;2是外部晶体振荡器;3是内部RC振荡器;4是外部低速晶体体振荡器;5是合成频率(实际是64M高速振荡器分频得到的)。由两个时钟控制器(HFCLKANDLFCLK)为系统提供5种时钟:1MHz;16MHz;32MHz;64MHz;32.768KHz“学习nrf52832CLK时钟寄存器笔记”“学习C语言”Horsetrigger声明了一个Horse结构的trigger变量,该Horse结构类型有age,height,name,mother,father等成员,在给各成员赋值时可以在大括号中省略变量名,直接在成员前加句点。加Typedef后可以省掉struct,如下:Typedef就是自定义Horse为structHorse,有点像宏定义。“学习nrf52832CLK时钟寄存器笔记”一直对BLE协议不懂,主要纠结在服务、特性、属性。实际上是因为觉得属性、服务、特性等有重复。总觉得要找一个特性(就是现实中理解的功能)可以直接从属性中去找某特性,不要绕弯子从属性、服务、特性最后才到我要找的某一具体的特性。原来是因为BLE的终极目的是低功耗。所以在查找时也要以最快的速度找到所要的特性,这样接收与发送的时间才会最短,那么消耗的功率也就最少了。从这一点出发,假设我们要找现实世界中的某一款产品,要从世界范围来找可能大型计算机都无法很快完成,更何况BLE这种微CPU就更无能为力了.就是耗尽所有能量也不能完成。但我们要是将其分类,如以时间、类别、生产地来区分,这样搜索范围就会逐级极速减少,这样查找就会快很多了。学习这些先要在脑海中将这一个概念牢记,其它就可以理解了。!!!BLE协议其次就是对一些属性、服务、特性等抽象的东西,蓝牙兴趣小组都有给出相应的UUID码。以前在学的时候,对这些抽象的东西给予编码(UUID)总是不能理解,认为编码就应该是对现实中实实在在存在的东西(如对特性直接编码)才会编码。对“服务”、“属性”、“特性”都进行编码一下子很难理解。其实这就是在为查找缩小范围而必须的做法,因为BLE将所有的事都原子化了,这样对这些概念也就必须要进行分类,才能很快找到相应的事务。实际上在BLESIG中对“服务、属性、特性”的编码是:0x2800…如下图:0x00010x28000x180D

还有一点,因为这些“服务、特性….”我们人可以理解是一个概念,但计算机是无法理解的,所以要给其编码,这就是为什么有UUID的原因。学习BLE协议时,我们要将其比作为C语言的不同变量类型,这样就好理解了。但有一点不一样的是,有些现实中我们认为具有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论