当前位置:首页 > 模拟 > 模拟
[导读]作者开发的这个同步卡调试器在航天工程现场已多次使用,快速帮助通信双方分离问题。文中给出了同步卡调试器的关键部分,由于他支持位级的输入编辑,发送时序也可以选择,所有的这一类项目都可以调试,在现场或任务阶段为项目相关人员提供了有力支持。

1 引 言

项目中多套测量设备相距较远,通讯时外接同步调制解调器。在仿真执行时往往条件不具备,联试时较困难。监控软件本文不予讨论,为了在联试中能快速分离出通讯双方的对错,作者设计了这款调试器,另一个目的就是在无调制解调器时辅助开发人员快速开发出监控软件,该调试器可以仿真通信任意一方。设计目标为:调试器可以灵活定制通讯规程,设备端口一旦初始化完成。可以自动接收对方信息,允许十六进制显示原码,可以显示接收次数、长度。己方发送时可以依字节形式或字符形式发送。如果是字节形式,允许定制任一字节内容,允许定时发送,可以设定发送长度等。

2 具体实现

根据这一需求,作者使用Delphi 7.0开发这款软件。首先定制界面,该部分较简单,略之。关键部分如下:设备初始化及I/O,十六进制显示,十六进制输入。为了做到通用性,作者重新改写了Moxa的库函数,精简为如下几条函数:

设备打开函数;设备读函数;设备写函数;设备刷新函数;设备关闭函数。

设备打开是关键,该函数综合了Moxa库中的几个函数,规格定制以参数形式提供。主要代码如下(注意Uses部分应包含Moxa的Syncapi.bas库):

HDLC通信是同步通信方式,CRC校验是必须的,另一方面,在实际应用中,通信双方都要使用外时钟,而开发阶段一般使用内时钟,所以本初始化函数将时钟方向作为参数设置。

十六进制显示Delphi提供了BinToHex函数,但这只显示单个数值成十六进制形式。作者另编了一函数,可以显示一缓冲区内容,并且以规范的形式显示。例如:73 AB4D 5F。

十六进制输入较麻烦,制作如下:在界面上定制一StringCrid组件,定制格子为2行1 024列,每个格子可以输入2个字母大小,上一行在FormCreat()消息中填充为序号数,下一行用于定制十六进翻显示输入。

(1) 定制该格子的KeyPress消息,用集合类检查输入该格子的是否是十六进制字符,如果不是,给出提示。

(2) 定制该格子的StringGridlSetEditText消息,判断输入字符串是否大于2,如果是,不予理睬。该方法保证输入字符串是规范的十六进制形式,例1A 5F 4D 3401 7E。

3 发送机制设计

发送设计为线程,该线程等待发送事件,该事件由用户按钮或定时消息触发,线程流程为:

Do While True Begin

判断线程是否退出,如退出结束该线程;

如不退出,永远等待发送事件,该事件设计为无名手工复位的简单事件,事件置位由界面发送按钮或定时期器触发;

如等到该事件,复位该事件,填写发送缓冲内容,调发送函数,完成发送,发用户消息告知前台发送完成;

End;

4 接收机制设计

接收亦设计为线程,该线程睡眠10 ms读端口,如果读不到或者读错误,调陷阱代码处理,如读到发用户消息给前台,读入缓冲传给前台缓冲供前台显示,显示形式由界面决定(十六进制或字符)。

5 用户消息处理

前台用户消息为读完成和写完成消息,前台用户消息完成显示或者存储操作,根据界面选择框确定显示形式(char or byte),读人次数,读入长度,是否要求永远显示(可以常时间监视),是否要求存储文件。

6 其他设计部分

(1) 设计一编辑控件,可以输入发送长度。

(2) 设计一无线电按钮组,用于判断是字符形式或字节形式输入。

(3) 定制收、发字节长度,次数显示,定制状态条各种提示符等。

(4) 设计一发送按钮,完成发送缓冲区填充,并调发送函数发送之。

(5) 设计一Timer组件,间隔可以定制,调发送按钮完成定时发送。

(6) 设计该调试器的陷阱处理部分,处理可能的异常。如突发硬件异常事件、显示、异常大数据处理等。

(7) 设计该调试器的接收信息存储部分,允许将接收信息自动存储为文件。

7 结 语

作者开发的这个同步卡调试器在航天工程现场已多次使用,快速帮助通信双方分离问题。文中给出了同步卡调试器的关键部分,由于他支持位级的输入编辑,发送时序也可以选择,所有的这一类项目都可以调试,在现场或任务阶段为项目相关人员提供了有力支持。通信双方均可受益。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

互联网内容的主要介质在过去的几十年中完成了从文字到图片再到视频的转变。在不断变化中,一以贯之的是人们对体验更好,更真实、更丰富网络生活的追求。如今,视频和游戏内容都在向着更高刷新率与分辨率的方向发展,终端设备也在积极普及...

关键字: 元宇宙 Wi-Fi 7 通信

此前,印度政府曾在推特上公布“国家宽带使命”计划,并表示将于今年10月1日在印度正式推出5G服务,引发了不少网友的关注。然而,近日CNMO了解到,此条推文现已被删除。业内人士表示,印度可能尚未准备好从10月1日开始推出5...

关键字: 印度 5G 通信

北京2022年10月8日 /美通社/ -- 日前,全球领先的IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020...

关键字: 开源 操作系统 通信 大数据

(全球TMT2022年10月8日讯)IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020年9月,是国内...

关键字: 操作系统 开源 通信 装机量

(全球TMT2022年9月30日讯)Tata Communications在印度浦那推出了专用私有5G"全球卓越中心"(CoE),为企业加速"工业4.0"应用和能力。这家新的CoE是一个敏捷、安全的室内设施,用来测试和...

关键字: 通信 5G COMMUNICATIONS 图像分析

厦门2022年9月27日 /美通社/ -- 近日,卓越职场研究机构(Great Place to Work®)公布了2022年亚洲最佳职场™(Best Workplaces in Asia™)榜单,铃盛(Ring...

关键字: CENTRAL BSP 通信 VIDEO

9月27日消息,据央视报道,今天7时50分,我国在太原卫星发射中心使用长征六号运载火箭,以“一箭三星”方式,成功将试验十六号A/B星和试验十七号卫星发射升空,卫星顺利进入预定轨道,发射任务获得圆满成功。该组卫星主要用于国...

关键字: 长征六号 卫星 通信

VPN是一种常用于连接中、大型企业或团体与团体间的私人网络的通信方式。它利用隧道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果,这种技术可以用不安全的网络(例如:互联网)...

关键字: vpn专线 通信 互联网

(全球TMT2022年9月20日讯)2022年9月16日,以"同心聚力、共创算网发展未来;创新合作、共享数字经济红利"为主题的2022浪潮通信产业联盟合作伙伴大会在济南召开。 在产业联盟合作伙伴大会上,浪...

关键字: 通信 网络 APPLICATIONS POWER

我们学校的定位是给企业输送“运维”人员,至于“设计”人员不再考虑范围之内, 只需要学生明白设备的工作原理、流程即可,培养具备设计能力的学生即累老师也累学生。

关键字: 通信专业 通信

模拟

31144 篇文章

关注

发布文章

编辑精选

技术子站

关闭