專利名稱:總線轉(zhuǎn)換電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種總線之間的轉(zhuǎn)換電路,特別是一種基于PC104總線的VXI轉(zhuǎn)換電路。
背景技術(shù):
由VME規(guī)范可以知道,VME系統(tǒng)中的插板根據(jù)其功能可分為四種類型系統(tǒng)控制板、CPU板、存儲(chǔ)器板和輸入/輸出板。每個(gè)VME系統(tǒng)必須有一塊系統(tǒng)控制板,VME系統(tǒng)控制板的功能在VXI總線中由零槽控制器完成。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于PC104總線的VXI總線接口電路,實(shí)現(xiàn)給用戶的系統(tǒng)升級(jí)和擴(kuò)展功能提供最大便利,降低用戶在模塊升級(jí)時(shí)的重復(fù)投資,消除用戶使用內(nèi)嵌式控制器方案的顧慮。
上述的目的通過(guò)以下的技術(shù)方案實(shí)現(xiàn)總線轉(zhuǎn)換電路,所述的電路結(jié)構(gòu)為基于PC104總線的子、母板結(jié)構(gòu),包括PC104總線的微處理器(CPU)的電路,所述的電路采用大規(guī)模可編程邏輯器件(CPLD),包括譯碼及時(shí)序邏輯控制電路,VME總線時(shí)序生成電路,VXI總線數(shù)據(jù)/地址空間擴(kuò)展電路,VXI寄存器電路,VXI擴(kuò)展組件,由數(shù)據(jù)傳輸總線(DTB)、DTB仲裁總線、優(yōu)先中斷總線和實(shí)用總線4組總線完成PC104總線到VXI總線時(shí)序的轉(zhuǎn)換,實(shí)現(xiàn)PC104總線對(duì)VXI總線的控制。
上述的總線轉(zhuǎn)換電路,所述的VME總線時(shí)序生成電路包括數(shù)據(jù)傳輸模塊、總線定時(shí)模塊、DTB總線仲裁模塊、總線中斷模塊;所述的微處理器選用德國(guó)產(chǎn)的工業(yè)級(jí)PC104計(jì)算機(jī)模塊MOPSLcd4。
上述的總線轉(zhuǎn)換電路,所述的VXI寄存器電路包括VXI總線組態(tài)寄存器和通訊寄存器。
上述的總線轉(zhuǎn)換電路,所述的VXI擴(kuò)展組件包括MODID線、TTLTRG線和CLK10線。
這個(gè)技術(shù)方案有以下有益效果1.為了給用戶的系統(tǒng)升級(jí)和擴(kuò)展功能提供最大便利,降低用戶在模塊升級(jí)時(shí)的重復(fù)投資,消除用戶使用內(nèi)嵌式控制器方案的顧慮,本設(shè)計(jì)采用基于PC104總線的子、母板結(jié)構(gòu),選用德國(guó)產(chǎn)的工業(yè)級(jí)PC104計(jì)算機(jī)模塊MOPSLcd4作為CPU模塊,自行設(shè)計(jì)了“基于PC104總線的VXI總線接口電路”。并用大規(guī)??删幊踢壿嬈骷﨏PLD編程設(shè)計(jì)成專用電路,完成PC104總線到VXI總線時(shí)序的轉(zhuǎn)換,實(shí)現(xiàn)PC104總線對(duì)VXI總線的控制。本專用電路是內(nèi)嵌式零槽控制器的硬件核心。VXI總線系統(tǒng)是一種高性能的模塊化儀器系統(tǒng),像傳統(tǒng)的自動(dòng)測(cè)試系統(tǒng)一樣,該系統(tǒng)必須有系統(tǒng)控制器才能夠正常工作,內(nèi)嵌式控制器是常用的VXI總線系統(tǒng)控制器之一,由于插在VXI主機(jī)箱的零號(hào)槽,兼有VXI總線系統(tǒng)的零槽功能和資源管理能力,因此也稱為內(nèi)嵌式零槽資源管理器。
2.該電路利用總線數(shù)據(jù)有效線DS*控制,起動(dòng)計(jì)數(shù)器定時(shí)。當(dāng)計(jì)數(shù)器計(jì)滿溢出則產(chǎn)生BERR*信號(hào)送給VXI總線及本地控制單元,指示總線出錯(cuò)。如其間返回DTACK*信號(hào),主模塊使DS0*和DS1*變?yōu)楦唠娖?,電路中邏輯使?jì)數(shù)器復(fù)位。
從圖3可以看出,在設(shè)計(jì)中引進(jìn)了SYSCLK系統(tǒng)時(shí)鐘完成定時(shí)。MBUS為低時(shí)表示有總線控制權(quán),只有在占用總線的情況下,才能起動(dòng)該定時(shí)器。它為高時(shí)表示沒(méi)有總線控制權(quán),定時(shí)計(jì)數(shù)器復(fù)位,總線定時(shí)由其它超時(shí)監(jiān)測(cè)器完成。具體電路通過(guò)CPLD實(shí)現(xiàn)。
3.本發(fā)明的VME的仲裁系統(tǒng)可防止兩個(gè)以上主模塊同時(shí)使用DTB。當(dāng)多個(gè)主模塊通過(guò)DTB仲裁總線申請(qǐng)DTB的使用權(quán)時(shí),由VME仲裁系統(tǒng)對(duì)這些申請(qǐng)進(jìn)行安排協(xié)調(diào),完成DTB控制權(quán)的轉(zhuǎn)移,優(yōu)化DTB使用。零槽控制器應(yīng)具備DTB仲裁功能。當(dāng)請(qǐng)求模塊所在板上的主模塊或中斷管理模塊要求使用DTB時(shí),這個(gè)請(qǐng)求模塊驅(qū)動(dòng)BRx*的一根線向仲裁模塊發(fā)出DTB請(qǐng)求信號(hào)。收到信號(hào)后,系統(tǒng)控制板上的仲裁模塊把仲裁結(jié)果通過(guò)四條連接成菊花鏈狀的總線允許線BG0IN*-BG3IN*和BG0OUT*-BG3OUT*通知被授權(quán)使用DTB的模塊。每個(gè)發(fā)出BRn信號(hào)的請(qǐng)求模塊驅(qū)動(dòng)對(duì)應(yīng)級(jí)別的BGnOUT*線為“假”,并監(jiān)視BGnIN*線,當(dāng)該線變“真”時(shí)說(shuō)明請(qǐng)求得到允許,該模塊驅(qū)動(dòng)BBSY*線,表示DTB線已經(jīng)被占用。當(dāng)使用結(jié)束后,請(qǐng)求模塊釋放BBSY*線,并驅(qū)動(dòng)BGnOUT*線為“真”,交出DTB使用權(quán)。BCLR*線由仲裁模塊驅(qū)動(dòng),用于中斷現(xiàn)行周期,原因是有更高級(jí)別的DTB請(qǐng)求發(fā)生。從電路可以看出,進(jìn)行總線申請(qǐng)仲裁是有前提的,即總線不能處于復(fù)位狀態(tài)和忙狀態(tài)。在忙狀態(tài)下進(jìn)行仲裁,必須先通過(guò)BCLR*進(jìn)行總線清除。具體電路通過(guò)CPLD實(shí)現(xiàn)。
4.本發(fā)明包括總線中斷電路,分為總線中斷申請(qǐng)模塊和總線中斷處理模塊,中斷申請(qǐng)模塊可以在優(yōu)先中斷線上產(chǎn)生請(qǐng)求信號(hào),并在中斷管理模塊認(rèn)可下提供狀態(tài)信息。中斷處理模塊則檢測(cè)中斷線的申請(qǐng),并通過(guò)中斷響應(yīng)讀取中斷模塊的狀態(tài)信息。VME總線有中斷線IRQ[1-7],每個(gè)模塊可以通過(guò)程控占用其中的一根。INTEN作為中斷有效使能,并通過(guò)打開(kāi)中斷向量緩沖器,發(fā)出IRQX信號(hào),請(qǐng)求總線中斷。中斷認(rèn)可電路是靠IACKI信號(hào)為真,控制地址V[3∶1]與送出的中斷向量值IA[3∶1]比較而實(shí)現(xiàn)的。IADB則作為中斷認(rèn)可輸出,控制中斷狀態(tài)字的輸出。
在VXI規(guī)范中,中斷分為響應(yīng)中斷和事件中斷,并由異步控制命令進(jìn)行選擇,中斷器也可以通過(guò)中斷屏蔽寄存器進(jìn)行控制,以使某些狀態(tài)失去中斷能力。在中斷響應(yīng)周期,中斷器首先通過(guò)中斷菊花鏈判斷是否為自己的響應(yīng),經(jīng)過(guò)認(rèn)可,中斷模件將中斷狀態(tài)字伴隨邏輯地址發(fā)給總線控制器。
5.本發(fā)明能將數(shù)據(jù)DS0*和DS1*有效合成由于選用基于Intel系列CPU設(shè)計(jì)的PC104嵌入式計(jì)算機(jī),本地計(jì)算機(jī)總線是同步總線,靠讀、寫(xiě)信號(hào)完成同步,而VXI總線是異步總線,應(yīng)答過(guò)程中靠AS*、DS0*、DS1*及WRITE*信號(hào)與DTACK*完成,這樣就需要完成兩種不同總線之間的相互轉(zhuǎn)換,由于兩種總線的數(shù)據(jù)和地址線寬度也不相同,采用同步總線多周期操作合成異步中線的方法,形象地說(shuō)即是“以時(shí)間換空間”。關(guān)于數(shù)據(jù)、地址擴(kuò)展將在后面介紹。數(shù)據(jù)有效信號(hào)DS0*和DS1*的合成方法見(jiàn)圖6。具體電路通過(guò)CPLD實(shí)現(xiàn)。
6.本發(fā)明完成了基于PC104總線的VXI總線數(shù)據(jù)/地址空間擴(kuò)展,由于兩種總線的數(shù)據(jù)和地址線寬度也不相同,PC104總線有16位數(shù)據(jù)線和24位地址線,而VXI總線有32位數(shù)據(jù)線和32位地址線。在此,本設(shè)計(jì)采用同步總線多周期操作合成異步總線的方法,解決空間不足和時(shí)序變換。美中不足的是這在一定程度上降低了系統(tǒng)的速度,好在計(jì)算機(jī)有足夠高的速度,仍可滿足需要。
擴(kuò)展資源設(shè)計(jì)7.本發(fā)明提供了VXI擴(kuò)展組件即資源設(shè)計(jì)主要包括MODID、TTLTRG和CLK10的設(shè)計(jì),其中MODID模塊識(shí)別線可以通過(guò)特有的物理位置或插槽來(lái)識(shí)別邏輯。這些線源于VXI總線零號(hào)槽模塊,P2連接器上的12個(gè)腳,分別送至1號(hào)槽至12號(hào)槽模塊P2連接器的A31引腳上。在一個(gè)配置齊全的VXI系統(tǒng)中,零號(hào)槽與其它槽之間分別有12根MODID線相連,并且零號(hào)槽還有自己的MODID線。MODID的用途(1)檢測(cè)各插槽中模塊是否存在,即使被檢測(cè)的模塊已有故障。(2)識(shí)別一個(gè)特定器件的物理位置(插槽號(hào))。(3)用指示燈或其它方法指出模塊的實(shí)際物理位置。符合上述規(guī)范的MODID電路如圖8所示。MODID線通過(guò)一個(gè)緩沖器和CPU的數(shù)據(jù)線相連,CPU可以對(duì)MODIDXX線直接讀寫(xiě)。緩沖器的讀寫(xiě)控制由譯碼及時(shí)序邏輯控制電路產(chǎn)生。該電路也通過(guò)CPLD實(shí)現(xiàn)。
8.本發(fā)明提供了TTLTRG和ECL觸發(fā)功能TTLTRG*觸發(fā)線是用于模塊之間通訊的、集電極開(kāi)路的TTL信號(hào)。包括零槽模塊在內(nèi)的任何模塊都可以驅(qū)動(dòng)這些線,并從這些線上接收信息。這是一組通用線,可用于觸發(fā)、掛鉤、時(shí)鐘或邏輯狀態(tài)。在用戶程序控制設(shè)定之前,TTLTRG*線一直處于釋放(高)狀態(tài)。在VXI總線系統(tǒng)中規(guī)定了一些標(biāo)準(zhǔn)配置方法,定義了同步(SYNC)、異步(ASYNC)以及啟/停(STST)等標(biāo)準(zhǔn)協(xié)議。為了彌補(bǔ)由于無(wú)源上拉電阻引起的較大的上升時(shí)間,這些協(xié)議分別規(guī)定了觸發(fā)源和觸發(fā)接收器的定時(shí)要求。在用于邏輯狀態(tài)的傳送時(shí),規(guī)定了相對(duì)于時(shí)鐘沿的建立和保持時(shí)間,其它協(xié)議可以由生產(chǎn)廠家定義,TTLTRG*的標(biāo)準(zhǔn)工作方式有(1)TTLTRG*同步(SYNC)觸發(fā)方式;(2)TTLTRG*半同步(SEMI-SYNC)觸發(fā)方式(3)TTLTRG*異步(ASYNC)觸發(fā)方式;(4)TTLTRG*線的時(shí)鐘傳送;(5)TTLTRG*線的數(shù)據(jù)傳送;(6)啟/停(STST)方式。本設(shè)計(jì)中,EXTTRIG代表面板觸發(fā)源,TR代表軟件觸發(fā)源,還提供CLK10和SYSCLK時(shí)鐘傳送以及數(shù)據(jù)傳送,可實(shí)現(xiàn)多種觸發(fā)方式和內(nèi)容的觸發(fā)。
9.本發(fā)明還包括時(shí)鐘電路VXI規(guī)范要求零槽控制機(jī)提供ECL差分CLK10(10M)時(shí)鐘,且精度高于0.01%。采用一高精度有源晶振10000.OOK,再通過(guò)TTL-ECL轉(zhuǎn)換芯片即可產(chǎn)生所要求的差分時(shí)鐘。在實(shí)際電路中我們采用MC10116實(shí)現(xiàn)TTL-ECL轉(zhuǎn)換。
附圖1是基于PC104總線的VXI總線接口電路硬件原理框圖。
附圖2是從模塊定時(shí)掛鉤原理,數(shù)據(jù)傳輸模塊原理電路。
附圖3是總線錯(cuò)誤信號(hào)產(chǎn)生的原理。
附圖4是總線仲裁電路。
附圖5是VCS總線中斷模塊電路。
附圖6是數(shù)據(jù)有效信號(hào)DS0*和DS1*的合成電路。
附圖7是地址空間擴(kuò)展電路。
附圖8是VXI擴(kuò)展組件即資源設(shè)計(jì)電路圖。
附圖9是TTLTRG和ECL觸發(fā)功能電路。
附圖10是時(shí)鐘電路。
本發(fā)明的
具體實(shí)施例方式實(shí)施例1總線轉(zhuǎn)換電路,所述的電路結(jié)構(gòu)為基于PC104總線的子、母板結(jié)構(gòu),以及PC104總線的微處理器(CPU),本專利采用大規(guī)??删幊踢壿嬈骷?CPLD)編程構(gòu)成專用電路,包括譯碼及時(shí)序邏輯控制電路,VME總線時(shí)序生成電路,VXI總線數(shù)據(jù)/地址空間擴(kuò)展電路,VXI寄存器電路,VXI擴(kuò)展組件,由數(shù)據(jù)傳輸總線(DTB)、DTB仲裁總線、優(yōu)先中斷總線和實(shí)用總線4組總線完成PC104總線到VXI總線時(shí)序的轉(zhuǎn)換,實(shí)現(xiàn)PC104總線對(duì)VXI總線的控制。
上述的總線轉(zhuǎn)換電路,所述的VME總線時(shí)序生成電路包括數(shù)據(jù)傳輸模塊、總線定時(shí)模塊、DTB總線仲裁模塊、總線中斷模塊;所述的微處理器選用德國(guó)產(chǎn)的工業(yè)級(jí)PC104計(jì)算機(jī)模塊MOPSLcd4。
上述的總線轉(zhuǎn)換電路,所述的VXI寄存器電路包括VXI總線組態(tài)寄存器和通訊寄存器。
上述的總線轉(zhuǎn)換電路,所述的VXI擴(kuò)展組件包括MODID線、TTLTRG線和CLK10線。
由原理框圖可見(jiàn),整個(gè)功能的實(shí)現(xiàn)是由嵌入式計(jì)算機(jī)通過(guò)譯碼及時(shí)序邏輯控制電路來(lái)控制各功能電路實(shí)現(xiàn)的。
在硬件原理框圖中,譯碼及時(shí)序邏輯控制電路主要包括VXI總線地址譯碼、本地總線即PC104總線的地址譯碼以及與各功能模塊相關(guān)的組合時(shí)序邏輯;VME總線時(shí)序生成電路主要包括數(shù)據(jù)傳輸模塊、總線定時(shí)模塊、DTB總線仲裁模塊、總線中斷模塊;VXI總線數(shù)據(jù)/地址空間擴(kuò)展電路主要完成由PC104總線的16位數(shù)據(jù)和24位地址到VXI總線的32位數(shù)據(jù)和32位地址的擴(kuò)展;VXI寄存器電路包括VXI總線組態(tài)寄存器和通訊寄存器等;VXI擴(kuò)展資源主要包括MODID線、TTLTRG線和CLK10的設(shè)計(jì);VME系統(tǒng)中的插板根據(jù)其功能可分為四種類型系統(tǒng)控制板、CPU板、存儲(chǔ)器板和輸入/輸出板。每個(gè)VME系統(tǒng)必須有一塊系統(tǒng)控制板,VME系統(tǒng)控制板的功能在VXI總線中由零槽控制器完成。VME系統(tǒng)控制板的總線功能主要包括IACK菊花鏈驅(qū)動(dòng)、DTB仲裁、總線定時(shí)、電源監(jiān)控、系統(tǒng)和序列時(shí)鐘驅(qū)動(dòng)。
VME總線的信號(hào)線可分為四組,即數(shù)據(jù)傳輸總線(DTB)、DTB仲裁總線、優(yōu)先中斷總線和實(shí)用總線。數(shù)據(jù)傳輸總線是VME的重要組成部分,在DTB上傳送數(shù)據(jù)、地址和有關(guān)的控制信號(hào)。DTB總線是異步總線,采用應(yīng)答方式進(jìn)行數(shù)據(jù)傳輸。因此VME總線的應(yīng)答時(shí)序是非常重要的,是VME接口的又一重點(diǎn)。
主模塊與從模塊之間進(jìn)行數(shù)據(jù)交換時(shí),主模塊讀、寫(xiě)周期中,從模塊在接到數(shù)據(jù)有效信號(hào)DS*(DS0或DS1)后,都要返回?cái)?shù)據(jù)響應(yīng)信號(hào)DTACK*,作為應(yīng)答信號(hào)通知主模塊,表明數(shù)據(jù)傳送正常。其中,在讀周期中,從模塊要先將數(shù)據(jù)放在總線上,再返回響應(yīng)信號(hào)DTACK*,表明數(shù)據(jù)有效;在寫(xiě)周期中,從模塊要先將數(shù)據(jù)鎖存后再返回響應(yīng)信號(hào)DTACK*,表明數(shù)據(jù)已經(jīng)收到。中斷響應(yīng)周期與讀周期相似。按規(guī)范其響應(yīng)時(shí)間應(yīng)小于0.5μS,或最長(zhǎng)不得超過(guò)20μS,否則將視為總線出錯(cuò)。因此在數(shù)據(jù)傳輸模塊過(guò)程中,從模塊應(yīng)保證及時(shí)驅(qū)動(dòng)數(shù)據(jù)傳輸應(yīng)答線(DTACK*)為低電平來(lái)響應(yīng)。為保證總線工作可靠。從模塊應(yīng)具備定時(shí)掛鉤邏輯實(shí)現(xiàn)數(shù)據(jù)傳輸掛鉤。
用模件選擇信號(hào)VCS、共享存儲(chǔ)器選擇信號(hào)MEMCS和中斷有效信號(hào)IRQCS進(jìn)行邏輯“與”,再與DS*信號(hào)邏輯“或”,作移位寄存器清除控制,DTACK*作為掛鉤響應(yīng)輸出。SCLK為系統(tǒng)時(shí)鐘。當(dāng)VCS或MEMCS或IRQCS之一選中,DS*無(wú)效時(shí),移位寄存器處于清除狀態(tài),DTACK*為1;當(dāng)DS*有效時(shí),移位寄存器開(kāi)始狀態(tài)移位,經(jīng)過(guò)若干時(shí)鐘周期,DTACK*輸出為0,一旦VCS、MEMCS、IRQCS或DS*撤消,DTACK*輸出立刻又變?yōu)?。具體電路用CPLD實(shí)現(xiàn)。
本發(fā)明還包括VXI寄存器結(jié)構(gòu)VXI總線系統(tǒng)組態(tài)空間定義在64K字節(jié)的A16地址空間的高16K中,每個(gè)VXI總線器件都保證有一組64字節(jié)的地址空間作為組態(tài)和操作寄存器。每個(gè)器件的寄存器基地址由它本身唯一的邏輯地址來(lái)確定,而這個(gè)邏輯地址由一個(gè)八位的邏輯開(kāi)關(guān)來(lái)選擇,共可選出256個(gè)邏輯地址,因此,一個(gè)VXI總線系統(tǒng)中最多允許存在256個(gè)器件。邏輯地址選擇器的八位值對(duì)應(yīng)著器件寄存器寄地址的A13-A6位,即地址的A15、A14位總為1,因此這個(gè)器件寄存器基地址由下式給出V×64+49152式中V式器件的邏輯地址。
這64個(gè)寄存器大至分為組態(tài)寄存器,通訊寄存器,共享存儲(chǔ)協(xié)議寄存器,及保留寄存器。VXI總線器件的寄存器分配如表1所示。組態(tài)寄存器包括(ID/LAD)標(biāo)識(shí)/邏輯地址寄存器,(TYPE)類型寄存器,(CONTR/STATUS)控制/狀態(tài)寄存器和(OFFSET)偏移地址寄存器。這些寄存器將對(duì)模件能否正常工作起著重要的作用。邏輯地址的動(dòng)態(tài)組態(tài)作為VXI的重要特點(diǎn)經(jīng)常被提到,在靜態(tài)組態(tài)時(shí),利用外部地址開(kāi)關(guān)設(shè)定地址,動(dòng)態(tài)組態(tài)時(shí)外部開(kāi)關(guān)設(shè)為0XFF,利用MODID線先識(shí)別器件,再將新的地址寫(xiě)到(LAD)邏輯地址寄存器,該器件就可使用新地址。(STATUS)狀態(tài)寄存器是用于儀器向VXI總線報(bào)告自檢情況的,PASS說(shuō)明接口功能初始化是否正常,如不正常,除了控制寄存器外,其它寄存器將禁止總線讀寫(xiě)。READY說(shuō)明儀器功能初始化是否正常。如不正常,將禁止總線對(duì)儀器消息進(jìn)行操作。(CONTR)控制寄存器是用于VXI總線向儀器發(fā)送控制的。如表1表1 VXI總線器件的寄存器分配表
軟件復(fù)位SRST,當(dāng)總線操作無(wú)法正常進(jìn)行時(shí)將被采用,用于對(duì)通訊寄存器進(jìn)行調(diào)整??偩€故障禁止INHIBIT,將使有故障的儀器退出系統(tǒng),保證其它儀器繼續(xù)工作。這些控制位將完成對(duì)接口的控制。(OFFSET)偏移地址寄存器,是用于儀器A24,或A32地址空間的動(dòng)態(tài)組態(tài)。
通訊寄存器包括協(xié)議/信號(hào)寄存器,響應(yīng)寄存器,數(shù)據(jù)低寄存器和數(shù)據(jù)高寄存器。這些寄存器將完成模件與總線之間的數(shù)據(jù)傳送工作,VXI通訊是通過(guò)查詢響應(yīng)寄存器的標(biāo)志,并配合字串命令進(jìn)行數(shù)據(jù)交換。如寫(xiě)數(shù)據(jù)時(shí),要發(fā)送字節(jié)有效命令。如讀數(shù)據(jù)時(shí),要發(fā)送字節(jié)請(qǐng)求命令。當(dāng)前一個(gè)數(shù)據(jù)沒(méi)有被讀走,就被要求發(fā)送下一個(gè)數(shù)據(jù),這種錯(cuò)誤稱為多次查詢錯(cuò)誤,需要給出錯(cuò)誤標(biāo)志,予以處理。
共享存儲(chǔ)器協(xié)議寄存器包括A24地址指針低寄存器和A24地址指針高寄存器,A32地址指針低寄存器和A32地址指針高寄存器。這些寄存器將用來(lái)完成大數(shù)據(jù)塊的快速吞吐。
這些寄存器中,每個(gè)寄存器的每一位都有定義,起著特定的作用,其中有些位特別重要,與總線的操作過(guò)程密切相關(guān),只有充分理解規(guī)范,弄清各個(gè)環(huán)節(jié)間相互聯(lián)系才能設(shè)計(jì)好VXI總線的邏輯和接口。
本發(fā)明提供了VXI總線接口的可編程器件設(shè)計(jì)寄存器基接口VXI標(biāo)準(zhǔn)規(guī)定在每個(gè)VXI模件A16地址空間中,都包含64個(gè)字節(jié)的寄存器,大至分為組態(tài)寄存器,通訊寄存器,共享存儲(chǔ)協(xié)議寄存器,儀器相關(guān)寄存器及保留寄存器。這些寄存器定義了各自的功能,并通過(guò)組合構(gòu)成VXI接口電路。但并不是接口電路一定要包括所有的寄存器,模塊的設(shè)計(jì)者可以根據(jù)實(shí)際需要選定相應(yīng)的寄存器構(gòu)成VXI接口電路。在這些寄存器中,組態(tài)寄存器是最重要的。在寄存器基接口中除了組態(tài)寄存器外,其它寄存器均認(rèn)為是操作寄存器。也可以說(shuō)是與儀器相關(guān)寄存器。寄存器基接口就是利用組態(tài)寄存器和儀器相關(guān)寄存器組合后構(gòu)成的。寄存器一般包括ID/LAD,TYPE,STATUS/CONTR寄存器。電路部分包括地址譯碼及動(dòng)態(tài)組態(tài),數(shù)據(jù)傳輸掛鉤,總線中斷,存儲(chǔ)單元監(jiān)控等。其中地址譯碼及動(dòng)態(tài)組態(tài)用于接口選擇,數(shù)據(jù)傳輸掛鉤用于總線應(yīng)答,總線中斷用于實(shí)時(shí)處理及事件的傳送,存儲(chǔ)單元監(jiān)控用于監(jiān)視總線對(duì)儀器相關(guān)寄存器的讀寫(xiě)操作。另外在CONTR寄存器中有兩個(gè)很重要的控制位需要說(shuō)明,SRST為軟件復(fù)位,用于清除模件中一些寄存器的不正常的狀態(tài),使接口恢復(fù)正常操作。INHIBIT為系統(tǒng)故障禁止位,用于禁止有故障的模塊向總線故障線SYSFAIL置位,以使其它模塊繼續(xù)進(jìn)行工作。在STATUS寄存器中也有幾個(gè)很重要的狀態(tài)位。PASSED表示總線接口自檢通過(guò),該信號(hào)控制總線故障線SYSFAIL的狀態(tài),并受控于CON中的INHIBIT位。READY表示儀器功能準(zhǔn)備好,該信號(hào)控制與儀器相關(guān)的寄存器或狀態(tài)位。如中斷申請(qǐng),儀器信息的讀寫(xiě)。MODID反映當(dāng)前MODID線的實(shí)時(shí)狀態(tài),該信號(hào)用于資源管理者識(shí)別當(dāng)前模件。控制與儀器相關(guān)的寄存器或狀態(tài)位。A24/A32則表示模塊是否為A24或A32尋址方式。寄存器基接口的工作特點(diǎn)是,通過(guò)儀器相關(guān)寄存器與總線交換信息,相關(guān)寄存器的每一位都有自身特定的定義,一般由儀器設(shè)計(jì)者給出。
消息基從模塊接口消息基從模塊接口的工作方式與寄存器基接口的工作方式有很多相似之處,它們都不具備總線驅(qū)動(dòng)能力,都不能主動(dòng)訪問(wèn)總線,只能被動(dòng)接受主模塊的傳輸(中斷除外)。它們都需要地址譯碼及動(dòng)態(tài)組態(tài),數(shù)據(jù)傳輸掛鉤,總線中斷,存儲(chǔ)單元監(jiān)控等。但它們也有一些差別,寄存器基接口的工作特點(diǎn)是,通過(guò)儀器相關(guān)寄存器與總線交換信息。消息基接口的工作特點(diǎn)是,通過(guò)數(shù)據(jù)寄存器與總線交換信息,并可使用字串命令進(jìn)行控制。為了保證數(shù)據(jù)傳輸?shù)目煽浚ㄓ嵓拇嫫魇菍iT為消息基接口準(zhǔn)備的。通訊協(xié)議寄存器定義了消息基從模塊的類型,如是否為主模塊,命令者,是否有信號(hào)寄存器,是否具有中斷能力,是否支持共享存儲(chǔ)器等。對(duì)于消息基從模塊,除中斷能力外,其它控制項(xiàng)都可以不具備。信號(hào)寄存器用于與主模塊之間的響應(yīng)及事件信息的傳送。由于消息基從模塊沒(méi)有總線驅(qū)動(dòng)能力,因此也可以省略信號(hào)寄存器。響應(yīng)寄存器用于數(shù)據(jù)傳輸?shù)能浖煦^,如數(shù)據(jù)輸出準(zhǔn)備好DOR,數(shù)據(jù)輸入準(zhǔn)備好DIR,接口錯(cuò)誤讀準(zhǔn)備好ERR,寫(xiě)準(zhǔn)備好等WREADY。讀準(zhǔn)備好等RREADY等。該寄存器對(duì)于消息基接口十分重要,接口及數(shù)據(jù)信息在數(shù)據(jù)寄存器中傳遞是否正確,主要就是靠響應(yīng)寄存器的狀態(tài)配合來(lái)完成。因此響應(yīng)寄存器和數(shù)據(jù)寄存器之間具有緊密的邏輯關(guān)系。通過(guò)這些寄存器,將完成模件與總線之間的數(shù)據(jù)傳送工作,VXI通訊是通過(guò)查詢響應(yīng)寄存器的標(biāo)志,并配合字串命令進(jìn)行數(shù)據(jù)交換。如寫(xiě)數(shù)據(jù)時(shí),要伴隨發(fā)送字節(jié)有效命令。如讀數(shù)據(jù)時(shí),要先發(fā)送字節(jié)請(qǐng)求命令。當(dāng)前一個(gè)數(shù)據(jù)沒(méi)有被讀走,就被要求發(fā)送下一個(gè)數(shù)據(jù),這種錯(cuò)誤稱為多次查詢錯(cuò)誤,需要給出錯(cuò)誤標(biāo)志,給予處理。
消息基主模塊接口消息基主模塊接口功能是在從模塊接口的基礎(chǔ)上發(fā)展的,它們都具有地址譯碼及動(dòng)態(tài)組態(tài)功能,數(shù)據(jù)傳輸掛鉤,總線中斷,存儲(chǔ)單元監(jiān)控等。它們都具有通訊寄存器。但它們也有很大差別,確切的說(shuō)消息基從模塊是通過(guò)數(shù)據(jù)寄存器與總線交換信息,而主模塊接口則有兩種工作方式,一是作為從模塊通過(guò)數(shù)據(jù)寄存器與總線交換信息,另一種是作為主模塊利用快速數(shù)據(jù)通道完成對(duì)總線讀寫(xiě)操作的。因此說(shuō)從模塊僅是主模塊的一種工作方式而已。為了得到對(duì)總線的控制權(quán),主模塊就必須具有總線申請(qǐng)能力,為了保證數(shù)據(jù)傳輸?shù)恼_,主模塊就必須增加總線定時(shí)功能,為了進(jìn)行總線數(shù)據(jù)傳輸,主模塊就必須有總線傳輸能力,此外通訊寄存器中的很多寄存器或狀態(tài)位在從模塊中都可以省略,而在主模塊中則是必不可少。如通訊協(xié)議寄存器,信號(hào)寄存器等。
接口狀態(tài)轉(zhuǎn)移VXI接口有幾個(gè)不同的工作狀態(tài),分別為組態(tài)狀態(tài),初始化狀態(tài),正常操作狀態(tài)。視接口不同其工作狀態(tài)也不同,寄存器基接口僅需要一個(gè)工作狀態(tài)是正常操作狀態(tài)。消息基接口則需要在三個(gè)狀態(tài)之間轉(zhuǎn)換。
系統(tǒng)復(fù)位包括接口和儀器復(fù)位。接口首先進(jìn)行自檢,自檢通過(guò)后PASS置位后即進(jìn)入組態(tài)狀態(tài),在該狀態(tài)下資源管理器可以對(duì)接口進(jìn)行組態(tài),包括模件識(shí)別,動(dòng)態(tài)組態(tài),A24/A32地址空間分配,中斷線分配等。系統(tǒng)組態(tài)完畢后總線控制器通過(guò)發(fā)送“BNO”命令,使接口進(jìn)入到初始化狀態(tài),本地處理器完成初始化工作后,READY處于置位狀態(tài)并立刻轉(zhuǎn)移到正常操作狀態(tài),在此狀態(tài)下一旦接收到“BNO”或“ANO”命令,接口又轉(zhuǎn)移到組態(tài)狀態(tài)。
當(dāng)接口軟復(fù)位時(shí),主要是接口復(fù)位。既對(duì)STATUS狀態(tài)寄存器的PASS位,READY位復(fù)位,繼而又完成對(duì)中斷申請(qǐng)復(fù)位,響應(yīng)寄存器中的DIR,DOR,ERR,RREADY位和WREADY位的復(fù)位。但保留動(dòng)態(tài)邏輯地址不變,直到SYSREST總線復(fù)位。
在消息基器件之間通訊,由于字串協(xié)議通訊簡(jiǎn)單明確,而被經(jīng)常采用,字串命令可分為組態(tài)狀態(tài)下命令,正常工作狀態(tài)下命令及與狀態(tài)無(wú)關(guān)命令。通過(guò)這些字串命令即可達(dá)到控制模件寄存器的狀態(tài),實(shí)現(xiàn)數(shù)據(jù)交換和狀態(tài)控制的目的。在接口設(shè)計(jì)中,根據(jù)字串命令中常用的代碼值進(jìn)行編碼設(shè)計(jì),以便能對(duì)這些命令自動(dòng)響應(yīng)。如開(kāi)始正常操作,結(jié)束正常操作,字節(jié)請(qǐng)求,字節(jié)有效,異步控制,中斷控制等。由此可完成簡(jiǎn)易接口功能。
VXI總線接口設(shè)計(jì)VXI接口芯片是VXI測(cè)試技術(shù)的關(guān)鍵,要推廣應(yīng)用VXI總線,就要涉及VXI接口技術(shù),由于接口電路邏輯較復(fù)雜,用戶自行開(kāi)發(fā)有一定的困難,而從市場(chǎng)上購(gòu)買且價(jià)格昂貴,用戶很難接受。
從應(yīng)用的情況看,VXI模件常用的主要有寄存器基和消息基兩種。消息基模件又可分為主模塊和從模塊。其中寄存器基模件具有簡(jiǎn)單,快速的特點(diǎn)。但對(duì)于功能復(fù)雜的模件采用消息基則更為方便,從模塊作為受控儀器,可接收VXI總線發(fā)送的命令和數(shù)據(jù)。并將測(cè)試結(jié)果提供給它的命令者。而主模塊作為命令者,可以通過(guò)總線向它的從者儀器發(fā)送命令,指揮其工作。因此主模塊常常作為儀器組的控制者或者總線控制器。實(shí)際使用中這類儀器并不很多。絕大部分屬于從模塊方式。
消息基主模塊接口功能是在從模塊接口的基礎(chǔ)上發(fā)展的,它們都具有地址譯碼及動(dòng)態(tài)組態(tài)功能,數(shù)據(jù)傳輸掛鉤,總線中斷,存儲(chǔ)單元監(jiān)控等。它們都具有通訊寄存器。但它們也有很大差別。消息基從模塊是通過(guò)數(shù)據(jù)寄存器與總線交換信息,而主模塊接口則有兩種工作方式,一是作為從模塊通過(guò)數(shù)據(jù)寄存器與總線交換信息,另一種是作為主模塊利用快速數(shù)據(jù)通道完成對(duì)總線讀寫(xiě)操作的。因此說(shuō)從模塊僅是主模塊的一種工作方式而已。為了得到對(duì)總線的控制權(quán),主模塊就必須具有總線申請(qǐng)能力,為了保證數(shù)據(jù)傳輸?shù)恼_,主模塊就必須增加總線定時(shí)功能,為了進(jìn)行總線數(shù)據(jù)傳輸,主模塊就必須有總線傳輸能力,此外通訊寄存器中的很多寄存器或狀態(tài)位在從模塊中都可以省略,而在主模塊中則是必不可少。如通訊協(xié)議寄存器,信號(hào)寄存器等。VXI接口的主要功能如下支持主模塊功能;可編程中斷器;動(dòng)態(tài)或靜態(tài)組態(tài);讀/寫(xiě)有效監(jiān)控;VXI寄存器組;可編程邏輯地址;支持ID標(biāo)識(shí)寄存器;支持儀器類型寄存器;支持偏移地址寄存器;狀態(tài)/控制寄存器;通訊協(xié)議寄存器;響應(yīng)寄存器;信號(hào)寄存器;支持?jǐn)?shù)據(jù)低寄存器;支持A24指針寄存器。
作為消息基器件需要外部配備CPU控制器,考慮到總線的驅(qū)動(dòng)能力,需要配備外部總線驅(qū)動(dòng)器。
目前制做大規(guī)模集成電路常見(jiàn)的方式有EPLD,CPLD,F(xiàn)PGA等。我們選用當(dāng)前較流行的XILINX公司的95108。經(jīng)過(guò)調(diào)整分解成為三部分。
第一部分為消息基從模塊接口功能。主要包括靜態(tài)及動(dòng)態(tài)組態(tài),數(shù)據(jù)傳輸從模塊掛鉤,總線中斷,狀態(tài)/控制寄存器,數(shù)據(jù)低寄存器讀/寫(xiě)有效監(jiān)控及響應(yīng)寄存器,通訊協(xié)議寄存器等。并支持ID標(biāo)識(shí)寄存器,儀器類型寄存器,偏移地址寄存器,數(shù)據(jù)低寄存器,A24指針寄存器等讀寫(xiě)邏輯。
第二部分為消息基主模塊接口功能。主要包括,總線定時(shí)模塊,總線仲裁申請(qǐng)模塊,數(shù)據(jù)傳輸主模塊掛鉤等邏輯,另外數(shù)據(jù)低寄存器,A24地址指針寄存器也包括在里。
第三部分為總線驅(qū)動(dòng)擴(kuò)展功能。主要包括,地址總線驅(qū)動(dòng),輔助地址總線驅(qū)動(dòng),數(shù)據(jù)總線驅(qū)動(dòng)及相應(yīng)的邏輯,另外接口的地址譯碼,總線中斷線的驅(qū)動(dòng),及ID寄存器,TYPE寄存器,偏移寄存器電路也包括在里面。
總線定時(shí)模塊的工作過(guò)程在進(jìn)行數(shù)據(jù)傳輸時(shí),系統(tǒng)控制者首先對(duì)模塊進(jìn)行尋址,并將相應(yīng)的地址選通線AS*,數(shù)據(jù)選通線DS0*,DS1*以及控制數(shù)據(jù)傳輸方向的WRITE*信號(hào)線等設(shè)置為有效電平。主模塊就會(huì)等待DTACK*的返回,主模塊在收到響應(yīng)信號(hào)DTACK*后才撤消數(shù)據(jù)有效信號(hào)。當(dāng)主模塊訪問(wèn)一個(gè)不存在的從模塊時(shí),由于沒(méi)有響應(yīng)信號(hào)返回,主模塊就會(huì)永遠(yuǎn)的等下去,造成總線死鎖??偩€定時(shí)模塊就是用來(lái)監(jiān)視總線并防止死鎖的電路。當(dāng)模塊檢測(cè)到地址匹配及各控制線有效后,驅(qū)動(dòng)DTACK*為低電平,以此向總線控制者確認(rèn)已經(jīng)將數(shù)據(jù)放在數(shù)據(jù)總線上(讀周期)或已經(jīng)成功地接收到數(shù)據(jù)(寫(xiě)周期)。如果超過(guò)20μs模塊還沒(méi)有驅(qū)動(dòng)DTACK*為低電平,則總線超時(shí)監(jiān)視器則發(fā)出總線錯(cuò)誤信號(hào)BERR*,通知主模塊發(fā)生了總線錯(cuò)誤。
權(quán)利要求
1.一種總線轉(zhuǎn)換電路,所述的電路結(jié)構(gòu)為基于PC104總線的子、母板結(jié)構(gòu),包括PC104總線的微處理器(CPU)的電路,其特征是所述的電路采用大規(guī)??删幊踢壿嬈骷?CPLD),包括譯碼及時(shí)序邏輯控制電路,VME總線時(shí)序生成電路,VXI總線數(shù)據(jù)/地址空間擴(kuò)展電路,VXI寄存器電路,VXI擴(kuò)展組件,由數(shù)據(jù)傳輸總線(DTB)、DTB仲裁總線、優(yōu)先中斷總線和實(shí)用總線4組總線完成PC104總線到VXI總線時(shí)序的轉(zhuǎn)換,實(shí)現(xiàn)PC104總線對(duì)VXI總線的控制。
2.根據(jù)權(quán)利要求1所述的總線轉(zhuǎn)換電路,其特征是所述的VME總線時(shí)序生成電路包括數(shù)據(jù)傳輸模塊、總線定時(shí)模塊、DTB總線仲裁模塊、總線中斷模塊。
3.根據(jù)權(quán)利要求1或2所述的總線轉(zhuǎn)換電路,其特征是所述的VXI寄存器電路包括VXI總線組態(tài)寄存器和通訊寄存器。
4.根據(jù)權(quán)利要求1或2所述的總線轉(zhuǎn)換電路,其特征是所述的VXI擴(kuò)展組件包括MODID線、TTLTRG線和CLK10線。
全文摘要
總線轉(zhuǎn)換電路,由VME規(guī)范可以知道,VME系統(tǒng)中的插板根據(jù)其功能可分為四種類型系統(tǒng)控制板、CPU板、存儲(chǔ)器板和輸入/輸出板。每個(gè)VME系統(tǒng)必須有一塊系統(tǒng)控制板。本發(fā)明總線轉(zhuǎn)換電路,所述的電路結(jié)構(gòu)為基于PC104總線的子、母板結(jié)構(gòu),包括PC104總線的微處理器(CPU)的電路,所述的電路采用大規(guī)??删幊踢壿嬈骷?CPLD),編程構(gòu)成專用電路,包括譯碼及時(shí)序邏輯控制電路,VME總線時(shí)序生成電路,VXI總線數(shù)據(jù)/地址空間擴(kuò)展電路,VXI寄存器電路,VXI擴(kuò)展組件,由數(shù)據(jù)傳輸總線(DTB)、DTB仲裁總線、優(yōu)先中斷總線和實(shí)用總線4組總線完成PC104總線到VXI總線時(shí)序的轉(zhuǎn)換,實(shí)現(xiàn)PC104總線對(duì)VXI總線的控制。本發(fā)明用作PC104總線的VXI總線接口電路。
文檔編號(hào)G06F13/40GK1821988SQ20051000975
公開(kāi)日2006年8月23日 申請(qǐng)日期2005年2月18日 優(yōu)先權(quán)日2005年2月18日
發(fā)明者張禮勇, 林海軍 申請(qǐng)人:哈爾濱理工大學(xué)