欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

與無(wú)中央處理器單板通訊的方法及通訊設(shè)備與流程

文檔序號(hào):12182351閱讀:238來(lái)源:國(guó)知局
與無(wú)中央處理器單板通訊的方法及通訊設(shè)備與流程

本發(fā)明涉及板間通訊技術(shù)領(lǐng)域,尤其涉及一種與無(wú)中央處理器單板通訊的方法及通訊設(shè)備。



背景技術(shù):

在通訊設(shè)備中,一塊主控板與多塊接入單板一起實(shí)現(xiàn)通訊業(yè)務(wù)功能。接入單板目前普遍使用的是有CPU單板,普通有CPU的接入單板的控制程序獨(dú)立運(yùn)行在單板內(nèi)部,主控板僅需要將控制指令發(fā)送至有CPU單板,就可以相對(duì)簡(jiǎn)單地實(shí)現(xiàn)對(duì)單板的控制。

隨著通訊設(shè)備業(yè)務(wù)發(fā)展的需要,無(wú)CPU單板應(yīng)運(yùn)而生。無(wú)CPU單板的最大特點(diǎn)是:沒(méi)有CPU、內(nèi)存、FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程邏輯門(mén)陣列)芯片等,大大降低了接入單板的硬件成本。但是,由于無(wú)CPU單板沒(méi)有CPU處理器,主控板無(wú)法與無(wú)CPU單板進(jìn)行有效通訊。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的主要目的在于提供一種與無(wú)中央處理器單板通訊的方法及通訊設(shè)備,旨在解決現(xiàn)有無(wú)CPU單板無(wú)法與主控板進(jìn)行有效通訊的技術(shù)問(wèn)題。

為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種與無(wú)中央處理器CPU單板通訊的方法,所述與無(wú)CPU單板通訊的方法包括:

當(dāng)無(wú)CPU單板上電后,所述無(wú)CPU單板將包含其單板信息的上報(bào)報(bào)文發(fā)送至主控板;

所述主控板為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程;

所述主控板通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚怼?/p>

優(yōu)選地,所述上報(bào)報(bào)文和控制報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文。

優(yōu)選地,所述控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,

所述主控板通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的所述無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚淼牟襟E包括:

當(dāng)所述主控板通過(guò)單板代理進(jìn)程對(duì)所述無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),將包含所述寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文發(fā)送至所述無(wú)CPU單板;

所述無(wú)CPU單板從接收到的所述寫(xiě)操作報(bào)文中解析出配置值和匹配地址,并將該配置值配置到所述配置地址對(duì)應(yīng)的芯片寄存器中;

當(dāng)所述主控板的單板代理進(jìn)程對(duì)所述無(wú)CPU單板進(jìn)行讀操作時(shí),將包含所述讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至所述無(wú)CPU單板;

所述無(wú)CPU單板從接收到的所述讀操作報(bào)文中解析出芯片寄存器地址,并將所述芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至所述主控板;

所述主控板的單板代理進(jìn)程接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,其中,所述結(jié)果報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文。

優(yōu)選地,所述無(wú)CPU單板從接收到的所述讀操作報(bào)文中解析出芯片寄存器地址,并將所述芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至所述主控板的步驟包括:

若當(dāng)前沒(méi)有接收到其它讀操作報(bào)文且無(wú)正在封裝的結(jié)果報(bào)文,則所述無(wú)CPU單板接收所述主控板發(fā)送的所述讀操作報(bào)文;

所述無(wú)CPU單板從接收到的所述讀操作報(bào)文中解析出芯片寄存器地址,并將所述芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至所述主控板。

優(yōu)選地,所述主控板的單板代理進(jìn)程接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文的步驟包括:

所述主控板的單板代理進(jìn)程判斷所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒;

當(dāng)所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),所述主控板的單板代理進(jìn)程接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文。

優(yōu)選地,所述讀操作報(bào)文和結(jié)果報(bào)文中包含類(lèi)型字段,

所述主控板的單板代理進(jìn)程接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文的步驟 之后還包括:

所述主控板的單板代理進(jìn)程根據(jù)接收的結(jié)果報(bào)文中的類(lèi)型字段,確定該結(jié)果報(bào)文的結(jié)果類(lèi)型。

為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種通訊設(shè)備,所述通訊設(shè)備包括無(wú)CPU單板和主控板,

所述主控板包括:

進(jìn)程分配模塊,用于為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程;

單板代理進(jìn)程模塊,用于向單板代理進(jìn)程對(duì)應(yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚恚?/p>

所述無(wú)CPU單板包括:

報(bào)文上報(bào)模塊,用于當(dāng)無(wú)CPU單板上電后,將包含該無(wú)CPU單板的單板信息的上報(bào)報(bào)文發(fā)送至主控板;

報(bào)文通訊模塊,用于接收所述主控板發(fā)送的控制報(bào)文,并根據(jù)接收的控制報(bào)文進(jìn)行讀處理或?qū)懱幚怼?/p>

優(yōu)選地,所述上報(bào)報(bào)文和控制報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文。

優(yōu)選地,所述控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,

所述單板代理進(jìn)程模塊包括第一寫(xiě)單元、第一讀單元和結(jié)果處理單元,

所述第一寫(xiě)單元,用于當(dāng)所述主控板通過(guò)單板代理進(jìn)程對(duì)所述無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),將包含所述寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文發(fā)送至所述無(wú)CPU單板;

所述第一讀單元,用于當(dāng)所述主控板的單板代理進(jìn)程對(duì)所述無(wú)CPU單板進(jìn)行讀操作時(shí),將包含所述讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至所述無(wú)CPU單板;

結(jié)果處理單元,用于接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,其中,所述結(jié)果報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文

所述報(bào)文通訊模塊包括第二寫(xiě)單元和第二讀單元,

所述第二寫(xiě)單元,用于從接收到的所述寫(xiě)操作報(bào)文中解析出配置值和匹 配地址,并將該配置值配置到所述配置地址對(duì)應(yīng)的芯片寄存器中;

所述第二讀單元,用于從接收到的所述讀操作報(bào)文中解析出芯片寄存器地址,并將所述芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至所述主控板。

優(yōu)選地,所述第二讀單元還用于:

在當(dāng)前沒(méi)有接收到其它讀操作報(bào)文且無(wú)正在封裝的結(jié)果報(bào)文時(shí),接收所述主控板發(fā)送的所述讀操作報(bào)文;

從接收到的所述讀操作報(bào)文中解析出芯片寄存器地址,并將所述芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至所述主控板。

優(yōu)選地,所述結(jié)果處理單元還用于:

判斷所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒;

當(dāng)所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),接收所述無(wú)CPU單板發(fā)送的結(jié)果報(bào)文。

優(yōu)選地,所述讀操作報(bào)文和結(jié)果報(bào)文中包含類(lèi)型字段,

所述單板代理進(jìn)程模塊還包括:

類(lèi)型處理單元,用于根據(jù)接收的結(jié)果報(bào)文中的類(lèi)型字段,確定該結(jié)果報(bào)文的結(jié)果類(lèi)型。

本發(fā)明通過(guò)主控板為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程,然后主控板根據(jù)需求通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,從而?shí)現(xiàn)無(wú)CPU單板與主控板之間的通訊。

附圖說(shuō)明

圖1為本發(fā)明無(wú)CPU單板和主控板內(nèi)部結(jié)構(gòu)和控制關(guān)系示意圖;

圖2為本發(fā)明與無(wú)中央處理器接入單板通訊的方法第一實(shí)施例的流程示意圖;

圖3為多線程同時(shí)讀操作互斥訪問(wèn)的控制示意圖;

圖4為本發(fā)明通訊設(shè)備第一實(shí)施例的功能模塊示意圖。

本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。

具體實(shí)施方式

應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

為了更好地理解本發(fā)明的技術(shù)方案,在此對(duì)本發(fā)明無(wú)CPU單板和主控板的硬件結(jié)構(gòu)進(jìn)行簡(jiǎn)要介紹,參照?qǐng)D1和表1,在硬件上,無(wú)CPU單板上沒(méi)有設(shè)置CPU最小系統(tǒng),也沒(méi)有設(shè)置FPGA芯片,無(wú)CPU單板的CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)芯片與背板(支撐無(wú)CPU單板和主控板之間的相互連接、并為所支撐的無(wú)CPU單板和主控板提供電源的電路板)的兩路用于板間通訊的以太網(wǎng)鏈路直接連接,無(wú)CPU單板的CPLD芯片在出廠時(shí)就已經(jīng)燒錄完畢;在軟件上,無(wú)CPU單板無(wú)需運(yùn)行軟件程序和FPGA程序,使用CPLD程序與主控板的軟件程序配合實(shí)現(xiàn)接入單板的所有功能。主控板上為每個(gè)無(wú)CPU單板啟用一個(gè)單板代理進(jìn)程,該進(jìn)程實(shí)現(xiàn)有CPU接入單板的大部分功能,對(duì)接入單板進(jìn)行讀寫(xiě)操作,由單板代理進(jìn)程和接入單板的CPLD芯片配合完成,具體過(guò)程描述如下:

1)主控板上的單板代理進(jìn)程通過(guò)專(zhuān)用以太網(wǎng)報(bào)文格式的以太網(wǎng)報(bào)文,通知無(wú)CPU單板應(yīng)該讀寫(xiě)的器件、偏移地址。備用主控板上的單板代理程序,也同樣在運(yùn)行,只是不進(jìn)行無(wú)CPU單板配置查詢操作,也不進(jìn)行與無(wú)CPU單板的專(zhuān)用以太網(wǎng)報(bào)文收發(fā)。機(jī)架圖、告警性能等信息是通過(guò)主控板的軟件系統(tǒng)同步到備用主控板上。

2)無(wú)CPU單板的CPLD芯片解析主控板的單板代理程序發(fā)過(guò)來(lái)的專(zhuān)用以太網(wǎng)報(bào)文,匹配目標(biāo)MAC地址后,按照專(zhuān)業(yè)以太網(wǎng)報(bào)文中預(yù)先定義的讀寫(xiě)操作類(lèi)型和操作地址,轉(zhuǎn)換成芯片專(zhuān)有接口如I2C進(jìn)行操作。

3)無(wú)CPU單板的CPLD芯片在上電后,主動(dòng)定期往主控板上報(bào)包含單板類(lèi)型的專(zhuān)用以太網(wǎng)報(bào)文。無(wú)CPU單板的CPLD芯片根據(jù)配置主控板的請(qǐng)求,配置芯片器件寄存器和遠(yuǎn)程升級(jí);根據(jù)主控板的請(qǐng)求,查詢本單板的各種告警性能,通過(guò)專(zhuān)用以太網(wǎng)報(bào)文,發(fā)送給主控板。

由于無(wú)CPU單板通訊報(bào)文為該單板的CPLD芯片處理,單板收發(fā)報(bào)文沒(méi) 有CPU靈活,因此其報(bào)文格式為特定格式。為了能區(qū)分是普通S口報(bào)文還是無(wú)CPU單板通訊報(bào)文,需要對(duì)無(wú)CPU單板通訊報(bào)文打上特定VLAN(即上述專(zhuān)用以太網(wǎng)報(bào)文)。無(wú)CPU單板通訊報(bào)文采用特定的短報(bào)文格式,無(wú)法與S口報(bào)文格式保持一致。

該報(bào)文由單板CPLD和主控CPU的單板代理進(jìn)程處理:

(1)無(wú)CPU單板的報(bào)文封裝/解封裝在CPLD芯片內(nèi)完成

(2)主控板的單板代理程序直接調(diào)用底層以太網(wǎng)口驅(qū)動(dòng)進(jìn)行報(bào)文封裝和收發(fā)包,主控板CPU需要改造以太網(wǎng)口驅(qū)動(dòng)收包處理,添加VLAN。接收時(shí)需要識(shí)別VLAN,將特定VLAN的報(bào)文投遞到單板代理進(jìn)程。

表1

本發(fā)明提供一種與無(wú)中央處理器單板通訊的方法,在本發(fā)明與無(wú)中央處理器單板通訊的方法的第一實(shí)施例中,參照?qǐng)D2,該與無(wú)中央處理器單板通訊的方法包括:

步驟S10,當(dāng)無(wú)CPU單板上電后,無(wú)CPU單板將包含其單板信息的上報(bào) 報(bào)文發(fā)送至主控板;

單板信息包括單板類(lèi)型、單板位置、單板工作狀態(tài)等數(shù)據(jù),當(dāng)無(wú)CPU單板上電后,該無(wú)CPU單板的CPLD芯片主動(dòng)向主控板上報(bào)包含該無(wú)CPU單板信息的上報(bào)報(bào)文,以使主控板能夠及時(shí)更新與其連接的無(wú)CPU單板狀態(tài),從而無(wú)CPU單板的CPLD芯片根據(jù)主控板的請(qǐng)求,配置芯片器件寄存器和遠(yuǎn)程升級(jí)、根據(jù)主控板的請(qǐng)求,查詢本板的各種告警性能,并通過(guò)上報(bào)報(bào)文(該上報(bào)報(bào)文為添加了預(yù)設(shè)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文)發(fā)送至主控板,使無(wú)CPU單板和主控板之間的通訊更為及時(shí)、有效。

步驟S20,主控板為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程;

硬件上,無(wú)CPU單板上沒(méi)有CPU最小系統(tǒng),也沒(méi)有FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列,),在無(wú)CPU單板上無(wú)須運(yùn)行軟件程序和FPGA程序,使用CPLD芯片中的CPLD程序與主控板的單板代理進(jìn)程配合實(shí)現(xiàn)接入單板的所有功能。所以主控板為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板啟用和分配一個(gè)單板代理進(jìn)程,該單板代理進(jìn)程能夠?qū)崿F(xiàn)有CPU接入單板的大部分功能,接入單板驅(qū)動(dòng)、讀寫(xiě)接入單板寄存器等功能則由單板代理進(jìn)程和無(wú)CPU單板CPLD芯片配合實(shí)現(xiàn)。

步驟S30,主控板通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚怼?/p>

控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,主控板通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,即主控板借用單板代理進(jìn)程替代了接入單板的CPU,從而通過(guò)無(wú)CPU單板和主控板之間的報(bào)文交互,主控板根據(jù)實(shí)際需求通過(guò)單板代理進(jìn)程向無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,即?shí)現(xiàn)了主控板與無(wú)CPU單板之間的通訊。

優(yōu)選地,上報(bào)報(bào)文和控制報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文。由于無(wú)CPU單板接收的控制報(bào)文為單板CPLD芯片處理,無(wú)CPU單板收發(fā)報(bào)文沒(méi)有CPU靈活,因此其報(bào)文格式為特定格式。為了能區(qū)分是普通S口報(bào)文還是無(wú)CPU單板的通訊報(bào)文(即控制報(bào)文),需要對(duì)無(wú)CPU單板通訊報(bào)文打上特定VLAN。無(wú)CPU單板通訊報(bào)文采用特定的短報(bào)文格式,無(wú) 法與S口報(bào)文格式保持一致。是與S口報(bào)文不同的短報(bào)文格式。

在本實(shí)施例中,通過(guò)主控板為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程,然后主控板根據(jù)需求通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,從而?shí)現(xiàn)無(wú)CPU單板與主控板之間的通訊。

進(jìn)一步地,在本發(fā)明與無(wú)CPU單板通訊的方法第一實(shí)施例的基礎(chǔ)上,提出與無(wú)CPU單板通訊的方法第二實(shí)施例,在第二實(shí)施例中,控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,步驟S30包括:

步驟S31,當(dāng)主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),將包含寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文發(fā)送至無(wú)CPU單板;

在主控板需要與無(wú)CPU單板進(jìn)行通訊時(shí)(即主控板需要對(duì)無(wú)CPU單板進(jìn)行讀操作或?qū)懖僮鲿r(shí)),判斷主控板的單板代理程序?qū)o(wú)CPU單板進(jìn)行操作的操作類(lèi)型(操作類(lèi)型包括讀操作和寫(xiě)操作),從而確定主控板的單板代理進(jìn)程向無(wú)CPU單板發(fā)送控制報(bào)文的類(lèi)型,即所發(fā)送的控制報(bào)文為寫(xiě)操作報(bào)文還是讀操作報(bào)文。

在主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),單板代理進(jìn)程將包含寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文(該報(bào)文為添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文)發(fā)送至無(wú)CPU單板。其中,寫(xiě)操作是按照要求將正確的配置值配置到無(wú)CPU單板的芯片寄存器中,相對(duì)比較簡(jiǎn)單,只要按照添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文格式(如表1所示)將目的MAC(Media Access Control,介質(zhì)訪問(wèn)控制層)地址、VLAN(Virtual Local Area Network,虛擬局域網(wǎng))、單板目標(biāo)地址、操作碼等填寫(xiě)正確,通過(guò)在主控板運(yùn)行的單板代理進(jìn)程將該添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文發(fā)送背板上的以太網(wǎng)端口,然后背板會(huì)將該添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文轉(zhuǎn)發(fā)至無(wú)CPU單板的CPLD芯片,由該CPLD芯片解析報(bào)文,并將報(bào)文中的配置值配置到無(wú)CPU單板上的物理層、光模塊等芯片。

步驟S32,無(wú)CPU單板從接收到的寫(xiě)操作報(bào)文中解析出配置值和匹配地址,并將該配置值配置到配置地址對(duì)應(yīng)的芯片寄存器中;

參照?qǐng)D1,與普通的有CPU單板一樣,主控板的單板代理進(jìn)程也要對(duì)PHY (物理層)芯片、時(shí)鐘芯片、溫度傳感器、光模塊(如SFP(Small Form Pluggable,小型可插拔)光模塊)、恢復(fù)時(shí)鐘設(shè)置等進(jìn)行初始化配置。只是所有的初始化操作都要經(jīng)過(guò)適配層,再轉(zhuǎn)換成對(duì)應(yīng)的以太網(wǎng)報(bào)文,在以太網(wǎng)報(bào)文的凈荷中攜帶該操作的芯片和地址。單板代理進(jìn)程將這些命令轉(zhuǎn)換成對(duì)接入單板不同器件的槽位號(hào)、器件號(hào)、寫(xiě)地址、寫(xiě)數(shù)據(jù)、寫(xiě)操作碼。單板代理進(jìn)程將同一次寫(xiě)操作的相關(guān)信息發(fā)給適配層進(jìn)行以太網(wǎng)封裝適配,將槽位號(hào)轉(zhuǎn)換成不同的目的MAC地址,VLAN,器件號(hào)、寫(xiě)地址、寫(xiě)數(shù)據(jù)、操作碼都封裝到以太網(wǎng)凈荷中。最后以太網(wǎng)報(bào)文通過(guò)主控板的L2交換芯片發(fā)送到對(duì)應(yīng)的無(wú)CPU單板上,無(wú)CPU單板CPLD解析報(bào)文并執(zhí)行相應(yīng)的器件寫(xiě)處理。

單板代理程序,接收主控板內(nèi)部S口發(fā)過(guò)來(lái)的內(nèi)部S口命令,可以設(shè)置PHY的端口模式、1588的模式、恢復(fù)時(shí)鐘等等。單板代理程序?qū)⒚钷D(zhuǎn)換成對(duì)應(yīng)單板的內(nèi)部以太網(wǎng)包,發(fā)送給對(duì)應(yīng)單板,處理與初始化過(guò)程的一樣。

步驟S33,當(dāng)主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),將包含讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至無(wú)CPU單板;

在主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),即主控板的單板代理進(jìn)程需要查詢無(wú)CPU單板的芯片寄存器的值,將包含讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至無(wú)CPU單板,具體包括兩個(gè)步驟,第一步:主控板上的單板代理進(jìn)程發(fā)送讀操作報(bào)文至無(wú)CPU單板以查詢無(wú)CPU單板芯片寄存器和其地址;第二步:無(wú)CPU單板的CPLD芯片構(gòu)建查詢的結(jié)果報(bào)文回送給主控板的單板代理進(jìn)程。對(duì)于第二步,主控板的單板代理進(jìn)程需要啟用一個(gè)線程去接收無(wú)CPU單板發(fā)送過(guò)來(lái)的結(jié)果報(bào)文,并且第一步的發(fā)送讀操作報(bào)文操作與第二步的接收結(jié)果報(bào)文操作是分別在兩個(gè)線程里進(jìn)行的。

步驟S34,無(wú)CPU單板從接收到的讀操作報(bào)文中解析出芯片寄存器地址,并將芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至主控板;

無(wú)CPU單板從接收到的讀操作報(bào)文中解析出芯片寄存器地址,獲取無(wú)CPU單板芯片寄存器地址對(duì)應(yīng)處的目的信息,將獲取的目的信息封裝成添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文格式的結(jié)果報(bào)文,并將該結(jié)果報(bào)文及時(shí)發(fā)送至主控板。

步驟S35,主控板的單板代理進(jìn)程接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,其中,結(jié)果報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文。

主控板的單板代理進(jìn)程在接收到無(wú)CPU單板回發(fā)的結(jié)果報(bào)文時(shí),以供后續(xù)分類(lèi)、解析或其它處理,從而完成主控板對(duì)無(wú)CPU單板的讀操作。

在本實(shí)施例中,通過(guò)在主控板需要與無(wú)CPU單板進(jìn)行通訊時(shí),通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?;?dāng)主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),將寫(xiě)操作報(bào)文發(fā)送至無(wú)CPU單板,以供無(wú)CPU單板解析寫(xiě)操作報(bào)文并將配置值配置到配置地址對(duì)應(yīng)的芯片寄存器中;當(dāng)主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),將讀操作報(bào)文發(fā)送至無(wú)CPU單板,以供無(wú)CPU單板根據(jù)解析后的讀操作報(bào)文回發(fā)結(jié)果報(bào)文,從而通過(guò)主控板與無(wú)CPU單板之間的報(bào)文交互,主控板根據(jù)實(shí)際需求向無(wú)CPU單板發(fā)送讀操作報(bào)文或?qū)懖僮鲌?bào)文,無(wú)CPU單板僅解析和封裝報(bào)文,不對(duì)報(bào)文進(jìn)行邏輯分析和處理,從而實(shí)現(xiàn)了主控板對(duì)無(wú)CPU單板的讀操作和寫(xiě)操作,即實(shí)現(xiàn)了主控板與無(wú)CPU單板的通訊。

進(jìn)一步地,基于本發(fā)明無(wú)中央處理器單板通訊的方法的第二實(shí)施例,提出與無(wú)中央處理器單板通訊的方法的第三實(shí)施例,在第三實(shí)施例中,步驟S34包括:

步驟S341,若當(dāng)前沒(méi)有接收到其它讀操作報(bào)文且無(wú)正在封裝的結(jié)果報(bào)文,則無(wú)CPU單板接收主控板發(fā)送的讀操作報(bào)文;

步驟S342,無(wú)CPU單板從接收到的讀操作報(bào)文中解析出芯片寄存器地址,并將芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至主控板。

參照?qǐng)D3,主控板啟用一個(gè)單板代理進(jìn)程對(duì)應(yīng)與一個(gè)無(wú)CPU單板進(jìn)行通訊,并且單板代理進(jìn)程啟用一個(gè)線程負(fù)責(zé)向無(wú)CPU單板發(fā)送讀操作報(bào)文、一個(gè)線程負(fù)責(zé)接收無(wú)CPU單板的CPLD芯片發(fā)送的結(jié)果報(bào)文,當(dāng)無(wú)CPU單板的CPLD芯片同時(shí)接收到多個(gè)線程發(fā)送過(guò)來(lái)的讀操作報(bào)文時(shí),檢測(cè)當(dāng)前時(shí)刻該無(wú)CPU單板是否已經(jīng)接收了讀操作報(bào)文且還在對(duì)該讀操作報(bào)文進(jìn)行處理(即正在封裝接收的讀操作報(bào)文對(duì)應(yīng)的結(jié)果報(bào)文),若當(dāng)前時(shí)刻該無(wú)CPU單板有正在封裝的結(jié)果報(bào)文,則不接收主控板發(fā)送的讀操作報(bào)文;若當(dāng)前時(shí)刻該無(wú)CPU單板沒(méi)有正在封裝的結(jié)果報(bào)文,則繼續(xù)判斷當(dāng)前時(shí)刻該無(wú)CPU單板是否同時(shí)接收到多個(gè)線程發(fā)送的讀操作報(bào)文,若有多個(gè)線程發(fā)送讀操作報(bào)文,則根據(jù)預(yù)設(shè)規(guī)則(例如按照讀操作報(bào)文的達(dá)到時(shí)間、報(bào)文長(zhǎng)度等決定讀操作 報(bào)文的優(yōu)先級(jí))選出并解析一個(gè)讀操作報(bào)文。然后根據(jù)解析出的芯片寄存器地址查找到對(duì)應(yīng)的目的信息,并將目的信息封裝呈結(jié)果報(bào)文發(fā)送至主控板(發(fā)送解析的讀操作報(bào)文的主控板)。

在本實(shí)施例中,在多個(gè)主控板線程同時(shí)向無(wú)CPU單板發(fā)送讀操作報(bào)文時(shí),每次只允許接收并處理一個(gè)線程發(fā)送的讀操作報(bào)文,即無(wú)CPU單板對(duì)讀操作報(bào)文的接收采用互斥原則,避免一次接收并處理多個(gè)讀操作報(bào)文,從而避免了因多個(gè)讀操作報(bào)文處解析和處理耗費(fèi)時(shí)間和處理流程不相同,而造成讀操作報(bào)文對(duì)應(yīng)結(jié)果報(bào)文輸出混亂的問(wèn)題,從而較好地保證了主控板接收結(jié)果報(bào)文的準(zhǔn)確性。

進(jìn)一步地,基于本發(fā)明無(wú)中央處理器單板通訊的方法的第二實(shí)施例,提出與無(wú)中央處理器單板通訊的方法的第四實(shí)施例,在第四實(shí)施例中,步驟S35包括:

步驟S351,主控板的單板代理進(jìn)程判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒;

步驟S352,當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),主控板的單板代理進(jìn)程接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文。

由于主控板的單板代理進(jìn)程向無(wú)CPU單板發(fā)送讀操作報(bào)文后,該無(wú)CPU單板的CPLD回復(fù)結(jié)果報(bào)文給主控板的單板代理進(jìn)程需要一定時(shí)間,如果主控板在接收到回復(fù)的結(jié)果報(bào)文之前就去獲取緩存中結(jié)果報(bào)文的值就不是所需的,所以這里需要一個(gè)延時(shí)保護(hù)處理。通過(guò)主控板的單板代理進(jìn)程先判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒,即通過(guò)單板代理進(jìn)程的專(zhuān)門(mén)用于接收結(jié)果報(bào)文的線程在接收到讀操作報(bào)文對(duì)應(yīng)的結(jié)果報(bào)文時(shí),對(duì)該結(jié)果報(bào)文打上就緒標(biāo)記(該標(biāo)記用于表示結(jié)果報(bào)文準(zhǔn)備就緒),當(dāng)主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記時(shí),即當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),主控板的單板代理進(jìn)程接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文;若當(dāng)前時(shí)刻主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程未檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記,則等待預(yù)設(shè)等待時(shí)長(zhǎng)(例如5ms),繼續(xù)檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記,如此循環(huán),直至主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程未檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記或者經(jīng)過(guò)預(yù)設(shè)次數(shù)(例如 20次)的循環(huán)檢測(cè)后提示通訊異常。

在本實(shí)施例中,通過(guò)主控板的單板代理進(jìn)程判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒,當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),主控板的單板代理進(jìn)程接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,防止主控板未接收到結(jié)果報(bào)文或接收不正確的結(jié)果報(bào)文就繼續(xù)執(zhí)行后續(xù)步驟,提高了主控板與無(wú)CPU單板通訊的準(zhǔn)確性。

進(jìn)一步地,基于本發(fā)明無(wú)中央處理器單板通訊的方法的第二實(shí)施例,提出與無(wú)中央處理器單板通訊的方法的第五實(shí)施例,在第五實(shí)施例中,步驟S35之后還包括:

步驟S36,主控板的單板代理進(jìn)程根據(jù)接收的結(jié)果報(bào)文中的類(lèi)型字段,確定該結(jié)果報(bào)文的結(jié)果類(lèi)型。

例如,由于查詢PHY寄存器與查詢CPLD寄存器的字節(jié)數(shù)不同,接收結(jié)果報(bào)文后的處理也不同,這時(shí)就需要對(duì)結(jié)果報(bào)文進(jìn)行分類(lèi)處理,通過(guò)在讀操作報(bào)文中添加類(lèi)型字段,無(wú)CPU單板解析讀操作報(bào)文后繼續(xù)保持其中的類(lèi)型字段,并將該類(lèi)型字段一起封裝至結(jié)果報(bào)文(即結(jié)果報(bào)文中也包含對(duì)應(yīng)讀操作報(bào)文的類(lèi)型字段)中,主控板的單板代理進(jìn)程根據(jù)接收到的結(jié)果報(bào)文中的類(lèi)型字段,確定結(jié)果報(bào)文的結(jié)果類(lèi)型,然后對(duì)不同結(jié)構(gòu)類(lèi)型的結(jié)果報(bào)文進(jìn)行批量、集中處理。其中,類(lèi)型字段可以為以太網(wǎng)報(bào)文里的IVH字段,這個(gè)字段在發(fā)送讀操作報(bào)文時(shí)填入,無(wú)CPU單板的CPLD芯片回復(fù)結(jié)果報(bào)文里會(huì)自動(dòng)帶上填入的IVH字段值,這樣就可以區(qū)分不同的結(jié)果類(lèi)型。

在本實(shí)施例中,通過(guò)在讀操作報(bào)文中添加類(lèi)型字段,從而在對(duì)應(yīng)結(jié)果報(bào)文中也添加類(lèi)型字段,主控板的單板代理進(jìn)程可以根據(jù)就結(jié)果報(bào)文的類(lèi)型字段對(duì)該結(jié)果報(bào)文進(jìn)行分類(lèi),然后對(duì)同一類(lèi)的結(jié)果報(bào)文進(jìn)行批量集中處理,提高了結(jié)果報(bào)文的處理速度,使使主控板與無(wú)CPU單板之間的通訊更加高效。

本發(fā)明還提供一種通訊設(shè)備,在本發(fā)明通訊設(shè)備的第一實(shí)施例中,參照?qǐng)D4,通訊設(shè)備包括無(wú)CPU單板10(通訊設(shè)備可以包括多個(gè)無(wú)CPU單板,本實(shí)施例以一個(gè)無(wú)CPU單板為例)和主控板20,

主控板20包括:

進(jìn)程分配模塊21,用于為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板分配一個(gè)單板代理進(jìn)程;

硬件上,無(wú)CPU單板上沒(méi)有CPU最小系統(tǒng),也沒(méi)有FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列,),在無(wú)CPU單板上無(wú)須運(yùn)行軟件程序和FPGA程序,使用CPLD芯片中的CPLD程序與主控板的單板代理進(jìn)程配合實(shí)現(xiàn)接入單板的所有功能。所以主控板的進(jìn)程分配模塊21為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板啟用和分配一個(gè)單板代理進(jìn)程,該單板代理進(jìn)程能夠?qū)崿F(xiàn)有CPU接入單板的大部分功能,接入單板驅(qū)動(dòng)、讀寫(xiě)接入單板寄存器等功能則由單板代理進(jìn)程和無(wú)CPU單板CPLD芯片配合實(shí)現(xiàn)。

單板代理進(jìn)程模塊22,用于向單板代理進(jìn)程對(duì)應(yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚恚?/p>

控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,主控板通過(guò)單板代理進(jìn)程模塊22控制單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,即主控板借用單板代理進(jìn)程替代了接入單板的CPU,從而通過(guò)無(wú)CPU單板和主控板之間的報(bào)文交互,主控板根據(jù)實(shí)際需求通過(guò)單板代理進(jìn)程向無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?,即?shí)現(xiàn)了主控板與無(wú)CPU單板之間的通訊。

無(wú)CPU單板10包括:

報(bào)文上報(bào)模塊11,用于當(dāng)無(wú)CPU單板上電后,將包含該無(wú)CPU單板的單板信息的上報(bào)報(bào)文發(fā)送至主控板;

單板信息包括單板類(lèi)型、單板位置、單板工作狀態(tài)等數(shù)據(jù),當(dāng)無(wú)CPU單板上電后,該無(wú)CPU單板的報(bào)文上報(bào)模塊11通過(guò)CPLD芯片主動(dòng)向主控板上報(bào)包含該無(wú)CPU單板信息的上報(bào)報(bào)文,以使主控板能夠及時(shí)更新與其連接的無(wú)CPU單板狀態(tài),從而無(wú)CPU單板的CPLD芯片根據(jù)主控板的請(qǐng)求,配置芯片器件寄存器和遠(yuǎn)程升級(jí)、根據(jù)主控板的請(qǐng)求,查詢本板的各種告警性能,并通過(guò)上報(bào)報(bào)文(該上報(bào)報(bào)文為添加了預(yù)設(shè)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文)發(fā)送至主控板,使無(wú)CPU單板和主控板之間的通訊更為及時(shí)、有效。

報(bào)文通訊模塊12,用于接收主控板發(fā)送的控制報(bào)文,并根據(jù)接收的控制報(bào)文進(jìn)行讀處理或?qū)懱幚怼?/p>

優(yōu)選地,上報(bào)報(bào)文和控制報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太 網(wǎng)報(bào)文。由于無(wú)CPU單板接收的控制報(bào)文為單板CPLD芯片處理,無(wú)CPU單板收發(fā)報(bào)文沒(méi)有CPU靈活,因此其報(bào)文格式為特定格式。為了能區(qū)分是普通S口報(bào)文還是無(wú)CPU單板的通訊報(bào)文(即控制報(bào)文),需要對(duì)無(wú)CPU單板通訊報(bào)文打上特定VLAN。無(wú)CPU單板通訊報(bào)文采用特定的短報(bào)文格式,無(wú)法與S口報(bào)文格式保持一致。是與S口報(bào)文不同的短報(bào)文格式。

在本實(shí)施例中,通過(guò)主控板20的進(jìn)程分配模塊21為每個(gè)與其連接且處于上電狀態(tài)的無(wú)CPU單板10分配一個(gè)單板代理進(jìn)程,然后主控板20的單板代理進(jìn)程模塊22根據(jù)需求通過(guò)單板代理進(jìn)程向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板10進(jìn)行讀處理或?qū)懱幚恚瑥亩鴮?shí)現(xiàn)無(wú)CPU單板10與主控板20之間的通訊。

進(jìn)一步地,在本發(fā)明通訊設(shè)備第一實(shí)施例的基礎(chǔ)上,提出通訊設(shè)備第二實(shí)施例,在第二實(shí)施例中,控制報(bào)文包括寫(xiě)操作報(bào)文和讀操作報(bào)文,

單板代理進(jìn)程模塊22包括第一寫(xiě)單元221、第一讀單元222和結(jié)果處理單元223,

第一寫(xiě)單元221,用于當(dāng)主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),將包含寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文發(fā)送至無(wú)CPU單板;

在主控板需要與無(wú)CPU單板進(jìn)行通訊時(shí)(即主控板需要對(duì)無(wú)CPU單板進(jìn)行讀操作或?qū)懖僮鲿r(shí)),判斷主控板的單板代理程序?qū)o(wú)CPU單板進(jìn)行操作的操作類(lèi)型(操作類(lèi)型包括讀操作和寫(xiě)操作),從而確定主控板的單板代理進(jìn)程向無(wú)CPU單板發(fā)送控制報(bào)文的類(lèi)型,即所發(fā)送的控制報(bào)文為寫(xiě)操作報(bào)文還是讀操作報(bào)文。

在主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),第一寫(xiě)單元221控制單板代理進(jìn)程將包含寫(xiě)操作對(duì)應(yīng)配置值和配置地址的寫(xiě)操作報(bào)文(該報(bào)文為添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文)發(fā)送至無(wú)CPU單板。其中,寫(xiě)操作是按照要求將正確的配置值配置到無(wú)CPU單板的芯片寄存器中,相對(duì)比較簡(jiǎn)單,只要按照添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文格式(如表1所示)將目的MAC(Media Access Control,介質(zhì)訪問(wèn)控制層)地址、VLAN(Virtual Local Area Network,虛擬局域網(wǎng))、單板目標(biāo)地址、操作碼等填寫(xiě)正確,通過(guò)在主控板 運(yùn)行的單板代理進(jìn)程將該添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文發(fā)送背板上的以太網(wǎng)端口,然后背板會(huì)將該添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文轉(zhuǎn)發(fā)至無(wú)CPU單板的CPLD芯片,由該CPLD芯片解析報(bào)文,并將報(bào)文中的配置值配置到無(wú)CPU單板上的物理層、光模塊等芯片。

第一讀單元222,用于當(dāng)主控板通過(guò)單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),將包含讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至無(wú)CPU單板;

在主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),即主控板的單板代理進(jìn)程需要查詢無(wú)CPU單板的芯片寄存器的值,第一讀單元222將包含讀操作對(duì)應(yīng)的芯片寄存器地址的讀操作報(bào)文發(fā)送至無(wú)CPU單板,具體包括兩個(gè)步驟,第一步:主控板上的第一讀單元222控制單板代理進(jìn)程發(fā)送讀操作報(bào)文至無(wú)CPU單板以查詢無(wú)CPU單板芯片寄存器和其地址;第二步:無(wú)CPU單板的CPLD芯片構(gòu)建查詢的結(jié)果報(bào)文回送給主控板的單板代理進(jìn)程。對(duì)于第二步,主控板的單板代理進(jìn)程需要啟用一個(gè)線程去接收無(wú)CPU單板發(fā)送過(guò)來(lái)的結(jié)果報(bào)文,并且第一步的發(fā)送讀操作報(bào)文操作與第二步的接收結(jié)果報(bào)文操作是分別在兩個(gè)線程里進(jìn)行的。

結(jié)果處理單元223,用于接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,其中,結(jié)果報(bào)文為添加預(yù)設(shè)虛擬局域網(wǎng)VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文;

主控板的結(jié)果處理單元223控制單板代理進(jìn)程在接收到無(wú)CPU單板回發(fā)的結(jié)果報(bào)文時(shí),以供后續(xù)分類(lèi)、解析或其它處理,從而完成主控板對(duì)無(wú)CPU單板的讀操作。

報(bào)文通訊模塊12包括第二寫(xiě)單元121和第二讀單元122,

第二寫(xiě)單元121,用于從接收到的寫(xiě)操作報(bào)文中解析出配置值和匹配地址,并將該配置值配置到配置地址對(duì)應(yīng)的芯片寄存器中;

參照?qǐng)D1,與普通的有CPU單板一樣,主控板的單板代理進(jìn)程也要對(duì)PHY(物理層)芯片、時(shí)鐘芯片、溫度傳感器、光模塊(如SFP(Small Form Pluggable,小型可插拔)光模塊)、恢復(fù)時(shí)鐘設(shè)置等進(jìn)行初始化配置。只是所有的初始化操作都要經(jīng)過(guò)適配層,再轉(zhuǎn)換成對(duì)應(yīng)的以太網(wǎng)報(bào)文,在以太網(wǎng)報(bào)文的凈荷中攜帶該操作的芯片和地址。第二寫(xiě)單元121控制單板代理進(jìn)程將這些命令轉(zhuǎn)換成對(duì)接入單板不同器件的槽位號(hào)、器件號(hào)、寫(xiě)地址、寫(xiě)數(shù)據(jù)、 寫(xiě)操作碼。第二寫(xiě)單元121控制單板代理進(jìn)程將同一次寫(xiě)操作的相關(guān)信息發(fā)給適配層進(jìn)行以太網(wǎng)封裝適配,將槽位號(hào)轉(zhuǎn)換成不同的目的MAC地址,VLAN,器件號(hào)、寫(xiě)地址、寫(xiě)數(shù)據(jù)、操作碼都封裝到以太網(wǎng)凈荷中。最后以太網(wǎng)報(bào)文通過(guò)主控板的L2交換芯片發(fā)送到對(duì)應(yīng)的無(wú)CPU單板上,無(wú)CPU單板CPLD解析報(bào)文并執(zhí)行相應(yīng)的器件寫(xiě)處理。

單板代理程序,接收主控板內(nèi)部S口發(fā)過(guò)來(lái)的內(nèi)部S口命令,可以設(shè)置PHY的端口模式、1588的模式、恢復(fù)時(shí)鐘等等。單板代理程序?qū)⒚钷D(zhuǎn)換成對(duì)應(yīng)單板的內(nèi)部以太網(wǎng)包,發(fā)送給對(duì)應(yīng)單板,處理與初始化過(guò)程的一樣。

第二讀單元122,用于從接收到的讀操作報(bào)文中解析出芯片寄存器地址,并將芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至主控板。

無(wú)CPU單板的第二讀單元122從接收到的讀操作報(bào)文中解析出芯片寄存器地址,獲取無(wú)CPU單板芯片寄存器地址對(duì)應(yīng)處的目的信息,將獲取的目的信息封裝成添加了VLAN標(biāo)識(shí)的以太網(wǎng)報(bào)文格式的結(jié)果報(bào)文,并將該結(jié)果報(bào)文及時(shí)發(fā)送至主控板。

在本實(shí)施例中,通過(guò)在主控板需要與無(wú)CPU單板進(jìn)行通訊時(shí),通過(guò)單板代理進(jìn)程模塊22向?qū)?yīng)的無(wú)CPU單板發(fā)送控制報(bào)文,以控制對(duì)應(yīng)的無(wú)CPU單板進(jìn)行讀處理或?qū)懱幚?;?dāng)主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行寫(xiě)操作時(shí),第一寫(xiě)單元221將寫(xiě)操作報(bào)文發(fā)送至無(wú)CPU單板,以供無(wú)CPU單板的第二寫(xiě)單元121解析寫(xiě)操作報(bào)文并將配置值配置到配置地址對(duì)應(yīng)的芯片寄存器中;當(dāng)主控板的單板代理進(jìn)程對(duì)無(wú)CPU單板進(jìn)行讀操作時(shí),第一讀單元222將讀操作報(bào)文發(fā)送至無(wú)CPU單板,以供無(wú)CPU單板的第二讀單元122根據(jù)解析后的讀操作報(bào)文回發(fā)結(jié)果報(bào)文,從而通過(guò)主控板與無(wú)CPU單板之間的報(bào)文交互,主控板根據(jù)實(shí)際需求向無(wú)CPU單板發(fā)送讀操作報(bào)文或?qū)懖僮鲌?bào)文,無(wú)CPU單板僅解析和封裝報(bào)文,不對(duì)報(bào)文進(jìn)行邏輯分析和處理,從而實(shí)現(xiàn)了主控板對(duì)無(wú)CPU單板的讀操作和寫(xiě)操作,即實(shí)現(xiàn)了主控板與無(wú)CPU單板的通訊。

進(jìn)一步地,基于本發(fā)明通訊設(shè)備的第二實(shí)施例,提出通訊設(shè)備的第三實(shí)施例,在第三實(shí)施例中,第二讀單元122還用于:

在當(dāng)前沒(méi)有接收到其它讀操作報(bào)文且無(wú)正在封裝的結(jié)果報(bào)文時(shí),接收主控板發(fā)送的讀操作報(bào)文;

從接收到的讀操作報(bào)文中解析出芯片寄存器地址,并將芯片寄存器地址對(duì)應(yīng)的目的信息封裝成結(jié)果報(bào)文發(fā)送至主控板。

參照?qǐng)D3,主控板啟用一個(gè)單板代理進(jìn)程對(duì)應(yīng)與一個(gè)無(wú)CPU單板進(jìn)行通訊,并且單板代理進(jìn)程啟用一個(gè)線程負(fù)責(zé)向無(wú)CPU單板發(fā)送讀操作報(bào)文、一個(gè)線程負(fù)責(zé)接收無(wú)CPU單板的CPLD芯片發(fā)送的結(jié)果報(bào)文,當(dāng)無(wú)CPU單板的CPLD芯片同時(shí)接收到多個(gè)線程發(fā)送過(guò)來(lái)的讀操作報(bào)文時(shí),檢測(cè)當(dāng)前時(shí)刻該無(wú)CPU單板是否已經(jīng)接收了讀操作報(bào)文且還在對(duì)該讀操作報(bào)文進(jìn)行處理(即正在封裝接收的讀操作報(bào)文對(duì)應(yīng)的結(jié)果報(bào)文),若當(dāng)前時(shí)刻該無(wú)CPU單板有正在封裝的結(jié)果報(bào)文,則第二讀單元122不接收主控板發(fā)送的讀操作報(bào)文;若當(dāng)前時(shí)刻該無(wú)CPU單板沒(méi)有正在封裝的結(jié)果報(bào)文,則第二讀單元122繼續(xù)判斷當(dāng)前時(shí)刻該無(wú)CPU單板是否同時(shí)接收到多個(gè)線程發(fā)送的讀操作報(bào)文,若有多個(gè)線程發(fā)送讀操作報(bào)文,則第二讀單元122根據(jù)預(yù)設(shè)規(guī)則(例如按照讀操作報(bào)文的達(dá)到時(shí)間、報(bào)文長(zhǎng)度等決定讀操作報(bào)文的優(yōu)先級(jí))選出并解析一個(gè)讀操作報(bào)文。然后第二讀單元122根據(jù)解析出的芯片寄存器地址查找到對(duì)應(yīng)的目的信息,并將目的信息封裝呈結(jié)果報(bào)文發(fā)送至主控板(發(fā)送解析的讀操作報(bào)文的主控板)。

在本實(shí)施例中,在多個(gè)主控板線程同時(shí)向無(wú)CPU單板發(fā)送讀操作報(bào)文時(shí),每次只允許接收并處理一個(gè)線程發(fā)送的讀操作報(bào)文,即無(wú)CPU單板對(duì)讀操作報(bào)文的接收采用互斥原則,避免一次接收并處理多個(gè)讀操作報(bào)文,從而避免了因多個(gè)讀操作報(bào)文處解析和處理耗費(fèi)時(shí)間和處理流程不相同,而造成讀操作報(bào)文對(duì)應(yīng)結(jié)果報(bào)文輸出混亂的問(wèn)題,從而較好地保證了主控板接收結(jié)果報(bào)文的準(zhǔn)確性。

進(jìn)一步地,基于本發(fā)明通訊設(shè)備的第二實(shí)施例,提出通訊設(shè)備的第四實(shí)施例,在第四實(shí)施例中,結(jié)果處理單元223還用于:

判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒;

當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文。

由于主控板的單板代理進(jìn)程向無(wú)CPU單板發(fā)送讀操作報(bào)文后,該無(wú)CPU單板的CPLD回復(fù)結(jié)果報(bào)文給主控板的單板代理進(jìn)程需要一定時(shí)間,如果主控板在接收到回復(fù)的結(jié)果報(bào)文之前就去獲取緩存中結(jié)果報(bào)文的值就不是所需 的,所以這里需要一個(gè)延時(shí)保護(hù)處理。通過(guò)主控板的結(jié)果處理單元223先判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒,即通過(guò)單板代理進(jìn)程的專(zhuān)門(mén)用于接收結(jié)果報(bào)文的線程(結(jié)果處理單元223控制該線程)在接收到讀操作報(bào)文對(duì)應(yīng)的結(jié)果報(bào)文時(shí),對(duì)該結(jié)果報(bào)文打上就緒標(biāo)記(該標(biāo)記用于表示結(jié)果報(bào)文準(zhǔn)備就緒),當(dāng)主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程(第一讀單元222控制該線程)檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記時(shí),即當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),主控板的結(jié)果處理單元223接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文;若當(dāng)前時(shí)刻主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程未檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記,則結(jié)果處理單元223等待預(yù)設(shè)等待時(shí)長(zhǎng)(例如5ms),繼續(xù)檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記,如此循環(huán),直至主控板的單板代理進(jìn)程中用于發(fā)送讀操作報(bào)文的線程未檢測(cè)到結(jié)果報(bào)文上的就緒標(biāo)記或者經(jīng)過(guò)預(yù)設(shè)次數(shù)(例如20次)的循環(huán)檢測(cè)后提示通訊異常。

在本實(shí)施例中,通過(guò)主控板的結(jié)果處理單元223判斷無(wú)CPU單板發(fā)送的結(jié)果報(bào)文是否就緒,當(dāng)無(wú)CPU單板發(fā)送的結(jié)果報(bào)文就緒時(shí),主控板的結(jié)果處理單元223接收無(wú)CPU單板發(fā)送的結(jié)果報(bào)文,防止主控板未接收到結(jié)果報(bào)文或接收不正確的結(jié)果報(bào)文就繼續(xù)執(zhí)行后續(xù)步驟,提高了主控板與無(wú)CPU單板通訊的準(zhǔn)確性。

進(jìn)一步地,基于本發(fā)明通訊設(shè)備的第二實(shí)施例,提出與通訊設(shè)備的第五實(shí)施例,在第五實(shí)施例中,讀操作報(bào)文和結(jié)果報(bào)文中包含類(lèi)型字段,

單板代理進(jìn)程模塊22還包括:

類(lèi)型處理單元224,用于根據(jù)接收的結(jié)果報(bào)文中的類(lèi)型字段,確定該結(jié)果報(bào)文的結(jié)果類(lèi)型。

例如,由于查詢PHY寄存器與查詢CPLD寄存器的字節(jié)數(shù)不同,接收結(jié)果報(bào)文后的處理也不同,這時(shí)就需要對(duì)結(jié)果報(bào)文進(jìn)行分類(lèi)處理,通過(guò)在讀操作報(bào)文中添加類(lèi)型字段,無(wú)CPU單板解析讀操作報(bào)文后繼續(xù)保持其中的類(lèi)型字段,并將該類(lèi)型字段一起封裝至結(jié)果報(bào)文(即結(jié)果報(bào)文中也包含對(duì)應(yīng)讀操作報(bào)文的類(lèi)型字段)中,主控板的類(lèi)型處理單元224根據(jù)接收到的結(jié)果報(bào)文中的類(lèi)型字段,確定結(jié)果報(bào)文的結(jié)果類(lèi)型,然后對(duì)不同結(jié)構(gòu)類(lèi)型的結(jié)果報(bào)文進(jìn)行批量、集中處理。其中,類(lèi)型字段可以為以太網(wǎng)報(bào)文里的IVH字段,這 個(gè)字段在發(fā)送讀操作報(bào)文時(shí)填入,無(wú)CPU單板的CPLD芯片回復(fù)結(jié)果報(bào)文里會(huì)自動(dòng)帶上填入的IVH字段值,這樣就可以區(qū)分不同的結(jié)果類(lèi)型。

在本實(shí)施例中,通過(guò)在讀操作報(bào)文中添加類(lèi)型字段,從而在對(duì)應(yīng)結(jié)果報(bào)文中也添加類(lèi)型字段,主控板的類(lèi)型處理單元224可以根據(jù)就結(jié)果報(bào)文的類(lèi)型字段對(duì)該結(jié)果報(bào)文進(jìn)行分類(lèi),然后對(duì)同一類(lèi)的結(jié)果報(bào)文進(jìn)行批量集中處理,提高了結(jié)果報(bào)文的處理速度,使使主控板與無(wú)CPU單板之間的通訊更加高效。

通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。

以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平泉县| 保靖县| 常宁市| 美姑县| 灵宝市| 龙胜| 梁河县| 霍州市| 石城县| 应用必备| 清河县| 保亭| 台中市| 呈贡县| 吴桥县| 德州市| 辛集市| 息烽县| 平乡县| 赤水市| 土默特左旗| 岚皋县| 哈尔滨市| 吉首市| 南部县| 昭苏县| 龙海市| 永济市| 区。| 赤壁市| 峨边| 遵义县| 大冶市| 象山县| 汝南县| 简阳市| 察雅县| 且末县| 永康市| 娄烦县| 五常市|