一种双MCU结构的嵌入式Internet接入服务器
根据各个任务时要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS[9]支持的DMCUEIAS系统中,每个任务均有一个优先级。DMCUEIAS根据各个任务的优先级,动态切换各个任务,保证实时性的要求。
DCX(DistributedControlExecutive)嵌入式实时操作系统[10]相当于实时操作系统的核,本文讨论的DMCUEIAS支持8位的DCX51。DCX51执行程序已固化在DevMCU中,为BITBUS网络上的节点提供多任务能力,并且控制DevMCU和InetMCU之间的通信。DCX51操作系统提供中断处理,能实时地响应外事件发出的中断服务请求、任务间的通讯、任务的同步,内部存储器管理对应用程序代码段和数据区以不同方式管理;定时服务以及其于优先级的抢占式任务调度方法。新建任务如果优先级最高,可立即运行,否则处于就绪状态。就绪队列中的任务按优先级顺序排列,下一次运行的总是就绪阶列中优先级最高的任务,同优先级的任务则按就绪时间顺序排列是。DCX支持多任务,0号任务RAC是系统任务,它管理目标机与上位机通信。含有DCX51的DevMCU作为主控芯片安装到目标机上,分布到工业现场中控制设备。对于每部分功能,DCX都提供系统调用,这些调用就是用户任务与DCX的接口。这些服务综合在一起就实现一个实时系统。这样在DMCUEIAS中,用户主要完成控制外部设备的各个程序模块。
2.3RAC任务
任务是一个可调度的执行单元,它由执行代码和只能由该任务存取的私有数据组成。RAC(RemoteAccessControl)任务,即远程存取和控制,专门负责远程任务的接收和发送。当信息发送到另一节点时,DCX51执行程序发送信息到RAC任务(即任务0)。RAC任务内含通信服务,它已经随同DCX51操作系统一道固化到DevMCU,通过DCX51,可以实现InetMCU与DevMCU的通信。它有两种类型的服务:数据存取和任务控制。数据存取类的服务可以对DevMCU不同的存储器段或I/O空间进行数据的读或写。任务控制类的服务可以下载一个任务的目标代码到DevMCU,建立或删除在DevMCU的一个任务。传到InetMCU的数据通过RAC任务从InetMCU传到DevMCU,再由DevMCU完成远端设备的控制和访问。
RAC任务的信息格式如表1。其中,Link是系统用于保存信息表的两字节的参数;Messagelength是RAC命令或回答的字节数。MT(Message-type):指定信息类型的一位;SE(src-ext)表示产生信息的任务是否在扩展节点上;DE(dest-ext):表示接收命令信息的任务驻留在扩展节点上,还是在一个设备上;Nodeaddress:只能通过PC系统接口进行传递的信息参数是0xff,当信息从同一节点的一个任务传递到另一个任务时,参数是"0";Sourcetask:是源节点发送任务的任务ID(0~7);Destinationtask:是目的任务的任务标识符;Command/respond:包含选择规定的RAC任务的参数(不同服务其值也不同),RAC任务的响应信息包含了指示服务结果的状态代码;data:数据,对不同RAC服务而不同。
表1RAC信息格式
Link(高字节)Link(低字节)MessageLengthMTSEDE00000NodeaddressSourcetaskDe 《一种双MCU结构的嵌入式Internet接入服务器(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/159492.html
DCX(DistributedControlExecutive)嵌入式实时操作系统[10]相当于实时操作系统的核,本文讨论的DMCUEIAS支持8位的DCX51。DCX51执行程序已固化在DevMCU中,为BITBUS网络上的节点提供多任务能力,并且控制DevMCU和InetMCU之间的通信。DCX51操作系统提供中断处理,能实时地响应外事件发出的中断服务请求、任务间的通讯、任务的同步,内部存储器管理对应用程序代码段和数据区以不同方式管理;定时服务以及其于优先级的抢占式任务调度方法。新建任务如果优先级最高,可立即运行,否则处于就绪状态。就绪队列中的任务按优先级顺序排列,下一次运行的总是就绪阶列中优先级最高的任务,同优先级的任务则按就绪时间顺序排列是。DCX支持多任务,0号任务RAC是系统任务,它管理目标机与上位机通信。含有DCX51的DevMCU作为主控芯片安装到目标机上,分布到工业现场中控制设备。对于每部分功能,DCX都提供系统调用,这些调用就是用户任务与DCX的接口。这些服务综合在一起就实现一个实时系统。这样在DMCUEIAS中,用户主要完成控制外部设备的各个程序模块。
2.3RAC任务
任务是一个可调度的执行单元,它由执行代码和只能由该任务存取的私有数据组成。RAC(RemoteAccessControl)任务,即远程存取和控制,专门负责远程任务的接收和发送。当信息发送到另一节点时,DCX51执行程序发送信息到RAC任务(即任务0)。RAC任务内含通信服务,它已经随同DCX51操作系统一道固化到DevMCU,通过DCX51,可以实现InetMCU与DevMCU的通信。它有两种类型的服务:数据存取和任务控制。数据存取类的服务可以对DevMCU不同的存储器段或I/O空间进行数据的读或写。任务控制类的服务可以下载一个任务的目标代码到DevMCU,建立或删除在DevMCU的一个任务。传到InetMCU的数据通过RAC任务从InetMCU传到DevMCU,再由DevMCU完成远端设备的控制和访问。
RAC任务的信息格式如表1。其中,Link是系统用于保存信息表的两字节的参数;Messagelength是RAC命令或回答的字节数。MT(Message-type):指定信息类型的一位;SE(src-ext)表示产生信息的任务是否在扩展节点上;DE(dest-ext):表示接收命令信息的任务驻留在扩展节点上,还是在一个设备上;Nodeaddress:只能通过PC系统接口进行传递的信息参数是0xff,当信息从同一节点的一个任务传递到另一个任务时,参数是"0";Sourcetask:是源节点发送任务的任务ID(0~7);Destinationtask:是目的任务的任务标识符;Command/respond:包含选择规定的RAC任务的参数(不同服务其值也不同),RAC任务的响应信息包含了指示服务结果的状态代码;data:数据,对不同RAC服务而不同。
表1RAC信息格式
Link(高字节)Link(低字节)MessageLengthMTSEDE00000NodeaddressSourcetaskDe 《一种双MCU结构的嵌入式Internet接入服务器(第3页)》