基于FPGA芯片设计高精度陀螺脉冲计数器
1 引 言
现场可编程门阵列FPGA(Field ProgrammableGate Array)是新一代可编程ASIC器件。自1985年由Xilinx公司发明以来发展迅速。由于FPGA器件综合了分立器件与大规模集成芯片的优点,具有用户可编程性、结构灵活、设计周期短、密度高、性能好等优点,在数字设计中得到迅速普及和应用。
2 设计分析
本文所述内容为某项目需要设计的一个高精度陀螺仪输出脉冲计数器。它是一个16位可逆计数器,为保证计数精度,要求16位计数器不清零,工作在循环计数状态,采样周期100ms。同时系统要求该计数模块能提供12个控制信号和6个状态信号I/O口。如果选用标准的IC芯片或者一般的可编程逻辑器件PLD均可以完成这一设计,但是由于此类芯片功能与管脚有限,而设计要求的逻辑复杂,使设计所需芯片个数过多,电路板尺寸过大,难以满足设计要求。
本模块也可采用CPLD来设计实现,但CPLD更适合于完成各种算法和组合逻辑,适合触发器有限而乘积项丰富的结构;而FPGA更适合完成时序逻辑,适合于触发器丰富的结构。计数器是典型的时序逻辑电路,所以最后选用FPGA设计实现此计数器。
本系统中采用Xilinx公司XC4003E芯片,充分利用其强大的可编程能力和众多的I/O口,设计脉冲计数器。设计中采用自顶向下的层次化设计方法,底层的模块交由Verilog硬件描述语言(HDL)实现,并在Xil-inx专用软件ISE4.1中进行仿真、综合,在软件上调试成功后下载到硬件系统上实现其功能。
3 Xilinx公司的XC4003E芯片简介
XC4003E芯片采用了CMOS工艺技术,它是由一个静态RAM组成的构造代码存储器加上三种可编程单元组成,它的三种可构造单元是:可编程逻辑块CLB,可编程输入/输出IOB,可编程内部连线PIC。
在设计实现中,软件采用Xilinx公司提供的ISE软件包,既可用原理图设计,也可用硬件描述语言(HDL)编程;仿真调试可以利用第三方软件modelsim方便地进行逻辑验证、波形仿真。
4 设计原理及实现
4.1 计数模块原理分析
陀螺力平衡回路脉冲信号输入经光耦6N137隔离整形电路后,加入到FPGA计数器的输入端。FPGA实现的16位计数器测量一定时间内从正负通道输入的脉冲差数。计数器初始处于不计数状态。一旦接收到陀螺接通信号,计数器开始工作,对陀螺正通道输入的脉冲进行加法计数操作,对陀螺负通道输入的脉冲进行减法计数操作,实现了在可逆计数器中求差的目的。 计数所得的差脉冲表示陀螺感受角的增量。因陀螺正通道脉冲频率高于负通道脉冲频率,所以计数器设计中无需考虑脉冲计数值的符号问题。计数值由设置的专用寄存器锁存,单片机每隔100ms往总线上发读取信号,读取锁存器中的计数值。再经过单片机处理后,送入上位机。
相关文章
- 2024-03-15风冷节能装置的应用探讨
- 2023-08-18一种现场γ射线能谱测量仪的研制
- 2022-12-26基于SPCE061A的汽车倒车防撞报警器设计与研究
- 2022-06-02MIC-2031-2FCAN转以太网虚拟总线网关在工业控制中的解决方案
- 2024-02-08油类的自动计量
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。