基于FPGA的VME自定義總線接口設(shè)計(jì)論文
1.引言
在光刻機(jī)雙工件臺控制系統(tǒng)中,VME總線使用了三個(gè)接口共430根線路接入,通過背板互聯(lián)的有P1,P2兩個(gè)接口320根線路接入。實(shí)際上VME標(biāo)準(zhǔn)協(xié)議并沒有完全使用全部線路,而是為用戶預(yù)留了部分自定義線路,增加了設(shè)計(jì)的靈活性。由于VME總線主要用于工控機(jī)與各板卡的通信,同步控制卡與激光計(jì)數(shù)卡和光柵譯碼卡使用總線就會產(chǎn)生嚴(yán)重沖突,影響采用是實(shí)時(shí)性,因此這里將VME總線中未使用的管腳作為自定義總線管腳,這樣避免了增加新的硬件接口,而且在硬件設(shè)計(jì)上可以和VME總線一起考慮。
自定義同步總線數(shù)據(jù)傳輸完全根據(jù)主控總線提供的時(shí)序進(jìn)行,地址線包含了對數(shù)據(jù)發(fā)送和接收方的定義。每個(gè)總線傳輸周期中,數(shù)據(jù)發(fā)送端和接收端的身份根據(jù)地址尋址關(guān)系自動切換,而避免了總線控制權(quán)更迭時(shí)的握手,及數(shù)據(jù)傳輸優(yōu)先級或傳輸搶占等問題,總線控制信號來自同一個(gè)時(shí)鐘域,從節(jié)點(diǎn)僅響應(yīng)控制信號,可忽略節(jié)點(diǎn)間時(shí)鐘相位差影響。在每個(gè)伺服周期,設(shè)計(jì)了一個(gè)數(shù)據(jù)傳輸序列來實(shí)現(xiàn)共享數(shù)據(jù)交互。數(shù)據(jù)傳輸序列由若干個(gè)總線傳輸周期構(gòu)成,每個(gè)周期完成32bit的數(shù)據(jù)共享。通過設(shè)定總線地址來設(shè)置數(shù)據(jù)傳輸序列的傳輸內(nèi)容,當(dāng)所有的設(shè)定總線地址被遍歷,則當(dāng)前周期數(shù)據(jù)傳輸已經(jīng)完成,所有被規(guī)劃傳輸?shù)臄?shù)據(jù)都被所有的運(yùn)動控制卡所共享。
2.VME自定義總線邏輯協(xié)議的實(shí)現(xiàn)
VME自定義總線是一條并行運(yùn)行的總線,該總線釆用數(shù)據(jù)廣播的方式,可以方便各個(gè)板塊同時(shí)接收同一個(gè)數(shù)據(jù)。其由同步控制卡提供5KHz時(shí)鐘,每200us同步控制卡將數(shù)據(jù)鎖存線拉高,向光柵譯碼卡發(fā)出一個(gè)脈沖,此時(shí)光柵譯碼卡和激光干涉儀等設(shè)備鎖存該時(shí)刻的數(shù)據(jù),其讀數(shù)不再發(fā)生變化,然后同步控制卡產(chǎn)生一連串的讀取信號,將各個(gè)光柵尺的數(shù)據(jù)讀出。同時(shí)切換總線上的地址,并生成釆樣保持,讀取和地址三個(gè)信號置于自定義總線,運(yùn)動控制卡通過對自身所需的地址的識別在讀信號低電平時(shí)獲得相應(yīng)位置傳感器的信號。
2.1 VME自定義總線接口的實(shí)現(xiàn)
VME自定義總線在VME的P2口上,時(shí)鐘頻率是5KHz,用于傳輸激光干涉儀和光柵尺的測量數(shù)據(jù)。在實(shí)際應(yīng)用中,位置環(huán)釆樣周期為200us,并且有大量的實(shí)時(shí)伺服數(shù)據(jù)在運(yùn)動控制卡與光柵譯碼卡之間、運(yùn)動控制卡與運(yùn)動控制卡之間、運(yùn)動控制卡與同步總線控制卡之間交換。如果在運(yùn)動控制中,這些伺服數(shù)據(jù)使用VME總線進(jìn)行交換,則會堵塞系統(tǒng)總線,使PowerPC無法進(jìn)行正常工作。為此,利用光柵譯碼卡的技術(shù)特點(diǎn)以及VME的P2自定義接口,構(gòu)造自定義局部總線。并設(shè)計(jì)專用同步總線控制模塊對同步總線進(jìn)行控制。自定義同步總線接口邏輯同樣釆用FPGA芯片來實(shí)現(xiàn),使其達(dá)到靈活、可靠、集成度高的設(shè)計(jì)要求。
自定義同步總線的主控制器由運(yùn)動控制系統(tǒng)中的同步總線控制卡來實(shí)現(xiàn),而運(yùn)動控制卡中只需實(shí)現(xiàn)自定義總線的從接口。從控制器結(jié)構(gòu)如圖1所示,其功能包含以下方面:
提供DSP對于雙口RAM訪問的地址譯碼,將DSP的標(biāo)準(zhǔn)EMIF接口時(shí)序轉(zhuǎn)換成雙口RAM訪問時(shí)序,該功能在EMIF時(shí)序匹配模塊中完成;
完成自定義總線的讀寫邏輯,當(dāng)自定義總線的地址有效后,數(shù)據(jù)方向控制模塊將判斷當(dāng)前運(yùn)動控制卡是數(shù)據(jù)發(fā)送端還是數(shù)據(jù)接收方,以切換數(shù)據(jù)總線方向;
當(dāng)某一個(gè)特定的自定義總線地址訪問出現(xiàn)的時(shí)候,總線時(shí)序匹配模塊將產(chǎn)生中斷信號提供給DSP,提供同步觸發(fā)步控制卡VME自定義總線邏輯功能的實(shí)現(xiàn)
光柵譯碼卡接收來自光柵尺的信號,實(shí)現(xiàn)對工件臺宏動部分的位置測量,測量數(shù)據(jù)通過自定義總線傳送給同步控制卡。同步控制卡通過內(nèi)部的定時(shí)器,產(chǎn)生運(yùn)動周期開始信號,讀取光柵譯碼卡的數(shù)據(jù),然后將各個(gè)運(yùn)動控制卡所需的信號,按照一定的地址編碼,發(fā)送到VME64X總線的自定義總線上,由運(yùn)動控制卡接收。運(yùn)動控制卡接收到同步控制卡的運(yùn)動周期開始信號后,依次接收指令位置和光柵尺數(shù)據(jù),運(yùn)動控制卡進(jìn)行數(shù)據(jù)存儲等其他操作,并等待下個(gè)運(yùn)動周期的開始信號。
對于同步控制卡FPGA中邏輯協(xié)議的設(shè)計(jì),釆用三段式狀態(tài)機(jī)進(jìn)行設(shè)計(jì),第一段描述次態(tài)寄存器轉(zhuǎn)到現(xiàn)態(tài)寄存器;第二段對狀態(tài)轉(zhuǎn)移條件進(jìn)行判斷,從而完成狀態(tài)轉(zhuǎn)移變換;第三段描述在各個(gè)狀態(tài)完成的動作和對狀態(tài)轉(zhuǎn)移條件進(jìn)行描述。
2.2 同步控制卡VME自定義總線讀取光柵尺的邏輯轉(zhuǎn)換
每200us向光柵譯碼卡發(fā)出一個(gè)脈沖,光柵譯碼卡接收到該脈沖后就會鎖存當(dāng)前數(shù)據(jù),當(dāng)脈沖到來時(shí)則轉(zhuǎn)到S1狀態(tài),否則仍然處于S0。在S1狀態(tài)時(shí)等待20ns,即讓光柵譯碼卡把數(shù)據(jù)鎖存完成,接著轉(zhuǎn)到狀態(tài)S2。在狀態(tài)S2,將地址發(fā)送給光柵譯碼卡,并且等待30ns,讓輸出數(shù)據(jù)穩(wěn)定,然后轉(zhuǎn)到狀態(tài)S3。在狀態(tài)S3,將數(shù)據(jù)鎖存,讀操作的次數(shù)置零,并且將地址發(fā)送給雙口RAM,延時(shí)10ns等待數(shù)據(jù)和地址穩(wěn)定,然后轉(zhuǎn)到狀態(tài)S4。在S4對雙口RAM進(jìn)行寫操作使能,即給寫使能引腳置高電平,然后進(jìn)入狀態(tài)S5。在S5將讀操作次數(shù)加1,并判斷是12路數(shù)據(jù)是否讀取完畢,即讀次數(shù)是否等于12,若否則進(jìn)入狀態(tài)S6,否則進(jìn)入狀態(tài)S11。從狀態(tài)S6到狀態(tài)S10重復(fù)狀態(tài)S1到S5的過程,直到讀取完成。在狀態(tài)S11,發(fā)出讀取完成脈沖,并延時(shí)20ns到狀態(tài)S12,最后返回狀態(tài)S0等待。同步控制卡VME自定義總線設(shè)計(jì)實(shí)測結(jié)果,實(shí)測模塊是接收12路光柵尺的數(shù)據(jù),從圖3可以看出,送到光柵譯碼卡的地址,在延遲一定時(shí)間后,穩(wěn)定的數(shù)據(jù)才輸出,所以這里是根據(jù)實(shí)測的延遲時(shí)間來決定模塊設(shè)計(jì)中的.相關(guān)信號的延遲。
將數(shù)據(jù)寫人緩存必須等待數(shù)據(jù)穩(wěn)定才能發(fā)出寫信號。運(yùn)動控制卡讀取VME自定義總線數(shù)據(jù)邏輯功能的實(shí)現(xiàn),在光刻機(jī)雙工件臺控制系統(tǒng)中,每塊運(yùn)動控制卡實(shí)現(xiàn),同步控制卡VME自定義總線設(shè)計(jì)實(shí)測結(jié)果。
實(shí)測模塊是接收12路光柵尺的數(shù)據(jù),從圖3可以看出,送到光柵譯碼卡的地址,在延遲一定時(shí)間后,穩(wěn)定的數(shù)據(jù)才輸出,所以這里是根據(jù)實(shí)測的延遲時(shí)間來決定模塊設(shè)計(jì)中的相關(guān)信號的延遲。
將數(shù)據(jù)寫人緩存必須等待數(shù)據(jù)穩(wěn)定才能發(fā)出寫信號。運(yùn)動控制卡讀取VME自定義總線數(shù)據(jù)邏輯功能的實(shí)現(xiàn),在光刻機(jī)雙工件臺控制系統(tǒng)中,每塊運(yùn)動控制卡實(shí)現(xiàn)對三個(gè)電機(jī)的控制,整個(gè)系統(tǒng)需要12塊運(yùn)動控制卡,它通過光纖口將控制信號傳送到電機(jī)驅(qū)動。同步控制卡通過內(nèi)部的定時(shí)器,產(chǎn)生運(yùn)動周期信號,讀取光柵譯碼卡中數(shù)據(jù),進(jìn)行解耦,然后將各個(gè)運(yùn)動控制卡所需的信號,按照一定的地址編碼,發(fā)送到VME64x自定義總線,由運(yùn)動控制卡接收。運(yùn)動控制卡接收到同步控制卡的運(yùn)動周期開始信號后,依次接收指令位置和光柵譯碼卡的數(shù)據(jù)。
3.結(jié)束語
本文提供了一種基于FPGA的VME自定義總線的邏輯接口設(shè)計(jì),同步控制卡作為“主卡”,讀取光柵譯碼卡中的測量數(shù)據(jù),并將數(shù)據(jù)置于VME自定義總線上,其負(fù)責(zé)自定義在總線的邏輯設(shè)計(jì)。運(yùn)動控制卡,接收來自自定義總線上的數(shù)據(jù),并通過DSP進(jìn)行處理,最后發(fā)送給電機(jī),控制電機(jī)的運(yùn)動軌跡。該設(shè)計(jì)方案通過了實(shí)際驗(yàn)證,并利用Signal Tap觀測了其邏輯時(shí)序,可得該方案正確。
【基于FPGA的VME自定義總線接口設(shè)計(jì)論文】相關(guān)文章:
基于FPGA 的VME自定義總線接口設(shè)計(jì)論文11-16
音頻接口設(shè)計(jì)論文11-17
基于I2C總線的多MCU系統(tǒng)設(shè)計(jì)發(fā)展論文05-31
FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計(jì)論文04-24
淺談基于I2C總線的多MCU系統(tǒng)設(shè)計(jì)發(fā)展論文05-28
淺論基于WTB/MVB總線的軌道車輛LED照明控制系統(tǒng)設(shè)計(jì)論文11-16
基于DSP+FPGA的嵌入式圖像處理系統(tǒng)的發(fā)展的論文05-28