CC2530和FPGA的新型無線網絡節點設計
圖2的ZigBee網絡中,路由器既能收發數據,也能充當路南器,轉發數據。實際上,中心協調器本身和路由器沒有區別。而在一個網絡里,必須把某個路由器作為主節點,并沒置整個網絡所共用的PAN ID,例如所有路由器的出廠PAN ID都設為PAN ID=0x199B。在組網時,需要把其中一個路由器作為主節點,設置除0x199B的0x0001~0xFF00中的任意的PAN ID。在這個網絡里,有唯一的PAN ID,任意想要加入網絡的節點,需要設置為相同的PAN ID才可以加入。該網絡中的任意兩個節點都可以進行通信,即使其他節點都斷電了,當然也有可能中心協調器也斷電,這兩個節點間還是可以進行通信的。
2 節點的構成
2.1 FPGA具體配置
本文采用的FPGA主芯片是Altera公司的EP1C6Q240C8,它有240個引腳、6 030個LE以及26個M4K結構的片上RAM(共計239 616位),而且含有2個高性能PLL以及多達185個用戶自定義的I/O口。由于該器件是FPGA與CC2530的協調操作,所以FPGA需要根據CC2530的輸入/輸出進行配置,而CC2530是既作為MCU,又作為數據傳輸端的芯片。FPGA內部結構如圖3所示。本文引用地址:http://www.104case.com/article/190019.htm
EP1C6Q240C8根據CC2530發送來的控制信號,根據時鐘單元對CC2530接收到的數據進行協議的檢測。若檢測正確,便發送到數據控制邏輯單元,再根據地址譯碼存入數據存儲單元。在需要輸出時,也是通過CC2530的信號發送來控制輸出。在FPGA中,最重要的便是數據控制邏輯單元,其中包含了控制比較和數據傳輸的功能。
2.2 CC2530內部設置
MCU與無線傳輸接收模塊使用TI公司的CC2530,具體選用了CC2530F256。它具有256 KB閃存塊,VDD為2~3.6V,fc為2 394~2 507MHz。使用C語言對CC2530進行編程,主要是對RF收發器的配置,而對了該器件,需要在控制RF收發器的同時,對FPGA進行控制,部分程序如下:
評論