當前位置:編程學習大全網 - 源碼下載 - Flash交互動畫裏怎麽實現算法?

Flash交互動畫裏怎麽實現算法?

基於SOC的FPSLIC硬件實現分組加密算法

1 引言:

美國Atmel公司生產的AT94K系列芯片是以Atmel 0.35 的5層金屬CMOS工藝制造。它基於SRAM的FPGA、高性能準外設的Atmel 8位RISC AVR單片機。另外器件中還包括擴展數據和程序SRAM及器件控制和管理邏輯。圖1-1是Atmel公司的FPSLIC內部結構圖。

圖1-1 FPSLIC內部結構圖

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

2 FPSLIC硬件的設計實現:

2.1 硬件實現框圖

圖2-1系統硬件實現框圖

圖2-1是為了實現加密算法的硬件框圖。計算機通過它的串口和FPSLIC的通信端口UART0相連,用來進行數據的傳送和接收。FPSLIC通過AVR的通信端口等待接收主機傳來的信息,通過內部的下載程序將數據進行處理,最後再傳回到主機上。圖2-1中FPGA是壹個計數器,此計數器壹上電就從0計數,並用進位輸出信號產生壹個AVR中斷,即進位輸出信號RCO連接到AVR的中斷信號INTA0。當AVR接收到由計數器的進位信號產生的中斷時,則執行INTA0的中斷服務程序(ISR)。在此期間

,AVR就給INTA0產生的次數計數,並把它放到8位的AVR-FPGA數據總線上,這時就會觸發AVR的寫使能信號(FPGA的aWE信號端)和FPGA的I/O SELECT0信號(FPGA的LOAD信號端),同時從AVR——FPGA數據總線上將數據載入計數器。數碼管的各極連接在實驗板上的可編程端口,通過引腳配置用來顯示數據。LED指示燈在AVR I/O輸出的D口,直接將數據通過命令PORTD來顯示。FPGA的時鐘通過GCLK5選自AVR單片機的時鐘。我們以DES數據加密為例,由仿真試驗可以得出DES加密的速率為57.024 kbit/s,它大於串口的最大速率19.2kbit/s,因此可以實時進行數據的加密操作。

壹個典型的FPSLIC設計通常應該包括以下幾個步驟:

1. 利用聯合仿真軟件建立壹個FPSLIC工程。

2. 預先建立壹個AVR軟件仿真程序文件。

3. 預先建立壹個FPGA的硬件仿真程序文件。

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

5. 運行布局前的聯合仿真Pre-layout Converification(這壹步是可選擇的)。

6. 運行Figaro-IDS進行FPGA的布局布線。

7. 運行布局後的聯合仿真Pos-layout Converification(這壹步是可選擇的)。

8. 器件編程數據下載與實驗驗證。

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

2.2 編譯AVR的仿真程序軟件

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

2.3器件編程與試驗驗證

1. 將下載電纜ATDH2225的25針的壹端從計算機的並行口接出,令壹端10針扁平線插入ATSTK94實驗板的J1插頭上。下載電纜的標有紅色的線和J1插頭的第壹腳連接。

2. 因為要和計算機串口進行通信,因此要制作壹個串口連接電纜,其九針連接電纜的連接關系如下圖2-2。電纜壹端連接在計算機的任意串口上,另壹端連接在實驗板上的UART0上。連接電纜只需要連接三根線,UART0的2端連接在FPSLIC的發送端,因此它和計算機的串口2端(接收數據端)相連。UART0的3端連接在FPSLIC的接收端,因此它和計算機的串口2端(發送數據端)相連。

&n

bsp; 圖2-2 串口通信連接指示圖

3. 選擇4MHz時鐘,即在實驗板上將JP17設置在靠近板子內側位置,而將JP18不連接,也就是將其連接跳線拔掉。

4. 將直流9V電源接頭插入ATSTK94實驗板的電源插座P3上。

5. 將實驗板上的開關SW10調至PROG位置。開關SW10有編程(PROG)和運行(RUN)兩種連接。在編程位置,用戶可以通過下載電纜和下載程序軟件CPS,將System Designer生成的FPSLIC數據流文件給配置存儲器編程。在運行位置,FPSLIC器件將載入數據流文件並運行該設計。

6. 打開電源開關SW14,即將它調整到ON位置。這時候實驗板上電源發光二極管(紅色)發光,表示實驗板上已經上電。這樣,硬件就連接完畢,等待下壹步的數據下載。

7. 單擊OK按鈕,即生成數據流文件,它將下載到ATSTK94實驗板的配置存儲器中,這時,Atmel的AT17配置可編程系統(CPS)窗口被打開,如下圖2-3,並自動給器件編程。

圖2-3 FPSLIC控制寄存器設置對話框

在Procesure下拉列表框中選擇/P Partition,Program and Verify from an Atmel File。在Family下拉列表框中選擇AT40K/Cypress,在Device下拉列表框中選擇AT17LV010(A)(1M)。其余采用系統的默認值。然後點擊Start Produce按鈕,如果電纜等硬件設置正確,那麽程序將下載到實驗板上。

8. 將開關SW10調至RUN位置,打開串口調試程序Accesspot129軟件。對於Accessport129的設置為:串口為COM1(根據用戶選擇的計算機端口來設定),波特率:9600,校驗位:NONE,數據位為8 ,停止位選擇1,串口開關選擇開;

3 試驗結果:

圖3-1中,下面方框中是要輸入的64比特的明文,(程序中輸入的明文為0123456789ABCDEF),當這64個比特的數據全部輸入完畢後,點擊發送按鈕,在軟件上方的數據接收端顯示出經過DES算法加密後的密文(85E813540F0AB405)。通過硬件實現的的結果和實際

仿真結果是完全壹致的。同時通過數碼管也分別顯示出最後的加密數據。至此整個硬件試驗結束。

圖3-1 Accesspot串口調試軟件顯示的結果圖

從上面的串口調試軟件可以看出,DES算法的仿真是正確的也是可以在實際中應用的。同理,可以通過以上的方法來實現DES解密和AES等其它的分組加解密。

  • 上一篇:什麽是勾股定理?
  • 下一篇:來人求救啊~~~實現線性順序表的操作 C語言
  • copyright 2024編程學習大全網