==设计要求==
FPGA接收编码器的信号,控制LED颜色的变换,编码器采用[[HRPG-AD32]]编码器。
{{ :rotate_encoder_system.jpg |}}
==方案设计==
- 增量型[[旋转编码器]]有两路相位不同的信号输出,Phase A 和 Phase B,FPGA需要对这两路输入信号进行分析,判断出旋转的动作,输出一个加(up)或减(down)的脉冲信号。
- 同时,很多旋转编码器都有按键功能,除了旋转以外可以按下,这个按键和旋转是独立的。FPGA内部对按键进行了消抖动,并响应动作产生一个脉冲信号(key_out)
- 改代码加入了现象的验证,输出为6位数据,可接上LED观看现象,旋转和按键会使LED产生流水灯效果
- 在小脚丫开发板上的现象如下图,两个三色LED会按照如图方式进行切换轮流显示。视频中可以观看到
{{ :rotate_encoder_state.png |}}
**旋转编码器状态转换**
==硬件设计==
连接图中,主要有电源和GND,两路信号,按键信号(如果有按键),大地(接机壳,Avago HRPG-AD32#16F上没有按键,多了一个接机壳的地脚,仍然是5个脚)
{{ :rotate_encoder_connection.png |}}
** 小脚丫FPGA同旋转编码器的连接**
==软件设计==
FPGA程序结构
{{ :rotate_encoder_flow.png |}}
** 旋转编码器程序结构**
==FPGA资源占用情况==
{{ :rotate_encoder_report.png |}}
** 小脚丫FPGA驱动旋转编码器所占用资源**
项目视频演示:
http://v.youku.com/v_show/id_XMTM5NDc3MjI4MA==.html
==本设计中用到的主要芯片==
- LCMXO2-1200:Lattice FPGA,主频133Mhz,PBGA132封装([[http://www.datasheet5.com/pn-LCMXO2-1200HC-4MG132CR1-1121565|LCMXO2-1200数据手册]])
- [[Avago Technologies]]:HRPG AD32 16F,旋转编码器,([[http://www.avagotech.com/cs/Satellite?q=HRPG&pagename=AVG2/searchLayout&locale=avg_en&within=null&Search=HRPG+AD32+16F&srch-radio=new&Submit=Search|Avago HRPG-AD32#16F数据手册]])
- 小脚丫开发板:DIP40封装形式,小巧精悍的FPGA开发板,([[http://www.eeboard.com/bbs/thread-44647-1-1.html|小脚丫开发板相关信息]])
- 小脚丫FPGA开发板【自带编译器】至爱板网商城购买:[[http://www.eeboard.com/shop/index.php?c=products&a=view&t=s&id=3340|点击购买]]
- 电路相关文件下载:http://www.cirmall.com/circuit/2704