一種基于FPGA的RFID無線通信系統(tǒng)的實現(xiàn)
1.2.2 NRF905配置與工作過程
nRF905的所有配置都通過SPI接口進行。SPI接口由5個寄存器組成,一條SPI指令用來決定進行什么操作。SPI接口只有在掉電模式和Standby"模式是激活的。
其中SPI接口的5個寄存器分別為:
(1)狀態(tài)寄存器:寄存器包含數(shù)據(jù)就緒DR和地址匹配AM狀態(tài)。
(2)RF配置寄存器:寄存器包含收發(fā)器的頻率、輸出功率等配置信息。
(3)發(fā)送地址:寄存器包含目標器件地址,字節(jié)長度由配置寄存器設置。
(4)發(fā)送有效數(shù)據(jù):寄存器包含發(fā)送的有效Shock Burst數(shù)據(jù)包數(shù)據(jù),字節(jié)長度由配置寄存器設置。
(5)接收有效數(shù)據(jù):寄存器包含接收到的有效ShockBurst數(shù)據(jù)包數(shù)據(jù),字節(jié)長度由配置寄存器設置。在寄存器中的有效數(shù)據(jù)由數(shù)據(jù)準備就緒DR指示。
ShoekBurst技術使nRF905能夠提供高速的數(shù)據(jù)傳輸,而不需要高速控制器來進行數(shù)據(jù)處理或時鐘覆蓋。通過將與RF協(xié)議有關的高速信號處理放到芯片內(nèi),nRF905提供給應用控制器一個SPI接口,速率由微控制器自己設定的接口速度決定。nRF905通過ShockBurst工作模式在RF以最大速率進行連接時降低數(shù)字應用部分的速度來降低在應用中的平均電流消耗。在ShockBurst RX(接收)模式中,地址匹配AM和數(shù)據(jù)準備就緒DR信號通知控制器一個有效的地址和數(shù)據(jù)包已經(jīng)各自接收完成。在ShockBurst TX(發(fā)送)模式中,nRF905自動產(chǎn)生前導碼和CRC校驗碼,數(shù)據(jù)準備就緒DR信號通知控制器數(shù)據(jù)傳輸已經(jīng)完成。
1.3 SPI模塊
1.3.1 SPI總線介紹
SPI(Serial Parallel Bus)總線是Motorola公司提出的一個同步串行外設接口,容許CPU與各種外圍接口器件,以串行方式進行通信。它使用4條線:串行時鐘線(SCK)、主機輸入/從機輸出線(MISO)、主機輸出/從機輸入線(MOSI)、低電平有效的使能信號線(SS)。這樣,僅需3~4根數(shù)據(jù)線和控制線即可擴展具有SPI接口的各種I/0器件。
SPI總線模式的數(shù)據(jù)是以字節(jié)為單位進行傳輸?shù)?一次傳輸可以傳多個字節(jié)),每字節(jié)為8位,每個命令或者數(shù)據(jù)塊都是字節(jié)對齊的(8個時鐘的整數(shù)倍)。數(shù)據(jù)按位傳輸,高位在前,地位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達到每秒幾兆比特。SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件。在本文設計的無線通信系統(tǒng)中,由FPGA實現(xiàn)的SPI總線接口模塊為主機,NRF905的SPI模塊為從機。
SPI時序模式的選擇:
SPI接口有4種不同的數(shù)據(jù)傳輸時序,取CPOL和CPHL這兩位的組合。CPOL是用來決定SCK時鐘信號空閑時的電平;CPOL=O,空閑電平為低電平,CPOL=1時,空閑電平為高電平。CPHA是用來決定采樣時刻的,CPHA=0,在每個周期的第一個時鐘沿采樣;CPHA=1,在每個周期的第二個時鐘沿采樣。
圖2為NRF905的SPI接口的時序圖,由此本文設計的SPI工作模式是在CPOL=O,CPHA=O這種時序下。
評論