新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 短距離ISM頻段無線數(shù)據(jù)傳輸?shù)膽?yīng)用設(shè)計

短距離ISM頻段無線數(shù)據(jù)傳輸?shù)膽?yīng)用設(shè)計

作者:■ 鄭輝 謝海棠 深圳安美通科技有限公司 時間:2008-04-30 來源:電子產(chǎn)品世界 收藏

  ATA5428的靈敏度已經(jīng)相當理想,當有些特殊場合需較遠的通信距離的應(yīng)用時,如雙向汽車遙控器等,可以在ATA5428的RF輸入端加一級低噪聲放大器LNA(見圖2),以進一步提高ATA5428的接收靈敏度。放大電路的輸入和輸出都采用了LC匹配網(wǎng)絡(luò)。放大器的實際增益高達近20dB,可以提高4dB到6dB的靈敏度,相當于增加30%~80%的距離。

圖2  LNA應(yīng)用電路

本文引用地址:http://m.butianyuan.cn/article/82043.htm

軟件設(shè)計

  眾所周知,一般無線數(shù)字接收機在接收有效數(shù)據(jù)之前,必須要識別數(shù)據(jù)開始的標志信息及前導(dǎo)碼PREAMBLE和同步頭SYNCWORD(見圖3)。前導(dǎo)碼是由若干01010…數(shù)據(jù)組成主要是用于恢復(fù)與同步無線接收機的時鐘,同步頭可以是若干特定的數(shù)據(jù),它標志著數(shù)據(jù)的開始,ID FIELD是個可選項,用于識別接收機的地址。 數(shù)據(jù)域DATA FIELD是真正的數(shù)據(jù)區(qū),數(shù)據(jù)的長度通常是可變的,CRC是對ID FIELD和DATA FIELD的效驗,可以選擇CRC16或CRC32。ATA5428推薦用Manchester 編碼以區(qū)別與其他同類IC,ATA5428檢測前導(dǎo)碼采用比較每個比特的脈沖寬度,并有一個可設(shè)置比特數(shù)據(jù)的長度的范圍窗口,其他同類IC則采用識別是否有01010…數(shù)據(jù)來識別前導(dǎo)碼,ATA5428這種比較前導(dǎo)碼的方式,顯然具有明顯的優(yōu)點,抗干擾能力大大增強。

圖4  ATA5428接收示意圖

  ATA5428有2種接收工作模式,普通模式和透明模式。我們這個應(yīng)用采用的是普通模式。在普通模式下,接收的過程是當檢測到前導(dǎo)碼和同步頭后,激活收發(fā)數(shù)據(jù)緩沖控制邏輯,并且把數(shù)據(jù)寫入收發(fā)數(shù)據(jù)緩沖區(qū),如圖4所示。這里需注意的是ATA5428只有16字節(jié)的緩沖區(qū)。如果數(shù)據(jù)隊列長度超過16個字節(jié),那么會發(fā)生緩沖溢出,所以數(shù)據(jù)的及時讀入非常重要,這樣可以避免數(shù)據(jù)的溢出。ATA5428有一個顯示接收數(shù)據(jù)的計數(shù)器,當計數(shù)器的值到達了某一個值后,可以通過中斷的方式與MCU進行通信。

  ATA5428在工作之前需要對其初始化,下面僅給出在普通接收模式下的初始化函數(shù)與發(fā)送的初始化函數(shù)。
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;
 }



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉