- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第3章串行通信
接口技术;;3.1串行通信基础;3.1.1串行异步通信数据格式;串行异步通信数据格式
;3.1.2通信的连接握手;软件连接握手
发送者通过发送一个特定字节表明它想要发送数据
接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据
当发送者看到这个信息时就知道它已完成连接,可以发送数据了
接收者还可以通过一个另外的编码来告诉发送者停止发送。;硬件连接握手
接收者在准备好了后将相应的端口线带入到某个规定的电平状态,如高电平
发送者从串行接口监测到这个信号的电平变化,便开始发送数据
接收者可以在任何时候将这根端口线带入到低电平;当发送者检测到这个低电平,就停止发送
;3.1.3确认;3.1.4中断;3.1.5轮询;3.1.6差错检验;冗余数据校验;奇偶校验;校验和;出错的简单处理;3.2RS-232C串行通信接口;计算机到MODEM控制信号:
DTR(数据终端准备好接收),RTS(请求发送)
MODEM到计算机控制信号:
DSR(数据设备准备好接收),CTS(准备好发送)
RI(振铃信号),DCD(数据信号检测)
数据信号:TXD,RXD,;电气特性:;3.2.2通信接口的连接;3.2.3RS-232C电平转换器;3.3RS-485串行通信接口;EIA-485与EIA-232主要技术参数比较;3.3.2RS-485收发器;精品文档;3.4Modbus通信协议;;3.4.2两种传输方式;ASCII模式
原理:每8bit字节用两个16进制字符ASCII发送
代码系统:由16进制字符ASCII码组成
每个字节的位:1个起始符,7个数据位,1个奇偶校验位(或无校验),1个停止位(无检验时2个)
错误检验域:LCR(纵向冗余检测);RTU模式
代码系统:8位二进制数
每个字节的位:1个起始位,8个数据位,1个奇偶校验位(或无校验),1个停止位(无校验时2位)
错误检验域:CRC
;3.4.3Modbus消息帧;地址域:ASCII(2字符),RTU(1字节)
地址0用作广播地址
功能域:ASCII(2字符),RTU(1字节)
主设备用功能码告知从设备需要执行的动作
从设备用功能码指示响应是否正确,异常响应的功能码最高位置1。;数据域
功能代码03H(读一组寄存器),数据域指定起始寄存器以及数量
功能代码10H(写一组寄存器),数据域指明起始寄存器以及数量
错误??验域
ASCII:LRC
RTU:CRC
字符的连续传输
使用ASCII字符帧时:图3-17,7位数据,先低位后高位
使用RTU字符帧时:图3-18,8位数据,先低位后高位
;3.4.4错误检测方法;LRC检测;BYTEGetCheckCode(constchar*pSendBuf,intnEnd)//获得校验码
{
BYTEbyLrc=0;
charpBuf[4];
intnData=0;
for(i=1;iend;i+=2) //i初始为1,避开“开始标记”冒号
{
//每两个需要发送的ASCII码转化为一个十六进制数
pBuf[0]=pSendBuf[i];
pBuf[1]=pSendBuf[i+1];
pBuf[2]=\0;
sscanf(pBuf,%x,nData);
byLrc+=nData;
}
byLrc=~byLrc;
byLrc++;
returnbyLrc;
};CRC检测;CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。
整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。CRC添加到消息中时,低字节先加入,然后高字节。下面是它的VC代码:;WORDGetCheckCode(constchar*pSendBuf,intnEnd)//获得校验码
{
WORDwCrc=WORD(0xFFFF);
for(inti=0;inEnd;i++)
{
wCrc^=WORD(BYTE(pSendBuf[i]));
for(intj=0;j8;j++)
{
if(wCrc1)
{
wCrc=1;
wCrc^=0xA001;
}
else
您可能关注的文档
- 特殊气体安全.ppt
- 吴正宪给小学数学教师的建议读书分享ppt课件.pptx
- 日光性皮炎(物理性皮肤病).pptx
- 《诗经》中的植物漫谈.docx
- 磁疗康复仪技术参数.docx
- 《食品毒理学》课程教学大纲.docx
- 盆底治疗设备技术参数.docx
- 体外冲击波治疗仪.docx
- 体外冲击波治疗仪.pdf
- 盆底治疗设备技术参数.pdf
- 陕西省汉中市部分学校2023-2024学年高一上学期第三次选科调研考试生物试卷.docx
- 陕西省汉中市部分学校2023-2024学年高一上学期第三次选科调研考试化学试卷.docx
- 陕西省汉中市部分学校2023-2024学年高一上学期第三次选科调研考试历史试卷.docx
- 《祁门种病虫害防治技术规程》.docx
- 四川省眉山市东坡区眉山北外附属东坡外国语学校2024-2025学年高二上学期11月期中考试数学试题.docx
- 陕西省榆林市2025届高三上学期11月第一次模拟检测地理试卷.docx
- 消防车道、救援场地标识设置规范.docx
- 消防车道、救援场地标识设置规范.pdf
- 《祁门种病虫害防治技术规程》.pdf
- 四川省仁寿县铧强中学2024-2025学年高一上学期11月期中地理试卷.docx
文档评论(0)