TW201739173A - 定位絕對碼的解碼裝置及解碼方法 - Google Patents
定位絕對碼的解碼裝置及解碼方法 Download PDFInfo
- Publication number
- TW201739173A TW201739173A TW105133434A TW105133434A TW201739173A TW 201739173 A TW201739173 A TW 201739173A TW 105133434 A TW105133434 A TW 105133434A TW 105133434 A TW105133434 A TW 105133434A TW 201739173 A TW201739173 A TW 201739173A
- Authority
- TW
- Taiwan
- Prior art keywords
- look
- circuit
- result value
- output
- decoding
- Prior art date
Links
Landscapes
- Optical Transform (AREA)
- Error Detection And Correction (AREA)
Abstract
一種定位絕對碼的解碼裝置,包括線性回授移位暫存器、查表電路、計數器、以及計算電路。線性回授移位暫存器包括n個暫存器,以第一頻率載入定位絕對碼,並根據時脈信號進行移位運算,時脈信號具有不小於第一頻率的第二頻率。查表電路根據n個暫存器儲存的值,輸出查表結果值以及查表有效旗標,查表結果值具有k種不同資料,k≦(2n-1)。計數器根據查表有效旗標進行重置,並且根據時脈信號進行計數運算以產生計數結果值。當查表有效旗標指示為有效時,計算電路根據查表結果值以及計數結果值計算產生解碼結果。
Description
本發明係關於定位絕對碼的解碼裝置及應用於其上的解碼方法。
光學編碼器(例如:旋轉編碼器、光學尺,本說明書以下將以光學尺通稱光學編碼器)依輸出型式可分為增量型(incremental)輸出以及絕對型(absolute)輸出。其中絕對輸出型光學尺具有可以直接讀出位移座標的絕對值、沒有累積誤差、電源切除後位置資訊不會丟失等優點,廣泛使用於數控機床、伺服傳動、機器人等需要檢測位移的裝置設備。而藉由光學尺讀取到的信號,需經由對應的解碼器以取得待測物品的位置資訊,因此,如何設計適用於絕對型輸出光學尺的解碼裝置以及解碼方法,乃目前業界致力的課題之一。
本發明是有關於定位絕對碼的解碼裝置及應用於其上的解碼方法。
根據本發明一實施範例,提出一種定位絕對碼的解碼裝置,包括線性回授移位暫存器、查表電路、計數器、以及計算電路。線性回授移位暫存器包括n個暫存器,n個暫存器以第一頻率載入定位絕對碼,並根據時脈信號進行移位運算,時脈信號具有第二頻率,第二頻率不小於第一頻率。查表電路根據n個暫存器儲存的值,對應輸出查表結果值以及查表有效旗標,其中查表結果值具有k種不同資料,k≦(2n-1),查表有效旗標指示查表結果值是否有效。計數器根據查表有效旗標進行重置,並且根據時脈信號進行計數運算以產生計數結果值。當查表有效旗標指示為有效時,計算電路根據查表結果值以及計數結果值計算產生解碼結果。
另根據本發明一實施範例,提出一種定位絕對碼的解碼方法,包括下列步驟。提供線性回授移位暫存器,包括n個暫存器,n個暫存器以第一頻率載入定位絕對碼。根據時脈信號以線性回授移位暫存器進行移位運算,時脈信號具有第二頻率,第二頻率不小於第一頻率。使用查表,根據n個暫存器儲存的值,對應輸出查表結果值以及查表有效旗標,其中查表結果值具有k種不同資料,k≦(2n-1),查表有效旗標指示查表結果值是否有效。根據時脈信號進行計數運算以產生計數結果值,其中計數結果值根據查表有效旗標進行重置。當查表有效旗標指示為有效時,根據查表結果值以及計數結果值計算產生一解碼結果。
為了對本發明之上述及其他方面有更佳的瞭解,下
文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
1‧‧‧解碼裝置
100、100_F、100_G‧‧‧線性回授移位暫存器
102‧‧‧查表電路
104‧‧‧計數器
106‧‧‧計算電路
108‧‧‧時脈開關電路
200‧‧‧回授多工器
210、310‧‧‧多工器
212、312‧‧‧邏輯互斥或閘
A‧‧‧第一控制資料
B‧‧‧第二控制資料
C‧‧‧計數結果值
CLK‧‧‧時脈信號
CalF(1)~CalF(3)、CalG(1)~CalG(3)‧‧‧運算邏輯電路
R(1)~R(4)‧‧‧暫存器
S(1)~S(2)‧‧‧切換開關
S400、S402、S404、S406、S408‧‧‧步驟
VF‧‧‧查表有效旗標
X‧‧‧定位絕對碼
Y‧‧‧查表結果值
Z‧‧‧解碼結果
第1A圖繪示單軌絕對值輸出型光學直線柵尺的示意圖。
第1B圖繪示單軌絕對值輸出型光學圓柵尺的示意圖。
第2A圖繪示線性回授移位暫存器的示意圖。
第2B圖繪示如第2A圖的線性回授移位暫存器所產生資料序列的示意圖。
第3圖繪示依照本發明一實施例的解碼裝置示意圖。
第4圖繪示依照本發明另一實施例的解碼裝置示意圖。
第5A圖繪示依照本發明一實施例的彈性線性回授移位暫存器示意圖。
第5B圖繪示如第5A圖運算邏輯電路的示意圖。
第6A圖繪示依照本發明另一實施例的彈性線性回授移位暫存器示意圖。
第6B圖繪示如第6A圖運算邏輯電路的示意圖。
第7圖繪示依照本發明一實施例的對LFSR所產生資料序列以固定間隔進行取樣的示意圖。
第8圖繪示依照本發明一實施例的查表電路的資料對應關係示意圖。
第9圖繪示依照本發明一實施例的查表電路的真值表示意圖。
第10圖繪示依照本發明一實施例的查表電路的電路實作示意圖。
第11圖繪示依照本發明一實施例的解碼過程示意圖。
第12圖繪示依照本發明一實施例的解碼方法流程圖。
為了獲得一位置資訊,絕對輸出型光學尺以多組光電感測器來讀取一組位置資訊。由於必須考量到雜訊的抑制、判別正反轉、以及防止誤讀來提高可靠度,因此絕對輸出型光學尺在編碼方式上多採用多軌格雷碼(Gray code)編碼。格雷碼與一般二進位碼最大的差異在於格雷碼每次只變動一個位元,因此不易產生誤讀。
然而,以多軌排列產生格雷碼的做法,即使引入非常微小的偏角量,它也可能造成讀頭訊號的相位差,產生位置誤判,因此漸漸發展成為單軌絕對值輸出型光學尺。單軌絕對輸出型光學尺的刻度可以使用M序列碼(maximum length sequence,MLS)進行編碼,MLS是一種偽隨機二元序列(pseudorandom binary sequence),可利用線性回授移位暫存器(linear feedback shift registers,LFSR)產生。對於使用LFSR編碼的光學尺,在解碼端也可以利用線性回授移位暫存器來還原編碼的順序以得到位置資訊。
於實作中,單軌絕對值輸出型光學尺包括直接柵尺與圓柵尺,第1A圖繪示單軌絕對值輸出型光學直線柵尺的示意圖,第1B圖繪示單軌絕對值輸出型光學圓柵尺的示意圖,由LFSR所產生的偽隨機二元序列依序刻畫於光學尺上,可由不同的透光程度區分0與1,例如可透光區域為1,遮光區域為0。在光學尺
的兩側可分別設置有光源及光感測器陣列,藉由光感測器陣列讀到的資料,可以經由後續的解碼處理得到所代表的光學尺絕對位置。如第1A圖及第1B圖所示,光感測器陣列可以藉由接收到的光而讀取柵尺上鄰近的多個碼,而能夠根據此資訊獲得絕對位置。直線柵尺可用以測量位移量,圓柵尺可設置於繞著一轉軸旋轉的圓盤,用以測量物體的旋轉量。
然而,隨著對於位置解析度的要求提升,光學尺需要增加偵測長度,亦即需要更多位元(bit)數的M序列偽隨機碼。而對於位元數很多的MLS,若是單純使用移位暫存器還原編碼順序,會造成位置資訊的獲得非常緩慢。更有甚者,移位暫存器還原編碼順序的演算法需與刻畫於光學尺尺身的MLS隨機碼匹配設計。若能發展一種可讀取多種版本尺身序列的讀頭架構,就可節省讀頭的開發費用。
而對於位置絕對碼的解碼方法,另一種方式是採用查表(Lookup Table,LUT)的方式,將刻畫於光學尺身的每一個MLS隨機碼,產生唯一的對應順序訊號,使得解碼端獲得順序訊號時,立即知道光學尺讀頭與尺身的對應位置。其做法是利用安裝於光學尺讀頭的多組光電感測器,經由讀取光學尺尺身MLS隨機碼的訊號,輸入至LUT的位址匯流排(address bus);當LUT獲得有效的位址時,立即輸出一對應的資料至資料匯流排(data bus)。而此方法亦面臨相同的議題,隨著光學尺偵測長度的增加,更多位元數的M序列偽隨機碼使得LUT容量急速膨脹,佔據過大的記憶體空間與硬體面積,容量過大的LUT將造成光學尺讀頭尺寸與製作成本的困擾。
以下首先說明關於以LFSR相關操作的敘述,LFSR包括多個暫存器,其特徵在於暫存器的輸入是暫存器前一輸出狀態(previous state)的線性函數,在LFSR當中此線性函數常見為使用互斥或閘(XOR)實現。LFSR當中暫存器的初始值叫做「種子(seed)」,因為LFSR的運算是確定性的,所以由LFSR所生成的數據流完全可由LFSR當時或者之前的狀態決定。而且,由於LFSR的可能狀態是有限的,它會是一個重複的循環。因此通過適當的預選多項式處理,LFSR可以生成看起來是隨機的且循環周期非常長的序列。
具體而言,LFSR可以根據XOR回授點的位置,或稱作抽頭(tap)位置,而改變對應的多項式。對於包括n個暫存器的LFSR,當LFSR的抽頭位置對應到一個本原多項式(primitive polynomial)時,只要暫存器的初始狀態並非全部為0,則可以產生長度為(2n-1)的MLS。同樣的,當獲得一組「種子」時,可以利用LFSR的移位運算與計數,找出「種子」位於該LFSR生成的數據流的位置。
第2A圖繪示線性回授移位暫存器的示意圖,此圖以包括4個暫存器的LFSR作為例子說明,如圖所示,暫存器R3的下一狀態為暫存器R3目前狀態以及暫存器R0目前狀態的XOR運算結果,此圖對應的本原多項式為(x 4+x 3+1)。第2B圖繪示如第2A圖的線性回授移位暫存器所產生資料序列的示意圖,如此位元長度為4的LFSR,可以序列產生長度為(24-1)=15的MLS。第2A圖所繪示的僅是一種LFSR的實作方式,此例中是向右移位的架構,於其他實施例中,LFSR亦可以使用向左移位的架構,
其操作原理類似,於此不再重複贅述。
如前所述,對於偵測長度很長的光學尺,若使用LFSR解碼則可能速度過於緩慢,使用LUT則可能所需硬體空間過大不利於降低成本,因此本發明提出一種混合式的解碼架構,以達成兼顧計算時間與硬體面積的優點。
第3圖繪示依照本發明一實施例的解碼裝置示意圖。定位絕對碼的解碼裝置1,包括線性回授移位暫存器100、查表電路102、計數器104、以及計算電路106。線性回授移位暫存器100包括n個暫存器,n個暫存器以第一頻率f1載入定位絕對碼X,並根據時脈信號CLK進行移位運算,時脈信號CLK具有第二頻率f2,第二頻率f2不小於第一頻率f1。查表電路102根據n個暫存器儲存的值,對應輸出查表結果值Y以及查表有效旗標VF,其中查表結果值Y具有k種不同資料,k≦(2n-1),查表有效旗標VF指示查表結果值Y是否有效(valid)。計數器104根據查表有效旗標VF進行重置(reset),並且根據時脈信號CLK進行計數運算以產生計數結果值C。當查表有效旗標VF指示為有效時,計算電路106根據查表結果值Y以及計數結果值C計算產生解碼結果Z。以下詳細說明各元件及相關操作情形。
線性回授移位暫存器100包括n個暫存器,暫存器例如可由具有預置(preset)功能的D型正反器(flip flop)實現,線性回授移位暫存器100可藉由預置D型正反器,將光學感測器讀取到的定位絕對碼X載入n個暫存器當中,作為n個暫存器的初始值,定位絕對碼X例如是具有n個位元的信號。此載入定位絕對碼X的動作可以操作於第一頻率f1,例如相關於所需求的光學
量測頻率。舉例而言,對於運動速度20m/s,以10μm週期變換來運算,第一頻率f1可以設定為2MHz,亦即,對於此解碼裝置1,解碼的運算頻寬需大於2MHz。
查表電路102根據n個暫存器儲存的值進行查表,查表電路102內部可以儲存「部分的」線性回授移位暫存器100所序列產生的資料。舉例而言,線性回授移位暫存器100可產生長度為(2n-1)的MLS,則查表電路102可儲存完整的(2n-1)筆資料,或是這(2n-1)筆資料其中的k筆資料所對應的位置資訊,k≦(2n-1)。亦即,當線性回授移位暫存器100載入定位絕對碼X之後,使用定位絕對碼X不一定能從查表電路102找到對應的查表結果,因此查表電路102更包括一輸出接腳查表有效旗標VF,用以指示目前輸出的查表結果值Y是否有效。
由於查表電路102可以僅存有部分MLS所對應的位置資訊,能夠有效減少查表電路102所需的硬體面積。若定位絕對碼X能夠從查表電路102找到對應的位置資訊時,解碼動作即已完成,可以根據查表結果值Y輸出位置資訊。反之,若定位絕對碼X無法從查表電路102找到對應的位置資訊時,輸出的查表有效旗標VF指示為無效,則計算電路106可以先不輸出結果,解碼動作尚未完成,此時可由線性回授移位暫存器100以及計數器104繼續後續的解碼操作運算。
在查表有效旗標VF指示為無效的情況下,線性回授移位暫存器100可以根據時脈信號CLK進行位移運算,將n個暫存器改變為下一狀態,根據位移運算後的結果再次進行查表,並且可重複進行如此的位移運算,直到在查表電路102成功找到
資料,輸出的查表有效旗標VF指示為有效為止。於此同時,計數器104可以進行計數而得到計數結果值C,以計算在上述的過程中,線性回授移位暫存器100進行了幾次位移運算。此計數結果值C相當於代表從起始的定位絕對碼X,要再經過幾次位移運算後,才可以從查表電路102成功找到對應資料,而找到有效的查表結果值Y。
亦即,定位絕對碼X所真正對應的位置資料,與查表結果值Y之間,具有的差異量為C。因此,當查表有效旗標VF指示為有效時,計算電路106可以根據查表結果值Y以及計數結果值C,例如是透過加法運算(或是減法運算),將查表結果值Y(或是移位後的查表結果值Y、或是查表結果值Y的倍數)加上計算結果值C以產生解碼結果Z。同時,當查表有效旗標VF指示為有效時,表示此次解碼動作已結束,因此可對計數器104進行重置,例如將計算結果值C歸零,以利於下一次的解碼運算。
如上所述,每一次的解碼動作可能需要線性回授移位暫存器100多次的位移運算以及計數器104多次的累加,因此,線性回授移位暫存器100位移運算以及計數器104累加所根據的時脈信號CLK的第二頻率f2,應大於或等於線性回授移位暫存器100載入定位絕對碼X的第一頻率f1。而第一頻率f1與第二頻率f2的關係,則與查表電路102所存的資料間隔相關,若查表電路102所存的資料在偽隨機序列碼中間隔較遠,則代表可能需要經過較多次的線性回授移位暫存器100位移運算以及計數器104累加,才能成功找到資料,因此應給予第一頻率f1與第二頻率f2較大的差異量;反之,若查表電路102所存的資料較多,彼此在偽
隨機序列碼中間隔較近,則可以給予第一頻率f1與第二頻率f2較小的差異量。同理,亦可以根據查表電路102的操作速度,決定查表電路102應儲存的資料間隔。
舉例而言,若第一頻率f1是2MHz,查表電路102找資料的速度可操作於400MHz,考量實際硬體因素以及安全係數範圍,可以將查表電路102所儲存的資料間隔設定為50~100,即線性回授移位暫存器100可以經過至多50~100次位移運算後,成功在查表電路102找到對應的位置資料。
如第3圖所示的解碼裝置1所使用的解碼方法,可參考第12圖所繪示依照本發明一實施例的解碼方法流程圖,此解碼方法包括下列步驟。步驟S400:提供線性反饋移位暫存器,線性反饋移位暫存器包括n個暫存器,以第一頻率f1載入定位絕對碼X。步驟S402:根據時脈信號CLK以線性反饋移位暫存器進行移位運算,時脈信號CLK具有第二頻率f2,第二頻率f2不小於第一頻率f1。步驟S404:使用查表,根據n個暫存器儲存的值,對應輸出查表結果值Y以及查表有效旗標VF,其中查表結果值Y具有k種不同資料,k≦(2n-1),查表有效旗標VF指示查表結果值Y是否有效。步驟S406:根據時脈信號CLK進行計數運算以產生計數結果值C,其中計數結果值C根據查表有效旗標VF進行重置。步驟S408:當查表有效旗標VF指示為有效時,根據查表結果值Y以及計數結果值C計算產生解碼結果Z。
使用如第3圖所示的解碼裝置以及第12圖所示的解碼方法,能夠結合LFSR硬體電路小與LUT速度快的優點。由於查表當中可以僅存有部分的資料,因此可以有效節省電路面積,
而對於查表當中未存的部分,則可以使用LFSR進行位移,直到找到資料為止。由於LUT的查表速度通常遠高於光學尺所需的解碼速度需求,因此使用容量較小的LUT,搭配操作需花費較多時間的LFSR,仍可以不致影響到所需的解碼速度,並能夠降低硬體成本。此外,此架構亦使得電路設計更具有彈性,當電路能夠給予的空間較大,則可以給予LUT較大容量,以加快速度;而當解碼速度的需求較為寬鬆,則可以給予LFSR較大長度,以降低LUT所需的電路面積。因此,本揭露的解碼裝置及方法於設計上具有彈性,可適用於多種應用的光學尺。
第4圖繪示依照本發明一實施例的解碼裝置示意圖。與第3圖所示的實施例相較,此例中的解碼裝置2更包括時脈開關電路108。時脈開關電路108可根據原始時脈信號O_CLK及查表有效旗標VF產生閘控時脈信號(gated clock),並以閘控時脈信號作為傳送到線性回授移位暫存器100以及計數器104的時脈信號CLK。此時脈開關電路108可以在查表有效旗標VF指示為有效時(相當於代表解碼已完成),停止時脈輸出,使得時脈信號CLK停止振盪,如此線性回授移位暫存器100不再進行位移,且計數器104亦停止計數,如此更可確保解碼裝置2的運作正確,且由於解碼完成後,線性回授移位暫存器100及計數器104即相當於休息狀態,而能夠達到降低電路功率消耗的優點。
在一實施例中,線性回授移位暫存器100可彈性的控制抽頭位置以及編碼位元數,例如線性回授移位暫存器100可根據第一控制資料A改變位元長度,並可根據第二控制資料B改變回授點位置,即改變所使用的多項式。使用如此的線性回授移
位暫存器100,可以用一種讀頭硬體設計,符合多種版本尺身圖案解碼的需求,即以單一硬體同時滿足不同長度、不同解析度的應用需求。LFSR的電路實作可以選擇使用Galois架構或是Fibonacci架構,以下分別說明在這兩種架構之下,相關於彈性控制抽頭位置以及編碼位元數的控制電路實作方式。
第5A圖繪示依照本發明一實施例的彈性線性回授移位暫存器示意圖,此例中是使用右移的Galois架構,並以n=4作為範例說明。線性回授移位暫存器100_G包括n個暫存器R(1)~R(n)、回授多工器200、(n-1)個運算邏輯電路CalG(1)~CalG(n-1)。回授多工器200具有多個輸入端、一選擇控制端、及一輸出端,其中回授多工器200的選擇控制端耦接第一控制資料A,回授多工器200的多個輸入端分別耦接n個暫存器R(1)~R(n)的輸出端(例如是D型正反器的Q腳位)。第i(1≦i≦n-1)個運算邏輯電路CalG(i)根據第二控制資料B的第i個區段B(i),將第i個暫存器R(i)的輸入端(例如是D型正反器的D腳位)選擇性地耦接至下列接腳的其中之一:回授多工器200的輸出端、第(i+1)個暫存器R(i+1)的輸出端、以及回授多工器200的輸出端與第(i+1)個暫存器R(i+1)的輸出端執行邏輯互斥或(XOR)的運算結果。
第5B圖繪示如第5A圖當中運算邏輯電路的示意圖,第5B圖所示為一種範例的實作方式,當然本發明並不限於此。在此例中,運算邏輯電路CalG包括多工器210以及XOR閘212。第i個運算邏輯電路CalG(i)的多工器210(i)根據第二控制資料B的第i個區段B(i)(可包括多個位元)從三個輸入中選擇其中一個輸出。
根據第5A圖所示的例子,可以由第二控制資料B而決定每個暫存器的輸入是否直接連接到前一級暫存器,或是有經過回授信號XOR運算的結果,相當於決定LFSR的抽頭位置,即決定了使用的多項式。而第一控制資料A的位元寬度可相關於回授多工器200的輸入數量,以n=4為例,回授多工器200是四對一的多工器,則第一控制資料A可以是2位元的控制信號,以從四個輸入中選擇其中一個輸出,回授多工器200決定從哪一個暫存器作回授,即決定了串聯的暫存器數量。因此,第5A圖所示的線性回授移位暫存器100_G,可根據第一控制資料A改變位元長度,並根據第二控制資料B改變回授點位置。
第6A圖繪示依照本發明一實施例的彈性線性回授移位暫存器示意圖,此例中是使用右移的Fibonacci架構,並以n=4作為範例說明。線性回授移位暫存器100_F包括n個暫存器R(1)~R(n)、(n-1)個運算邏輯電路CalF(1)~CalF(n-1)、(n-2)個切換開關S(1)~S(n-2)。
第6B圖繪示如第6A圖運算邏輯電路的示意圖。第i個運算邏輯電路CalF(i)包括多工器310(i)以及邏輯互斥或(XOR)閘312(i),多工器310(i)具有第一輸入端、第二輸入端、控制選擇端、及輸出端,邏輯互斥或閘312(i)具有第一輸入端、第二輸入端、及輸出端,多工器310(i)的第一輸入端耦接邏輯互斥或閘312(i)的輸出端,多工器310(i)的第二輸入端耦接邏輯互斥或閘312(i)的第二輸入端,多工器310(i)的選擇控制端耦接第二控制信號B的第i個區段B(i)(可以是1個位元),邏輯互斥或閘312(i)的第一輸入端耦接第(i+1)個暫存器R(i+1)的輸出端。
第i個切換開關S(i)根據第一控制資料A的第i個區段A(i)(可以是1個位元),將第(i+1)個暫存器R(i+1)的輸入端選擇性地耦接至下列接腳的其中之一:第(i+2)個暫存器R(i+2)的輸出端,以及第i個運算邏輯電路CalF(i)的多工器310(i)的輸出端。其中若i=1,第i個運算邏輯電路CalF(i)的邏輯互斥或閘312(i)的第二輸入端耦接第i個暫存器R(i)的輸出端;若2≦i≦n-1,第i個運算邏輯電路CalF(i)的邏輯互斥或閘312(i)的第二輸入端耦接第(i-1)個運算邏輯電路CalF(i-1)的多工器的輸出端。
根據第6A圖所示的例子,第二控制資料B決定每個暫存器的輸出是否會經過由回授路徑(由運算邏輯電路CalF串聯形成)的XOR運算,相當於決定LFSR的抽頭位置,即決定了使用的多項式。而第一控制資料A可以控制暫存器之間斷開的位置,在何處形成回授,即決定了串聯的暫存器數量。因此,第6A圖所示的線性回授移位暫存器100_F,可根據第一控制資料A改變位元長度,並根據第二控制資料B改變回授點位置。
在Fibonacci架構中,由於運算邏輯電路CalF形成的回授路徑包括多個串聯的XOR閘,成為電路延遲的關鍵路徑(critical path),此計算路徑存在於第一個暫存器與最後一個暫存器之間。相較之下,在Galois架構中,每個暫存器之間至多僅會經過一個運算邏輯電路CalG(包括一個XOR閘),因此關鍵路徑較短,可使得電路操作於較高的頻率。對於有較高速需求的應用,可以選擇使用Galois架構的LFSR。
以下詳細說明查表電路102所存的資料。第7圖繪示依照本發明一實施例的對LFSR所產生資料序列以固定間隔進
行取樣的示意圖,此處以n=4為例說明,LFSR使用本原多項式序列產生MLS的長度為15(=2n-1),MLS中每一個碼所對應的位置資訊如第7圖所示,是依序由0001排列到1111。而查表電路102可儲存第7圖此表格中的部分內容。舉例而言,查表電路102所儲存的k種資料,是以固定間隔m對(2n-1)個數據取樣而決定。如第7圖所示的例子,此固定間隔m=4,因此查表電路102可以成功找到定位絕對碼{1000}、{0111}、{1101}、{0100}所對應的位置資訊(如第7圖中深色的部分),若是LFSR暫存器的狀態並非屬於這四種,則查表電路102無法成功找到資料,所輸出的查表有效旗標VF會指定為無效。
承接第7圖所示的例子,第8圖繪示依照本發明一實施例的查表電路的資料對應關係示意圖。由於查表電路102僅儲存有4筆資料,因此對應的資料不需要儲存全部的位元,在此例中,僅需儲存位置資訊從最高有效位(Most significant bit,MSB)數來的兩個位元,即足以代表4筆不同資料,如第8圖資料欄所示的儲存兩個位元即可。而在執行解碼時,可在讀取查表結果值Y之後,將查表結果值Y左移位2位元,再於最低有效位(Least significant bit,LSB)的兩位元補上01,即可還原原始的位置資訊。
在一實施例中,固定間隔m的長度是2p,p為小於n的正整數,如第7圖以及第8圖所示的例子,n=4,p=2。以長度為2p的固定間隔進行取樣的優點為,可以直接截斷靠近LSB的p個位元,如第8圖所示的例子,是直接將第7圖的位置資訊靠近LSB的p個位元截斷。而在解碼還原時,亦可以直接將查表
結果值Y左位移p個位元即可。而截斷p個位元使得原始完整位置資訊所缺少的p個位元資訊,則可以由計數器104補上,亦即計數器104可以是p個位元的計數器,計算電路106可將查表結果值Y左位移p個位元後,加上計數器104所產生的p個位元的計數結果值C,以得到解碼結果Z。
如第7圖以及第8圖所示的例子,藉由使用固定間隔m=2p進行取樣,可以有效將查表的尺寸縮小為原本的(1/m),所截斷的p個位元越多,查表的尺寸可以越小。舉例而言,對於具有212個刻度的光學尺,可以藉由固定間隔m=24進行取樣,如此查表的尺寸可以縮小為1/16倍,大幅減少電路面積。當然,此處以m等於2的冪次方作為間隔取樣僅為示例性說明,於實作中m也可以是例如10、50、100等等的正整數。執行解碼時,計算電路106可將查表結果值Y乘以m之後,加上計數器104所產生的計數結果值C,以得到解碼結果Z。
查表電路102輸出查表結果值Y以及查表有效旗標VF,其電路實作可以有多種方式。舉例而言,查表電路102可以包括判斷電路,當查表電路102根據n個暫存器儲存的值無法成功找到對應的查表資料時,查表結果值Y為一預設輸出值Q,判斷電路可以藉由判斷預設輸出值Q及查表結果值Y是否相等,以產生查表有效旗標VF。在另一實施例中,當查表電路102無法成功找到對應的查表資料時,查表結果值Y可以維持前一個時脈所輸出的查表結果值Y。
查表電路102可由記憶體電路實作,如第8圖的例子所示,當輸入記憶體的位址時,找到對應的資料。而由於查表
電路102所儲存的資料是經過取樣後的不連續資料,位址資訊並非規則性排列,且輸入的位址位元數與輸出的資料位元數可能不相等,因此在一實施例中,查表電路102可以藉由組合邏輯電路(combinational circuit)實現。
第9圖繪示依照本發明一實施例的查表電路的真值表(truth table)示意圖。此範例是承接第7圖及第8圖,對於取樣的資料(表格中的深色部分),查表有效旗標VF設定為1,查表結果值Y則如同第8圖所示。而對於沒有取樣的資料(表格中的淺色部分),查表有效旗標VF設定為0,查表結果值Y則可以是隨意項x(don’t care term)。如第9圖所示的真值表,是4個輸入與3個輸出(查表結果值Y具有2位元、查表有效旗標VF具有1位元)的對應關係,可以由邏輯合成技術完成相對應的組合邏輯電路,由於具有隨意項x的彈性而能夠達到邏輯閘數量的最佳化。組合邏輯電路沒有記憶效應,可根據當下的輸入決定輸出的結果,並且可以針對特定的查表需求,而完成節省電路面積的硬體實現方式。
在一實施例中,查表電路102可以使用可程式邏輯陣列(programmable logic array,PLA)實現,因此可以實現多種輸入(查表位址)與輸出(查表結果值Y及查表有效旗標VF)的對應關係,第10圖繪示依照本發明一實施例的查表電路的電路實作示意圖,PLA可實現多樣化的組合邏輯,可以根據實際的查表內容,控制第10圖範例中的開關切換。
以下使用一個範例說明本揭露的解碼裝置及方法於時序上的操作情形。第11圖繪示依照本發明一實施例的解碼過程
示意圖。在時間t0時,線性回授移位暫存器100載入的定位絕對碼X是0101,查表電路102無法找到此資料,因此查表有效旗標VF指示為無效,線性回授移位暫存器100進行位移運算,計數器104開始累加。時間t1時,經過位移後的線性回授移位暫存器100儲存的資料為1011,查表電路102仍然無法找到此資料,查表有效旗標VF指示還是無效,此時計數結果值為1。
時間t2時,再次經過位移後的線性回授移位暫存器100儲存的資料為0111,查表電路102成功找到此資料,對應的查表結果值Y例如是01,此時計數結果值C為2。由於查表有效旗標VF指示為有效,計算電路106可將查表結果值Y左位移2位元(或乘以4),並可補上原本截斷的2位元(“01”),再加上計數結果值C=2,而得到解碼結果Z=0101(01左位移2位元後補上01)+0010(2的二進位表示)=0111。可參考第7圖,當定位絕對碼X=0101時,對應的位置資訊即為0111。
此時解碼動作已完成,計算電路106已成功輸出解碼結果Z,因此計算電路106可適當控制以使得後續時間的電路動作不再影響輸出結果。而如第4圖所示的實施例,解碼裝置2包括有時脈開關電路108,則可以在時間t3開始時,停止時脈信號振盪,使得線性回授移位暫存器100以及計數器104停止運算,確保電路工作正確,並且能夠減少功率消耗。
綜上所述,雖然本發明已以多個實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為
準。
1‧‧‧解碼裝置
100‧‧‧線性回授移位暫存器
102‧‧‧查表電路
104‧‧‧計數器
106‧‧‧計算電路
C‧‧‧計數結果值
CLK‧‧‧時脈信號
VF‧‧‧查表有效旗標
X‧‧‧定位絕對碼
Y‧‧‧查表結果值
Z‧‧‧解碼結果
Claims (17)
- 一種定位絕對碼的解碼裝置,該解碼裝置包括:一線性回授移位暫存器,包括n個暫存器,該n個暫存器以一第一頻率載入一定位絕對碼,並根據一時脈信號進行移位運算,該時脈信號具有一第二頻率,該第二頻率不小於該第一頻率;一查表電路,根據該n個暫存器儲存的值,對應輸出一查表結果值以及一查表有效旗標,其中該查表結果值具有k種不同資料,k≦(2n-1),該查表有效旗標指示該查表結果值是否有效;一計數器,根據該查表有效旗標進行重置,並且根據該時脈信號進行計數運算以產生一計數結果值;以及一計算電路,當該查表有效旗標指示為有效時,該計算電路根據該查表結果值以及該計數結果值計算產生一解碼結果。
- 如申請專利範圍第1項所述之解碼裝置,更包括一時脈開關電路,該時脈開關電路根據一原始時脈信號及該查表有效旗標產生一閘控時脈信號,並以該閘控時脈信號作為該時脈信號。
- 如申請專利範圍第1項所述之解碼裝置,其中該線性回授移位暫存器根據一第一控制資料改變位元長度,根據一第二控制資料改變回授點位置。
- 如申請專利範圍第3項所述之解碼裝置,其中該線性回授移位暫存器更包括:一回授多工器,具有複數個輸入端、一選擇控制端、及一輸出端,其中該回授多工器的該選擇控制端耦接該第一控制資料, 該回授多工器的該複數個輸入端分別耦接該n個暫存器的輸出端;以及(n-1)個運算邏輯電路,其中的第i個運算邏輯電路根據該第二控制資料的第i位元,將第i個暫存器的輸入端選擇性地耦接至下列接腳的其中之一:該回授多工器的該輸出端、第(i+1)個暫存器的輸出端、以及該回授多工器的該輸出端與第(i+1)個暫存器的輸出端執行邏輯互斥或的運算結果。
- 如申請專利範圍第3項所述之解碼裝置,其中該線性回授移位暫存器更包括:(n-1)個運算邏輯電路,其中的第i個運算邏輯電路包括一多工器以及一邏輯互斥或閘,該多工器具有一第一輸入端、一第二輸入端、一控制選擇端、及一輸出端,該邏輯互斥或閘具有一第一輸入端、一第二輸入端、及一輸出端,該多工器的該第一輸入端耦接該邏輯互斥或閘的該輸出端,該多工器的該第二輸入端耦接該邏輯互斥或閘的該第二輸入端,該多工器的該選擇控制端耦接該第二控制信號的第i位元,該邏輯互斥或閘的該第一輸入端耦接第(i+1)個暫存器的輸出端;以及(n-2)個切換開關,其中第i個切換開關根據該第一控制資料的第i位元,將第(i+1)個暫存器的輸入端選擇性地耦接至下列接腳的其中之一:第(i+2)個暫存器的輸出端,以及第i個運算邏輯電路的該多工器的該輸出端;其中若i=1,第i個運算邏輯電路的該邏輯互斥或閘的該第二 輸入端耦接第i個暫存器的輸出端,若2≦i≦n-1,第i個運算邏輯電路的該邏輯互斥或閘的該第二輸入端耦接該第(i-1)個運算邏輯電路的該多工器的該輸出端。
- 如申請專利範圍第1項所述之解碼裝置,其中該線性回授移位暫存器使用一本原多項式以序列產生(2n-1)個數據,該k種不同資料是根據一固定間隔對該(2n-1)個數據取樣而決定。
- 如申請專利範圍第6項所述之解碼裝置,其中該固定間隔的長度是2p,p為小於n的正整數。
- 如申請專利範圍第1項所述之解碼裝置,其中該查表電路包括一判斷電路,當該查表電路根據該n個暫存器儲存的值無法成功找到對應的查表資料時,該查表結果值為一預設輸出值,該判斷電路判斷該預設輸出值及該查表結果值是否相等以產生該查表有效旗標。
- 如申請專利範圍第1項所述之解碼裝置,其中該查表電路是一組合邏輯電路。
- 如申請專利範圍第1項所述之解碼裝置,其中該計算電路根據該查表結果值及該計數結果值執行加法運算以產生該解碼結果。
- 一種定位絕對碼的解碼方法,包括:提供一線性回授移位暫存器,包括n個暫存器,該n個暫存器以一第一頻率載入一定位絕對碼;根據一時脈信號以該線性回授移位暫存器進行移位運算,該 時脈信號具有一第二頻率,該第二頻率不小於該第一頻率;使用一查表,根據該n個暫存器儲存的值,對應輸出一查表結果值以及一查表有效旗標,其中該查表結果值具有k種不同資料,k≦(2n-1),該查表有效旗標指示該查表結果值是否有效;根據該時脈信號進行計數運算以產生一計數結果值,其中該計數結果值根據該查表有效旗標進行重置;以及當該查表有效旗標指示為有效時,根據該查表結果值以及該計數結果值計算產生一解碼結果。
- 如申請專利範圍第11項所述之解碼方法,更包括:根據一原始時脈信號及該查表有效旗標產生一閘控時脈信號,並以該閘控時脈信號作為該時脈信號。
- 如申請專利範圍第11項所述之解碼方法,更包括:根據一第一控制資料改變該線性回授移位暫存器的位元長度;以及根據一第二控制資料改變該線性回授移位暫存器的回授點位置。
- 如申請專利範圍第11項所述之解碼方法,其中該線性回授移位暫存器使用一本原多項式以序列產生(2n-1)個數據,該k種不同資料是根據一固定間隔對該(2n-1)個數據取樣而決定。
- 如申請專利範圍第14項所述之解碼方法,其中該固定間隔的長度是2p,p為小於n的正整數。
- 如申請專利範圍第11項所述之解碼方法,其中當該查表 電路根據該n個暫存器儲存的值無法成功找到對應的查表資料時,該查表結果值為一預設輸出值,該解碼方法更包括判斷該預設輸出值及該查表結果值是否相等以產生該查表有效旗標。
- 如申請專利範圍第11項所述之解碼方法,其中根據該查表結果值以及該計數結果值計算產生該解碼結果的步驟,是根據該查表結果值及該計數結果值執行加法運算。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/395,344 US10243668B2 (en) | 2016-04-27 | 2016-12-30 | Positioning measurement device and the method thereof |
US15/395,843 US9871595B2 (en) | 2016-04-27 | 2016-12-30 | Decoding device and method for absolute positioning code |
CN201710288921.6A CN107314780B (zh) | 2016-04-27 | 2017-04-27 | 定位绝对码的解码装置及解码方法 |
CN201710288206.2A CN107314743B (zh) | 2016-04-27 | 2017-04-27 | 定位感测装置及方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662328599P | 2016-04-27 | 2016-04-27 | |
US62/328,599 | 2016-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201739173A true TW201739173A (zh) | 2017-11-01 |
TWI623200B TWI623200B (zh) | 2018-05-01 |
Family
ID=61022894
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105133434A TWI623200B (zh) | 2016-04-27 | 2016-10-17 | 定位絕對碼的解碼裝置及解碼方法 |
TW105134040A TWI659194B (zh) | 2016-04-27 | 2016-10-21 | 定位感測裝置及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105134040A TWI659194B (zh) | 2016-04-27 | 2016-10-21 | 定位感測裝置及方法 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI623200B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI689706B (zh) * | 2018-12-21 | 2020-04-01 | 財團法人工業技術研究院 | 定位感測處理裝置 |
US10742183B2 (en) | 2018-12-21 | 2020-08-11 | Industrial Technology Research Institute | Processing device for position sensing comprising a transforming differential current signal to a voltage signal performance |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572019A (en) * | 1991-03-12 | 1996-11-05 | Canon Kabushiki Kaisha | Encoder with varying width light receiver and apparatus having the encoder |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
JPH09196705A (ja) * | 1996-01-23 | 1997-07-31 | Mitsutoyo Corp | 変位測定装置 |
US6577678B2 (en) * | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US6594317B2 (en) * | 2001-07-27 | 2003-07-15 | Motorola, Inc | Simple encoding/decoding technique for code position modulation |
DE10217726A1 (de) * | 2002-04-17 | 2003-11-27 | Heidenhain Gmbh Dr Johannes | Optische Positionsmesseinrichtung |
US20070024865A1 (en) * | 2005-07-26 | 2007-02-01 | Mitchell Donald K | Optical encoder having slanted optical detector elements for harmonic suppression |
JP4724495B2 (ja) * | 2005-08-29 | 2011-07-13 | キヤノン株式会社 | 光学式エンコーダ |
KR100841285B1 (ko) * | 2006-09-18 | 2008-06-25 | 주식회사 펜래버레토리 | 표면상에 절대 위치 표시 패턴을 갖는 제조물 및 그 절대위치 표시 패턴의 형성 방법 |
US9036683B2 (en) * | 2008-10-02 | 2015-05-19 | Texas Instruments Incorporated | Mitigation circuitry generating cross correlation doppler/code LAG variable comparison value |
TWI402684B (zh) * | 2009-10-22 | 2013-07-21 | Via Tech Inc | 通用串列匯流排裝置以及其校正方法 |
JP5755009B2 (ja) * | 2011-04-14 | 2015-07-29 | キヤノン株式会社 | エンコーダ |
-
2016
- 2016-10-17 TW TW105133434A patent/TWI623200B/zh active
- 2016-10-21 TW TW105134040A patent/TWI659194B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201738533A (zh) | 2017-11-01 |
TWI659194B (zh) | 2019-05-11 |
TWI623200B (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107314780B (zh) | 定位绝对码的解码装置及解码方法 | |
JP3592376B2 (ja) | 時間間隔測定装置 | |
US4906992A (en) | Single track absolute encoder | |
JP2004507824A (ja) | 双方向対称に分布した計数を有する2進インクリメンタを備えた2の非乗数グレイコード計数システム | |
TWI623200B (zh) | 定位絕對碼的解碼裝置及解碼方法 | |
Das et al. | A simple approach to design a binary coded absolute shaft encoder | |
KR950010385B1 (ko) | 절대치 인코더 | |
RU2439667C1 (ru) | Процессор повышенной достоверности функционирования | |
US8201060B2 (en) | Methods and systems for rapid error correction of Reed-Solomon codes | |
JPH1073681A (ja) | 時間測定システム及びその時間測定方法 | |
JP3203909B2 (ja) | A/d変換装置 | |
Denic et al. | Code reading synchronization method for pseudorandom position encoders | |
JP5481836B2 (ja) | カウンタ回路、カウンタ回路の制御方法 | |
KR100188147B1 (ko) | 주기적 여유 코드를 이용한 오류검출회로 | |
CN1987800A (zh) | 编码电路及数字信号处理电路 | |
Borowik et al. | Theory of digital automata | |
RU102407U1 (ru) | Процессор эвм | |
KR100954951B1 (ko) | 카운팅 회로 및 이를 이용한 어드레스 카운터 | |
WO2023028967A1 (zh) | 绝对式位置测量装置 | |
JP2665268B2 (ja) | サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器 | |
CN113686365B (zh) | 绝对式位置测量装置 | |
RU2502121C2 (ru) | Самоконтролируемый автомат | |
CN112947895B (zh) | 位置读数获得方法、装置、编码器以及存储介质 | |
CN109163743B (zh) | 一种二维绝对位置测量传感器的编码及解码算法 | |
SU401994A1 (ru) | УСТРОЙСТВО дл ОПРЕДЕЛЕНИЯ МИНОРАНТ ДВОИЧНЫХ КОДОВ |