1、 编号: 哈尔滨工业大学 大学生创新性实验计划 项目验收书 哈尔滨工业大学教务处制表 填表日期: 2010 年 9 月 2 日 项目名称: 基于 FPGA 多功能试验测试开发板 项目级别: 校级 执行时间: 2009 年 10 月至 2010 年 8 月 负 责 人 : 学 号 : 联系电话: 电子邮箱: 院系及专业: 电气学院自动化测试与控制系测控技术与仪器专业 指导教师: 职称: 联系电话: 电子邮箱: 院系及专业: 电气学院自动化测试与控制系测控技术与仪器专业 1 一、 课题组成员: 姓名 性别 所在院 年级 学号 身份证号 本人签名 二、指导教师意见: 签 名: 年 月 日 三、 院(
2、系)专家组意见: 组长签名: ( 盖 章 ) 年 月 日 四、学校专家组意见: 组长签名 : ( 盖 章 ) 年 月 日 2 五、项目成果 : (一)申请专利情况: 序号 专利名称 发明人 专利申请号 备注 注:请将专利申请书复印件 作为附件 报送。 (二)发表论文情况: 序号 论文题目 作者 刊物名及期号 备注 注:请将所发表论文及其当期刊物封皮、目录的复印件 作为附件 报送。 (三)其它成果: 序号 名称 说明 1 PCI 驱动程序的设计 2 原理图及 PCB 3 FPGA 实验开发板 3 六 、 项目研究 结题 报告 1 课题研究目的 基于 FPGA 多功能试验开发板,主要功能是利用 F
3、PGA处理模块实现对逻辑门电路的调试。本项目能提供 I/O 接口的多组输入输出端,应用 AD 转换器实现模拟信号向数字信号的转换、同时具有调整输入频率、差分信号的处理等等辅助功能。 FPGA 即现场可编程逻辑门阵列,他是在 PAL、 GAL、 EPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 ( ASIC) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 FPGA 采用了逻辑单元阵列 LCA 这样一个新概念,内部包括可配置逻辑模块 CLB、输出输入模块 IOB 和内部连线( Internetconect) 三个部分。可以支持
4、一片 PROM 编辑多片 FPGA;串行模式可以采用串行 PROM 编程 FPGA;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程。 FPGA 具有体系结构和逻辑单元灵活、集成度高以及使用范围宽等优点,兼容了 PLD 和通用门阵列优点,可以实现较大规模的电路,编程也很灵活。 2 课题背景 本项目主要针对在校大学生在逻辑门电路的设计过 程中所遇到的问题而设,经调查得知市场上现有的 FPGA 学习板不是功能过于单一,就是将FPGA 与实验电路集成一体,当学习遇到一定程度并初步具备自主设计能力的时候,这样的学习板显然已经不能满足进一步学习的要求。本项目将采用FPGA 核心板与实验板
5、相分离的结构,核心板主要 FPGA 芯片和电源、配置芯片和计数器组成,即 FPGA 的最小系统组成,配有多组的空闲的输入输出端子,并都以核心板的插针引出。当学生初步具备自主设计能力的时候,可以自主设计实现更复杂功能的实验板,并将核心板插接到自主设计的实验板插座上,即可利用 FPGA 的 所有 I/O 来组装自己的电路。 4 3 课题研究主要内容 3.1 数据采集系统总体设计 本实验板能对三路模拟信号和四路光栅信号进行高速同步数据采集,同时预留了 20路可扩展 I/O接口,并且预留了与计算机可进行通讯的 PCI总线接口,方便扩展。其数据采集系统结构如图 1所示。 本实验开发板主要包括 A/D转换
6、模块、光栅信号接收模块、 FPGA模块、PCI总线 接口模块和 FIFO数据缓存模块。以下是各个模块的简单介绍: 三路测头信号信号调理FIFO( IDT 7206 )计算机ADC ( MAX 195 )ADC ( MAX 195 )PCI接口芯片ADC ( MAX 195 )( PCI 9052 )光栅数据采集测头数据采集FPGA ( EP 1 C )同步锁存地址译码PCI接口控制FIFO读写控制采样频率控制四路光栅信号图 1 数据采集系统结构框图 ( 1) A/D 转换模块。 将模拟信号经过 A/D 转换器件转换成能够被计算机识别的数字信号,根据采样速率、转换精度、设计通用性等方面的考虑,本
7、系统采用三片 MAXIM公司的 16 位串行模数转换器件 MAX195实现对三路测头信号的模数转换。 ( 2)光栅信号接收模块。主要处理光栅信号,光栅信号为四路差分信号,因此在设计时利用差分信号接收器将四路差分信号转换为相差 90的正交方波信号。本实验开发板选用 MC3486 实现光栅差分信号的接收功能。 ( 3) FPGA 模块。 FPGA 作为本系统的控制核心, 实现对 A/D 转换器控制;光栅信号的数字滤波、四细分辨相和 可逆计数控制;数据采样控制;地址译码; FIFO 读写控制;与 PCI 接口芯片通信控制 等功能 。 FPGA 时钟频率高,内部延时小,运行速度快,全部控制逻辑由硬件完
8、成,其内部寄存器资源比较丰富。 FPGA可以克服单片机时钟频率低和 DSP 对外围设备复杂逻辑控制能力不强的不足,满足用户使用时对实时性和同步性的需求。综合系统成本等方面考虑,本系统选用 Altera 公司 Cyclone 系列的 EP1C3T144C6型 FPGA 芯片。 5 ( 4) PCI 总线 接口模块。 数据采集系统与计算机之间的数据传递是采用 PCI 方式, PCI 局部总线不受制于处理 器,为中央处理器及外围高速设备提供一座桥梁,提高数据吞吐量。其数据传输速度最高可达到 132MB/S,其性能比 ISA 和 EISA 总线更为优越。 考虑可扩展性,本系统用专用的 PCI 协议芯片
9、 PCI9052 实现 PCI 接口功能,使用户能够在此基础继续开发。 ( 5) FIFO 数据缓存模块。 为了满足用户对连续的采集信号,存储器模块要有读写操作同时进行的能力, DRAM 和 FIFO 都满足要求。但 DRAM有两套数据线和地址线,引脚过多,控制比较麻烦,且价格昂贵。而 FIFO的数据是依次写入和读出的,不需要地址线引脚,控制比较简单,价格便 宜,适合实验开发使用。在本系统中,选用 IDT7206 实现数据缓存。 3.2 A/D 转换模块的设计 ( 1) A/D 转换器件的选择 A/D 转换器件的选择主要根据电压转换范围、量化误差、分辨力、转换速率、失调温度系数和电源电压等技术
10、指标选择。 电压转换范围的确定。通常在实际使用中传感器信号在 -55V,考虑到系统的兼容性,需要选择既有单极性输入,又有双极性输入的 A/D 转换器件。 A/D 转换器件字长的确定。 A/D 转换器件字长的确定关系到数据采集系统的分辨力,是首要考虑的指标, A/D 转换器件是量化噪声的一个源,为尽可能 的减小量化误差, A/D 转换器件应该有足够的字长,而确定有效字长的因素要考虑输入信号的范围和分辨力等要求。本系统选用了 16 位 A/D 转换器件,当模拟信号 04V 单极性输入时,其分辨力为 0.0625mV,能够满足大多数用户开发使用。 考虑到数据采集系统板卡面积的限制,采用串行 A/D
11、转换器件更合适。 综合以上多方面考虑,本实验开发板采用三片 MAX195 实现对三路测头信号的模数转换。 MAX195 是美国 MAXIM 公司推出的 16 位逐次逼近型A/D 转换器。其主要性能包括: 16 位转换精度;电容性 DAC 结构使之具有85Ksps 跟踪 /保持功能; 9.4s 转换时间;内置采样保持电路;三态串行输出;可以根据引脚控制实现单极性或双极性模拟信号输入。 6 ( 2) A/D 转换电路设计 本实验开发板其中一路测头信号 A/D 转换电路如图 2 所示。 图 2 MAX195 外部电路设计图 MAX195 内部有逐次逼近型寄存器,用以将输入模拟信号转变为二进制数码串行
12、输出,输出时高位在前。管脚 1 接三态输入信号 BP/UP/SHEN,此管脚悬空时为双极性输入,此时可转换 -REFREF 范围的模拟信号, REF 为MAX195 的参考电压值(最大 5V);接高电平时为单极性输 入,此时可转换0REF 范围的模拟信号;低电平时为关闭状态,此时有 10A 的维持电流。为使实验开发板适用于 -55V 范围的情况,在电路设计中对此管脚设计跳线结构。 MAX195 有两种数据转换传输方式:异步转换传输方式和同步转换传输方式。前者是串行数据的输出与 SCLK 时钟信号同步,而 CLK 仅作为转换时钟。系统通过查询转换结束信号 EOC 的状态或通过在 EOC 下降沿产
13、生中断信号来确定一次转换结束,然后在下一次转换开始之前将数据以 SCLK 信号为基准逐位读出。同步转换传输方式是在模数转换的过程中将转换好的上一位数据位输 出,不需要 SCLK 时钟信号, CLK 信号既作为转换时钟又作为串行数据输出的时钟。此种转换方式可以实现最大的转换传输速度,因为前一次转换结束后,下一次转换可以紧跟着立即开始,实现不间断的连续转换。本实验开发版中 MAX195 采用同步转换传输方式。 SCLK 信号接地即可。 MAX195 上电时能够进行自动校准。系统上电时, RESET 信号由低电7 平变为高电平, MAX195 启动一次校准,校准需要大约 14000 个时钟周期。为了
14、防止系统上电时电源尚未稳定就开始了上电校准,在设计中采用了DS1233 对 RESET 信号延时约为 350ms,即系统上电 350ms 后 RESET 信号才由低电平变为高电平,此时才开始进行自动校准,保证了自动校准的正确性。 图 2 中, CS 信号为片选信号,输入低电平时选通,选通后才能使串行数据输出口有数据输出,在本系统中直接接地即可。 DOUT, EOC 信号经过光电耦器后与 FPGA 相连。其中, DOUT 是 MAX195 串行数据输出口,将转换完成的 16 位二进制数码串行输出,输出时高位在前。 EOC 为 MAX195输出的转换结束信号,低电平有效,在转换开始后一个时钟周期上
15、升为高电平,并在转换结束后一个时钟周期变为高电平。 FPGA通过检测 此信号的变化判定何时读取串行数字信号。 FPGA 输出的信号 ADCCONV, ADCCLK_D经过光电耦合器件后,用以控制 MAX195 进行 A/D 转换。 CLK 信号是MAX195 工作时钟信号,由 FPGA对其时钟信号分频得到,大小为 1.7MHz。CONV 信号用以控制 MAX195 开始转换,在 FPGA 内由控制逻辑实现。 CONV信号为低电平时,开始 A/D 转换。 在本部分电路设计中还有一个重要信号 REF,作为 MAX195 的基准电源,精度 不高的电压基准源将直接影响模数转换器的精度。以 MAX195
16、 为例,采用 +5V 基准电压,电压信号分辨力为: 5 V 6 5 5 3 6 0 .0 7 6 m V 当 +5V 基准电压有 0.125%的变化时产生的误差为: 5 V 0 .1 2 5 % 0 .0 7 6 m V 8 2 由此可得 16 位 A/D 转换器的实际精度为: 16 lg 82 lg 2 10位 如前面所述,为保证 A/D 的精度和稳定性,本实验开发板选用 REF198提供稳定的基准电压,如图 3 所示。 8 图 3 基准电压产生电路 3.3 光栅 信号数据采集电路设计 光栅传感器输出的信号是四路差分信号,这样能提高信号的抗干扰性。在实验开发板中采用 MC3486 差分信号接
17、收器将四路差分信号转换为相差为 90的正交方波信号,正交方波信号传输到 FPGA 内进行数字滤波、细分辨向和可逆计数等处理,最后将数据传输给计算机。其中 X, Y 轴光栅传感器信号接收电路如图 4所示。由图中可以看出, X轴的四路差分信号 -xUa1,xUa1, xUa2, -xUa2 经过 MC3486 后转换为 XA, XB 两路正交方波信号。 图 4 光栅传感器信号接收电路 3.4 FIFO 数据缓存电路设计 为了满足用户对高速采集的需求,采用了大容量的数据缓冲器将数据缓存,之后采用高效的方式进行传输,这样可以提高数据传输的效率和整个系统的性能。本系统采用 FIFO 对高速采集的数据缓存
18、。 3.4.1 FIFO 芯片选择 为了能最大限度的利用 PCI 接口,选择的 FIFO 的处理速度应小于9 15ns(1/66M);为了能连续的采集信号,要求 FIFO 有 FH 标志 (半满标志 );为了检测采集卡是否有丢失数据的现象 (当计算机的处理速度小于采集卡的采集速度, FIFO 很快就存满了,再采集的数据就会丢失 ),还要求 FIFO 有FE(空标志)和 FF 标志(满标志)。根据上面的三点,本系统选用 IDT 公司推出的 IDT72XX 系列 FIFO 存储器芯片。 3.4.2 IDT7206 控制电路 IDT7206 容量为 16K9 位,用两片 IDT7206 进行位扩展可
19、构成一个具有 16K16 位 容量的高速 FIFO 缓冲器。如图 5为 IDT7206 接口示意图。由图中可以看出,在数据采集过程中, FPGA 通过控制两片 IDT7026 的写信号F_W#,将采集的数据通过 16 位数据总线按顺序存入两片 IDT7206 中(分别存储 16 位数据的低 8 位和高 8位)。同时, FPGA 检测 IDT7206 的半满信号 HF#是否有效,如果此信号有效,表示 FIFO 已经处于半满状态, FPGA触发中断信号,上位机响应中断,开始读取数据,防止 FIFO 内数据存满后造成数据丢失。 FPGA 通过控制 IDT7206 的 F_R#信号,将 FIFO 内的数据按顺序传输到数据总线上,供上位机读取。数据的读取过程不影响 FPGA 继续向 FIFO 内写入数据,保证了数据采集的连续性。 图 5 IDT7206 接口示意图