亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Simulink 的絕對(duì)位置傳感器的FPGA 實(shí)現(xiàn)

        2015-03-06 01:31:28陳文藝雷武亮
        電子科技 2015年8期
        關(guān)鍵詞:功能模塊模型設(shè)計(jì)

        陳文藝,周 林,雷武亮

        (1.西安郵電大學(xué) 物聯(lián)網(wǎng)與兩化融合研究院,陜西 西安 710061; 2.西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710061)

        近年來(lái),基于圖像的光電編碼器得到廣泛應(yīng)用。本文中絕對(duì)位置傳感器即是通過(guò)圖像傳感器直接對(duì)編碼盤進(jìn)行圖像采集,再通過(guò)FPGA 對(duì)采集的數(shù)字圖像進(jìn)行實(shí)時(shí)處理以獲取絕對(duì)位置信息[1-2]。而傳統(tǒng)的FPGA 設(shè)計(jì)方法來(lái)做圖像處理由于其算法和實(shí)現(xiàn)的分離導(dǎo)致設(shè)計(jì)周期長(zhǎng),而采用基于Simulink 的FPGA 設(shè)計(jì)方法,不僅有利于快速驗(yàn)證算法,切在算法仿真通過(guò)后可快速自動(dòng)轉(zhuǎn)換為Verilog HDL 語(yǔ)言完成實(shí)現(xiàn)[3]。

        關(guān)于模型HDL 轉(zhuǎn)換,Simulink 中有成熟的第三方產(chǎn)品,如Altera 的DSP Builder,Xilinx 的System Generator均可將模型自動(dòng)轉(zhuǎn)換為HDL 設(shè)計(jì),然而該方法不僅需要重新安裝第三方軟件,且功能模塊使用過(guò)于依賴廠家,而本文中提出的基于Simulink 的HDL 設(shè)計(jì)不需要再安裝軟件,且靈活性高[4-5]。只要只用規(guī)范的語(yǔ)言,用戶還可自定義功能模塊,更有利于滿足變化的用戶需求。

        1 系統(tǒng)模型

        由圖1 可知,通過(guò)從圖像傳感器得到需要的分辨率圖像,經(jīng)圖像采集模塊送入絕對(duì)位置計(jì)算模塊計(jì)算絕對(duì)位置[6]。本文提出的方法即用于實(shí)現(xiàn)絕對(duì)位置計(jì)算模塊的實(shí)現(xiàn)。利用Simulink 建模來(lái)實(shí)現(xiàn)絕對(duì)位置計(jì)算模塊,并在其仿真驗(yàn)證通過(guò)將其轉(zhuǎn)換為HDL 模型。該模塊主要功能有:將采集的二維圖像信號(hào)轉(zhuǎn)化為一維灰度信號(hào),并對(duì)灰度信號(hào)按列方向加權(quán)平均后進(jìn)行濾波差分,通過(guò)光強(qiáng)質(zhì)心法和迭代最小二乘擬合算法最終得出絕對(duì)位置值[7]。

        圖1 系統(tǒng)模型

        2 基于Simulink 的HDL 設(shè)計(jì)

        由圖2 可知,在使用Simulink 進(jìn)行硬件設(shè)計(jì)時(shí)大致分為以下幾個(gè)步驟:

        (1)在Simulink 中利用其涵蓋眾多的功能模塊實(shí)現(xiàn)功能設(shè)計(jì)。此時(shí)為了保證功能的正確性一般都使用浮點(diǎn)型數(shù)據(jù)。

        (2)驗(yàn)證功能設(shè)計(jì)的正確性,為功能模型(浮點(diǎn)模型)向定點(diǎn)模型轉(zhuǎn)換做準(zhǔn)備。

        (3)對(duì)定點(diǎn)模型進(jìn)行仿真并與浮點(diǎn)模型做比較,分析誤差。

        (4)將定點(diǎn)模型轉(zhuǎn)化為Verilog HDL,并進(jìn)行聯(lián)合仿真。

        圖2 基于Simulink 的HDL 設(shè)計(jì)流程

        下面將分浮點(diǎn)模型,定點(diǎn)模型,HDL 模型3 個(gè)層次做介紹。并選擇絕對(duì)位置計(jì)算模塊中子模塊:脈沖中心位置計(jì)算Center 模塊來(lái)進(jìn)行實(shí)際轉(zhuǎn)換。

        2.1 浮點(diǎn)模型

        并非Simulink 中所有模塊都滿足向HDL 的轉(zhuǎn)換,所以在進(jìn)行浮點(diǎn)模型設(shè)計(jì)時(shí)應(yīng)對(duì)此有一個(gè)初步的了解。在Simulink Hdllib 模塊庫(kù)中查看支持向HDL 轉(zhuǎn)換的功能模塊

        雖然Simulink 功能模塊眾多,但也無(wú)法滿足千變?nèi)f化的實(shí)際需求,所以當(dāng)某個(gè)功能需求無(wú)法找到一個(gè)合適的模塊來(lái)實(shí)現(xiàn),則此時(shí)可使用Matlab Function 封裝一個(gè)模塊,即使用M 語(yǔ)言編程來(lái)實(shí)現(xiàn)簡(jiǎn)單一定的邏輯功能。

        Center 模塊主要計(jì)算一維灰度信號(hào)中每個(gè)脈沖中心的像素位置值,并判斷每個(gè)脈沖所表示的編碼值,其浮點(diǎn)設(shè)計(jì)如圖3 所示。

        圖3 Center 模塊浮點(diǎn)設(shè)計(jì)

        2.2 定點(diǎn)模型

        對(duì)浮點(diǎn)模型進(jìn)行定點(diǎn)轉(zhuǎn)換,首先要對(duì)模塊所有的數(shù)據(jù)進(jìn)行分析,因在定點(diǎn)轉(zhuǎn)化時(shí)位數(shù)的限制將帶來(lái)精度的損失。所以應(yīng)根據(jù)需求要使用合適的數(shù)據(jù)位寬和舍入量化算法來(lái)達(dá)到資源與精確度之間的平衡[8]。

        對(duì)于Simulink 中含有的功能模塊而言,將其轉(zhuǎn)換為定點(diǎn)模型不論是手動(dòng)分配字長(zhǎng)還是采用Fixedpoint tools,對(duì)模型整體進(jìn)行分析自動(dòng)分配字長(zhǎng)和小數(shù)位這一過(guò)程都相當(dāng)簡(jiǎn)單,而對(duì)于Matlab Function,由于其是用戶根據(jù)自己需要用M 語(yǔ)言寫的模塊,所以對(duì)該模塊進(jìn)行定點(diǎn)數(shù)轉(zhuǎn)換相對(duì)較為復(fù)雜,但只要遵循一定的規(guī)則,轉(zhuǎn)換亦可順利完成:(1)定義的變量均要使用定點(diǎn)數(shù)對(duì)象。(2)注意變量的運(yùn)算法則,如Product-Mode,RoundMode,SumMode,OverflowMode 等根據(jù)實(shí)際需求進(jìn)行改變。(3)某些運(yùn)算函數(shù)不適用于定點(diǎn)模型的設(shè)計(jì),此時(shí)或可考慮使用其他滿足的函數(shù)或使用定點(diǎn)運(yùn)算法則來(lái)實(shí)現(xiàn)。例如mod 模運(yùn)算函數(shù),其不支持定點(diǎn)模型,那么可以通過(guò)將定點(diǎn)對(duì)象運(yùn)算法則中OverflowMode 屬性設(shè)置為wrap 來(lái)實(shí)現(xiàn)模運(yùn)算功能。

        通過(guò)對(duì)Center 模型中Simulink 自帶的加法器,比較器的數(shù)據(jù)屬性,計(jì)算屬性進(jìn)行修改,并對(duì)其中的Matlab Function 模塊中數(shù)據(jù)重新建立定點(diǎn)對(duì)象,運(yùn)算法則改為定點(diǎn)數(shù)運(yùn)算法則之后實(shí)現(xiàn)定點(diǎn)模型的轉(zhuǎn)換:圖中可見模塊間數(shù)據(jù)已變?yōu)槎c(diǎn)數(shù)據(jù)類型。

        圖4 Centere 模塊定點(diǎn)模型

        2.3 HDL 模型

        并非所有的定點(diǎn)模型皆可轉(zhuǎn)換為HDL 模型,這一點(diǎn)考慮為是否使用了不支持HDL 轉(zhuǎn)換的模塊或定點(diǎn)數(shù)對(duì)象算法的錯(cuò)誤設(shè)置。而在浮點(diǎn)模型設(shè)計(jì)之初就考慮到這個(gè)問(wèn)題將給整個(gè)過(guò)程大幅節(jié)省時(shí)間。

        定點(diǎn)模型轉(zhuǎn)換為HDL 模型主要分為兩大內(nèi)容:一是對(duì)定點(diǎn)模型的轉(zhuǎn)換;二是對(duì)轉(zhuǎn)換后的HDL 模型進(jìn)行仿真,以下分兩個(gè)過(guò)程:

        (1)定點(diǎn)模型設(shè)計(jì)成熟時(shí),使用Configuration Parameters對(duì)待轉(zhuǎn)換的模塊進(jìn)行編譯,此時(shí)Simulink 會(huì)檢測(cè)是否有不支持轉(zhuǎn)換的模塊,模塊的設(shè)置是否正確,有沒有函數(shù)使用錯(cuò)誤,定點(diǎn)對(duì)象運(yùn)算屬性是否設(shè)置正確等。Simulink 成熟人性化的報(bào)錯(cuò)有助于用戶快速糾正設(shè)計(jì)中的錯(cuò)誤。

        (2)生成Verilog HDL 成功后,就是對(duì)生成代碼的仿真驗(yàn)證。

        對(duì)生成的代碼進(jìn)行驗(yàn)證可使用兩種方法:一種是在硬件設(shè)計(jì)軟件中對(duì)生成代碼文件添加激勵(lì)進(jìn)行仿真;另一種是采用Simulink 與Modelsim 的聯(lián)合仿真。推薦使用聯(lián)合仿真,因?yàn)椴捎寐?lián)合仿真,數(shù)據(jù)是在Modelsim 中運(yùn)算,結(jié)果輸回Simulink,可直接觀察波形,便于驗(yàn)證。

        在對(duì)Centere 定點(diǎn)模型進(jìn)行檢測(cè)時(shí),根據(jù)提示修改了Stateflow 狀態(tài)機(jī)屬性后得到Verilog HDL 設(shè)計(jì)及聯(lián)合仿真模型如圖5 和圖6 所示。

        圖5 Center 模型Verilog HDL 文件

        圖6 Center 聯(lián)合仿真模型圖

        聯(lián)合仿真結(jié)果如圖7 所示,其中每張圖的第1 行為HDL 模型輸出,第2 行為定點(diǎn)模型輸出,第3 行為二者相減比較值,可見HDL 轉(zhuǎn)換正確。

        圖7 聯(lián)合仿真

        按照相同的方法進(jìn)行轉(zhuǎn)換后完成對(duì)整個(gè)絕對(duì)位置傳感器模型的轉(zhuǎn)換,得到HDL 設(shè)計(jì)文件,如圖9 所示。并如圖8 對(duì)其建立聯(lián)合仿真模型以驗(yàn)證轉(zhuǎn)換。

        圖8 絕對(duì)位置計(jì)算模塊聯(lián)合仿真模型

        圖9 絕對(duì)位置計(jì)算的HDL 設(shè)計(jì)

        由于浮點(diǎn)數(shù)據(jù)類型向定點(diǎn)數(shù)據(jù)類型的轉(zhuǎn)換導(dǎo)致數(shù)據(jù)精度一定的丟失,定點(diǎn)模型輸出為50.131 6 mm,原模型輸出為50.143 3 mm,定點(diǎn)模型最終輸出與原模型誤差在0.01 mm 數(shù)量級(jí),誤差在允許范圍內(nèi),而定點(diǎn)模型轉(zhuǎn)換為HDL 模型時(shí)不存在精度丟失問(wèn)題,如聯(lián)合仿真結(jié)果圖10 所示,HDL 模型輸出與定點(diǎn)模型輸出一致,故第3 行中二者差值為0。

        圖10 HDL 與定點(diǎn)模型輸出比較

        3 結(jié)束語(yǔ)

        本文提出了一種基于Simulink 的硬件設(shè)計(jì)方法,其使用Simulink 強(qiáng)大的模塊功能及靈活的實(shí)際運(yùn)用性先建模實(shí)現(xiàn)功能模塊的建立,仿真驗(yàn)證后依據(jù)Simulink 中定點(diǎn)數(shù)的使用規(guī)范,建立定點(diǎn)對(duì)象,設(shè)置定點(diǎn)對(duì)象的運(yùn)算屬性從而將浮點(diǎn)模型轉(zhuǎn)換為定點(diǎn)模型,通過(guò)對(duì)定點(diǎn)模型進(jìn)行HDL 轉(zhuǎn)換檢測(cè),修改驗(yàn)證通過(guò)后自動(dòng)生成Verilog HDL 語(yǔ)言,建立Simulink-Modelsim 聯(lián)合仿真模型,利用聯(lián)合仿真的便利性驗(yàn)證轉(zhuǎn)換并完成了硬件設(shè)計(jì)。

        [1] Yukinobu Sugiyama,Yoshinori Matsui.A 3.2 kHz,14-bit optical absolute rotary encoder with a CMOS profile sensor[J].IEEE Sensors Journal(S1530-437X),2008,8(8):1320-1326.

        [2] Wang Yang,Qiu Cheng,Zhu Hengjun.An absolute angular encoder based on m sequence[J].Journal of Electronic Measurement and Instrument,2007,21(2):77-80.

        [3] 諸葛俊貴.基于Matlab 模糊控制器HDL 代碼的自動(dòng)生成[J].電子科技,2012,25(1):42-47.

        [4] 張慧娟.HDL Coder 和HDL Verifier 支持HDL 代碼生成和驗(yàn)證[J].電子技術(shù)應(yīng)用,2012(5):20-21.

        [5] 王少飛.基于模型的設(shè)計(jì)在FPGA 上的一種實(shí)現(xiàn)方法[D].成都:電子科技大學(xué),2012.

        [5] 陳文藝,楊輝.一種單碼道絕對(duì)式光學(xué)編碼器的編解碼方法[J].光電工程,2013(6):142-149.

        [4] 熊金旺,賈平,劉晶紅.利用圖像傳感器的光電軸角編碼器編碼研究[J].測(cè)控技術(shù),2009(12):6-9.

        [8] 劉杰.基于模型設(shè)計(jì)的自動(dòng)定制IP 策略[J].浙江大學(xué)學(xué)報(bào):理學(xué)版,2013,11(6):627-633.

        猜你喜歡
        功能模塊模型設(shè)計(jì)
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
        3D打印中的模型分割與打包
        輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
        M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
        人妻少妇精品无码专区动漫| 国产福利不卡视频在线| 青青草高中生在线视频| 精品偷拍被偷拍在线观看| 亚洲国产成人va在线观看天堂 | 国产美女主播福利一区| 国产免费观看久久黄av麻豆| 真实国产精品vr专区| 无遮高潮国产免费观看| 欧美洲精品亚洲精品中文字幕| 精品国产色哟av一区二区三区| 欧美老熟妇乱xxxxx| 国产精品黄在线观看免费软件| 一区二区三区国产在线网站视频| 日本一区二区午夜视频| 亚洲av成人精品一区二区三区 | 五十路一区二区中文字幕| 亚洲乱码一区二区三区在线观看| 亚洲综合精品伊人久久| 久久精品一品道久久精品9 | 国产精品私密保养| 老司机在线精品视频网站 | 亚洲一区二区三区偷拍自拍| 亚洲蜜臀av一区二区三区| 亚洲日韩av无码| 99久久综合精品五月天| 熟妇人妻丰满少妇一区| 一区二区三区中文字幕p站| 国产精品无码成人午夜电影| 97中文字幕在线观看| 草青青视频手机免费观看| 国产大片黄在线观看| 国产免费一区二区三区在线观看 | 国产在线视频一区二区三区| 免费在线黄色电影| 日韩精品人妻系列无码专区免费| 2020最新国产激情| 日本一二三四高清在线| 人人妻人人爽人人澡人人| 国产精品无码久久久一区蜜臀| 国产激情小视频在线观看的 |