基于FPGA的多路光电编码器数据采集系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

>%
!"
!!!!!" 设计与制造 !"
’I 引I 言 现今, 光电编码器被越来越多地用于角度的测量, 由于 它在测量角度方面的优越性, 已成为一种重要的角度传感 器, 本设计中的角度传感器是采用光电编码器来实现的。 以往对单路角度传感器 ( 光电编码器) 数据信号进行四倍 频以及辨向处理时, 多采用门级电路搭建的电路板 片机和 :;<= 编程
图 B" 串行发送流程图 #$% B" #1.? *09+( ./ 5-+$91 49(9 (+935/-+
万方数据 辨向, 真值表如表 *, 表 " 所示。
第 ! 期" " " " " " " " " " " " 叶" 东等: 基于 #$%& 的多路光电编码器数据采集系统" " " " " " " " " " " " " ?J 波特率为 ’ ()) *+, - ., /位 " " 串行输出的主要参数的选择: 有效位、 无奇偶校验位、 0 位停止位。串行通信中, 必须有 时钟脉冲信号对所传送的数据进行定位和同步控制, 设计 中, 采用的时钟频率时波特率的 1 倍 ( 0’ 1)) *+, - . ) 。发送 过程: 串口模块初始状态是等待状态, 接收到触发信号 2+234 56 则进入发送过程, 先发送起始位, 再发送 / 位比特数, 每 位宽度为 1 个周期, 当一个字节发送完毕后, 发送一个停止 位, 回到等待状态。 !" 调试与仿真 如图 ! 所示, 7389,0 : 7389,( 为六路角度传感器输入信 号经过四倍频、 辨向、 计数后的仿真波形。 ;0 : ;( 为角度 传感器输入的零位信号, <= 为输出使能信号。其中, 第二 路仿真角度传感器反向旋转的过程, 所以, &1 信号滞后 >1 信号 0 - ? 周期, 7389,1 计数器为负值。本系统仿真中使用 的方波频率为 0’@ 0 ABC, 而所使用的角度传感器每旋转一 周输出的方波个数为 0 1’( ))) 个, 按照每秒旋转一周计 算, 方波信号频率为 0@ 1 ABC, 仿真信号频率满足要求。
, 单
来实现。其中, 使用电路板或单片机
万方数据
! ), ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 传 感 器 与 微 系 统! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 第 "# 卷
表 !" ; 信号跳变真值表 <9= !" <+’(0 (9=1- ./ ; 5$%391 *.’3($3% ( * * 图 !" 角度传感器的输出信号 #$% !" &’()’( *’+,- ./ )0.(.-1-*(+$*$(2 -3*.4-+5 / / * / * / 计数器 9* O* O* 9*
图 #" 输出仿真波形图 $%& #" ’()*() +%,(-.)%/& 01.2)
3" 结" 论 本设计经过仿真、 编译实现后, 将代码下载至 =$D0??0 可编程配置芯片, 属于主动配置模式。在接口模块上电后, =$D0??0 自动对 =$#0)E1)FD0?? GH 芯片进行配置。该芯 片成功地完成了对六自由度坐标测量系统输出信号的处 理, 性能稳定可靠。如果在此设计的基础上载译码驱动等 外围电路, 即可直接与 $D 机连接, 或者加上显示电路单独 使用。 参考文献:
[>, %] [8 \ D]
的方法通用性差、 编译复杂、 电路板庞大、 而且, 响应其他事 件的实时性变差, 不适合用于运算速度快, 且多路输入的数 据采集计算任务。随着电子设计技术的飞速发展, 用户现 场可编程门阵列 ( :;<= ) 的复杂程度越来越高, 其所具备 的功能也越来越多, 芯片也向小型化发展, 逐步成为复杂数
*+,+ +-./010,023 141,56 728 6/9,0:95 53-28;581 <+15; 23 !"#$#
J@ K1)78 ,LMNO L50PQ.08 ,LM=R< F0(1" ,#43;8,653, 27 $/,26+,0- >51, +3; ?23,829, @+8<03 A31,0,/,5 27 >5-B3292C4, @+8<03 %&’’’% , ?B03+; (= *5:+8,653, 27 "B410-1, @+8<03 D286+9 E30F5810,4, @+8<03 %&’’)’ , ?B03+) $<1,8+-, := S0)+ 1T +(3( -166.-301) *2*3.4 1T 4,630U6. .)-1+.’* 0* 0)3’1+,-.+ V(*.+ 1) :;<=, 0)-6,+0)7 T,)-301), U’0)-0U6., U’17’(44. ()+ -0’-,039 &5. T1,’ U’04(’2 T,)-301)* (’. 0)3’1+,-.+,*,-5 (* T1,’ T16+PT’.W,.)-2 *,V+0X0*01), +0’.-301)PY,+74.)3, -1,)3.’ ()+ *.’0(6 -144,)0-(301)9 &5. T1,’ T16+PT’.W,.)-2 *,V+0X0*01) 0* ’.(60Z.+ 1) 35. V(*0* 1T *-(’U 1T Q(X. *5(U., ()+ 35. +0’.-301)PY,+74.)3 0* ’.(60Z.+ 1) 35. V(*0* 1T U5(*. -5()7. (T3.’ ()(62Z0)7 Q(X. *5(U.9 &5. U’17’(44. 0* 0) ?,(’3,* [[, ()+ 35. +.*07) 0* V(*.+ 1) @;:8#A"#&B8>>CD 1T =63.’(, ()+ 35. ’.*16,301) 0* 8E9 &5. U’17’(44. 0* +.*-’0V.+ 0) +.3(06* Q035 *04,6(301) Q(X.T1’49 G54 H28;1: .)-1’+.’*;T1,’ T16+PT’.W,.)-2 *,V+0X0*01);+0’.-301)PY,+74.)3 %I 方案设计 其多路输入信 本系统是基于 :;<= 的数据采集电路, 号来自 $ 个高精度角度传感器— —光电编码器。每个角度 传感器均分别输出两路周期相同、 相位差为 G#‘ 的方波信 号以及一个零位信号, 设其中一个角度传感器输出的方波 信号为 = 和 F, 零位信号为 L。当需要对计数器进行正计 数时, = 信号的上升沿及下降沿均超前 F 信号 8 ] > 周期; 反 之, 当需要对计数器进行逆计数时, = 信号的上升沿及下降 沿均滞后 F 信号 8 ] > 周期。根据 = 信号相对于 F 信号的 超前与滞后, 计数器即可相应地做出加计数或减计数的判 断。 图 8 给出了角度传感器有信号输入时 =, F 信号的变 化情况。图中, 前半部分为正计数, 后半部分为反计数。根 据接收到的输入信号相位差和 =, F 信号变化的周期数来 使用计数器进行计数, 就可以测算出角度传感器传来的数 据的具体信息。
! ! 由表 * 、 表 " 可知, 当信号 ( 和 - 发生跳变时, 对(和 - 进行异或逻辑运算, 即可判断对计数器进行加操作还是
图 6" 系统功能框图 #$% 6" 71.*8 4$9%+9: ./ 525(-: /’3*($.3
减操作。流程图如图 : 所示。
! ! 图中, (* + (, , -* + -, 为六路角度传感器输出的相位 差为 ./0 的方波信号、 1* + 1, 为零位信号、 数据为串行输 出、 23 为使能信号, 控制锁存器存储数据和输出数据。 本设计中, 角度传感器提供输入信号, 其精度要求高, 若对角度的测量要求分辩力到 *4 甚至 /5 *4, 则信号频率相 对较高。根据设计要求, 估算整个电路所需要的管脚和宏 单元的个数, 以及以后系统的可升级空间, 本设计选用芯片 3%$*/6"/78*))9: 。它是 (;<=>? 公司 $@3A*/6 系列产品 之一, 是一种嵌入式可编程逻辑器件, 采用 8B2C CD(B 制 造工艺, 使用 CD(B 来存储编程数据, 具有在系统中可编程 特性。 3%$*/6"/78*)) 9: 具有高密度、 高速度、 低功耗等 特点。芯片内含有专用进位链, 级联链以及快速通道, 故其 互连方式十分灵活。 6" 具体电路设计 本系统的主要功能通过 (;<=>? 公司 EF?><FG HH 软件系 统提供的集成化文本编辑程序实现, 即硬件描述语言输入 方式。该方式适合于输入和编辑诸如 IJK@, I=>L;MN JK@, (;<=>? 公司的 (JK@ 等硬件描述语言的设计输入文件。硬 件描述语言输入方式的特点是效率较高、 结果也较容易仿 真、 信号观察也比较方便, 而且, 在不同的设计输入库之间 转换非常方便, 下面介绍系统主要电路的设计。
"5 :! 数据传输
串行输出口采用标准的 DC 9 ":" 协议, , 个锁存器输 出的数据将先存入 $H$2 ( 先进先出寄存器) , 然后, 通过串 口将数据发送到 %8。 数据串行输出如图 ) 所示。
"5 *! 实现四倍频、 辨向和计数
以一路角度传感器所发出的方波信号为例, 如图 * 所 示, 通过对 ( 和 - 信号的上升沿和下降沿进行计数实现四 倍频; 并通过在每个跳变沿判断 ( 与 - 的电平高低来实现
收稿日期: "##% C 8" C "% 国家自然科学基金资助项目 ( %#"#%##H ) #基金项目:
!!!!!"
基于 !"#$ 的多路光电编码器数据采集系统 #
叶! 东8 ,周志炜8 ,张! 飚" ,彭国茂8
( % 9 哈尔滨工业大学 自动化测试与控制系, 黑龙江 哈尔滨 %&’’’% ; ( 9 哈尔滨师范大学 物理系, 黑龙江 哈尔滨 %&’’)’ ) 摘! 要:介绍了一种基于现场可编程门阵列 ( :;<=) 的多路光电编码器数据采集系统, 包括其功能、 原理、 软件编程和硬件实现电路。描述了该电路的 > 个主要功能: 四倍频细分、 辨向、 计数及串行通讯。根据波 形的跳沿实现四倍频细分; 通过对波形相位的分析, 采用基于相位变化的设计原理实现辨向。整个系统在 ?,(’3,* !软件环境下实现编程, 应用 =63.’( 公司的 @;:8#A"#&B8>>CD 型芯片作为硬件载体, 角度分辨力 可达 8E。最后, 给出了详细的编程和仿真波形。 关键词:光电编码器;四倍频细分;辨向 中图分类号:&;"8"9 8>! ! ! 文献标识码:F! ! ! 文章编号:8### C GHIH ( "##$ ) #% C ##>% C #D
! ! 本文中, 数据采集系统要完成的主要任务为: 利用 $%& ’( 芯片完成六路角度传感器信号处理、 四倍频及判向功 能, 设计 ") 位计数器, 实现数据的锁存、 清零以及数据传 输, 系统功能框图如图 " 所示。
表 6" 7 信号跳变真值表 <9= 6" <+’(0 (9=1- ./ 7 5$%391 *.’3($3% ( * * / / * / * / 计数器 O* 9* 9* O*
图 >" 辨向与计数流程图 #$% >" #1.? *09+( ./ 4$+-*($.3@A’4%:-3( 934 *.’3($3%
"5 "! 数据锁存
方波信号经过四倍频并计数后所得到的 , 组数据, 当 需要向上位机传输时, 因为内部各计数单元工作属于动态 过程, 因此, 在向外部传输数据时, 需先将 , 组数据分别存 入 , 个锁存器中再读取数据, 以保证读出稳定的数据。在 本设计中, 锁存器是由 IJK@ 语言描述的同步锁存器。所 谓同步锁存器指的是复位和加载功能全部与时钟同步, 复 位端的优先级较高。在数字系统设计时, 采用完全同步的 锁存器, 可以避免时序错误。
[$] 字硬件 电 路 设 计 的 理 想 首 选 。 :;<= ] B;^K 既 继 承 了
=_[B 的大规模、 高集成度、 高可靠性的优点、 又克服了普通 =_[B 设计周期长、 投资大、 灵活性差的缺点。 :;<= 的集成 度很高, 可完成极其复杂的时序和组合逻辑电路功能, 适用 于高速、 高密度的高端数字逻辑电路设计领域。
fig3flowchartofdirectionjudgmentandc0哪lti22数据锁存方波信号经过四倍频并计数后所得到的6组数据当需要向上位机传输时因为内部各计数单元工作属于动态过程因此在向外部传输数据时需先将6组数据分别存个锁存器中再读取数据以保证读出稳定的数据
! "##$ 年 第 "% 卷 第 % 期! ! ! ! ! ! ! 传感器与微系统 ( &’()*+,-.’ ()+ /0-’1*2*3.4 &.-5)16170.*)
相关文档
最新文档