3.1 正交脈沖采集
光柵尺輸出一組正交脈沖信號(hào),,即相位差為90°的兩路方波,,如圖2所示,。當(dāng)光柵尺正向移動(dòng)一個(gè)柵距時(shí),,光柵尺輸出一個(gè)00—01一11—10—00循環(huán),,A路方波相位超前于B路90°,;當(dāng)光柵尺反向移動(dòng)一個(gè)柵距時(shí),,光柵傳感器輸出一個(gè)00—10一11一01一00循環(huán),,A路方波相位滯后B路90°。
分析A,,B兩路方波的邏輯狀態(tài)發(fā)現(xiàn)A,,B兩路方波在任意時(shí)刻下只有一路信號(hào)發(fā)生邏輯狀態(tài)變化。如果在邏輯狀態(tài)變化前A,,B兩路的狀態(tài)相同,,那么變化后的邏輯狀態(tài)肯定相異;如果變化前A,,B兩路方波邏輯狀態(tài)相異,,那么變化后邏輯狀態(tài)肯定相同。只需對(duì)這兩路信號(hào)異或,,就能提取光柵尺運(yùn)動(dòng)的方向信號(hào)updown以及與運(yùn)動(dòng)距離成正比的計(jì)數(shù)脈沖cp,。光柵尺移動(dòng)一個(gè)柵距將輸出4個(gè)cp脈沖,系統(tǒng)測(cè)量的zui小分辨率提高至1/4柵距,,通常稱為四裂相或四倍頻,。CPLD在每個(gè)clk的上升沿檢測(cè)A,B兩路方波的狀態(tài),,首先分別對(duì)當(dāng)前檢測(cè)的狀態(tài)A0,,B0和上次檢測(cè)的狀態(tài)A1,B1相異或,,然后將兩次異或值再異或,。如果zui后異或值為1,,則說明A,B兩路方波發(fā)生變化,,則向可逆計(jì)數(shù)器輸入一個(gè)高電平寬度為1個(gè)clk周期的計(jì)數(shù)脈沖cp,,
3.2 可逆計(jì)數(shù)器
光柵數(shù)顯尺系統(tǒng)主要用于普通機(jī)床,可直接顯示機(jī)床加丁的長(zhǎng)度值,,有助于提高加工精度和效率,。目前國(guó)內(nèi)市場(chǎng)上的光柵數(shù)顯系統(tǒng)大多采用國(guó)外集成電路實(shí)現(xiàn),研發(fā)成本高,,且不便于操作人員使用,。
針對(duì)這種狀況,研發(fā)了基于MCU+CPLD的新型光柵數(shù)顯系統(tǒng),。該系統(tǒng)具有計(jì)數(shù)精度高,、成本低,、操作方便以及升級(jí)快等特點(diǎn),,能夠處理高達(dá)5 MHz/s的正交脈沖,并在掉電時(shí)有效存儲(chǔ)當(dāng)前長(zhǎng)度值,,其數(shù)碼管可顯示關(guān)鍵的長(zhǎng)度值,,點(diǎn)陣式液晶屏還可顯示相關(guān)的提示信息。
2 系統(tǒng)工作原理
利用CPLD實(shí)現(xiàn)正交脈沖處理邏輯電路,,而可逆計(jì)數(shù)器則用于處理計(jì)數(shù)光柵尺輸出的正交脈沖,,CPLD的高速并行處理能力可保證光柵尺輸出信號(hào)無遺漏采樣,從而確保計(jì)數(shù)的可靠性,??赡嬗?jì)數(shù)器的值通過MCU一系列運(yùn)算后轉(zhuǎn)換為機(jī)床加工的長(zhǎng)度值、MCU再將其長(zhǎng)度值回送至CPLD并在數(shù)碼管上顯示,。
此外,,CPLD還具有7×8鍵盤按鍵檢測(cè)和去抖功能,將處理后的可靠按鍵送至MCU,。MCU主要用于液晶屏的顯示控制,、掉電數(shù)據(jù)保存,以及復(fù)雜的數(shù)學(xué)運(yùn)算,。
3 正交脈沖信號(hào)采集處理
將提取的方向信號(hào)updown和計(jì)數(shù)脈沖cp輸入至可逆計(jì)數(shù)器,,實(shí)現(xiàn)對(duì)光柵尺輸出的正交脈沖計(jì)數(shù)??赡嬗?jì)數(shù)器模塊的VHDL程序如下:
3.3 clk的取值
由于CPLD的采樣時(shí)鐘clk必須大于8倍光柵尺輸出的正交脈沖,,因此系統(tǒng)不會(huì)丟失信號(hào)。該系統(tǒng)設(shè)計(jì)使用40 MHz有源晶體振蕩器作為CPLD的采樣時(shí)鐘源,,可記錄的zui大光柵傳感器輸出信號(hào)頻率為5 MHz,。如果使用50線/mm的光柵尺,,經(jīng)過CPLD的四裂相細(xì)分后,計(jì)算該光柵尺接該系統(tǒng)的zui大不漏數(shù)加工速度為20 μmx5 MHz=100 m/s,,zui小分辨率為5μm,。遠(yuǎn)遠(yuǎn)超出機(jī)床運(yùn)行的極限速度,*實(shí)際需求,。
4.3 掉電時(shí)間計(jì)算
選用工作電壓為4.5 V~5.5 V的STC89C516RD,,當(dāng)電源電壓降至4.5 V以下時(shí),MCU不能可靠工作,。MCU的INT0的中斷服務(wù)程序只能使用電源電壓從4.8 V降至4.5 V的這段時(shí)間,,所有處理必須在該段時(shí)間內(nèi)完成。因此中斷程序設(shè)計(jì)時(shí)應(yīng)盡量考慮使其執(zhí)行時(shí)間zui短,,中斷應(yīng)先將所有存儲(chǔ)的數(shù)據(jù)存入一個(gè)數(shù)組,,然后將該數(shù)組的所有元素寫入AT24C64,當(dāng)然該數(shù)組的元素?cái)?shù)必須小于AT24C64一頁(yè)的長(zhǎng)度.即必須小于32 B,。
當(dāng)輸出電壓為5 V時(shí),,zui大電流為,Imax=0.8 A,,等效負(fù)載R=5/I=6.25 Ω,,與5 V電源并聯(lián)的電容C=4700μF,則系統(tǒng)時(shí)間常數(shù)為?。?tau;=RC=0.029 s,。設(shè)發(fā)生掉電t=0,根據(jù)公式u(t)=Vcc exp(一t/τ)=5 exp(一t/0.029)可知:t=1 183 μs時(shí),,電源電壓Vcc從5 V降至4.8 V,;t=3 055μs時(shí),Vcc降至4.5 V,;t=17 869μs時(shí),,Vcc降到2.7 V。MCU的中斷服務(wù)程序時(shí)間為3 055-1 183=1872μs,,故大于實(shí)測(cè)中斷服務(wù)程序時(shí)間1 350μs,;EEPROM自寫入有效時(shí)間為17 869-3 055=14 814μs,故*EEPROM寫入要求,。
3.4 EPM240簡(jiǎn)介
選用Altera公司的EPM240作為CPLD,,EPM240是MAX Ⅱ系列器件中的一員。MAX Ⅱ CPLD系列的體系結(jié)構(gòu)使其在所有CPLD系列器件的單位I/O引腳的功耗和成本zui低,;支持高達(dá)300 MHz的內(nèi)部時(shí)鐘頻率,,面向通用低密度邏輯應(yīng)用,MAX Ⅱ CPLD可替代高功耗和高成本 ASSP 以及標(biāo)準(zhǔn)邏輯CPLD,。
EPM240含有240個(gè)邏輯單元(LE),,等效于192個(gè)宏單元,;8 192 bit的用戶Flash存儲(chǔ)器,可滿足用戶小容量信息存儲(chǔ)要求:zui大用戶I/O數(shù)為80,,zui快速度為
4.5 ns,,*系統(tǒng)設(shè)計(jì)要求。
4 MCU掉電數(shù)據(jù)存儲(chǔ)
掉電數(shù)據(jù)存儲(chǔ)是系統(tǒng)設(shè)計(jì)的另一重要功能,,要求高可靠性,。系統(tǒng)在掉電時(shí)應(yīng)保存光柵尺的當(dāng)前位置信息,下次開機(jī)時(shí)通過調(diào)用上次掉電時(shí)保存的位置信息恢復(fù)系統(tǒng),。因此,,掉電瞬間,掉電報(bào)警電路將迅速響應(yīng).向MCU_ 發(fā)出報(bào)警信號(hào),;MCU檢測(cè)到報(bào)警信號(hào)后,,馬上進(jìn)行相應(yīng)處理,將當(dāng)時(shí)光柵尺的當(dāng)前位置信息存入EEPROM,。
為了提高M(jìn)CU的掉電響應(yīng)速度,,增強(qiáng)系統(tǒng)可靠性,系統(tǒng)設(shè)計(jì)采用新的增強(qiáng)型51單片機(jī)STC-89C516RD,。該器件具有1 KB RAM和高達(dá)64 KB大容量ROM,,ISP 功能,,指令周期有6clock和12clock兩種可選模式,。使用20 MHz晶體振蕩器,采用6clock模式燒寫時(shí),,單指令周期的程序執(zhí)行時(shí)問僅為0.3μs,,比普通51單片機(jī)在zui高24 MHz晶體振蕩器下的運(yùn)行速度要快得多。因此,,大大縮短了掉電數(shù)據(jù)存儲(chǔ)程序的執(zhí)行時(shí)間,。
4.1 掉電報(bào)警電路
選用超小型高精度電壓檢測(cè)器S80848,內(nèi)部檢測(cè)電壓固定為4.8 V,,精度為±2%,,zui大響應(yīng)時(shí)間為60μs。S80848采用標(biāo)準(zhǔn)5 V供電,,電源正常時(shí)輸出高電平,;當(dāng)電源電壓降至4.8 V時(shí),則輸出低電平,。將S80848的輸出腳連接至MCU 的INT0,,并將MCU的INT0設(shè)置為電平觸發(fā)。因此,,電源電壓只要低于4.8 V就會(huì)使MCU進(jìn)入INT0中斷,,MCU在中斷程序中保存位置信息,。
4.2 EEPROM選取
當(dāng)MCU對(duì)EEPROM的寫操作完成后,EEP-ROM需用10 ms的zui大自寫入時(shí)間將信息寫入存儲(chǔ)單元,。為了使用更多的時(shí)間用于EEPROM自寫入,,選用低壓EEPROM,即AT24C64—2.7 V,,其工作電壓為5.5 V~2.7 V,,容量為64 KB,每頁(yè)為32 B,,zui大寫入次數(shù)為1 000 000 ,。
4.4 中斷服務(wù)程序
為了避免MCU頻繁寫入EEPROM,使用次數(shù)超出zui大有效寫入次數(shù),。中斷程序?qū)χ袛噍斎胍_上的電平進(jìn)行必要濾波,。濾波算法為:系統(tǒng)進(jìn)入中斷程序后,首先關(guān)閉中斷,,然后連續(xù)10次判斷INT0的電平,,如果每次判斷得到的電平值都為低,則繼續(xù)往下執(zhí)行中斷服務(wù)程序,,只要有一次為高則立即退出中斷服務(wù)程序,。完成寫入數(shù)據(jù),要確保INT0上的低電平解除后再返回中斷,,否則等待,,直至低電平解除。中斷服務(wù)程序流程圖如圖5所示,。
5 結(jié)束語(yǔ)
詳細(xì)介紹光柵數(shù)顯尺系統(tǒng)設(shè)計(jì),,采用CPLD可大大簡(jiǎn)化系統(tǒng)硬件設(shè)計(jì),降低系統(tǒng)成本,,增強(qiáng)系統(tǒng)可靠性和靈活性,。選用STC89C516RD,可避免擴(kuò)展外部存儲(chǔ)器,,從而簡(jiǎn)化單片機(jī)的外圍電路設(shè)計(jì),。
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載,、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,,應(yīng)在授權(quán)范圍內(nèi)使用,,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,,本網(wǎng)將追究其相關(guān)法律責(zé)任,。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任,。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),,必須保留本網(wǎng)注明的作品第一來源,,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容,、版權(quán)等問題,,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利,。