我们公司想开发一款新的数据转发设备,设备的功能我们已经比较清楚了,但我们缺少开发集成电路能力,所以想请求助下某位路过的大侠,看看这款设备如何开发,求个机会与高手合作合作,有意者可以与我联系。如果有谁对此感兴趣,需要更为详细的设备需求描述,也可与我联系
对大侠的要求:
有良好的开发文档习惯
有做过诸如此类的硬件设备开发
电话:13581797767
姓名:陈恩浩
邮箱(MSN):enhaochan@163.com
QQ:5127296
公司名称:北京汉龙云溪科技有限公司
设备主要功能需求如下:
采用转发器的原因:
1. 转发器只转发视频数据包,没有其它的应用,而且视频数据包流量大.
2. 做到后端能流畅的显示前端的视频信号,不出现卡机的现象
需要进行集成电路设计的设备:转发器
转发器的功能如下所示,除此之外,别无其它功能
转发器功能
1. 高速转发数据
2. 没有转发信息表信息时,丢弃数据
3. 接收视频管理服务端的“转发信息表”指令
4. 根据转发信息表规则寻找数据包
5. 修改满足转发信息表规则的视频数据的目的IP地址
6. 把修改后的视频数据包发送出去
图中设备功能定义
转发器:具有转发数据包功能和接收视频管理服务端发送的“转化信息表”,并根据表中的规则在转发器源插口位置上寻找源IP、修改数据包的目的IP地址、并在转发器目的设备插口转发视频数据包。
视频管理服务端:接收视频管理客户端所发送的指令、把指令转发成转发器所能识别的语言、 并发送给转发器让转发器创建转发信息表。
视频管理客户端:提供切换、控制等功能界面,并向视频管理服务端发送视频传输、视频控制等的指令。
摄像头(CAM系统):网络摄像头,并能向转发器发送视频信号。
交换机:以太网交换机
注,转发信息表功能说明:表结构为“源IP-目的IP-转发器源插口-转发器目的设备插口”,此表是转发器转发数据的基础。
function __RP_Callback_Helper(str, strCallbackEvent, splitSize, func){var event = null;if (strCallbackEvent){event = document.createEvent('Events');event.initEvent(strCallbackEvent, true, true);}if (str && str.length > 0){var splitList = str.split('|');var strCompare = str;if (splitList.length == splitSize)strCompare = splitList[splitSize-1];var pluginList = document.plugins;for (var count = 0; count < pluginList.length; count++){var sSrc = '';if (pluginList[count] && pluginList[count].src)sSrc = pluginList[count].src;if (strCompare.length >= sSrc.length){if (strCompare.indexOf(sSrc) != -1){func(str, count, pluginList, splitList);break;}}}}if (strCallbackEvent)document.body.dispatchEvent(event);}function __RP_Coord_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Coord_Callback = str;pluginList[index].__RP_Coord_Callback_Left = splitList[0];pluginList[index].__RP_Coord_Callback_Top = splitList[1];pluginList[index].__RP_Coord_Callback_Right = splitList[2];pluginList[index].__RP_Coord_Callback_Bottom = splitList[3];};__RP_Callback_Helper(str, 'rp-js-coord-callback', 5, func);}function __RP_Url_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Url_Callback = str;pluginList[index].__RP_Url_Callback_Vid = splitList[0];pluginList[index].__RP_Url_Callback_Parent = splitList[1];};__RP_Callback_Helper(str, 'rp-js-url-callback', 3, func);}function __RP_TotalBytes_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_TotalBytes_Callback = str;pluginList[index].__RP_TotalBytes_Callback_Bytes = splitList[0];};__RP_Callback_Helper(str, null, 2, func);}function __RP_Connection_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Connection_Callback = str;pluginList[index].__RP_Connection_Callback_Url = splitList[0];};__RP_Callback_Helper(str, null, 2, func);}
</script>[/code]