C51RF-3-CC2430-PK 无线单片机开发系统 用户手册 Rev 2.0 第1页,共 29 页 1 关于本手册 本手册为深圳无线谷 C51RF-3 无线单片机开发系统使用说明,包括硬件连接、使用指 南、以及软件开发环境介绍。 2 扩展表演板硬件描述 图 1:CC2430 扩展表演板硬件结构 上图展示了 CC2430 扩展表演板的主要部分。在开发系统中扩展表演板提供了一个 开发平台完成 CC2430 功能测试,应用演示等任务。 3.1 电源接口 CC2430 扩展表演板提供了一个直流电源插座,用于在室内使用直流电源为扩展表演 板供电。同时在板上提供了一个电池盒插座,用于在需要移动测试的情况下使用。直流电源 和电池两种供电方式之间利用直流电源插座自动切换。直流电源供电优先于电池供电,即 CC2430 扩展表演板既安装了电池又插上了直流电源的情况下优先使用直流电源供电。 第2页,共 29 页 3.2 RS-232 接口 RS-232 接口是一种常用的用于同 PC 机或其它设备通信的接口,板上已集成了一 个电荷泵用于将 3.3V 信号电平转换到双极性的 RS-232 信号电平。同表演板一同提 供的软件包中已包含了 RS-232 接口的测试代码,用户可直接演示或调用,这将在其它 文档中介绍。 3.3 用户接口 CC2430 提供了上、下、左、右四个方向键和确认、取消两个功能键作为用户输入设 备。四个方向键采用 ADC 采样输入,功能键直接读取端口电平。在某些演示应用中按键 的功能定义可能有所不同,具体请查阅相应演示项目说明。电路如下图 1 所示: 图 2:键盘电路 同时板上提供了 4 个 LED ,一个用于电源指示,其余三个可由用户支配,以表 明当前工作状态或测试用。一个 128*64 点阵的图形点阵 OLED 屏作为用户输出设备, 提供尽可能详尽的当前信息。 在演示系统中输入设备提供用户参数输入,控制菜单选择和演示实例的执行,OLED 则向用户反馈当前的程序运行情况和测试结果,完成和用户的交互。 3.4 无线模块插座 无线模块插座用于连接 CC2430 模块到扩展表演板。 另外单独的两芯插座用于向模块提供电源。 在插入扩展模块前务必确定 CC2430 无线模块插头和扩展板插座引脚一一对应。 CC2430 无线模块是一个完整、独立系统,既可以配合扩展表演板完成诸多测试任务, 也可以在没有扩展表演板的情况下配合在线仿真器单独使用,只是所能完成的测试任务较 少。 3.5 电位器 扩展表演板左边电位器,用于在 ADC 测试时产生可调的模拟电压输出。右旋增大输 出电压,左旋减小输出电压。电位器最大输出电压 1.2 V 左右。 第3页,共 29 页 4 进入演示 注意:为防止电源接反烧毁电源芯片,连接电源前确定直流电源正负正确。 4.1 开启电源 图 3:电源输入 有两种方式为 CC2430 扩展表演板供电: ● 电池。使用三节 5 号电池供电,一般用于需要移动测试时使用。 ● 直流电源。用开发系统配套的 AC-DC 电源为扩展表演板供电。AC -DC 输入 电压 为交流 220V,50Hz ,输出为直流 5V。如果用户使用其它电源适配器也 应保证输 出的电压不超过 5V,并且能提供足够的功率。 直流电源插座自动切换直流电源输入和电池输入,可同时接上两个电源而互不影响。 扩展表演板输入电压极限范围为 2.7V-5.5V,任何情况下都不要超过这个范围,否则 可能造成系统工作不正常甚至烧毁板上元件。 如图 3 所示,将电源开关拨到右边的位置时,开启整个扩展表演板电源,电源指示灯 指示直流稳压器电源部分工作正常。拨到左边位置时关闭整个表演板电源。 在扩展板的右边有一个伸出电路的两芯插针,这既是模块的电源开关,也可作为模块 电流测试点。正常使用时用一短路帽短接,也可拔掉短路帽,接入电流表测试模块工作电 流。如下图 图 4:模块电源开关 第4页,共 29 页 4.2 C51RF-3 开发系统演示 在本节将介绍 CC2430 可用到的示例。每个示例都和 CC2430 的某个功能模块相 关。开发系统在出厂时以固化了演示程序,连接好系统即可进行。 一个工作的开发系统下图所示: 图 5:一个正在演示的系统 4.2.1 设置 图 6:模块引脚与插座的对应关系 1. 2. 分别插入两个 CC2430 模块到扩展表演板,如上图 6。 连接到天线到两个 CC2430 模块。 第5页,共 29 页 通过 RS-232 电缆将扩展板连接到 PC。 连接直流电源到扩展表演板。见上节关于扩展表演板的电源供应方式。 拨动电源开关到合适的位置开启电源。 3. 4. 5. 4.2.2 按键功能定义 图 7:按键定义 ● ● ● ● ● ● 上移键。用于上移选择菜单或更改参数时增加参数值。 下移键。用于下移选择菜单或更改参数时减少参数值。 右移键。OLED 对比对设置时增加对比度。 左移键。OLED 对比对设置时减少对比度。 确定键。确定执行高亮显示的功能或确定输入的参数。 取消键。从当前菜单返回上一级菜单或忽略当前输入的参数。 上述按键定义只是一般性的功能定义,随着程序的更新功能定义可能会有所不同,请以 程序为准。 菜单列表 4.2.3 1 1.1 1.2 1.3 1.4 1.5 无线测试 发送模式 1.1.1 单次发送 1.1.2 连续发送 1.1.3 误码率测试 接收模式 设定频道 设定本机地址 设定目的地址 2 3 跑表 串口测试 4 时钟模式 5 4.1 RC 振荡器 16 4.2 晶体振荡器 32 随机数测试 第6页,共 29 页 6 加密解密测试 7 直接存贮测试 8 电源模式 8.1 模式 0 8.2 模式 1 8.3 模式 2 8.4 模式 3 表演板设定 9.1 对比度设定 9.2 语言设定 9 显示菜单说明 无线测试 提供 CC2430 最基本的无线功能测试。 1.1 发送模式 提供不同的发送模,.要求先有终端进入接收模式。 1 单次发送 发送一个短于的数据包可容长度的数据,进入后按确定开始发送。发送成功,显示 OK 同时接收机显示接收时的灵敏度,否则显示发送失败。 1.1.1 连续发送 将一串长度超过限定单一包长的数据自动截分成多个数据包发,.如果成功则显示成功, 同时接收机显示接收的质量(下降到多少接收灵敏度才能收到),否则显示失败。 1.1.2 误码率测试 测试当前连接的误码率显示 RUNING ,与此同时存活的目的主机显示误码率测试机 器正在做测试,测试成功分显示误码率否则显示无应答节点。 1.1.3 1.2 接收模式 将本机设置成接收模式。如果成功收到数据,则显示到液晶屏上。对应以上发送模式。 设定频道 设定通信频道,UP/DOWN 键进行更改,在 2405 到 返回。 1.3 1.4 2485 范围内,OK 键确定 设定本机地址 设定本机地址,从 0 到 255。UP/DOWN 键进行更改,OK 键确定返回。 设定目的地址 设定目的地址,从 0 到 255。UP/DOWN 键进行更改,OK 键确定返回。 注:网络中的地址不能有冲突。 1.5 第7页,共 29 页 跑表 秒表功能。从 00:00:00 开始递增,步长为 1 秒。按 OK 键秒表开始执行,到临界时 刻再按下 OK 键,秒表停止,此时显示的时间就为你这一段的用时。不论什么时候按 CANCEL 关闭秒表,返回主菜单。 2 串口测试 用于测试串口功能,从串口向开发板发送的数据能立即显示到液晶屏上。每次一个字符 。 串口的设置为:波特率:57600 ,数据位为 8 位,无校验位,停止位为 1。 3 4 时钟模式 4.1 RC 振荡器 16 启用片内的 RC 振荡器。 注:此为片内振荡器,看不到直接效果。 4.2 晶体振荡器 32 启用晶体振荡器。 随机数测试 利用 CC2430 硬件提供的功能,实现随机函数功能。每次显示 12 个随机产生的字符。 这是从硬件高频部分取到的随机数,基本可以视为真正的随机。 5 加密解密测试 演示了一个加密解密的全过程。 首先,显示数据的原来内容,然后按 OK 键,进行加密并显示加密后数据的内容,再 按下 CANCEL 键,对加密后的数据进行解密,并显示解密后的数据。最后按 OK 键返回。 6 7 直接存贮测试 显示了一个 DMA 流程。由于是内部过程,用户只能知道结果,无法看过数据。 电源模式 CC2430 支持的工作模式。在数字万用表下测量。 8.1 模式 0 在此工作模式下为正常工作模式,晶体振荡器和稳压器都处于工作状态。实测电流为 9mA。 8 模式 1 在此工作模式下,32.768 KHz 的晶体振荡器和稳压器都处于工作状态,能保证高速 唤醒,实测电流为 0.453mA。 8.2 模式 2 在此工作模式下, 0.26mA。 8.3 32.768 KHz 的晶体振荡器工作,而稳压器关闭,实测电流为 第8页,共 29 页 注:以上模式都可以用片内定时器唤醒. 8.4 模式 3 在此工作模式下,所有的时钟、稳压器、功能电路都被关闭,仅留一个外部中断用于唤 醒。实测电流为 0.03 mA,可以按 CANCEL 键产生中断唤醒。 9 表演板设定 9.1 对比度设定 左右键进行更改对比度,按 OK 键确定返回。 9.2 语言设定 中文/英文切换,默认中文。 5 在线仿真器 图 8:仿真器 USB 接口,高速下载程序,只占用 CC2430 两条引脚。 仿真器与 CC2430 模块的连接关系见 CC2430 模块说明文档。 6 程序开发环境 本节介绍 CC2430 软件开发环境 IAR Embedded Wordbench for MCS-51 , 怎样新建一个工程以完成自己的设计和调试。 这里不是 IAR 开发环境的详细使用手册,关于 IAR 的详细说明文档请浏览 IAR 网站或安装文件夹下 8051\doc 里的支持文档。在这里通过一个简单的 LED 闪 灯测试程序带领用户逐步熟悉 IAR for 51 工作环境。在这个测试程序中所需要的工具 和硬件只有一个仿真器和一个 CC2430 模块。连接关系 第9页,共 29 页 如下: 图 9:测试程序所需的硬件和连接关系 创建一个工作区窗口 使用 IAR 开发环境首先应建立一个新的工作区。在一个工作区中可创建一个或多个 工程。用户打开 IAR Embedded Workbench 时,已经建好了一个工作区,一般会显示如 下窗口,可选择打开最近使用的工作区或向当前工作区添加新的工程。 选择 File\New\Workspace 。现在用户已经建好一个工作区,可创建新的工程并把它 放入工作区。 6.1 图 10 10:打开一个工作区 6.2 建立一个新工程 点击 Project 菜单,选择 Greate New Project ... 如图 11 第10页,共 29 页 图 11 11:建立一个新工程 弹出图 12 建立新工程对话框,确认 Tool chain 栏已经选择 8051,在 templates: 栏选择 Empty project 点击下方 OK 按钮。 图 12 12:选择工程类型 根据需要选择工程保存的位置,更改工程名,如 ledtest 了一个空的工程。 第11页,共 29 页 Project 点击 Save ,这样便建立 图 13 13:保存工程 这样工程就出现在工作区窗口中了。 图 14 14:工作区窗口中的工程 系统产生两个创建配置:调试和发布。在这里我们只使用 Debug 。 项目名称后的星号指示修改还没有保存。 选择菜单 File\Save\Workspace ,保存工作区文件,并指明存放路径,这里把它放到新 建的工程目录下。点击 Save 保存工作区。 第12页,共 29 页 图 15 15:保存工作区 添加文件或新建程序文件 选择菜单 Project\Add File 或在工作区窗口中,在工程名上点右键,在弹出的快捷菜 单中选择 Add File ,弹出文件打开对话框,选择需要的文件点击 打开 退出。 6.3 如没有建好的程序文件也可点击工具栏上的 空文本文件,向文件里添加如下代码: #include 或选择菜单 File\New\File 新建一个 "ioCC2430.h" void Delay(unsigned char n) { unsigned char i; unsigned int j; for(i = 0; i < n; i++) for(j = 1; j; j++) ; } void main(void) { // CC2430 中 ,I/O 口做普通 I/O 使用时和每个 I/O 端口相关的寄存器有 3 个, 分别是 //PxSEL //功能选择寄存器,PxDIR 方向寄存器,PxINP 输入模式寄存器,其中 x 为 0,1,2 。 //这里选择 P1.0 上的 色 LED 作为 I/O 测试。 第13页,共 29 页 SLEEP &= ~0x04; while(!(SLEEP & 0x40)); //晶体振荡器开启且稳定 CLKCON &= ~0x47; //选择 1-32MHz 晶体振荡器 SLEEP |= 0x04; P1SEL = 0x00; P1DIR = 0x01; while(1) //P1.0 为普通 I/O //P1.0 输出 口 { P1_0 = 1; Delay(10); P1_0 = 0; Delay(10); } } 选择菜单 File\Save 弹出保存对话框 图 16 16:保存程序文件 新建一个 source 文件夹,将文件名改为 test.c 后保存到 source 文件夹下。 按照前面添加文件的方法将 test.c 添加到当前工程里。完成的结果如下图 第14页,共 29 页 图 17 17:添加程序文件后的工程 设置工程选项 6.4 选择 Project 菜单下的 Options... 配置与 CC2430 相关的选项。 General Options Target 标签: 按下图配置 Target ,选择 Code model 和 Data model ,以及其它参数。 6.4.1 Target Near Code model 图 18 18:Target Target,Near 第15页,共 29 页 点击 Derivative information 栏右边的 按钮,选择程序安装位置如这里是 IAR Systems \ Embedded Workbench 4.05 Evaluation version \ 8051 \ config\ derivatives \ chipcon 下的文件 CC2430.i51。 DataPointer 标签: 选择数据指针数 1 个,16 位。 图 19 19:数据指针选择 Stack/Heap 标签: 改变 XDATA 栈大小到 0x1FF 第16页,共 29 页 Stack/Heap 设置 图 20 20:Stack/Heap Linker Output 标签: 选中 Override default 可以在下面的文本框中更改输出文件名。 如果要用 C-SPY 进行调试,选中 format 下面的 Debug information SPY。 第17页,共 29 页 for C- 图 21 21:输出文件设置 Config 标签 点击 Linker command file 栏文本框右边的按钮,选择正确的连接命令文件。 第18页,共 29 页 图 22 22:选择连接命令文件 6.4.3 Debugger 在 Setup 标签按下图设置 图 23 23:配置调试器 第19页,共 29 页 在 Device Description file 选择 CC2430.ddf 文件,其位置在程序安装文件夹下 如 C:\Program Files\ IAR Systems\ Embedded Workbench 4.05 Evaluation version \8051\config\derivatives\chipcon 。 6.5 编译和连接 选择 Project\Make 或 按 F7 键编译和连接工程。 图 24 24:编译和连接工程 6.6 调试 6.6.1 安装仿真器驱动 安装仿真器前确认 IAR Embedded Workbench 已经安装。 ◆ 手动安装 手动安装适用于系统以前没有安装过仿真器驱动的情况。 将仿真器通过开发系统附带的 USB 电缆连接到 PC 机,在 Windows XP 系 统下,系统找到新硬件后提示如下对话框,选择 从列表或指定位置安装 ,点下一步。 第20页,共 29 页 图 25 25:系统找到仿真器 如下图设好驱动安装选项,点击右边的 浏览 按钮选择驱动所在路径。 图 26 26:驱动安装选项 驱动文件在程序安装目录下,如 C:\ Program Files\IAR Systems\Embedded Workbench 4.05 Evaluation version\8051\drivers\chipcon,如下图 第21页,共 29 页 图 27 27:选择驱动路径 选中 chipcon 文件夹,点 确定 退出,回到安装选项界面,点 下一步 安装完驱动后提示完成对话框,点击 完成 退出安装。 图 28 28:完成驱动安装 第22页,共 29 页 ,系统 ◆ 自动安装 将仿真器通过开发系统附带的 USB 电缆连接到 PC 机,在 Windows 统下,系统找到新硬件后提示如下对话框,选择 自动安装软件 ,点下一步。 图 29 29:系统找到仿真器 向导会自动搜索并复制驱动文件到系统。 图 30 30:安装驱动文件 第23页,共 29 页 XP 系 系统安装完驱动后提示完成对话框,点击 完成 退出安装。 图 31 31:仿真器驱动安装完成 6.6.2 进入调试 选择菜单 Project\Debug 或按快捷键 CTRL+D 进入调试状态,也可按工具栏上的 按钮进入调试。 第24页,共 29 页 图 32 32:进入调试 窗口管理 在 IAR Embedded Workbench 中用户可以在特定的位置停靠窗口,并利用标签组来管 理它们。用于也可以使某个窗口处于悬浮状态,即让它始终停靠在窗口的上层。状态栏位于 主窗口底部,包含了如何管理窗口的帮助信息。更详细信息参见 EW8051_UserGuide 。 6.6.3 图 33 33:程序调试界面 6.6.4 查看源文件语句 Step Into 执行内部函数或子进程的调用 Step Over 每步执行一个函数调用 Next statement 每次执行一个语句 这些命令在工具栏上都有对应的快捷键。 查看变量 C-SPY 允许用户在源代码中查看变量或表达式,可在程序运行时跟踪其值的变化。 6.6.5 使用自动窗口 选择菜单 View\Auto ,开启窗口。 自动窗口会显示当前被修改过的表达式。 第25页,共 29 页 图 34 34:自动窗口 连续步进观察 j 的值的变化情况。 设置监控点 使用 Watch 窗口来查看变量。 选择菜单 View\Watch ,打开 Watch 窗口。 点击 Watch 窗口中的虚线框,出现输入区域时键入 j 并回车。 也可以先选中一个变量将其从编辑窗口拖到 Watch 窗口。 Watch 窗口 图 35 35:Watch 单步执行,观察 i 和 j 的变化。 如果要在 Watch 窗口中去掉一个变量,先选中然后点击键盘上的 右键删除。 Delete 键或点 设置并监控断点 使用断点最便捷的方式是将其设置为交互式的,即将插入点的位置指到一个语句里或靠 近一个语句,然后选择 Toggle Breakpoint 命令。 在 i++ 语句出插入断点:在编辑窗口选择要插入断点的语句,选择菜单 Edit\Toggle 6.6.6 Breakpoint 。或者在工具栏上点击 按钮。 第26页,共 29 页 图 36 36:设置一个断点 这样在这个语句设置好一个断点,用高亮表示并且在左边标注一个红色的 X 显示有 一个断点存在。 可选择菜单 View\Bradkpoint 打开断点窗口,观察工程所设置的断点。 在主窗口下方的调试日志 Debug Log 窗口中可以查看断点的执行情况。 如要取消断点,在原来断点的设置处再执行一次 Toggle Breakpoint 命令。 在反汇编模式中调试 在反汇编模式,每一步都对应一条汇编指令,用户可对底层进行完全控制。 选择菜单 View\Disassembly ,打开反汇编调试窗口,用户可看到当前 C 语言语句对 应的汇编语言指令。 6.6.7 图 37 37:汇编模式中调试程序 第27页,共 29 页 6.6.8 监控寄存器 寄存器窗口允许用户监控并修改寄存器的内容。 选择菜单 View\Regisster ,打开寄存器窗口。 图 38 38:寄存器窗口 选择窗口上部的下拉列表,选择不同的寄存器分组。 单步运行程序观察寄存器值的变化情况。 监控存储器 存储器窗口允许用户监控寄存器的指定区域。 选择菜单 View\Memory ,打开存储器窗口。 打开 test.c ,选择 j ,将它从源代码窗口拖到存储器窗口中。此时存储器窗口中 对应的值也被选中。 第28页,共 29 页 图 39 39:存储器窗口 单步执行程序程序,观察存储器中值的变化。用户可以在存储器窗口中对数据进行编辑 , 修改。在想进行编辑的存储器数值处放置插入点,键入期望值即可。 6.6.10 完整运行程序 选择菜单 Debug\Go ,或点击调试工具栏上 行下去。可以看到 LED1 间隙点亮。 按钮,如果没有断点,程序将一直运 如果要停止,选择菜单 Debug\Break 或点调试工具栏上 6.6.11 按钮,停止程序运行。 退出调试 选择菜单 Debug\Stop Debugging 或点击调试工具栏上的 版本信息: 第29页,共 29 页 按钮退出调试模式。