CN103415085B - 一种通用mac协议处理器的自动生成方法 - Google Patents
一种通用mac协议处理器的自动生成方法 Download PDFInfo
- Publication number
- CN103415085B CN103415085B CN201310295547.4A CN201310295547A CN103415085B CN 103415085 B CN103415085 B CN 103415085B CN 201310295547 A CN201310295547 A CN 201310295547A CN 103415085 B CN103415085 B CN 103415085B
- Authority
- CN
- China
- Prior art keywords
- mac
- interface
- state
- mac protocol
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 108700026140 MAC combination Proteins 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000010586 diagram Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 230000007704 transition Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 22
- 244000045947 parasite Species 0.000 claims description 12
- 238000013461 design Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 8
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 230000008520 organization Effects 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000005314 correlation function Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 230000006698 induction Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims 1
- 238000013508 migration Methods 0.000 claims 1
- 230000005012 migration Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 4
- 230000008859 change Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种通用MAC协议处理器的自动生成方法,该方法包括以下步骤:1)将用户设计的协议转换为有限状态机图,实现人机交互接口HCI;2)将有限状态机图转换为状态文件,实现有限状态机与状态文件接口GFI;3)将状态文件转换为通用MAC协议处理器,实现状态文件与MAC协议处理器接口;4)将通用MAC协议处理器与应用平台无缝集成。本发明方法适用于任何MAC协议,适用于软件无线电平台、基于Linux的软MAC平台以及任意一个可编程的WiFi芯片,具有广泛的通用性。当新的MAC协议一旦提出,即可利用本发明方法将MAC协议在硬件上实现,测试其性能,如此便减少了为测试性能而开发该MAC协议专用芯片的成本。
Description
技术领域
本发明涉及一种无线网络的MAC层协议设计方法,尤其涉及一种MAC层协议自动生成以及与应用平台无缝集成的方法。
背景技术
随着下一代互联网的成熟,物联网的进一步发展,无线网络中的MAC层协议对于无线传感器网络、蜂窝网络和无线局域网的资源优化起到非常重要的作用。由于当前市场上的网络接口卡都是针对特定协议而定制的,比如IEEE802.11a。所以,几乎所有的MAC层协议的设计研究者都用网络模拟器软件去仿真无线网络协议,比如NS2。但软件仿真是一个理想的环境,对协议设计的有效性、可靠性和真实性值得商榷。因此,提出一种MAC协议处理器的自动生成以及与应用平台无缝集成方法,为网络协议设计研究提供一个开放、真实的硬件实现平台十分重要。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种MAC层协议自动生成以及与应用平台无缝集成的方法。
本发明的目的可以通过以下技术方案来实现:一种通用MAC协议处理器的自动生成方法,适用于基于Linux的软MAC平台、软件无线电平台和任意一个可编程的WiFi芯片的三种应用平台,其特征在于,该方法包括以下步骤:1)将用户设计的协议转换为有限状态机图,实现人机交互接口HCI;2)将有限状态机图转换为状态文件,实现有限状态机与状态文件接口GFI;3)将状态文件转换为通用MAC协议处理器,实现状态文件与MAC协议处理器接口;4)将通用MAC协议处理器与应用平台无缝集成。
步骤1)所述的人机交互接口HCI由MFsmGraph有限状态机编辑工具实现,实现步骤包括:
101)用户在MFsmGraph有限状态机编辑工具提供的可视化界面中,根据MAC层协议设计需求,对以图形描述的有限状态机进行编辑修改;
102)MFsmGraph有限状态机编辑工具对用户设计的协议进行校验,并给出反馈;
103)生成并保存用户自定义协议的有限状态机图,记为MFsm。
步骤2)所述有限状态机与状态文件接口GFI,由标记为G2F的编译器工具实现,根据应用平台不同,该工具将有限状态机图转换成不同的状态文件,对基于Linux的软MAC平台、软件无线电平台,G2F的编译器工具将有限状态机图编译成二维状态表文件,包括以下步骤:
201)设计二维状态表结构,二维状态表的结构具体包括:目标状态State、事件Event、条件Variable、阈值Threshold和操作Action,其中,二维状态表横坐标列出了自动机中的所有状态,纵坐标指示事件,表中的单元格表示该状态下遇到对应事件时所要做的操作;
202)输入用户自定义的MAC协议的有限状态机图;
203)将步骤103)所述MFsm图中每一个状态分配编号,从初始状态开始编号,填入状态表的横坐标中,并将各个触发事件的编号填入纵坐标中;
204)从第一个状态开始,检测MFsm图中是否有以此状态为开始状态的状态迁移,若有,确定目标状态、触发事件、条件阈值;分别找到对应的列,并将状态迁移的条件、执行动作序列以及接受状态编号填入对应单元格中;
205)保存二维状态表文件。
步骤2)所述有限状态机与状态文件接口GFI,对于可编程WiFi芯片,由标记为G2F的编译器工具将有限状态机图编译成ByteCode状态文件,包括以下步骤:
211)输入用户自定义的MAC协议的有限状态机图;
212)将源状态、目标状态、事件、条件进行编码;
213)自动生成ByteCode状态文件;
214)保存ByteCode状态文件。
所述通用MAC协议处理器完成协议的控制,包括寄存器组、状态控制器、接口函数库、上行接口和下行接口;
所述寄存器组包括数据寄存器组、事件寄存器组、条件变量寄存器组和状态规则寄存器组;
所述上行接口,将传统的MAC层协议数据单元MPDU和媒介访问控制子层管理实体MLME,MAC服务访问服务点接口,以及媒介访问控制子层管理实体访问服务点接口MLME-SAP作为处理器的上层外部接口,整个接口标部件记为UP-MAC;
所述下行接口,完成与物理层的数据和控制交互,包含物理层发送服务访问点接口PHY-SAP-TX、物理层发送服务访问点接口PHY-SAP-TX,以及媒介访问控制子层与物理层管理实体之间的服务访问点接口MLME-PLME-SAP;
所述接口函数库,收集无线网络MAC层协议,分析各个协议的特点,对这些协议的子功能归纳总结,抽象形成接口函数库。
步骤3)所述实现状态文件与MAC协议处理器接口,对于基于Linux和软件无线电的应用平台,由F2P编译器将二维状态表文件编译成MAC协议处理器,包括以下步骤:
301)输入MAC协议接口函数库和二维状态表;
302)通用MAC协议处理器存储结构自动生成,具体步骤如下:
3021)MAC协议处理器的任何动作,都会对处理器的相应寄存器进行修改,同时引发事件寄存器状态的改变和条件变量存储器值的修改;状态控制器维护一个表示当前状态的全局变量,根据来寄存器中的触发事件,查询二维状态表确定状态迁移需执行的操作,执行状态迁移,从而实现用户自定义的无线网络协议;
3022)MAC层协议所涉及到的数据结构、事件和条件变量,根据其数据类型写成相应的全局寄存器;将二维状态表从文件格式读出,生成相应的二维结构的全局寄存器;将MAC协议接口函数作为处理器的基础函数库;
303)MAC协议处理器的状态迁移,MAC协议处理器的状态迁移是处理器的核心控制,主要由状态控制器完成,具体步骤如下:
3031)根据当前触发的事件、当前条件变量和当前状态,查询二维状态表的状态迁移规则;
3032)根据状态迁移规则,状态控制器确定需执行的操作,直接调用接口函数库中的相关功能,接口函数会修改有关数据寄存器、事件寄存器和条件寄存器;
3033)最后更新表示当前状态的全局变量,完成一次状态迁移操作;
304)自动生成C语言描述的处理器,标记为MAC_P。
步骤3)所述实现状态文件与通用MAC协议处理器接口,对于可编程WiFi 芯片,由F2C管理器将ByteCode状态文件注入芯片内存,将生成的MAC处理器以固件的形式更新WiFi芯片,包括以下步骤:
311)将接口映射到网卡中真实的信号、操作和寄存器;
312)然后用汇编语言实现状态机的执行引擎,记为MAC_ENG。
步骤4)所述将通用MAC协议处理器与应用平台无缝集成,对于基于Linux的软MAC平台,由自动链接器完成,链接器标记为P2LLinker(Processor to Linux Linker),具体步骤如下:
401)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
402)将步骤401)所述无线网络协议栈模块WNP_MAC和Linux系统内核一起编译,最终达到无缝集成。
步骤4)所述将通用MAC协议处理器与应用平台无缝集成,对于软件无线电平台,由自动链接器完成,链接器标记为P2SRLinker(Processor to Software Radio Linker),具体步骤如下:
411)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
412)根据主机和软件无线电平台的处理速度,设置循环缓冲区的大小;
413)以缓冲区大小为输入,利用软件无线电的硬件API接口,自动生成无线网络协议与软件无线电平台的中间件,记为MW_MAC;
414)将步骤411)所述的无线网络协议栈模块WNP_MAC和步骤413)生成的中间件MW_MAC,进行链接和配置,最终达到无缝集成。
步骤4)所述将通用MAC协议处理器与应用平台无缝集成,对于可编程WiFi芯片,无缝集成具体步骤如下:
421)F2C管理器将ByteCode状态文件载入芯片的内存中并激活,同时设置系统以是客户端或者服务端方式的方式工作;
422)将步骤312)生成的MAC_ENG以Firmware文件的形式载入,烧入可编程WiFi芯片,代替原有网卡的固件;
423)将所述的UP-MAC与Linux内核进行编译。
与现有技术相比,本发明方法适用于任何MAC协议,适用于软件无线电平台、基于Linux的软MAC平台以及任意一个可编程的WiFi芯片,具有广泛的通用性。 当有一个新的MAC协议一旦提出,即可利用本发明方法将MAC协议直接在硬件上实现,之后便可以在真实的无线通信环境中测试该新的MAC协议的性能,如此便大大地减少了为测试性能而开发该MAC协议专用芯片的成本。
附图说明
图1为本发明方法示意图。
图2为本发明应用于基于linux的软MAC平台的架构图。
图3为本发明应用于基于软件无线电平台的架构图。
图4为本发明应用于基于可编程WiFi芯片的架构图。
图5为本发明通用MAC协议处理器结构图。
图6为本发明通用MAC协议处理器上行接口结构图。
图7为本发明通用MAC协议处理器下行接口结构图。
图8为本发明通用MAC协议处理器状态控制器流程图。
图9为本发明通用MAC协议处理器与软件无线电平台数据缓冲区示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
如图1所示,一种通用MAC协议处理器的自动生成方法,该方法包括以下步骤:
1)将用户设计的协议转换为有限状态机图,实现人机交互接口HCI;
2)将有限状态机图转换为状态文件,实现有限状态机与状态文件接口GFI;
3)将状态文件转换为通用MAC协议处理器,实现状态文件与MAC协议处理器接口;
4)将通用MAC协议处理器与应用平台无缝集成。
本发明一种通用MAC协议处理器的自动生成方法,适用基于Linux的软MAC平台、软件无线电平台和任意一个可编程的WiFi芯片的三种应用平台:
如图2所示,本发明方法应用于基于Linux的软MAC平台,其中MAC协议处理器由本发明方法自动生成,并替换原有的MAC协议。
如图3所示,本发明方法应用于基于软件无线电平台,主机通过以太网或者USB接口与软件无线电设备相连,主机运行无线网络协议栈,其中将MAC层抽象 成本通用MAC协议处理器替代原来的MAC协议,通用MAC协议处理器由本发明方法自动生成。
如图4所示,本发明方法应用于基于可编程WiFi芯片,无线网络中的应用层、传输层和网络层协议作为高层协议应用在主机中,而MAC协议和物理层协议运行在WiFi芯片中,由于芯片的可编程性,可以用本发明方法自动生成的通用MAC协议处理器替换原有的MAC协议,提供更加灵活的协议设计。
步骤1)所述的人机交互接口HCI由MFsmGraph有限状态机编辑工具实现,实现步骤包括:
101)用户在MFsmGraph有限状态机编辑工具提供的可视化界面中,根据MAC层协议设计需求,对以图形描述的有限状态机进行编辑修改;
102)MFsmGraph有限状态机编辑工具对用户设计的协议进行校验,并给出反馈;
103)生成并保存用户自定义协议的有限状态机图,记为MFsm。
步骤2)所述有限状态机与状态文件接口GFI,由标记为G2F的编译器工具实现,根据应用平台不同,该工具将有限状态机图转换成不同的状态文件,对基于Linux的软MAC平台、软件无线电平台,G2F的编译器工具将有限状态机图编译成二维状态表文件,包括以下步骤:
201)设计二维状态表结构,二维状态表的结构具体包括:目标状态State、事件Event、条件Variable、阈值Threshold和操作Action,其中,二维状态表横坐标列出了自动机中的所有状态,纵坐标指示事件,表中的单元格表示该状态下遇到对应事件时所要做的操作;
202)输入用户自定义的MAC协议的有限状态机图;
203)将步骤103)所述MFsm图中每一个状态分配编号,从初始状态开始编号,填入状态表的横坐标中,并将各个触发事件的编号填入纵坐标中;
204)从第一个状态开始,检测MFsm图中是否有以此状态为开始状态的状态迁移,若有,确定目标状态、触发事件、条件阈值;分别找到对应的列,并将状态迁移的条件、执行动作序列以及接受状态编号填入对应单元格中;
205)保存二维状态表文件。
步骤2)所述有限状态机与状态文件接口GFI,对于可编程WiFi芯片,由标记为G2F的编译器工具将有限状态机图编译成ByteCode状态文件,包括以下步骤:
211)输入用户自定义的MAC协议的有限状态机图;
212)将源状态、目标状态、事件、条件进行编码;
213)自动生成ByteCode状态文件;
214)保存ByteCode状态文件。
如图5所示,所述MAC协议处理器完成协议的控制,包括寄存器组、状态控制器、接口函数库、上行接口和下行接口;
所述寄存器组包括数据寄存器组、事件寄存器组、条件变量寄存器组和状态规则寄存器组;
如图6所示,所述上行接口,记为MPU-SAP,主要完成MAC协议处理器与网络层的数据和控制交互,将传统的MAC层协议数据单元MPDU和媒介访问控制子层管理实体MLME,MAC服务访问服务点接口MAC-SAP,以及媒介访问控制子层管理实体访问服务点接口MLME-SAP作为处理器的上层外部接口,整个接口部件标记为UP-MAC;
如图7所示,所述下行接口,标记为MPD-SAP,完成与物理层的数据和控制交互,包含物理层发送服务访问点接口PHY-SAP-TX、物理层发送服务访问点接口PHY-SAP-TX,以及媒介访问控制子层与物理层管理实体之间的服务访问点接口MLME-PLME-SAP;
所述接口函数库,收集无线网络MAC层协议,比如IEEE802.11a/b/g/u/n;分析各个协议的特点,对这些协议的子功能归纳总结,抽象形成接口函数库。
步骤3)所述实现状态文件与MAC协议处理器接口,对于基于Linux和软件无线电的应用平台,由F2P编译器将二维状态表文件编译成MAC协议处理器,包括以下步骤:
301)输入MAC协议接口函数库和二维状态表;
302)通用MAC协议处理器存储结构自动生成,具体步骤如下:
3021)MAC协议处理器的任何动作,都会对处理器的相应寄存器进行修改,同时引发事件寄存器状态的改变和条件变量存储器值的修改;状态控制器维护一个表示当前状态的全局变量,根据来寄存器中的触发事件,查询二维状态表确定状态迁移需执行的操作,执行状态迁移,从而实现用户自定义的无线网络协议;
3022)MAC层协议所涉及到的数据结构、事件和条件变量,根据其数据类型写成相应的全局寄存器;将二维状态表从文件格式读出,生成相应的二维结构的全 局寄存器;将MAC协议接口函数作为处理器的基础函数库;
303)MAC协议处理器的状态迁移,MAC协议处理器的状态迁移是处理器的核心控制,主要由状态控制器完成,过程如图8所示,具体步骤如下:
3031)根据当前触发的事件、当前条件变量和当前状态,查询二维状态表的状态迁移规则;
3032)根据状态迁移规则,状态控制器确定需执行的操作,直接调用接口函数库中的相关功能,接口函数会修改有关数据寄存器、事件寄存器和条件寄存器;
3033)最后更新表示当前状态的全局变量,完成一次状态迁移操作;
304)综合以上步骤,自动生成C语言描述的处理器,标记为MAC_P。
步骤3)所述实现状态文件与MAC协议处理器接口,对于可编程WiFi芯片,由F2C管理器将ByteCode状态文件注入芯片内存,将生成的MAC处理器以固件的形式更新WiFi芯片,包括以下步骤:
311)将接口映射到网卡中真实的信号、操作和寄存器;
312)然后用汇编语言实现状态机的执行引擎,记为MAC_ENG。
步骤4)所述实现MAC协议处理器与实现平台的无缝集成,对于基于Linux的软MAC平台,由自动链接器完成,链接器标记为P2LLinker(Processor to Linux Linker),具体步骤如下:
401)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
402)将步骤401)所述无线网络协议栈模块WNP_MAC和Linux系统内核一起编译,最终达到无缝集成。
步骤4)所述实现MAC协议处理器与实现平台的无缝集成,对于软件无线电平台,由自动链接器完成,链接器标记为P2SRLinker(Processor to Software Radio Linker),具体步骤如下:
411)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
412)根据主机和软件无线电平台的处理速度,设置循环缓冲区的大小;
主机和软件无线电平台的速度匹配主要通过在FPGA中的循环缓冲区来完成,根据软件无线电设备采样速率为RsMbps,主机发送数据包速率为RtMbps,缓冲区大小为M,消费端间隔反馈下标的包的个数为L和下标阈值为N,来设置缓冲 区大小和下标阈值两个值。以USRP N210Kit为例说明,缓冲区的结构如图9所示,读指针消费数据,写指针生产数据,消费端每读取L=20个数据给主机发送最后消费的数据元素的下标,记为RDI,主机端收到这个下标后,与最后发送的数据包下标,记为SDI,如果SDI-RDI大于阈值N=712,主机则停止发送,否则继续发送数据。
413)以缓冲区大小为输入,利用软件无线电的硬件API接口,自动生成无线网络协议与软件无线电平台的中间件,记为MW_MAC;
414)将步骤411)所述的无线网络协议栈模块WNP_MAC和步骤413)生成的中间件MW_MAC,进行链接和配置,最终达到无缝集成。
步骤4)所述实现MAC协议处理器与实现平台的无缝集成,对于可编程WiFi芯片,无缝集成具体步骤如下:
421)F2C管理器将ByteCode状态文件载入芯片的内存中并激活,同时设置系统以是客户端或者服务端方式的方式工作;
422)将步骤312)生成的MAC_ENG以Firmware文件的形式载入,烧入可编程WiFi芯片,代替原有网卡的Firmware;
423)将所述的UP-MAC与Linux内核进行编译。
以上所述,仅是本发明的较佳实例,本发明所主张的权利范围并不局限于此。本发明还有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种通用MAC协议处理器的自动生成方法,适用于基于Linux的软MAC平台、软件无线电平台和任意一个可编程的WiFi芯片的三种应用平台,其特征在于,该方法包括以下步骤:1)将用户设计的协议转换为有限状态机图,实现人机交互接口HCI;2)将有限状态机图转换为状态文件,实现有限状态机与状态文件接口GFI;3)将状态文件转换为通用MAC协议处理器,实现状态文件与MAC协议处理器接口;4)将通用MAC协议处理器与应用平台无缝集成;
步骤1)所述人机交互接口HCI由MFsmGraph有限状态机编辑工具实现,实现步骤包括:
101)用户在MFsmGraph有限状态机编辑工具提供的可视化界面中,根据MAC层协议设计需求,对以图形描述的有限状态机进行编辑修改;
102)MFsmGraph有限状态机编辑工具对用户设计的协议进行校验,并给出反馈;
103)生成并保存用户自定义协议的有限状态机图,记为MFsm;
步骤2)所述有限状态机与状态文件接口GFI,由标记为G2F的编译器工具实现,根据应用平台不同,该工具将有限状态机图转换成不同的状态文件,对基于Linux的软MAC平台、软件无线电平台,G2F的编译器工具将有限状态机图编译成二维状态表文件,包括以下步骤:
201)设计二维状态表结构,二维状态表的结构具体包括:目标状态State、事件Event、条件Variable、阈值Threshold和操作Action,其中,二维状态表横坐标列出了自动机中的所有状态,纵坐标指示事件,表中的单元格表示该状态下遇到对应事件时所要做的操作;
202)输入用户自定义的MAC协议的有限状态机图;
203)将步骤103)所述MFsm图中每一个状态分配编号,从初始状态开始编号,填入状态表的横坐标中,并将各个触发事件的编号填入纵坐标中;
204)从第一个状态开始,检测MFsm图中是否有以此状态为开始状态的状态迁移,若有,确定目标状态、触发事件、条件阈值;分别找到对应的列,并将状态迁移的条件、执行动作序列以及接受状态编号填入对应单元格中;
205)保存二维状态表文件;
步骤2)所述有限状态机与状态文件接口GFI,对于可编程WiFi芯片,由标记为G2F的编译器工具将有限状态机图编译成ByteCode状态文件,包括以下步骤:
211)输入用户自定义的MAC协议的有限状态机图;
212)将源状态、目标状态、事件、条件进行编码;
213)自动生成ByteCode状态文件;
214)保存ByteCode状态文件;
步骤3)所述实现状态文件与MAC协议处理器接口,对于基于Linux和软件无线电的应用平台,由F2P编译器将二维状态表文件编译成MAC协议处理器,包括以下步骤:
301)输入MAC协议接口函数库和二维状态表;
302)通用MAC协议处理器存储结构自动生成,具体步骤如下:
3021)状态控制器维护一个表示当前状态的全局变量,根据来寄存器中的触发事件,查询二维状态表确定状态迁移需执行的操作,执行状态迁移,从而实现用户自定义的无线网络协议;
3022)根据MAC层协议所涉及到的数据结构、事件和条件变量的数据类型写成相应的全局寄存器,将二维状态表从文件格式读出,生成相应的二维结构的全局寄存器,将MAC协议接口函数作为处理器的基础函数库;
303)MAC协议处理器的状态迁移,具体步骤如下:
3031)根据当前触发的事件、当前条件变量和当前状态,查询二维状态表的状态迁移规则;
3032)根据状态迁移规则,状态控制器确定需执行的操作,直接调用接口函数库中的相关功能,接口函数会修改有关数据寄存器、事件寄存器和条件寄存器;
3033)最后更新表示当前状态的全局变量,完成一次状态迁移操作;
304)自动生成C语言描述的处理器,标记为MAC_P;
步骤3)所述实现状态文件与通用MAC协议处理器接口,对于可编程WiFi芯片,由F2C管理器将ByteCode状态文件注入芯片内存,将生成的MAC处理器以固件的形式更新WiFi芯片,包括以下步骤:
311)将接口映射到网卡中真实的信号、操作和寄存器;
312)然后用汇编语言实现状态机的执行引擎,记为MAC_ENG;
步骤4)所述将通用MAC协议处理器与应用平台无缝集成,对于软件无线电平台,由自动链接器完成,链接器标记为P2SRLinker,具体步骤如下:
411)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
412)根据主机和软件无线电平台的处理速度,设置循环缓冲区的大小;
413)以缓冲区大小为输入,利用软件无线电的硬件API接口,自动生成无线网络协议与软件无线电平台的中间件,记为MW_MAC;
414)将步骤411)所述的无线网络协议栈模块WNP_MAC和步骤413)生成的中间件MW_MAC,进行链接和配置,最终达到无缝集成;
步骤4)将通用MAC协议处理器与应用平台无缝集成,对于可编程WiFi芯片,无缝集成具体步骤如下:
421)F2C管理器将ByteCode状态文件载入芯片的内存中并激活,同时设置系统以是客户端或者服务端方式的方式工作;
422)将步骤312)生成的MAC_ENG以Firmware文件的形式载入,烧入可编程WiFi芯片,代替原有网卡的固件;
423)将UP-MAC与Linux内核进行编译。
2.根据权利要求1所述的一种通用MAC协议处理器的自动生成方法,其特征在于,所述通用MAC协议处理器完成协议的控制,包括寄存器组、状态控制器、接口函数库、上行接口和下行接口;
所述寄存器组包括数据寄存器组、事件寄存器组、条件变量寄存器组和状态规则寄存器组;
所述上行接口,将传统的MAC层协议数据单元MPDU和媒介访问控制子层管理实体MLME,MAC服务访问服务点接口,以及媒介访问控制子层管理实体访问服务点接口MLME-SAP作为处理器的上层外部接口,整个接口部件标记为UP-MAC;
所述下行接口,完成与物理层的数据和控制交互,包含物理层发送服务访问点接口PHY-SAP-TX、物理层发送服务访问点接口PHY-SAP-TX,以及媒介访问控制子层与物理层管理实体之间的服务访问点接口MLME-PLME-SAP;
所述接口函数库,收集无线网络MAC层协议,分析各个协议的特点,对这些协议的子功能归纳总结,抽象形成接口函数库。
3.根据权利要求1所述的一种通用MAC协议处理器的自动生成方法,其特征在于,步骤4)所述将通用MAC协议处理器与应用平台无缝集成,对于基于Linux的软MAC平台,由自动链接器完成,链接器标记为P2LLinker,具体步骤如下:
401)将步骤304)生成的MAC_P和函数接口函数库生成一个独立的模块,替换无线网络协议栈原有的MAC协议层,标记为WNP_MAC;
402)将步骤401)所述无线网络协议栈模块WNP_MAC和Linux系统内核一起编译,最终达到无缝集成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310295547.4A CN103415085B (zh) | 2013-07-15 | 2013-07-15 | 一种通用mac协议处理器的自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310295547.4A CN103415085B (zh) | 2013-07-15 | 2013-07-15 | 一种通用mac协议处理器的自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103415085A CN103415085A (zh) | 2013-11-27 |
CN103415085B true CN103415085B (zh) | 2016-08-10 |
Family
ID=49608061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310295547.4A Expired - Fee Related CN103415085B (zh) | 2013-07-15 | 2013-07-15 | 一种通用mac协议处理器的自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103415085B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201869B (zh) * | 2016-07-01 | 2019-10-29 | Tcl移动通信科技(宁波)有限公司 | 一种高通WiFi芯片信号发射点测方法及系统 |
CN106656580B (zh) | 2016-11-29 | 2020-06-26 | 华为技术有限公司 | 一种业务状态的迁移方法及装置 |
CN110300019B (zh) * | 2019-06-01 | 2022-01-25 | 中国人民解放军战略支援部队信息工程大学 | 一种面向多协议交换系统的事件管理子系统及方法 |
CN112416830B (zh) * | 2020-12-09 | 2024-03-26 | 鸿秦(北京)科技有限公司 | 一种nvme与sata协议转换的实现电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656636A (zh) * | 2009-03-04 | 2010-02-24 | 北京邮电大学 | 基于opnet的多层协议栈网络设备测试方法 |
CN101866326A (zh) * | 2010-05-24 | 2010-10-20 | 北京航空航天大学 | 一种消息传递接口支持总线通信框架 |
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8689244B2 (en) * | 2007-01-26 | 2014-04-01 | Objective Interface Systems, Inc. | Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration |
-
2013
- 2013-07-15 CN CN201310295547.4A patent/CN103415085B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656636A (zh) * | 2009-03-04 | 2010-02-24 | 北京邮电大学 | 基于opnet的多层协议栈网络设备测试方法 |
CN101866326A (zh) * | 2010-05-24 | 2010-10-20 | 北京航空航天大学 | 一种消息传递接口支持总线通信框架 |
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103415085A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713896B (zh) | 用于访问服务器的软件开发工具包生成方法及装置 | |
CN103415085B (zh) | 一种通用mac协议处理器的自动生成方法 | |
CN109189666A (zh) | 接口测试方法、装置和计算机设备 | |
CN108833237A (zh) | 智能家居网关及其管控方法 | |
CN104965700B (zh) | VxWorks操作系统下实现驱动SPI设备的方法和系统 | |
US20210365253A1 (en) | Heterogeneity-agnostic and topology-agnostic data plane programming | |
CN106155264B (zh) | 管理存储子系统的电力消耗的计算机方法与计算机系统 | |
US20130198729A1 (en) | Automated improvement of executable applications based on evaluating independent execution heuristics | |
CN102970657B (zh) | 在社群网络中分享群组状态的系统及其方法 | |
CN110286917A (zh) | 文件打包方法、装置、设备及存储介质 | |
KR20150055600A (ko) | 전자책 문서 처리방법, 단말기, 전자기기, 프로그램 및 기록매체 | |
CN110321192A (zh) | 一种呈现寄宿程序的方法与设备 | |
EP4024202A1 (en) | Method for constructing intermediate representation, compiler and server | |
US12026607B1 (en) | Memory operation for systolic array | |
US10068108B2 (en) | Method and apparatus for secure signing and utilization of distributed computations | |
CN108255585A (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
CN110489812A (zh) | 多层层级网表处理方法、装置、计算机设备及存储介质 | |
CN106921578A (zh) | 一种转发表项的生成方法和装置 | |
CN109299530A (zh) | 一种仿真测试案例生成方法、系统、存储介质和终端 | |
Bodei et al. | Where do your IoT ingredients come from? | |
CN110287630A (zh) | 一种开放的芯片形式验证方法、存储介质、终端和系统 | |
CN105745621A (zh) | 在服务器上仿真测试分布式应用 | |
CN103685564A (zh) | 引入插件化应用能力层的行业应用在线运营云平台架构 | |
CN106656580A (zh) | 一种业务状态的迁移方法及装置 | |
CN103514074A (zh) | Mvb网卡开发方法及平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Wu Dapeng Inventor after: Wu Jun Inventor after: Wang Min Inventor after: Chen Wei Inventor after: Li Sichang Inventor before: Wu Dapeng Inventor before: Wu Jun Inventor before: Wang Min |
|
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 |