FPGA illj控专用芯片的VHDL程序设计
扫描二维码
随时随地手机看文章
根据本系统的设计要求,步迸频率要求设雹为100 KHZ,因此要求R分频器采用 128分频,即将RA0、RA1、RA2分别设置为0、1、0。在本设计中,因为fd直接输入fin,丽且步进是100 kHz,所以分频系数不会出现小数,故可将A5~A0直接置o.因此,要控制MC145152,只需控制MC145152的NO~N9即可。这时,还应将双模分频器淘逻辑控制(CONTROL LOGIC)端MC设置为1。
16.2.3 FPGA illj控专用芯片的VHDL程序设计
根据系统的总体设计方案,FPGA测控专用芯片的输入信号有:FIN—被铡频率信号输入端:CLK——200 Hz.基准信号输入端;EN——ADDSUB的控制信号端口,在EN 的上升沿,ADDSUB可加载到FPGA:ADDSUB「1..0]——对MC145152的控制输入,当其为“00”时,将发射频率设定在25 MHz,当其为“01”时,每按一次升频键,发射频率以100 kHz增加,当其为“10”时,每按一次降频键,发射频率以too kHz W低,当其为“11”时,对FPGA不起作用:SEL[1..0]——输出选择,当其分别为“00`“Dl`“10". Id II”时,输瑚为频率计数器的第0~7位、第8~15位、第16~23位、第IF~23位。输出信号有:CIR[9..0]—△MC145152控制信号输出口;DATA[7..0] FPGA到攀片机的数据输出冂,与单片机的PO口相连,由SEL[1..0]控制输出fi[dg容。其应实现的功能就是负责赭ffi;J MC145152和实时测量压控振荡器输出信号的频率。
根据系统应实现的功能要求,FPGA测控专用芯片可分为两个相对独立的模块,一个模块负责控制MC145152,一个模块负责实时测量压控振荡器输出信号的频率。
压控振荡器输出信号频率的实时测量可按如下原理设计:系统上电时,FPGA输出250(二进制代码)至MC145152,该数值为振荡器频率的基值;当接收到单片机的升频步进信号后,内部信号“CONTROL”加1,送给MC 145152;同理,收到降频步进信号后,内部信号“CONTROL”减1,送给MC145152,这样就完成了对振荡器锁定频率的调节。而压控振荡器输出信号频率的实时测量可按如下原理设计:由于本系统所测频率范围集中在高频,因此可利用测定单位时间内信号周期性重复的次数来测定频率,并且即便测的时间较短,测试精度仍然较高。在实际设计时,可将200 Hz的基准信号分频成50 Hz,每个周期测频一次,到50 Hz频率与200 Hz频率同时是负脉冲的时候清零,其余时间计数,但只将正脉冲期间的计数值锁存,保证先锁存数据,再清零,定时时间为0.01 s。单片机读出送出显示时,做了相应的小数点处理,如单片机读到的数为“123456”,则显示成“12.3456”,单位即为M。
根据以上设计思想,FPGA测控专用芯片可设计成五个模块,它们分别是:锁相环MC145152控制模块SXHKZ、测控信号发生模块CKXH、频率测量模块PLCS、数据锁存模块SJSC和输出选择模块SCXZ,整个系统组成框图如图1 所示。其中测控信号发生模块CKXH的作用是:将输入的200 Hz频率分频成两种互为反相的、频率为50 Hz的测控信号CLKIN和LOAD;频率测量模块PLCS的作用是:在设定时间里,进行频率的计数和清零:数据锁存模块SJSC的作用是:在LOAD的上升沿将频率的计数数值输出锁存,在CLKIN的第50个上升沿时将待显示的数值输出锁存,亦即测试的频率数据刷新频率为50 Hz,刷新时间为O.02S,显示的数据刷新频率为2 Hz,刷新时间为0.5S。
因为每0.02S数值就刷新一次,显示时刷新较快,人眼不易观察,所以将计数值隔500 ms锁存一次,再送出去,由单片机读出显示。