內(nèi)嵌微控制器的無線數(shù)據(jù)發(fā)射器的特性及應用
概 述
AT86RF401是單片機集成內(nèi)嵌AVR RISC微控制器的RF無線數(shù)據(jù)發(fā)射器,輸出頻率范圍為250~450MHz,最大輸出功率+6dBm,發(fā)射率10Kband。芯片內(nèi)嵌AVR RISC微控制器、2KB(1K×16b)的Flash程序存儲器、128B(字節(jié))的可下載的EEPROM數(shù)據(jù)存儲器、128B的RISC SRAM、看門狗定時器、6個通用I/O、在系統(tǒng)可編程。工作電壓2.0~3.5V。待機電流0.1~0.5μA,發(fā)射電流17mA,可用CR20332/CR201B LiMnO2電源供電。可用于遙控無鍵入口(RKE)發(fā)射器、車庫門開門器、遙測(輪胎壓力,水、電、氣表,貴重物品跟蹤)、無線安防系統(tǒng)、無線電遙控等應用領(lǐng)域。
一、引腳排列及功能
AT86RF401采用20腳TSSOP封裝,各引腳功能如表1所列。
表1 AT86RF401引腳功能
引 腳 | 符 號 | 功 能 |
1 | ANTB | 天線輸出 |
2 | LOOPFIL | 外接VCO回路濾波器 |
3 | L1 | 外接VCO電感 |
4 | L2 | 外接VCO電感 |
5 | RESETB | SPI復位輸入 |
6 | NC | 空腳 |
7 | SDI/IO0 | SPI數(shù)據(jù)輸入、輸出/輸出0 |
8 | SDO/IO1 | SPI數(shù)據(jù)輸入、輸入/輸出1 |
9 | SCK/IO2 | SPI時鐘輸出、輸入/輸出2 |
10 | XTAL | 晶振輸入 |
11 | XTALB/CLK | 晶振/時鐘輸入 |
12 | IO3 | 輸入/輸出3 |
13 | IO4 | 輸入/輸出4 |
14 | IO5 | 輸入/輸出5 |
15 | DGND | 數(shù)字地 |
16 | AGND | 模擬地 |
17 | DVDD | 數(shù)字電源 |
18 | AVDD | 模擬電源 |
19 | CFIL | 外接數(shù)據(jù)濾波器 |
20 | ANT | 天線輸出 |
二、基本結(jié)構(gòu)和特性
AT86RF401內(nèi)部結(jié)構(gòu)框圖如圖1所示,包括一個完整的發(fā)射器電路和微控制器電路。
1.發(fā)射器
晶體振蕩器振蕩頻率范圍是6~20MHz,為整個芯片提供主時鐘,并使用一個可編程的分頻器為AVR系統(tǒng)提供時鐘。PLL輸出信號經(jīng)RF功率放大器產(chǎn)生一個適合驅(qū)動在片調(diào)諧回路天線的差動輸出(即RF發(fā)射)。PLL輸出信號在發(fā)射前被選通(導通一截止ASK)或被調(diào)幅,使用RF載波發(fā)射數(shù)據(jù)流。RF功率放大器輸出功率能夠使用軟件調(diào)節(jié)。
2.AVR微控制器結(jié)構(gòu)
I/O 和控制寄存器:I/O空間地址和功能如表2所列。AT86RF401 I/O和外設(shè)被設(shè)置在I/O空間內(nèi)。各I/O存儲單元利用輸入和輸出指令在32個通用工作寄存器和I/O空間之間傳送數(shù)據(jù)。地址范圍$00~$1F內(nèi)的 I/O寄存器,使用SBI和CBI指令,可直接進行存取。在這些寄存器中的每位數(shù)值都能夠使用SBIS和SBIC指令檢驗。
表2 AT86RF401 I/O空間地址和功能
地 址 | 名 稱 | 功 能 |
$3F | SREG | 狀態(tài)寄存器 |
$3E | SP | 堆棧指針高位寄存器 |
$3D | SPL | 堆棧指針低位寄存器 |
$35 | B_CONFIG | 低電池組低寄存器 |
$34 | B_DET | 按鍵檢測寄存器 |
$33 | PWR_CTL | 功能控制寄存器 |
$32 | IO_DATIN | I/O DATA輸入寄存器 |
$31 | I_DATOUT | I/O DATA輸出寄存器 |
$30 | IO_ENAB | I/O使能寄存器 |
$22 | WDTCR | 看門狗定時控制寄存器 |
$21 | BTCR | 位定時控制寄存器 |
$20 | BTCNT | 位定時控制寄存器 |
$1E | DEEAR | 數(shù)據(jù)EEPROM地址寄存器 |
$1D | DEEDR | 數(shù)據(jù)EEPROM數(shù)據(jù)寄存器 |
$1C | DEE | 數(shù)據(jù)EEPROM控制寄存器 |
$17 | TXCR7 | 發(fā)射組態(tài)寄存器7 |
$16 | TXCR6 | 發(fā)射組態(tài)寄存器6 |
$15 | TXCR5 | 發(fā)射組態(tài)寄存器5 |
$14 | TXCR4 | 發(fā)射組態(tài)寄存器4 |
$13 | TXCR3 | 發(fā)射組態(tài)寄存器3 |
$12 | CTL0 | |
$11 | TXCR2 | 發(fā)射組態(tài)寄存器2 |
$10 | TXCR1 | 發(fā)射組態(tài)寄存器1 |
AVR狀態(tài)寄存器SREG為8位,包括:總中斷使能、位復制存儲、半進位標志、符號位、溢出標志、負數(shù)標志、零標志和進位標志??勺x可寫,初始值為00H。復位和中斷處理,必須設(shè)置SREG中的中斷控制使能位。
對于位定時器,AT86RF401使用2個中斷。這些中斷和復位在程序存儲器空間有各自的編程向量。復位和中斷向量如表3所列。
對于復位中斷處理,最典型和通用的程序設(shè)置是:
地址表 編碼 注釋
$000 jmp RESET ;復位處理
$002 jmp BT_F2_ISR ;位定時器2中斷服務程序
$004 jmp BT_F0_ISR ;位定時器0中斷服務程序
$006 MAIN:<instr>XXXX;主程序開始
存儲器編程:AT86RF401 MCU提供2個程序存儲器允許編程/不允許編程鎖定位。鎖定位保護模式如表4所列。AT86RF401提供2KB(字節(jié))的可反復編程的Flash程序存儲器和1Kb(位)的EEPROM數(shù)據(jù)存儲器。存儲器可由串行SPI接口編程。當RESETB端接地時,程序存儲器和數(shù)據(jù)存儲器可使用串行SPI總線編程。串行接口由SCK、SDI(輸入)和SDO(輸出)組成。在RESETB被設(shè)置為低后,在編程/擦除操作執(zhí)行前,必須首先執(zhí)行編程命名能指令。
表3 AT86RF401復位和中斷向量
向量編號 | 編程地址 | 源 | 中斷定義 |
1 | $000 | 復位、看門狗、按鍵 | 硬件端、看門狗或按鍵復位 |
2 | $002 | 位定時器 | 位定時器標志2中斷 |
4 | $004 | IO3 | 位定時器標志0中斷 |
5 | $006 | TBD | 未使用 |
表4 AT86RF401鎖定位保護模式
編程鎖定位 | 保護類型 | ||
模式 | LB1 | LB2 | |
1 | 1 | 1 | 無編程鎖定<可編程> |
2 | 0 | 1 | EEPROM不可編程 |
3 | 0 | 0 | EEPROM不可編程也不可校驗 |
AT86RF401包括一個128B EEPROM。這個存儲器利用在I/O存儲器中的3個寄存器DEECR、DEEDR、器利用在I/O存儲器中的3個寄存器DEECR、DEEDR、DEEAR訪問。
串行編程和校驗電路如圖2所示。串行編程時序波形如圖3所示。當寫數(shù)據(jù)到AT86RF401時,數(shù)據(jù)在CLK的上沿被選通;當從AT86RF401讀數(shù)據(jù)時,數(shù)據(jù)在CLK的下沿被選通。
三、應用電路
典型的應用電路如圖4所示。圖4中芯片工作頻率為315MHz,如需工作在433.92MHz,則電路中元件參數(shù)R1為9.0kΩ,C3為6.5pF,C8為120pF,Y1為18.08MHz。發(fā)射天線可印制在PCB上。