nRF51822 芯片详解.doc_第1页
nRF51822 芯片详解.doc_第2页
nRF51822 芯片详解.doc_第3页
nRF51822 芯片详解.doc_第4页
nRF51822 芯片详解.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

0、功能简介IC功能包括:256kB片上闪存和16kB RAM;数字和混合信号周边,包括SPI、2-wire、ADC以及正交解码器;16 PPI通道;撘配片上LDO时电源范围为1.8-3.6V,LDO旁路模式为1.75-1.95V;片上下拉DC/DC转换器用于3V电池(例如,纽扣电池);片上+/- 250 ppm 32kHZ RC振荡器,在蓝牙低功耗应用,不需外部32kHz晶体,可节省成本和电路板空间;6x6mm 48脚QFN封装,提供最多可达32个GPIO;完整的蓝牙协议堆栈(到配置文件的链接层)。nRF51822的S110是可下载、免版税、预编译二进制蓝牙低功耗堆栈,可独立编程和更新。功能包括:异步和事件驱动SVC的API;运行时保护;GATT、GAP和L2CAP级别API;周边和广播器角色;GATT客户端和服务器;和2.4GHz RF专用协议的非并行多协议操作;少于128kB的代码和6kB的RAM,为应用程序留有超过128kB的闪存和10kB的RAM;与使用上一代nRF8001的双芯片应用相比,运行S110堆栈的nRF51822削减了高达50%的功耗。S110堆栈和nRF51822加上nRF518 SDK相互配合,nRF518包含全面的蓝牙低功耗配置文件、服务以及示例应用集合。1、架 构围绕两条内部总线展开 :AHB,APBAHB (Advanced High Performance BUS): CPU: ( Cortex-m0,NVIC,BBB,DAP) Memory : ( RAM, Flash) GPIO : P0(P0.0P0.31) AHB to APB Bridge APB (Advanced Peripheral BUS):左半边:Power:电源控制WDT:看门狗SPI0,SPI1 TIMER0(32位),TIMER1(16位),TIMER2(16位)QDEC: 正交译码器, CLOCK:提供两个时钟:HFCLK(16MHZ),LFCLK(32.768KHZ)TWI0,TWI1 :两线接口,兼容I2C 右半边:NVMC :非易失性存储控制器RADIO: 2.4GHZ 无线广播的数据率:250KBPS,1MBPS,2MBPSECB: 加密功能(AES),产生HASH序列,数字签名,生成密钥流等RNG: 产生随机数用于加密(基于内部热噪声),无需种子值。TEMP:温度传感器ADC:10位增量ADCPPI :可编程外设互联UART:串口GPIOTE: GPIO监测外部电平或由其他外设触发GPIO翻转。RTC0 :4个 捕获/比较 寄存器RTC1 :3个 捕获/比较 寄存器2、时钟管理系统依赖两种时钟(可以由内部产生):1、HFCLK: 16MHZ 2、LFCLK: 32.768kHzLFCLK有3种时钟源:1、32.768kHz 外部晶振2、32.768kHz 内部RC振荡器3、32.768kHz 合成时钟(synthesized clock)当系统从OFF模式切换到ON模式时,LFCLK时钟默认的会关闭。 启动:通过低频时钟源寄存器(LFCLKSRC register)选择优先的低频时钟源,使其起振,并执行一个低频起振任务(LFCLKSTART task),若外部晶振无法直接起振,则会自动切换到内部低频RC振荡器,直到外部晶振能够起振为止。停止:通过执行LFCLKSTOP task .可以停止低频时钟,低频时钟源选择寄存器(LFCLKSRC register)在LFCLK处于running状态时,不能被修改。HFCLK有2个时钟源:1、16/32 MHz 外部晶振 (crystal oscillator)2、16MHz内部RC振荡器(RC oscillator)当用到32M晶振时, XTALFREQ register 必须做相应的配置。启动:当系统进入ON模式时,会自动的启动内部16M RC振荡器,为CPU或系统的其他部件提供HFCLK。 执行HFCLKSTART task 能使外部高频晶振启动停止:通过执行 HFCLKSTOP task使外部高频晶振停止。当外部高频晶振启动时,内部16M RC振荡器会自动关闭,当外部高频晶振停止时,内部16M RC振荡器又会自动打开。校准32.768 RC振荡器:当32.768 RC振荡器启动并运行时,可以通过触发CAL task 对其进行校准,此时需临时借用HFCLK,使用外部16/32M 晶振进行校准时精度最高,校准完成后产生一个 DONE event.当一个应用程序使能某个模块并需要时钟做参考,但是又不需要晶振运行时,时钟管理系统会自动使能RC振荡器选项,并提供时钟,当该模块回到IDLE状态时,RC振荡器也回到IDLE状态。当然,为了避免启动延时,应用程序可以不顾时钟管理系统,而使晶振始终处于激活状态。外部高频晶振可以是16M或32M 但是系统时钟始终是16M。32.768K的时钟可以由16M的时钟得到,减少了资源,但是会增加功耗电气特性:3、电源管理1、3种供电方式:1 、internal DC/DC converter setup;(降压型)2 、internal LDO setup;(内部LDO)3 、Low Voltage mode setup1:DC/DC转换器用来给VDD降压,降压后输出给LDO,为系统体统电力。为了省电,一般在VDD低于最低电压或FDCDC 1时,应该关闭DC/DC2、不通过DC/DC转换器,而直接把VDD与LDO相连,3、不通过DC/DC及LDO,而直接用外部VDD为系统供电2、两种系统模式System ON mode、System OFF mode.u System OFF mode :系统可进入的终极省电模式。系统核心功能将被关闭,并停止所有正在执行的任务。唯一还在工作并且可产生回应的机制是复位。System OFF is the deepest power saving mode the system can enter. In this mode,the systems core functionality is powered down and all ongoing tasks are terminated. The only mechanism that is functional and responsive in this mode is the reset mechanism. 通过设置RAMON 寄存器,可以在System OFF 模式下保留RAM块中的内容。从System OFF唤醒(wake up)到System ON模式: 1,由GPIO产生的检测信号(DETECT signal) 唤醒 2,由Reset 唤醒当系统从System OFF模式唤醒时,会执行Reset操作When the system wakes up from OFF mode, a system reset is performed.RAM 被分块,可以单独的上电和关闭。在System OFF 模式,RAM中的数据可以被保留,u System ON mode :所有功能模块会根据需要处于IDEL或RUN 模式在该模式下,CPU可以被激活(active)或者睡眠(sleeping).CPU进入睡眠的方式:1、执行WFI指令2、执行WFE指令1通过WFI睡眠的CPU,能够被中断请求唤醒,前提是在NVIC中把相应的中断开关打开。2通过WFE睡眠的CPU,无论NVIC中是否打开了相应的中断开关,都能够被中断请求唤醒。In WFI sleep the CPU will wake up as a result of an interrupt request if the associated interrupt is enabled in the NVICIn WFE sleep the CPU will wake up as a result of an interrupt request regardless of the associated interrupt being enabled in the NVIC or not. u 子电源模式 (Sub power modes)在System ON 模式下,CPU睡眠期间,系统可以处于下列两种子电源模式中的一种 固定延时(Constant Latency) 低功耗(Low Power)1、 固定延时模式:CPU的唤醒潜伏期和PPI的响应时间是一个不变量,代价是功耗较高。2、 低功耗模式:在此模式下,电源管理系统会被最高效的利用,节省最多的电能,代价是CPU的唤醒潜伏期和PPI的响应时间就会多种多样。当系统进入System ON模式,会默认进入低功耗(Low Power)子模式。3、复位方式nRF51系列提供多种复位方式,当复位发生的时候,CPU会查询复位原因寄存器RESETREAS (reset reason register),以判断复位产生的原因。1、上电复位(Power-on reset)2、引脚复位(Pin reset)3、从System OFF模式醒来复位(Wakeup from OFF mode reset)4、软件复位(Soft reset)5、看门狗复位(Watchdog reset)6、欠压复位(Brown-out reset)Note: 除了全局电源系统开关(System ON and OFF mode),CPU, Radio Transceiver 等外设,都有独立的电源状态控制。4、电气特性5、CPU功耗:4、存储所有存储块(memory blocks)和寄存器(registers)映射在同一个地址空间。All memory and registers are found in the same address space as shown in the Device Memory Map. Devices in the nRF51 series use flash based memory in the Code, FICR, and UICR regions.The RAM region is SRAM.主要的存储类别: Code memory Random Access Memory (RAM) Peripheral registers (PER)另外,还有两个信息块(FICR,UICR),FICR包含设备的详细配置(只读),UICR是用户可配置.存储方式: Volatile memory (VM) Non-volatile memory (NVM)Code memory:非易失性,通常用来存放CPU运行的程序,和芯片掉电之后保留的数据常量(data constants)RAM:CPU程序的临时数据存储,也可以从RAM运行CPU程序。易失性,掉电丢数。Peripheral registers:外设的入口,TIMER,Radio,ADC 等。Note:NVMC、外设的内存映射将在六中详解。5 外设接口Peripheral interface 所有外设可通过AHB和APB总线寄存器被访问,就如同通过 task, event, interrupt 寄存器进行访问一样.1、外设ID:每个外设都分配了0X1000 bytes 的空间,也就是说每个外设在APB总线上一共有1024个4 bytes的寄存器(0X1000=4096),第一个外设的基地址是0x4000 0000, ID号为0. 基地址为0x4000 1000的外设ID号为1,依次类推基地址为0x4001 F000的外设ID号为31.2、TASK : 作用: 用来触发外设的动作(actions),例如开始某个特定的行为。外设都能实现不同的Task,每个Task在该外设任务寄存器组(peripherals task register group) 中都有一个单独的寄存器 触发条件:可以通过软件写“1”到任务寄存器(task register)或者由外设本身或其他外设触发相应的任务信号来触发某个TASK2、Event:作用:用来通知外设或CPU某个事件发生了,例如某个外设的状态改变了。一个外设能够产生多个Event,每个Event在事件寄存器组(peripherals event register group)中都有一个单独的寄存器。产生条件: 外设本身触发了某个事件信号(event signal),于是事件寄存器(event register)会更新用以反映该事件的发生。事件寄存器只有在软件向其写0的时候,才会被清零。3、Shortcuts:链接同一个外设的事件(event)和任务(task)的快捷方式,当事件发生的时候可以通过Shortcuts直接触发任务。与PPI的功能类似,但是传播时间比PPI更短。快捷方式是被预先定义了的,用户不可以通过软件配置,用户只能对其进行使能和关闭。一个快捷方式占1位,每个外设最多32个快捷方式。4、Interrupts:中断由事件(event)产生,可以打断CPU程序流。所有APB总线上的外设都支持中断,一个外设只占一个中断,中断号与外设的ID号相同,例如ID号为4的外设,在向量嵌套中断控制器(NVIC)对应的中断号为4.所有的外设遵循表10 中的寄存器组模式,除了SHORTS和INTEN有固定的位置,其他的寄存器都分了组,并且是紧挨着的。INTEN 可实现“set and clear”模式,即可以直接对位进行操作。也就是说可以单独选择打开或关闭中断源。 6、各外设功能介绍1、GPIO一共有31个GPIO管脚(P0.0P0.30),可以通过管脚配置寄存器 PIN_CNFn registers (n=0.30) ,对每个管脚进行单独的配置,配置的参数包括:l Directionl Drive strengthl Enabling of pull-up and pull-down resistorsl Pin sensingl Input buffer disconnectl Analog input (for selected pins)2、GPIOTE (GPIO tasks and events)功能:利用任务(task)和事件(event)对GPIO口进行访问。可以通过CONFIGn registers 对task和event进行配置。Task 可以用来执行以下对管脚的写操作:l Set置1l Clear 清0l Toggle 翻转利用输入引脚的检测信号(DETECT signal)可以产生以下event:l Rising edge 上升沿l Falling edge 下降沿l Any change 任何改变3、PPI 功能:PPI 可以实现不同的外设之间通过tasks和events进行自主互动,而不需要用到CPU。The Programmable Peripheral Interconnect (PPI) enables different peripherals to interact autonomously with each other using tasks and events and without having to use the CPU.一个外设的event可以触发另外一个外设的task。The PPI provides a mechanism to automatically trigger a task in one peripheral as a result of an event occurring in another peripheral.PPI通道的作用是使一个event链接 着一个task,每个PPI通道由两个端点寄存器(end-point registers)组成:event端(EEP)和task端(TEP)。A task is connected to an event through a PPI channel. The PPI channel is composed of two end-point registers, the Event End-Point (EEP) and the Task End-Point (TEP).一个外设的task 是通过该task的任务寄存器地址(the address of the task register)与TEP相连的。同理event。当应用程序存在实时要求(real-time constraints exist),又不需要CPU参与时,PPI可以实现外设之间的精确同步。4、Radio (2.4 GHz radio)Radio 可实现 EasyDMA ,即无需CPU的参与而直接访问RAM。EasyDMA不能访问除RAM之外的其他地址空间。(Para16.)PACKETPTR 数据包接收/发送指示器,每当Radio在接收和发送模式之间进行切换的时候,CPU需对其进行重新配置。 MAXLEN register 用来配置同一个数据包接收和发送时的最大字节数。用来确保不会写得过多(overwrite)或读超出(read beyond)RSSI 接收信号强度指示器数据白化(数据加噪):白化处理主要是为了避免在传输过程中出现过长的连续0或1的位流。基带处理器需要从接收到的模拟数据信号中判断数据是0还是1,但过长的连续0或1位流就会造成问题。因为在接收到的模拟数据信号中并不存在象直流信号中那样的参考点,因此必须依靠接收到的最后几个传输信号进行校正。任何连续的0或1的长序列位流串都可能导致校正失败。因此需要采用数据白化技术对信号进行扰码处理,以大大降低出现长序列0或1位流串的可能性。worldwide ISM frequency band at 2.400 to 2.4835 GHzu General modulation featuresn GFSK modulation Data whitening 7 bit linear feedback shift register (programmable IV) On-air data rates 250 kbps 1 Mbps 2 Mbps u Transmitter with programmable output power of +4 dBm to -20 dBm, in 4 dB stepsu Transmitter whisper mode: -30 dBmu RSSI function (1 dB resolution, 6 dB accuracy) u Receiver with integrated channel filters achieving maximum sensitivity -96 dBm 250 kbps -93 dBm 1 Mbps BLE -90 dBm 1 Mbps -85 dBm 2 Mbpsu RF Synthesizer 1 MHz frequency programming resolution 1 MHz non-overlapping channel spacing at 1 Mbps and 250 kbps 2 MHz non-overlapping channel spacing at 2 Mbps Works with low-cost 60 ppm 16 MHz crystal oscillatorsu Baseband controller EasyDMA3 RX and TX packet transfer directly to and from RAM Dynamic payload length On-the-fly packet assembly/disasse mbly and AES CCM payload encryption 8 bit, 16 bit, and 24 bit CRC check (p rogrammable polynomial and initial valu5、TIMER(Timer/counters )大量的TIMER task/event及中断,可以使各种系统外设(包括GPIO)通过PPI 系统执行定时或记数任务(timing/count tasks).PPI系统也可以使能定时器(TIMER task/event features)来产生周期性输出(periodic output)或PWM信号到任意的GPIO口。The PPI system also enables the TIMER task/event features to generate periodic output and PWM signals to any GPIO. 定时计数器的时钟源是HFCLK,并可以通过一个4 bit (1/2X) 分配器对HFCLK进行分频. TIMER可以处于两种模式:1定时模式(Timer mode) 2计数模式(Counter mode)两种模式都可以通过触发 启动或停止 任务(START task or STOP task)来启动或停止TIMER。TIMER是count-up timer:Timer mode: 每个定时器周期(FTIMER) ,内部计数寄存器(Counter register ) +1.Counter mode: 每次COUNT task被触发的时候,Counter register +1.此模式下,FTIMER和分频系数就不起作用了。TIMER可以通过位宽寄存器(BITMODE register)设置计数最大值(maximum value).分频和位宽寄存器(PRESCALER register and the BITMODE register) 只能在TIMER停止运行的时候对其进行修改,否则结果难以预料。当计数超过了最大值时,计数寄存器会溢出,并自动从0重新开始计数。可通过执行CLEAR task 使TIMER清0。比较和捕获(Compare/Capture):比较:每个捕获比较寄存器(CC0.3)都可以产生一个COMPARE event.当某个计数值计到与capture compare register CCn中的值相等时,就会产生一个COMPAREn event,这两个n 是对应着的。捕获:每个capture/compare register都可以执行一个 capture task。每次capturen task被触发,计数值都会被复制到CCPn寄存器 every time the CAPTUREn task is triggered the Counter value is copied to the CCn register.任务的优先权(Task priority):当START task and the STOP task同时来到的时候,STOP task优先任务延时(Task delays):CLEAR task, COUNT task and the STOP task 都会在一个HFCLK时钟周期内完成,子电源模式下,START task 需要更长的时间。The CLEAR task, COUNT task and the STOP task will guarantee to take effect within one clock cycle of the HFCLK. Depending on sub-power mode, the START task may require longer time to take effect。6、 RTC(Real Time Counter)有两个RTC : RTC0和 RTC1.实时计数器(Real Time Counter)特性:采用32.768KHz LFCLK作为时钟源,24位计数器,12 bit (1/X) prescaler,capture/compare registers,为RTOS产生一个TICK event.计数器分辨率为30.517s,当16M系统时钟(the 16 MHz system clock)关闭的时候,RTC必须能够运行。 PRESCALER register: 可在RTC 停止的时候进行读/写。但是当RTC运行的时候,只可读,写无效。The COUNTER register: 若内部分频器internal PRESCALER register 设置为0,则每个LFCLK都会使COUNTER +1,的值会从PRESCALER register 重载。每计一个数,可以产生一个TICK。 溢出: 溢出任务(TRIGOVRFLW task), 会使COUNTER中的数被置为0xFF FFF0 用来给软件测试(SW test )溢出条件。每当COUNTER中的数从0xFFFFFF t变到0x000000时,都会产生一个OVRFLW event.OVRFLW occurs when COUNTER overflows from 0xFFFFFF to 0x000000.Note: The OVRFLW event is disabled by default.滴答事件(The TICK event) : 滴答事件能够使能无滴答功能的 RTOS,可以使CPU powered down 并保持RTOS的调度处于激活状态。比ARM SysTick 更好.每个RTC event 都可以被单独的关闭,用以省点。Note: The TICK event is disabled by default.看门狗定时器WDT(Watchdog Timer )倒计数器,LFCLK 时钟源,防止程序死锁,可在长时间的CPU 睡眠期间,或是debugger 将CPU关闭的时候,将看门狗关闭。当看门狗定时器打开的时候,会强制打开 32.768KHz RC 振荡器, 8、RNG(Random Number Generator) 功能:基于内部热噪声,产生完全随机的数,用来加密。通过START task.启动RNG.一旦RNG被启动,就会源源不断的产生新的随机数,当数据准备好了,就会被写入到VALUE register。没当向VALUE register写入了一个数,就会产生一个VALRDY event.9、 TEMP (Temperature sensor)功能:用来测量硅片温度(the silicon die temperature)只能通过START task.启动,当测量结束后,会产生一个DATARDY event.并可以通过读TEMP register的值来得到测量结果。测量结束后,会关闭模拟电源以节省电能。测量精度0.25 0C。ECB (AES-ECB encryption)功能: ECB加密块支持128bit AES加密11、SPI(Serial Peripheral Interface)RXD和TXD寄存器,双重缓冲,用来允许某种程度上不间断的输入和输出。These registers are double buffered to enable some degree of uninterrupted data flow in and out of the SPI master支持4种SPI模式(The SPI master supports SPI modes 0 through 3)?任意的GPIO口,都可以被配置为SPI接口根据PSELSCK, PSELMOSI, and PSELMISO registers的配置,与SPI master相关联的SCK, MOSI, and MISO 信号,被映射到物理管脚。The different signals SCK, MOSI, and MISO associated with the SPI master are mapped to physical pins according to the configuration specified in the PSELSCK, PSELMOSI, and PSELMISO registers respectively当然,同一时间,只能有一个外设驱动特定的GPIO口。否则结果难以预料。SPI与其他共ID号的外设共享寄存器及其他资源.在对SPI进行配置和使用之前,需要把其他与SPI共ID号的外设关闭。The SPI peripheral supports SPI mode 0, 1, 2, and 3 ?12、兼容I2C的两线接口TWI(I2C compatible Two Wire Interface) TWI的管脚可以从GPIO中任意选择,并任意配置,单缓冲器。13、UART14、QDEC(Quadrature Decoder)功能:对正交编码的传感器信号(quadrature-encoded sensor signals)进行解码。适用于机械和光传感器,采样率根据应用自行配置。正交解码器特性: Decoding of digital waveform from off-chip quadrature encoder. Sample accumulation eliminating hard real-time requirements to be enforced on application. Optional input debounce filters. Optional LED output signal for optical encoders芯片外的的正交编码器是个增量的运动编码器,能够输出两个波形,A相和B相。两个波形相位相差90度。The off-chip quadrature encoder is an incremental motion encoder outputting two waveforms; phase A and phase B. The two output waveforms are always 90 degrees out of phase, meaning that one always changes level before the other.运动的方向取决于哪个波形先变化The direction of movement is indicated by which of these two waveforms that changes level first.QDEC会对这两个波形进行采样,并解码。15、ADC参数配置:ADC的所有参数,例如:input selection,reference selection,Resolution,pre-scaling etc 等,可以通过CONFIG register进

温馨提示

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

评论

0/150

提交评论