引言
利用軟件實施加密算法已經(jīng)成為實時安全通信系統(tǒng)的重要瓶頸。標(biāo)準(zhǔn)的商品化CPU和DSP無法跟上數(shù)據(jù)加密算法的計算速度要求。此外,CPU和DSP需要完成太多的其他任務(wù);贔PGA高度優(yōu)化的可編程的硬件安全性解決方案提供了并行處理能力,并且可以達(dá)到所要求的加密處理性能基準(zhǔn)[1].然而如果僅使用FPGA可編程VHDL來實現(xiàn)的話,系統(tǒng)就不夠靈活,升級困難,況且實現(xiàn)起來有很大的難度,本系統(tǒng)以AES加密算法為例,使用Xilinx SPARTAN 3E為開發(fā)平臺,以xilinx的嵌入式軟核microblaze為主控制器,調(diào)用FPGA的硬件VHDL編程實現(xiàn)的AES加解密和控制CC2420來實現(xiàn)高速有效的數(shù)據(jù)通信。
系統(tǒng)設(shè)計思想
本設(shè)計使用硬件描述語言VHDL在FPGA數(shù)字邏輯層面上實現(xiàn)AES加解密,為了系統(tǒng)的擴展性和構(gòu)建良好的人機交互,設(shè)計通過PS/2鍵盤輸入加密密鑰,并將其顯示在LCD上。在軟核MicroBlaze上,通過SPI總線讀寫FIFO和RAM控制射頻芯片CC2420,使系統(tǒng)具有信道選擇、地址識別、自動CRC校驗功能,使系統(tǒng)更加安全、通信誤碼率更低。
數(shù)據(jù)幀結(jié)構(gòu)設(shè)計
為了更好的提高本系統(tǒng)數(shù)據(jù)的傳輸率,在官方zigbee的數(shù)據(jù)幀格式基礎(chǔ)上做了修改。采用如表5-2所示的數(shù)據(jù)幀格式。數(shù)據(jù)幀發(fā)送時,CC2420自動在數(shù)據(jù)包的開始處加上前導(dǎo)碼和幀起始分隔符在數(shù)據(jù)包末尾加CRC檢驗。
表1 數(shù)據(jù)幀結(jié)構(gòu)