麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于vxworks平臺上快速收發以太網報文的方法

文檔序號:7886982閱讀:881來源:國知局
專利名稱:一種基于vxworks平臺上快速收發以太網報文的方法
技術領域
本發明涉及智能電網以太網報文(非IP報文)的收發方法。
背景技術
隨著智能電網的推行,各種變電站的設備需要支持智能IED,而為了保證設備的穩定性與實時性,一般都選用vxworks操作系統。而vxowrks系統僅支持TCP/IP報文的收發, 對鏈路層的報文支持有限,并且由于需要經過系統任務的轉發,在實時性上比較差,無法滿足智能電網中GOOSE報文和SV報文要求的實時性。

發明內容
本發明所要解決的技術問題是提供一種基于vxworks平臺上快速收發以太網報文的方法,減少了操作系統處理報文的時間,提高了數據傳輸的實時性。為解決上述技術問題,本發明的技術方案是一種基于vxworks平臺上快速收發以太網報文的方法,包括以下步驟(1)以太網報文收發初始化;(1. 1)預先分配好報文收發需要的內存池;(1. 2)調用muxBind向vxworks系統注冊對應的協議處理類型,并記錄返回的 COOki,已備后續發送數據使用;(2)以太網報文發送;(2. 1)從內存池中分配數據發送緩沖區,并初始化相關參數;(2. 2)封裝將要發送的數據,在緩沖區中加上鏈路層報文頭,并將數據拷貝到緩沖區中,而緩沖區的釋放會在發送報文完成后由系統調用緩沖區釋放函數釋放緩沖區; (2. 3)調用muxSend發送應用數據;(3)以太網報文接收;數據接收分為上半部和下半部部分,其中上半部為中斷處理過程,而下半部為應用接收報文的處理過程;上半部1)當有以太網報文到達時,會產生一個數據接收中斷,而中斷中會調用對應類型報文注冊的回調函數;2)在回調函數中,從內存池中分配內存接收緩沖區,然后將數據保存在內存緩沖區中;3)將緩沖區保存到接收隊列中;下半部1)從接收隊列中取出報文;2)解析出以太網報文頭;3)將數據拷貝到讀緩沖區。
作為改進,所述內存池中的分為32Bit,64Bit,128Bit, 256Bit, 512Bit, 1024Bit, 2048Bit幾種大小的數據緩沖區。本發明與現有技術相比所帶來的有益效果是一種基于vxworks內核中的Mux層進行報文收發的方法,對數據的發送可以直接將數據通過驅動接口進行發送,而接收則直接在中斷中將數據放到每路通訊接口的緩沖區中,而不需要經過任務進行轉發,減少了操作系統處理報文的時間,提高了數據傳輸的實時性。


圖1為以太網報文收發初始化流程圖。圖2為以太網報文發送流程。圖3為以太網報文接收流程。
具體實施例方式下面結合說明書附圖對本發明作進一步說明。一種基于vxworks平臺上快速收發以太網報文的方法,包括以下步驟(1)如圖1所示,以太網報文收發初始化;(1. 1)預先分配好報文收發需要的內存池,內存池中的分為32Bit,64Bit, 128Bit,256Bit,512Bit,1024Bit,2048Bit 幾種大小的數據緩沖區;(1. 2)調用muxBind向vxworks系統注冊對應的協議處理類型,并記錄返回的 COOki,已備后續發送數據使用;(2)如圖2所示,以太網報文發送;(2. 1)從內存池中分配數據發送緩沖區,并初始化相關參數;(2. 2)封裝將要發送的數據,在緩沖區中加上鏈路層報文頭,并將數據拷貝到緩沖區中,而緩沖區的釋放會在發送報文完成后由系統調用緩沖區釋放函數釋放緩沖區;(2. 3)調用muxSend發送應用數據;(3)如圖3所示,以太網報文接收;數據接收分為上半部和下半部部分,其中上半部為中斷處理過程,而下半部為應用接收報文的處理過程;上半部1)當有以太網報文到達時,會產生一個數據接收中斷,而中斷中會調用對應類型報文注冊的回調函數;2)在回調函數中,從內存池中分配內存接收緩沖區,然后將數據保存在內存緩沖區中;3)將緩沖區保存到接收隊列中;下半部1)從接收隊列中取出報文;2)解析出以太網報文頭;3)將數據拷貝到讀緩沖區。
在vxworks系統中,可以通過內核的MUX層接口,直接與網卡驅動進行交互,減少操作系統處理報文的時間。在需要進行以太網報文收發的時候,需要分配好數據緩沖區,然后通過muxBind 注冊對應的協議類型到MUX層。而muxBind將返回一個句柄,可以通過該句柄進行對網卡驅動等進行操作控制。
權利要求
1.一種基于vxworks平臺上快速收發以太網報文的方法,其特征在于,包括以下步驟(1)以太網報文收發初始化;(1.1)預先分配好報文收發需要的內存池;(1. 2)調用muxBind向vxworks系統注冊對應的協議處理類型,并記錄返回的cooki, 已備后續發送數據使用;(2)以太網報文發送;(2. 1)從內存池中分配數據發送緩沖區,并初始化相關參數;(2. 2)封裝將要發送的數據,在緩沖區中加上鏈路層報文頭,并將數據拷貝到緩沖區中,而緩沖區的釋放會在發送報文完成后由系統調用緩沖區釋放函數釋放緩沖區; (2. 3)調用muxSend發送應用數據;(3)以太網報文接收;數據接收分為上半部和下半部部分,其中上半部為中斷處理過程,而下半部為應用接收報文的處理過程; 上半部1)當有以太網報文到達時,會產生一個數據接收中斷,而中斷中會調用對應類型報文注冊的回調函數;2)在回調函數中,從內存池中分配內存接收緩沖區,然后將數據保存在內存緩沖區中;3)將緩沖區保存到接收隊列中; 下半部1)從接收隊列中取出報文;2)解析出以太網報文頭;3)將數據拷貝到讀緩沖區。
2.根據權利要求1所述的一種基于vxworks平臺上快速收發以太網報文的方法,其特征在于所述內存池中的分為 32Bit, 64Bit, 128Bit, 256Bit, 512Bit, 1024Bit, 2048Bit 幾種大小的數據緩沖區。
全文摘要
一種基于vxworks平臺上快速收發以太網報文的方法,包括以下步驟(1)以太網報文收發初始化;預先分配好報文收發需要的內存池;調用muxBind向vxworks系統注冊對應的協議處理類型,并記錄返回的cooki,已備后續發送數據使用;(2)以太網報文發送;從內存池中分配數據發送緩沖區,并初始化相關參數;封裝將要發送的數據,在緩沖區中加上鏈路層報文頭,并將數據拷貝到緩沖區中,而緩沖區的釋放會在發送報文完成后由系統調用緩沖區釋放函數釋放緩沖區;調用muxSend發送應用數據;(3)以太網報文接收;數據接收分為上半部和下半部部分,其中上半部為中斷處理過程,而下半部為應用接收報文的處理過程。減少了操作系統處理報文的時間,提高了數據傳輸的實時性。
文檔編號H04L12/56GK102546415SQ20121000699
公開日2012年7月4日 申請日期2012年1月11日 優先權日2012年1月11日
發明者林萍 申請人:深圳市科陸電子科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 科技| 德江县| 莱阳市| 哈尔滨市| 赣榆县| 威信县| 泽普县| 大连市| 温州市| 大兴区| 凌海市| 富川| 丰都县| 鄄城县| 奉化市| 洱源县| 泰安市| 包头市| 绥江县| 阿尔山市| 油尖旺区| 洪雅县| 宝坻区| 大邑县| 克什克腾旗| 山东| 虞城县| 苏尼特右旗| 武穴市| 乐平市| 曲水县| 富裕县| 佛山市| 石景山区| 大同市| 安远县| 荔浦县| 台东市| 大新县| 江孜县| 彩票|