首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
计算机通信与网络v3 第七章 数据链路控制协议(2)
算法工匠
27天前
浏览343
关注
本章内容较多,所以依旧分成两部分讲解!对于本科生而言,高级数据链路控制的内容算是比较难的。这种控制方式不仅用在计算机系统中,很多通信系统中也用,只不过用的是简化版本!
在链路方面是什么情况呢?
非平衡设置
一个主站和一个或多个从站
支持全双工或半双工传输
平衡设置
两个混合站组成;
支持全双工或半双工传输。
数据传送方面呢?
先看看正常响应模式!
正常响应方式(简称为NRM)。特点如下:
非平衡设置
主站初始化到从站的数据传送
从站通过传输数据来响应主站的命令
用于多点线路
多个终端连接到一个主计算机上
终端作为从站
帧结构是指将数据在传输过程中划分成一个个特定格式的基本单元的结构。它主要包括以下几个部分:
帧头
:包含同步信息、地址信息等,用于标识帧的开始和接收方的识别。
数据字段
:承载实际要传输的数据内容。
帧尾
:可能包含一些校验信息或其他控制信息,以确保帧的完整性和正确性。
帧结构的设计要考虑数据的有效传输、同步、错误检测与纠正等多方面因素,以保证数据通信的高效和可靠。
重点知识!
帧结构如何设定包含了太多的技巧,这些技巧需要通过实践来掌握,仅靠教学是无法理解的。
帧包含哪些字段是需要大家掌握的!有没有想过为什么要包含这些字段呢?
HDLC(High-Level Data Link Control)是一种数据链路层协议,常用于串行通信中。HDLC帧由起始标志、地址字段、控制字段、信息字段、帧校验序列和结束标志组成。下面是一个简单的MATLAB示例,用于生成HDLC帧。
% HDLC帧生成函数
function frame = generateHDLCFrame(address, control, info)
% 起始标志
startFlag = [0 1 1 1 1 1 1 0];
% 地址字段
addressField = dec2bin(address, 8);
% 控制字段
controlField = dec2bin(control, 8);
% 信息字段
infoField = info;
% 帧校验序列(CRC校验)
crc = crc16(infoField);
crcField = dec2bin(crc, 16);
% 结束标志
endFlag = [0 1 1 1 1 1 1 0];
% 组装帧
frame = [startFlag, addressField, controlField, infoField, crcField, endFlag];
end
% CRC16校验函数
function crc = crc16(data)
% 计算CRC16校验
crc = 0;
polynomial = hex2dec('8005');
for i = 1:length(data)
crc = bitxor(crc, bitshift(data(i), 8));
for j = 1:8
if bitget(crc, 16)
crc = bitxor(bitshift(crc, -1), polynomial);
else
crc = bitshift(crc, -1);
end
end
end
end
上面MATLAB程序中的函数generateHDLCFrame接受三个参数:地址字段、控制字段和信息字段,并返回一个完整的HDLC帧。在这个示例中,假设信息字段直接是二进制形式,而地址字段和控制字段是十进制形式,需要转换成二进制形式。帧校验序列采用了CRC16校验。
你可以调用这个函数来生成HDLC帧,然后将生成的帧发送到串行通信通道上。
请注意,这只是一个简单的示例,实际中还需要根据具体要求来修改和完善这个函数。
同学们要活学活用哦
,不然你肯定会被AI所代替!
什么是HDLC?以后要学协议栈的同学必然要对HDLC帧了如指掌,不如现在就记住它的组成吧!什么是协议栈?找资料看吧。
来源:通信工程师专辑
登录后免费查看全文
立即登录
MATLAB
通信
控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-19
最近编辑:27天前
算法工匠
博士后
|
高级工程师
诚信做事 认真讲课 传播知识
关注
获赞 381
粉丝 2459
文章 230
课程 38
点赞
收藏
作者推荐
查看更多
可试听
前华为技术工程师主讲,Matlab基础理论与操作(适合零基础学员)
¥200
5.0
立即查看
0/200
清空
提交
还没有评论
课程
培训
服务
行家
查看更多
有问必答第9期-SolidWorks在工业品中的高效应用【直播回放】
可试听
ALIAS汽车设计职业培训班-汽车A面从入门到精通(提高班-持续加餐更新)
有问必答第2期-无主题自由问答专场【直播回放】
可试听
通信仿真基础案例集!(附matlab源代码) 第一期
相关推荐
查看更多
可试听
课程
通信仿真进阶专题(一) 相干解调Matlab仿真思维与核心技能 第一部分
可试听
课程
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第二部分
可试听
课程
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第一、二、三部分缩减版
可试听
课程
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第三部分
可试听
课程
第70期 基于Matlab及Simscape构建物理系统模型基础专题
最新文章
查看更多
ESD保护Layout指南
汽车混合动力系统扭振控制技术探讨
GKN对电力系统离散冗余功能安全信号反馈现状的挑战
采埃孚I2SM“内转子感应式同步电机”技术介绍
深探永磁同步电机设计:反电势差异、涡流损耗与定子槽数的优化之道
热门文章
查看更多
春招进行时:仿真人才库电磁仿真工程师内推专场(含社招)
机电一体化装备数字孪生机理模型构建准则
某车型中高速工况热制动车身抖动分析与控制
几种常见的热仿真软件
分不清楚中国动车组型号?看完本文秒懂(还有技术参数哦)
其他人都在看
查看更多
Mechanical联合ANSYS nCode DesignLife 在实体焊缝疲劳分析中的应用
Icepak对变压器进行不同环境下的散热模拟计算
芯片热设计之微尺度液冷
大功率LED汽车前照灯散热设计
案例 | 某水冷板热流仿真—CAD模型修复导入教程
VIP会员
学习
福利任务
兑换礼品
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部