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

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

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

編碼器基礎(chǔ)——格雷碼這樣圖案化編碼的好處

電子工程師 ? 來源:lq ? 2019-01-11 10:28 ? 次閱讀

編碼器是一種測量角度(或直線長度)的傳感器,它將需要測量的角度(或直線長度)預(yù)先在傳感器內(nèi)部編碼,并以數(shù)字編碼的方式向外發(fā)送傳感器測量的數(shù)據(jù)。其中,格雷碼就是其最常用的編碼方式。

01

格雷碼(Gray Code)因1953年公開的弗蘭克.格雷的專利而得名。格雷碼是二進(jìn)制循環(huán)碼,其編碼最大的特點(diǎn)是任意上下相鄰的兩個(gè)碼值間,只有一位碼不同,這樣在碼值上下變化過程中,每次只改變一位碼,從而傳輸、讀數(shù)的錯(cuò)碼率最小。格雷碼還是循環(huán)碼,其最大碼到最小碼同樣遵循只改變一位碼的編碼原則,因而形成循環(huán)碼。

每次只變一位的唯一性、循環(huán)性、圖案化編碼對稱性是格雷碼的編碼原則,它的圖案化編碼形式猶如小孩子搭積木來搭建金字塔般簡單,而又優(yōu)美。

以下是以4位代碼為例,對比格雷碼與純二進(jìn)制碼:

(1)每次只變化一位,例如在7到8之間,純二進(jìn)制(0111到1000)4位都發(fā)生了碼值的變化,格雷碼(0100到1100)僅最高位碼值變化。

(2)循環(huán)碼,最大碼15與最小碼0的格雷碼只有一位最高位碼值的不同(1000到0000)。

(3)圖案化編碼金字塔對稱,最低位從1(2的0次)開始向大變化,連續(xù)兩個(gè)1再連續(xù)兩個(gè)0,再兩個(gè)1;第二低位從2(2的1次)開始向大變化,連續(xù)四個(gè)1,再連續(xù)四個(gè)0;第三低位從4(2的2次)開始,連續(xù)8個(gè)1,再8個(gè)0;第四低位從8(2的3次)開始,連續(xù)16個(gè)1,再16個(gè)0......如果橫過來看,像積木搭金字塔型圖案,依此規(guī)律方法,即使小學(xué)生都可隨手寫出更多位數(shù)的格雷碼編碼。

02

格雷碼這樣圖案化編碼的好處:

(1)同步性多位數(shù)讀碼容錯(cuò)寬度最大。

由于格雷碼兩個(gè)相鄰碼值變化時(shí)每次只變一位,那么在多碼道位數(shù)同時(shí)讀取(例如光學(xué)碼盤)、輸出(例如多芯電纜的并行輸出)、以及后續(xù)設(shè)備的多位數(shù)的接收,在數(shù)值增加或減少時(shí),編碼與同步讀取的誤差最小。多位數(shù)的數(shù)據(jù)刷新是不可能做到完全同步的(由于物理位置精度的原因,以及時(shí)間精度瞬間有先后),格雷碼因只有一位的變化,而可以“從容”分辨出這僅一位的變化,其余的沒有改變,沒有同步性偏差。而如果是純二進(jìn)制碼,有多個(gè)數(shù)據(jù)改變了,這些刷新改變的數(shù)據(jù)讀取會(huì)有同步性上的先后,就有可能有些已經(jīng)讀到刷新后的數(shù)據(jù),有些還沒有讀到刷新后的數(shù)據(jù),這樣就會(huì)亂碼,例如表1內(nèi)的7到8,純二進(jìn)制有多個(gè)位0和1發(fā)生改變,如果有一位還停留在刷新前的,如第二位,那么讀到的就不是8(1000),而是10(1010)了。而格雷碼由于每次只改變一位,因?yàn)榫椭挥幸晃辉谒⑿拢筒淮嬖谒⑿孪群蟮膯栴},也就不會(huì)發(fā)生錯(cuò)碼了。

(2)制作時(shí)容錯(cuò)寬度最大,格雷碼編碼的刻線寬度大,一條刻線容下了兩個(gè)碼值,一個(gè)刻線周期容下了4個(gè)碼值。

例如上圖一個(gè)5位格雷碼32個(gè)分辨位置,最密的刻線碼道僅需8個(gè)刻線,寬度比純二進(jìn)制碼寬一倍。同時(shí),由于相鄰兩個(gè)格雷碼只有一位的變化,刻線位置的誤差寬度可達(dá)±1/2碼而不會(huì)發(fā)生錯(cuò)碼。這對于碼盤的加工以及讀取傳感器的安裝精度要求大大放寬,便于制作出在同樣尺寸下更高分辨率的編碼器。

(3)編碼與刻線有規(guī)律的圖案化排列。

格雷碼以搭寶塔積木似的編碼刻線,對于碼盤設(shè)計(jì)極為的方便,也便于布排各個(gè)碼道的傳感器讀取頭。

(4)循環(huán)碼,便于多周期的旋轉(zhuǎn)循環(huán)而不會(huì)發(fā)生錯(cuò)碼。

格雷碼的最高兩位是特別的,在一個(gè)循環(huán)周期里面,最高兩位的刻線寬度是一樣的,而位置錯(cuò)開了1/4周期,格雷碼最高位的變化是在整個(gè)格雷碼編碼測量周期的中點(diǎn)和起始點(diǎn)。也就是在周期的1/2(180度相位)時(shí),僅有最高位的碼值從0到1,而在周期的終點(diǎn)循環(huán)到起始點(diǎn),也僅有最高位的碼值從1到0,其間的變化不會(huì)發(fā)生錯(cuò)碼。

(5)增量型編碼器的AB相編碼,也就是利用了格雷碼最高2位為循環(huán)編碼不易錯(cuò)碼,并上述各項(xiàng)格雷碼與刻線的優(yōu)點(diǎn)。

這樣的編碼可以分辨出進(jìn)位與退位(編碼器旋轉(zhuǎn)的正轉(zhuǎn)于反轉(zhuǎn)),可以每個(gè)周期的2位格雷碼編碼的4個(gè)位置(四倍頻),可以有刻線與讀取的最大限度的容錯(cuò)。

例如一個(gè)光學(xué)增量型編碼器,通過傳感器內(nèi)的光學(xué)碼盤,分割有很多個(gè)分割刻線,通過度取刻線通與暗的規(guī)律,輸出每圈的脈沖數(shù)(PPR)對一個(gè)360度圓周分割,也稱為分辨率。每個(gè)脈沖周期的變化代表了一定角度變化,這樣預(yù)先分割角度到每個(gè)周期并讀取計(jì)數(shù)周期變化的方式為“增量編碼”,增量編碼器輸出一般是A、B、Z三相信號,A和B的編碼按格雷碼一個(gè)周期內(nèi)循環(huán)碼最高2位的位置編排,輸出相差1/4個(gè)周期的A和B,正轉(zhuǎn)(進(jìn)位)是1/4相差,而反轉(zhuǎn)(退位)是3/4相差,以此可以判斷編碼器的正反轉(zhuǎn);另外一個(gè)信號Z相是每圈僅提供一個(gè)位置脈沖,以此可以設(shè)定零位值。

(6)絕對值編碼器的N位數(shù)編碼,也就是利用了格雷碼多碼道同步讀取時(shí)錯(cuò)碼率最小,以及便于碼盤設(shè)計(jì)、刻線以及傳感器安裝的寬容度最大。并行信號輸出的格雷碼,也便于后續(xù)設(shè)備讀取變化時(shí)錯(cuò)碼率最低。用格雷碼制作絕對值碼盤,物理制作最簡單經(jīng)濟(jì),同時(shí)又達(dá)到最大的寬容度容錯(cuò)性。

較易錯(cuò)誤的純二進(jìn)制編碼碼盤

格雷碼編碼的碼盤,制作寬容度與容錯(cuò)性最佳。

絕對值編碼的編碼器內(nèi)部碼盤已對應(yīng)有整個(gè)測量行程預(yù)先有N位的大數(shù)據(jù)編碼,在整個(gè)規(guī)定的測量行程中每一個(gè)位置都是唯一性的編碼,與時(shí)間軸無關(guān),任何時(shí)間讀取或者不讀取都可以根據(jù)數(shù)據(jù)下游指令,可直接一次輸出與時(shí)間軸無關(guān)的編碼大數(shù)據(jù)。在360度以內(nèi)的唯一編碼的為單圈絕對值編碼器,超出360度有更多圈數(shù)量程的唯一編碼的為絕對值多圈編碼器。

03

格雷碼對純二進(jìn)制的解碼,以下表規(guī)律解碼:

解碼過程:以“0”和格雷碼的最高位以上表方法比較,結(jié)果保留在(純二進(jìn)制碼)最高位,再以此結(jié)果與格雷碼的第二高位比較,結(jié)果保留在(純二進(jìn)制碼)第二高位;再以剛得到的值與第三高位比較,結(jié)果保留在(純二進(jìn)制碼)第三高位......以此類推,直到最低位。

例如自然數(shù)14,格雷碼為1001,向純二進(jìn)制碼解碼,最高位比較值(0與1)結(jié)果為1,第二高位比較(1與0),結(jié)果為1;第三高位比較(1與0),結(jié)果為1;最低位比較(1與1),結(jié)果為0,得到純二進(jìn)制代碼1110。

格雷碼的讀取:由于格雷碼是循環(huán)碼,在讀碼時(shí)要確認(rèn)多少位,一次完整地從高位向低位讀取,而不能因?yàn)橹桓淖兊臀?,就僅僅只讀低位而不讀高位。

格雷碼有規(guī)律的積木式編碼方式,可以節(jié)省位數(shù)的解碼。編碼器在快速旋轉(zhuǎn)中當(dāng)需要快速讀取碼值而放棄了高分辨率的最后幾位,僅讀取高位,可大膽放棄最后幾位的格雷碼向二進(jìn)制碼的解碼----格雷碼的解碼是從高位開始的,例如原先一個(gè)13位的格雷碼編碼,當(dāng)放棄最后最后3位后可以成為一個(gè)10位的格雷碼編碼。

04

故事:國王的紅酒,簡單圖案化的格雷碼編碼。

B. 找十個(gè)死囚犯,從低位到高位編號,輪到各自位數(shù)有記號的逢1便嘗酒。如果有囚犯中毒,即可根據(jù)格雷碼的編排圖案化規(guī)律而找到了那瓶毒酒。

C. 半天后,有可能有死囚會(huì)死去,那樣就有了毒酒的格雷碼編碼數(shù)。究竟有多少個(gè)死囚會(huì)被毒死?那要看這個(gè)毒酒的編號里有幾個(gè)“1”,也就是“嘗”到的有幾個(gè)囚犯。根據(jù)幾個(gè)死囚死去的位置編號,就能找到那瓶毒酒。

這是我編的一個(gè)故事,各位記住格雷碼了嗎?當(dāng)然,你就不用試毒酒就可以記住它的編碼圖案規(guī)律了。

每次只改變一位,帶來最經(jīng)濟(jì)的物理制作、讀取與解碼,最大的容錯(cuò)性,格雷碼是如此簡單而又優(yōu)美,搭建起編碼器數(shù)學(xué)編碼的基礎(chǔ)。

聲明:本文內(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)注

    44

    文章

    3529

    瀏覽量

    133272
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    761

    瀏覽量

    41475
  • 格雷碼
    +關(guān)注

    關(guān)注

    2

    文章

    34

    瀏覽量

    13156

原文標(biāo)題:編碼器基礎(chǔ)——格雷碼的編碼美學(xué)

文章出處:【微信號:wwygzxcpj,微信公眾號:電機(jī)技術(shù)及應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    編碼器的定義與功能 編碼器的工作原理和種類

    在數(shù)字系統(tǒng)里,常常需要將某一信息(輸入)變換為某一特定的代碼(輸出)。把二進(jìn)制按一定的規(guī)律編排,例如8421等,使每組代碼具有一
    的頭像 發(fā)表于 10-27 09:29 ?1.1w次閱讀
    <b class='flag-5'>編碼器</b>的定義與功能 <b class='flag-5'>編碼器</b>的工作原理和種類

    常用編碼(BCD編碼、余3、反射、奇偶校驗(yàn))

    反射(循環(huán))十進(jìn)制數(shù) 二進(jìn)制數(shù) 十進(jìn)制數(shù) 二進(jìn)制數(shù)
    發(fā)表于 04-11 10:00

    的規(guī)則和應(yīng)用問題?

    今天看到一個(gè)計(jì)數(shù)的程序,搜了下定義,覺得還是云里霧里,定義寫的是若任意兩個(gè)相鄰的代碼只有一位二進(jìn)制數(shù)不同,則這種編碼
    發(fā)表于 08-20 14:41

    編碼器的定義

    編碼器  編碼器的定義:在數(shù)字系統(tǒng)里,常常需要將某一信息(輸入)變換為某一特定的代碼(輸出)。把二進(jìn)制按一定的規(guī)律編排,例如8421、
    發(fā)表于 09-03 06:35

    什么是編碼器 什么叫編碼器 編碼器什么意思

    什么是編碼器 什么叫編碼器 編碼器什么意思 第一種含義:編碼器是把角位移或直線位移轉(zhuǎn)換成電信號的一種裝置。前者成為盤,后者稱碼尺.按照讀
    發(fā)表于 12-18 00:13 ?1.5w次閱讀
    什么是<b class='flag-5'>編碼器</b> 什么叫<b class='flag-5'>編碼器</b> <b class='flag-5'>編碼器</b>什么意思

    碼式旋轉(zhuǎn)編碼器在位移檢測中的應(yīng)用

    碼式旋轉(zhuǎn)編碼器在位移檢測中的應(yīng)用 介紹碼式旋轉(zhuǎn)編碼器的特點(diǎn),通過PLC轉(zhuǎn)換成二進(jìn)制式運(yùn)
    發(fā)表于 04-30 08:43 ?2182次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b>碼式旋轉(zhuǎn)<b class='flag-5'>編碼器</b>在位移檢測中的應(yīng)用

    編碼器,編碼器是什么意思

    編碼器,編碼器是什么意思 編碼器 編碼器(encoder)是將信號
    發(fā)表于 03-08 15:04 ?3040次閱讀

    LDPC編碼器的FPGA實(shí)現(xiàn)

    800Mbps準(zhǔn)循環(huán)LDPC編碼器的FPGA實(shí)現(xiàn)
    發(fā)表于 05-09 10:59 ?37次下載

    編碼規(guī)則_有什么規(guī)律

    典型的二進(jìn)制簡稱,因1953年公開的弗蘭克·
    的頭像 發(fā)表于 03-02 14:29 ?5.4w次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b><b class='flag-5'>編碼</b>規(guī)則_<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>有什么規(guī)律

    編碼器功能實(shí)現(xiàn)

    編碼器是將信號或數(shù)據(jù)進(jìn)行編制、轉(zhuǎn)換為可用以通訊、傳輸和存儲的信號形式的設(shè)備。屬于可靠性編碼,是一種錯(cuò)誤最小
    的頭像 發(fā)表于 03-02 16:13 ?1.2w次閱讀
    <b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b><b class='flag-5'>編碼器</b>功能實(shí)現(xiàn)

    絕對值編碼器原理

    絕對編碼器盤上有許多道光通道刻線,每道刻線依次以2線、4線、8線、16線編排,在編碼器的每一個(gè)位置,通過讀取每道刻線的通、暗,獲得一組從2的零次方到2的n-1次方的唯一的2進(jìn)制編碼
    的頭像 發(fā)表于 12-06 17:12 ?5.4w次閱讀

    轉(zhuǎn)換為二進(jìn)制編碼器的方法

    絕對編碼器中的傳感輸出格序列,需要一些復(fù)雜的轉(zhuǎn)換方法才能正確使用。本文展示了如何獲取絕對編碼器使用的
    的頭像 發(fā)表于 05-05 15:41 ?6203次閱讀
    將<b class='flag-5'>格</b><b class='flag-5'>雷</b><b class='flag-5'>碼</b>轉(zhuǎn)換為二進(jìn)制<b class='flag-5'>編碼器</b>的方法

    一文詳解編碼器

    本文介紹,這是絕對編碼器與控制通信所必需的一種特殊二進(jìn)制排列。
    的頭像 發(fā)表于 05-05 15:47 ?1w次閱讀

    結(jié)構(gòu)光|解碼方法

    是一種特殊的二進(jìn)制,在結(jié)構(gòu)光三維視覺中,常常被用于編碼。比起我們常見的二進(jìn)制,
    的頭像 發(fā)表于 12-21 11:14 ?1113次閱讀

    編碼器是什么?編碼器有哪些分類及應(yīng)用

    編碼器是什么?編碼器有哪些分類及應(yīng)用;編碼器是什么?在數(shù)字信號處理和通信系統(tǒng)中,編碼器是一種重要的設(shè)備,用于將原始數(shù)據(jù)轉(zhuǎn)換為字符序列或二進(jìn)制
    的頭像 發(fā)表于 05-18 11:08 ?4888次閱讀
    <b class='flag-5'>編碼器</b>是什么?<b class='flag-5'>編碼器</b>有哪些分類及應(yīng)用