短距離ISM頻段無線數(shù)據(jù)傳輸?shù)膽迷O計
發(fā)送的過程首先是初始化,然后從SPI口送出2-3字節(jié)的01010…前導碼,由于設置的是Manchester,發(fā)送幾個0XFF即可,后面的格式可以參照圖4的數(shù)據(jù)的傳輸格式。發(fā)送函數(shù)如下。
void transfer_data()
{
SETBIT(PORTD,CS_5428);//CS_5428
___/----
spi(write_TRX_buffer);//write writing
buffer command
spi(0xFF);//send 0xFF ,for bit check
spi(0xFF);//send 0xFF ,for bit check
spi(0x55); //for SYNCWORD
spi('T');//send 'T'
.
.
ID FIELD和DATA FIELD
CRC16
.
.
CLRBIT(PORTD,CS_5428);//CS_5428 ---
-____
SETBIT(PORTD,CS_5428);//CS_5428
___/----
spi(write_ctr_reg|0);//0x00 -> ctr1
spi(0x00);//go to IDLE mode
CLRBIT(PORTD,CS_5428);//CS_5428 ---
-____
}
ATA5428收到數(shù)據(jù)后,主動發(fā)出中斷請求,MCU響應中斷,并且調用接收函數(shù),接收過程首先是判斷同步碼是否正確,然后將數(shù)據(jù)域和CRC效驗接收下來,若效驗通過則輸出到UART口。
結語
實驗表明本設計具有成本低,功耗小,通信距離遠等特點,經過實際的運行測量,開闊地通信距離超過500m。特別在應用環(huán)境較為復雜,數(shù)據(jù)信號容易受到各種噪聲干擾的情況下,該方案的可靠性明顯優(yōu)于超再生的數(shù)據(jù)傳輸方案。
參考文獻:
1. ATA 5428 datasheet, ATMEL公司
評論