·上一文章:基于Cyclone III FPGA的DDR2接口设计分析
·下一文章:HDI板的CAM制作方法技巧
1.3 CDTDC控制模块
鉴于系统需要自动在计数与读出两种模式下进行切换,并需复位相应寄存器,本设计采用状态机来控制CDTDC的模式切换。控制模块状态机示意图如图4所示。
系统上电复位后,处于复位(10)状态。在此状态下,进行移位寄存器的清零,同时复位所有控制信号至初始状态。复位状态持续4个时钟周期,状态跳转到计数状态。在计数(00)状态下,计数/读出模式切换信号禁止,系统工作在计数模式。接入计数时钟,LFSR开始计数。同时,为使系统具有可配置性,在计数状态中加入一个10 bit计数器来配置系统可以记录的最大时间间隔。若屏蔽此计数器,则此状态持续时间为系统可以达到的最大时间测量范围,即6.8 μs。实际应用中可根据用户实际需要对计数器进行配置来限制计数状态的持续时间。计数状态结束后跳转到读出(01)状态,计数/读出模式切换信号允许,启动数据读出模块,完成记录时间的读出。如前所述,单行数据链需要的读出时间约为20 μs。此后系统回到复位状态准备下次计数。
2 仿真测试与硬件实现
2.1 仿真结果分析
本设计采用ALTEra公司的Quartus II与Mentor GraphICs公司的Modelsim作为主要的设计工具。Cyclone系列FPGA具有片上锁相环(PLL)模块,可以对输入时钟进行精确的倍频、分频、相位偏移、可编程占空比等操作。系统外部时钟输入频率为50 MHz,通过配置片上PLL,可获得3倍频的计数时钟与移相时钟,5分频的读出时钟。