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