一种双MCU结构的嵌入式Internet接入服务器
stinationtaskCommand/responddata
2.3.1RAC任务控制类
任务控制类允许用户在远程节点上使用适当的DCX51系统调用,或者控制远程节点自身。在DMCUEIAS中用户可以把指定的任务文件(必须是十六进制格式,如.hex)通过Internet下载到InetMCU里,然后通过下载后,客户端还要发create命令激活下载的文件数据,通过RAC任务create服务把命令传到DevMCU,完成新任务的建立,实现控制设备。
用户还可以控制其它服务如deletetask(删除特定的任务,并禁止所有与该任务有关的中断)、resetdevice(全部任务初始化),为此用户必须知道当前运行的任务号。这需用户事前发getfunctionids命令,DevMCU通过RAC任务的getfunctionids服务把ID号传给InetMCU,并通过Internet返回到客户端,用户可对任务进行不同的操作(如删除等)。
2.3.2RAC数据存取类
数据存取类使用户可以对不同的存储段或I/O空间进行数据的读写。在DMCUEIAS中,客户端可以通过对DevMCU的I/O空间进行数据读写来控制设备,完成数据的写(客户端传来的数据直接控制设备状态)、读(把设备的状态通过网络传给客户端)。
RAC任务写服务:写数据到DevMCU的I/O口中。客户端从Internet传来的设备状态码从InetMCU写到DevMCU,完成对设备的控制。
RAC任务读服务:把DevMCU的I/O口内容进行读和显示。当前设备的状态(用一字节8位表示,即可同时控制8个设备)从DevMCU传到InetMCU,然后通过Internet返回到远端的客户端,用户就可知道设备的状态。
3实验结果
本文的实验环境是:通过计算机的RS-232串口把编好的服务程序(采用汇编语言,这样可减少程序代码量,并提高执行效率)固化到InetMCU的Flash存储器里,实现较完整的服务器功能,如任务调度、线程的支持、文件系统、内存管理、网络系统(TCP/IP)和I/O管理。断开程序下载线,双MCU结构的嵌入式Internet接入服务器(DMCUEIAS)和运行客户端程序的PC机只通过网线连接。了演示实验结果,把8个设备用8个指示灯代替,对指示灯的控制通过二进制0(灯灭)、1(灯亮)实现,即指示灯只有两个状态,完成客户远端控制和读取指示灯的状态。这个实验环境是对用户通过Internet远端控制设备的模拟。
验证RAC任务控制类:首先下载文件fd.hex,它控制指示灯,使8个小灯按序接连亮,然后灭,下一个亮,到最后一个灯,再从第1个灯开始,重复循环……然后用户发create命令,激活任务,实现实验目的。在这里共有4个任务,所有用户发的getfunctionids只有ID0、ID1、ID2、ID3返回,它们分别完成不同的功能。任务0即RAC任务,完成InetMCU与DevMCU的通信。客户端可以分别控制这4个任务,对不同任务进行不处理(如删除等)。验证RAC数据存取类:用户发“写”0xff命令,则8个灯全亮(8位,每位控制1个灯);用户发“读”命令,则从DevMCU返回0xff,指示灯状态是全亮。
但为使MCU与非标准设备有统一的接口,而不用提供专门的接口是下一步研究的方向。
《一种双MCU结构的嵌入式Internet接入服务器(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/159492.html
2.3.1RAC任务控制类
任务控制类允许用户在远程节点上使用适当的DCX51系统调用,或者控制远程节点自身。在DMCUEIAS中用户可以把指定的任务文件(必须是十六进制格式,如.hex)通过Internet下载到InetMCU里,然后通过下载后,客户端还要发create命令激活下载的文件数据,通过RAC任务create服务把命令传到DevMCU,完成新任务的建立,实现控制设备。
用户还可以控制其它服务如deletetask(删除特定的任务,并禁止所有与该任务有关的中断)、resetdevice(全部任务初始化),为此用户必须知道当前运行的任务号。这需用户事前发getfunctionids命令,DevMCU通过RAC任务的getfunctionids服务把ID号传给InetMCU,并通过Internet返回到客户端,用户可对任务进行不同的操作(如删除等)。
2.3.2RAC数据存取类
数据存取类使用户可以对不同的存储段或I/O空间进行数据的读写。在DMCUEIAS中,客户端可以通过对DevMCU的I/O空间进行数据读写来控制设备,完成数据的写(客户端传来的数据直接控制设备状态)、读(把设备的状态通过网络传给客户端)。
RAC任务写服务:写数据到DevMCU的I/O口中。客户端从Internet传来的设备状态码从InetMCU写到DevMCU,完成对设备的控制。
RAC任务读服务:把DevMCU的I/O口内容进行读和显示。当前设备的状态(用一字节8位表示,即可同时控制8个设备)从DevMCU传到InetMCU,然后通过Internet返回到远端的客户端,用户就可知道设备的状态。
3实验结果
本文的实验环境是:通过计算机的RS-232串口把编好的服务程序(采用汇编语言,这样可减少程序代码量,并提高执行效率)固化到InetMCU的Flash存储器里,实现较完整的服务器功能,如任务调度、线程的支持、文件系统、内存管理、网络系统(TCP/IP)和I/O管理。断开程序下载线,双MCU结构的嵌入式Internet接入服务器(DMCUEIAS)和运行客户端程序的PC机只通过网线连接。了演示实验结果,把8个设备用8个指示灯代替,对指示灯的控制通过二进制0(灯灭)、1(灯亮)实现,即指示灯只有两个状态,完成客户远端控制和读取指示灯的状态。这个实验环境是对用户通过Internet远端控制设备的模拟。
验证RAC任务控制类:首先下载文件fd.hex,它控制指示灯,使8个小灯按序接连亮,然后灭,下一个亮,到最后一个灯,再从第1个灯开始,重复循环……然后用户发create命令,激活任务,实现实验目的。在这里共有4个任务,所有用户发的getfunctionids只有ID0、ID1、ID2、ID3返回,它们分别完成不同的功能。任务0即RAC任务,完成InetMCU与DevMCU的通信。客户端可以分别控制这4个任务,对不同任务进行不处理(如删除等)。验证RAC数据存取类:用户发“写”0xff命令,则8个灯全亮(8位,每位控制1个灯);用户发“读”命令,则从DevMCU返回0xff,指示灯状态是全亮。
但为使MCU与非标准设备有统一的接口,而不用提供专门的接口是下一步研究的方向。
《一种双MCU结构的嵌入式Internet接入服务器(第4页)》