opnet之csma/ca之aaa_csma_ca_rx
来源:互联网 发布:微信炒白银的软件 编辑:程序博客网 时间:2024/06/13 12:33
lmz:
走了很多弯路,终于在opnet 14.5的有线环境下完成了csma ca的仿真。
csma_ca可执行链接
opnet之csma/ca之bbb_csma_tx
lmz:
解决了三个问题
- 数据中断由0变1时没进入中断:数据线的上升沿未设置
- 删除自中断:每一个节点的事件同名,但是在仿真核心看来不一样
- rx发包发不出去:修改了rx的tap链路设置
网络模型
包格式
aaa_csma_ca_data
aaa_csma_ca_ack
节点模型
lmz_cct_rx
状态转移图
SV
TV
char node_name[128];char module_name[128];
HB
#define IN_STRM 0#define OUT_STRM 0#define PKT_RCVD (op_intrpt_type () == OPC_INTRPT_STRM)
INIT
rcvd_pkts = 0;sh_pack_rece_time = op_stat_reg ("Pack Rece Time", OPC_STAT_INDEX_NONE, OPC_STAT_LOCAL);sh_pack_rece_num = op_stat_reg ("Pack Rece Num", OPC_STAT_INDEX_NONE, OPC_STAT_LOCAL);sh_pack_delay = op_stat_reg ("Pack Delay", OPC_STAT_INDEX_NONE, OPC_STAT_GLOBAL);my_id = op_id_self ();p_id = op_topo_parent(my_id);op_ima_obj_attr_get (p_id, "name", node_name); op_ima_obj_attr_get (my_id, "name", module_name); printf("%s ",node_name);printf("%s ",module_name);printf("initing...\n");
PACK_ARVL
Packet* in_pkt; Packet* ack_pkt; double ete_delay; int node_flag;int node_src;double cre_time;in_pkt = op_pk_get (IN_STRM); op_pk_nfd_get_int32 (in_pkt, "flag", &node_flag);if (node_flag == 0) { op_pk_nfd_get_int32 (in_pkt, "src", &node_src); op_pk_nfd_get (in_pkt, "time", &cre_time); ete_delay = op_sim_time () - cre_time; op_pk_print (in_pkt); printf("current time is %f\n",op_sim_time ());// printf("creation time is %f\n",cre_time);// printf("delay time is %f\n",ete_delay);// op_pk_destroy (in_pkt); ++rcvd_pkts; ack_pkt = op_pk_create_fmt ("aaa_csma_ca_ack"); op_pk_nfd_set (ack_pkt, "dest", node_src); op_pk_print (ack_pkt); op_pk_send(ack_pkt,OUT_STRM); printf("sending ack packet..."); op_stat_write (sh_pack_rece_time, 1); op_stat_write (sh_pack_rece_num, rcvd_pkts); op_stat_write (sh_pack_delay, ete_delay); }else { printf("ack packet received!"); op_pk_destroy (in_pkt); }
tags:opnet
0 0
- opnet之csma/ca之aaa_csma_ca_rx
- opnet之自行设计csma/ca
- opnet之csma/ca之bbb_csma_tx
- opnet之自行设计csma/ca/tx
- opnet之自行设计csma/ca/rx
- opnet之自行设计csma
- opnet之aloha进阶csma
- opnet之作者设计csma
- CSMA/CD 和 CSMA/CA 之原理
- CSMA/CA之INIT入口
- CSMA/CA之状态转移图
- CSMA/CA
- CSMA/CA
- CSMA/CA
- CSMA/CA
- CSMA/CA
- CSMA/CA
- CSMA/CD CSMA/CA
- Eclipse导入项目AppCompat library缺失,导入appcompat_v7后又出现错误
- Java File 类
- 搭建web工作流实现自动化
- 【职业生涯】阻碍职场发达的十种做法
- centos7中docker1.12的配置文件
- opnet之csma/ca之aaa_csma_ca_rx
- 模板的细节改进
- 开始常和老ie打交道
- Android PopupWindow的使用和分析
- 【Android 基础】任务列表上小程序独立显示原理浅析
- spark资源调度流程总结
- C语言实现哈夫曼编码
- Java FileInputStream 和 FileOutputStream
- 【电影】电影