



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于SOC的FPSLIC硬件實現分組加密算法 作者Email: zzqxyh摘要: 本文中采用美國Atmel公司設計生產的FPSLIC即現場可編程系統(tǒng)級集成電路中的AT94K-Starter Kit器件,通過它內部的AVR內核、異步通信端口、FPGA以及其它外設,以及串口調試軟件Acessport129實現了計算機和試驗板的通信,從而通過硬件實現了分組加密的算法。 關鍵詞:FPSLIC AVR單片機 分組加密 1 引言: 美國Atmel公司生產的AT94K系列芯片
2、是以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/M
3、Hz,這樣用戶可以充分優(yōu)化系統(tǒng)功耗和處理速度。AVR內核基于增強型RISC結構,擁有豐富的指令系統(tǒng)以及32個通用工作寄存器。而且所有通用寄存器都與算術邏輯單元ALU相連;另外,在一個時鐘周期內,執(zhí)行單條指令時允許存取2個獨立的寄存器,這種結構使得代碼效率更高,并且在相同的時鐘頻率下,可以獲得比傳統(tǒng)的CISC微處理器高10倍的數據吞吐量。AVR從片內SRAM執(zhí)行程序,由于AVR運行代碼存儲在SRAM中,因此它可以提供比較大的吞吐量,這樣可以使其工作在突發(fā)模式上。在這種模式上,AVR大多時間都是處于低功耗待機狀態(tài),并能在很短的時間里進行高性能的處理。微處理器在突發(fā)模式運行模式下的平均功耗要比長時間
4、低頻率運行時的功耗低得多。FPSLIC的待機電流小于100 ,典型的工作電流為2-3mA/MHz。在系統(tǒng)上電時,FPGA配置SRAM和AVR程序SRAM都能自動地通過Atmel在系統(tǒng)可編程串行存貯器AT17來裝載。 2 FPSLIC硬件的設計實現: 2.1 硬件實現框圖 圖2-1系統(tǒng)硬件實現框圖圖2-1是為了實現加密算法的硬件框圖。計算機通過它的串口和FPSLIC的通信端口UART0相連,用來進行數據的傳送和接收。FPSLIC通過AVR的通信端口等待接收主機傳來的信息,通過內部的下載程序將數據進行處理,最后再傳回到主機上。圖2-
5、1中FPGA是一個計數器,此計數器一上電就從0計數,并用進位輸出信號產生一個AVR中斷,即進位輸出信號RCO連接到AVR的中斷信號INTA0。當AVR接收到由計數器的進位信號產生的中斷時,則執(zhí)行INTA0的中斷服務程序(ISR)。在此期間,AVR就給INTA0產生的次數計數,并把它放到8位的AVR-FPGA數據總線上,這時就會觸發(fā)AVR的寫使能信號(FPGA的aWE信號端)和FPGA的I/O SELECT0信號(FPGA的LOAD信號端),同時從AVRFPGA數據總線上將數據載入計數器。數碼管的各極連接在實驗板上的可編程端口,通過引腳配置用來顯示數據。LED指示燈在AVR
6、I/O輸出的D口,直接將數據通過命令PORTD來顯示。FPGA的時鐘通過GCLK5選自AVR單片機的時鐘。我們以DES數據加密為例,由仿真試驗可以得出DES加密的速率為57.024 kbit/s,它大于串口的最大速率19.2kbit/s,因此可以實時進行數據的加密操作。 一個典型的FPSLIC設計通常應該包括以下幾個步驟: 1. 利用聯合仿真軟件建立一個FPSLIC工程。 2. 預先建立一個AVR軟件仿真程序文件。 3. &
7、#160;預先建立一個FPGA的硬件仿真程序文件。 4. 設置和運行AVR-FPGA接口設計。 5. 運行布局前的聯合仿真Pre-layout Converification(這一步是可選擇的)。 6. 運行Figaro-IDS進行FPGA的布局布線。 7. 運行布局后的聯合仿真Pos-layout Converification(這一步是可選擇的)。 8.
8、 器件編程數據下載與實驗驗證。 我們以DES數據加密為例,(新建的工程名為lab1.apj,AVR仿真程序文件為desjiami.asm,FPGA的硬件仿真程序為Count.vhdl)。如下給出其中兩個關鍵步驟: 2.2 編譯AVR的仿真程序軟件 Reset: (初始化部分) sbi UCSR11,TXEN0
9、; ;設置UART0的收 sbi UCSR11,RXEN0 ;設置UART0的發(fā) ldi rTemp, 0x19 ;配置傳輸波特速率 - 9600&
10、#160;bps 4 MHz out UBRR0, rTemp ;初始化 UART0 速率 RX: (接收部分) sbis UCSR10, RXC0
11、160; ;是否接受完畢? rjmp RX ;如果沒有結束則繼續(xù)等待接受 in r23,UDR0
12、0; ;將串口的數據讀到寄存器中 st z+, r23 ;將數據存放到SRAM中 cpi zl, $08
13、160; ;DES要加密的數據是64比特,即8個字節(jié) brne RX ;不夠一個分組則繼續(xù)接收 rcall DESj
14、iami ;調用DES加密的AVR仿真程序 . ld r23,z+;利用z指針取出加密后的數據 out UDR0,r23 ;將加密后的一個字節(jié)數據發(fā)送到端口 TX: (發(fā)送部分) sbis UCSR10, TXC0 ;一個字節(jié)的數據是否發(fā)送完畢 rjmp TX;如果數據沒有傳輸完畢繼續(xù) ld r23,z+ &
15、#160; ;利用z指針取出加密后的數據 out UDR0,r23 ;將加密后的一個字節(jié)數據發(fā)送到端口 TX1:
16、sbis UCSR10,UDRE0 ;UART0數據寄存器件是否為空,即發(fā)送器是否接收新的數據 rjmp TX1 ;沒有則繼續(xù)等待 cpi zl,$18 &
17、#160; ;加密后的64 bit數據是否全部發(fā)送完畢 brne TX
18、0; 沒發(fā)送完畢則繼續(xù)發(fā)送 (以上程序代碼是整個仿真的程序框架,最主要的是對接口進行初始化和對發(fā)送和接收部分進行設置,以便進行串口的通信) 2.1.2器件編程與試驗驗證 1. 將下載電纜ATDH2225的25針的一端從計算機的并行口接出,令一端10針扁平線插入ATSTK94實驗板的J1插頭上。下載電纜的標有紅色的線和J1插頭的第一腳連接(標示)。 2. 因為要和計算機串口進行通信,因此要制作一個串口連接電纜,其九針連接電纜的連接關系如下圖2-2。電纜一端連接在計算機的任
19、意串口上,另一端連接在實驗板上的UART0上。連接電纜只需要連接三根線,UART0的2端連接在FPSLIC的發(fā)送端,因此它和計算機的串口2端(接收數據端)相連。UART0的3端連接在FPSLIC的接收端,因此它和計算機的串口2端(發(fā)送數據端)相連。 3. 選擇4MHz時鐘,即在實驗板上將JP17設置在靠近板子內側位置,而將JP18不連接,也就是將其連接跳線拔掉。 4. 將直流9V電源接頭插入ATSTK94實驗板的電源插座P3上。 5. 將實驗板上的開關SW1
20、0調至PROG位置。開關SW10有編程(PROG)和運行(RUN)兩種連接。在編程位置,用戶可以通過下載電纜和下載程序軟件CPS,將System Designer生成的FPSLIC數據流文件給配置存儲器編程。在運行位置,FPSLIC器件將載入數據流文件并運行該設計。 圖2-2 串口通信連接指示圖6. 打開電源開關SW14,即將它調整到ON位置。這時候實驗板上電源發(fā)光二極管(紅色)發(fā)光,表示實驗板上已經上電。這樣,硬件就連接完畢,等待下一步的數據下載。 7. 單擊OK按鈕,即生成數據流文件,它將下載到ATSTK94實驗板的配置存儲器中,這時,Atmel的AT17配置可編程系統(tǒng)(CPS)窗口被打開,如下圖2-3,并自動給器件編程。 圖2-3 FPSLIC控制寄存器設置對話框在Procesure下拉列表框中選擇/P Partition,Progr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)務預算部門管理制度
- 臨床診療值班管理制度
- 乳品車間衛(wèi)生管理制度
- 企業(yè)標簽標識管理制度
- 為了保障外貿管理制度
- 中介公司運營管理制度
- 中藥采購使用管理制度
- 人防警報設備管理制度
- 書店店員檔案管理制度
- 會員關系維護管理制度
- 福建省廈門市第一中學2025屆七下英語期末質量跟蹤監(jiān)視試題含答案
- 大學語文試題及答案 二
- 物理中考二輪復習教案 1作圖專題3(電學電磁學)
- 石膏廠安全管理制度 最終
- 2025年河北省中考麒麟卷生物(二)
- 結構動力學完整版本
- 2025年八年級數學下學期期末總復習八年級數學下學期期末測試卷(2)(學生版+解析)
- 四級閱讀測試題及答案
- 農村供水水質管理制度
- 建筑工地應急預案方案
- T/CIE 208-2024兒童機器人教育評價指南
評論
0/150
提交評論