0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ATtiny2313A AVR微控制器即可實(shí)現(xiàn)高速讀取正交編碼器信號(hào)

PCB線路板打樣 ? 來源:LONG ? 2019-08-09 15:39 ? 次閱讀

高速讀取正交編碼器信號(hào)(例如,1MHz,或1m/s,分辨率為1μm)通常需要專用硬件。本設(shè)計(jì)方案展示了一個(gè)簡單的方案,僅使用ATtiny2313A AVR微控制器即可實(shí)現(xiàn)此功能。當(dāng)然,微控制器也可以通過串行接口連接到其他設(shè)備,或者測量位置可以顯示在本地LCD上,可以連接到端口PB。此外,可以添加一個(gè)或多個(gè)LED來指示錯(cuò)誤情況。

使用ATtiny2313A AVR微控制器即可實(shí)現(xiàn)高速讀取正交編碼器信號(hào)

圖1用ATtiny2313A讀取正交信號(hào); Z索引信號(hào)是可選的。

在這個(gè)實(shí)現(xiàn)中,中斷處理程序非常重要。它在不到1μs的時(shí)間內(nèi)讀取輸入信號(hào)A和B.差分信號(hào)AP/N和BP/N由SN75157接收器處理,如果編碼器輸出邏輯電平信號(hào),則不需要。

處理器配置為端口PD引腳的任何更改產(chǎn)生中斷。該中斷是中斷向量表中的最后一個(gè),因此

可以省去跳轉(zhuǎn)指令,從而減少2-3個(gè)時(shí)鐘(100-150ns)的中斷服務(wù)時(shí)間。

先前和當(dāng)前信號(hào)之間的異或操作( A 舊 ? B new或 A new ? B old )確定當(dāng)前位置是否從前一個(gè)增加或減少。 old 和 B old 是改變狀態(tài)前的A和B信號(hào), A new 和 B new 是中斷后的值。中斷處理程序位于 PCIsubroutine1.txt 文件中。

中斷處理程序的執(zhí)行時(shí)間為800-850ns(16-17個(gè)時(shí)鐘)。為了最大限度地縮短ISR的執(zhí)行時(shí)間,一些寄存器專門用于它,主程序不能使用它:

R10保存SREG并測試激活新的中斷

R11和R12用于新舊狀態(tài)

R24和R25用于位置傳感器

要計(jì)算當(dāng)前位置,需要只有一個(gè)時(shí)鐘周期。缺點(diǎn)是該位置只能有65536個(gè)值。您可以使用3或4個(gè)字節(jié)確定位置,在這種情況下,子程序執(zhí)行時(shí)間從添加必要指令后增加到18-19個(gè)周期(使用寄存器對R24,R26,R28或R30)。

中斷處理程序在退出當(dāng)前ISR之前檢查新中斷。通過在SREG中設(shè)置位T來指示該情況。執(zhí)行此檢查,執(zhí)行時(shí)間增加3個(gè)周期。我們使用RB6029(每轉(zhuǎn)4,000個(gè)脈沖)以最大速度測試子程序的操作,沒有檢測到錯(cuò)誤。

在激活中斷之前,PCIE2值必須放在寄存器R12中(讀取PIND寄存器)在啟用PCINT2中斷并設(shè)置SREG -I標(biāo)志之前。

如果要使用Z索引信號(hào),該位置將存儲(chǔ)在三個(gè)寄存器中,為1,024,000個(gè)值? (4,000次計(jì)數(shù)/旋轉(zhuǎn); 256次旋轉(zhuǎn))。讀取數(shù)據(jù)的中斷處理程序更復(fù)雜,如 PCIsubroutine2.txt 中所示。長度為19個(gè)周期,或當(dāng)Z激活時(shí)當(dāng)前位置遞增時(shí)為20個(gè)周期。

如果Z索引處于激活狀態(tài),我們清除角度位置,增加轉(zhuǎn)數(shù),并檢查先前的角度價(jià)值是3,999。在該子程序中,檢測到三個(gè)錯(cuò)誤:一個(gè)用于重疊的新中斷(如前一種情況),另外兩個(gè)與Z索引相關(guān)(檢查先前角位置的正確性)。錯(cuò)誤計(jì)數(shù)器寄存器rerr1,rerr2和rerr3應(yīng)由用戶定義。要初始化系統(tǒng),請運(yùn)行 InitIndexZ.txt ,等待Z處于活動(dòng)狀態(tài)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150118
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21562
  • 華強(qiáng)PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27631
  • 華強(qiáng)pcb線路板打樣

    關(guān)注

    5

    文章

    14629

    瀏覽量

    42795
收藏 人收藏

    評論

    相關(guān)推薦

    ATtiny2313AAVR微控制器

    AVR微控制器處理正交編碼器信號(hào)只需不到1μs的時(shí)間
    發(fā)表于 02-04 06:58

    正交編碼器原理什么是正交?

    1.正交編碼器原理什么是正交?如果兩個(gè)信號(hào)相位相差90度,則這兩個(gè)信號(hào)稱為正交。由于兩個(gè)
    發(fā)表于 01-10 08:04

    正交編碼器測速的方法

    1.正交編碼器的原理通常,光電式編碼器的輸出信號(hào)A信號(hào)和B
    發(fā)表于 01-10 06:00

    一個(gè)基于ATtiny13A/5xIO的微型微控制器PCB

    描述ATtiny13A 分線 PCB一個(gè)基于 ATtiny13A、5xIO 的微型微控制器 PCB,其中 3 個(gè) IO 連接到 ADC。該板非常適合所有使用 Arduino 的小而簡單的項(xiàng)目。板載
    發(fā)表于 07-06 07:33

    attiny2313中文資料pdf

    ATtiny2313是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATtiny2313 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/M
    發(fā)表于 04-08 09:24 ?106次下載

    attiny2313 pdf

    ATtiny2313是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATtiny2313 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/M
    發(fā)表于 06-16 12:51 ?107次下載

    Atmel推出快閃AVR微控制器封裝產(chǎn)品ATtiny4/5/

    愛特梅爾公司(Atmel® Corporatio)宣布,全球最小的快閃AVR®微控制器封裝產(chǎn)品開始投入生產(chǎn)。愛特梅爾的ATtiny4、ATtiny5、
    發(fā)表于 06-04 08:49 ?888次閱讀

    編碼器正交編碼工作原理

    正交編碼器(又名雙通道增量式編碼器),用于將線性移位轉(zhuǎn)換為脈沖信號(hào)。
    發(fā)表于 08-02 08:50 ?3.2w次閱讀

    ATtiny2313 AVR增強(qiáng)型RISC架構(gòu)的低功耗CMOS 8位微控制器的資料概述

    ATtiny2313是基于AVR增強(qiáng)型RISC架構(gòu)的低功耗CMOS 8位微控制器。通過在單個(gè)時(shí)鐘周期中執(zhí)行強(qiáng)大的指令,ATtiny2313實(shí)現(xiàn)
    發(fā)表于 11-13 08:00 ?9次下載
    <b class='flag-5'>ATtiny2313</b> <b class='flag-5'>AVR</b>增強(qiáng)型RISC架構(gòu)的低功耗CMOS 8位<b class='flag-5'>微控制器</b>的資料概述

    ATtiny2313低功耗8位CMOS微控制器數(shù)據(jù)手冊免費(fèi)下載

    ATtiny2313是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATtiny2313 的數(shù)據(jù)吞吐率高達(dá) 1 MIPS/
    發(fā)表于 12-11 08:00 ?4次下載
    <b class='flag-5'>ATtiny2313</b>低功耗8位CMOS<b class='flag-5'>微控制器</b>數(shù)據(jù)手冊免費(fèi)下載

    STM32的正交編碼器模式讀取編碼器的角度數(shù)據(jù)和速度

    STM32的正交編碼器模式讀取編碼器的角度數(shù)據(jù)和速度
    發(fā)表于 12-08 17:06 ?141次下載
    STM32的<b class='flag-5'>正交</b><b class='flag-5'>編碼器</b>模式<b class='flag-5'>讀取</b><b class='flag-5'>編碼器</b>的角度數(shù)據(jù)和速度

    帶有ATTINY13A微控制器的PCB

    電子發(fā)燒友網(wǎng)站提供《帶有ATTINY13A微控制器的PCB.zip》資料免費(fèi)下載
    發(fā)表于 08-11 10:11 ?0次下載
    帶有<b class='flag-5'>ATTINY13A</b><b class='flag-5'>微控制器</b>的PCB

    編碼器脈沖信號(hào)丟失怎么處理

    通常使用計(jì)數(shù)微控制器來計(jì)量編碼器的脈沖信號(hào)??梢酝ㄟ^將編碼器的輸出信號(hào)接收到計(jì)數(shù)
    的頭像 發(fā)表于 01-18 14:44 ?1877次閱讀

    編碼器脈沖信號(hào)(怎么測量 | 丟失怎么處理 | 丟失的原因)

    線的功能。 2. 使用計(jì)數(shù)微控制器:通常使用計(jì)數(shù)微控制器來計(jì)量編碼器的脈沖信號(hào)。可以通過
    的頭像 發(fā)表于 04-17 15:24 ?1901次閱讀

    伺服控制器編碼器信號(hào)輸出怎么接

    伺服控制器編碼器信號(hào)輸出接線是伺服系統(tǒng)設(shè)計(jì)和安裝過程中的一個(gè)重要環(huán)節(jié)。本文將詳細(xì)介紹伺服控制器編碼器信號(hào)
    的頭像 發(fā)表于 06-05 14:57 ?799次閱讀