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

        ?

        基于ARM+FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)與實(shí)現(xiàn)

        2011-03-13 09:30:22劉鵬劉榮任開春
        自動(dòng)化與信息工程 2011年1期
        關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

        劉鵬 劉榮 任開春

        (重慶通信學(xué)院)

        1 引言

        工業(yè)CT機(jī)運(yùn)動(dòng)控制系統(tǒng)往往需要對(duì)多個(gè)軸的運(yùn)動(dòng)進(jìn)行精確、實(shí)時(shí)控制,在以往的系統(tǒng)中多采用工控機(jī)+多塊板卡的結(jié)構(gòu)進(jìn)行運(yùn)動(dòng)控制器的設(shè)計(jì)。隨著工業(yè)CT機(jī)整體功能日趨復(fù)雜,整體系統(tǒng)對(duì)運(yùn)動(dòng)控制系統(tǒng)的體積、成本、功耗等方面的要求越來越苛刻。另一方面,運(yùn)動(dòng)控制系統(tǒng)控制的軸數(shù)越來越多、控制精度要求越來越高、控制對(duì)象的實(shí)時(shí)性要求越來越強(qiáng)。現(xiàn)有的工控機(jī)+多塊板卡組成的控制系統(tǒng)逐漸呈現(xiàn)出運(yùn)動(dòng)控制方面的劣勢(shì)。ARM+FPGA的硬件方案,將工控機(jī)從現(xiàn)有的運(yùn)動(dòng)控制系統(tǒng)中解放出來,取而代之的是體積小、功耗低、功能強(qiáng)的ARM處理器。強(qiáng)大的嵌入式Linux操作系統(tǒng)保證ARM處理器的功能可以發(fā)揮到最佳。

        2 硬件系統(tǒng)關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)

        本系統(tǒng)采用ARM+FPGA的結(jié)構(gòu)進(jìn)行運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì),與目前應(yīng)用中常見的 IPC(Industrial Personal Computer)+板卡的運(yùn)動(dòng)控制系統(tǒng)相比具有以下優(yōu)點(diǎn)[1,2]:

        (1) 采用FPGA完成運(yùn)動(dòng)控制細(xì)節(jié)任務(wù),實(shí)現(xiàn)硬件軟化的設(shè)計(jì)思想。即具有軟件可編程、可重構(gòu)的特性,又有硬件高性能、高可靠、高一致性的優(yōu)點(diǎn)。

        (2) 采用嵌入式應(yīng)用方案與現(xiàn)有 IPC+板卡結(jié)構(gòu)相比無論從體積、成本、還是性能方面相比都具有較大的優(yōu)越性。

        (3) FPGA具有高速并行的執(zhí)行能力,系統(tǒng)的實(shí)時(shí)性能得到較大的提高。

        (4) 將 ARM 中操作底層硬件的驅(qū)動(dòng)程序進(jìn)行打包,方便應(yīng)用程序調(diào)用,可以較快完成用戶的二次開發(fā)。

        2.1 硬件系統(tǒng)總體設(shè)計(jì)

        工業(yè)CT運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)以Atmel公司一款A(yù)RM9核處理器AT91RM9200[1]和Altera公司的Cyclone系列芯片EP1C6Q240C8[2]為核心。ARM9作為主控芯片負(fù)責(zé)整個(gè)系統(tǒng)的控制,通過AHB[3]總線協(xié)調(diào)與FPGA之間的數(shù)據(jù)交換,并將接收到的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到工業(yè)控制計(jì)算機(jī)進(jìn)行圖像的處理與重建。FPGA則負(fù)責(zé)接收數(shù)據(jù)采集系統(tǒng)的串行數(shù)據(jù),并把其轉(zhuǎn)化成并行數(shù)據(jù)存入 FPGA的RAM 中,同時(shí)對(duì) ARM 發(fā)出中斷請(qǐng)求響應(yīng),通知ARM9讀取。AT91RM9200、SDRAM、FLASH以及電源等基本外圍電路構(gòu)成嵌入式Linux運(yùn)行的最小系統(tǒng),而FPGA最小系統(tǒng)則由EPlC6Q240C8、時(shí)鐘電路、配置接口等組成。然后兩者通過高速AHB總線進(jìn)行連接,實(shí)現(xiàn)數(shù)據(jù)的快速傳輸。

        2.2 ARM與FPGA接口設(shè)計(jì)

        在系統(tǒng)中ARM作為通用處理器,用來實(shí)現(xiàn)系統(tǒng)任務(wù)的觸發(fā)、系統(tǒng)命令的發(fā)送和任務(wù)的調(diào)度等功能。FPGA作為ARM的外設(shè),用來對(duì)ARM經(jīng)地址數(shù)據(jù)總線傳送過來的命令進(jìn)行解析,并最終按照ARM命令的要求,完成脈沖發(fā)送和脈沖計(jì)數(shù)的功能及具體的運(yùn)動(dòng)控制細(xì)節(jié)任務(wù)。

        兩塊FPGA通過各自的地址/數(shù)據(jù)總線與ARM的地址/數(shù)據(jù)總線連接起來,雙方可以進(jìn)行雙向的數(shù)據(jù)交換。

        圖1 工業(yè)CT運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖

        ARM與FPGA通過地址選通信號(hào)線連接起來,兩塊FPGA各自作為ARM的外設(shè)芯片,運(yùn)行在獨(dú)立的地址空間,地址選通信號(hào)結(jié)合地址總線實(shí)現(xiàn) ARM對(duì) FPGA內(nèi)部寄存器的尋址。

        3 軟件系統(tǒng)關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)

        系統(tǒng)軟件總體采用分層思想進(jìn)行設(shè)計(jì)。整個(gè)系統(tǒng)軟件主要由宿主機(jī)操作系統(tǒng)、宿主機(jī)開發(fā)軟件、目標(biāo)板操作系統(tǒng)、目標(biāo)板底層硬件驅(qū)動(dòng)程序、目標(biāo)板應(yīng)用程序、HDL硬件描述語言組成。宿主機(jī)操作系統(tǒng)選擇REDHAT-LINUX9.0版本;宿主機(jī)開發(fā)軟件主要由一些交叉編譯環(huán)境、匯編和鏈接工具組成;目標(biāo)板操作系統(tǒng)選用ARM-LINUX操作系統(tǒng);目標(biāo)板應(yīng)用程序使用C代碼進(jìn)行編寫;HDL語言用于對(duì)FPGA的功能進(jìn)行描述。

        軟件系統(tǒng)分層示意圖如圖2所示。在宿主機(jī)中,交叉編譯將要在目標(biāo)板平臺(tái)上運(yùn)行的應(yīng)用程序代碼和底層硬件驅(qū)動(dòng)程序代碼展開,然后通過宿主機(jī)與目標(biāo)板之間的硬件接口傳遞到目標(biāo)板中,目標(biāo)板通過底層硬件驅(qū)動(dòng)程序控制 FPGA模塊中配置的各功能寄存器,從而完成具體的控制任務(wù)。本文重點(diǎn)介紹FPGA內(nèi)部功能模塊的設(shè)計(jì)及驅(qū)動(dòng)程序接口設(shè)計(jì)。

        3.1 FPGA內(nèi)部關(guān)鍵功能模塊設(shè)計(jì)

        FPGA不擅長(zhǎng)對(duì)數(shù)據(jù)進(jìn)行運(yùn)算處理[4],但本系統(tǒng)對(duì)每個(gè)軸的控制都要進(jìn)行相應(yīng)的運(yùn)算,因此在每個(gè)軸的控制模塊設(shè)計(jì)中盡量不涉及復(fù)雜的算法實(shí)現(xiàn),算法部分留給ARM進(jìn)行處理。原則上FPGA僅僅接收經(jīng)ARM進(jìn)行處理過的數(shù)據(jù),而后按照ARM主控單元的處理結(jié)果進(jìn)行處理。

        圖2 軟件系統(tǒng)分層示意圖

        單軸控制模塊框圖如圖3所示。在每個(gè)位置管理單元中都配置了兩個(gè)計(jì)數(shù)器:邏輯位置計(jì)數(shù)器和實(shí)際位置計(jì)數(shù)器。其中邏輯位置計(jì)數(shù)器的輸入端接到脈沖發(fā)生器的輸出端,其功能是計(jì)量從脈沖發(fā)生器實(shí)際發(fā)出的脈沖數(shù)量。實(shí)位計(jì)數(shù)器的輸入端接到編碼器的輸出端,其功能是計(jì)量從編碼器發(fā)出的脈沖個(gè)數(shù)。邏輯位置寄存器和實(shí)際位置寄存器實(shí)際上構(gòu)成一個(gè)閉環(huán)系統(tǒng),前者為閉環(huán)系統(tǒng)的輸入,后者為閉環(huán)系統(tǒng)的輸出。當(dāng)兩者的誤差范圍不超過某一個(gè)限度時(shí),在FPGA中對(duì)實(shí)時(shí)的脈沖發(fā)送速率進(jìn)行調(diào)節(jié);當(dāng)兩者的誤差超過某一個(gè)設(shè)定的范圍時(shí),F(xiàn)PGA向ARM發(fā)送一個(gè)中斷請(qǐng)求。當(dāng)某個(gè)軸接收到減速信號(hào)SD或者極限到位信號(hào)EL時(shí),在FPGA內(nèi)部經(jīng)過同樣一個(gè)中斷發(fā)生器模塊向ARM發(fā)送一個(gè)中斷。ARM接收到中斷信號(hào)后,開啟運(yùn)動(dòng)控制進(jìn)程,對(duì)PID控制參數(shù)進(jìn)行整定,計(jì)算控制量。

        圖3 單軸控制模塊設(shè)計(jì)

        3.2 驅(qū)動(dòng)程序接口設(shè)計(jì)

        在系統(tǒng)設(shè)計(jì)中,兩片F(xiàn)PGA作為ARM的外設(shè),掛在ARM的外設(shè)地址空間。當(dāng)ARM要訪問FPGA時(shí),首先要在ARM中運(yùn)行包含F(xiàn)PGA所在地址空間地址的指令,而后ARM的片選線選中FPGA,F(xiàn)PGA檢測(cè)到自己被選中,從而開始檢測(cè)地址總線上傳來的ARM指令所包含的地址數(shù)據(jù)。根據(jù)從ARM地址線傳來的地址總線上的數(shù)據(jù),F(xiàn)PGA讀取從ARM數(shù)據(jù)總線上傳來的數(shù)據(jù)總線上的數(shù)據(jù),而后開始進(jìn)行相應(yīng)的動(dòng)作,從而完成一次控制任務(wù)。寄存器是本運(yùn)動(dòng)控制系統(tǒng)的基本組成部分之一,ARM對(duì)FPGA的控制就是通過配置在FPGA內(nèi)部的寄存器來實(shí)現(xiàn)的[5]。完成配置的FPGA整體結(jié)構(gòu)如圖4所示。

        圖4 FPGA內(nèi)部結(jié)構(gòu)圖

        4 控制算法設(shè)計(jì)與仿真

        4.1 單神經(jīng)元自適應(yīng)PID 控制器設(shè)計(jì)

        單神經(jīng)元自適應(yīng)PID控制器的結(jié)構(gòu)如圖5所示。

        圖5 單神經(jīng)元自適應(yīng)PID控制器

        圖5中,神經(jīng)元的3個(gè)狀態(tài)變量分別為:

        單神經(jīng)元自適應(yīng)控制器是通過對(duì)加權(quán)系數(shù)的調(diào)整來實(shí)現(xiàn)自適應(yīng)、自學(xué)習(xí)功能,權(quán)系數(shù)的調(diào)整是根據(jù)有監(jiān)督的Hebb學(xué)習(xí)規(guī)則實(shí)現(xiàn)的[6]。

        控制器的輸出為:

        其中:

        式(5)中,w'i為加權(quán)系數(shù),可在線修正。加權(quán)值的在線學(xué)習(xí)則采用規(guī)范化的學(xué)習(xí)算法,公式為式(6):

        4.2 算法仿真

        仿真系統(tǒng)的參數(shù):比例、積分、微分的學(xué)習(xí)速率分別為ηP=0.40,ηI=0.35,ηD=0.40,系統(tǒng)初始誤差量值設(shè)置為1,仿真曲線如圖6所示。從仿真結(jié)果可以看出,系統(tǒng) PID控制參數(shù)隨系統(tǒng)的運(yùn)行在線整定,經(jīng)整定的PID參數(shù)對(duì)系統(tǒng)進(jìn)行控制,系統(tǒng)的誤差最終趨于0。

        圖6 單神經(jīng)元PID控制誤差曲線

        5 運(yùn)行結(jié)果

        5.1 系統(tǒng)位移調(diào)試結(jié)果

        為了測(cè)試運(yùn)動(dòng)控制系統(tǒng)的位置控制效果,在電機(jī)空載時(shí)進(jìn)行了100次試驗(yàn),圖7所示為在實(shí)驗(yàn)室中測(cè)定的電機(jī)空載時(shí)的位移測(cè)試結(jié)果曲線圖,各試驗(yàn)數(shù)據(jù)均是取100次實(shí)驗(yàn)數(shù)據(jù)的平均值。圖7為各實(shí)驗(yàn)數(shù)據(jù)的曲線擬合圖。從圖中可以看出,電機(jī)空載時(shí)脈沖發(fā)生器和脈沖計(jì)數(shù)器的誤差曲線經(jīng)歷了一個(gè)積累的過程,當(dāng)誤差超過設(shè)定值0.18%時(shí)單神經(jīng)元自適應(yīng)PID控制器開始在線整定PID控制參數(shù),整定結(jié)果使系統(tǒng)的誤差趨于0。

        圖7 系統(tǒng)位移調(diào)試結(jié)果

        5.2 系統(tǒng)速度調(diào)試結(jié)果

        為了測(cè)量系統(tǒng)的速度響應(yīng)結(jié)果,系統(tǒng)使用 M/T法[7]對(duì)速度數(shù)據(jù)進(jìn)行測(cè)量,M/T法的計(jì)算公式如式(8)所示:

        式(8)中f為基準(zhǔn)時(shí)鐘頻率;P為光電編碼器每轉(zhuǎn)一周產(chǎn)生的脈沖個(gè)數(shù);M1和M2分別是在相同的時(shí)間內(nèi)對(duì)編碼器脈沖和基準(zhǔn)時(shí)鐘脈沖進(jìn)行計(jì)數(shù)的計(jì)數(shù)值。

        在電機(jī)空載時(shí)進(jìn)行了100次試驗(yàn),圖8所示為在實(shí)驗(yàn)室中測(cè)定的電機(jī)空載時(shí)的速度測(cè)試結(jié)果,各個(gè)參數(shù)值均是取100次實(shí)驗(yàn)數(shù)據(jù)的平均值。圖8中設(shè)定速度值對(duì)應(yīng)程序運(yùn)行時(shí)在脈沖發(fā)生器中設(shè)定的分頻系數(shù),驅(qū)動(dòng)器顯示電機(jī)轉(zhuǎn)速對(duì)應(yīng)設(shè)定速度時(shí)對(duì)應(yīng)的誤差,使用 M/T測(cè)得的轉(zhuǎn)速對(duì)應(yīng)讀取速度時(shí)對(duì)應(yīng)的誤差。

        圖8 電機(jī)空載時(shí)速度測(cè)試結(jié)果

        6 結(jié)論

        采用嵌入式方案設(shè)計(jì)的運(yùn)動(dòng)控制系統(tǒng)不管在體積、成本還是功能方面,較原有的工控機(jī)+板卡的結(jié)構(gòu)均有較大的優(yōu)勢(shì)。該系統(tǒng)突破了原有的工業(yè)CT運(yùn)動(dòng)控制系統(tǒng)本身固有的一些缺點(diǎn),采用嵌入式的ARM+FPGA解決方案進(jìn)行設(shè)計(jì),控制系統(tǒng)內(nèi)部采用基于單神經(jīng)元自適應(yīng) PID 控制器進(jìn)行設(shè)計(jì)。系統(tǒng)運(yùn)行結(jié)果證明方案的可行性。為今后進(jìn)一步研發(fā)擁有自主知識(shí)產(chǎn)權(quán)的基于嵌入式系統(tǒng)的多軸智能運(yùn)動(dòng)控制器做了基礎(chǔ)性的探索工作。

        [1]Atmel corporation. AT91RM9200 data sheet, 2006.

        [2]Altera Corporation.Cyclone器件數(shù)據(jù)手冊(cè).

        [3]王亞庭.基于ARM與FPGA的高速數(shù)據(jù)采集技術(shù)研究[D].北京:北京交通大學(xué),2007.

        [4]田家林,陳利學(xué),寇向輝.基于ARM與FPGA的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2003(6):322-325.

        [5]廖義奎.ARM與FPGA綜合設(shè)計(jì)及應(yīng)用[M].北京:中國(guó)電力出版社,2008:236-240.

        [6]朱曉潔,舒志兵.基于 ARM+FPGA 的嵌入式數(shù)控系統(tǒng)[J].機(jī)床與液壓.2008(B07):311-313.

        [7]徐靜,阮毅.基于TMS320F240的M/T法測(cè)速的實(shí)現(xiàn)與應(yīng)用[J].變頻器世界,2004(4):41-43.

        猜你喜歡
        系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        一夲道无码人妻精品一区二区| 国产精品一区二区三久久不卡| 亚洲色大成网站www永久网站| 亚洲av无码一区二区二三区| 91精品国产免费久久久久久青草| 亚洲一区二区三区久久久| 国产精品高潮呻吟av久久黄| 人人摸人人搞人人透| 一本一本久久a久久精品综合| 国产亚洲精选美女久久久久| 91色综合久久熟女系列| 俺去啦最新地址| 日韩a无v码在线播放| 久久亚洲国产成人精品v| 日韩精品人妻视频一区二区三区| 国产熟妇疯狂4p交在线播放| 欧美日韩视频无码一区二区三| 在线亚洲+欧美+日本专区| 麻豆成年人视频在线观看| 精品国产精品三级精品av网址| 少妇人妻偷人精品免费视频| 野外三级国产在线观看| 亚洲偷自拍国综合第一页国模 | 日韩丝袜人妻中文字幕| 一本色道久久亚洲加勒比| 久久久老熟女一区二区三区 | 亚洲av午夜精品无码专区| 无码国产色欲xxxxx视频| 久久这里有精品国产电影网| 日韩精品免费av一区二区三区| 24小时日本在线视频资源| 爱a久久片| 日本人妖一区二区三区| 美女视频黄是免费| 国产剧情麻豆女教师在线观看 | 99久久婷婷国产综合精品电影| 中文人妻无码一区二区三区信息| 视频一区中文字幕在线观看| 亚洲熟妇无码av在线播放| 国产精品久久久久久妇女6080| 日本第一区二区三区视频|