PIC单片机及FPGA实验系统设计 第5页
4 实验系统的平台选择
本章介绍的内容:
●系统主要器件的选择
●系统所使用的开发语言和软件选择
通过对本章的了解,可以了解到本章选用这些器件组合成系统的原因。本章从实用性,通用性和专用的角度上分析了所选用器件,语言和软件的原因。
4.1 主要器件的选择
在系统设计中,对于器件的选择比较重要,因为无论是硬件设计,还是软件设计,没有器件,就好象空中楼阁一样,硬件设计要根据器件的特性来设计线路连接,而软件的设计要根据器件本身规定的语言和硬件连接来实现,比如说单片机芯片选PIC单片机和MCS-51单片机是不一样的,同样都是单片机,外部硬件设计和内部资源,语言的规定都不同,本次设计不是单纯的硬件设计或者软件设计,而是硬件和软件的结合,所以这里的平台选择,尤其是器件选择就尤为重要了。
4.1.1 单片机主要器件的选择
单片机的主要器件选择,这里只对最重要的主芯片,单片机芯片进行选择,其他的芯片都是按照单片机外围扩展的典型选择来选择的,市场上也比较多,所以关于其他的器件的选择这里不做介绍,在硬件设计中带有相关介绍。
单片机应用非常广泛,但是其型号众多,不同的公司有自己专用的单片机,不同的领域大都使用不一样的单片机,而且虽然单片机的原理大同小异,但是型号不同的单片机其汇编语言的规定和管脚却差别很大,所以在使用单片机前要根据需要和各种型号单片机的语言和管脚特点来选择适合自己使用的一款单片机。
Intel公司的51系列单片机应该说是比较经典的单片机之一,但其在工业控制上却用一定的局限性,51单片机的内部ROM(存储程序器),RAM(数据存储器)一般都达不到工业上的要求,还要在51单片机外部扩展ROM,RAM,比较不划算,其内部的集成功能也相对较少,抗干扰性也差。
国内51单片机根基非常厚,学校的教学一般也都以51作为基本教材,市场上关于51的资料也相对较多。但从作者接触到的做工业控制的开发人员看,PIC单片机在国内相关行业中的认知度也迅速提高,其应用范围和市场占有率也在不断提升
对于本系统所使用的单片机为PIC单片机,因为它和我们常用的51单片机有很大区别。
主要体现在三个方面:
(1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。
(2)流水线结构:MCS-51单片机的取指令和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指令和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。
(3)寄存器组:PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作,而MCS-51单片机需要两个或两个以上的周期才能改变寄存器的内容。
Microchip公司第一个在8位单片机结构中实现精简指令集,并采用了程序空间和数据空间完全分离的哈佛总线结构。这种体系大大降低了PIC单片机的总体成本,同时提高了运行效率。另外,PIC单片机不搞简单的功能堆积,Microchip公司提供了不同系列不同型号的单片机,不同型号的单片机片上资源有多有少,性能有高有低,但始终保持了高度的一致性,所以很方面开发人员将整个设计移植。
正因为有以上特点,所以当大家学习51单片机如火如荼的时候,本文却竭力的推荐PIC单片机,因为其魅力无限,当你开始使用PIC单片机的时候就会被它特殊的魅力吸引。
本文所选的单片机为PIC单片机系列中的PIC16F877,它是8位CMOS FLASH单片机,有40引脚其片上资源丰富,端口复用比较多。
4.1.2 FPGA器件的选择
PLD器件中现在比较常用的就是CPLD和FPGA器件,CPLD和FPGA因为结构的不同应用的场合也不同:
由于结构的差异,CPLD多用于控制密度型系统,FPGA多用于数据密集型。CPLD多用于门数需求较少的设计中,FPGA多用于门数设计较多的系统中。
在本系统中,因为针对的是FPGA器件,就是希望能用FPGA器件来实现更多的功能,FPGA的器件比较多,主要的是Altera公司的FPGA产品和Xilinx公司的FPGA产品,其中Altera公司的FPGA产品在亚洲用的比较多,而Xilinx公司的FPGA产品在欧美比较流行,所以本次FPGA产品选用的是Altera公司的FPGA产品,在Altera公司的众多FPGA产品中,比如Cyclone系列,Stratix系列,APEX系列,ACEX系列,ACEX系列以及FLEX10K系列等,它们各有各的特点,这里我们选择FLEX10K系列里面的FLEX10K10L ,封装为PLCC-84,除了有FPGA本身的特性外,还具有很多特有的优点,而且价格也不贵,考虑到设计的功能,用这个可以给以后的设计带来方面。
4.2 系统开发软件及语言选择
4.2.1 系统硬件设计所使用的软件介绍
在硬件设计上的作图采用的是PROTEL99SE,这是在国内使用很普遍的软件,尽管有很多很高级的软件,如PROTEL DXP,Candence等,高级软件作图起来也比99SE方面和快捷,但以基础而言,Protel99SE还是不错的选择,它普遍使用,要人为做的是很多,比如添加器件封装,比如如果一个器件在99库中没有,要自己做该器件的原理图和封装,而做封装又要考虑到尺寸问题,所以Protel99SE比较适合基础的学习者,可以通过它了解更多的东西。关于99SE的使用将在硬件设计中提出。
4.2.2 单片机程序设计使用语言及软件选择
单片机方面因为选用的是PIC单片机,所以理所当然的用PIC单片机机对应的开发语言和开发工具。
(1)开发语言的选择:
开发语言有PIC汇编和PIC C语言两种,C语言的好处就是,方便,对系统开发的可靠性,可读性,可移植性等都较汇编好,可以缩短开发周期,但是,RISC精简指令集是PIC的一个特色,其相对其他的汇编语言来说,主要是复杂指令集来说其开发还是比较简单的,但相对C语言说,周期长,可读性,可一直性方面也比较差,但众所周知,其直接对硬件操作,效率高。所以对于比较要求时序的软件设计中,用汇编比较好,比如说通信程序,其他程序用C好处比较多。
(2)开发工具的选择
开发工具选择PIC单片机上经常使用的MPLAB及PICC(PIC C语言编辑器),因为安装PICC以后,在MPLAB可以调用PICC来编译MPLAB工程中的C语言,所以软件方面着重介绍MPLAB的使用。
4.2.3 FPGA程序设计使用语言及软件选择
(1)程序开发语言的选择
这里的语言选择VHDL语言,虽然有很多硬件描述语言,比如AHDL(Altera公司FPGA专用),VerilogHDL,但支持VHDL的器件更多,且VHDL入门比较快,所以这里选用VHDL语言作为主要的硬件描述语言。
(2)FPGA开发所使用的工具选择
在FPGA方面,因为用的是Altera公司的FPGA产品,所以可以用的工具有Max+plussII和高级工具Quartus II,由于Max+PlussII工具支持的器件很少,加上公司中的用的比较少,功能不太齐全,其作为入门工具比较适合,当真正设计FPGA的时候用高级工具可以提高系统设计的可靠性所以采用工具Quartus II工具,Quartus II这个工具是现在比较常用的EDA工具,其特点是:
● 设计输入支持:图形输入,设计框图输入,AHDL,VHDL和VerilogHDL输入
● 支持管脚分配功能
● 逻辑综合功能强大
● 具有功能仿真和性能仿真分析
● 自动检错定位
● 器件编程和效验更方便,明晰
此外,它还提供和其他EDA工具的接口,可以在Quartus II集成环境中自动运行其他EDA工具。Quartus II可以识别EDIF网表文件、VHDL网表文件和VerilogHDL网表文件,并且可以产生这些网表文件,为其他的EDA工具提供了基础工作接口。
Quartus II软件的编译器提供强大的设计处理,使用者可以耕具需要添加特定的约束条件,让仿真更加真实性,实用性。关于Quartus II的使用将在下面的章节中给出例子提出。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
PIC单片机及FPGA实验系统设计 第5页下载如图片无法显示或论文不完整,请联系qq752018766