本帖最后由 文旺C擦、 于 2016-12-24 19:09 编辑
CC2530简介 图 1-1 的方框图显示了 CC253x 设备系列不同的构造模块。并没有列出 CC253x 所有设备的所有模块和外设的全部功能和函数,因此关于具体设备的方框图参见各个设备的数据手册。 模块大致可以分为三种类型:CPU 和内存相关的模块;外设、时钟和电源管理相关的模块;无线电相关的模块。 1.1.1 CPU 和内存 CC253x 设备系列使用的 8051 CPU 内核是一个单周期的 8051 兼容内核。它有三个不同的存储器访问总线(SFR、DATA 和 CODE/XDATA),以单周期访问 SFR、DATA 和主 SRAM。它还包括一个调试接口和一个 18输入的扩展中断单元。中断控制器提供了 18 个中断源,分为六个中断组,每组与四个中断优先级相关。当设备从空闲模式回到活动模式,也会发出一个中断服务请求。一些中断还可以从睡眠模式唤醒设备(供电模式 1-3)内存仲裁器位于系统中心,因为它通过 SFR 总线,把 CPU 和 DMA 控制器和物理存储器和所有外设连接在一起。内存仲裁器有四个存取访问点,访问每一个可以映射到三个物理存储器之一:一个 8-KB SRAM、一个闪存存储器和一个 XREG/SFR 寄存器。它负责执行仲裁,并确定同时到同一个物理存储器的内存访问的顺序 。8-KB SRAM 映射到 DATA存储空间和 XDATA 存储空间的一部分。 8-KB SRAM 是一个超低功耗的 SRAM,当数字部分掉电时(供电模式 2 和 3)能够保留自己的内容。这对于低功耗应用是一个很重要的功能。32/64/128/256 KB 闪存块为设备提供了内电路可编程的非易失性程序存储器,映射到 CODE 和 XDATA 存储空间。除了保存程序代码和常量,非易失性程序存储器允许应用程序保存必须保留的数据,这样在设备重新启动之后可以使用这些数据。使用这个功能,例如可以利用已经保存的网络具体数据,就不需要经过完整的启动、网络寻找和加入过程。 1.1.2 时钟和电源管理 数字内核和外设由一个 1.8-V 低差稳压器供电。另外 CC253x 包括一个电源管理功能,可以实现使用不同供电模式的长电池寿命的低功耗应用运行。有五种不同的复位源来复位设备。 1.1.3 外设 CC2530 包括许多不同的外设,允许应用程序设计者开发先进的应用。 调试接口执行一个专有的两线串行接口,用于内电路调试。通过这个调试接口,可以执行整个闪存存储器的擦除、控制使能哪个振荡器、停止和开始执行用户程序、执行 8051 内核提供的指令、设置代码断点,以及内核中全部指令的单步调试。使用这些技术,可以很好地执行内电路的调试和外部闪存的编程。设备含有闪存存储器以存储程序代码。闪存存储器可通过用户软件和调试接口编(如上所述)。闪存控制器处理写入和擦除嵌入式闪存存储器。闪存控制器允许页面擦除和 4 字节编程。 I/O 控制器负责所有通用 I/O 引脚。CPU 可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。CPU 中断可以分别在每个引脚上使能。每个连接到 I/O 引脚的外设可以在两个不同的 I/O 引脚位置之间选择,以确保在不同应用程序中的灵活性。 系统可以使用一个多功能的五通道 DMA 控制器,使用 XDATA 存储空间访问存储器,因此能够访问所有物理存储器。每个通道(触发器、优先级、传输模式、寻址模式、源和目标指针和传输计数)用 DMA描述符在存储器任何地方配置。许多硬件外设(AES 内核、闪存控制器、USART、定时器、ADC 接口)通过使用 DMA 控制器在 SFR 或 XREG 地址和闪存/SRAM 之间进行数据传输,获得高效率操作。 定时器1是一个 16 位定时器,具有定时器/计数器/PWM 功能。它有一个可编程的分频器,一个16 位周期值,和五个各自可编程的计数器/捕获通道,每个都有一个 16 位比较值。每个计数器/捕获通道可以用作一个 PWM 输出或捕获输入信号边沿的时序。它还可以配置在 IR 产生模式,计算定时器 3 周期,输出和定时器 3 的输出相与,用最小的 CPU 互动产生调制的消费型 IR 信号。 定时器 2(MAC 定时器)是专门为支持 IEEE 802.15.4 MAC 或软件中其他时槽的协议设计。定时器有一个可配置的定时器周期和一个 8 位溢出计数器,可以用于保持跟踪已经经过的周期数。一个 16 位捕获寄存器也用于记录收到/发送一个帧开始界定符的精确时间,或传输结束的精确时间,还有一个 16 位输出比较寄存器可以在具体时间产生不同的选通命令(开始 RX,开始 TX,等等)到无线模块。 定时器 3 和定时器 4是 8 位定时器,具有定时器/计数器/PWM 功能。它们有一个可编程的分频器,一个 8 位的周期值,一个可编程的计数器通道,具有一个 8 位的比较值。每个计数器通道可以用作一个 PWM输出。 睡眠定时器(第 11 章)是一个超低功耗的定时器,计算 32-kHz 晶振或 32-kHz RC 振荡器的周期。睡眠定时器在除了供电模式 3 的所有工作模式下不断运行。这一定时器的典型应用是作为实时计数器,或作为一个唤 醒定时器跳出供电模式 1 或 2。 ADC支持 7 到 12 位的分辨率,分别在 30 kHz 或 4 kHz 的带宽。DC 和音频转换可以使用高达八个输入通道(端口 0)。输入可以选择作为单端或差分。参考电压可以是内部电压、AVDD 或是一个单端或差分外部信号。ADC 还有一个温度传感输入通道。ADC 可以自动执行定期抽样或转换通道序列的程序。 随机数发生器 使用一个 16 位 LFSR 来产生伪随机数,这可以被 CPU 读取或由选通命令处理器直接使用。例如随机数可以用作产生随机密钥,用于安全。 AES 协处理器允许用户使用带有 128 位密钥的 AES 算法加密和解密数据。这一内核能够支持IEEE 802.15.4 MAC 安全、ZigBee 网络层和应用层要求的 AES 操作。 一个内置的看门狗定时器、允许设备在固件挂起的情况下复位自身。当看门狗定时器由软件使能,它必须定期清除;否则,当它超时它就复位设备。或者它可以配置用作一个通用 32-kHz 定时器。 USART 0 和 USART 1每个被配置为一个 SPI 主/从或一个 UART。它们为 RX 和 TX 提供了双缓冲,以及硬件流控制,因此非常适合于高吞吐量的全双工应用。每个都有自己的高精度波特率发生器,因此可以使普通定时器空闲出来用作其他用途。 USB 2.0 全速控制器 (仅 CC2531 可用)有 5 个端点, 1KB FIFO RAM 的双缓冲。
1.1.4 无线电 CC253x 设备系列提供了一个 IEEE 802.15.4 兼容无线收发器。RF 内核控制模拟无线模块。另外,它提供了 MCU 和无线设备之间的一个接口,这使得可以发出命令、读取状态、自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。 1.2 应用 如概述(1.1 节)所示,这一用户指南的重点是使用可用的不同模块,来建立基于 CC253x 设备系列的不同类型的应用程序。如果查看完整的应用程序开发过程,另外的一些信息很有用。但是,因为这样的信息和帮助不是设备特定的(即不是 CC253x 设备系列唯一有的),读者可以参考以下段落的另外的信息源。 第一步是通过购买一个开发套件(见设备具体的产品网站,找到相关开发套件的链接),设置开发环境(HW 工具等)。开发套件带有一个现成的演示和关于如何设置开发环境的信息;安装所需的驱动(通过安装SmartRF 软件可以轻松完成),设置编译器工具链,等等。只要已经安装了开发环境,就可以准备开始应用程序的开发了。 写应用程序软件的最简单的方法是把应用程序建立在可用的标准协议之一(RemoTI 网络协议,21.2 节;TIMAC 软件,21.4 节;或用于 ZigBee 兼容解决方案的 Z-Stack 软件,21.5 节)上面;或者专门的 SimpliciTI网络协议上面。它们都带有一些实例应用程序。 对于用户具体 HW 的硬件布局设计,设计人员可以在不同的产品页面(B.1 节)上找到参考设计。通过复制这些设计,设计人员能够获得最佳性能。已开发的 HW 可以使SmartRF Studio 软件很容易地进行测试。 如果最终的系统没有达到预期的性能,建议在开发套件的硬件上尝试开发的软件,看看在这里工作地如何。要检查用户具体的 HW,使用 SmartRF Studio 软件,在相同的设置下来比较开发套件性能和用户具体的 HW,这是一个良好的开端。 用户还可以通过加入低功耗 RF 网络社区(和订阅低功耗 RF 电子简讯,找到另外的信息和帮助。 本文由作者整合资料所得,请勿用于商业用途。 |