<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于Xilinx FPGA的片上系統(tǒng)無線保密通信終端

          基于Xilinx FPGA的片上系統(tǒng)無線保密通信終端

          作者: 時間:2011-04-19 來源:網(wǎng)絡(luò) 收藏
          3.3 軟核控制模塊
            3.3.1 軟核MicroBlaze簡介
            MicroBlaze 是一款由xilinx公司開發(fā)的嵌入式處理器軟核,其采用RISC(Reduced Instruction Set Computer)優(yōu)化架構(gòu)。它符合IBM CoreConnect標(biāo)準(zhǔn),能夠與PPC405無縫連接[3]。MicroBlaze是一個非常簡化卻具有較高性能的軟核,在Spartan3E系列中它只占400個Slice,相當(dāng)于10萬門容量的1/3。其為哈佛結(jié)構(gòu),32位地址總線,獨立的指令和數(shù)據(jù)緩存,并且有獨立的數(shù)據(jù)和指令總線連接到IBM的PLB總線,使得它能很容易和其它外設(shè)IP核一起完成整體功能。支持SPI、I2C、PCI、CAN總線,支持重置、硬件異常、中斷、用戶異常、暫停等機(jī)制,可配置UART、GPIO等接口。
            3.3.2 microblaze的控制流程
           圖3 microblaze的控制流程
            3.3.3 microblaze的控制流程主程序
            main () {
            Initial()//初始化;
            CmdSend()//上位機(jī)命令輸入;
            DataRev()//數(shù)據(jù)接收;
            AESEny()//數(shù)據(jù)加密;
            DataPackage()數(shù)據(jù)打包;
            CC2420Sen()加密數(shù)據(jù)發(fā)送;
            Return success; }
            結(jié)語
            本將軟件加解密(在50M的頻率下使用軟件來進(jìn)行加解密)與硬件加解密時間做了對比:如表3所示。
           表3 軟件和硬件加密對比
          表4 AES加密占用資源統(tǒng)計表
            該方案充分有效的利用了Spartan 3E的資源,尤其為可編程邏輯和RAM的利用。其中AES加解密中的乘法運算均由LUT查找表來實現(xiàn),用空間換取時間,獲得了很高的算法速度。在AES算法測試時我們發(fā)現(xiàn)80%的AES加解密時間都用于密鑰擴(kuò)展算法中,如果能再進(jìn)一步把算法優(yōu)化,比如做成流水線的算法模式的話,加解密時間又能減少近20%,即由現(xiàn)在的6.74us減少到略大于5.39us,效率又可以增加很多。
            參考文獻(xiàn):
            [1]AES算法FPGA實現(xiàn)分析,唐金藝,[M] 海軍計算技術(shù)研究所
            [2]唐明,張煥國,劉樹渡等 AES的高性能硬件設(shè)計與研究 [M] 武漢大學(xué)計算機(jī)學(xué)院
            [3]趙峰 馬迪民 孫偉等 FPGA上的嵌入式設(shè)計[M] 2008.4
            [4]佟玉偉 陸浪如 FPGA先進(jìn)加密算法 (AES) 的并行實現(xiàn) [M] 交通與計算機(jī) 2002.6

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();