• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      格雷碼的來源以及格雷碼的應(yīng)用

      2017-03-14 22:55:22梅媛沈祖斌
      科技視界 2016年27期
      關(guān)鍵詞:毛刺

      梅媛 沈祖斌

      【摘 要】簡述了格雷碼的來源和發(fā)展歷史,介紹了格雷碼的軸角編碼器的輸出原理,以及格雷碼的兩大特點,一是數(shù)與數(shù)之間都只發(fā)生一位跳變,二是在利用格雷碼計數(shù)器時會降低功耗。另外介紹了格雷碼與二進(jìn)制之間的兩種轉(zhuǎn)換方法:公式法和查表法;以及格雷碼計數(shù)器的應(yīng)用中出現(xiàn)的毛刺狀態(tài)和格雷碼計數(shù)器的應(yīng)用原理。

      【關(guān)鍵詞】格雷碼;格雷碼計數(shù)器;毛刺;軸角編碼器

      1 格雷碼來源

      格雷編碼在被工程師所熟知之前一直應(yīng)用于機(jī)械應(yīng)用。1878年,法國工程師Emile Baudot在運(yùn)用電報的過程中使用了格雷編碼。他因此也獲得了法國榮譽(yù)軍團(tuán)勛章。但是在當(dāng)時格雷編碼并不適用于所有地方,比如脈沖編碼調(diào)制的原則就不符合格雷編碼的原理。

      Frank Gray ,貝爾實驗室的研究員,發(fā)明了一種方法使用真空座裝置將模擬信號轉(zhuǎn)化為格雷編碼。1953年,這個方法和裝置被Frank Gray申請專利,于是這個編碼被命名為格雷碼[1]。其中利用了軸角編碼器將格雷碼輸出,編碼器是附接到旋轉(zhuǎn)軸的圓盤,圓盤包含了對于二進(jìn)制1是透明的區(qū)域和對于二進(jìn)制0是不透明的區(qū)域,光源放置在圓盤的一側(cè),傳感器在圓盤另一側(cè)。當(dāng)光源和傳感器之間出現(xiàn)清晰的區(qū)域時,傳感器以二進(jìn)制1輸出;出現(xiàn)不透明區(qū)域時,傳感器以二進(jìn)制0輸出。

      格雷碼是一種無權(quán)碼,其編碼特點是任意兩相鄰代碼間只有一位數(shù)碼不同,這對數(shù)碼的傳輸有很大的幫助,因為他大大減少了由一個狀態(tài)到下一個狀態(tài)時電路中的模糊狀態(tài),提高了電路的抗干擾能力,所以格雷碼是一種錯誤最小化的編碼。

      格雷碼的顯著特點是所表示的數(shù)遞增時不發(fā)生較大誤差。例如,當(dāng)十六進(jìn)制數(shù)由7變?yōu)?時,若采取的是二進(jìn)制碼,則其編碼將由0111變?yōu)?000。此時,四位二進(jìn)制狀態(tài)都發(fā)生變化,對于實現(xiàn)二進(jìn)制碼的具體設(shè)備而言,其四位設(shè)備狀態(tài)不可能同時發(fā)生改變,于是有可能出現(xiàn)下列情況:7(0111),5(0101),4(0100),12(1100),8(1000)。盡管最終結(jié)果是從7(0111)變到8(1000),但出現(xiàn)錯誤的中間轉(zhuǎn)換過程。若無措施禁止這些中間錯誤輸出,則會發(fā)生較大誤差。若采用格雷碼,則不會產(chǎn)生這種誤差。因當(dāng)十六進(jìn)制數(shù)由7變?yōu)?時,其對應(yīng)的格雷碼將從0100變?yōu)?100,只有一位二進(jìn)制數(shù)發(fā)生改變,也無中間錯誤結(jié)果出現(xiàn)。

      格雷碼的另一個特點是在工作計數(shù)狀態(tài)時,每次都只有一位發(fā)生跳變,跳變的次數(shù)遠(yuǎn)遠(yuǎn)少于二進(jìn)制計數(shù)器,所以使用格雷碼計數(shù)器可以大大降低系統(tǒng)的功耗。對于表1,我們很清楚的看出來,在從0-8的轉(zhuǎn)變中,格雷碼計數(shù)器發(fā)生了8位改變,而二進(jìn)制計數(shù)器發(fā)生了14位的改變。因此,如果采用CMOS電路,功耗主要產(chǎn)生在電路狀態(tài)的切換處,在格雷碼的計數(shù)器輸出端消耗的功率僅為二進(jìn)制計數(shù)器輸出消耗的功率的57%。

      表1 二進(jìn)制計數(shù)器和格雷碼計數(shù)器的比較

      2 格雷碼與二進(jìn)制碼的轉(zhuǎn)換

      因為格雷碼是一種無權(quán)碼,并且在工程上有廣泛的應(yīng)用,這都要進(jìn)行格雷碼和二進(jìn)制碼的轉(zhuǎn)換。通過軟件轉(zhuǎn)換則會降低運(yùn)算速度,用硬件方法轉(zhuǎn)換數(shù)據(jù),使數(shù)據(jù)能得到即時轉(zhuǎn)換,運(yùn)算過程較為簡捷,加快了處理速度。用異或邏輯門芯片及電阻網(wǎng)絡(luò)組成轉(zhuǎn)換電路很容易實現(xiàn)格雷碼和二進(jìn)制碼的轉(zhuǎn)換,但成本比較高。因此在對速度要求不是很高的地方一般都用軟件方法來實現(xiàn)。

      軟件轉(zhuǎn)換有多種方法:

      2.1 公式法

      格雷碼轉(zhuǎn)換為二進(jìn)制碼的算法則較為繁瑣,如下:

      Rn為n位的格雷碼,Cn為轉(zhuǎn)換后的二進(jìn)制碼

      Cn = Rn

      Cn-1 = Rn⊕Rn-1

      Cn-2 =Rn⊕Rn-1⊕Rn-2

      ……

      C1 = Rn⊕Rn-1⊕Rn-2⊕…⊕R2⊕R1,

      C0 = Rn⊕Rn-1⊕Rn-2⊕…⊕R2⊕R1⊕R0

      2.2 查表法

      最簡單的一種方法,根據(jù)傳輸位數(shù),建立二進(jìn)制碼和格雷碼一一對應(yīng)的表格,例如列出一個長度為2048個碼組的各類碼表,每組碼的長度為11位,為方便查表,每一碼組占用兩個字節(jié),碼表共占用4KB的程序空間。程序設(shè)計的核心是通過循環(huán)查表指令把格雷碼轉(zhuǎn)換為二進(jìn)制碼,再將二進(jìn)制碼轉(zhuǎn)換成BCD碼和顯示碼,但如果碼組太多,系統(tǒng)的程序空間也會相應(yīng)增大,單片機(jī)必須擴(kuò)展外部程序存儲器。同時查表指令的循環(huán)次數(shù)也相應(yīng)增加,大大增加了譯碼的時間。

      3 格雷碼的應(yīng)用

      從廣義上來說,寄存器是由一系列的觸發(fā)器和組合門電路組成,用來執(zhí)行數(shù)據(jù)處理任務(wù)。觸發(fā)器保存數(shù)據(jù),組合門電路是確定要傳送到觸發(fā)器中的新的或變換的數(shù)據(jù)。而計數(shù)器是在施加時鐘脈沖時經(jīng)過預(yù)定的狀態(tài)序列的寄存器,他的門電路以產(chǎn)生規(guī)定的二進(jìn)制狀態(tài)序列的方式連接。

      計數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計算機(jī)的控制器中對指令地址進(jìn)行計數(shù),以便順序取出下一條指令;在數(shù)字儀器中對脈沖的計數(shù)等等。計數(shù)器可以用來顯示產(chǎn)品的工作狀態(tài),一般來說主要是用來表示產(chǎn)品已經(jīng)完成了多少份的折頁配頁工作。它主要的指標(biāo)在于計數(shù)器的位數(shù)。

      在實際應(yīng)用中,二進(jìn)制計數(shù)器是最廣泛應(yīng)用的一種方法,它可以在電路設(shè)計中被調(diào)用來實現(xiàn)系統(tǒng)在一定時間間隔后完成動作,但是二進(jìn)制計數(shù)器的進(jìn)位過程會出現(xiàn)一些中間狀態(tài)。在表一中我們很清楚的了解二進(jìn)制在碼值變化的時候位數(shù)的變化情況。在我們的邏輯思維里,如4位異步串行二進(jìn)制計數(shù)器進(jìn)位期間讀數(shù)由0111變化到1000時,0->1、1->0、1->0、1->0這四位的變化是同時進(jìn)行的,但是在實際的物理器件中,在信號變化的瞬間,組合邏輯的輸出有先后順序,這四位并不是同時變化,往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為“毛刺”。電路低速運(yùn)行的時候,這些毛刺不能被檢測到,對后續(xù)電路不會有影響,但是電路高速運(yùn)行的時候,這些毛刺就不能被忽視,這就有可能會得到0110、0100和0000三個錯誤數(shù)值。由此可以看出,用二進(jìn)制計數(shù)器是有可能在數(shù)據(jù)變化中有較大的毛刺產(chǎn)生。

      而計數(shù)器在整個系統(tǒng)被頻繁的調(diào)用,所以對計數(shù)器的要求是要求非常準(zhǔn)確的。正如前文所述,格雷碼的特點就是相鄰兩個數(shù)值之間只有一位發(fā)生跳變,那么可以采用格雷碼計數(shù)器代替二進(jìn)制計數(shù)器,即利用格雷碼計數(shù)時每次計數(shù)變化只有一位的輸出電平發(fā)生翻轉(zhuǎn),這樣就可以減少中間的轉(zhuǎn)換過程,有效地避免了毛刺的產(chǎn)生。

      此時可以采用格雷碼計數(shù)器,盡管格雷碼計數(shù)器的設(shè)計比較復(fù)雜,占用的FPGA的內(nèi)部資源更多,但是現(xiàn)在半導(dǎo)體的成本越來越低,并且采用格雷碼計數(shù)器可以大大增強(qiáng)系統(tǒng)的穩(wěn)定性和可靠性。

      根據(jù)格雷碼計數(shù)的特點,格雷碼計數(shù)器的設(shè)計大概思路就是:將相應(yīng)的普通二進(jìn)制碼轉(zhuǎn)換成對應(yīng)的格雷碼。在二進(jìn)制計數(shù)過程中,通過異或關(guān)系將其轉(zhuǎn)換成格雷碼再輸出,而二進(jìn)制數(shù)并不輸出,這樣就得了格雷碼計數(shù)器[2]。從而有效地避免了毛刺的產(chǎn)生,保證了計數(shù)的穩(wěn)定和可靠。

      4 總結(jié)

      簡單的敘述了格雷碼產(chǎn)生的歷史、格雷碼和二進(jìn)制的轉(zhuǎn)換方法以及利用格雷碼的錯誤最小化的特點運(yùn)用于格雷碼計數(shù)器。由于格雷碼計數(shù)的時候只有一位碼數(shù)發(fā)生變化,在計數(shù)時只有一位發(fā)生跳變,減少了毛刺的產(chǎn)生,所以相較于其他計數(shù)器更具有穩(wěn)定性和可靠性。

      關(guān)于格雷碼不僅僅只有錯誤最小化和功耗低的特點,他還有很多其他的性質(zhì),對格雷碼有興趣的學(xué)者可以更加深入的去研究格雷碼。

      【參考文獻(xiàn)】

      [1]Knuth, Donald E. “Generating all n-tuples.” The Art of Computer Programming, Volume 4A: Enumeration and Backtracking, pre-fascicle 2a, October 15, 2004.

      [2]沙燕萍,皇甫偉, 曾烈光.異步FIFO的VHDL設(shè)計[J].電子技術(shù)應(yīng)用,2001;(6):13-17.

      [3]段波.格雷碼及其轉(zhuǎn)換的應(yīng)用[J].國外建材科技,2005(8).

      [4]李莉.基于FPGA的多位格雷碼計數(shù)器[J].科學(xué)技術(shù)與工程,2009(12).

      [5]M.Morris Mano,Charles R.Kime.邏輯與計算機(jī)設(shè)計基礎(chǔ)(英文版·第四版)[M].機(jī)械工業(yè)出版社.

      [責(zé)任編輯:張濤]

      猜你喜歡
      毛刺
      外協(xié)去毛刺——去毛刺機(jī)的最佳替代項
      鈑金與制作(2023年8期)2023-09-23 02:00:54
      航空液壓系統(tǒng)零部件毛刺主動控制技術(shù)
      復(fù)雜鋁合金閥體零件毛刺的控制與去除
      閥芯去毛刺工藝研究
      一種鑄鐵鉆孔新型去毛刺刀具的應(yīng)用
      一種筒類零件孔口去毛刺工具
      柴油機(jī)油道自動去毛刺專機(jī)的設(shè)計
      關(guān)于機(jī)械加工中毛刺的影響分析及其控制探討
      可抑制毛刺的鉆頭結(jié)構(gòu)
      新型銅合金化學(xué)去毛刺劑的研制
      浪卡子县| 秦安县| 沿河| 五华县| 通海县| 全南县| 江山市| 高陵县| 海盐县| 攀枝花市| 长治县| 竹北市| 响水县| 满城县| 永丰县| 鹤庆县| 乌海市| 广宁县| 汉阴县| 承德县| 北宁市| 枣阳市| 荔波县| 疏附县| 太保市| 景宁| 额敏县| 清原| 思茅市| 铜梁县| 海口市| 临武县| 临清市| 淮安市| 汾阳市| 黄骅市| 门头沟区| 务川| 涿州市| 美姑县| 井冈山市|