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

        ?

        基于STD總線的多路數(shù)字I/O設(shè)計

        2010-04-12 00:00:00孫德田
        現(xiàn)代電子技術(shù) 2010年11期

        摘 要:隨著人們生活水平的日益提高,工業(yè)控制的對象數(shù)量也與日俱增,對I/O模塊的開發(fā)需進(jìn)一步加強。為了滿足工業(yè)控制方面的I/O數(shù)量多,操作方便,使用靈活,可靠性高等方面的較高要求,實現(xiàn)了一種基于STD總線,以工業(yè)控制計算機為主控制器,應(yīng)用Xilinx公司的CPLD開發(fā)平臺,面向工業(yè)控制的多路數(shù)字I/O設(shè)計。工業(yè)控制計算機通過多路數(shù)字I/O板,實現(xiàn)了多達(dá) 128 位I/O被控對象的讀、寫控制,并且速度快、性能穩(wěn),能夠充分滿足工業(yè)控制的要求。

        關(guān)鍵詞:STD總線; I/O; CPLD; 工業(yè)控制

        中圖分類號:TP316 文獻(xiàn)標(biāo)識碼:A

        文章編號:1004-373X(2010)11-0200-03

        Design of Multi-channel Digital I/O Based on STD Bus

        SUN De-tian

        (Shenyang Ligong University, Shenyang 110168, China)

        Abstract: A design of multi-channel digital I/O interface module for industrial control is completed to meet the requirements of industrial control charactristics such as large number of multi-channel I/O interfaces, easy operation, flexible application, high reliability, which is based on STD bus, industrial control computer-based controller and CPLD(complex programmable logic device)development platform of Xilinx Corporation. The reading and writing control of 128-bit I/O controlled object was achieved with the technology by an industrial control computer.

        Keywords: STD bus; I/O; CPLD; industrial control

        在工業(yè)控制領(lǐng)域,數(shù)字I/O以其簡單、靈活的特性,得到了廣泛的應(yīng)用。以往對于數(shù)字I/O的應(yīng)用和數(shù)量增加的方法通常用GAL和專用I/O芯片采用譯碼擴展等方式來實現(xiàn)[1],這種方式盡管能夠滿足一定程度上的要求,但對于更大數(shù)量的I/O應(yīng)用,比如幾十甚至上百路的數(shù)字I/O,就勉為其難了。為了滿足這種要求,并且進(jìn)一步提高數(shù)字I/O的使用效率,專門針對多路數(shù)字I/O進(jìn)行了基于STD總線的設(shè)計,應(yīng)用Xilinx公司的CPLD進(jìn)行編程開發(fā),實現(xiàn)了64位數(shù)字輸入DIN 0~DIN 31和 64 位數(shù)字輸出DOUT 0~DOUT 31,同時每一路I/O可以獨立編程,既可以作為輸入又可以作為輸出。

        1 STD總線

        目前,STD標(biāo)準(zhǔn)[3]總線已成為工業(yè)控制領(lǐng)域內(nèi)最流行的標(biāo)準(zhǔn)總線之一[4],主要用于8位微處理機和單片機工業(yè)控制系統(tǒng)。STD總線的典型結(jié)構(gòu)如圖1所示。

        在工業(yè)控制系統(tǒng)的實際應(yīng)用中,上位機、主控模塊等往往需要通過STD總線,根據(jù)STD總線的協(xié)議、特性[5]訪問其他的單片機系統(tǒng)[1]。例如,在某測量設(shè)備中,上位機、主控模塊可以通過總線上的I/O模塊、A/D模塊接口,采集傳感器的量值,通過STD總線訪問RAM模塊,以及通過STD總線進(jìn)行主控模塊與總線上其他控制器之間,主控模塊與上位機之間的通信與數(shù)據(jù)交換等,構(gòu)成了一個微型的工業(yè)控制網(wǎng)絡(luò)[6]。本文的多路數(shù)字I/O就是STD總線中的一個模塊。

        圖1 STD總線典型結(jié)構(gòu)圖

        2 多路數(shù)字I/O的硬件設(shè)計

        2.1 電路組成

        主要由可編程邏輯電路、電平調(diào)理電路、總線接口電路以及電源電路等組成??删幊踢壿嬘布捎肵ilinx公司的CPLD器件XC95288,應(yīng)用Xilinx公司的Project Navigator(ISE)集成開發(fā)環(huán)境進(jìn)行編程開發(fā);電平調(diào)理電路采用74LS245,具有輸入輸出電平轉(zhuǎn)換的功能,還可以通過接繼電器或者光電隔離器與外設(shè)接口;總線接口電路采用 74LS245,對74LS245 的DIR(方向)進(jìn)行讀寫編程,實現(xiàn)了與STD總線的數(shù)據(jù)通信,電源電路為CPLD以及電平轉(zhuǎn)換電路等提供必需的電源系統(tǒng)。

        硬件實現(xiàn)框圖如圖2所示,虛線框內(nèi)為多路數(shù)字I/O的硬件電路部分。

        圖2 硬件實現(xiàn)框圖

        2.2 性能特點

        數(shù)量多 CPLD芯片XC95288具有208個管腳,其中用戶I/O管腳數(shù)量達(dá)到168個,除了地址總線、數(shù)據(jù)總線以及片選信號等所占用40個I/O之外,其余的128個I/O完全可以作為通用I/O編程使用;

        面積小 如此眾多數(shù)量的I/O,完全由一片CPLD來實現(xiàn),簡化了電路設(shè)計程序,減少了PCB的設(shè)計面積,又提高了數(shù)字I/O的穩(wěn)定性;

        靈活性高 由于每一個I/O都可獨立編程,因此在使用過程中變得非常靈活,可以根據(jù)現(xiàn)場需求隨時改變其輸入、輸出,在工業(yè)控制應(yīng)用領(lǐng)域為產(chǎn)品的增強與升級提供了極大的靈活性。

        此外,該設(shè)計還具有傳輸速度高(由CPLD的傳輸特性決定)及電平兼容性好等特點,可滿足用戶在測試、控制及設(shè)計應(yīng)用中的多種需求。

        3 多路數(shù)字I/O的程序設(shè)計

        該系統(tǒng)使用業(yè)界領(lǐng)先的 FPGA 設(shè)計環(huán)境Xilinx ISE,其將先進(jìn)的技術(shù)與靈活性、易使用性的圖形界面結(jié)合在一起,可以在最短的時間,獲得最佳的硬件設(shè)計。XC95288 CPLD是低功耗3.3 V器件,288個宏單元,6 400個可用邏輯門,168個用戶I/O,再加上靈活、高度優(yōu)化的VHDL硬件描述語言,實現(xiàn)了128位數(shù)字I/O的程序化設(shè)計。

        3.1 部分程序代碼

        部分程序代碼如下:

        if iorq=′0′and wr=′0′ then

        case addr is

        when ″0110000000″=>en_245<=′0′;dir_245<=′1′; temp0<=bd;out0<=bd;

        when ″0110000001″=>en_245<=′0′;dir_245<=′1′; temp1<=bd;out1<=bd;

        when ″0110000010″=>en_245<=′0′;dir_245<=′1′; temp2<=bd;out2<=bd;

        when ″0110000011″=>en_245<=′0′;dir_245<=′1′; temp3<=bd;out3<=bd;

        when ″0110000100″=>en_245<=′0′;dir_245<=′1′; temp4<=bd;out4<=bd;

        when ″0110000101″=>en_245<=′0′;dir_245<=′1′; temp5<=bd;out5<=bd;

        when ″0110000110″=>en_245<=′0′;dir_245<=′1′; temp6<=bd;out6<=bd;

        when ″0110001101″=>en_245<=′0′;dir_245<=′1′; temp7<=bd;out7<=bd;

        when others=>en_245<=′0′;dir_245<=′1′;bd<=″ZZZZZZZZ″;

        end case;

        elsif iorq=′0′ and rd=′0′ then

        case addr is

        when ″0110000000″=>en_245<=′0′;dir_245<=′0′;bd<=temp0;

        when ″0110000001″=>en_245<=′0′;dir_245<=′0′;bd<=temp1;

        when ″0110000010″=>en_245<=′0′;dir_245<=′0′;bd<=temp2;

        when ″0110000011″=>en_245<=′0′;dir_245<=′0′;bd<=temp3;

        when ″0110000100″=>en_245<=′0′;dir_245<=′0′;bd<=temp4;

        when ″0110000101″=>en_245<=′0′;dir_245<=′0′;bd<=temp5;

        when ″0110000110″=>en_245<=′0′;dir_245<=′0′;bd<=temp6;

        when ″0110001101″=>en_245<=′0′;dir_245<=′0′;bd<=temp7;

        when ″0110001000″=>en_245<=′0′;dir_245<=′0′;bd<=io_in0 ;

        when ″0110001001″=>en_245<=′0′;dir_245<=′0′;bd<=io_in1 ;

        when ″0110001010″=>en_245<=′0′;dir_245<=′0′;bd<=io_in2 ;

        when ″0110001011″=>en_245<=′0′;dir_245<=′0′;bd<=io_in3 ;

        when ″0110001100″=>en_245<=′0′;dir_245<=′0′;bd<=io_in4 ;

        when ″0110000111″=>en_245<=′0′;dir_245<=′0′;bd<=io_in5 ;

        when ″0110001110″=>en_245<=′0′;dir_245<=′0′;bd<=io_in6 ;

        when ″0110001111″=>en_245<=′0′;dir_245<=′0′;bd<=io_in7 ;

        when others=>en_245<=′0′;dir_245<=′1′;bd<=″ZZZZZZZZ″;

        end case;

        else

        out0<=temp0;out1<=temp1;out2<=temp2;

        out3<=temp3;out4<=temp4;out5<=temp5;

        out6<=temp6;out7<=temp7;bd<=″ZZZZZZZZ″;

        en_245<=′1′;dir_245<=′1′;

        end if;

        其中:addr是10位地址總線;bd是8位數(shù)據(jù)總線;en_245和dir_245分別是STD總線接口芯片74LS245的片選使能與方向信號;tempx是片內(nèi)寄存器;io_inx和outx分別是8位輸入、8位輸出I/O口。

        3.2 性能描述

        多路數(shù)字I/O口的選擇由10位地址決定,不同的地址操作不同的I/O端口,在I/O非動態(tài)情況下,數(shù)據(jù)總線處于高阻狀態(tài),避免了總線沖突,同時也提高了I/O端口的穩(wěn)定性,減少了高速數(shù)據(jù)傳輸條件下引起不必要的錯誤[7],根據(jù)現(xiàn)場對I/O輸入、輸出的需要,可以修改程序,靈活改變端口的功能,另外,對于輸出端口,加入了數(shù)據(jù)寫出后讀回的功能,使得上位機能夠隨時驗證寫出數(shù)據(jù)的正確性,對于外設(shè)信號,通過信號調(diào)理板實現(xiàn)電平匹配[8],進(jìn)一步增加了本設(shè)計的功能可靠性。

        4 結(jié) 語

        以CPLD器件為核心,選用Xilinx公司的ISE作為硬件開發(fā)平臺,并采用VHDL編程語言,充分應(yīng)用了可編程邏輯器件的特點,發(fā)揮了VHDL硬件描述語言的編程優(yōu)點。減少了芯片數(shù)量,既做到了系統(tǒng)小型化又降低了成本[9]。程序已通過綜合實驗,應(yīng)用了STD總線的通訊特點,與總線上的其他板卡、設(shè)備通訊也極為方便,既解決了工業(yè)通信網(wǎng)絡(luò)的一般問題[10],又達(dá)到了工業(yè)通用I/O的較高要求??傊?,該多路數(shù)字I/O設(shè)計容量高、功耗低、速度快,不僅具有通用性、實用性,而且具有靈活性和移植性,便于調(diào)試,為高速I/O開發(fā)設(shè)計提供了一種很好的嘗試[11],相信在很多行業(yè)都會有廣闊的應(yīng)用前景。

        參考文獻(xiàn)

        [1]胡漢才.單片機原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,1996.

        [2]姚駿.STD總線技術(shù)現(xiàn)狀及發(fā)展趨勢[J].計算機應(yīng)用,1990(2):20-22.

        [3]楊森,孟晨,王成.基于STD標(biāo)準(zhǔn)的ATS運行時系統(tǒng)設(shè)計與應(yīng)用[J].儀表技術(shù),2009(7):30-32.

        [4]楊慧,楊英,王平.雙端口RAM在STD總線與單片機通訊中的應(yīng)用[J].機械管理開發(fā),2008(2):166-167.

        [5]王禎,王慧蓉.STD總線技術(shù)[J].無線電工程,1990(2):67-71.

        [6]李保林,劉繼光.基于單片機的工業(yè)控制網(wǎng)絡(luò)模塊的研制[J].實驗技術(shù)與管理,2009(1):59-62,65.

        [7]牟華,劉勛章,陳亞駿.光纖數(shù)據(jù)傳輸板中ROCKET I/O設(shè)計[J].電子技術(shù),2009,34(6):64-67.

        [8]黃樹毅.采用STD總線技術(shù)的伺服機構(gòu)測試儀[J].測控技術(shù),1993,12(3):24-26.

        [9]Matt Klein.Xilinx FPGA的功耗優(yōu)化設(shè)計[J].世界電子元器件,2009(4):18-20.

        [10]何芳,李紅信.無線擴展Profibus DP 和Profinet I/O的設(shè)計[J].微計算機信息,2009,25(12):119-121.

        [11]王濤,張德源,郭建軍.Compact PCI/PCI總線高速數(shù)字I/O的設(shè)計[J].中國測試技術(shù),2005(6):110-112.

        国产精品自线在线播放| 欲妇荡岳丰满少妇岳| 大尺度无遮挡激烈床震网站 | 在线免费观看亚洲天堂av| 久久夜色精品国产亚洲av老牛| 亚洲中文字幕乱码免费看| 婷婷久久亚洲中文字幕| 国产91精品在线观看| 肥老熟女性强欲五十路| 国产精品免费观看调教网| 天天噜日日噜狠狠噜免费| 精品国产乱码久久久久久1区2区 | 成熟人妻av无码专区| 无码人妻丰满熟妇精品区| 亚洲欧洲精品成人久久曰影片| 五月天无码| 国产精品久久夜伦鲁鲁| 亚洲av永久一区二区三区| 中文字幕国产精品一二三四五区 | 国产精品天堂在线观看| 精品卡一卡二乱码新区| 山外人精品影院| 国产乱xxⅹxx国语对白| 久久久久99精品成人片试看| 日韩中文在线视频| 成人精品免费av不卡在线观看| 亚洲精品女优中文字幕| 精品国产一区二区三区av免费| 日韩综合无码一区二区| 国内揄拍国内精品人妻浪潮av| 国产最新地址| 精品国产1区2区3区AV| 激情网色图区蜜桃av| 好吊妞视频这里有精品| 久久精品无码中文字幕| 国产成人精品亚洲午夜| 日本一区不卡高清在线观看| 黄片国产一区二区三区| 免费观看国产短视频的方法| 久久精品国产免费观看| 久久精品无码中文字幕|