基于SPI總線的無線數據傳輸系統設計
3 nRF905無線收發芯片
nRF905是挪威Nordic VLSI公司推出的單片射頻收發器,工作電壓1.9~3.6 V,工作于433/868/915MHz這3個ISM頻段,頻道轉換時間650μs,最大數據速率為100kbit/s。nRF905由頻率合成器、接收解調器、功率放大器、晶體振蕩器和GFSK調制器組成。自動產生前導碼和CR校驗碼,可以很容易通過SPI接口進行編程配置。外圍器件連接簡單,無需外部SAw濾波器。nRF905有兩種工作模式和兩種節能模式。兩種工作模式分別是ShockBurst TM發送模式和ShockBurst RM接收模式,兩種節能模式分別是掉電和SPI編程模式,Standby和SPI編程模式。nRF905的工作模式由TRX_CE,TX_EN,PWR_UP這3個引腳的設置來決定。
4 nRF905和STC89C52RC的硬件連接電路
nRF905具有標準的SPI硬件接口,對于不帶SPI串行總線接口的STC89C52RC單片機來說,可以使用軟件來模擬SPI的操作。單片機和NRF905的對應接法是:P1.6接MISO,P1.5口接MOSI,Pl.7口接SCIOCK,P1.3接CSN。選用單片機的P1.5模擬數據輸出端MOSI;Pl.6模擬數據輸入端MISO P1.7模擬SCK的輸出端;P1.3模擬從機選擇端CSN,由程序清零此I/O口,使得與它通信的NRF905做從機。采用SPI的進行數據傳送時,在SCK的每個下降沿將89C52配置NRF905的命令和數據通過MOSI引腳移入,在SCK的每個上升沿將欲傳給89C52的數據從MISO引腳移出。所以,這里將串行時鐘輸出口P1.7的初始狀態設置為低電平,選通從機,即P1.3=0低電平后,再置P1.1為高電平。這樣,89C52在輸出1位SCK時鐘的同時,將使NRF905中數據串行左移,從而輸出1位數據至89C52的P1.6口,此后再置P1.7為0,使89C52從P1.5輸出1位數據至NRF905,至此結束了模擬1位數據的傳輸。按上述步驟循環8次,即完成通過SPI總線傳輸1 bit的操作。nRF905有5個內部寄存器,分別是狀態寄存器、RF配置寄存器、發送地址寄存器、發送數據寄存器和接收數據寄存器,這5個寄存器都是通過89C52軟件模擬的SPI接口來配置的。除了對寄存器進行配置外,89C52還要對nRF905的工作模式進行切換控制。
評論