999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于X86及PCIE的MVB通信網(wǎng)卡設(shè)計(jì)

2020-04-21 07:40:59寧壽輝石小磊

寧壽輝 石小磊

摘要:簡(jiǎn)要介紹多功能車輛總線(MVB )總線及PCIE總線的特點(diǎn),給出了基于X86處理器、PCIE總線接口的MVB通信網(wǎng)卡的硬件架構(gòu)及設(shè)計(jì)方法,MVB網(wǎng)卡驅(qū)動(dòng)軟件、通信軟件設(shè)計(jì)開(kāi)發(fā)流程。

關(guān)鍵詞:MVB;PCIE;X86;通信網(wǎng)卡;驅(qū)動(dòng);通信

中圖分類號(hào):TP334.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)01-0142-03

0 引言

目前,符合TCN標(biāo)準(zhǔn)的通信產(chǎn)品在鐵路上已經(jīng)得到廣泛應(yīng)用,該標(biāo)準(zhǔn)定義了兩種用于列車車載數(shù)據(jù)通信的現(xiàn)場(chǎng)總線:絞線式列車總線(WTB)和多功能車輛總線(MVB)。MVB總線將車廂內(nèi),即機(jī)車內(nèi)、客車車輛內(nèi)或貨車車輛內(nèi)的設(shè)備連在一起構(gòu)成一個(gè)局域網(wǎng)。其中,以基于PC/104架構(gòu)的MVB通信設(shè)備應(yīng)用最為廣泛。隨著PCI總線技術(shù)向工業(yè)控制領(lǐng)域滲透,以支持熱插拔操作為顯著特征的PCI總線的MVB通信設(shè)備擁有良好的應(yīng)用前景。PCI總線技術(shù)具有無(wú)法忽視的優(yōu)點(diǎn),如更高的總線頻率、獨(dú)立于處理器、支持突發(fā)讀寫傳輸、自動(dòng)配置、支持自動(dòng)的設(shè)備檢測(cè)與配置及低功耗等。PCI-Express (PCIE)作為最新一代的總線接口,其點(diǎn)對(duì)點(diǎn)的串行設(shè)計(jì)以及雙通道高帶寬的傳輸模式,大大提高了數(shù)據(jù)的傳輸速率,它的廣泛應(yīng)用將全面取代PCI、AGP等總線。本文設(shè)計(jì)了一種基于X86及PCIE總線的MVB通信網(wǎng)卡,并完成軟硬件設(shè)計(jì)開(kāi)發(fā)。

1 MVB網(wǎng)卡硬件設(shè)計(jì)

1.1 總體硬件架構(gòu)

MVB網(wǎng)卡硬件架構(gòu)如圖1所示,MVB網(wǎng)卡由現(xiàn)場(chǎng)可編程邏輯陣列FPGA和MVB物理接口單元兩部分組成。現(xiàn)場(chǎng)可編程邏輯陣列FPGA完成PCIE總線數(shù)據(jù)編解碼、MVB數(shù)據(jù)幀收發(fā)以及PCIE總線與MVB核之間的數(shù)據(jù)交互,MVB物理接口單元完成MVB數(shù)據(jù)的編解碼(RS485格式)和符合IEC61375-1標(biāo)準(zhǔn)的TCN網(wǎng)絡(luò)物理接入。

1.2 MVB接口單元設(shè)計(jì)

MVB接口單元完成MVB差分信號(hào)隔離、RS485信號(hào)編解碼和收發(fā)器控制,接口標(biāo)準(zhǔn)符合IEC61357-1協(xié)議。

接口單元硬件原理如圖2所示,隔離變壓器采用PULSE公司X-1729NL,RS485收發(fā)器采用MAX3088,LCDA05完成差分信號(hào)的過(guò)壓鉗位保護(hù)。

1.3 PCIE轉(zhuǎn)MVB單元設(shè)計(jì)

PCIE轉(zhuǎn)MVB單元硬件原理如圖3所示, XILINX公司FPGA完成PCIE協(xié)議轉(zhuǎn)換和MVB核設(shè)計(jì),PCIE協(xié)議轉(zhuǎn)換完成PCIE總線控制命令解析,MVB核完成MVB數(shù)據(jù)幀解析和收發(fā)功能。

2 MVB網(wǎng)卡軟件設(shè)計(jì)

2.1 驅(qū)動(dòng)軟件設(shè)計(jì)

本設(shè)計(jì)采用X86工控機(jī)及Windows7操作系統(tǒng),為了實(shí)現(xiàn)操作系統(tǒng)應(yīng)用程序?qū)τ贛VB網(wǎng)卡的控制操作,需要開(kāi)發(fā)設(shè)備驅(qū)動(dòng)程序。這里選用WDK7.1開(kāi)發(fā)工具軟件,結(jié)合VS2013進(jìn)行PCIE驅(qū)動(dòng)程序開(kāi)發(fā)。WDK是微軟推出的一款完全集成的驅(qū)動(dòng)程序開(kāi)發(fā)工具,它包含Windows DDK,用于測(cè)試Windows驅(qū)動(dòng)器的可靠性和穩(wěn)定性,是專門為開(kāi)發(fā)人員推出的,支持Win7以上所有操作系統(tǒng)。

首先要進(jìn)行開(kāi)發(fā)環(huán)境的搭建。在Windows7操作系統(tǒng)中,依次安裝Visual Studio 2013及WDK7.1開(kāi)發(fā)工具。安裝結(jié)束后,要完成WDK7.1編譯環(huán)境的配置,選擇checked build環(huán)境編譯包含debug信息的驅(qū)動(dòng)。

整個(gè)WDF驅(qū)動(dòng)程序工程共包含3個(gè)源文件(Driver.c, Device.c, Queue.c)。device.c源碼文件主要包含設(shè)備創(chuàng)建、設(shè)備資源獲取和釋放的功能代碼。PortIODeviceCreate()為設(shè)備創(chuàng)建函數(shù),供PNP調(diào)用。PortIODeviceGetHw()為硬件資源獲取函數(shù),供PNP調(diào)用,順序獲取PCI/PCIE設(shè)備所使用的IO和Memeoy空間資源并對(duì)memory空間進(jìn)行映射,PortIODeviceReleaseHw()為硬件資源釋放函數(shù),供PNP調(diào)用,對(duì)已映射的memory空間進(jìn)行釋放。

driver.c源碼文件主要功能為生成驅(qū)動(dòng)對(duì)象。DriverEntry DriverEntry()為驅(qū)動(dòng)程序入口函數(shù);PortIOEvtDeviceAdd()為設(shè)備添加函數(shù)。

queue.c源碼文件創(chuàng)建用于與客戶應(yīng)用程序通訊的IO隊(duì)列對(duì)象,PortIOEvtIoDeviceControl()回調(diào)函數(shù)對(duì)于用戶操作進(jìn)行分發(fā)處理。

將以上源代碼通過(guò)VS2013+WDK7.1編譯就能生成相應(yīng)PCIE硬件板卡的Windows驅(qū)動(dòng)程序genport.sys文件。安裝驅(qū)動(dòng)程序后,應(yīng)用程序可以調(diào)用設(shè)備驅(qū)動(dòng)接口與硬件設(shè)備進(jìn)行通信。

驅(qū)動(dòng)程序調(diào)度流程如圖4所示,具體實(shí)現(xiàn)過(guò)程如下:

(1)首先通過(guò)Win32API函數(shù)GP_LoadDev打開(kāi)設(shè)備。

(2)然后調(diào)用GP_GetIOResourceInfo函數(shù)獲取設(shè)備資源列表情況。資源列表信息保存在RESINFO結(jié)構(gòu)體中。

typedef struct {

ULONG PortBase[6];? //基地址列表

ULONG PortCount[6];? //基地址段長(zhǎng)度列表

ULONG PortMemoryType[6];//基地址的類型,1表示是IO空間,0表示是Memory空間

ULONG PortMemoryResourceCount;//有效的基地址數(shù)量

} RESINFO, *PRESINFO;

(3)接下來(lái)調(diào)用GP_SetBusInterfaceData函數(shù)完成PCIE配置空間的配置。

(4)最后調(diào)用GP_WritePort及GP_ReadPort函數(shù)實(shí)現(xiàn)與驅(qū)動(dòng)程序通信,即讀寫數(shù)據(jù),當(dāng)應(yīng)用程序退出時(shí),調(diào)用GP_CloseDev函數(shù)關(guān)閉設(shè)備。

2.2 通信軟件設(shè)計(jì)

根據(jù)MVB設(shè)備的分類標(biāo)準(zhǔn),MVB設(shè)備按性能可分為5類。本文設(shè)計(jì)的MVB網(wǎng)卡支持過(guò)程數(shù)據(jù)、消息數(shù)據(jù)、監(jiān)視數(shù)據(jù)的收發(fā),也具備總線管理能力,實(shí)現(xiàn)了MVB4類設(shè)備的全部功能。設(shè)計(jì)中沒(méi)有采用傳統(tǒng)的利用MVB專用通訊控制器的設(shè)計(jì)方法,而是采用了當(dāng)今流行的FPGA代替MVB專用通訊控制器的方案。

MVB網(wǎng)卡的通信采用客戶端-服務(wù)器模式,如圖5所示。主機(jī)也稱作上位機(jī),是指可以直接發(fā)出控制命令的計(jì)算機(jī)設(shè)備,可以通過(guò)界面顯示各種變化信號(hào)的狀態(tài),實(shí)現(xiàn)良好的人機(jī)交互。下位機(jī)為MVB網(wǎng)卡,將接收到的主機(jī)命令解釋成為時(shí)序信號(hào),直接來(lái)控制相應(yīng)的硬件設(shè)備,并且實(shí)時(shí)讀取設(shè)備的狀態(tài)數(shù)據(jù),將此狀態(tài)數(shù)據(jù)轉(zhuǎn)化成數(shù)字信號(hào)反饋給主機(jī)。本論文中,主機(jī)軟件就是應(yīng)用程序,其功能是實(shí)現(xiàn)與硬件設(shè)備的驅(qū)動(dòng)程序進(jìn)行通信,發(fā)送指令并接收由硬件設(shè)備傳遞來(lái)的實(shí)時(shí)數(shù)據(jù)。主機(jī)軟件采用VS2013軟件工具來(lái)進(jìn)行編程,采用面向?qū)ο蟮腃++語(yǔ)言,在與硬件驅(qū)動(dòng)程序進(jìn)行通信的同時(shí),將實(shí)時(shí)數(shù)據(jù)顯示在主機(jī)界面上,實(shí)現(xiàn)硬件與軟件的協(xié)同工作。服務(wù)器端的驅(qū)動(dòng)程序由MVB網(wǎng)卡中的FPGA實(shí)現(xiàn)。

主機(jī)與MVB網(wǎng)卡的接口采用UART仿真(UART Emulation)模式,即利用一種類似于通用異步收發(fā)器UART16C450的基本通信模式實(shí)現(xiàn)數(shù)據(jù)通信,在這種模式下,數(shù)據(jù)“仿佛是通過(guò)一根串行線路”進(jìn)行傳輸,數(shù)據(jù)以高速連續(xù)方式發(fā)送和接收。主機(jī)對(duì)MVB鏈路層的接口訪問(wèn)主要通過(guò)使用UART寄存器組的方式實(shí)現(xiàn)。主機(jī)使用發(fā)送指令的方式訪問(wèn)UART寄存器組。MVB控制器將處理分析指令中的信息,從而對(duì)MVB進(jìn)行相關(guān)的操作。主機(jī)用戶應(yīng)用程序與MVB通信協(xié)議棧之間的接口由應(yīng)用程序接口API實(shí)現(xiàn),如過(guò)程數(shù)據(jù)鏈路層接口LPI、過(guò)程數(shù)據(jù)應(yīng)用層接口AVI及消息數(shù)據(jù)應(yīng)用層接口AMI等。

MVB通信軟件調(diào)度流程如下:首先讀取MVB配置文件進(jìn)行配置信息解析;然后完成MVB監(jiān)視數(shù)據(jù)接口初始化、過(guò)程數(shù)據(jù)接口初始化、通信存儲(chǔ)器初始化、過(guò)程數(shù)據(jù)端口配置;之后啟動(dòng)MVB設(shè)備;最后就可以進(jìn)行MVB過(guò)程數(shù)據(jù)收發(fā)及處理。

MVB數(shù)據(jù)的接收指主機(jī)從MVB網(wǎng)絡(luò)上讀取數(shù)據(jù),用于相應(yīng)的應(yīng)用。MVB數(shù)據(jù)的發(fā)送指應(yīng)用通過(guò)主機(jī)將需要發(fā)送的數(shù)據(jù)發(fā)送至MVB網(wǎng)絡(luò)。主機(jī)與MVB網(wǎng)卡進(jìn)行數(shù)據(jù)交互,完成MVB數(shù)據(jù)的收發(fā),其收發(fā)流程如圖6所示。進(jìn)行數(shù)據(jù)收發(fā)之前首先讀取狀態(tài)寄存器,判斷發(fā)送緩沖區(qū)為空還是接收緩沖區(qū)為空,當(dāng)發(fā)送緩沖區(qū)為空時(shí),先傳遞發(fā)送指令,然后將數(shù)據(jù)寫入發(fā)送緩沖區(qū),數(shù)據(jù)發(fā)送完畢,結(jié)束本次發(fā)送。接收過(guò)程與發(fā)送過(guò)程類似。

3 結(jié)語(yǔ)

本文在研究多功能車輛總線(MVB)的基礎(chǔ)上,提出了一種基于PCIE總線接口、FPGA通信控制器、X86處理器的MVB通信網(wǎng)卡的設(shè)計(jì)方法,并完成了最終實(shí)現(xiàn)。利用Visual Studio 2013及WDK7.1開(kāi)發(fā)工具,完成了WDF模型驅(qū)動(dòng)程序的開(kāi)發(fā)。完成了基于客戶端-服務(wù)器模式及UART仿真技術(shù)的MVB通信軟件設(shè)計(jì)。在Windows7操作系統(tǒng)下,驅(qū)動(dòng)程序和通信軟件能夠穩(wěn)定運(yùn)行。利用該類網(wǎng)卡組成的地鐵車輛網(wǎng)絡(luò)控制系統(tǒng),通過(guò)實(shí)驗(yàn)室聯(lián)調(diào)試驗(yàn),驗(yàn)證了系統(tǒng)信息傳遞的可靠性、準(zhǔn)確性和實(shí)時(shí)性,以及與其他產(chǎn)品的兼容性。實(shí)驗(yàn)表明,所設(shè)計(jì)的基于PCIE接口的MVB網(wǎng)卡可以很好地滿足地鐵車輛控制系統(tǒng)要求。目前該網(wǎng)卡已研制成功并批量裝車使用,運(yùn)行穩(wěn)定可靠,已成為地鐵車輛控制的關(guān)鍵設(shè)備。

參考文獻(xiàn)

[1] IEC61375-1.Electric Railway Equipment-Train Bus-Part 1:Train Communication Network[S].2007.

[2] 王齊.PCI Express體系結(jié)構(gòu)導(dǎo)讀[M].北京:機(jī)械工業(yè)出版社,2010.

[3] 王曉慶,周曉波,趙強(qiáng).PCIE高速數(shù)據(jù)采集系統(tǒng)的驅(qū)動(dòng)及上位機(jī)軟件開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(9):331-333.

[4] 劉娟,田澤,黎小玉.PCI-E接口驅(qū)動(dòng)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(8):53-55+59.

主站蜘蛛池模板: www.狠狠| 精品国产91爱| 国产在线自乱拍播放| 尤物成AV人片在线观看| 国产高潮流白浆视频| 亚洲成a人片77777在线播放| 黄色一级视频欧美| 国产黄色爱视频| 被公侵犯人妻少妇一区二区三区| 91福利在线观看视频| 午夜性爽视频男人的天堂| 亚洲AV永久无码精品古装片| 男女性午夜福利网站| 日韩AV手机在线观看蜜芽| 亚洲精品视频免费| 高清欧美性猛交XXXX黑人猛交| 噜噜噜久久| 亚洲欧洲综合| 日本精品视频| 日韩欧美色综合| 国产靠逼视频| 亚洲视频免| 久久免费看片| 日韩在线网址| 色偷偷男人的天堂亚洲av| 欧美激情第一区| 国产精品久久久久久搜索| 色综合久久久久8天国| 日韩在线永久免费播放| 亚洲成人免费在线| 亚洲综合专区| 永久免费精品视频| 伊人激情综合网| 黄片在线永久| 无码日韩人妻精品久久蜜桃| 国产丰满成熟女性性满足视频| 18禁黄无遮挡免费动漫网站| 色视频国产| 欧美视频在线播放观看免费福利资源| 国产尤物在线播放| 亚洲va欧美ⅴa国产va影院| 美女免费黄网站| 成人国产一区二区三区| 免费看美女自慰的网站| 国产在线高清一级毛片| 伊在人亞洲香蕉精品區| 日本欧美精品| 香蕉国产精品视频| aⅴ免费在线观看| 日韩欧美视频第一区在线观看| 久久人妻系列无码一区| 日韩欧美中文在线| 中文国产成人精品久久| 亚洲天堂视频在线播放| 国产精品真实对白精彩久久| 国产激爽大片高清在线观看| 欧美午夜精品| 午夜天堂视频| 最新亚洲人成网站在线观看| 国产精品永久免费嫩草研究院| 精品免费在线视频| h视频在线观看网站| 亚洲视频a| 992Tv视频国产精品| 91在线国内在线播放老师| 99久久精彩视频| 国产一区成人| 国产手机在线小视频免费观看| 国产一区二区人大臿蕉香蕉| 99无码熟妇丰满人妻啪啪| 538国产在线| 四虎永久免费在线| 亚洲免费福利视频| 亚洲高清日韩heyzo| 尤物视频一区| a级毛片在线免费| www.狠狠| 嫩草国产在线| 欧美一区二区精品久久久| 久久99国产乱子伦精品免| 成人在线天堂| 91精品人妻一区二区|