• 
    

    
    

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

      基于FPGA 的高速印刷品編碼器處理系統(tǒng)設(shè)計

      2023-03-15 09:15:22孫可森
      科技與創(chuàng)新 2023年5期
      關(guān)鍵詞:倍頻寄存器編碼器

      孫可森

      (四川大學(xué)機(jī)械工程學(xué)院,四川 成都 610044)

      工業(yè)現(xiàn)場環(huán)境會給缺陷在線檢測系統(tǒng)帶來噪聲干擾,為提高系統(tǒng)的穩(wěn)定性,降低誤報率,系統(tǒng)必須對周邊噪聲進(jìn)行抑制,其中流水線編碼器就是一個較大噪聲源。當(dāng)前在線檢測系統(tǒng)往往采用將編碼器接入視頻采集卡,由視頻采集卡通過一定的邏輯處理觸發(fā)相機(jī)拍照的方式,但視頻采集卡通常假設(shè)編碼器產(chǎn)生的A/B 相信號是理想信號,忽略了工業(yè)現(xiàn)場環(huán)境的噪聲干擾,常常造成相機(jī)的誤觸發(fā),使得在線檢測系統(tǒng)誤報率較高。為了提高系統(tǒng)的穩(wěn)定性,系統(tǒng)必須對編碼所產(chǎn)生的噪聲進(jìn)行抑制。但視頻采集卡針對編碼器的處理邏輯處于未知狀態(tài),很難通過修改視頻采集卡的程序來提升系統(tǒng)的穩(wěn)定性。

      基于上述考慮,針對編碼器的處理單獨(dú)設(shè)計成系統(tǒng),取代視頻采集卡的部分功能,并在此基礎(chǔ)上擴(kuò)展一些功能模塊,降低缺陷在線檢測系統(tǒng)的誤報率。

      1 系統(tǒng)結(jié)構(gòu)設(shè)計

      1.1 系統(tǒng)整體結(jié)構(gòu)設(shè)計

      印刷品企業(yè)為了提高生產(chǎn)效率,往往將流水線以較高的速度運(yùn)行,速度通常高達(dá)300 m/min,如此高的速度需要在線檢測系統(tǒng)在短時間內(nèi)處理較大的數(shù)據(jù),普通CPU 往往基于馮諾依曼結(jié)構(gòu),對指令的處理通常經(jīng)過取指令、譯碼、運(yùn)算等步驟,并且不同的指令處理時間不同,這就造成了通用芯片對數(shù)字信號的處理效率低下、響應(yīng)時間不能達(dá)到系統(tǒng)要求、脈沖信號的處理時間難以估計等劣勢[1]。不同于普通CPU,F(xiàn)PGA采用可編程的邏輯列陣,具有處理速度快、容易仿真、處理時間可以估算等優(yōu)點(diǎn),因此本此系統(tǒng)設(shè)計選用FPGA 作為主控芯片[2]。根據(jù)系統(tǒng)需要實(shí)現(xiàn)的功能,結(jié)合FPGA 自頂而下的設(shè)計方法,硬件描述語言要實(shí)現(xiàn)的模塊主要有4 個,分別為濾波、脈沖信號處理、測速、通信。系統(tǒng)結(jié)構(gòu)設(shè)計如圖1 所示。

      圖1 系統(tǒng)整體結(jié)構(gòu)設(shè)計

      系統(tǒng)內(nèi)部全部模塊均是在濾波模塊的基礎(chǔ)上實(shí)現(xiàn)的自身功能,系統(tǒng)整體則采用松耦合的設(shè)計模式,不同功能模塊之間不存在信息共享。采用這種設(shè)計的優(yōu)點(diǎn)是當(dāng)系統(tǒng)出現(xiàn)故障時有利于排查問題,方便維護(hù)人員快速定位,提高系統(tǒng)的健壯性和可維護(hù)性。

      濾波模塊的主要功能是對編碼器輸入的脈沖信號A、B 相進(jìn)行濾波。采用示波器觀察編碼器原始脈沖波形發(fā)現(xiàn),編碼器輸出脈沖波形并不理想,存在尖峰脈沖,猜想是由于尖峰脈沖的存在導(dǎo)致視頻采集卡對脈沖的處理結(jié)果不理想,因此設(shè)計濾波模塊以消除尖峰脈沖對系統(tǒng)的影響。

      脈沖信號處理模塊基于濾波模塊處理之后的編碼器波形,根據(jù)在線檢測系統(tǒng)的要求對編碼器雙相信號進(jìn)行舍棄或倍頻。舍棄脈沖是指舍棄任意個脈沖,包含奇數(shù)個和偶數(shù)個;同時也可以對編碼器雙相信號進(jìn)行倍頻,倍頻的數(shù)值可以在1~32 間任意指定。

      測速模塊依據(jù)編碼器信號對傳送帶的速度和方向進(jìn)行實(shí)時監(jiān)測,并實(shí)時發(fā)送給在線檢測系統(tǒng)。

      通信模塊設(shè)計的主要目的是建立編碼器處理系統(tǒng)與在線檢測系統(tǒng)的之間的通信機(jī)制。

      1.2 濾波模塊設(shè)計

      濾波模塊主要功能是將編碼器雙相信號存在的尖峰脈沖濾除,這里采用判決濾波的方式。判決濾波是一種應(yīng)用廣泛的設(shè)計方法,它的思想是基于數(shù)理統(tǒng)計,實(shí)際應(yīng)用時具有運(yùn)算速度快和高可靠性的優(yōu)勢。假設(shè)系統(tǒng)針對編碼器波形的采樣周期是t,判決周期是T0,那么系統(tǒng)在整個判決周期內(nèi)采樣的個數(shù)為:

      在實(shí)際算法設(shè)計時,由于后續(xù)判決過程需要前面采樣時刻點(diǎn)獲得的采樣值,因此需要在FPGA 中定義n位寄存器作為采樣值的緩沖區(qū)[3]。寄存器的模型如圖2 所示。

      圖2 寄存器模型

      在上圖中,每一小方塊代表寄存器的一位,也就是采樣值。寄存器將采樣數(shù)據(jù)劃分為3 部分,寄存器內(nèi)數(shù)據(jù)為判決濾波需要處理的數(shù)據(jù),左右側(cè)分別為已經(jīng)處理過的數(shù)據(jù)和即將處理的數(shù)據(jù)。每經(jīng)過一個采樣周期,判決算法對寄存器內(nèi)的數(shù)據(jù)求和,如果這n個采樣值的和大于n/2,濾波模塊就輸出高電平。相反,如果n個采樣值的和小于n/2,則輸出低電平。同時將寄存器向右滑動一位,將新的采樣值更新到寄存器。然后等待下一個采樣時刻采樣點(diǎn),繼續(xù)重復(fù)這一過程。由于干擾脈沖的隨機(jī)性,采到高電平和低電平的概率是相等的,所以,作為判斷依據(jù)的百分比不能小于50%,也就是n位寄存器和的判決數(shù)量是在n/2 以上。本設(shè)計采用11 位寄存器(n=11),每次判斷時將n位寄存器求和,如果求和結(jié)果大于6,則濾波模塊輸出高電平,否則輸出低電平。在Modelsim 軟件對這種濾波方式進(jìn)行仿真時,發(fā)現(xiàn)濾波效果比較理想。判決濾波程序的流程圖如圖3 所示。

      圖3 濾波程序流程圖

      1.3 脈沖信號處理模塊

      脈沖信號處理模塊設(shè)計流程是對編碼器脈沖邊沿進(jìn)行計數(shù),計數(shù)器達(dá)到所要舍棄的脈沖邊沿個數(shù)的時候,所要產(chǎn)生的目標(biāo)脈沖進(jìn)行翻轉(zhuǎn)。而倍頻模塊的設(shè)計流程則是采用檢測濾波之后的編碼器A、B 相脈沖周期,產(chǎn)生下一周期倍頻信號的方法。設(shè)計框架較為簡單,但在設(shè)計時應(yīng)考慮FPGA 特有的一些屬性,避免出現(xiàn)競爭冒險,產(chǎn)生毛刺的現(xiàn)象,并進(jìn)行時序約束。

      針對競爭冒險現(xiàn)象,采用狀態(tài)機(jī)的設(shè)計方式。使用狀態(tài)機(jī)可以實(shí)現(xiàn)信號的同步和消除毛刺的目的。只要在狀態(tài)機(jī)的觸發(fā)時間上加以處理,就可以避免競爭冒險,從而抑制毛刺的產(chǎn)生。

      對于時序約束,在賽靈思軟件約束文件中增加時鐘約束 create_clock-name clk-period 20 [get_ports sys_clk]。設(shè)計完成后,查看賽靈思軟件所給的靜態(tài)時序約束文件報告,發(fā)現(xiàn)建立時間、保持時間等都是符合要求的。

      1.4 通信模塊

      由于在線測試系統(tǒng)與編碼器處理系統(tǒng)之間的數(shù)據(jù)通信量較少,采用串口通信協(xié)議就可以滿足帶寬需求,需要說明的是,由于在線檢測系統(tǒng)需要發(fā)2 種指令,一種是舍棄脈沖數(shù),一種是倍頻數(shù),需要占用串口一位進(jìn)行區(qū)分。

      1.5 測速模塊

      編碼器通常輸出相差為90°的兩路方波信號,按照轉(zhuǎn)向的不同,A 相超前B 相,或B 相超前A 相。編碼器測速的算法主要有M 法、T 法、M/T 法,相對于M法和T 法的精度受速度的影響較大的缺陷,M/T 法對速度的適應(yīng)性較好,具有較高精度,本文設(shè)計采用M/T法測速[4]。

      在算法設(shè)計方面,采用Mealy 型狀態(tài)機(jī)。在接收到復(fù)位信號以后,狀態(tài)機(jī)進(jìn)入(00)狀態(tài),也就是初始化狀態(tài)。在這一狀態(tài)中,主要完成計時器T 和計數(shù)器m1、m2的復(fù)位。當(dāng)?shù)谝粋€脈沖到來的時刻,狀態(tài)機(jī)改變狀態(tài),進(jìn)入(01)狀態(tài),開啟計時器T 和計數(shù)器m1、m2。計時器T 計時結(jié)束,狀態(tài)機(jī)再次改變狀態(tài),進(jìn)入(10)狀態(tài),此時計數(shù)器m1、m2計數(shù)不間斷。當(dāng)最后一個脈沖到來時,狀態(tài)機(jī)進(jìn)入(11)狀態(tài),計數(shù)器m1和m2的數(shù)值鎖存,然后狀態(tài)機(jī)復(fù)位到(00)狀態(tài)[5]。狀態(tài)轉(zhuǎn)換圖如圖4 所示。

      圖4 狀態(tài)轉(zhuǎn)換圖

      由于通信模塊采用R232 串口通信的方式,每次發(fā)送的數(shù)據(jù)只能是8 位,另外FPGA 計算乘除法會消耗大量資源。對于測速算法而言,捕獲脈沖數(shù)目越多,測得速度越精準(zhǔn)。由于有這些約束條件的存在,最終采用向主機(jī)發(fā)送傳輸0.5 ms 內(nèi)捕捉到的編碼器發(fā)出的脈沖數(shù)的方法,在線檢測系統(tǒng)需要根據(jù)傳輸?shù)臄?shù)據(jù)做進(jìn)一步換算才能得到速度,串口傳輸?shù)拿}沖數(shù)是n,已知編碼器轉(zhuǎn)輪直徑d=9.579 cm,編碼器5 000 線,采用四倍頻的方式,那么速度測算公式為[6-11]:

      2 實(shí)驗(yàn)測試

      系統(tǒng)各個模塊之間采用松耦合的設(shè)計方式,模塊之間的相互依賴的程度較低,可以針對各個模塊采用單獨(dú)測試的方式。實(shí)驗(yàn)測試環(huán)節(jié),首先按照賽靈思引腳約束文件,將編碼器和在線測試系統(tǒng)接線成功,然后逐步測試各個模塊的輸出與輸入信號,最后對編碼器處理系統(tǒng)與在線檢測系統(tǒng)進(jìn)行聯(lián)合測試,檢測編碼器處理系統(tǒng)的整體性能。

      對于濾波模塊,在實(shí)際運(yùn)行中,多次隨機(jī)采集編碼器經(jīng)過濾波之后的波形,發(fā)現(xiàn)波形較好,沒有出現(xiàn)尖峰脈沖。實(shí)際波形如圖5 所示,在圖中可看到濾波之后編碼器A 相、B 相信號。

      圖5 濾波后A 相、B 相

      針對脈沖信號處理模塊,在實(shí)際運(yùn)行中進(jìn)行測試時發(fā)現(xiàn),編碼器處理系統(tǒng)對編碼器A、B 相脈沖邊沿計數(shù)時出現(xiàn)偏差,造成產(chǎn)生的目標(biāo)脈沖不理想。例如,當(dāng)在線檢測系統(tǒng)向編碼器處理系統(tǒng)下發(fā)舍棄3 個脈沖的指令時,編碼器處理系統(tǒng)接收到指令后對編碼器A、B 相進(jìn)行處理,正常情況下所產(chǎn)生目標(biāo)脈沖邊沿?zé)o論是下降沿還是上升沿始終和編碼器信號中的一相的邊沿一致,但在實(shí)際運(yùn)行中卻發(fā)現(xiàn)目標(biāo)信號邊沿始終在上升沿和下降沿之間跳變。目標(biāo)脈沖產(chǎn)生跳變?nèi)鐖D6所示。

      圖6 目標(biāo)脈沖產(chǎn)生跳變

      圖6 中箭頭所指的位置就是開始出現(xiàn)跳變的時候。分析此時對應(yīng)的編碼器A、B 相信號,發(fā)現(xiàn)編碼器A、B 相信號沒有出現(xiàn)幅值和相位異常,另外也沒有出現(xiàn)尖峰脈沖。猜想造成這種現(xiàn)象的原因是以下2 個:①外界對示波器產(chǎn)生干擾,造成波形輸出不穩(wěn)定;②編碼器信號被干擾。

      不采用示波器,采用工具SignalTap Ⅱ,直接查看FPGA 芯片內(nèi)部寄存器狀態(tài),發(fā)現(xiàn)目標(biāo)脈沖依然會出現(xiàn)跳變。通過示波器分析編碼器A、B 相信號,發(fā)現(xiàn)編碼器A、B 相信號沒有出現(xiàn)幅值和相位異常,另外也沒有出現(xiàn)尖峰脈沖,可以排除編碼器信號被干擾的情況。在對編碼器單相信號進(jìn)行測試時,發(fā)現(xiàn)舍棄脈沖任意數(shù)目,都能產(chǎn)生較為理想的目標(biāo)脈沖,沒有出現(xiàn)跳變的情況。采用以下方式進(jìn)行處理,對單相編碼器脈沖進(jìn)行處理,實(shí)際舍棄脈沖數(shù)目為要求數(shù)目的1/2。當(dāng)舍棄脈沖數(shù)目為奇數(shù)時,可以對單相脈沖邊沿進(jìn)行舍棄,例如舍棄脈沖數(shù)目為7 時,可以對A 相信號舍棄3 個。但當(dāng)舍棄脈沖數(shù)目為偶數(shù)時,卻無法對單相脈沖進(jìn)行舍棄,此時依然對雙相脈沖進(jìn)行舍棄。這樣的解決方案只能保證舍棄脈沖數(shù)目在奇數(shù)情況下是正常的。

      另外一種解決方案是將A 相進(jìn)行二倍頻,產(chǎn)生倍頻信號,模擬出將A、B 相兩相信號整合成一相的信號,再進(jìn)行舍棄。這樣處理缺點(diǎn)是倍頻信號的邊沿信號會出現(xiàn)與B 相信號不一致的情況,但通過檢測A 相信號的周期進(jìn)行調(diào)整,可以將影響降低。倍頻在設(shè)計之初采用鎖相環(huán)的方法,但發(fā)現(xiàn)鎖相環(huán)無法應(yīng)對周期時刻改變的信號[12]。實(shí)際設(shè)計時采用檢測脈沖周期,產(chǎn)生下一周期倍頻信號的方法。實(shí)驗(yàn)結(jié)果表明,這種方式?jīng)]有目標(biāo)脈沖出現(xiàn)跳變的情況。

      通信模塊與測速模塊的測試較為簡單,在頂層模塊中與其他模塊進(jìn)行耦合,進(jìn)行一些測試,沒有出現(xiàn)問題。

      編碼器處理系統(tǒng)與在線檢測系統(tǒng)聯(lián)合測試時,能夠產(chǎn)生較為理想的相機(jī)觸發(fā)信號,相對于只使用視頻采集卡,在線檢測系統(tǒng)誤報率明顯降低。

      3 結(jié)語

      本文設(shè)計將視頻采集卡針對編碼器處理的功能移至FPGA 來執(zhí)行,并加入一些改進(jìn)算法,有效降低了由于編碼器引入的噪聲對在線檢測系統(tǒng)的干擾,明顯提高了系統(tǒng)的可靠性。

      猜你喜歡
      倍頻寄存器編碼器
      Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
      基于FPGA的同步機(jī)軸角編碼器
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      基于PRBS檢測的8B/IOB編碼器設(shè)計
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
      電子器件(2015年5期)2015-12-29 08:42:24
      基于LBO晶體三倍頻的激光實(shí)驗(yàn)系統(tǒng)的研究
      脈沖單頻Nd∶YVO4激光器及其倍頻輸出特性研究
      多總線式光電編碼器的設(shè)計與應(yīng)用
      Q開關(guān)倍頻Nd:YAG激光治療激素依賴性皮炎療效觀察
      應(yīng)用級聯(lián)倍頻方法提高倍頻系統(tǒng)輸出穩(wěn)定性研究
      松阳县| 隆回县| 寿光市| 阿勒泰市| 博湖县| 辉南县| 柏乡县| 晋江市| 贵港市| 湘西| 健康| 前郭尔| 阿坝| 哈巴河县| 屯留县| 盱眙县| 富阳市| 安福县| 九江市| 湖州市| 阿拉善盟| 沁水县| 日喀则市| 滨州市| 淮阳县| 济阳县| 勃利县| 屯门区| 昭觉县| 武宁县| 蓬安县| 松江区| 庆城县| 青岛市| 萨嘎县| 常宁市| 邹城市| 闵行区| 宜丰县| 盐津县| 镇赉县|