中的程序会像计算机内存中的程序一样逐条执行,执行需要的数据和生成的数据可以存入数据存储器中,单片机计算速度和性能有限,但用在一些基本控制上绰绰有余。
22FPGA
每一块FPGA芯片都是由有限多个带有可编程连接的预定义源组成来实现一种可重构数字电路。FPGA内部主要分三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。可编程的逻辑单元的基本结构是某种存储器(SRAM、FLASH等)制成的4输入1输出的“真值表”加上一个D触发器构成。可编程连线上有很多用存储器控制的链接点,通过改写对应存储器的值就可以确定哪些线是连上的,而哪些线是断开的,这就可以把很多可编程逻辑单元组合起来形成大型的逻辑电路。可编程的IO可以任意的定义某个非专用引脚(FPGA中有专门的非用户可使用的测试、下载用引脚)为输入还是输出,还可以对IO的电平标准进行设置。
通过单片机和FPGA的内部逻辑结构,我们可以看出,它们的内部结构完全不同,单片机可以看作是将功能固定的一些芯片连接起来,外部输入设备输入的程序和数据以二进制数据形式存放于各自存储器中,由CPU执行指令处理数据得到输出结果,并将输出结果传送给外部输出设备。对于FPGA芯片,每个不同的任务所设计的FPGA内部的元器件数目及其连线是不一样的,外部输入设备输入的二进制数据传送给FPGA内部的LUT得到输入数据的所有输出结果,并将输出结果传送给外部输出设备。
3开发方式
31单片机系统的开发
为完成某一任务的单片机应用系统需要包含硬件和软件系统。硬件和软件必须紧密结合,协调一致才能正常工作。单片机只是一块芯片而已,本身并无开发能力,要借助开发工具才能实现系统设计。开发工具主要包括电脑、编程器(又称写入器)、仿真机。单片机程序的编写、编译、调试等都是在一定的集成开发环境下进行的。集成开发环境仿真软件(ICE)将文件的编辑,汇编语言的汇编、连接,高级语言的编译、连接高度集成于一体,能对汇编程序和高级程序进行仿真调试。当我们编写好的程序在集成开发环境编译通过后,会形成一个二进制文件(文件名与源程序文件名相同,后缀名为“BIN”)或十六进制文件(后缀名为“HEX”),即形成所谓的目标程序。这个目标程序必须利用编程器才能将目标文件烧写到单片机的程序存储器中,从而让单片机系统的硬件和软件真正结合起来,组成一个完整的单片机系统。
32FPGA系统的开发
FPGA是专用集成电路ASIC((Applicatio
SpecificI
tegratedCircuits),但有其特殊性,是半r