在具体设计时,考虑到计数脉冲宽度为0.1~100μs,最高计数率为2MHz,即计数位数达7位,所以设计中的脉冲良数模块就相当于1个7位的BCD加计数器;而定时控制模块相当于1个7位的BCD减计数器。减计数器的预置初始值由定时选择开关控制,从而控制数的时间。CLR信号为“计数键”产生的一脉冲信号,标志计数开始,而减计数器减到0时加计数器即停止计数。这部分设计通过调用MAX+PLUS II提供的库函数用AHDL语言结合图形输入完成。地址译码、锁存、总线驱动模块主要由D触发器和I/O接口设计而成。由于数据传输中用的是双向输入/输出端口,但是Altera芯片的引脚端口并不可以直接使用,需要加1个三态的逻辑门,因此,总线接口部分采用这2种函数原形(三态门和双向端口)进行组合设计。 3.3 FPGA功能模块仿真时序 在整个FPGA设计中,各单元模块都是经过严格的设计验证之后才继续上一层设计的。这里主要使用MAX PLUS II的TIMER进行波形仿真,来验证各子模块的功能,判断其时序是否满足要求。若时序稍有不对,甚至仅是小毛刺,也要立即更改输入设计。这样,设计的精度才高,系统工作才稳定。当每个模块最终都在时序上满足逻辑功能需求时,设计才能完成。图6为FPGA在MAX PLUS II环境下综合设计后的时序仿真波形图。 4 单片机软件设计 软件部分主要是单片机AT89C51对系统进行控制及相应的数据处理,整个控制流程如图7所示。 结束语 本文给出了一种用于核物理实验中的G-M计数装置定标器的新设计方案。此方案在传统的实验原理下,对旧仪器在电路和功能上做了较大程度的改进。在设计中采用EDA设计思想,以AT89C51单片机作为数据传输的控制核心,用Altera现场可编程逻辑器件(FLEX10K系列的FPGA)对核心计数部分电路进行效而灵活的集成,并在此基础上,扩展了数据的存储功能,增加了与PC机通信的RS232串行接口,从而更加智能化。
|