• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA+SCV64架構(gòu)的VME總線從模塊開發(fā)

      2019-09-19 06:08:36煊1羅運(yùn)虎1鄭永龍周勇軍
      測控技術(shù) 2019年2期
      關(guān)鍵詞:低電平高電平寄存器

      白 煊1, 羅運(yùn)虎1, 鄭永龍, 周勇軍

      (1.南京航空航天大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210016;2.中國人民解放軍第5720工廠 安徽省航空設(shè)備測控與逆向工程實(shí)驗(yàn)室,安徽 蕪湖 241007)

      VME總線概念最早源自于VERSA總線,被命名為VERSAbus-E,之后改名為VME總線。VME總線作為一種歐洲通用模塊背板總線,具有高性能、支持多處理器計(jì)算機(jī)系統(tǒng)的特點(diǎn)。經(jīng)過數(shù)十年的發(fā)展,堅(jiān)固耐用的VME總線已擁有一大批成品制造商,被廣泛應(yīng)用于軍事、醫(yī)療、交通運(yùn)輸以及工業(yè)控制系統(tǒng)中。

      由于VME總線已被應(yīng)用在新型飛機(jī)上,故它將會(huì)被越來越多的人關(guān)注。許多學(xué)者都對(duì)其展開了相關(guān)研究。文獻(xiàn)[1]和文獻(xiàn)[2]基于ARM或PowerPC等處理器,實(shí)現(xiàn)VME總線控制器功能;文獻(xiàn)[3]闡述了VME接口協(xié)議芯片SCV64的應(yīng)用概況。文獻(xiàn)[4]采用FPGA設(shè)計(jì)了DFT1總線數(shù)據(jù)采集方案。文獻(xiàn)[5]則利用FPGA實(shí)現(xiàn)VME總線控制器功能。文獻(xiàn)[6]和文獻(xiàn)[7]通過FPGA解析了VME總線信號(hào)數(shù)據(jù)。

      目前飛機(jī)檢修過程中,分解的VME模塊無法完成單個(gè)數(shù)據(jù)通信檢測,因此本文在對(duì)VME總線通信規(guī)范深入了解的基礎(chǔ)上,基于“SCV64+FPGA”架構(gòu),開發(fā)了VME總線從模塊,可與待檢測VME模塊構(gòu)成數(shù)據(jù)通路,從而為航電部件檢修奠定基礎(chǔ)。

      1 模塊硬件設(shè)計(jì)

      所研制的VME總線通信模塊可以在VME主控板發(fā)起傳輸后,接收VME主控板發(fā)出的數(shù)據(jù),并通過LED指示燈顯示當(dāng)前操作讀寫的數(shù)據(jù)內(nèi)容,其架構(gòu)如圖1所示。

      圖1 模塊硬件結(jié)構(gòu)框圖

      1.1 FPGA最小系統(tǒng)電路設(shè)計(jì)

      ① 供電電壓電路設(shè)計(jì)。所選FPGA為EP3C16Q240C8,其供電電壓主要包括VCCINT、VCCIO和VCCA。其中VCCINT為內(nèi)核電壓1.2 V;VCCIO為I/O電壓3.3 V;VCCA為PLL的模擬供電電壓2.5 V。

      ② 復(fù)位電路設(shè)計(jì)。復(fù)位電路由MAX706SESA芯片構(gòu)成。MAX706SESA是一款微處理器監(jiān)控芯片,可監(jiān)控3~5 V電平。比起早期的多個(gè)元件電路,其可靠性和精度都大大提高,常常作為上電、下電時(shí)復(fù)位電平輸出。

      ③ 配置電路設(shè)計(jì)。由于Cyclone系列FPGA是SRAM結(jié)構(gòu),斷電后FPGA的配置信息就會(huì)丟失,需要重新使用JTAG接口下載配置信息,或者使用配置器件在重新上電時(shí)對(duì)FPGA進(jìn)行自動(dòng)配置。所采用的FPGA配置芯片為EPCS16。

      1.2 SCV64外圍電路設(shè)計(jì)

      早期VME總線橋接控制器多采用VIC068A或VIC64。VIC系列的接口器件兼容性差,且只提供8位地址和數(shù)據(jù)通道,使用很不方便。SCV64是Tundra公司生產(chǎn)的VME總線接口。其功能靈活,可以為各種VME數(shù)據(jù)環(huán)境制定接口。

      SCV64利用VME接口在總線間實(shí)現(xiàn)解耦傳輸和耦合傳輸。解耦傳輸:VME主模塊向SCV64數(shù)據(jù)傳輸結(jié)束后即釋放VME總線,之后由SCV64完成數(shù)據(jù)向本地總線傳輸;耦合傳輸:VME主模塊向SCV64數(shù)據(jù)傳輸結(jié)束后不釋放VME總線,在SCV64完成數(shù)據(jù)向本地總線傳輸后VME總線才被釋放。

      SCV64的VME總線接口需要通過8位轉(zhuǎn)換器對(duì)VME總線的地址、數(shù)據(jù)、地址修正信號(hào)以及數(shù)據(jù)選通信號(hào)進(jìn)行緩沖。8位轉(zhuǎn)換器的方向由SCV64的VADDROUT、VDATAOUT、VSTRBOUT信號(hào)控制。VADDROUT控制地址線A31~A00、LWORD;VDATAOUT控制數(shù)據(jù)線VDATA31~VDATA0;VSTRBOUT控制VAS、VDS1、VDS0、VER、VAM5~VAM0。本設(shè)計(jì)采用SN74LVC4245ADBR作為信號(hào)緩沖。

      SCV64本地接口提供了總線請(qǐng)求仲裁,若不需要此仲裁過程可以繞過本地總線仲裁。在PWRRST信號(hào)的上升沿期間保持KBGACK為低,可以繞過SCV64本地總線仲裁。

      可以通過上電時(shí)序使SCV64本地接口僅為從器件使用,該選項(xiàng)使SCV64能夠自動(dòng)初始化所有需要訪問VME總線的內(nèi)部寄存器。

      上電復(fù)位信號(hào)PWRRST上升沿時(shí),需要保持KDS為高電平,SCV64采樣KFC0和KFC2信號(hào),若KFC0為低電平、KFC2為高電平,則SCV64進(jìn)入從器件模式。此時(shí)SCV64會(huì)讀取本地總線數(shù)據(jù)端口的輸入值,利用此值配置VMEBAR寄存器。

      VMEBAR寄存器中存儲(chǔ)了SCV64作為VME從模塊的基地址與從窗口的范圍大小。VME從窗口映射可通過24位(A24)或32位(A32)地址線訪問,不能通過16位地址訪問。A32窗口基地址可以被設(shè)置為128 MB(地址線0~26位)內(nèi)的任意值,窗口范圍在4~128 KB之,A24窗口可以被設(shè)置為小于16 MB的512 KB倍數(shù)大小。在本地總線上SCV64驅(qū)動(dòng)低位地址線匹配VME從地址空間。而高于可配置從空間大小的地址線KADDR31~KADDR27將不被驅(qū)動(dòng),其余未使用的地址線被驅(qū)動(dòng)為低電平。當(dāng)VME主設(shè)備發(fā)起的傳輸?shù)刂穼儆谠搹拇翱诜秶鷷r(shí),則判定對(duì)該從模塊進(jìn)行傳輸。SCV64將VME從窗口地址映射至本地總線,本地總線起始地址0x0對(duì)應(yīng)VME從模塊基地址,本地總線終止地址為從窗口的范圍大小。

      為配置SCV64為從模式并繞開本地仲裁,本設(shè)計(jì)通過4.7 kΩ電阻上拉信號(hào)KFC1、KFC2、KDS、KAS、KBERR至5 V;通過4.7 kΩ電阻下拉KFC0、KBGACK至地;短接本地總線申請(qǐng)信號(hào)KBRQ與授權(quán)KBGR;通過10 kΩ電阻上拉BG3IN*信號(hào)至5 V。

      通過NLSX4373DR2G與SN74LVC4245ADBR將SCV64的5 V電平信號(hào)轉(zhuǎn)換為3.3 V與FPGA連接。

      2 模塊軟件設(shè)計(jì)

      圖2為軟件整體工作狀態(tài)機(jī)。S0為上電初始化狀態(tài),S1為MODE寄存器配置狀態(tài),S2為等待數(shù)據(jù)傳輸狀態(tài),S3為從模塊數(shù)據(jù)傳輸狀態(tài)。

      圖2 從板程序狀態(tài)機(jī)

      2.1 上電初始化、寄存器配置(S0、S1)

      VME系統(tǒng)主器件通過基地址以及以基地址起始的從空間范圍來區(qū)別操作各個(gè)系統(tǒng)中的模塊,圖2中S0狀態(tài)為上電初始化狀態(tài),在此狀態(tài)上電復(fù)位信號(hào)PWRRST由有效變?yōu)闊o效出現(xiàn)上升沿,此刻FPGA將在SCV64的本地端口數(shù)據(jù)信號(hào)線(KDATA)上輸出寄存器VMEBAR值,并自動(dòng)配置MODE寄存器中的從窗口使能位。本設(shè)計(jì)中配置VME從空間地址寬度為32位,大小為1 MB,基地址為0x08000000。將VME空間全部映射至從模塊32位LED數(shù)據(jù),對(duì)該VME地址空間讀寫全部反映至32位LED數(shù)據(jù)。

      VME讀取從設(shè)備SCV64中數(shù)據(jù)必須為耦合傳輸;VME向從設(shè)備SCV64寫數(shù)據(jù)可以為耦合傳輸也可為解耦傳輸。SCV64的MODE寄存器中的RXATOM位和TXATOM位默認(rèn)讀寫FIFO的模式皆為解耦傳輸,需要通過圖2中S1狀態(tài)利用本地接口訪問SCV64的MODE寄存器進(jìn)行修改。MODE寄存器地址為:32′h0000003C。這里不改變?cè)摷拇嫫髌渌荒J(rèn)值,所以寫入寄存器值為:32′h00001C01。

      圖3為MODE寄存器配置流程,首先FPGA驅(qū)動(dòng)KWR信號(hào)為低電平表示寫入數(shù)據(jù),驅(qū)動(dòng)KADDR、KDATA為地址和數(shù)據(jù);其次SCV64SEL片選信號(hào)輸出低電平,表示訪問SCV64內(nèi)部寄存器;之后KAS地址有效信號(hào)輸出低電平,KDS數(shù)據(jù)有效信號(hào)輸出低電平;最后等待KDSACK信號(hào)低電平有效,表示寄存器寫入成功。圖4為MODE寄存器配置仿真。

      2.2 從模塊數(shù)據(jù)讀寫(S3)

      修改完成后若SCV64讀取VME總線傳輸?shù)刂吩谧约旱膹拇翱诜秶鷥?nèi),則從模塊開啟傳輸過程。存儲(chǔ)片選信號(hào)RAMSEL低電平有效,F(xiàn)PGA程序進(jìn)入圖2中S3狀態(tài)。圖5為從模塊傳輸邏輯流程。通過SCV64本地接口信號(hào)KSIZE讀取數(shù)據(jù)寬度、KWR信號(hào)讀取數(shù)據(jù)傳輸方向。當(dāng)KAS信號(hào)低電平有效時(shí),可讀取KADDR信號(hào)在VME總線映射至本地總線的地址。當(dāng)KDS*低電平有效時(shí),若為寫入數(shù)據(jù)可通過KDATA讀取數(shù)據(jù),若為讀取數(shù)據(jù)可通過KDATA發(fā)送數(shù)據(jù)。在數(shù)據(jù)傳輸完成后,本地總線通過低電平有效KDSACK信號(hào)終止傳輸。圖6、圖7分別為從模塊讀、寫傳輸仿真,讀傳輸中,KDATAr默認(rèn)值為32位高電平(仿真顯示256進(jìn)制數(shù):255 255 255 255),讀出數(shù)據(jù)位32位低電平;寫傳輸中,KDATAw默認(rèn)值為32位低電平(仿真顯示256進(jìn)制數(shù):0 0 0 0),讀出數(shù)據(jù)位32位高電平。

      圖4 MODE寄存器配置仿真

      3 模塊測試驗(yàn)證

      運(yùn)用MVME3100作為VME總線主控模塊,運(yùn)行VxWorks操作系統(tǒng),通過開發(fā)主機(jī)對(duì)MVME3100進(jìn)行控制??赏ㄟ^主機(jī)利用VxWorks開發(fā)工具Tornado的shell控制MVME3100發(fā)起傳輸。在39E系列VME測試開發(fā)平臺(tái)機(jī)箱內(nèi)進(jìn)行測試。圖8為VME總線從模塊正面,圖9為VME總線從模塊背面。圖10為模塊測試框架。

      3.1 測試條件

      ① MVME3100單板計(jì)算機(jī)。本實(shí)驗(yàn)運(yùn)用MVME3100作為VME總線主控模塊,發(fā)起針對(duì)VME總線從模塊的數(shù)據(jù)傳輸。MVME3100單板計(jì)算機(jī)采用了MCP8540處理器,不僅僅提供了更快的VME總線傳輸速率,內(nèi)存子系統(tǒng)、本地總線和I/O子系統(tǒng)的平衡性也更好。

      圖5 從模塊傳輸邏輯流程

      圖6 從模塊讀傳輸仿真

      圖7 從模塊寫傳輸仿真

      ② 軟件條件。本實(shí)驗(yàn)利用Tornado開發(fā)環(huán)境中的shell工具對(duì)MVME3100進(jìn)行命令操作。Tornado是WRS公司推出的一套實(shí)時(shí)操作系統(tǒng)開發(fā)環(huán)境,界面風(fēng)格類似Microsoft Visual C,但是較之后者提供了更豐富的調(diào)試、仿真環(huán)境和工具。其中的shell工具允許下載應(yīng)用程序模塊,調(diào)用VxWorks及應(yīng)用程序模塊的子程序。shell雖然運(yùn)行在開發(fā)主機(jī)上,但它允許對(duì)目標(biāo)機(jī)發(fā)起任務(wù),讀出或?qū)懭肽繕?biāo)設(shè)備。

      圖8 VME從模塊正面

      圖10 模塊測試框架

      3.2 測試步驟

      ① 通過網(wǎng)口與串口連接開發(fā)主機(jī)與MVME3100。在開發(fā)主機(jī)中運(yùn)行FPT通信協(xié)議,啟動(dòng)MVME3100。

      ② 在開發(fā)主機(jī)中打開Tornado啟動(dòng)目標(biāo)機(jī)MVME3100,即可通過shell對(duì)MVME3100進(jìn)行操作。

      ③ 調(diào)用函數(shù)“sysTempeWinShow”得到MVME3100中PCI地址窗口與VME地址窗口間的映射關(guān)系。

      地址空間Outbound window0為系統(tǒng)為操作mailbox寄存器預(yù)留的空間,不可通過其訪問VME地址空間。所以通過地址空間Outbound window1讀寫VME地址空間數(shù)據(jù)。

      空間Outbound window1:

      PCI起始地址:00000000_80000000;PCI終止地址:00000000_800fffff

      VME起始地址:00000000_08000000;VME終止地址:00000000_080fffff

      ④ 輸入命令“d+PCI地址”(d 0x80040000)讀取棧地址空間Outbound window1中數(shù)據(jù)。

      ⑤ 輸入命令“m+PCI地址”(m 0x80040000)改寫Outbound window1中數(shù)據(jù),即向?qū)?yīng)VME空間地址發(fā)送數(shù)據(jù)。

      3.3 測試結(jié)果

      通過MVME3100向從模塊LED發(fā)送數(shù)據(jù)0xffff0000。圖11為Tornado下shell命令讀取并寫入內(nèi)存空間地址0x80040000,原數(shù)據(jù)為0xffffffff。再通過讀取內(nèi)存空間地址0x80040004讀取LED數(shù)據(jù)。圖12為LED顯示寫入從模塊數(shù)據(jù)。從圖中不難看出從模塊數(shù)據(jù)讀寫的有效性。

      圖11 MVME3100發(fā)起讀寫數(shù)據(jù)0xffff0000

      4 硬件設(shè)計(jì)與軟件開發(fā)注意事項(xiàng)

      4.1 硬件設(shè)計(jì)方面

      ① 為保證信號(hào)穩(wěn)定,SCV64需要通過8位轉(zhuǎn)換器對(duì)VME總線的地址、數(shù)據(jù)、地址修正信號(hào)以及數(shù)據(jù)選通信號(hào)進(jìn)行緩沖。

      ② 為防止SCV64在VME總線系統(tǒng)中被配置為主控模式,BG3IN*信號(hào)不與總線相連,而應(yīng)通過10 kΩ電阻上拉至VDD;

      ③ 為保證SCV64正常工作,在上電復(fù)位PWRRST上升沿期間,要KDS保持高電平,因此KDS管腳需要通過4.7 kΩ電阻上拉至VDD。

      ④ 為保證菊花鏈通暢,需要短接總線信號(hào)BG3IN*與BG3OUT*。

      4.2 軟件開發(fā)方面

      ① 為保證軟件運(yùn)行過程中,SCV64保持硬件配置,上電復(fù)位PWRRST僅在上電復(fù)位時(shí)有效一次,之后的任何系統(tǒng)復(fù)位都不應(yīng)造成PWRRST有效,PWRRST復(fù)位信號(hào)復(fù)位SCV64中全部硬件配置。

      ② 在不同操作中,F(xiàn)PGA與SCV64間的信號(hào)傳輸方向不同。為使傳輸正確,應(yīng)注意SN74LVC4245ADBR的方向控制信號(hào)的切換。

      ③ 訪問SCV64內(nèi)部寄存器時(shí),需選通SCV64SEL片選信號(hào)。

      ④ 由于SCV64硬件模式在軟件運(yùn)行中沒有更改,程序上電初始化和寄存器配置狀態(tài),僅在系統(tǒng)整體復(fù)位時(shí)運(yùn)行。

      5 結(jié)束語

      為滿足后續(xù)新機(jī)VME總線模塊電路板深修的需要,針對(duì)目前VME總線的研究現(xiàn)狀,基于SCV64這款VME接口協(xié)議芯片,研制一塊具有接收VME總線信號(hào)讀寫操作的從模塊。所研制的VME總線從模塊為后續(xù)豐富VME總線數(shù)據(jù)功能系統(tǒng)的搭建和完善打下了堅(jiān)實(shí)基礎(chǔ)。

      猜你喜歡
      低電平高電平寄存器
      數(shù)字電路中“邏輯非”的用法辨析
      一種基于FPGA的PWM防錯(cuò)輸出控制電路
      鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      TS-03C全固態(tài)PDM中波發(fā)射機(jī)開關(guān)機(jī)控制電路原理及故障分析
      科技傳播(2019年15期)2019-08-22 08:07:44
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      DM 50KW中波廣播發(fā)射機(jī)欠推動(dòng)故障分析
      PDM 1kW中波廣播發(fā)射機(jī)保護(hù)電路分析
      集成電路靜態(tài)參數(shù)測試
      青岛市| 大丰市| 调兵山市| 沈阳市| 云浮市| 丹棱县| 武冈市| 波密县| 辽源市| 济阳县| 恩施市| 蒲城县| 石景山区| 廉江市| 安顺市| 璧山县| 新密市| 临邑县| 石台县| 新巴尔虎右旗| 长葛市| 河曲县| 拉孜县| 邓州市| 新晃| 阿克陶县| 大庆市| 西贡区| 于田县| 团风县| 新竹县| 门头沟区| 波密县| 南川市| 顺昌县| 柳州市| 大化| 阿拉善盟| 汝州市| 武穴市| 普安县|