无线视频监控系统设计论文(编辑修改稿)内容摘要:

允许,在 SPIF 标志置位时将产生一个中断请求。 在全双工操作中,当 SPI 主器件在 MOSI 线向从器件发送数据时,被寻址的 SPI 从器件可以同时在 MISO 线上向主器件发送其移位寄存器中的内容。 因此, SPIF标志既作为发送完成标志又作为接收数据准备好标志。 中断源 如果 SPI0 中断被允许,在下述 4个标志位被置 1 时将产生中断。 ( 1)在每次字节传输结束, SPI 中断标志 SPIF 被置 1。 该标志适用于所有 SPI 方式。 ( 2)如果在发送缓冲器中的数据尚未被传送到移位寄存器时写 SPI0DAT,写冲突标志 WCOL 被置 1。 ( 3) 当 SPI0 被配置为主器件并且工作于多主方式,而 NSS 被拉为低电平时,方式错误标志 MODF 被置 1。 ( 4)当 SPI0 被配置为从器件 并且一次传输结束,而接收缓冲器中还保持着上一次传输的数据未被读取时,接收溢出标志 RXOVRN 被置 1。 使用 SPI0 配置寄存器中的时钟控制选择位可以在串行时钟相位和极性的 4 种组合中选择其一。 CKPHA 位选择两种时钟相位(锁存数据所用的边沿)中的一种。 CKPOL位在高电平有效和低电平有效的时钟之间选择。 主器件和从器件必须被配置为使用相同的时钟相位和极性。 注意:在改变时钟相位和极性期间应禁止 SPI0,两个器件通信时,不论工作在主方式还是从方式, CKPHA 必须被置 0。 特殊功能寄存器 对 SPI0 的访问和控制是通过系统控制器中的 4 个特殊功能寄存器实现,具体如下。 (1)SPI0CFG: SPI0配置寄存器, 复位值: 00000111 SFR地址: 0XA1 R R/W R/W R/W R R R R SPIBSY MSTEN CKPHA CKPOL SLVSEL NSSIN SRMT RXBMT 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 位 7: SPIBSY: SPI忙标志(只读) 当一次 SPI传输正在进行时(主或从方式),该位被置为 1。 位 6: MSTEN:主方式允许位 0:禁止主方式,工作在从方式。 1:允许主方式,工作在主器件方式。 位 5 CKPHA: SPI0时钟相位。 该位控制 SPI0时钟的相位。 0:在 SCK周期的第一个边沿采样数据。 1:在 SCK 周期第二个边沿采样数据。 位 4: CKPOL: SPI0时钟极性。 该位控制 SPI0时钟的极性。 0: SCK 在空闲状态时处于低电平。 1: SCK在空闲状态时处于高电平。 12 位 3: SLVSEL:从选择标志(只读) 当 NSS引脚为低电平时该位被置 1,表示 SPI0是被选中的从器件。 当 NSS引脚为高电平时,该位被清 0。 位 2: NSSIN: NSS引脚的瞬时值(只读) 该位指示读该寄存器时 NSS引脚的即时值。 该信号未被去噪。 位 1: SRMT:移位寄存器空标志(在从方式有效,只读)。 当所有数据都被移入 /移出移位寄存器并且没有新数据可以从发送缓冲器读出或向接收缓冲器写入时,该位被置 1。 当数据字节被从发送缓冲器传送到移位寄存器或SCK 发生变化时,该位被清 0。 位 0: RXBMT:接收缓冲器空(在从方式有效 ,只读) 当接收缓冲器被读取且没有新数据时,该位被置 1。 如果在接收缓冲器中有新数据未被读取,则该位被清 0。 (2) SPI0CN: SPI0 控制寄存器,复位值: 00000110 SFR 地址: 0XF8 (可位寻址 ) R/W R/W R/W R/W R/W R/W R R/W SPIF WCOL MODF RXOVRN NSSMD1 NSSMD0 TXBMT SPIEN 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 位 7: SPIF: SPI0中断标志 该位在数据传输结束后被硬件置 1。 如果中断被允许,置 1该位将会使 CPU转到 SPI0中断处理服务程序。 该位用软件清 0。 位 6: WCOL:写冲突标志 该位由硬件置 1(并产生一个 SPI0中断),表示数据传送期间对 SPI0数据寄存器进行了写操作。 该位用软件清 0。 位 5: MODF:方式错误标志 当检测到主方式冲突( NSS为低电平, MSTEN= 1, NSSMD[1:0] = 01)时,该位由硬件置 1(并产生一个 SPI0中断)。 该位用软件 清 0。 位 4: RXOVRN:接收溢出标志(只适用于从方式) 当前传输的最后一位已经移入 SPI0移位寄存器,而接收缓冲器中仍保存着前一次传输未被读取的数据时该位由硬件置 1(并产生一个 SPI0中断)。 该位用软件清 0。 位 32: NSSMD1NSSMD0:从选择方式位 选择 NSS 工作方式: 00: 3 线从方式或 3 线主方式。 01: 4线从方式或多主方式(默认值)。 1x: 4线单主方式。 NSS被分配一个输出引脚并输出 NSSMD0的值。 位 1: TXBMT:发送缓冲器空标志 13 )14(22020000SC Kf当新数据被写入发送缓冲器时,该位被清 0。 当 发送缓冲器中的数据被传送到 SPI移位寄存器时,该位被置 1,表示可以向发送缓冲器写新数据。 位 0: SPIEN: SPI0使能位 该位使能/禁止 SPI0。 0:禁止 SPI0。 1:使能 SPI0 (3) SPI0CKR: SPI0时钟速率寄存器; 复位值: 00000000 SFR地址: 0XA2 R/W R/W R/W R/W R/W R/W R/W R/W SCR7 SCR6 SCR5 SCR4 SCR3 SCR2 SCR1 SCR0 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 位 70: SCR7SCR0: SPI0时钟频率 当 SPI0模块被配置为工作于主方式时,这些位决定 SCK输出的频率。 SCK时钟频率是从系统时钟分频得到的,由下面的方程给出,其中: SYSCLK是系统时钟频率, SPI0CKR是 SPI0CKR寄存器中的 8位值。 其中 (0≤ SPI0CKR≤ 255) 例如:如果 SYSCLK = 2MHz, SPI0CKR = 0x04,则 KHzfSCK 2020 (4) SPI0DAT: SPI0数据寄存器, 复位值: 00000000 SFR地址: 0XA3 R/W R/W R/W R/W R/W R/W R/W R/W 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 位 70: SPI0DAT: SPI0发送和接收数据寄存器。 SPI0DAT寄存器用于发送和接收 SPI0数据。 在主方式下,向 SPI0DAT写入数 据时,数据被放到发送缓冲器并启动发送。 读 SPI0DAT返回接收缓冲器的内容。 nRF905芯片介绍 )10(2  C KRS P IS Y S C L Kf S C K 14 nRF905是挪威 Nordic VLSI公司推出的单片射频收发器,工作电压为 ~ ,32 引脚 QFN 封装,工作于 433/868/915MHz 三个 ISM 频道,频道之间的转换时间小于650181。 s。 nRF905 由频率合成器、收发解调器、功率放大器、晶体振荡器和调制器组成,不需要外加声表滤波器, ShockBurstTM 工作模式,自动处理字头和 CRC(循环冗余码校验),使用 SPI 接口与微控制器通信,配 置非常方便。 就本设计中 nRF905 的运用部分作了一系列的介绍。 一、工作模式 nRF905 有两种工作模式 , 分别是 ShockBurstTM 接收模式和 ShockBurstTM 发送模式。 nRF905 的工作模式由 TRX_CE、 TX_EN 和 PWR_UP 三个引脚决定,详见表 41。 表 41 工作模式 PWR_UP TRX_CE TX_EN 工作模式 0 179。 179。 关机模式 1 0 179。 空闲模式 1 1 0 射频接收模式 1 1 1 射频发射模式 注: 0 为低电平 1为高电平 179。 为任意 模式 与射频数据包有关的高速信号处理都在 nRF905 片内进行,数据速率由微控制器配置的 SPI 接口决定,数据在微控制器中低速处理,但在 nRF905 中高速发送,因此中间有很长时间的空闲,这就有利于电路的节能。 由于 nRF905 工作于 ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。 在 ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配 (AM)和数据准备好 (DR)两引脚通知微控制器。 在 ShockBurstTM 发送模式, nRF905 自动产生字头和 CRC 校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。 下面具体详细分析 nRF905 的发送流程和接收流程。 典型的 nRF905 发送流程分以下几步: ( 1) 微控制器有数据要发送时,通过 SPI 接口,按时序把接收机的地址和要发送的数据送传给 nRF905, SPI 接口的速率在通信协议和器件配置时确定; ( 2) 微控制器置高 TRX_CE 和 TX_EN,激发 nRF905 的 ShockBurstTM 发送模 式 ; 15 ( 3) nRF905 的 ShockBurstTM 发送: A. 射频寄存器自动开启; B. 数据打包 (加字头和 CRC 校验码 ); C. 发送数据包; D. 当数据发送完成,数据准备好引脚被置高; ( 4) AUTO_RETRAN 被置高, nRF905 不断重发,直到 TRX_CE 被置低; ( 5) 当 TRX_CE 被置低, nRF905 发送过程完成,自动进入空闲模式。 ShockBurstTM 工作模式保证,一旦发送数据的过程开始,无论 TRX_EN 和 TX_EN引脚是高或低,发送过程都会被处理完。 只有在前一个数据包被发送完毕, nRF905才能接受下一个发送数据包。 ( 1) TRX_CE 为高、 TX_EN 为 低时, nRF905 进入 ShockBurstTM 接收模; ( 2) 650us 后, nRF905 不断监测,等待接收数据; ( 3) 当 nRF905 检测到同一频段的载波时,载波检测引脚被置高; ( 4) 当接收到一个相匹配的地址,地址匹配引脚被置高; ( 5) 当一个正确的数据包接收完毕, nRF905 自动移去字头、地址和 CRC 校验位,然后把数据准备好引脚置高; ( 6) 微控制器把 TRX_CE 置低, nRF905 进入空闲模式; ( 7) 微控制器通过 SPI 口,以一定的速率把数据移到微控制器内; ( 8) 当所有的数据接收完毕, nRF905 把数据准备好引脚和地址匹配引脚置低; ( 9) nRF905此时可以进入 ShockBurstTM 接收模式、 ShockBurstTM 发送模式或关机模式。 当正在接收一个数据包时, TRX_CE 或 TX_EN 引脚的状态发生改变, nRF905 立即把其工作模式改变,数据包则丢失。 当微处理器接到地址匹配引脚的信号之后,其就知道 nRF905 正在接收数据包,其可以决定是让 nRF905 继续接收该数据包还是进入另一个工作模式。 二、器件配置 所有配置字都是通过 SPI 接口送给 nRF905。 SPI 接口的工作方式可通过 SPI 指令进行设置。 1. SPI 接口配置 SPI 接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器 5个寄存器组成。 状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包 16 的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。 射频配置寄存器如表 42所示: 表 42 射频配置寄存器 名称 位宽 描述 CH_NO 9 和 HFREQ_PLL一起进行频率设置(默认值为 001101100B=108D,fRF=(+CH_NOd/10)*(1+HFREQ_PLLd)MHz HFREQ_PLL 1 使 PLL 工作于 433 或 868/915MHz(默认值为 0) ‘0’ 工作于 433MHz频段; ‘1’ 工作于 868/915MHz频段 P。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。