图7 FPGA外围电路
FPGA根据单片机对实际波形的要求配合提供A/D转换所需要的时钟信号,并在FPGA内部构造一个256B大小的FIFO(First In and First Out,即先进先出存储器)完成对采样信号的暂存,存储满后发一"FULL"信号给单片机,单片机根据此信号读取FPGA内部RAM中的数据,并在液晶中显示所采集的波形。
3.6 单片机控制FPGA采样及数据存储
单片机主要负责命令FPGA采样及把采样数据存到内存中并调用画图程序显示采样信号,在显示屏有按键按下时它根据按下键的值转入相应的处理子程序,RS触发器负责控制FIFO_RAM的读写,当“start”为“0”且RS为“01”时Q为“1”,Qf为“0”,即FlFO_RAM的wrreq和rdreq分别为“1”,“0”,FIFO_RAM进入写状态,这时可把A/D采样的数据写入FlFO_RAM中暂存; 当“start”为“1”且RS为“10”时Q为“0”,Qf为“1”,即FIFO_RAM的wrreq和rdreq分别为“0”,“1”, FIFO_RAM进入读状态,此时读时钟变为从单片机进入的读时钟,这时可把FlFO_RAM中的数据读出来送至单片机中,单片机把这些数据进行坐标转换后即可在屏上显示,即构成波形[15]。单片机总体程序流程图如图8。