文档章节

CC2530外围电路若干问题

兔之
 兔之
发布于 2014/02/20 16:54
字数 1377
阅读 4206
收藏 3

CC2530是Zigbee无线传输解决方案的SoC芯片,最近画原理图时遇到一些问题。

##数字信号电源和模拟信号电源

CC2530芯片有6个模拟信号电源引脚和2个数字信号电源引脚。至于模拟信号电源和数字信号电源的区别,可以参考1。对它们接地时要进行一些处理,比如加一个电容。各个公司的接地方案不尽相同。 如图所示:在此输入图片描述

##CC-Debugger调试和下载 CC-Debugger有10个引脚,DC和DD为调试时钟和调试数据线。而下载又有4个。用FlashProgrammer进行下载到底需要用几个引脚?经过分析,用两个Debug引脚就可以了。Ti的官方方案是用2个引脚。有图为证: 在此输入图片描述

##CC2530和天线如何匹配 天线线路的输出阻抗与天线阻抗等大就能获取最大的天线辐射输出。具体参见官方QA21IC。官方说法是必须给天线匹配50欧姆的阻抗。由于PCB板的材质,介电常数未知,要画的线宽和其他元件的总阻抗满足50欧姆是不可能的。天线A5887的资料请走。天线还真是一个大坑。

##加不加射频前端放大器PA 一般的方案是CC2530+CC259,网上查不加PA的传输距离是75-100m,完全满足室内环境。

##复位电路## 开始以为复位电路可以省略,在上电的一瞬间芯片自己复位。有些芯片自带复位电路,一上电可以自己reset。但是因为充电电容大,不易集成到芯片内部。所以有些芯片把复位电路放到外面了。

复位是在CPU上电时维持一段时间的低电平。一般有一个RC充放电电路,延迟时间为2.3RC [06]。2.3RC过后复位信号消失。如果按下按键则有一个低电平信号对芯片进行复位。

##元件对应封装## 所选的CC2530为40引脚的QFN,在网上可以找到画好的封装。其它元件选择贴片比较好。 电容和电阻都选为为6-0805_M,0805是按尺寸命名的。

32M的RF晶振选直插的,32.768K的芯片时钟芯片选小手表封装。

尺寸大小为0.8inch(2.0mm)W:0.5inch(1.25mm)。 更多的封装见3,工程实践和看来的理论还是差很远。

在此输入图片描述

##硬件电路验证测试##

硬件电路CC2530+CCDebugger效果图 在此输入图片描述

进行调试遇到的问题:

  • Error in Hex file verification 校验出错

CC-Debug勾选Erase and program就能够烧进去程序。网上查的说法是由于Debug口没有焊接好。留待改进。

  • CC2530 - ID0702: HEX file content at address 0x3FFFF exceeds chip's 32 kB flash size

买的芯片是CC2530F256,特性:256 KB In-System-Programmable Flash,8-KB RAM With Retention in All Power Modes。就是有256K的ROM烧写程序。可这里的报错是因为Flash只有32K,难道厂家坑人。

进行下列测试:

  1. 烧写12.9K的hex1文件,烧写成功。
  2. 烧写46.8K的hex2文件,烧写成功。注意46.8K>32K了。
  3. 烧写95.1K的hex3文件,烧写失败。错误同上。
  4. 烧写58.4K的hex4文件,烧写成功。
  5. 烧写62.5K的hex4文件,烧写成功。

这就只能上网查了,在[04]中发现有同样的问题出现。

After I did 11.2 Pre-pend the Boot Code hex image to the Application Code hex image.The flash programmer says "CC2530 - ID0050: HEX file content at address 0x7C7FF exceeds chip's 256 kB flash size" ,and I have tried to download hex file of bigger size(about 700K)and succeed,I know that my problem is not the size.

但是这个错误是超过256KB的字节。可能my problem is not the size,too.

找到另外一篇问CC2530F256只识别32K的文章[05].按照下列做法测试。

  1. Actions选为Read flash into hex-file,即把Flash中的文件读到PC的文件中。大小为92K。
  2. Actions选为Erase program and verify,竟然能通过验证。

看其他的说法可能是焊接有问题,我现在决定再焊一块试试。

焊接了3个版本A、B、C后惊奇地发现C版本正常工作,可以烧进去720K大小的hex文件,验证不出错。真是太好了。 在此输入图片描述

下面就是测试天线和无线收发是否能正常工作。测试无线收发是个难题。因为做的PCB板上只有RX和TX引脚。现在有两种方法进行测试:

  • 需要一个下载进去就能全自动组网的程序,而不需要任何按键触发来进行绑定。
  • 制作另一个带按键的版本,手动让Coordinator和Router联网。

后来发现,手头有一个绑定端口的点对点传输程序。我只要“去除”按键绑定就可以了。

基本思路是Coordinator(制作的 PCB板作为Coordinator)的按键判断里常写为True,不需要按键触发绑定。而Router的程序不需要改变。

##若干启示##

  • 晶振离CPU尽量近一些,在同一层进行走线。而且两线的距离应该完全相同。不然可能无法起振。
  • 数字地和模拟地一定要分开,不然会给传输信号带来很大干扰。

##Reference

[01].http://blog.163.com/zhshhe@126/blog/static/16328516120117623420120/

[02].http://bbs.21ic.com/icview-386418-1-1.html

[03].http://fossawolf.blog.163.com/blog/static/4672876320074122139107/

[04].http://e2e.ti.com/support/wireless_connectivity/f/158/t/216615.aspx?pi267162=1

[05].http://bbs.eeworld.com.cn/thread-327470-1-1.html

[06].http://hi.baidu.com/jeloc3648/item/91146924df5a700008750869

© 著作权归作者所有

共有 人打赏支持
兔之
粉丝 66
博文 247
码字总数 95896
作品 7
深圳
程序员
CC2530学习路线-基础实验-GPIO 控制LED灯亮灭(1)

目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1.前期预备知识 1.1 新大陆ZigBee模块L...

InCerry
07/31
0
0
CC2530添加CC2591功放后在ZigBee中的改动

首先需要修改: (如果使用CC2530 + CC2590EM,则定义HALPALNACC2590如果使用CC2530 + CC2591EM,则定义HALPALNA注意,只能使用其中一个定义) 在 halboardcfg.h 内使能,去掉X / ---------...

qq_34572705
04/20
0
0
[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
08/20
0
0
【Arduino基础教程】继电器

继电器,也称电驿,是一种电子控制器件,通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 准备材...

xmuwww
2016/06/23
0
0
SIMCom常见模组外围电路设计

最近一直在搞SIMCom的模组外围电路设计,现在整理一下外围电路设计思路。 1.电源方案 这类通信模组一般瞬间电流可以达到2A左右,所以在供电方案上需要十分注意,否则很容易造成模块死机或者重...

creative_team
04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux安装MySQL的两种方法

1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.3 2. 安装方法: 安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过...

onedotdot
23分钟前
4
0
phpize源码安装php扩展

4、进入源码中的ext/pcntl目录 ~# cd php-5.3.29/ext/pcntl/ 5、运行 phpize 命令 ~# phpizeConfiguring for:PHP Api Version: 20090626Zend Module Api No: 20090626......

bengozhong
32分钟前
2
0
Git 常用技巧

# Git 常用技巧 ## 暖场 - Git 怎么读 ? - Git 的作者是谁 ? - 谁没有 Github 账号 ? - 谁没有在 Github 提交过 issues,PR ? - 谁没有不会用命令操作 Git ? ## Git 简介 Git 是一种代码...

帝子兮
44分钟前
2
0
MySQL学习笔记

踩坑建议 对于时间相关字段,为插入及显示毫秒数据,建议使用datetime(6)类型,并设置数据库客户端显示毫秒相关数据

OSC_fly
44分钟前
0
0
spring配置文件中xsd引用异常

异常: org.xml.sax.SAXParseException; lineNumber: 78; columnNumber: 69; schema_reference.4: 无法读取方案文档 'http://www.springframework.org/schema/tx/spring-tx-3.2.xsd', 原因为......

zaolonglei
47分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部