微克级电子天平串行通信
引言
在我们研究的项目—衡重式自动测尘系统中使用到了一台带有RS232串行接口的微克级电子天平,为了实现仪器自动采集数据功能,要求天平能够根据系统流程的规定向目标机器(单片机)周期性的输出数据。本文主要介绍如何实现单片机和电子天平之间通信的思路和具体的技术方案。
串行通信
串行通信是以规定的时序进行的,如图1所示。在进行通信之前必须首先设定好通信参数,如:波特率、数据位数和奇偶校正等,才能正常的通信。此外在特定的仪器上又有自己的特别规定或格式(它们以字符串的形式表达),这些规定是因仪器而异的,下面以型号为BP211D,精度为0.01mg赛多利斯电子天平为例加以说明。赛多利斯串行通信规定[1]赛多利斯天平的输入输出格式
(1)输出字符串格式
赛多利斯电子天平输出格式分:无ID码数据输出、特殊符号输出和带ID码输出三种:
①无ID码数据输出
如表1所示,赛多利斯天平输出的数据由16个字符组成。
第1个字符表示数值的正负。当所称的物体较初始值小时,显示‘-’;第2和11字符为空格;第3~10为数据位,没有数据时用空格(×)表示;第12~14是重量单位,如:mg;第15是回车;第16是换 行。如,+0.01mg表示为:
{‘+’,×,×,×,×,×,‘0’,‘.’,‘0‘,
‘0’,‘1’,×,‘m’,‘g’,×, CR , LF };
②特殊符号
赛多利斯天平还可以输出一些特殊的代码表示天平的状态,格式如下:
{×,×,×,×,×,×, A, B ,×,×,×,
×,×,×, CR , LF}
AB可以为: C×表示校正; H×表示超重; L×表示装载不足;———表示稳定输出;
③带ID码数据输出
带ID码输出只是在无ID码前面加6个字符表示ID码,其中ID号是称重值、件数、百分数说明及其它的标记标识。如:净重数值的标识是在数字前加“N”,相对百分数是在前面加“nREf”,相对重量净值的标识是在前面加“Wxx%”。
(2)输入指令格式
①带大写字符或是特殊字符的控制指令,如下所示:
{ESC , K , CR , LF}
其中,ESC:转换字符; K为指令字符。
例如打印数据可以发送指令:
{ESC ,‘P’, CR , LF};
②带小写字符的控制指令,如下所示:
{ESC ,’f’, 0 ,’_’, CR , LF}
表示天平菜单按键『F』功能。
赛多利斯与微机的握手协议
赛多利斯与微机的握手协议有两种:硬件方式及软件方式。硬件方式要求有TXD(发送数据)、RXD(数据接收)和地线之外还要加上RTS(清除发送)与DTR(数据终端准备)的辅助线,才能实现硬件方式的通信,软件的通信方式只需TXD、RXD和地线就可以实现通信。但是,软件工作方式必须采用Xon/Xoff协议[2],Xon实际上是十六进制代码0x11,Xoff的代码是0x13,而对于赛多利斯天平在采用Xon/Xoff协议上有特别的要求,必须在发送命令前发送Xoff,而在传送完命令之后才发送Xon,这样才能准确的接收到数据。所以在单片机中实际发送的命令:
相关文章
- 2022-08-24ASCO双电源开关在地铁项目中的应用
- 2023-05-12便携式激光生化探测仪
- 2023-01-10CD系列飞锯控制系统的应用
- 2024-08-05炮管直线度测量中母线与轴线直线度关系研究
- 2023-10-19一种改进的原子力显微镜摩擦力标定方法
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。