手不什么| 中耳炎有什么症状| 10月底是什么星座| 欧亚斯密什么意思| sd是什么意思| 祭日和忌日是什么意思| 女孩叫锦什么好听| 牙周康又叫什么名字| 牙痛吃什么药效果最好| 海底轮是什么意思| 梦见前男友结婚了是什么征兆| 驳是什么意思| 牛筋草有什么作用| 秦始皇墓为什么不敢挖| 轴向是什么意思| 一什么泪珠| 鼻子干痒是什么原因| longines是什么牌子| 六月飞雪是什么意思| 吃什么会胖| 什么是籍贯| 女人骨质疏松吃什么最好| 直接胆红素是什么| 增加免疫力吃什么| 心率偏高是什么原因| 月蚀是什么意思| 腰痛宁为什么晚上吃| 什么叫糖类抗原| 什么原因引起尿酸高| 什么叫几何图形| 真正的朋友是什么| 硬刚是什么意思| 大姨妈来了喝红糖水有什么功效| 梦见钱是什么预兆| 胜造七级浮屠是什么意思| 细胞结构包括什么| 第一次是什么意思| 相手蟹吃什么| 什么玩意儿| 9.22是什么星座| 中医康复技术学什么| 7月7是什么节日| 根管是什么| 莘莘学子什么意思| 拔牙后需要注意什么| 肚子胀气吃什么| 优雅从容的意思是什么| 孕妇生气对胎儿有什么影响| 火麻是什么植物| 红色菜叶的菜是什么菜| 胃酸吃什么能缓解| 糖醇是什么意思| 煲汤放什么药材补气血| 千丝万缕是什么意思| 波菜不能和什么一起吃| pmi是什么| 胃气上逆是什么原因| 惊世骇俗的意思是什么| 巨蟹座与什么星座最配| 美平是什么药| 九死一生什么意思| 同病相怜什么意思| 吸入物变应原筛查是什么| 大满贯什么意思| 礼尚往来什么意思| 书店买不到的书是什么书| 发痧吃什么药可以断根| 什么是房颤| 三月阳春好风光是什么生肖| 打耳洞医院挂什么科| 麻豆是什么意思| 儿童办理护照需要什么材料| 手上起皮是什么原因| 牙痛是什么原因| 庆字五行属什么| 尿路感染需要做什么检查| 射进去什么感觉| 什么小说最好看| 二甲双胍缓释片什么时候吃| 肝主疏泄是什么意思| 什么是| 县级以上医院是指什么| 车厘子与樱桃有什么区别| 幽门螺杆菌吃什么药好| 为什么不要看电焊火花| 鸡蛋散黄是什么原因| 冲击波治疗有什么效果| 00年属什么生肖| 压片糖果是什么意思| 黄精长什么样| 赢字五行属什么| 手淫是什么| 夏天适合喝什么养生茶| 九月八号是什么星座| 烟雾病是什么| 尿多吃什么药| 做梦笑出声是什么预兆| 二氧化硅是什么晶体| 11月9日是什么日子| 胆囊炎不能吃什么食物| 肠胃功能紊乱吃什么药| 铲子是什么意思| 满城尽带黄金甲是什么意思| 深海鱼油什么时候吃最好| 心率过快挂什么科| 玉兰花什么时候开| 来源是什么意思| 什么的流动| 孩子咽炎老是清嗓子吃什么药| 过期的酸奶有什么用途| 吃什么不长肉| 什么是伟哥| edg是什么意思| 水瓶座是什么象星座| 一剪梅是什么意思| 右肾钙化灶是什么意思| 大拇指疼痛什么原因引起的| 阴虚吃什么中成药| 微信什么时候推出的| 开业送什么好| 白细胞高有什么危害| 复制是什么意思| 甲亢用什么药| 打call是什么意思| 吃不胖是什么原因| 宠物蛇吃什么| 小孩眨眼睛是什么原因| 金玉良缘是什么生肖| 做梦梦到男朋友出轨了是什么意思| simon什么意思| 磁共振是查什么的| 甘油三酯高是什么原因造成的| 总胆固醇什么意思| 维生素c有什么好处| 翻新机是什么意思| 总价包干是什么意思| 右耳朵疼是什么原因| 副歌部分是什么意思| 左旋肉碱是什么| 继承衣钵是什么意思| 鲜黄花菜含有什么毒素| 一直咳嗽不见好是什么原因| sys是什么意思| 什么什么和谐| 五十年是什么婚| 吃汉堡为什么要配可乐| 熠熠生辉什么意思| 二聚体测定是什么| 父母坟上长树意味什么| 祸水什么意思| ag是什么意思| 舌头疼吃什么药| 微笑是什么意思| 鱼水之欢是什么意思| 抗坏血酸是什么| 欲钱看正月初一是什么生肖| 家里放什么最招财| 霉菌是什么原因感染的| 一般手脚慢进什么工厂| 挂钩疼挂什么科| 被虫子咬了涂什么药膏| 狐臭挂什么科| 股票融是什么意思| 强磁对人体有什么危害| 兰花代表什么象征意义| 什么时候有流星| 2型糖尿病吃什么药降糖效果好| 突兀什么意思| 毕婚族是什么意思| 尽兴是什么意思| 手经常出汗是什么原因| 国五行属什么| 刺猬和豪猪有什么区别| 螯合剂是什么| 省长是什么级别干部| cmf是什么| 胰岛素偏低是什么原因| 苦荞茶喝了有什么好处| 茯苓和茯神有什么区别| 望远镜什么牌子好| 百香果有什么功效与作用| 女性尿频繁是什么原因| 什么人容易得多囊卵巢| 熊人是什么意思| 总胆红素升高是什么原因| 反酸吃什么马上能缓解| 上午右眼皮跳什么预兆| 蕊五行属什么| 夏威夷果吃了有什么好处| 做什么生意好挣钱| 拉肚子吃什么药比较好| 外人是什么意思| 回归热是什么病| 头七有什么讲究| 梦见摘枣是什么意思| 为什么会突然长智齿| 葡萄的茎属于什么茎| 什么是野鸡大学| 卷帘大将是干什么的| 为什么会长脂肪瘤| 朱元璋长什么样| 迂回是什么意思| 人为什么会出汗| 为什么会长子宫肌瘤| 部长是什么职位| 干眼症用什么眼药水| 牛的四个胃分别叫什么| 养肝护肝吃什么药| 藏红花适合什么样的人喝| c1和c2有什么区别| 什么叫放疗| 公开课是什么意思| 为什么不能近亲结婚| 脉搏强劲有力代表什么| 黄花菜都凉了什么意思| pe材质是什么| 什么叫调剂| 固精缩尿是什么意思| skechers是什么牌子| 自投罗网是什么意思| 脸上长癣用什么药膏| m1是什么单位| 明胶是什么| 狗牯脑茶属于什么茶| 肾寒吃什么中成药| 士官是什么| 何首乌是什么| 做梦笑醒了有什么征兆| 恩客是什么意思| 蛔虫是什么意思| 早上起来眼皮肿是什么原因| 雁过拔毛是什么意思| 菽是什么意思| 不走心是什么意思| 订盟是什么意思| 开封有什么好玩的地方| 什么是弱视| 花斑癣用什么药膏| 右眼一直跳什么情况| 哈伦裤配什么上衣| 三妻四妾是什么意思| 六月十二号是什么星座| 学前班是什么意思| 人参果不能和什么一起吃| 宫颈潴留囊肿是什么意思| 脱俗是什么意思| 葡萄是什么茎| 牡丹花是什么颜色的| 糖尿病是什么原因造成的| 氨味是什么味道| 糖代谢增高是什么意思| 紫色和蓝色混合是什么颜色| 丙三醇是什么东西| nylon是什么面料成分| 膝盖疼痛用什么药| 过度换气是什么意思| 目翳是什么意思| 早晨起来口苦什么原因| 民营企业和私营企业有什么区别| 韧带损伤挂什么科| 预防更年期提前应该吃点什么药| 什么是个性| 丙二醇是什么东西| 红红的苹果像什么| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 基于SOC的FPSLIC硬件实现分组加密算法

日日顺开启首个乡村振兴新模式

——
作者:徐燕红 张振权 时间:2025-08-05 来源:21IC中国电子网 收藏
百度 经核实,人已经从车内出来了,为一名怀孕8个月的孕妇,积水已经1米深左右,中队到场后立即实施处置,利用担架将孕妇转移至消防车内送至安全区域,孕妇生命体征良好。

  摘要: 本文中采用美国Atmel公司设计生产的即现场可编程系统级集成电路中的AT94K-Starter Kit器件,通过它内部的AVR内核、异步通信端口、FPGA以及其它外设,以及串口调试软件Acessport129实现了计算机和试验板的通信,从而通过硬件实现了的算法。

  关键词    

1  引言:

  美国Atmel公司生产的AT94K系列芯片是以Atmel 0.35 的5层金属CMOS工艺制造。它基于SRAM的FPGA、高性能准外设的Atmel 8位RISC 。另外器件中还包括扩展数据和程序SRAM及器件控制和管理逻辑。图1-1是Atmel公司的内部结构图。


图1-1 FPSLIC内部结构图

  AT94K内嵌AVR内核,Atmel公司的FPSLIC可编程SOC内嵌高性能和低功耗的8位,最多还带有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的仿真程序软件
 
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器件将载入数据流文件并运行该设计。 

图2-2  串口通信连接指示图

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软件,如下图8-20所示。对于Accessport129的设置为:串口为COM1(根据用户选择的计算机端口来设定),波特率:9600,校验位:NONE,数据位为8 ,停止位选择1,串口开关选择开;

3  试验结果:

  图3-1中,下面方框中是要输入的64比特的明文,(程序中输入的明文为0123456789ABCDEF),当这64个比特的数据全部输入完毕后,点击发送按钮,在软件上方的数据接收端显示出经过DES算法加密后的密文(85E813540F0AB405)。通过硬件实现的的结果和实际仿真结果是完全一致的。同时通过数码管也分别显示出最后的加密数据。至此整个硬件试验结束。

图3-1 Accesspot串口调试软件显示的结果图

  从上面的串口调试软件可以看出,DES算法的仿真是正确的也是可以在实际中应用的。同理,可以通过以上的方法来实现DES解密和AES等其它的分组加解密。 



评论


相关推荐

技术专区

关闭
风景旧曾谙是什么意思 子宫小是什么原因引起的 ckd3期是什么意思 32岁属什么 cvc是什么
书签是什么 做一半就软了是什么原因 蓝莓什么季节成熟 胃体隆起是什么意思 什么是m属性
妤字属于五行属什么 无毒不丈夫是什么意思 隔离霜和粉底液有什么区别 吃香菜有什么好处 子痫前期是什么意思
sp02是什么意思 小便黄是什么病症 naomi什么意思 善莫大焉是什么意思 伤风胶囊又叫什么
结石用什么药hcv8jop4ns9r.cn 身上起红疙瘩是什么原因hcv8jop5ns7r.cn 便秘看什么科xinmaowt.com 咖啡有什么营养hcv7jop5ns4r.cn 吃了发芽的土豆会有什么症状xianpinbao.com
射手是什么星座hcv9jop0ns9r.cn 戌时属什么生肖hcv8jop2ns9r.cn 交链孢霉过敏是什么hcv8jop7ns2r.cn 生蚝和牡蛎有什么区别hcv7jop6ns0r.cn 排卵试纸强阳说明什么hcv7jop5ns2r.cn
相害是什么意思hcv9jop2ns0r.cn 处女座的幸运色是什么颜色hcv9jop1ns5r.cn 醋有什么功效和作用hcv8jop4ns6r.cn kay是什么意思hcv8jop5ns0r.cn 仙人跳是什么意思hcv9jop4ns1r.cn
山川载不动太多悲哀是什么歌hcv7jop5ns5r.cn 达芬奇是干什么的chuanglingweilai.com 静静地什么hcv8jop2ns9r.cn 莲子是什么hcv8jop8ns7r.cn 人得布病什么症状hcv7jop6ns7r.cn
百度