• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)控機(jī)床基于PCI 總線的同步位置檢測(cè)卡設(shè)計(jì)*

    2014-06-29 10:21:16劉學(xué)鵬張東升欒宗濤
    關(guān)鍵詞:狀態(tài)機(jī)驅(qū)動(dòng)程序控制電路

    劉學(xué)鵬,張東升,欒宗濤

    (1.中山職業(yè)技術(shù)學(xué)院 機(jī)電工程學(xué)院,廣東 中山 528404,2.西安交通大學(xué) 機(jī)械工程學(xué)院,西安710049)

    0 引言

    當(dāng)前數(shù)控機(jī)床主要發(fā)展方向之一就是高速、高精度,這要求在單位時(shí)間內(nèi)能夠采集和處理大量數(shù)據(jù),具有較好的實(shí)時(shí)性,因此,對(duì)于位置檢測(cè)系統(tǒng)的數(shù)據(jù)傳輸帶寬有著較高的要求[1-6]。PMAC 運(yùn)動(dòng)控制器采用ISA總線,導(dǎo)致上位機(jī)通過(guò)它讀取位置信息的采樣周期較長(zhǎng),在實(shí)際應(yīng)用中,高速進(jìn)給狀態(tài)下會(huì)丟失大量采樣點(diǎn),使檢測(cè)到的數(shù)據(jù)沒有實(shí)際意義。同時(shí),為了實(shí)現(xiàn)復(fù)雜曲面的運(yùn)動(dòng)和造型,數(shù)控設(shè)備需要實(shí)現(xiàn)多軸的協(xié)調(diào)運(yùn)動(dòng),這就需要能夠同時(shí)采集多個(gè)軸的位置,以進(jìn)行分析和反饋處理。

    1 同步位置檢測(cè)卡的總體結(jié)構(gòu)

    整個(gè)系統(tǒng)分為兩個(gè)層次,即硬件層和軟件層。計(jì)算機(jī)為了方便擴(kuò)展,在主板上一般都留有計(jì)算機(jī)總線擴(kuò)展插槽,擴(kuò)展的嵌入式板卡就插在擴(kuò)展插槽里。同步位置檢測(cè)卡主要實(shí)現(xiàn)了兩個(gè)功能,一個(gè)是總線接口,一個(gè)是同步位置檢測(cè)功能。

    總線的接口和檢測(cè)電路的交互是通過(guò)共享空間來(lái)完成的,命令字節(jié)和數(shù)據(jù)都存放在共享空間里。為了實(shí)現(xiàn)對(duì)共享空間的友好訪問,防止沖突,設(shè)計(jì)了握手電路。

    現(xiàn)在的計(jì)算機(jī)操作系統(tǒng)的主流是具有良好人機(jī)界面的Windows 操作系統(tǒng)。在Windows 操作系統(tǒng)下,屏蔽了普通應(yīng)用程序?qū)τ布牟僮?。?shí)現(xiàn)屏蔽功能的主要是靠Windows 設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)來(lái)完成。因此,必須設(shè)計(jì)的擴(kuò)展板卡設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序,主要功能是在Windows 應(yīng)用層獲取硬件設(shè)備,為二次開發(fā)留出良好接口。

    2 同步位置檢測(cè)模塊

    同步位置檢測(cè)模塊所要檢測(cè)的信息主要來(lái)自于位置檢測(cè)傳感器。傳感器分為模擬量傳感器和數(shù)字量傳感器。對(duì)于數(shù)字傳感器,采取必要的抗干擾措施以后,可以直接處理其輸入的信號(hào)。對(duì)于模擬量傳感器,必須先通過(guò)A/D 轉(zhuǎn)換器件對(duì)其輸入的信號(hào)進(jìn)行數(shù)字化處理,然后再傳送到檢測(cè)電路。本文使用的編碼器是典型的數(shù)字量傳感器,沒有使用A/D 轉(zhuǎn)換器件。

    圖1 同步位置檢測(cè)卡總體結(jié)構(gòu)圖

    同步位置檢測(cè)模塊能同步檢測(cè)多個(gè)通道的信息(圖1),這就要求檢測(cè)電路對(duì)于多路數(shù)據(jù)能夠同時(shí)鎖存處理,針對(duì)每個(gè)通道都有一套相類似的處理電路,這些電路組合在一起就組成檢測(cè)電路。當(dāng)數(shù)據(jù)被鎖存以后,還要能夠被讀取,讀取的工作主要是由控制電路來(lái)完成的。控制電路是以AT89C51 型單片機(jī)為核心的單片機(jī)及其擴(kuò)展電路。單片機(jī)按照設(shè)計(jì)的次序從檢測(cè)電路讀取數(shù)據(jù),然后把這些數(shù)據(jù)放到存儲(chǔ)器件里,等待計(jì)算機(jī)通過(guò)PCI 總線來(lái)讀取。存儲(chǔ)器件是一個(gè)雙端口RAM,存儲(chǔ)空間實(shí)際上也就是共享空間,能夠被控制電路和PCI 接口同時(shí)操作。

    共享空間有兩個(gè)作用,一個(gè)作用是存儲(chǔ)從檢測(cè)電路讀取的數(shù)據(jù),另一個(gè)作用是存儲(chǔ)計(jì)算機(jī)發(fā)送的命令字節(jié)。本文雙端口RAM 為地址空間為2K,范圍從0000h~3FFFh,雙端口RAM 的同一個(gè)地址不能同時(shí)被控制電路和PCI 接口操作,因此,數(shù)據(jù)存儲(chǔ)區(qū)劃在邏輯上被劃分為四個(gè)部分,見圖2。由于分為上下兩個(gè)半?yún)^(qū)。當(dāng)控制電路向其中一個(gè)半?yún)^(qū)寫入數(shù)據(jù)時(shí),PCI接口只能從另一個(gè)半?yún)^(qū)讀取數(shù)據(jù),只有當(dāng)控制電路完成對(duì)該半?yún)^(qū)的操作并通知PCI 接口時(shí),PCI 接口才能采取相應(yīng)的操作。命令字節(jié)存儲(chǔ)區(qū)也被分為上下兩個(gè)半?yún)^(qū),這一方面保持了數(shù)據(jù)存儲(chǔ)區(qū)兩個(gè)部分的空間大小相等,簡(jiǎn)化了控制程序的編寫,另一方面也有利于命令字節(jié)的擴(kuò)展。

    圖2 共享空間邏輯劃分

    3 同步位置檢測(cè)卡PCI 接口功能模塊

    根據(jù)同步位置檢測(cè)卡PCI 接口的功能需求,整個(gè)PCI 接口內(nèi)部規(guī)劃為六大模塊,即狀態(tài)機(jī)模塊、奇偶校驗(yàn)?zāi)K、配置邏輯單元、配置寄存器空間、支持狀態(tài)機(jī)的邏輯控制單元和I/O 控制模塊等。

    同步位置檢測(cè)卡PCI 接口狀態(tài)機(jī)模塊:與PCI 總線的控制信號(hào)交互,根據(jù)不通的信號(hào)組合,負(fù)責(zé)交易的啟動(dòng)和轉(zhuǎn)換,與其它模塊配合實(shí)現(xiàn)PCI 總線配置、奇偶校驗(yàn)、I/O 操作等功能,并產(chǎn)生相應(yīng)的本地總線控制信號(hào),與本地器件交互。

    位置檢測(cè)卡PCI 接口奇偶校驗(yàn)?zāi)K:與PCI 總線的奇偶校驗(yàn)信號(hào)交互,實(shí)現(xiàn)數(shù)據(jù)、地址的奇偶校驗(yàn),保證信號(hào)的正確性,以及在發(fā)生校驗(yàn)錯(cuò)誤時(shí),報(bào)告奇偶校驗(yàn)錯(cuò)誤。

    同步位置檢測(cè)卡PCI 接口邏輯配置單元:與PCI總線的接口地址和數(shù)據(jù)信號(hào)交互,在初始化時(shí)期,與PCI 總線控制器配合,實(shí)現(xiàn)PCI 總線的硬件資源的配置功能,實(shí)現(xiàn)資源的可配置,以及在配置交易和數(shù)據(jù)交易時(shí),實(shí)現(xiàn)地址解碼。

    同步位置檢測(cè)卡PCI 接口配置寄存器空間:主要儲(chǔ)存的是用戶配置的PCI 總線的原始硬件信息,在上電初始化最初期,這里的信息被加載到邏輯配置單元。

    同步位置檢測(cè)卡PCI 接口支持狀態(tài)機(jī)的邏輯控制單元:根據(jù)PCI 協(xié)議為狀態(tài)機(jī)產(chǎn)生輸入信號(hào),主要由定時(shí)器組成。定時(shí)器產(chǎn)生定時(shí)信號(hào),限制設(shè)備交易延時(shí)。

    同步位置檢測(cè)卡PCI 接口I/O 控制模塊:與PCI總線接口地址和數(shù)據(jù)信號(hào)交互,實(shí)現(xiàn)了命令、地址位的解碼,在PCI 數(shù)據(jù)/地址多路復(fù)用總線上進(jìn)行數(shù)據(jù)交換。另外,配置空間中的只讀寄存器也將在這部分根據(jù)譯碼結(jié)果,被強(qiáng)制轉(zhuǎn)換到響應(yīng)的地址。

    在這六個(gè)模塊中間,狀態(tài)機(jī)就好比是大腦,它與其它模塊的正確配合才能使整個(gè)接口正常工作。

    根據(jù)狀態(tài)細(xì)分表和控制信號(hào)圖,得出狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖如圖3 所示。

    圖3 同步位置檢測(cè)卡PCI 接口狀態(tài)機(jī)狀態(tài)

    在圖中,主要有兩個(gè)主線,左邊的讀操作和右邊的寫操作?,F(xiàn)在以正常讀操作為例加以說(shuō)明??偩€首先處于IDLE——閑置狀態(tài),當(dāng)PCI 主設(shè)備請(qǐng)求交易時(shí),從設(shè)備發(fā)現(xiàn)并不是訪問自己,則總線處于BUS_BUZY狀態(tài),因?yàn)檫@時(shí)主設(shè)備占用總線,在和別的從設(shè)備交易,知道恢復(fù)閑置狀態(tài)。而如果主設(shè)備請(qǐng)求交易時(shí),自己本身忙于其它交易,處于RETRY 狀態(tài),直到恢復(fù)IDLE狀態(tài)。如果設(shè)備正常啟動(dòng)一個(gè)讀交易,則首先到SWAIT 狀態(tài),等待被讀的數(shù)據(jù)放到總線上,然后到SREAD 狀態(tài),讀走數(shù)據(jù)。如此這樣交易,直到最后主設(shè)備發(fā)出信號(hào),準(zhǔn)備正常結(jié)束交易,則進(jìn)入FINISH 狀態(tài)。當(dāng)所有的信號(hào)回復(fù)初始狀態(tài),于是總線又回到IDLE態(tài)。其它五個(gè)模塊的實(shí)現(xiàn)方法類似,以同步位置檢測(cè)卡PCI 接口I/O 控制模塊為例說(shuō)明。

    4 數(shù)據(jù)采樣模塊

    在圖4 中,編碼器安裝在絲杠伺服電機(jī)的尾部,根據(jù)絲杠的旋轉(zhuǎn)角度發(fā)出脈沖信號(hào),限位開關(guān)是光柵尺的一部分,發(fā)出零點(diǎn)定位信號(hào),這些信號(hào)通過(guò)IO 口發(fā)送到嵌入在PC 機(jī)里的位置檢測(cè)卡里。為了減少現(xiàn)場(chǎng)的噪聲和干擾,使用了光耦器件,把采集到的信號(hào)與檢測(cè)卡將要處理的信號(hào)隔離。通過(guò)對(duì)編碼器的A、B 兩相信號(hào)和限位開關(guān)的電平信號(hào)的處理,可以判定絲杠是正向旋轉(zhuǎn)還是反向旋轉(zhuǎn),或是到達(dá)零點(diǎn)位置,從而發(fā)出相應(yīng)的控制信號(hào)。采樣電路主要是兩個(gè)可逆計(jì)數(shù)器,分別對(duì)X、Y軸計(jì)數(shù)。通過(guò)預(yù)處理電路發(fā)出的控制信號(hào),控制計(jì)數(shù)器遞增計(jì)數(shù)或者遞減計(jì)數(shù)。通過(guò)讀取計(jì)數(shù)器的具體數(shù)值,就可以知道工作臺(tái)的具體位置。

    圖4 數(shù)據(jù)采集圖

    5 同步位置檢測(cè)卡控制電路的設(shè)計(jì)

    AT89C51 型單片機(jī)具有很好的擴(kuò)展性,內(nèi)部自帶有4k 的程序存儲(chǔ)器,并且有4 個(gè)8 位的IO 口用于擴(kuò)展,還帶有一個(gè)全雙工的串口。圖5 實(shí)現(xiàn)以單片機(jī)為核心的控制電路。

    圖5 同步位置檢測(cè)卡控制電路原理

    在位置檢測(cè)卡上,晶振給單片機(jī)提供了工作時(shí)鐘。為了配合單片機(jī)的串行通信,采用的是11.0592 MHz的晶振。位置檢測(cè)卡使用單片機(jī)的P0 口作為地址和數(shù)據(jù)線的復(fù)用通道。當(dāng)在地址周期時(shí),與控制信號(hào)線配合,通過(guò)CPLD 中設(shè)計(jì)的鎖存器鎖存地址。在數(shù)據(jù)周期時(shí),直接通過(guò)P0 口從雙端口RAM 中讀取或者寫入數(shù)據(jù)??刂菩盘?hào)線主要是以單片機(jī)的P1 口的為基礎(chǔ)擴(kuò)展的。

    計(jì)算機(jī)通過(guò)PCI 接口INT0 中斷給單片機(jī)。同時(shí),單片機(jī)也可以給外部發(fā)送中斷,通過(guò)擴(kuò)展P1 口的信號(hào)線的功能來(lái)實(shí)現(xiàn)。

    為了檢驗(yàn)計(jì)算機(jī)從雙端口RAM 中讀取數(shù)據(jù)的正確與否,使用單片機(jī)的串行通信功能。在設(shè)置時(shí),用到了定時(shí)器1 作為波特率發(fā)生器。波特率是9600bps。

    6 同步位置檢測(cè)卡設(shè)備驅(qū)動(dòng)程序

    為位置檢測(cè)卡開發(fā)的一個(gè)完整的WDM 驅(qū)動(dòng)程序可以被看作是一個(gè)容器,它包含許多例程,當(dāng)操作系統(tǒng)遇到一個(gè)IRP 時(shí),它就調(diào)用這個(gè)容器中的例程來(lái)執(zhí)行該IRP 的各種操作。有些例程,例如DriverEntry 和AddDevice,還有與幾種IRP 對(duì)應(yīng)的派遣函數(shù)將出現(xiàn)在每一個(gè)這樣的容器中。需要對(duì)IRP 排隊(duì)的驅(qū)動(dòng)程序一般都有一個(gè)StartIo 例程。執(zhí)行DMA 傳輸?shù)尿?qū)動(dòng)程序應(yīng)有一個(gè)AdapterControl 例程。大部分能生成硬件中斷的設(shè)備,其驅(qū)動(dòng)程序都有一個(gè)中斷服務(wù)例程(ISR)和一個(gè)推遲過(guò)程調(diào)用(DPC)例程。

    為了使同步位置檢測(cè)卡能夠被Win32 用戶訪問,在Windows 2000 系統(tǒng)里,同步位置檢測(cè)卡的驅(qū)動(dòng)程序使硬件設(shè)備像一個(gè)文件,對(duì)其的操作像是對(duì)文件的操作。用戶態(tài)應(yīng)用程序使用Win32 函數(shù)CreateFile 訪問驅(qū)動(dòng)程序。使用CreateFile 訪問一個(gè)文件的時(shí)候,需要知道具體文件的名稱,因此,訪問驅(qū)動(dòng)程序的時(shí)候,也必然要有一個(gè)唯一設(shè)備名稱以供函數(shù)調(diào)用。這個(gè)唯一的設(shè)備名稱就是該設(shè)備的符號(hào)鏈接名。每個(gè)設(shè)備使一個(gè)定義的應(yīng)用程序編程接口(API)可用,全局唯一標(biāo)識(shí)符(GUID)用于標(biāo)示這個(gè)接口。應(yīng)用程序?yàn)榱嗽L問位置檢測(cè)卡,必須首先得到卡的接口名,取得該設(shè)備對(duì)象的句柄。在取得了同步位置檢測(cè)卡的設(shè)備句柄以后,就像訪問普通的文件一樣,可以調(diào)用Win32 API 函數(shù)訪問設(shè)備,實(shí)現(xiàn)I/O 操作。完成操作以后,要調(diào)用CloseHandle 關(guān)閉句柄。

    7 結(jié)論

    (1)分析了位置檢測(cè)卡的功能要求。分析了同步位置檢測(cè)卡的整體功能需求,按照檢測(cè)原理對(duì)同步位置檢測(cè)功能模塊進(jìn)行了功能細(xì)分,確定了PCI 總線接口模塊的方案。

    (2)設(shè)計(jì)了位置檢測(cè)卡硬件線路。首先根據(jù)功能要求,分析了電路原理,并選用合適的電子器件,繪制了電路原理圖。其次,按照抗干擾原則,在雙層PCB板上布置了電子元件并進(jìn)行了布線。

    [1]Mei XS,Tsitsimi M,Yamazaki,T.,Sun NG. Study of the Friction Error for a High-speed High Precision Table[J].International Journal of Machine tools and manufacture,2001,141:1405 -1415.

    [2]堤正臣,大友誠(chéng)司,摩擦を考慮したCNC 工作機(jī)械の送り驅(qū)動(dòng)系の數(shù)學(xué)モテル[J],精密工學(xué)會(huì)志,1995,61:1458 -1465.

    [3]榮盤祥,劉楠,曲崢敏.開放式數(shù)控系統(tǒng)運(yùn)動(dòng)控制器的設(shè)計(jì)[J].哈爾濱理工大學(xué)學(xué)報(bào),2010 (3):36 -39.

    [4]唐建生,劉云豫,王宏穎.數(shù)控機(jī)床檢測(cè)元件故障診斷及維修實(shí)例[J].機(jī)床與液壓,2008 (10):290 -291.

    [5]Rafiq Ahmad ,Stephane Tichadou ,Jean-Yves Hascoet,3D safe and intelligent trajectory generation for multi-axis machine tools using machine vision[J].International Journal of Computer Integrated Manufacturing, 2013,26 (4 ):365 -385.

    猜你喜歡
    狀態(tài)機(jī)驅(qū)動(dòng)程序控制電路
    基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
    2017款本田雅閣車控制電路(二)
    2014款雷克薩斯CT200h車控制電路(一)
    2018款別克GL8車控制電路(二)
    2016款邁騰B8L車控制電路(一)
    FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
    基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
    基于VHDL的一個(gè)簡(jiǎn)單Mealy狀態(tài)機(jī)
    驅(qū)動(dòng)程序更新與推薦
    驅(qū)動(dòng)程序更新與推薦
    马尔康县| 登封市| 鲁山县| 灌云县| 阿拉善右旗| 荆州市| 黑龙江省| 新建县| 微博| 盱眙县| 芮城县| 漳平市| 抚松县| 郑州市| 赞皇县| 丰原市| 甘德县| 平武县| 景泰县| 绵阳市| 新源县| 新野县| 磐石市| 平凉市| 乡城县| 大悟县| 沧州市| 昔阳县| 辽宁省| 大名县| 房山区| 长沙市| 湘潭市| 温州市| 龙海市| 中牟县| 澎湖县| 乐平市| 浙江省| 普兰店市| 乌兰县|