新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 短距离ISM频段无线数据传输的应用设计

短距离ISM频段无线数据传输的应用设计

作者:■ 郑辉 谢海棠 深圳安美通科技有限公司 时间:2008-04-30 来源:电子产品世界 收藏

  ATA5428的灵敏度已经相当理想,当有些特殊场合需较远的通信距离的应用时,如双向汽车遥控器等,可以在ATA5428的RF输入端加一级低噪声放大器LNA(见图2),以进一步提高ATA5428的接收灵敏度。放大电路的输入和输出都采用了LC匹配网络。放大器的实际增益高达近20dB,可以提高4dB到6dB的灵敏度,相当于增加30%~80%的距离。

图2  LNA应用电路

本文引用地址:https://www.eepw.com.cn/article/82043.htm

软件设计

  众所周知,一般无线数字接收机在接收有效数据之前,必须要识别数据开始的标志信息及前导码PREAMBLE和同步头SYNCWORD(见图3)。前导码是由若干01010…数据组成主要是用于恢复与同步无线接收机的时钟,同步头可以是若干特定的数据,它标志着数据的开始,ID FIELD是个可选项,用于识别接收机的地址。 数据域DATA FIELD是真正的数据区,数据的长度通常是可变的,CRC是对ID FIELD和DATA FIELD的效验,可以选择CRC16或CRC32。ATA5428推荐用Manchester 编码以区别与其他同类IC,ATA5428检测前导码采用比较每个比特的脉冲宽度,并有一个可设置比特数据的长度的范围窗口,其他同类IC则采用识别是否有01010…数据来识别前导码,ATA5428这种比较前导码的方式,显然具有明显的优点,抗干扰能力大大增强。

图4  ATA5428接收示意图

  ATA5428有2种接收工作模式,普通模式和透明模式。我们这个应用采用的是普通模式。在普通模式下,接收的过程是当检测到前导码和同步头后,激活收发数据缓冲控制逻辑,并且把数据写入收发数据缓冲区,如图4所示。这里需注意的是ATA5428只有16字节的缓冲区。如果数据队列长度超过16个字节,那么会发生缓冲溢出,所以数据的及时读入非常重要,这样可以避免数据的溢出。ATA5428有一个显示接收数据的计数器,当计数器的值到达了某一个值后,可以通过中断的方式与MCU进行通信。

  ATA5428在工作之前需要对其初始化,下面仅给出在普通接收模式下的初始化函数与发送的初始化函数。
void receive_init()
{
 __disable_interrupt(); //disable all
   interrupts
 SETBIT(PORTD,CS_5428);  //CS___/----
     spi(write_ctr_reg|5); //0xa5--->ctr6
 spi(write_ctr_reg|4); //0x50--->ctr5
spi(0x90);  //6 bits check,  lim_min:
       16,4b
spi(write_ctr_reg|3); //0x80--->ctr4
spi(0x00);
   //FREQ = (frf/fxto-32.5)*16384-20.5,3928
spi(write_ctr_reg|2); //0x7b--->ctr3
spi(0x7b);  //vsout on, clock out on
spi(write_ctr_reg|1); //0xb0--->ctr2
spi(0xb1);          //manchester modulator on
spi(write_ctr_reg|0); //0x42--->ctr1
spi(0x26);  //tx mode.send 1data
        every time
 CLRBIT(PORTD,CS_5428);//close 5428
     spi interface
   SETBIT(PORTD,CS_5428);
   spi(cancel_IRQ);
   CLRBIT(PORTD,CS_5428);//close 5428
        spi interface
   send.sum_value = 0;
 }



评论


相关推荐

技术专区

关闭