自由口通信详细设计

上传人:桔**** 文档编号:562446929 上传时间:2022-07-10 格式:DOCX 页数:5 大小:86.86KB
返回 下载 相关 举报
自由口通信详细设计_第1页
第1页 / 共5页
自由口通信详细设计_第2页
第2页 / 共5页
自由口通信详细设计_第3页
第3页 / 共5页
自由口通信详细设计_第4页
第4页 / 共5页
自由口通信详细设计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《自由口通信详细设计》由会员分享,可在线阅读,更多相关《自由口通信详细设计(5页珍藏版)》请在金锄头文库上搜索。

1、详细设计1 地址符号的分配在编写库函数的时候,不能够使用绝对地址进行编程,必须使用符号地址,所以在编写程序之前须定义符号地址,符号地址的定义如下:表1 自由口库函数符号地址定义术符号骑名顾地址例填充庄开始普地址凯VW凳10田00啄发送银数据突个数娃VB便10东00申发送士帧帧芦头并VB台10鹊01贫站地悠址_王发送羊(字其)员VW刑10己02喂站地拒址_惩发送齿(字袄节)极VB别10蚁02煌控制抄码_塑发送帜VB窑10锋04阳发送义控制添码_适低隔VB盈10响05傍数据昏标识岁_发维送(抽字)捐VD鼠10驶06躺数据明标识辉_发民送许VB傍10械06女数据岛长度科_发酱送碍V汉B1壤01局0艰

2、数据驱域_靠发送亩VB萝10膛12却接收单数据骆个数洞_以忙字形眯式表释VW谈10逗99宽接收贩数据凶个数壁高位宣VB隶10棕99编接收迟数据扁缓冲队首地谦址耐VB蜡11疯00字站地数址_抄接收瑞(字利)殃VW肥11电02鲁站地唉址_河接收初(字孙节)逐VB牢11券02宋接收展控制志码_恩高析VB歉11薯04砌接收话控制括码_坦低鱼VB详11委05扔数据佛标识州_接姐收久VD眉11妨06轿数据粒域长蚂度_萄高凯VB兆11莫10符数据集域首爬址飘VB趁11挡12絮生成途控制副码押VB种10狸41数发送饼长度倚VW揪10茫42销发送从长度女_高或VB坑10碗42粗发送甩长度屠_低淋VB撇10桂43

3、狐发送梯数据疑标识漏VW薪10趋44恩发送王数据堂标识般_高喂VB菊10战44皮BC水C校瞧验_都当前留循环枪次数巩VW蛇10来46伍BC便C校帖验_活当前恐值顷VB镇10虹48端BC榨C校锯验_逼V存秆储地不址穿VD孩10兰49去发送蛮完成踏标志召V1恐05怜5.柴0晚接收矮完成正标志战V1晨05议5.问1摊BC刑C校锅验成中功标展志吃V1棒05昨5.沫2遭接收群到信鸟息B换CC陶计算添结果是VB救10该56仰接收类数据离帧控泽制码乒_1种6进经制艰VB串10踩57抵接收还数据惹帧控揪制码迎_0永V1登05圣7.滔0争接收扒数据同帧控旷制码傲_1愧V1蝇05拦7.理1亿接收厚数据因帧控进制码

4、虹_2纸V1扶05陷7.唯2滤接收踢数据序帧控京制码何_3依V1逃05从7.乔3裂接收阴数据岗帧控经制码膛_4芽V1锣05驳7.古4武接收毫数据澡帧控陕制码沟_5片V1思05抱7.恩5泰接收正数据绳帧控程制码弃_6故V1塘05栗7.加6开接收翼数据奋帧控幕制码善_7钩V1咐05际7.调7亚接收年数据帅数据视域长疗度_校字棵VW肢10哪58详接收狼数据绢数据旦域长送度_取高梢VB绿10孕58膏接收氧数据划数据雾域长漠度_称低夫VB骂10笔59奉缓冲炎区最诉后地锡址边VB题11参992 错误代码定义在自由口通信中,当通信出现错误时,根据不同的错误类型,定义了一些错误代码。代码具体如下:表2 自由口

5、通信错误代码率编号臭错误如代码悄判断红位置抬(主齐站|框从站桨)茂代码但意义凭1锹0芹x0刚0估从站跳判断基无错醒误咸2挣0x倘01贱从站谈判断彼从站仗接收恩到数穴据帧剧指令厘错误已3地0x乐02酱从站绞判断蚊从站非接收稍到数萌据帧规R_辨W与见数据结标识秒不匹抗配坚4暑0x取03该从站踏判断达从站烂接收穷到数竿据帧种BC粒C校或验错曲误粒5炸0x瞧04仗从站磨判断听从站求奇偶助校验聪错误速6匙0x茅05票从站受判断矮从站押接收浆到数貌据帧早控制蛇码错熄误抖7纵0x枣11冤主站料判断风主站储检测国设置萝的R鸭_W功与数脑据标味识符难不一李致带8晃0x枪12写主站禁判断炊应答按帧数午据长帐度与要

6、数据断域长翼度不垂一致互9蚕0x软13扶主站悟判断庭运算帐错误阅10范0x抢14移主站详判断痒应答姿帧B倾CC置校验顽错误广11置0x太15估主站毁判断找应答搁帧站披地址锄错误奖12鸭0x杆16饲主站编判断半应答品帧数嫩据标信识与弃命令抵帧数角据标惠识不狸一致尿13材0x浅17次主站与判断例应答钥帧指恼令错同误抗14步0x脚18捞主站勺判断搅响应哀超时3 初始化初始化库函数的主要功能是设置自由口通信的端口、接收信息开始字符、接收信息结束字符、接收信息控制字节、空闲检测时间、发送或接收的最大字符数。为了贴近于实际情况,在初始化局部变量中添加了3个输入型局部变量。分别用于对通信端口、接收信息开始字

7、符、接收信息结束字符的设置。局部变量表如下:表3 初始化局部变量定义突符号愁变量还类型竟数据嚼类型爪L0沟.0滴Po乖rt雁IN启BO貌OL板LB贺1浊Fi辈rs马t赚IN骂BY恭TE喘LB支2陶Fi途na吃l区IN彼BY鹊TE4 自由口在自由口库函数中添加了7个输入型的局部变量和2个输出型的局部变量,局部变量表如下:表4 自由口局部变量定义执符号健变量朱类型逮数据扮类型着L0退.0尺Se你nd哈IN么BO钓OL槐L0咏.1狐R_巧W扮IN敲BO旷OL妈LB水1叫Sl距av旗e赢IN梁BY贝TE们LW粒2拘Ma体rk略IN诸WO参RD棕LB围4崖Le全n恒IN桌BY巾TE痒LD随5扛Da顽ta

8、怠Pt勿r仰IN泊DW屠OR鹿D乐LW姓9汤Ti刘me舒r垫IN严WO洲RD魔L1喝1.您0跑Do肌ne涌OU优T梯BO框OL这LB倚12晚Er食ro扭r持OU锹T戏BY拴TE自由口库函数的主要功能是完成数据的发送、接收、对接收到数据信息BCC校验、对BCC校验成功的数据帧进行解码,在程序上对数据的发送、对接收到数据信息BCC校验、对BCC校验成功的数据信息进行解码三个功能是通过顺序控制继电器指令来实现的,当满足条件时,分别调用不同的顺序控制继电器来实现功能。此外,由于库函数没有办法添加中断来检测数据帧的发送完成和接收完成,所以对于接收完成和发送完成是在该程序中通过检测特殊寄存器来实现的,该库

9、函数的主体流程如图1。图1 自由口库函数主体流程图4.1 数据发送所谓数据发送就是要将帧头、站地址、控制码、数据标识、数据域长度、数据域、BCC校验码、帧尾组合成为一个数据帧发送出去。在该环节中有两个地方需要注意:其一,求取BCC校验码时,需先取站地址开始处存储器里值与一个初值为0的地址符号存储器相异或,将异或所得结果再与下一个存储器相异或,一直到数据域的最后一个存储器,这个过程通过一个循环来实现,由于数据域长度的不确定,所以需要特别注意循环的次数确定;其二,求取到的BCC校验码在数据发送缓冲区中存放的具体位置,只知道BCC校验码是存放在数据域的后面,但是由于数据域长度的不确定导致了BCC校验

10、码存放的位置的不确定,故确定BCC校验码存放位置也是需要注意的。由口库函数的数据发送流程图如图2:泥图2平 数泊据发皮送流仆程图吨4烧.2缠 对腰应答抬帧B散CC脚校验炸对应帅答帧料BC摊C校说验是辛为了渡检测馅应答悉帧在障数据叉传输期的过白程中胃是否狠出错偿,其锋校验胜的方天法很记简单梳,直毫接求第取接暗收到搏的应挥答帧廉中站韵地址衬、控嘱制码暖、数洪据标菠识、眉数据菠域长壳度、烂数据夜域的戴BC之C校共验码冠,将骡所得罚的结热果与耻应答浅帧中乳传过萝来的戴BC倒C校受验码葵比较裙,如序果一壳致,迟表明冰数据岗传输浊过程初中没箱有出饭错,冤如果狗不一致致表尚明数俩据传蓄送过欢程中匙出现限了错

11、腹误。赔对于醋校验邀发现影出错飞的应凤答帧它,不辩再对字其进摊行解萍码,爱只需役主站亚将错分误信仓息代姥码通陕过错极误代番码存跨储器焦指示旦出来音即可滤,B俊CC脆校验掀的流肤程图捐如说图3绢:蚕图3宽 B脉CC听校验帆流程猪图虚4悉.3踪 数缸据解晶码北数据尼解码磨是自删由口停通信柄中最冈为主脱要的桶一个腥部分龟,数备据解脚码的痛结果抵是从步应答赌帧返偶回的阔数据迅帧信碗息中拌找出劳主站蹲需要悄的信垮息。贵在数孝据解心码过锡程中山需要过进行显一些够列的尺容错跪判断竟,比置如说限:返宪回的族应答杜帧的岔站地驴址是垂否正渡确;岔返回丙帧的怀数据储标识锯是否蚀一致夹;返抹回帧丹的数存据域蹈长度笛是否网正确吃等等蠢,只搁有当镇所有颜的信买息都疾正确苍的情耀况下滤,才积能将孔应答控帧中极数据毅域的狠内容遭取出树放入赤指定崖地方稍。数索据解畏码的鞭流程卫图如絮图坛4超:工图4逃 数川据解谢码流顶程图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 金融/证券 > 财经资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号