VME總線(xiàn)接口芯片SCV64原理及應用
關(guān)鍵詞:VME總線(xiàn);總線(xiàn)接口;SCV64
1 引言
VME總線(xiàn)即Versa Module Eurocard Bus,自1981年由Motorola公司同Signetics/Philips、Mostek以及Thompson CSF等公司推出之后,幾乎在所有的工業(yè)領(lǐng)域中都得到了廣泛的應用。它具有良好的物理特性、嚴格的技術(shù)規范和與32位微處理器方便靈活的接口,用戶(hù)可根據VME總線(xiàn)標準按需求自行開(kāi)發(fā)應用系統。實(shí)際應用中,系統往往不僅需要以從者(Slave)接受來(lái)自VME總線(xiàn)的訪(fǎng)問(wèn),還需要以主控者(Master)訪(fǎng)問(wèn)VME總線(xiàn)。因此,設計時(shí)就必須考慮到系統與VME總線(xiàn)的接口問(wèn)題。為了縮短設計周期,設計者一般都選用專(zhuān)業(yè)公司的現成ASIC。早期開(kāi)發(fā)的VME總線(xiàn)系統多采用Cypress公司的VIC068A或VIC64作為橋接控制器件。但是,VlCx系列接口器件的局部總線(xiàn)是為Motorola公司的68K系列處理器設計的,對于與68K處理器總線(xiàn)不兼容的其他類(lèi)型處理器(如x86系列、PowerPC系列等)來(lái)說(shuō),使用VICx系列器件,需要的外部轉換邏輯較為復雜。而且,VICx系列器件自身只提供8位地址和數據通道,要構成8位以上的總線(xiàn)接口,則需要鎖存器件或Cypress公司其他接口電路的配合。比如要構成32位VME總線(xiàn)接口,就需要一片VIC64和3片CY7C964相配合組成總線(xiàn)接口。這樣,邏輯設計復雜,對PCB板空間資源占用也較大。所以,VME總線(xiàn)的開(kāi)發(fā)者不推薦在未來(lái)的系統設計中以VICx系列器件作為接口解決方案目。Tundra公司的SCV64是一種通用的單芯片總線(xiàn)橋控制器,片上具有高速的VME64數據通道、VME總線(xiàn)控制器、中斷控制器、DMA控制器等功能模塊,支持MC68K系列、x86系列以及TMS320CxO系列等多種處理器。相比VICx系列,該器件集成度高,外部一般僅需地址譯碼邏輯即可,因此,可以方便地用于開(kāi)發(fā)VME總線(xiàn)接口電路。
2 SCV64功能原理及其特性
SCV64是單片VME總線(xiàn)至本地處理器的互連器件,集成了VME總線(xiàn)系統控制器、中斷控制器、DMA控制器等功能,具有眾多功能模式供用戶(hù)選擇。用戶(hù)可以根據自己的需求來(lái)“定制”不同應用環(huán)境下的VME總線(xiàn)接口。其功能框圖如圖1所示。
由圖l可知,SCV64的功能塊可分為本地總線(xiàn)接口、數據通路以及VME總線(xiàn)接口三部分。其設計的最大獨特性是數據通路采用后置寫(xiě)FIFO結構。由于使用了接收FIFO以及發(fā)送FIFO在本地總線(xiàn)和VME總線(xiàn)之間傳輸數據,即用非耦合(Decouple)方式傳輸,可彌補兩個(gè)總線(xiàn)性能的差異,從而使得每個(gè)總線(xiàn)以各自最佳速率運行,互不牽制。
VME總線(xiàn)系統必須有且只能有一個(gè)總線(xiàn)系統控制器,必須位于背板的第1槽。SCV64具有插槽1自動(dòng)識別的能力,可自動(dòng)使能總線(xiàn)系統控制器功能,完成VME總線(xiàn)仲裁、菊花鏈驅動(dòng)等功能。由于系統加電后,除第l槽外(第l槽的BG3IN*信號不會(huì )與任何信號連接),其余插槽的BG3IN*信號均被前邊插槽所傳遞下來(lái)的BG30UT*菊花鏈信號置高,因此,在復位信號釋放后的500 ns內,若SCV64檢測到BG3IN*為低,即說(shuō)明本板所處插槽為第1槽,須啟用總線(xiàn)系統控制器功能;若檢測到BG3IN+為高,則此功能被禁止。SCV64的這種設計,可擺脫原來(lái)易出錯的人工硬跳線(xiàn)方法。
與VICx系列器件相比,SCV64另外一個(gè)優(yōu)勢是其內部有一個(gè)本地總線(xiàn)仲裁器(可選)和VME總線(xiàn)地址譯碼器,這樣就省去了外部邏輯的設計,方便了用戶(hù)。另外,它還提供一種總線(xiàn)隔離(Bus lsola-tion-BI)工作模式,通過(guò)若干信號進(jìn)行配置。進(jìn)入BI模式后,SCV64會(huì )將本地系統與VME總線(xiàn)隔離,退出BI模式則又重新恢復連接。BI模式可用于熱備份系統、系統診斷或例行維護,也可在本地板失效后將其隔離而不致影響其他插槽的設備。
3 SCV64的數據傳輸
3.1 主周期傳輸
SCV64的耦合模式傳輸過(guò)程與VICx系列器件基本相同。在非耦合模式下,當本地處理器需要發(fā)起一次VME總線(xiàn)的主傳輸周期時(shí),先發(fā)出有效地址和數據等信息,地址譯碼邏輯據此驅動(dòng)SCV64的VMEOUT和KAS信號,通知SCV64,CPU欲訪(fǎng)問(wèn)VME總線(xiàn)。檢測到KDS有效后,SCV64將本地總線(xiàn)上的數據鎖存到發(fā)送FIF0(TXFIFO),記錄此周期相關(guān)信息并使其進(jìn)入TXFIFO的內部隊列,隨后驅動(dòng)KDSACKx信號,通知本地處理器結束本地周期,釋放本地總線(xiàn)。此過(guò)程時(shí)序如圖2所示。
回復本地處理器后,SCV64根據相應寄存器的配置驅動(dòng)某級BRi*信號請求VME總線(xiàn)。經(jīng)系統控制器仲裁,若收到了同級BGilN*菊花鏈信號,SCV64就將其截止,不再往下傳遞,同時(shí)驅動(dòng)BB-SY*信號,占用VME總線(xiàn),依據VME總線(xiàn)時(shí)序規范將TXFIFO隊列中的內容發(fā)出。
TXFIFO的深度為15級,字長(cháng)72位。其中的每條72位記錄(72-bit entry)由控制、地址、數據三部分組成。這三部分的信息分別讀自SCV64的TX-FIFO控制寄存器TXCTL(8位有效位)、地址寄存器TXADDR(32位)和數據寄存器TXDATA(32位)。若TXFIFO已滿(mǎn),則不會(huì )再接受寫(xiě)周期,直到某條記錄發(fā)往VME總線(xiàn)后讓出了可用空間。
3.2 從周期傳輸
SCV64的VMEBAR寄存器中存儲的是其VME從地址映射范圍信息。其內部地址譯碼器“監聽(tīng)”高5位VME地址VADDR[3l-27],若落入映射范圍,則SCV64接受此次從傳輸。在非耦合模式下,SCV64將地址、數據以及控制信息鎖存入71位字長(cháng)的接收FIFO-RXFIFO,之后驅動(dòng)DTACK*,回復VME總線(xiàn)主設備,通知其傳輸結束。
隨后,SCV64請求本地總線(xiàn),取得本地總線(xiàn)所有權后,通過(guò)單周期或突發(fā)(burst)模式將RXFIFO中的一條記錄發(fā)往其指向的本地地址。SCV64自帶的本地總線(xiàn)仲裁器具有本地總線(xiàn)仲裁能力,但是此仲裁器的仲裁機制較為固定,用戶(hù)可通過(guò)在復位信號釋放時(shí)拉低KBGACK信號來(lái)“回避”此功能,用戶(hù)可自行設計外部仲裁邏輯。SCV64生成本地周期的時(shí)序如圖3所示。
3.3 SCV64寄存器訪(fǎng)問(wèn)
在系統初始化、讀取狀態(tài)信息或者寫(xiě)控制位時(shí),需要訪(fǎng)問(wèn)SCV64的內部寄存器。SCV64具有45個(gè)32位寄存器(通過(guò)本地低8位地址編碼),既可通過(guò)本地總線(xiàn)訪(fǎng)問(wèn),也可通過(guò)VME總線(xiàn)訪(fǎng)問(wèn)。
本地CPU對SCV64寄存器的訪(fǎng)問(wèn)過(guò)程與其需要訪(fǎng)問(wèn)VME總線(xiàn)時(shí)對SCV64的操作基本類(lèi)似,只不過(guò)本地地址譯碼邏輯驅動(dòng)的是SCV64的片選信號SCV64SEI,而不是VME總線(xiàn)請求信號VMEOUT。當SCV64寄存器被來(lái)自VME總線(xiàn)的訪(fǎng)問(wèn)時(shí),SCV64將其自身映射為本地設備,請求本地總線(xiàn),生成一次本地周期。此時(shí),需要本地地址譯碼邏輯驅動(dòng)SCV64EI信號,將該本地周期指向SCV64寄存器。有關(guān)SCV64寄存器訪(fǎng)問(wèn)的詳細內容,可參照其用戶(hù)使用手冊。
4 SCV64的中斷處理
根據VINT寄存器的設置,SCV64的VME總線(xiàn)中斷請求器(VME Bus Interrupter)可生成7級VME總線(xiàn)中斷(IRQl*-IRQ7*)的任一級。檢測到對應本級中斷的IACK周期時(shí),SCV64將在數據線(xiàn)VDA-TA07-VDATA00上提供8位的中斷向量,同時(shí)驅動(dòng)DTACK*信號回復系統控制器。
本地總線(xiàn)中斷請求器(Local Bus Interrupter)通過(guò)KIPL2-KIPL0信號向CPU生成中斷,編碼7級本地CPU中斷。中斷源撤銷(xiāo)中斷的同時(shí)SCV64將此組信號置為無(wú)效(111)。處理過(guò)程中若發(fā)生更高級別的中斷,KIPL2-KIPL0立即改變?yōu)樾轮袛嗉墑e的編碼。
中斷處理器模塊將中斷源分為3組:第七級中斷(L7IMEM、L7INMI、L7LACF)、一般本地中斷、VME總線(xiàn)中斷。其中第七級中斷默認為最高級別的CPU中斷,其次是系統錯誤中斷(如SYSFAIL+)和一般本地中斷(LIRQ5-0),而VME總線(xiàn)中斷(IRQ7*-IRQ1*)優(yōu)先級最低。中斷源的中斷請求通過(guò)中斷處理器轉發(fā)給CPU,CPU響應中斷后,要向SCV64發(fā)出中斷確認周期。此周期可通過(guò)外部譯碼邏輯譯碼,也可通過(guò)SCV64內部譯碼。這兩種情況都會(huì )驅動(dòng)SCV64的KIACK信號,SCV64就對中斷源發(fā)出一個(gè)IACK周期,同時(shí)驅動(dòng)KAVEC,通知CPU中斷確認結束。
5 PowerPC與VME總線(xiàn)橋接實(shí)現
PowerPC系列微處理器是業(yè)界公認的高性能、低功耗32位RISC處理器,可以進(jìn)行高性能計算和圖像處理,被美國國家航空和宇宙航行局(NASA)列為航天設備的標準處理器,而航天電子設備應用最廣泛的總線(xiàn)就是VME總線(xiàn)。國內該方面的研究緊隨其后,已經(jīng)有了PowerPC 603e的國產(chǎn)化產(chǎn)品,但是對其與VME總線(xiàn)的接口問(wèn)題研究還不多。事實(shí)上,以603e為例,要將其通過(guò)SCV64接入VME系統,主要涉及兩個(gè)問(wèn)題:一是電平轉換的問(wèn)題,CPU為3.3 V而接口器件為5 V;二是本地接口控制信號功能轉換的問(wèn)題,CPU總線(xiàn)是60x總線(xiàn),而SCV64的本地接口采用680x0協(xié)議,因此需要外部邏輯實(shí)現功能轉換。
第一個(gè)問(wèn)題可通過(guò)固定電平變換模塊來(lái)解決。第二個(gè)問(wèn)題則歸結為SCV64控制功能的實(shí)現,主要包括復位功能的實(shí)現、系統初始化、映射譯碼功能、主從傳輸的實(shí)現、中斷功能實(shí)現、寄存器訪(fǎng)問(wèn)、仲裁功能、塊(DMA)傳輸實(shí)現等,可借助FPGA或PLD器件來(lái)完成。
選用Altera公司的EPM9560ARI208-10型CPLD實(shí)現接口轉換和控制邏輯,如圖4所示。復位控制模塊接收來(lái)自電源監測電路(MAX706)的上電復位或SCV64發(fā)出的復位信號,控制SCV64以及其他轉換邏輯的復位,并完成PowerPC的工作模式選擇;本地仲裁模塊用于解決CPU與SCV64之間的本地總線(xiàn)競爭;地址譯碼模塊主要是根據CPU的有效地址,發(fā)送適當的器件或外設的選通信號;總線(xiàn)周期控制邏輯完成同步總線(xiàn)協(xié)議與異步協(xié)議的時(shí)序間匹配,向CPU(主周期)或SCV64(從周期)以及其他控制邏輯發(fā)出相應的總線(xiàn)周期終止信號(或插入等待周期),以開(kāi)始下一周期或者做出相應的操作處理錯誤;PowerPC僅有一個(gè)外部中斷輸入信號INT接受外部中斷,因此需要中斷控制邏輯來(lái)接受和轉發(fā)中斷矢量,對中斷信號進(jìn)行適配。
上述設計的核心部分為仲裁模塊和周期控制模塊,這兩個(gè)模塊可用狀態(tài)機實(shí)現,仲裁模塊的狀態(tài)機示意圖如圖5所示,依據狀態(tài)圖,可以很容易地寫(xiě)出VHDL代碼。
SCV64接往VME總線(xiàn)的信號中有三組需要通過(guò)外部緩沖器件驅動(dòng)后才能接入VME總線(xiàn),分別由VADDROUT、VDATAOUT和VSTRBOUT信號控制緩沖器件的方向:A31-A00和VLWORD分別為地址和字長(cháng)信號;VDATA31-VDATA00為32位數據信號;VAS,VDS1,VDS0,VWR以及VAM5-VAM0分別為VME總線(xiàn)地址、數據選通信號、讀/寫(xiě)信號和地址修改碼。其他VME接口信號均可直接接入總線(xiàn)背板。
6 結束語(yǔ)
SCV64提供了全面的VME總線(xiàn)至本地總線(xiàn)接口,采用CPLD或FPGA器件實(shí)現少量外部邏輯就可實(shí)現其與非MC68K系列CPU的連接,但需要對SCV64的工作過(guò)程比較了解。本文介紹了SCV64的數據傳輸和中斷處理過(guò)程,并給出了外部邏輯的設計思想,用戶(hù)據此可自行開(kāi)發(fā)VME總線(xiàn)應用系統。
評論