DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 129|回复: 0
打印 上一主题 下一主题

基于FPGA的测角脉冲细分电路的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 15:09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:对传统的数字化转角测量方法进行了简要介绍,提出了一种能够提高测角分辨率的脉冲细分技术,并结合激光陀螺输出信号对该方法进行了误差分析。接着利用FPGA对此项技术进行了硬件实现,具体描述了电路各部分的工作原理及程序设计,并使用QuartusⅡ软件对电路进行了仿真。最后,对某型激光陀螺输出信号进行周期采样,对电路进行了实验验证。结果表明该技术能够有效提高转角测量分辨率,电路工作稳定,取得了预期的效果。
关键词:角度测量;脉冲细分;高精度分辨率;FPGA
??? 传统的基于脉冲计数原理的角度测量方法主要是对采样时间间隔内的整脉冲数进行计数,这种方法的测角分辨率依赖于相应的角度传感器,分辨率相对较低,带来的误差较大。以高精度的激光陀螺为例,传统的整脉冲计数方法仅能获得角秒量级的角度分辨率,这样的分辨率并不能满足某些高精度测量。本文提出的脉冲细分技术可以对测角脉冲进行细分,以获得更高的测角分辨率。
1 脉冲细分技术
??? 传统的对角度传感器数字脉冲的测量方法是在确定的采样时间内对脉冲数进行计数。如图1是在2个指示脉冲时间间隔Ts内对脉冲计数,计数值为N+1。




??? 在时间间隔Ts内存在最大为±1个脉冲的计数误差,误差δN在区间[-1,1]上的概率密度分布为均匀分布,根据计算为δN=0.82。某型激光陀螺的标度因数约为1.8"/脉冲,则整脉冲计数方法的角度测量误差为0.82×1.8"=1.48",这并不能满足高精度测角的要求。
??? 脉冲细分技术是根据转台伺服控制系统中数字化速度测量方法中的高速、高精度、连续测速方案来实现的。利用脉冲细分技术对测角脉冲进行细分,将脉冲数的小数部分精确测量出来,这样可以大大提高测角的分辨率。
??? 如图1,假设在指示脉冲时间间隔Ts内,对测角脉冲上升沿进行计数,计得N+1个,认为这段时间内的整数脉冲数为N,将前一个指示脉冲上升沿与计得的第一个测角脉冲上升沿之间的头小数脉冲数n1加上第N+1个测角脉冲上升沿与后一个指示脉冲上升沿之间的尾小数脉冲数n2相加即为这段时间内的小数脉冲数。而下一段指示脉冲时间间隔的头小数脉冲n3加上这段的尾小数脉冲n2为1。因此只需测量每一次的头小数脉冲或尾小数脉冲即可。
??? 假设测角脉冲周期为T,时间细分高频计数时钟脉冲周期为Tc,头小数脉冲时间为To,利用高频计数时钟可以精确地将T与To测量出。测角脉冲数可表示为:
???


??? 式中:f为测角脉冲信号频率,fc为高频计数时钟频率。假设测角脉冲信号频率为1 MHz,高频计数时钟频率为50 MHz,代入式(2)得δNp =0.033脉冲。假设某型陀螺的标度因数为1.8"/脉冲,则角度测量误差为0.033×1.8"=0.059"。可以看到误差很小。脉冲细分技术的运用对提高测角精度起到了关键作用。
                          
                       
                          
                               
2 基于FPGA的脉冲细分电路的设计
2.1 总体设计
??? 大部分的角度传感器输出信号都是由两路相位差90°的脉冲信号组成,设计电路时首先可以对两路信号进行鉴相解调与倍频,一方面完成转向的判断,另一方面将两路信号四倍频;接着设计整数脉冲计数器、小数脉冲计数器,对相应脉冲数进行计数;最后将计数值通过串口通信单元顺序发送至计算机,方便后期的数据处理。这里最为关键的问题是利用脉冲细分技术计出被测脉冲的小数部分,另外指示脉冲对计数器的控制精度关系到计数值的准确与否,因此要利用性能良好的硬件并巧妙地设计程序。这里硬件选择了FPGA,程序则是利用HDL语言进行编写,脉冲细分电路总体设计如图2所示。



2.2 整数脉冲计数器
??? 为了更准确地对倍频后的脉冲进行计数,在设计时,电路采用了2个计数器轮流计数,指示脉冲控制2个计数器交替工作。具体方法是将两个计数器的使能信号分别设置为1和0,由指示脉冲控制使能信号,在每一个指示脉冲到来时使能信号取反。另外,由于计数值很大,为了保证数值不会溢出,使用32位计数器。
2.3 小数脉冲计数单元
??? 由脉冲细分技术可知,小数脉冲计数单元是要对指示脉冲上升沿与在其之后的第一个测角脉冲上升沿之间的高频计数时钟脉冲计数。测角脉冲信号是周期性的,而设计时要用到的只是指示脉冲之后的第一个陀螺信号的上升沿,这给小数脉冲计数的设计带来了困难,在设计时使用了有限状态机。这里主要利用整数脉冲计数单元中设计的整数计数器使能信号CLR与测角脉冲信号CH的状态组合来设计状态机,利用状态机输出小数脉冲计数器的工作使能信号ENA,这里状态都是在时钟CLK上升沿转换。图3与图4分别为小数计数器工作时序图与使能信号状态机。




                          
                       
                          
                               
??? 整数计数器是利用2个使能相反的计数器来设计实现的,为了同步地对每两个指示脉冲时间段内的整数与头小数脉冲进行计数,小数脉冲计数的设计也将采用两种对应于整数脉冲计数使能信号的计数方式。利用QuartusⅡ对小数脉冲计数单元进行仿真得到图5。




??? 图中C1、C2分别是2个小数脉冲计数器计数值,轮流进行计数,并将计数值保持到下一个指示脉冲到来,将2个计数值或运算后输入寄存器,这样与上面的整数脉冲计数值同步保存,并方便了串口的读取。仿真结果表明,计数器工作正常,寄存器n记录数据正确。
2.4 通信单元
??? 通信单元主要功能是倍频后测角脉冲的整数脉冲计数值,小数脉冲计数值顺序发送至计算机。这里使用UART串口方式将数值进行输出,UART对上述各个计数值的顺序读取则通过状态机来完成。编写程序将高频时钟信号进行分频得到UART传输时钟信号。
3 实验结果
??? 在转速较高的情况下,对上文提到的某型激光陀螺输出信号进行1毫秒的周期采样,实验结果如图6。结果表明,使用脉冲细分电路后陀螺输出角度标准差为0.079",有效提高了测量精度。与理论值0.059"有所偏差,这主要是由电路的计数误差与陀螺本身存在的随机游走等误差因素造成。



4 结语
??? 对传统的基于脉冲计数的角度测量方法进行了误差分析,提出了一种脉冲细分技术并结合某型激光陀螺进行误差分析,并利用FPGA对该技术完成硬件实现,最后进行了实验验证。无论是理论分析还是实验结果都表明,该技术能够有效提高测角精度和角度分辨率,为满足高精度测量的需求打下基础。
?
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-9-19 16:49 , 耗时 0.123908 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表