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 结 语
作者开发的这个同步卡调试器在航天工程现场已多次使用,快速帮助通信双方分离问题。文中给出了同步卡调试器的关键部分,由于他支持位级的输入编辑,发送时序也可以选择,所有的这一类项目都可以调试,在现场或任务阶段为项目相关人员提供了有力支持。通信双方均可受益。
上一篇:数字调谐集成电路T2104在收音机中的实际应用
下一篇:无线射频识别RFID中间件技术
推荐阅读最新更新时间:2024-05-07 15:59
- 热门资源推荐
- 热门放大器推荐
- Wi-Fi 8规范已在路上:2.4/5/6GHz三频工作
- 治理混合多云环境的三大举措
- Microchip借助NVIDIA Holoscan平台加速实时边缘AI部署
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 高通推出其首款 RISC-V 架构可编程连接模组 QCC74xM,支持 Wi-Fi 6 等协议
- Microchip推出广泛的IGBT 7 功率器件组合,专为可持续发展、电动出行和数据中心应用而设计
- 英飞凌推出新型高性能微控制器AURIX™ TC4Dx
- Rambus宣布推出业界首款HBM4控制器IP,加速下一代AI工作负载
- 恩智浦FRDM平台助力无线连接
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况