迪文科技论坛

 找回密码
 立即注册
搜索
查看: 349|回复: 6

【提问】UART2串口指令字符及帧间隔问题

[复制链接]

27

主题

70

回帖

328

积分

中级会员

Rank: 3Rank: 3

积分
328
发表于 2022-3-8 08:36:09 | 显示全部楼层 |阅读模式
产品型号:DMG80480C070_04WTC
问题描述:单片机指令读写迪文屏(UART2),迪文屏返回应答指令时,帧中每个字符的时间间隔是多少?帧与帧之间的时间间隔是否有要求?
详细描述:以Modbus协议为例,协议规定了字符间隔超过1.5个字符时间则丢弃当前帧,直到等待超时3.5个字符时间(即帧间隔)开始读取下一帧。那么单片机与迪文屏UART2通信,是否有类似的规则呢?目前从手册上看,都是简单的“一发一收”
回复

使用道具 举报

0

主题

1276

回帖

5288

积分

论坛元老

Rank: 8Rank: 8

积分
5288
发表于 2022-3-8 09:13:16 | 显示全部楼层
一般来说两帧之间不低于20 毫秒就能稳定通信
回复

使用道具 举报

27

主题

70

回帖

328

积分

中级会员

Rank: 3Rank: 3

积分
328
 楼主| 发表于 2022-3-8 09:21:11 | 显示全部楼层
integer_32 发表于 2022-3-8 09:13
一般来说两帧之间不低于20 毫秒就能稳定通信

也就是说, 发送命令后,超过20毫秒未得到回复即按超时处理,20毫秒内收到了字符,那么再等待超过20毫秒即可认为收完一帧...
回复

使用道具 举报

27

主题

70

回帖

328

积分

中级会员

Rank: 3Rank: 3

积分
328
 楼主| 发表于 2022-3-8 09:27:26 | 显示全部楼层
integer_32 发表于 2022-3-8 09:13
一般来说两帧之间不低于20 毫秒就能稳定通信

其实我想满足两个需求:
1. 向迪文屏发送指令,帧内的字符间隔有怎样需求?即按如何规则发送迪文屏才能正常接收?
2. 从迪文屏返回指令,帧内的字符间隔是多少时间?我如何判定结束以及如何判定超时呢?
回复

使用道具 举报

0

主题

1276

回帖

5288

积分

论坛元老

Rank: 8Rank: 8

积分
5288
发表于 2022-3-8 09:58:59 | 显示全部楼层
菜问 发表于 2022-3-8 09:27
其实我想满足两个需求:
1. 向迪文屏发送指令,帧内的字符间隔有怎样需求?即按如何规则发送迪文屏才能正 ...

1.帧内两字节的间隔时间 只有一个起始位和停止位,时间只跟波特率有关, 比如这里115200, 一个位8.6微秒左右,所以这里是17微秒左右, 不过一般不用管这个时间, 单片机会UART单元自行发送处理不必再计算这个时间。
2.我说的两帧之间的间隔是指第一帧发送完毕之后 间隔20 毫秒左右再发送第二帧,有时候一帧数据比较长可能第一帧发送的时间就会超过20 毫秒, 不过单纯用时间判断可能不太准确。一般单片机判断一帧数据是否收完,可以在单片机的UART中断中设置定时器中断 定时器中断做倒计时,一个字节收完后开启定时器 ,后面再进UART中断重置这个定时器,如果后面没有数据了会触发定时器中断设置一个标志主循环中 判断这个标志, 就可以知道一帧是否收完 。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

27

主题

70

回帖

328

积分

中级会员

Rank: 3Rank: 3

积分
328
 楼主| 发表于 2022-3-8 11:44:29 | 显示全部楼层
integer_32 发表于 2022-3-8 09:58
1.帧内两字节的间隔时间 只有一个起始位和停止位,时间只跟波特率有关, 比如这里115200, 一个位8.6微秒 ...

好的,谢谢,您用的什么软件模拟的。

目前对UART2通讯,感觉少了一种“确定”机制,因为就算迪文屏可以保证通讯无误,也避免不了环境干扰,所以每次读写后要判断Ack是否超时、收到的帧是否正确/完整等等。

现在的处理方式是给帧加上CRC,每次发送读写指令后超过自定义超时时间未收到字符认定为超时,然后再决定是否重发,未超时的等待超过20ms认为收完一帧进行分析,帧长有误和CRC校验错误等认定为帧异常,然后重新开始收发逻辑... ...
回复

使用道具 举报

0

主题

1276

回帖

5288

积分

论坛元老

Rank: 8Rank: 8

积分
5288
发表于 2022-3-8 13:03:47 | 显示全部楼层
菜问 发表于 2022-3-8 11:44
好的,谢谢,您用的什么软件模拟的。

目前对UART2通讯,感觉少了一种“确定”机制,因为就算迪文屏可以 ...

您好, 用的是逻辑分析仪的上位机,连接UART的收发线测试的数据。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-22 08:15 , Processed in 0.086736 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表