當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]本文中采用美國Atmel公司設計生產的FPSLIC即現(xiàn)場可編程系統(tǒng)級集成電路中的AT94K-Starter Kit器件,通過它內部的AVR內核、異步通信端口、FPGA以及其它外設,以及串口調試軟件Acessport129實現(xiàn)了計算機和試驗板的通信,從而通過硬件實現(xiàn)了分組加密的算法。

作者Email: zzqxyh@stu.xjtu.edu.cn

摘要: 本文中采用美國Atmel公司設計生產的FPSLIC即現(xiàn)場可編程系統(tǒng)級集成電路中的AT94K-Starter Kit器件,通過它內部的AVR內核、異步通信端口、FPGA以及其它外設,以及串口調試軟件Acessport129實現(xiàn)了計算機和試驗板的通信,從而通過硬件實現(xiàn)了分組加密的算法。

關鍵詞:FPSLIC  AVR單片機  分組加密

1  引言:

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


圖1-1 FPSLIC內部結構圖

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

2    FPSLIC硬件的設計實現(xiàn):

2.1 硬件實現(xiàn)框圖

圖2-1系統(tǒng)硬件實現(xiàn)框圖

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

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

1.    利用聯(lián)合仿真軟件建立一個FPSLIC工程。
2.    預先建立一個AVR軟件仿真程序文件。
3.    預先建立一個FPGA的硬件仿真程序文件。
4.    設置和運行AVR-FPGA接口設計。
5.    運行布局前的聯(lián)合仿真Pre-layout Converification(這一步是可選擇的)。
6.    運行Figaro-IDS進行FPGA的布局布線。
7.    運行布局后的聯(lián)合仿真Pos-layout Converification(這一步是可選擇的)。
8.    器件編程數(shù)據(jù)下載與實驗驗證。 

   我們以DES數(shù)據(jù)加密為例,(新建的工程名為lab1.apj,AVR仿真程序文件為desjiami.asm,F(xiàn)PGA的硬件仿真程序為Count.vhdl)。如下給出其中兩個關鍵步驟:
2.2 編譯AVR的仿真程序軟件
 
Reset:          (初始化部分)
sbi   UCSR11,TXEN0           ??;設置UART0的收
sbi   UCSR11,RXEN0            ;設置UART0的發(fā)
ldi   rTemp, 0x19               ;配置傳輸波特速率 - 9600 bps @ 4 MHz
out  UBRR0, rTemp            ??;初始化 UART0 速率
RX:            (接收部分)
sbis UCSR10, RXC0              ;是否接受完畢?
rjmp RX                        ?。蝗绻麤]有結束則繼續(xù)等待接受
in  r23,UDR0                   ??;將串口的數(shù)據(jù)讀到寄存器中
st  z+, r23                    ?。粚?shù)據(jù)存放到SRAM中
cpi zl, $08                         ;DES要加密的數(shù)據(jù)是64比特,即8個字節(jié)
brne RX                           ;不夠一個分組則繼續(xù)接收
……
rcall DESjiami          ??;調用DES加密的AVR仿真程序
…….
ld r23,z+            ??;利用z指針取出加密后的數(shù)據(jù)
out UDR0,r23           ;將加密后的一個字節(jié)數(shù)據(jù)發(fā)送到端口
TX:             (發(fā)送部分)
sbis UCSR10, TXC0        ;一個字節(jié)的數(shù)據(jù)是否發(fā)送完畢
rjmp TX            ?。蝗绻麛?shù)據(jù)沒有傳輸完畢繼續(xù)
ld r23,z+                         ;利用z指針取出加密后的數(shù)據(jù)
out UDR0,r23                     ;將加密后的一個字節(jié)數(shù)據(jù)發(fā)送到端口
TX1:
sbis UCSR10,UDRE0        ;UART0數(shù)據(jù)寄存器件是否為空,即發(fā)送器是否接收新的數(shù)據(jù)
rjmp TX1                        ;沒有則繼續(xù)等待
cpi zl,$18                        ;加密后的64 bit數(shù)據(jù)是否全部發(fā)送完畢
brne TX                          ;沒發(fā)送完畢則繼續(xù)發(fā)送

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

2.1.2器件編程與試驗驗證

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

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

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

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

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

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

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

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

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

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

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

3  試驗結果:

圖3-1中,下面方框中是要輸入的64比特的明文,(程序中輸入的明文為0123456789ABCDEF),當這64個比特的數(shù)據(jù)全部輸入完畢后,點擊發(fā)送按鈕,在軟件上方的數(shù)據(jù)接收端顯示出經(jīng)過DES算法加密后的密文(85E813540F0AB405)。通過硬件實現(xiàn)的的結果和實際仿真結果是完全一致的。同時通過數(shù)碼管也分別顯示出最后的加密數(shù)據(jù)。至此整個硬件試驗結束。

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

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉