本發(fā)明屬于網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,涉及一種網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換器。
背景技術(shù):
總線通信系統(tǒng)廣泛應(yīng)用于控制系統(tǒng),而主機(jī)和各處理器之間通常采用不同形式的總線進(jìn)行數(shù)據(jù)傳輸,主機(jī)不僅需要處理各種復(fù)雜運(yùn)算和任務(wù)調(diào)度,同時(shí)還需要對(duì)各個(gè)通訊接口進(jìn)行管理。
以采用pci總線和linkport總線進(jìn)行通信的實(shí)時(shí)控制系統(tǒng)為例,pci總線是一種先進(jìn)的局部總線,具有高可靠性高、高帶寬、高開發(fā)性和可熱插拔的特點(diǎn)。支持132mb/s的峰值速度(32位總線寬度),延時(shí)時(shí)間只需60ns(33mhz)。并且支持66mhz的工作頻率。適合高性能實(shí)時(shí)系統(tǒng)的數(shù)據(jù)傳輸。linkport總線是一種點(diǎn)對(duì)點(diǎn)的全雙工高速總線。
通信系統(tǒng)一方面需要完成pci總線和linkport總線之間數(shù)據(jù)的轉(zhuǎn)換和收發(fā),另一方面實(shí)時(shí)控制系統(tǒng)對(duì)系統(tǒng)的響應(yīng)時(shí)間有嚴(yán)格的要求,這就要求快速完成數(shù)據(jù)收發(fā)和數(shù)據(jù)格式的轉(zhuǎn)換。而主處理器和執(zhí)行單元之間的通訊延時(shí)長(zhǎng)短直接影響實(shí)時(shí)控制系統(tǒng)的相應(yīng)速度和控制精度。
而現(xiàn)有技術(shù)中,是通過協(xié)助處理器來完成不同總線間協(xié)議轉(zhuǎn)換的,針對(duì)不同的系統(tǒng),主要更改處理器的軟件配置,以適應(yīng)不同的控制需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種靈活性高、轉(zhuǎn)換速度快的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換器。
為了實(shí)現(xiàn)以上目的,本發(fā)明提供以下技術(shù)方案:
協(xié)議轉(zhuǎn)換器,基于fpga而構(gòu)建,用以實(shí)現(xiàn)兩種總線之間的協(xié)議轉(zhuǎn)換,分別連接主機(jī)和處理器,還包括配置有第一種總線通訊接口的可與主機(jī)通訊的總線一通訊管理單元、配置有第二種總線通訊接口的可與處理器通訊的總線二管理單元,以及,可與總線一通訊管理單元和總線二管理單元通訊的存儲(chǔ)器;
存儲(chǔ)器包括:用以存儲(chǔ)協(xié)議轉(zhuǎn)換器各單元配置信息的配置寄存單元,用以存儲(chǔ)總線二接收數(shù)據(jù)的數(shù)據(jù)接收存儲(chǔ)單元,用以存儲(chǔ)總線二待發(fā)送數(shù)據(jù)的數(shù)據(jù)發(fā)送存儲(chǔ)單元,以及,用于存儲(chǔ)發(fā)送數(shù)據(jù)指令的指令寄存單元;
總線二管理單元包括用以根據(jù)配置寄存單元的配置信息形成發(fā)送數(shù)據(jù)指令的發(fā)送數(shù)據(jù)控制單元;
所述協(xié)議轉(zhuǎn)換器進(jìn)一步包括用以對(duì)協(xié)議轉(zhuǎn)換器各單元下發(fā)配置信息并對(duì)各單元進(jìn)行功能配置的邏輯管理單元,邏輯管理單元可分別與總線一通訊管理單元、總線二管理單元及存儲(chǔ)器進(jìn)行雙向數(shù)據(jù)通訊。
作為優(yōu)選:總線二管理單元具有多個(gè)總線二通訊接口,可外接多路總線二通道。
作為優(yōu)選:存儲(chǔ)器進(jìn)一步包括用以存儲(chǔ)協(xié)議轉(zhuǎn)換器各單元工作狀態(tài)信息的狀態(tài)寄存單元。
作為優(yōu)選:協(xié)議轉(zhuǎn)換器進(jìn)一步包括用以對(duì)協(xié)議轉(zhuǎn)換器各單元提供時(shí)鐘信號(hào)的時(shí)鐘管理單元。
作為優(yōu)選:存儲(chǔ)器采用雙口ram,經(jīng)高速并行總線分別與總線一通訊管理單元和總線二管理單元相連。
作為優(yōu)選:配置信息包括但不限于總線二管理單元收發(fā)數(shù)據(jù)配置信息,具體包括使能通道數(shù)、傳輸波特率、傳輸內(nèi)容、通訊周期、接收數(shù)據(jù)的存放地址、狀態(tài)寄存器的更新數(shù)據(jù)。
協(xié)議轉(zhuǎn)換方法,包括以下步驟:
通過主機(jī)或邏輯管理單元設(shè)置協(xié)議轉(zhuǎn)換器各單元的配置信息,存儲(chǔ)到配置寄存單元;
邏輯管理單元根據(jù)配置信息完成對(duì)總線二管理單元的配置,并讀取指令寄存單元是否收到主機(jī)下發(fā)的數(shù)據(jù)發(fā)送指令,若是,則按配置信息發(fā)送數(shù)據(jù)發(fā)送存儲(chǔ)單元中的待發(fā)送數(shù)據(jù),若否,則等待并持續(xù)讀取指令寄存單元數(shù)據(jù);
總線二管理單元接收到數(shù)據(jù)后,更新數(shù)據(jù)接收存儲(chǔ)單元中的數(shù)據(jù)。
作為優(yōu)選:在等待主機(jī)數(shù)據(jù)發(fā)送指令的過程中,更新存儲(chǔ)器中數(shù)據(jù)發(fā)送存儲(chǔ)單元的數(shù)據(jù)。
作為優(yōu)選:進(jìn)一步包括以下步驟:根據(jù)數(shù)據(jù)接收存儲(chǔ)單元中的數(shù)據(jù)以及協(xié)議轉(zhuǎn)換器各單元的自檢數(shù)據(jù),更新狀態(tài)寄存器中的狀態(tài)數(shù)據(jù)。
本發(fā)明的有益效果為:
(1)本發(fā)明提出了一種協(xié)議轉(zhuǎn)換器,可以實(shí)現(xiàn)不同總線間協(xié)議的高速轉(zhuǎn)換,具有極短的轉(zhuǎn)換延時(shí),可以降低應(yīng)用相應(yīng)總線的實(shí)時(shí)系統(tǒng)的傳輸延時(shí),提高實(shí)時(shí)系統(tǒng)的實(shí)時(shí)性能。
(2)可根據(jù)系統(tǒng)需求,通過存儲(chǔ)器的配置寄存單元存儲(chǔ)輸送內(nèi)容、輸送通道、數(shù)據(jù)存放地址等配置信息,使協(xié)議轉(zhuǎn)換器具有很高的靈活性和通用性。
附圖說明
圖1為協(xié)議轉(zhuǎn)換器結(jié)構(gòu)示意圖;
圖2為存儲(chǔ)器內(nèi)部結(jié)構(gòu)示意圖;
圖3為協(xié)議轉(zhuǎn)換器工作流程圖。
其中:1-協(xié)議轉(zhuǎn)換器,2-主機(jī),3-pci通訊管理單元,4-linkport管理單元,5-dsp處理器,6-邏輯管理單元,7-時(shí)鐘管理單元,8-雙口ram。
具體實(shí)施方式
以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行清楚完整地描述。顯然,具體實(shí)施方式所描述的實(shí)施例僅為本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
需要說明的是,本實(shí)施例中,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
本發(fā)明提供了一種用以實(shí)現(xiàn)兩種總線間協(xié)議轉(zhuǎn)換的協(xié)議轉(zhuǎn)換器。
本實(shí)施方式將以pci總線與linkport總線的協(xié)議轉(zhuǎn)換器為例,來論述協(xié)議轉(zhuǎn)換器的結(jié)構(gòu)及工作方法。
協(xié)議轉(zhuǎn)換器,基于fpga而構(gòu)建,用以實(shí)現(xiàn)兩種總線之間的協(xié)議轉(zhuǎn)換,例如,本實(shí)施例中,協(xié)議轉(zhuǎn)換器用于pci總線與linkport總線之間的協(xié)議轉(zhuǎn)換。
參考圖1,協(xié)議轉(zhuǎn)換器1分別連接主機(jī)2和處理器,包括配置有第一種總線通訊接口的可與主機(jī)2通訊的總線一通訊管理單元、配置有第二種總線通訊接口的可與處理器通訊的總線二管理單元,以及,可與總線一通訊管理單元和總線二管理單元通訊的存儲(chǔ)器。其中,總線二管理單元具有多個(gè)總線二通訊接口,可外接多路總線二通道。
協(xié)議轉(zhuǎn)換器1進(jìn)一步包括用以對(duì)協(xié)議轉(zhuǎn)換器各單元下發(fā)配置信息并對(duì)各單元進(jìn)行功能配置的邏輯管理單元6,邏輯管理單元6可分別與總線一通訊管理單元、總線二管理單元及存儲(chǔ)器進(jìn)行雙向數(shù)據(jù)通訊。邏輯管理單元控制協(xié)議處理器各單元的動(dòng)作,配置各單元的功能,保證各個(gè)功能單元協(xié)同工作。
具體到本實(shí)施例,總線一通訊管理單元為pci通訊管理單元3,配置有pci總線接口,經(jīng)pci總線與主機(jī)進(jìn)行通訊;總線二管理單元為linkport管理單元4,配置有l(wèi)inkport總線接口,經(jīng)linkport總線與處理器連接。每個(gè)linkport管理單元4具有4路全雙工linkport總線,可以實(shí)現(xiàn)最多與4片dsp處理器5相連,即外接4路總線二通道。
本實(shí)施例中,存儲(chǔ)器采用雙口ram8,經(jīng)fpga內(nèi)部高速并行總線分別與pci通訊管理單元3和linkport管理單元4相連,實(shí)現(xiàn)pci總線和linkport總線之間的數(shù)據(jù)緩沖,存儲(chǔ)器內(nèi)部結(jié)構(gòu)參考圖2,具體包括:
配置寄存單元:對(duì)雙口ram8中的固定地址對(duì)應(yīng)的存儲(chǔ)空間設(shè)置為配置寄存單元,用以存儲(chǔ)協(xié)議轉(zhuǎn)換器各單元配置信息的;
數(shù)據(jù)接收存儲(chǔ)單元:對(duì)雙口ram8中的固定地址對(duì)應(yīng)的存儲(chǔ)空間設(shè)置為數(shù)據(jù)接收存儲(chǔ)單元,用以存儲(chǔ)總線二接收的數(shù)據(jù),具體到本實(shí)施方式,處理器采用dsp處理器5,數(shù)據(jù)接收存儲(chǔ)單元存儲(chǔ)的數(shù)據(jù)包括linkport管理單元4接收的來自dsp處理器5的數(shù)據(jù)及l(fā)inkport管理單元4進(jìn)行數(shù)據(jù)傳輸過程中反饋的狀態(tài)數(shù)據(jù);
數(shù)據(jù)發(fā)送存儲(chǔ)單元:對(duì)雙口ram8中的固定地址對(duì)應(yīng)的存儲(chǔ)空間設(shè)置為數(shù)據(jù)發(fā)送存儲(chǔ)單元,用以存儲(chǔ)總線二待發(fā)送數(shù)據(jù)的,主機(jī)或邏輯管理單元通過pci通訊管理單元3向數(shù)據(jù)發(fā)送存儲(chǔ)單元發(fā)送數(shù)據(jù)并不斷更新數(shù)據(jù)發(fā)送存儲(chǔ)單元中的數(shù)據(jù)內(nèi)容;
指令寄存單元:用于存儲(chǔ)發(fā)送數(shù)據(jù)指令;主機(jī)通過pci通訊管理單元3向存儲(chǔ)器傳輸發(fā)送數(shù)據(jù)指令,用以指示linkport管理單元4是否可以將數(shù)據(jù)發(fā)送存儲(chǔ)單元中的數(shù)據(jù)發(fā)出;
狀態(tài)寄存單元:用以存儲(chǔ)協(xié)議轉(zhuǎn)換器各單元工作狀態(tài)信息。
上述協(xié)議轉(zhuǎn)換器各單元包括總線一通訊管理單元、總線二管理單元、存儲(chǔ)器、邏輯管理單元及下文所述的時(shí)鐘管理電源等。
上述配置信息包括linkport發(fā)送命令linkport通道設(shè)置信息、linkport1(linkport通道1)讀寫配置信息、linkport2(linkport通道2)讀寫配置信息、linkport3(linkport通道3)讀寫配置信息及l(fā)inkport4(linkport通道4)讀寫配置信息等。具體到本實(shí)施方式,上述配置信息包括但不限于linkport管理單元4收發(fā)數(shù)據(jù)配置信息,具體包括linkport使能通道信息、linkport傳輸波特率、linkport傳輸內(nèi)容、通訊周期、接收數(shù)據(jù)的存放地址、狀態(tài)寄存器的更新數(shù)據(jù)等。配置信息將作為各單元執(zhí)行工作的標(biāo)準(zhǔn)指令信息。
上述工作狀態(tài)信息包括linkport管理單元4工作狀態(tài)、linkport通道1通訊狀態(tài)、linkport通道2通訊狀態(tài)、linkport通道3通訊狀態(tài)、linkport通道4通訊狀態(tài),以及協(xié)議轉(zhuǎn)換器其他單元的工作狀態(tài)等。
總線二管理單元包括用以根據(jù)配置寄存單元的配置信息形成發(fā)送數(shù)據(jù)指令的發(fā)送數(shù)據(jù)控制單元;具體為,linkport管理單元4將根據(jù)linkport使能通道信息、linkport傳輸波特率、等配置信息將雙口ram中設(shè)定地址區(qū)域中(數(shù)據(jù)發(fā)送存儲(chǔ)單元)的數(shù)據(jù)通過設(shè)定的linkport通道發(fā)送出去,同時(shí)負(fù)責(zé)將各個(gè)linkport通道接收的數(shù)據(jù)存放到雙口ram的設(shè)定區(qū)域(數(shù)據(jù)接收存儲(chǔ)單元)。
更進(jìn)一步的,協(xié)議轉(zhuǎn)換器還包括用以對(duì)協(xié)議轉(zhuǎn)換器各單元提供時(shí)鐘信號(hào)的時(shí)鐘管理單元。時(shí)鐘管理單元外接時(shí)鐘輸入信號(hào),以完成各單元的時(shí)鐘同步。
協(xié)議轉(zhuǎn)換方法,流程參考圖3,包括以下步驟:
fpga上電后,首先進(jìn)行初始化配置;通過主機(jī)或者邏輯管理單元設(shè)置協(xié)議轉(zhuǎn)換器個(gè)單元的配置信息,包括linkport通道設(shè)置、各條linkport通道的具體配置,具體包括4路linkport通道使能數(shù)量、具體使用哪條linkport通道進(jìn)行數(shù)據(jù)收發(fā)、收發(fā)數(shù)據(jù)信息及收發(fā)數(shù)據(jù)的存儲(chǔ)位置等;
通過邏輯管理單元配置時(shí)鐘管理單元,使其輸出初始化脈沖到協(xié)議轉(zhuǎn)換器各單元,完成各單元的時(shí)鐘同步配置;
時(shí)鐘管理單元配置完成后,通過邏輯管理單元讀取配置寄存單元中的配置信息,并確認(rèn)配置信息是否有效,若是,進(jìn)行下一步工作,若否,則繼續(xù)等待主機(jī)或邏輯管理單元的有效配置信息;
邏輯管理單元讀取指令寄存單元是否收到主機(jī)下發(fā)的數(shù)據(jù)發(fā)送指令,若是,則讀取數(shù)據(jù)發(fā)送存儲(chǔ)單元中的數(shù)據(jù)并按配置信息以指定的通道,指定的傳輸速率等配置信息發(fā)送數(shù)據(jù)發(fā)送存儲(chǔ)單元中的待發(fā)送數(shù)據(jù),若否,則等待并持續(xù)讀取指令寄存單元數(shù)據(jù),等待過程中,主機(jī)或邏輯管理單元將更新雙口ram中的待發(fā)送數(shù)據(jù)內(nèi)容,直至下發(fā)數(shù)據(jù)發(fā)送命令;
總線二管理單元接收到數(shù)據(jù)后,更新數(shù)據(jù)接收存儲(chǔ)單元中的數(shù)據(jù);具體到本實(shí)施方式,linkport管理單元4將新接收到的數(shù)據(jù)更新替換數(shù)據(jù)接收存儲(chǔ)單元中舊的數(shù)據(jù),其接收的數(shù)據(jù)包括linkport管理單元4外連設(shè)備數(shù)據(jù)(dsp處理器5數(shù)據(jù)),同時(shí)還包括linkport管理單元4自身的運(yùn)行狀態(tài)數(shù)據(jù),以及l(fā)inkport管理單元4與外連設(shè)備的互連狀態(tài)數(shù)據(jù)等。這些數(shù)據(jù)一部分將作為主機(jī)需要數(shù)據(jù)經(jīng)pci總線傳遞到主機(jī),還有一部分將作為狀態(tài)數(shù)據(jù)更新狀態(tài)寄存單元中的數(shù)據(jù)。
狀態(tài)寄存單元將根據(jù)數(shù)據(jù)接收存儲(chǔ)單元中的數(shù)據(jù)以及協(xié)議轉(zhuǎn)換器各單元的自檢數(shù)據(jù),更新狀態(tài)寄存器中的狀態(tài)數(shù)據(jù)。具體的說,數(shù)據(jù)發(fā)送完成后,linkport管理單元4接收相應(yīng)通道收到的數(shù)據(jù)(linkport通道通訊狀態(tài)信息),并將收到的數(shù)據(jù)更新到雙口ram的接收數(shù)據(jù)存儲(chǔ)單元,主機(jī)通過pci通訊管理單元讀取雙口ram中的接收數(shù)據(jù)存儲(chǔ)單元得到linkport相應(yīng)端口的接收數(shù)據(jù)。然后邏輯管理單元對(duì)內(nèi)部各功能模塊進(jìn)行自檢測(cè),并將自檢測(cè)的狀態(tài)更新到狀態(tài)寄存器中,主機(jī)可通過pci總線讀取到狀態(tài)寄存器中各個(gè)單元的狀態(tài),進(jìn)而可以實(shí)現(xiàn)對(duì)通訊狀態(tài)的檢測(cè)。至此完成一次通訊轉(zhuǎn)換。
主機(jī)及邏輯管理單元將根據(jù)狀態(tài)數(shù)據(jù)對(duì)協(xié)議轉(zhuǎn)換器采取下一步處理措施。例如,若linkport管理單元4發(fā)生接收超時(shí)、接收錯(cuò)誤或與dsp處理器5之間存在數(shù)據(jù)鏈路不通等狀態(tài)故障,將暫停協(xié)議轉(zhuǎn)換器的工作,并進(jìn)行軟件或硬件的調(diào)整。
采用本實(shí)施例的協(xié)議轉(zhuǎn)換器主機(jī)可通過pci總線實(shí)現(xiàn)對(duì)轉(zhuǎn)換芯片的配置,可靈活更改linkport的通訊參數(shù),系統(tǒng)具備通訊自檢測(cè)能力,可以及時(shí)準(zhǔn)確的獲取各單元工作狀態(tài),從而實(shí)現(xiàn)高速、高效的linkport總線到pci總線的快速轉(zhuǎn)換。