<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPSLIC設計的DES解密和AES的分組加解密的實(shí)現

基于FPSLIC設計的DES解密和AES的分組加解密的實(shí)現

作者: 時(shí)間:2010-09-16 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 引言

本文引用地址:http://dyxdggzs.com/article/173220.htm

  美國Atmel公司生產(chǎn)的AT94K系列芯片是以Atmel0.35的5層金屬CMOS工藝制造。它SRAM的FPGA、高性能準外設的Atmel8位RISCAVR單片機。另外器件中還包括擴展數據和程序SRAM及器件控制和管理邏輯。圖1-1是Atmel公司的內部結構圖。

  


  圖1-1內部結構圖

  AT94K內嵌AVR內核,Atmel公司的可編程SOC內嵌高性能和低功耗的8位AVR單片機,最多還帶有36KB的SRAM,2個(gè)UART、1個(gè)雙線(xiàn)串行接口,3個(gè)定時(shí)/計數器、1個(gè)88乘法器以及一個(gè)實(shí)時(shí)時(shí)鐘。通過(guò)采用單周期指令,運算速度高達1MPS/MHz,這樣用戶(hù)可以充分優(yōu)化系統功耗和處理速度。AVR內核增強型RISC結構,擁有豐富的指令系統以及32個(gè)通用工作寄存器。而且所有通用寄存器都與算術(shù)邏輯單元ALU相連;另外,在一個(gè)時(shí)鐘周期內,執行單條指令時(shí)允許存取2個(gè)獨立的寄存器,這種結構使得代碼效率更高,并且在相同的時(shí)鐘頻率下,可以獲得比傳統的CISC微處理器高10倍的數據吞吐量。AVR從片內SRAM執行程序,由于A(yíng)VR運行代碼存儲在SRAM中,因此它可以提供比較大的吞吐量,這樣可以使其工作在突發(fā)模式上。在這種模式上,AVR大多時(shí)間都是處于低功耗待機狀態(tài),并能在很短的時(shí)間里進(jìn)行高性能的處理。微處理器在突發(fā)模式運行模式下的平均功耗要比長(cháng)時(shí)間低頻率運行時(shí)的功耗低得多。FPSLIC的待機電流小于100,典型的工作電流為2-3mA/MHz。在系統上電時(shí),FPGA配置SRAM和AVR程序SRAM都能自動(dòng)地通過(guò)Atmel在系統可編程串行存貯器AT17來(lái)裝載。

  2 FPSLIC硬件的

  2.1 硬件框圖

  

  圖2-1系統硬件框圖

  圖2-1是為了實(shí)現加密算法的硬件框圖。計算機通過(guò)它的串口和FPSLIC的通信端口UART0相連,用來(lái)進(jìn)行數據的傳送和接收。FPSLIC通過(guò)AVR的通信端口等待接收主機傳來(lái)的信息,通過(guò)內部的下載程序將數據進(jìn)行處理,最后再傳回到主機上。圖2-1中FPGA是一個(gè)計數器,此計數器一上電就從0計數,并用進(jìn)位輸出信號產(chǎn)生一個(gè)AVR中斷,即進(jìn)位輸出信號RCO連接到AVR的中斷信號INTA0。當AVR接收到由計數器的進(jìn)位信號產(chǎn)生的中斷時(shí),則執行INTA0的中斷服務(wù)程序(ISR)。在此期間,AVR就給INTA0產(chǎn)生的次數計數,并把它放到8位的AVR-FPGA數據總線(xiàn)上,這時(shí)就會(huì )觸發(fā)AVR的寫(xiě)使能信號(FPGA的aWE信號端)和FPGA的I/OSELECT0信號(FPGA的LOAD信號端),同時(shí)從AVR——FPGA數據總線(xiàn)上將數據載入計數器。數碼管的各極連接在實(shí)驗板上的可編程端口,通過(guò)引腳配置用來(lái)顯示數據。LED指示燈在A(yíng)VRI/O輸出的D口,直接將數據通過(guò)命令PORTD來(lái)顯示。FPGA的時(shí)鐘通過(guò)GCLK5選自AVR單片機的時(shí)鐘。我們以數據加密為例,由仿真試驗可以得出加密的速率為57.024kbit/s,它大于串口的最大速率19.2kbit/s,因此可以實(shí)時(shí)進(jìn)行數據的加密操作。

  一個(gè)典型的FPSLIC通常應該包括以下幾個(gè)步驟:

  1.利用聯(lián)合仿真軟件建立一個(gè)FPSLIC工程。

  2.預先建立一個(gè)AVR軟件仿真程序文件。

  3.預先建立一個(gè)FPGA的硬件仿真程序文件。

  4.設置和運行AVR-FPGA接口。

  5.運行布局前的聯(lián)合仿真Pre-layoutConverification(這一步是可選擇的)。

  6.運行Figaro-IDS進(jìn)行FPGA的布局布線(xiàn)。

  7.運行布局后的聯(lián)合仿真Pos-layoutConverification(這一步是可選擇的)。

  8.器件編程數據下載與實(shí)驗驗證。

  我們以數據加密為例,(新建的工程名為lab1.apj,AVR仿真程序文件為desjiami.asm,FPGA的硬件仿真程序為Count.vhdl)。

  2.2 編譯AVR的仿真程序軟件

  

  (以上程序代碼是整個(gè)仿真的程序框架,最主要的是對接口進(jìn)行初始化和對發(fā)送和接收部分進(jìn)行設置,以便進(jìn)行串口的通信)


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>