路由动作的操作过程主要包括下面几点:
( 1) 接收、分解数据包。当路由器接收到数据包之后, 首先验证其合法性, 然后把报头、报文和校验字节分离开来。再根据报头的不同, 选择操作。
( 2) 对数据包进行处理。当接收到有效的报文时,路由器必须决定该数据是本地提交还是向前转发, 当IP 广播或多播时, 也可能是一种混合的情况。对这些情况的判断, 主要根据下面三个规则进行处理:
当IP 目的地址中有一个源路由选项时, 根据路由表的相应表项将其发送到下一个站点, 而不进行本地提交。
当IP 目的地址中的某一个地址与路由器的某个端口地址相符时, 将进行本地提交。
当IP 目的地址是一个广播地址, 或者是个既要转发又要本地提交的多播地址时, 将同时进行两个操作。
( 3) 转发寻址。路由器首先在路由表中查找, 判明是否知道如何将分组发送到下一个站点( 路由器或主机) , 如果路由器不知道如何发送分组, 通常将该分组丢弃; 否则就根据路由表的相应表项将分组发送到下一个站点, 如果目的网络直接与路由器相连, 路由器就把分组直接送到相应的端口上。
( 4) 转发验证。在转发之前, 路由器应该对数据包进行一些校验工作, 而只有验证无误的时候才能进行转发, 否则将数据包抛弃而重新提示数据包的广播源重发。这里的校验分为两个部分: 一个是IP 的验证, 看是否接受到得数据包目标IP 符合要求; 二是具体数据的验证, 看校验得到的数据是否有误。
3. 2 路灯节能控制系统软件实现
3. 2. 1 集中控制器
主程序结构分为两个部分: 一是初始化段, 另一部分是循环主体。为了便于调试, 维护, 本设计中采用了多模块的组织结构。每个任务都是一个子函数, 在主程序循环体中, 逐一调用任务模块, 这些模块功能的执行取决于其条件标志是否满足, 主程序流程图如图3 所示。
为了避免各任务抢占时钟资源, 造成时间冲突, 采取以下措施:
( 1) 根据任务的不同给予不同的时间调度。例如LCD 显示刷屏处理只需要1 s 调用一次; 按键处理为10 ms调用一次; 设备巡检按照设备编号5 min 调用一次, 定时处理程序流程图如图4~ 图6 所示。
( 2) 为了避免因某些任务的单次执行过长影响其他任务的及时处理, 可以将一个任务分为多个时间片处
理。例如: 按键处理程序中, 当首次监测到按键闭合时,是需要10 ms 的延时时间来消抖, 但是如果在程序中用10 ms 的延时程序来实现就会影响到其他程序的执行,故应该把这10 ms 的等待时间让给其他任务执行。
( 3) 对于实时性要求更高的任务, 可以把子函数直接放到中断函数中去执行。对于实时性不是很强的功
能可以先在中断函数中设置标志, 然后让后台程序根据标志再执行具体功能。
3. 2. 2 路灯控制器
数据采集采用程序控制方式, 根据上位机命令采集实时电量。为了便于监控路灯的工作状态, 在单片机的
E2PROM 中存储了基准电压, 当通过HPT 304 精密微型电压互感采集的电压进入单片机A/ D 转化后与基准电压相比较, 当小于或大于某一特定值时, 通信故障码置位, 并按照通信协议由电力线载波模块发送至集中控制器报警, 其程序流程图, 如图7 所示。
新发表论文及文章 |
· 再谈“护眼台灯”
|
最新论文回贴及评论 |
哈哈,给大家分享一个下载统计年鉴的好地方,夏泽网 nianjian.xiaze.com,里面的年鉴非常齐全,现在2019年的最新年鉴还可以免…
中照网网友 在2021-1-11 9:45:39发表
可否提供诸玉华的联系方式?
中照网网友 在2018-6-6 17:54:50发表
shiyong
中照网网友 在2016-12-29 17:53:27发表
伟然科技照明
中照网网友 在2016-6-2 11:44:56发表
这个确实是事实,可是国家一边为了照顾经济发展,一边又没有投入资金对企业进行辅导,确实让企业也茫然。是无奈还是放任,这需…
中照网网友 在2016-5-19 11:36:38发表
|
欢迎各位网友踊跃投稿! |
|
|