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