Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
基于CC1100的无线手持终端的设计
来源:电子技术应用   作者:潘旭兵,林 中
字体大小:[大][中][小]

class=content style=display:block;padding:0px 10px>

在布线繁杂、不方便或不允许布线的情况下,人们都希望能通过短距离无线通信方案来解决。常见的应用有RFID、无线抄表、无线餐饮点菜系统、无线监控等。随着射频通信技术和相关产品的日趋成熟以及人们生活水平和要求的不断提高,餐饮行业的信息化建设方兴未艾。餐馆服务员手中的点菜器是餐饮点菜系统的数据采集部分,它与基站的通信是无线方式。本文介绍一种适用于中小餐馆的普及型无线点菜手持终端设备(经适当改动可用于其他领域),它采用高性能、低价位、低开发成本的C8051F340单片机作为MCU,以Chipcon公司新推出的一体化无线收发芯片CC1100为射频收发器,工作在免许可证的ISM(工业、科研及医疗)频段的433MHz。
1 硬件设计
    系统组成框图如图1所示。它主要由MCU控制单元(控制各可编程芯片、处理输入和输出信号)、射频收发单元(射频信号的调制与解调、发射与接收和对数据进行打包与解包等)、键盘与LCD显示单元(信息的输入和显示)、存储器单元(存放汉字库和菜单数据库)、UART和USB接口单元(与PC机的通信、提供充电电源)、电源管理单元(为系统提供各种类型的电压、充电、外接电源的切换等)等组成。

                     
1.1 MCU单元
    C8051F340(以下简称MCU)是一款具有全速USB功能的混合信号Flash微控制器,其内置256kB+4KB的RAM和64KB的Flash存储器;精确校准(0.25%)的12MHz内部振荡器(工作时外部不必接晶振),处理速度可达48MIPS;基于JTAG接口的非侵入式在系统调试接口等[1]。其功能和性能完全满足设计要求。
1.2 射频收发器单元
    CC1100是Chipcon/TI公司力推的一款性价比“最高”的射频单片收发器芯片,它体积小(20pins,QLP 4×4mm)、接收灵敏度高(-110dBm/1.2kbps)、速率可编程(1.2kb/s~500kb/s)、工作电压低(1.8V~3.6V)、功耗低(15.4mA/433MHz/1.2kb/s,1.8μA的待机电流,待机模式下的启动时间仅为0.3ms)、在所有频段输出功率高达+10dBm、高效的SPI接口、数字RSSI(接收信号强度指示)输出、无线唤醒(WOR)功能等。它的工作频率为300MHz~1000MHz[2]
    考虑到高频干扰,该单元单独做一块PCB板,并用金属罩对其进行电磁屏蔽,通过一个7针的连接器与底板相连,如图2所示。GDO0与MCU的P0.7相接,用于指示是否已完整地接收了一个数据包,它可作为MCU的外部中断源信号。在缺省情况下,GDO0会输出一个频率为晶振频率(192Hz)的方波,这可作为在调试时判断CC1100是否正常工作的依据。SCLK(串行时钟)、SO(串行输出)、SI(串行输入)、CSn(片选)分别与MCU的P0.0、P0.1、P0.2和P0.6相接,实现MCU与CC1100的SPI接口相连。MCU对CC1100的配置、控制和数据收发都通过该SPI接口进行。在设计PCB时要让晶振与芯片引脚尽量靠近,并用地线把时钟区隔离开,晶振外壳接地并固定,元件都使用SMT(表帖式)元件,以减少过孔和体积。VCC为3.3V。C4、C5、C6和L3、L4组成一个非平衡变压器,用于在差分和单端RF(射频)信号之间进行变换,C1、C2、C3和L1、L2组成一个LC滤波器,它与非平衡变压器一起实现与50Ω的天线相适配。电阻R1用于为CC1100的偏压设置一个精准的参考电流。DS1用于指示模块上的电源是否正常。

                        
1.3 键盘和LCD显示单元
    键盘包括数字键、发射键、方向键、多功能键、电源开/关键等,它由一个8行×3列的矩阵和一个独立的键(电源开/关)组成。其中的行线与MCU的数据线(P4口)相连,列线分别与P2.0、P2.1和P2.2相连。软件在判断P2口的低3位有变化时,立即读取P4口的内容,可获得当前按下的键。电源开/关键直接与电源管理芯片的启动/关闭脚相连。
    UC1610为具有128×160点阵的4个灰度级伪彩LCD控制器和驱动器,专为超低功耗的手持设备设计,与MCU的接口有并口、SPI、I2C。本系统采用2线I2C总线与MCU的SMBus相连,此时,应把CD、WR0和WR1接地,D0、D3分别与MCU的SCL、SDA相连,数据线中的其他位接地。对其控制可参考其数据手册[4]
1.4 存储器单元
    MCU的片内存储器已足够存放程序代码,但由于要存放汉字库和菜库,所以必须外接一个数据存储器。此存储器既要容量大又要封装小,因此选择了ATMEL公司的SPI Flash存储器AT25F2048。该存储器容量为2Mbit,8脚贴片封装,通过4线SPI与MCU连接,数据传输率为12Mb/s。可根据数据手册中的命令格式进行相关的读写以及擦除操作[5]
1.5 UART和USB接口单元
    程序可以通过JTAG接口下载,但像菜库、汉字库只能通过UART/USB接口下载。MCU提供2个UART口,通过外接一个UART← →RS232变换的驱动芯片MAX3232,就可与PC的串口相连。MCU内嵌一个USB2.0(设备)控制器[1],可以直接与PC的USB接口相连。同时,USB口还提供对设备进行充电的电源。
1.6 电源管理单元
    LTC3455是凌特公司针对手持应用新推出的一个完整的单片电源管理解决方案,在4mm×4mm的24引脚QFN封装内集成了USB电源管理器、锂离子电池充电器和双DC-DC(5V~3.3V和5V~1.8V)转换器,它把以前需要5个或更多芯片实现的几个功能结合在一起。对电源进行无缝选择(3选1),其过程完全是按优先级自动进行的:5.0V AC适配器→USB电源→电池。在使用适配器或USB电源时,电池充电器被使能,而且器件内部的电源完全由选择的外部电源供电[3]。电源管理单元电路图如图3所示。图中的CON1与PC的USB口相接,CON2与电源适配器相接,USBHP用于选择USB电源的上限电流为500mA。P30用于使能SW2和热插拔功能,P31用于指示电池的电量,P32用于指示ON脚的状态,P33用于使能本芯片,SW-VCC用于开启/关闭输出电源。

                      
2 软件设计
    软件的开发环境为keil μVISION3,使用keil C51语言。系统的无线通信部分采用主从结构,从站由手持设备组成,主站由设在厨房的基站组成,工作方式采用主站轮询、从站监听方式。为了避免多个从站争用信道而发生冲突,规定只有主站向某个从站点名时,从站才向主站发送数据。系统软件主要流程如图4所示。

                      
2.1 CC1100的编程要点
    (1)寄存器访问
    在不同速率下CC1100有不同的配置。为了获得最佳性能,有些配置必须经过复杂的计算才能获得。Chipcon公司提供了SmartRF Studio软件对有关的寄存器进行最佳配置。针对某一个速率,该软件会自动提供一组最佳的寄存器配置参数,程序员只需在初始化时把这些配置写入相应的寄存器即可。配置只能在CC1100处于IDLE状态下时才能进行。
    除了配置操作外,还有读状态、发命令和读/写Rx/Tx FIFO操作。这些操作有相似的通信格式:head字节+data(读和发命令操作除外)字节。Head由R/W(bit7)、Burst(bit6)和Addr(bit5~0)三部分组成。R/W标示当前操作是读1还是写0;Burst标示当前操作是访问单个0还是多个1寄存器。但在读状态寄存器时是一个例外,虽然每次只能读一个状态寄存器,但该位必须为1,原因是状态寄存器的地址与命令寄存器的地址是重叠的,因此对burst位进行了重定义;bit0~5(Addr)为寄存器的地址。
    (2)状态机
    CC1100内部有一个用于管理各个状态之间相互切换的状态机。当前状态可从状态寄存器MARCSTATE获得。状态转移图如图5所示。命令、内部事件和配置信息决定状态切换。寄存器MCSM1中的TXOFF_MODE、RXOFF_MODE决定在完成发送操作、接收一个有效的包后将进入哪一个状态。需要注意的是,具有省电功效的无线唤醒功能WOR能使CC1100在SLEEP状态下周期性地自动转到IDLE状态,然后再自动转到Rx状态。但如果在此状态下没有数据包可接收,将又回到SLEEP状态;否则,在接收完数据包之后,下一个状态将由RXOFF_MODE决定,但不会进入SLEEP状态,必须在进入IDLE状态时由MCU发送SWOR命令才能再次进入。在SLEEP状态下,晶振是否继续工作是由寄存器MCSM0中的XOSC_FORCE_ON决定的(0:继续工作,1:停止工作)。在MCU访问CC1100(CSn=0)时,无论XOSC_FORCE_ON为何值,晶振将总是工作。

                      
    (3)数据包的处理机制
    CC1100的特点之一是在收发数据时对包处理的全面支持,包在发送时具有如图6所示的格式。

                          
    前导码提供包的位同步,它是由0和1交替排列组成的序列。当进入Tx状态时,调制器将根据MDMCFG2中的SYNC_MODE决定是否启动发送前导码,若允许发送,则其长度由MDMCFG1中的NUM_PREAMBLE决定。在发送完前导码后,如果TX FIFO中有数据,则立即发送同步字;否则,调制器将重复发送前导码直到TX FIFO中有数据,或者,在强制转换到其他状态时,停止发送前导码。同步字提供包的byte同步。寄存器SYNC0和SYNC1中存放同步字的高低字节。SYNC_MODE还决定是否重复发送一次同步字。
    CC1100支持4种格式的包,其中数据(净荷)长度分别是:定长(小于255B)、变长(小于255B)、无限长(数据长度无效,手动终止包的发送)和有限长(数据长度有效,可以是任意值)。有限长格式是无限长和定长的综合,本系统采用该格式。需要特别指出的是,上述格式中的数据长度都是假定PKTCTRL1中的CRC_AUTOFLUSH没有被使能,否则,所有格式中的包长都不能超过63/64B,而且,在PKTCTRL1中的APPEND_STATUS被使能时,所有格式中的数据长度都应减2。
    在接收端把包中的数据放入Rx FIFO之前,会自动进行前导码、同步字、长度、地址(可选)和CRC校验(可选)过滤,对不满足要求的包,会自动丢弃,这大大减轻了MCU的负荷。为了提高数据传输的准确率,建议使能前向纠错编码(FEC)和数据白化功能。
2.2 MCU的编程要点
    由于引入了交叉棒的设计,所以与其他类型的MCU相比,该处理器的端口I/O方式配置比较复杂。可按下列步骤对端口I/O方式进行初始化:
    (1)由端口输入方式寄存器PnMDIN配置端口引脚的输入方式(模拟或数字)。
    (2)由端口输出方式寄存器PnMDOUT配置端口引脚的输出方式(漏极开路或推挽)。
    (3)由端口跳过寄存器PnSKIP选择应被交叉开关跳过的那些引脚。
    (4)由端口I/O交叉开关寄存器XBR0、XBR1、XBR2将引脚分配给要使用的外设。
    (5)使能交叉开关(XBARE=1)。
    本文介绍的无线手持设备,成本低、开发技术成熟、功耗低、接口丰富、电源选择灵活、功能适用,具有很高的性价比。实验结果表明,在楼宇内的有效接收距离为35m左右,误包率低于1%(115.2kb/s),完全能满足中小型餐馆的使用要求。如果还要再增加发射距离,可考虑在射频收发单元增加功放。同时,由于C8051F340内部集成了温度传感器和多达20路(48脚封装)的10位AD输入脚,经过适当的改动就可适用于其他应用场合,例如RFID、工业监控等。因此,该方案有较大的推广价值和广阔的市场前景。
参考文献
[1] C8051F34X User′s Manual.Silicon Laboratories Inc,2005.
[2] CC1100 User′s Manual.Texas Instruments.http://www.ti.com.
[3] LTC3455 data sheet.www.linear.com.
[4] UC1610 data sheet.www.adultpdf.com.
[5] AT25F2048 data sheet.www.atmel.com.
[6] 童长飞.C8051F系列单片机开发与C语言编程.北京:北京航空航天大学出版社,2005.

Upload by 小刘(2008-8-13)
IC
·智能电流变送器中HART调制解调器的..
·立体液晶显示器的图像获取及显示
·MAX2140内部ESD二极管的保护..
·四通道超声探伤卡的硬件设计
·电流测量的原理和产品
·基于MPC82xx处理器和专用编解码..
·基于DSP的彩色TFT-LCD数字图..
·如何设计三通道LED驱动器
·平板电视中的开关电源发展趋势
·DSP应用系统中的硬件接口电路设计
·利用PCI1510实现PCI板卡的热..
·基于VC的USB接口通信程序设计
·基于ARM-LPC2368的网络接口..
·基于I2C总线技术的USB接口设计
·LCD控制器驱动的24位TFT真彩屏..
·基于ARM和DM9000的网卡接口设..
·基于LVDS技术的远端数据传输系统实..
·GPS99808模块在汽车防盗系统中..
·用串行RapidIO交换处理高速电路..
·热插拔可靠性的新标准
·基于LT1641的双路热插拔电路设计
·四通道I2C多路复用器提供了地址扩展..
·RS422/RS485总线模型分析与..
·基于FPGA的ARINC429总线接..
·基于PCI总线和DSP芯片的图像处理..
·TMS320VC5402 DSP与串..
·基于TMS320LF2407A的模块..
·Linux 2.6 内核中的最新电源..
·高功率以太网供电不再困难
·负电荷泵白光LED驱动器的设计
·采用UCC28051的100W通用线..
·电压不足期间支持电信电源的小电容
·负载管理与负载开关的设计与实现
·交叉耦合门防止推挽驱动器交叠
·台式电源测试的革命
·锂电池组的主动电荷平衡
·绿色动力新潮流——燃料电池
·输出电容器的等效串联电阻对滞环控制功..
·动态电源路径管理简化了太阳能板对电池..
·今天的绿色 POL DC/DC 转换..
IC
推荐技术文章:
·基于嵌入式系统的虚拟仪器设计..
·DSP技术协助进行高速串行数据分析..
·基于ARM和DSP的嵌入式智能仪器系....
·使用LXI加强汽车电子测试..
·针对无线宽带相位噪声的测试方案..
·在低成本测试夹具上实现对表面贴装射频....
·射频IC MFRC522在智能仪表中....
·基于JP7-T的GPS接收机和定位系....
·基于CC2430的ZigBee无线数....
·核磁共振系统中微波射频开关的设计与应....
·基于无线传感器网络的电机运行状态监测....
·Zigbee无线传感器网络平台的设计....
·利用红外技术解决音频无线传输难题..
·温度传感器TMP275在家庭环境监控....
·CF+插槽宿主的供电及热插拔控制设计..
·一种新型的高压变频分布式控制系统..
·固定翼飞机竖直飞行控制系统的设计..
·霍尔效应技术提供紧凑型电流测量传感器..
·语音控制的智能小车设计..
·高精度超声波测距系统的设计与实现..
·基于PLC的玩具整体燃烧自动测试仪的..
·用于各类摄像应用的高速CMOS图像传..
·设计下一代自动化测试系统
·基本电能质量测量方法和常见问题原因
·基于FPGA的通用开关电源控制器硬件..
·FPGA器件的设计实现、设计优化与模..
·ARM的位置无关程序设计在Bootl..
·基于OV6630图像传感器和DSP的..
·基于DSP和CPLD的软开关电源数字..
·解决DSP设计面临的终极挑战
·基于P89C52RD2和FPGA的可..
·单片机的图形化编程方法探讨
·单片机系统多串行口设计技术研究
·51单片机红外遥控解码程序
·基于16位单片机的无刷直流电动机控制..
·PIC单片机控制lcd12864液晶..
·用PIC单片机实现LCD显示单个B字
·AVR内部EEPROM读写范例
·AVR模拟比较器使用范例
·用51单片机做的拉幕式数码显示课程设..
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒