您的位置 首页 国产IC

根据SOC的FPSLIC硬件完成分组加密算法

作者Email: zzqxyh@stu.xjtu.edu.cn 摘要: 本文中采用美国Atmel公司设计生产的FPSLIC即现场可编程系统级集成电路中的AT94K-Starter Kit器件,通过

作者Email: zzqxyh@stu.xjtu.edu.cn 摘要: 本文中选用美国Atmel公司规划出产的FPSLIC即现场可编程体系级集成电路中的AT94K-Starter Kit器材,经过它内部的AVR内核、异步通讯端口、FPGA以及其它外设,以及串口调试软件Acessport129完成了计算机和实验板的通讯,然后经过硬件完成了分组加密的算法。 关键词:FPSLIC AVR单片机 分组加密 1 导言: 美国Atmel公司出产的AT94K系列芯片是以Atmel 0.35 的5层金属CMOS工艺制造。它依据SRAM的FPGA、高性能准外设的Atmel 8位RISC AVR单片机。别的器材中还包含扩展数据和程序SRAM及器材操控和办理逻辑。图1-1是Atmel公司的FPSLIC内部结构图。

1.gif

图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来装载。 [b]2 FPSLIC硬件的规划完成: [/b]2.1 硬件完成框图

2.gif

图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的仿真程序软件 Reset: (初始化部分) sbi UCSR11,TXEN0  ;设置UART0的收 sbi UCSR11,RXEN0   ;设置UART0的发 ldi rTemp, 0x19    ;装备传输波特速率 – 9600 bps @ 4 MHz out UBRR0, rTemp   ;初始化 UART0 速率 RX: (接纳部分) sbis UCSR10, RXC0   ;是否承受完毕? rjmp RX   ;假如没有完毕则持续等候承受 in r23,UDR0   ;将串口的数据读到存放器中 st z+, r23    ;将数据存放到SRAM中 cpi zl, $08 ;DES要加密的数据是64比特,即8个字节 brne RX ;不行一个分组则持续接纳 …… rcall DESjiami           ;调用DES加密的AVR仿真程序 ……. ld r23,z+             ;使用z指针取出加密后的数据 out UDR0,r23           ;将加密后的一个字节数据发送到端口 TX: (发送部分) sbis UCSR10, TXC0        ;一个字节的数据是否发送完毕 rjmp TX             ;假如数据没有传输完毕持续 ld r23,z+   ;使用z指针取出加密后的数据 out UDR0,r23 ;将加密后的一个字节数据发送到端口 TX1: sbis UCSR10,UDRE0 ;UART0数据存放器材是否为空,即发送器是否接纳新的数据 rjmp TX1 ;没有则持续等候 cpi zl,$18 ;加密后的64 bit数据是否悉数发送完毕 brne TX ;没发送完毕则持续发送 (以上程序代码是整个仿真的程序结构,最主要的是对接口进行初始化和对发送和接纳部分进行设置,以便进行串口的通讯) 2.1.2器材编程与实验验证 1. 将下载电缆ATDH2225的25针的一端从计算机的并行口接出,令一端10针扁平线刺进ATSTK94实验板的J1插头上。下载电缆的标有赤色的线和 J1插头的榜首脚衔接(■标明)。 2. 由于要和计算机串口进行通讯,因而要制造一个串口衔接电缆,其九针衔接电缆的衔接联系如下图2-2。电缆一端衔接在计算机的恣意串口上,另一端衔接在实验板上的UART0上。衔接电缆只需要衔接三根线,UART0的2端衔接在FPSLIC的发送端,因而它和计算机的串口2端(接纳数据端)相连。UART0 的3端衔接在FPSLIC的接纳端,因而它和计算机的串口2端(发送数据端)相连。 3. 挑选4MHz时钟,即在实验板大将JP17设置在接近板子内侧方位,而将JP18不衔接,也便是将其衔接跳线拔掉。 4. 将直流9V电源接头刺进ATSTK94实验板的电源插座P3上。 5. 将实验板上的开关SW10调至PROG方位。开关SW10有编程(PROG)和运转(RUN)两种衔接。在编程方位,用户能够经过下载电缆和下载程序软件 CPS,将System Designer生成的FPSLIC数据流文件给装备存储器编程。在运转方位,FPSLIC器材将载入数据流文件并运转该规划。

3.gif

图2-2 串口通讯衔接指示图 6. 翻开电源开关SW14,即将它调整到ON方位。这时候实验板上电源发光二极管(赤色)发光,表明实验板上现已上电。这样,硬件就衔接完毕,等候下一步的数据下载。 7. 单击OK按钮,即生成数据流文件,它将下载到ATSTK94实验板的装备存储器中,这时,Atmel的AT17装备可编程体系(CPS)窗口被翻开,如下图2-3,并主动给器材编程。

4.jpg

图2-3 FPSL%&&&&&%操控存放器设置对话框 在Procesure下拉列表框中挑选/P Partition,Program and Verify from an Atmel File。在Family下拉列表框中挑选AT40K/Cypress,在Device下拉列表框中挑选AT17LV010(A)(1M)。其他选用体系的默认值。然后点击Start Produce按钮,假如电缆等硬件设置正确,那么程序将下载到实验板上。 8. 将开关SW10调至RUN方位,翻开串口调试程序Accesspot129软件,如下图8-20所示。关于Accessport129的设置为:串口为 COM1(依据用户挑选的计算机端口来设定),波特率:9600,校验位:NONE,数据位为8 ,中止位挑选1,串口开关挑选开; [b]3 实验成果: [/b] 图3-1中,下面方框中是要输入的64比特的明文,(程序中输入的明文为0123456789ABCDEF),当这64个比特的数据悉数输入完毕后,点击发送按钮,在软件上方的数据接纳端显现出经过DES算法加密后的密文(85E813540F0AB405)。经过硬件完成的的成果和实践仿真成果是完全一致的。一起经过数码管也别离显现出最终的加密数据。至此整个硬件实验完毕。

5.gif

图3-1 Accesspot串口调试软件显现的成果图 从上面的串口调试软件能够看出,DES算法的仿真是正确的也是能够在实践中使用的。同理,能够经过以上的方法来完成DES解密和AES等其它的分组加解密。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/292265.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部