1、微机原理与接口技术课程设计2课程设计说明书课程设计名称: 微机原理与接口技术课程设计 课程设计题目: 加密卡 学 院 名 称: 信息工程学院 专业:计算机科学与技术 班级: 080613 学号: 姓名: 评分: 教师: 叶水生、蔡虹 20 11 年 7 月 6 日一、课设选题及功能说明1.1课程设计题目: 加密卡1.2 课程设计任务 (1) 通过微机ASI总线,对设计的“机密卡”进行软件加密信号比较,实现对软件使用权的保护。二、原理图设计2.1 原理设计 首先在2732中,主要有8根数据线和12根片内地址线,这些线要接到ISA插槽中的相应的数据线和地址线上。对于2732的控制线,OE#和 CE
2、#接到74LS138的Y0#,用来实现芯片选择。低电平有效。芯片译码部分。根据要求,这里地址范围选择的是E8000H-EFFFFH,根据所选的2732芯片为4K*8位的,因此需要12根地址线作为片内地址,即A0-A11。而根据地址范围,A12、A13、A14、A16为高电平,A15为低电平,故使A12、A13、A14、A16四根地址线通过3片与门和一片非门连接到译码器的E1使能端上。因为A15为低电平,则把它通过一片非门接到译码器的E2使能端。因为把B0为低电平,A11为高电平,则通过一片非门和一片与门接到译码器的E3使能端。对于剩下的A17、A18、A19三根地址线连接到74LS138译码器
3、的A、B、C端,通过这三根地址线的变化来选中相应的芯片。2.2 原理图如下:本设计要求通过ISA总线设计加密卡,电路原理图如图1所示:1. 绘制电路原理图前要先加载各个元件库:在上面选择相关的元件库后,就可以在绘制界面上进行原件放置了。2. 在画好电路图之后,就要对相关的原件进行PCB板原件设置。以74LS138为例,因为74LS138有16个引脚,所以在PCB中选择DIP16,如图所示:同理,相关的2732也是用同样的DIP24.在图中。由于有多个与非门,为了在PCB板中原件更加简洁,则在原理图绘制时用的是74LS08代替AND,四个与门分别设置为part1、2、3、4,名字设为一样的,则四
4、个与门在绘制PCB板的时候就会在一起,而不是分成四个独立的原件:原件设置完成后则进行电气化检查,检查无误后(如下所示)则可以创建网络表了:创建网络表后则可以开始绘制PCB板子了。三、印刷电路图设计3.1印刷电路图设计 根据电路原理图设计印刷电路板图,设计中涉及:ISA总线,译码器74LS138,EPROM芯片2732。在确定了电路和元件之后,就可以开始设计印刷电路图了。设计的基本方法和步骤如下:(1) 确定印刷电路板尺寸大小。根据ISA总线的尺寸、元器件的数量和预计布线的复杂度等初步确定印刷电路板尺寸。(2) 确定印刷电路层次。由于ISA设计插卡,ISA插座信号分为A、B两面,所以采用双面板。
5、(3) 印刷电路板和外部信号连接。一是严格按照ISA总线连接,二是从2732中的数据流出。(4) 元器件布局。各组件排列,分布要均匀和合理。不仅要从美观,整齐和结构严谨的工艺要求,而且要从抗干扰的角度仔细考虑磁场兼容性、走线短、交叉少和取耦等方面处理。(5) 信号连接。由于本次实验元器件很少,故采用的是手动布线方法设计。布线中应该注意以下原则: 同一层面信号线不能短路。如果会出现交叉的情况,可用穿孔的办法解决。 两个层面布线纵横相交。在顶层用竖线,底层就尽力选择横线,这样便于检查。 线条宽窄和线条间距要适中。孔与线。线与线要有一定的距离。3.2印刷电路图步骤如下:相关的PCB板子的设置和布线等
6、工作由相关的组员进行操作。最终的结果图如下图所示:布线结束后,相关的仿真程序则由本人进行编写,大致的代码如下所示:加密卡验证程序DATA SEGMENT ;定义菜单选项MENV DB 1. 欢迎光临 2.谢谢再次光临 DB “3.您好,老朋友,0再见!” DB 请选择:$ERRMSG DB 选择有误,请重新选择!$ ;定义出错时候的显示信息SEL DB 100dup(?) SEL0 DB 100dup(?) ;保存从2732中E8000H读出对应数据SEL1 DB 100dup(?) ;保存从E8008H读出的对应数据SEL2 DB 100dup(?) ;保存从E8011H读出的对应数据SEL
7、3 DB 100dup(?) ;保存从E8019H读出的对应数据DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART MOV AX,DATA MOV DX,AXAGAIN LEA DX,MENV ;显示菜单 MOVE AH,9 INT 21H MOV AH,1 INT 21H CMP AL,0 ;用户非法输入,在0-3以外的数 JB ERROR JA ERROR LEA BX,BRATAB SUB AL,30H SHL AL.1 XOR AH,AH ADD BX,AX JMP BX ;实行菜单选项对应功能ERROR : MOV DX,OFFSET
8、ERRMSG ;非法信息显示 MOV AH,9 INT 21H JMP AGAINBRATAB: JMP SHORT,A0 ;转移表 JMP SHORT,A1 JMP SHORT,A2 JMP SHORT,A3A0: MOVSI,E8000H ;显示0 BYEBYE MOV CX,8 L0: MOV SEL0,SI ADD SI,1 LOOP L1 JMP SEL JZ ERROR MOV AH,9 INT 21H JMP A1 :MOV SI,E8008H ;显示1 WELCOME MOV CX,9 L2:MOV SEL1,SI ADD SI,1 LOOP L2 CMP SEL JZ ERR
9、OR MOV AH,9 INT 21H JMP AGAINA2: MOV SI,E8011H ;显示2 THANKS MOV CX,8 L2:MOV SEL2,SI ADD SI,1 LOOP L2 CMP SEL JZ ERROR MOV AH,9 INT 21H JMP AGAINA3:MOV SI,E8011H ;显示3 HOW ARE YOU MOV CX,11 L3:MOV SEL3,SI ADD SI,1 LOOP L3 CMP SEL JZ ERROR MOV AH,9 INT 21H JMP AGAINDONE: MOV AH,4CH INT 21HCODE ENDS END
10、START2732内存储的数据:E8000H 0BYEBYE$E8008H 1WELCOME$E8011H ZTHANKS$E8019H 3 HOW ARE YOU $ 四、调试分析4.1硬件测试(1)问题:在实现芯片译码时,A12、A13、A14、A16为高电平,与E1#连接,但是用了三个与门后,直接与E1#连接了,导致地址范围不是E8000H-EFFFFH。 解决:加一个非门,这样地址范围就是实验所要求范围了。在74LS138的E2#也是低电平有效,故与此连接的地址线也应该是低电平。(2)问题:在设计PCB板的时候,由于芯片的位置摆放不合理,故在布局之后的布线不是很整齐和结构也不是很严谨。
11、 解决:重新按照印刷电路图设计要求,合理布局。4.2软件测试(1)问题:在ADD SI,2指令中,由于2732是只有8位数据线,一次读出的是一个字节,而不是一个字(16位)。 解决:修改为ADD SI,1。每一次从2732读出数据均为8位。 (2)问题:设计2732中存储的数据时候,从E8000H 开始的空间存储的是0BYEBYE$,但在MOV CX,7.少计算了$. 解决:用将其改为MOV CX,8.循环的次数为8次。这样用9号功能的时候才正确能显示出从2732中读出的数据。 五、用户使用说明该加密卡设定其目的是为保护软件版权。用户在购买软件时,会附带对应的加密卡。在运行该软件的时候,只需将
12、其加密卡插入电脑主板的空余ISA插槽,软件即可正常运行。六、小结 在过本次课程设计中,通过一个实际的ISA总线插卡设计和调试,对课本知识进行了实际的运用。例如2732,74LS138,,ISA总线等。在最初拿到题目的时候,因为从来没有做过软件和硬件结合的课设,感到有点无从下手。最后在老师的知道下,通过查阅资料,独立完成了电路原理图,PCB图,验证程序的设计。本次课设的主要收获有:1、 通过自学,熟悉和掌握了Protel 99se的是用;2、 对ISA总线有了更深入的理解;3、 理解了汇编语言编程和硬件结合的基本方法;虽然是一次简单的加密卡电路设计,也没有遇见很多复杂的问题,但是通过小组合作,独立完成了一次较为完整的软件和硬件的设计,很有成就感。 参考文献1. 戴梅萼、史嘉权编著,微型计算机技术及应用第三版, 清华大学出版社,2003年版;2. 肖玲妮、袁增贵编著,Protel 99 SE 印刷电路板设计教程,清华大学出版社,2003年版;3. 郑初华、赵文龙等:汇编语言、微机原理及接口技术电子工业出版社,2006年第二版;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1