0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用ATtiny2313A AVR微控制器即可实现高速读取正交编码器信号

PCB线路板打样 来源:LONG 2019-08-09 15:39 次阅读

高速读取正交编码器信号(例如,1MHz,或1m/s,分辨率为1μm)通常需要专用硬件。本设计方案展示了一个简单的方案,仅使用ATtiny2313A AVR微控制器即可实现此功能。当然,微控制器也可以通过串行接口连接到其他设备,或者测量位置可以显示在本地LCD上,可以连接到端口PB。此外,可以添加一个或多个LED来指示错误情况。

使用ATtiny2313A AVR微控制器即可实现高速读取正交编码器信号

图1用ATtiny2313A读取正交信号; Z索引信号是可选的。

在这个实现中,中断处理程序非常重要。它在不到1μs的时间内读取输入信号A和B.差分信号AP/N和BP/N由SN75157接收器处理,如果编码器输出逻辑电平信号,则不需要。

处理器配置为端口PD引脚的任何更改产生中断。该中断是中断向量表中的最后一个,因此

可以省去跳转指令,从而减少2-3个时钟(100-150ns)的中断服务时间。

先前和当前信号之间的异或操作( A 旧 ? B new或 A new ? B old )确定当前位置是否从前一个增加或减少。 old 和 B old 是改变状态前的A和B信号, A new 和 B new 是中断后的值。中断处理程序位于 PCIsubroutine1.txt 文件中。

中断处理程序的执行时间为800-850ns(16-17个时钟)。为了最大限度地缩短ISR的执行时间,一些寄存器专门用于它,主程序不能使用它:

R10保存SREG并测试激活新的中断

R11和R12用于新旧状态

R24和R25用于位置传感器

要计算当前位置,需要只有一个时钟周期。缺点是该位置只能有65536个值。您可以使用3或4个字节确定位置,在这种情况下,子程序执行时间从添加必要指令后增加到18-19个周期(使用寄存器对R24,R26,R28或R30)。

中断处理程序在退出当前ISR之前检查新中断。通过在SREG中设置位T来指示该情况。执行此检查,执行时间增加3个周期。我们使用RB6029(每转4,000个脉冲)以最大速度测试子程序的操作,没有检测到错误。

在激活中断之前,PCIE2值必须放在寄存器R12中(读取PIND寄存器)在启用PCINT2中断并设置SREG -I标志之前。

如果要使用Z索引信号,该位置将存储在三个寄存器中,为1,024,000个值? (4,000次计数/旋转; 256次旋转)。读取数据的中断处理程序更复杂,如 PCIsubroutine2.txt 中所示。长度为19个周期,或当Z激活时当前位置递增时为20个周期。

如果Z索引处于激活状态,我们清除角度位置,增加转数,并检查先前的角度价值是3,999。在该子程序中,检测到三个错误:一个用于重叠的新中断(如前一种情况),另外两个与Z索引相关(检查先前角位置的正确性)。错误计数器寄存器rerr1,rerr2和rerr3应由用户定义。要初始化系统,请运行 InitIndexZ.txt ,等待Z处于活动状态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • PCB打样
    +关注

    关注

    17

    文章

    2968

    浏览量

    21695
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27749
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    43034
收藏 人收藏

    评论

    相关推荐

    ATtiny2313AAVR微控制器

    AVR微控制器处理正交编码器信号只需不到1μs的时间
    发表于 02-04 06:58

    正交编码器原理什么是正交

    1.正交编码器原理什么是正交?如果两个信号相位相差90度,则这两个信号称为正交。由于两个
    发表于 01-10 08:04

    正交编码器测速的方法

    1.正交编码器的原理通常,光电式编码器的输出信号A信号和B
    发表于 01-10 06:00

    如何利用STM32的正交编码器模式读取编码器的角度数据和速度?

    如何利用STM32的正交编码器模式读取编码器的角度数据和速度?
    发表于 02-11 07:01

    一个基于ATtiny13A/5xIO的微型微控制器PCB

    描述ATtiny13A 分线 PCB一个基于 ATtiny13A、5xIO 的微型微控制器 PCB,其中 3 个 IO 连接到 ADC。该板非常适合所有使用 Arduino 的小而简单的项目。板载
    发表于 07-06 07:33

    attiny2313中文资料pdf

    ATtiny2313是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATtiny2313 的数据吞吐率高达1 MIPS/M
    发表于 04-08 09:24 106次下载

    attiny2313 pdf

    ATtiny2313是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATtiny2313 的数据吞吐率高达1 MIPS/M
    发表于 06-16 12:51 107次下载

    Atmel推出快闪AVR微控制器封装产品ATtiny4/5/

    爱特梅尔公司(Atmel® Corporatio)宣布,全球最小的快闪AVR®微控制器封装产品开始投入生产。爱特梅尔的ATtiny4、ATtiny5、
    发表于 06-04 08:49 913次阅读

    编码器正交编码工作原理

    正交编码器(又名双通道增量式编码器),用于将线性移位转换为脉冲信号
    发表于 08-02 08:50 3.2w次阅读

    ATtiny2313 AVR增强型RISC架构的低功耗CMOS 8位微控制器的资料概述

    ATtiny2313是基于AVR增强型RISC架构的低功耗CMOS 8位微控制器。通过在单个时钟周期中执行强大的指令,ATtiny2313实现
    发表于 11-13 08:00 9次下载
    <b class='flag-5'>ATtiny2313</b> <b class='flag-5'>AVR</b>增强型RISC架构的低功耗CMOS 8位<b class='flag-5'>微控制器</b>的资料概述

    ATtiny2313低功耗8位CMOS微控制器数据手册免费下载

    ATtiny2313是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATtiny2313 的数据吞吐率高达 1 MIPS/
    发表于 12-11 08:00 4次下载
    <b class='flag-5'>ATtiny2313</b>低功耗8位CMOS<b class='flag-5'>微控制器</b>数据手册免费下载

    STM32的正交编码器模式读取编码器的角度数据和速度

    STM32的正交编码器模式读取编码器的角度数据和速度
    发表于 12-08 17:06 144次下载
    STM32的<b class='flag-5'>正交</b><b class='flag-5'>编码器</b>模式<b class='flag-5'>读取</b><b class='flag-5'>编码器</b>的角度数据和速度

    编码器脉冲信号丢失怎么处理

    通常使用计数微控制器来计量编码器的脉冲信号。可以通过将编码器的输出信号接收到计数
    的头像 发表于 01-18 14:44 2481次阅读

    编码器脉冲信号(怎么测量 | 丢失怎么处理 | 丢失的原因)

    线的功能。 2. 使用计数微控制器:通常使用计数微控制器来计量编码器的脉冲信号。可以通过
    的头像 发表于 04-17 15:24 2692次阅读

    伺服控制器编码器信号输出怎么接

    伺服控制器编码器信号输出接线是伺服系统设计和安装过程中的一个重要环节。本文将详细介绍伺服控制器编码器信号
    的头像 发表于 06-05 14:57 1571次阅读