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

        ?

        基于CPLD的激光標(biāo)刻運動控制卡PC/104接口設(shè)計

        2010-04-12 00:00:00王棟梁吳懷宇吳若鴻
        現(xiàn)代電子技術(shù) 2010年6期

        摘 要:針對傳統(tǒng)激光標(biāo)刻機體積大,運行不穩(wěn)定等缺點,提出使用嵌入式工控機加運動板卡的設(shè)計思路,設(shè)計基于CPLD的PC/104總線接口。采用握手通信思想,構(gòu)造數(shù)據(jù)讀/寫權(quán)限寄存器,同時結(jié)合有限狀態(tài)機實現(xiàn)上、下位機數(shù)據(jù)并行傳輸。實驗仿真證明,傳輸效果能達到快速穩(wěn)定,并且實際標(biāo)刻應(yīng)用驗證了該接口設(shè)計的可行性與有效性。

        關(guān)鍵詞:激光標(biāo)刻;PC/104;CPLD;VHDL

        中圖分類號:TP336文獻標(biāo)識碼:B

        文章編號:1004-373X(2010)06-087-03

        Design of PC/104 Interface for CPLD-based Motion Controller in Laser Marking System

        WANG Dongliang,WU Huaiyu,CHENG Lei,HU Lin,WU Ruohong

        (College of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan,430081,China)

        Abstract:Aiming at disadvantages of the traditional laser marking machine such as bigger in size and running unstable,an idea that using embedded computer and the board of motion controller is proposed,and PC/104 interface based on CPLD is designed.Using the idea of handshake,a data register that decides read-write is structured and data parallel transmission with the finite state machine is realized.The simulation proves that the data access is rapid and stable.The application results show that the design of interface is efficient and feasible.

        Keywords:laser marking;PC/104;CPLD;VHDL

        0 引 言

        振鏡式激光標(biāo)刻機已成為激光標(biāo)刻行業(yè)中的主流產(chǎn)品。目前,大多數(shù)激光標(biāo)刻機都采用基于通用PC的控制方案[1],然而通用PC安裝軟件較多,占用系統(tǒng)資源較大,故設(shè)計基于嵌入式技術(shù)的運動控制卡,也已成為振鏡式激光標(biāo)刻機的研究熱點。PC/104總線是一種專門為嵌入式控制而定義的工業(yè)總線,其優(yōu)點為體積小,可靠性高,采用模塊化結(jié)構(gòu),易于總線擴展,因此PC/104總線在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。

        市面上已有的PC/104總線接口芯片,功能固定,不適合激光標(biāo)刻運動控制卡升級。然而FPGA/CPLD在數(shù)字邏輯設(shè)計中的靈活性和穩(wěn)定性,符合本接口設(shè)計要求,故這里選用Altera公司MAX3000系列的CPLD,設(shè)計PC/104接口,實現(xiàn)激光標(biāo)刻運動控制卡的數(shù)據(jù)傳輸。

        1 總體設(shè)計

        振鏡式激光標(biāo)刻機系統(tǒng)框圖如圖1所示,運動控制卡核心模塊分為DSP控制模塊和數(shù)據(jù)通信模塊。運動控制卡工作流程:復(fù)雜的圖像編譯由工控機完成,處理后的數(shù)據(jù)通過PC/104總線下載到下位機DSP中,由DSP完成圖像插補校正,實時控制激光標(biāo)刻過程,從而實現(xiàn)脫機打標(biāo)。

        圖1 激光標(biāo)刻機系統(tǒng)框圖

        數(shù)據(jù)通信模塊主要解決的是工控機與DSP之間數(shù)據(jù)傳輸。PC/104總線執(zhí)行ISA總線標(biāo)準,DSP芯片選用ADI公司的Blackfin 533,芯片數(shù)據(jù)接口采用外部總線接口單元(EBIU)。因此數(shù)據(jù)通信模塊實際上解決可見,PC/104總線與EBIU接口之間的數(shù)據(jù)傳輸[7]。使用CPLD實現(xiàn)數(shù)據(jù)總線邏輯橋接,即合理又有效。

        2 PC/104接口設(shè)計

        PC/104總線是ISA總線標(biāo)準的延伸[8]。在設(shè)計中用到的PC/104總線引腳主要包含:12位地址線,16位數(shù)據(jù)線;I/O讀/寫信號線;I/O 16位芯片選擇信號線;總線地址鎖存信號線。有了上述信號線,就可以根據(jù)ISA總線時序設(shè)計PC/104接口。

        Black fin533系列的外部總線接口單元(EBIU)[9],支持外設(shè)無縫連接。在使用中,僅需將CPLD看作DSP的外設(shè)即可,直接連線,無需編寫EBIU的總線時序。在設(shè)計中用到的引腳主要包含8根地址線;16位數(shù)據(jù)線;存儲空間Bank選擇信號線;輸出使能信號線;讀使能信號線。

        該接口的設(shè)計思路是將數(shù)據(jù)傳輸過程分為兩部分,一個是數(shù)據(jù)通過PC/104傳輸?shù)紺PLD,按照PC/104時序;另一個是CPLD向DSP傳輸數(shù)據(jù)。由于PC/104時序簡單,EBIU無縫連接,單獨兩部分使用CPLD實現(xiàn)不難。但問題的關(guān)鍵是CPLD接收到數(shù)據(jù)后,如何告知DSP來讀數(shù),并且在DSP未讀走數(shù)據(jù)時如何告知上位機不能發(fā)數(shù)。對此該設(shè)計采用簡單中斷方式和狀態(tài)寄存器標(biāo)識方案解決上述問題。在PC/104的一次讀寫周期內(nèi),當(dāng)上位機向CPLD發(fā)送一幀16位數(shù)據(jù),鎖存于內(nèi)部寄存器。與此同時CPLD向DSP發(fā)送中斷信號,告知其讀取數(shù)據(jù),并且由CPLD改變狀態(tài)寄存器值,該狀態(tài)值表示工控機不能寫數(shù)據(jù),而DSP讀數(shù)據(jù)。當(dāng)DSP進入中斷程序,讀取數(shù)據(jù)后,再次改變狀態(tài)寄存器值,此時該狀態(tài)值表示DSP已經(jīng)讀走數(shù)據(jù),工控機可以發(fā)下一幀數(shù)據(jù)。以此類推,實現(xiàn)上、下位機的數(shù)據(jù)通信。該解決方案不僅可實現(xiàn)數(shù)據(jù)快速準確的通信,而且也能實現(xiàn)激光標(biāo)刻機脫機標(biāo)刻。狀態(tài)寄存器真值表如表1所示。

        表1 狀態(tài)寄存器真值表

        00無效狀態(tài)

        01工控機寫,DSP不能讀

        10工控機不能寫,DSP讀

        11復(fù)位

        結(jié)合總體設(shè)計思路,根據(jù)PC/104的16位總線時序邏輯,設(shè)計的邏輯狀態(tài)機如圖2所示。

        圖2 邏輯狀態(tài)機

        邏輯時序分析如下:

        (1) 空閑狀態(tài)。上電后,CPLD全局復(fù)位(包括對DSP的復(fù)位),進入空閑狀態(tài)。數(shù)據(jù)總線進入三態(tài),CPLD內(nèi)部所有寄存器清零。

        (2) 地址譯碼狀態(tài)。當(dāng)上位機發(fā)送數(shù)據(jù),在總線地址鎖存信號BALE下升沿有效時,將總線地址鎖存入CPLD內(nèi)部地址鎖存器中。當(dāng)I/O讀寫信號有效時,進入地址譯碼狀態(tài),將鎖存器中的地址信息進行譯碼。

        (3) 數(shù)據(jù)傳輸狀態(tài)。當(dāng)總線地址為合法地址時,先讀取狀態(tài)寄存器值,判定讀/寫權(quán)限后,再進入數(shù)據(jù)傳輸狀態(tài);若地址不合法,直接退回空閑狀態(tài)。

        (4) 等待狀態(tài)。數(shù)據(jù)傳輸完畢,需保持一個時鐘周期,數(shù)據(jù)線進入三態(tài),內(nèi)部寄存器清零,釋放被占設(shè)備。在下一個時鐘周期到來時,進入空閑狀態(tài),等待下一數(shù)據(jù)的傳輸。

        設(shè)計中還要注意運動板卡I/O空間的設(shè)置,由于上層操作系統(tǒng)對PC/104總線預(yù)留有地址范圍,故CPLD內(nèi)部寄存器的地址設(shè)置必須在此范圍內(nèi)。結(jié)合該設(shè)計,數(shù)據(jù)寄存器地址為0X980,狀態(tài)寄存器地址為0X9A0。

        PC/104總線有8位和16位兩種數(shù)據(jù)傳輸模式,在該設(shè)計中,使用的是16位傳輸模式,故I/O 16位芯片選擇信號線在讀/寫周期內(nèi)始終為低電平。

        3 CPLD程序?qū)崿F(xiàn)

        該設(shè)計采用VHDL語言編寫程序,開發(fā)環(huán)境使用Quartus Ⅱ;CPLD器件選擇較常見的EPM3256-ATC144[10]。狀態(tài)機和狀態(tài)寄存器部分的偽代碼如下:

        狀態(tài)編碼:使用格雷碼。格雷碼是一種常見的無權(quán)碼,其特點為各編碼具有相鄰性。采用此編碼,可以避免在組合邏輯中出現(xiàn)的競爭冒險。

        constant 狀態(tài):std_logic_vector(2 downto 0) := \"xxx\";

        狀態(tài)機跳轉(zhuǎn)實現(xiàn):

        process(當(dāng)前狀態(tài),跳轉(zhuǎn)條件) begin

        case 當(dāng)前狀態(tài) is

        when當(dāng)前狀態(tài) =>

        if (跳轉(zhuǎn)條件) then

        下一狀態(tài)<= 下一狀態(tài);

        else

        下一狀態(tài)<= 當(dāng)前狀態(tài);

        end if;

        when OTHERS =>

        下一狀態(tài)<= 初始狀態(tài);

        end case;

        end process;

        PC/104寫數(shù)據(jù):

        process(時鐘,復(fù)位) begin

        if (復(fù)位) then

        數(shù)據(jù)寄存器 <= (others => ′0′);

        elsif rising_edge(時鐘)then

        if (讀條件)then

        if(地址合法 ) then

        數(shù)據(jù)寄存器 <= PC/104總線數(shù)據(jù);

        end if;

        end if;

        end if;

        end process;

        DSP 讀數(shù)據(jù):

        DSP數(shù)據(jù)<= DSP數(shù)據(jù)寄存器 when 讀條件else

        \"ZZZZZZZZZZZZZZZZ\";

        process(時鐘,復(fù)位) begin

        if(復(fù)位) then

        DSP數(shù)據(jù)寄存器<= (others => ′0′);

        elsif rising_edge(時鐘) then

        if(地址合法) then

        DSP數(shù)據(jù)寄存器<=數(shù)據(jù)寄存器;

        end if;

        end if;

        end process;

        狀態(tài)寄存器權(quán)限:

        process(時鐘,復(fù)位) begin

        if(復(fù)位) then

        狀態(tài)寄存器<= ′11′;

        elsif rising_edge(時鐘) then

        if (CPLD寫) then

        狀態(tài)寄存器<= ′01′;

        elsif(DSP讀) then

        狀態(tài)寄存器<= ′10′;

        end if;

        end if;

        end process;

        4 實驗結(jié)果與分析

        圖3給出在Quartus Ⅱ中仿真的波形。

        圖3 仿真圖

        由仿真圖形看出,當(dāng)PC/104一個讀/寫周期內(nèi),上位機往數(shù)據(jù)寄存器地址0X980傳送數(shù)據(jù),通過CPLD的邏輯橋接,數(shù)據(jù)無誤地傳輸?shù)紻SP。當(dāng)向不合法地址0X986傳送數(shù)據(jù)時,CPLD數(shù)據(jù)寄存器內(nèi)部值并沒替換,所以傳到DSP的數(shù)據(jù)仍為上一讀寫周期內(nèi)寄存的數(shù)據(jù)。由此可以清楚地看出,總線數(shù)據(jù)傳輸符合設(shè)計要求。

        將程序下載到實驗板進行實際標(biāo)刻。上位機待標(biāo)刻圖案如圖4(a)所示,金屬薄片實際標(biāo)刻效果如圖4(b)所示。

        從實際應(yīng)用看,上位機標(biāo)刻軟件產(chǎn)生的標(biāo)刻圖案與實際標(biāo)刻圖案吻合,且標(biāo)刻正常,并未出現(xiàn)過燒,不均勻現(xiàn)象,說明上下位機的數(shù)據(jù)通信正常,驗證了該設(shè)計思路的正確性。

        圖4 激光標(biāo)刻實際應(yīng)用

        5 結(jié) 語

        采用可編程邏輯器件CPLD,運用VHDL語言編寫代碼,實現(xiàn)了PC/104與DSP之間的數(shù)據(jù)通信,并將此接口設(shè)計應(yīng)用于嵌入式激光標(biāo)刻運動控制卡,充分發(fā)揮嵌入式技術(shù)實時性高,性能穩(wěn)定的優(yōu)點,最終實現(xiàn)脫機標(biāo)刻。

        參考文獻

        [1]蔣毅,周宏,蔣明,等.基于PC的激光標(biāo)刻系統(tǒng)控制卡設(shè)計[J].計算機測量與控制,2004,12(6):544-546.

        [2]趙巍,撒昱.激光標(biāo)刻系統(tǒng)研究綜述[J].天津工程師范學(xué)院學(xué)報,2006(1):26-28,42.

        [3]蔡培,孫超群,王樹立,等.基于PC/104總線和FPGA的運動控制卡的設(shè)計[J].制造業(yè)自動化,2008(11):68-70.

        [4]陳兵,金敏.DSP 技術(shù)在激光標(biāo)刻控制中的運用[J].機械與電子,2004(6):28-29.

        [5]陽彥字,李建武,汪盛烈,等.激光打標(biāo)控制原理及嵌入式系統(tǒng)設(shè)計[J].中國激光,2004(3):344-346.

        [6]林錦贊,王孝洪,田聯(lián)房,等.基于PC/104和CPLD的巡線機器人運動控制實現(xiàn)[J].機械與電子,2008(9):53-55.

        [7]喻駿,李鵬.PC/104總線與DSP數(shù)據(jù)通信接口設(shè)計[J].現(xiàn)代電子技術(shù),2005,28(2):44-45,48.

        [8]PC/104 Specification v2.4.PC/104 Embedded Consortium.2001.

        [9]Analog Devices Inc.ADSP-BF533 Blackfin Hardware Re-ference.Preliminary Revision.2003.

        [10]MAX 3 000 A Programmable Logic Device Family DataSheet.2006.

        国产天堂av在线一二三四| 欧美深夜福利视频| 大屁股流白浆一区二区| 日韩av一区二区观看| 国产婷婷色一区二区三区在线| 亚洲av无码av吞精久久| 天堂在线观看av一区二区三区| 亚洲一级天堂作爱av| 婷婷色婷婷开心五月四| 欧美 丝袜 自拍 制服 另类| 无码AV高潮喷水无码专区线| 日本人妖一区二区三区| 国产黄污网站在线观看| 日韩激情无码免费毛片 | 欧美午夜精品久久久久免费视| 欧美日韩亚洲国产无线码| 国产一区二区三区不卡视频| 国产欧美精品一区二区三区四区| 久久中文字幕人妻熟av女蜜柚m| 国产女同一区二区在线| 白白色最新福利视频二| 国产老熟女网站| 亚洲国产综合人成综合网站| 免费福利视频二区三区 | 国产乱人偷精品人妻a片| 天堂а√在线最新版中文| 熟女少妇av免费观看| av网站大全免费在线观看| а天堂中文在线官网| 国产av成人精品播放| 国产午夜在线观看视频| 人人妻人人澡人人爽人人dvd| 老熟妻内射精品一区| 大屁股少妇一区二区无码| 高清国产国产精品三级国产av| 亚洲中文字幕一区精品自拍| 国产AV无码专区亚洲AⅤ| 一区二区视频网站在线观看| 日韩精品人妻久久久一二三| 国产精品va无码一区二区| 精品久久久久久午夜|