Project

General

Profile

VE问题 #2510

V1414的串口,连续发送数据时候会丢包

Added by PM 洪丰(Jim) over 1 year ago. Updated about 1 year ago.

Status:
Close
Priority:
C级-Normal
Start date:
10/27/2023
Due date:
% Done:

100%

Estimated time:
责任归属:
SW 软件
提报来源:
软件版本:
Android 9
样品编号:
ALL
PCB版本:
PCB V1.2 所有版本都会,与版本无关
异常概率:
测试SOP和PASS的标准:

Description

主板适配客户的打印测试软件APP,出现丢失数据的情况:
参考附图

App的serial设定是 baudrate:115200 parity:none, databit:8, stopbits:1
PC Serial port后通过terminal program确认的方法。26--33--40--47 这些数据就不连续了,说明有丢包的情况.
硬件方案 是 EXAR V1414.


Files

1dd2b23e75b0baf8d37ace1bf705692.png (626 KB) 1dd2b23e75b0baf8d37ace1bf705692.png 客户是用打印机的方式看到的问题 PM 洪丰(Jim), 10/27/2023 03:58 PM Delete
6cc0e0338a721a622893b94adf4bb9c.jpg (205 KB) 6cc0e0338a721a622893b94adf4bb9c.jpg 使用回路测试的方法,PASS PM 洪丰(Jim), 10/27/2023 03:58 PM Delete
df6be992b8dfb11dda25fc75d748ad2.png (26.4 KB) df6be992b8dfb11dda25fc75d748ad2.png PC Serial port后通过terminal program确认的方法,26--33--40--47 PM 洪丰(Jim), 10/27/2023 03:58 PM Delete
230955dd7e11f30f4f13d13a64d9564.png (48.1 KB) 230955dd7e11f30f4f13d13a64d9564.png PC Serial port后通过terminal program确认的方法,开始是pass的 PM 洪丰(Jim), 10/27/2023 03:59 PM Delete
b99e2b68d5debe8d9d02058075d79ae4.mp4 (957 KB) b99e2b68d5debe8d9d02058075d79ae4.mp4 现场用示波器可以看到窗口在不停的发数据 PM 洪丰(Jim), 10/27/2023 05:28 PM Delete
fcf6e2112b879ca8c69d375191931d94.mp4 (4.93 MB) fcf6e2112b879ca8c69d375191931d94.mp4 大致的测试现场效果图 PM 洪丰(Jim), 10/27/2023 05:28 PM Delete
7d632da1b446c503e2b590679958b44.jpg (215 KB) 7d632da1b446c503e2b590679958b44.jpg 主板的DTR , 在工作的瞬间 PM 洪丰(Jim), 11/01/2023 10:09 PM Delete
45318f4ecb9d87604b6958b38099580.jpg (222 KB) 45318f4ecb9d87604b6958b38099580.jpg 主板的CTS , 在工作的瞬间 PM 洪丰(Jim), 11/01/2023 10:09 PM Delete
d2a10d736bc02d29450ad2308906975.png (37.7 KB) d2a10d736bc02d29450ad2308906975.png 软件的设定 PM 洪丰(Jim), 11/01/2023 10:10 PM Delete
5f5db71b9bc2a19d53dca6ce0dc585e.png (1.79 MB) 5f5db71b9bc2a19d53dca6ce0dc585e.png 测试现场 PM 洪丰(Jim), 11/01/2023 10:10 PM Delete
bcdbe3aab4a51e58eb5f3649e78f9f5.png (32.9 KB) bcdbe3aab4a51e58eb5f3649e78f9f5.png 软件的设定2 PM 洪丰(Jim), 11/01/2023 10:10 PM Delete
20d30f2ccf2b075cc1de44b0982bb78.png (12.6 KB) 20d30f2ccf2b075cc1de44b0982bb78.png 修改的地方 PM 洪丰(Jim), 11/03/2023 03:37 PM Delete
52dc04479f445d2db64e0f515f054b4.png (13.1 KB) 52dc04479f445d2db64e0f515f054b4.png 修改前的打印,应该有49行,但是缺失了后面的 PM 洪丰(Jim), 11/03/2023 03:37 PM Delete
2038f3b3e4f33986abac19bdd108384.png (31.6 KB) 2038f3b3e4f33986abac19bdd108384.png 修改后的打印,OK PM 洪丰(Jim), 11/03/2023 03:37 PM Delete
196b5fbd72629e935625a2da5876f89.png (36.8 KB) 196b5fbd72629e935625a2da5876f89.png nonblock was removed PM 洪丰(Jim), 11/07/2023 02:16 PM Delete
2a523fda7b01800bedc4c50e5a6494c.png (14.9 KB) 2a523fda7b01800bedc4c50e5a6494c.png 方向3 驱动方面 PM 洪丰(Jim), 11/07/2023 02:17 PM Delete
364a508d0eb967e1310d9e34ce7c84d.png (41.6 KB) 364a508d0eb967e1310d9e34ce7c84d.png 方向3 驱动方面 PM 洪丰(Jim), 11/07/2023 02:17 PM Delete
f07f36120c9ae353612efc7150644e1.png (5.59 KB) f07f36120c9ae353612efc7150644e1.png 这里看起来就像是丢出发送数据的信息 PM 洪丰(Jim), 11/07/2023 02:17 PM Delete
8e94b9f548e63c546ef6b6135c953ff.png (29.3 KB) 8e94b9f548e63c546ef6b6135c953ff.png CP2102, USB to Uart ,无此现象。测试OK PM 洪丰(Jim), 11/10/2023 03:23 PM Delete
CP2108-Driver-参考.rar (246 KB) CP2108-Driver-参考.rar PM 洪丰(Jim), 11/10/2023 03:49 PM Delete
09c8c3593cc805ac4a9714e04b493ef.png (10.1 KB) 09c8c3593cc805ac4a9714e04b493ef.png CH9104也不行,数据丢失比V1414更严重 PM 洪丰(Jim), 11/11/2023 12:15 PM Delete
017ace232fbf63df5a5a26971d3165d.png (16.8 KB) 017ace232fbf63df5a5a26971d3165d.png 用这个驱动也会丢失数据 PM 洪丰(Jim), 11/13/2023 11:34 AM Delete
ch343ser_linux-main_20231111.zip (104 KB) ch343ser_linux-main_20231111.zip 等晚会儿我发个debug版驱动,监控下。 PM 洪丰(Jim), 11/13/2023 11:34 AM Delete
ch343.c (47.3 KB) ch343.c PM 洪丰(Jim), 11/13/2023 11:34 AM Delete
30bbf55c9ab625190b983622d958acf.png (9.64 KB) 30bbf55c9ab625190b983622d958acf.png 驱动是生效的。节点名我们有修改,把原来ttyCH343USB*改成了ttyUSB* PM 洪丰(Jim), 11/13/2023 11:34 AM Delete

Add

Subtasks


Add

Related issues

#2

Updated by PM 洪丰(Jim) over 1 year ago

  • Project changed from SHC-R3399 Android9 to 000---公开Bug
  • Priority changed from B级-Important to C级-Normal

Updated by PM 洪丰(Jim) over 1 year ago

FAE exar zc周翀:
那要看看是发还是收出来的问题

红枫:
你们从流量控制的角度看,没有遇到过这种问题吗?

FAE exar zc周翀:
有可能,如果你的数据量大,还没收完,还在发,就会丢包。要解决这个问题最好的办法就是加硬件流控

红枫:
我们硬件上有做,不知道软件上有没有打开

FAE exar zc周翀:
测试一下波形就知道了

红枫:
测试CTS, DTS/ 还是测试DTR DSR ?

FAE exar zc周翀:
一般是cts和rts

Updated by PM 洪丰(Jim) over 1 year ago

- Serial port test data丢失的问题 ,客户不认可
客户无法接受贵司评估的增加Delay命令(usleep)来解决的方案。因为控制Serial Port的program(app)不是客户的,而是下游的客户进行的。因为无法针对所有客户的program增加Delay方案实际上不可实施下去的。Serial Port作为POS的最基本的、很重要的Interface,POS的主要周边设备都会接到这个port上。因此Data丢失问题必须要解决。

Updated by PM 洪丰(Jim) over 1 year ago

目前需要有COM口 apk开发经验的工程师,对上述进行一个判定

Updated by PM 洪丰(Jim) over 1 year ago

锐宝PM洪丰 锐宝ARM软件经理周锐箭 
关于Serial data损失问题,COM5是正常,只是USB to Serial的才会有问题。
是不是要修改USB to Serial 驱动?

客户反馈一次传送很多data时候没问题,而是把很多data一条一条去传送的时候才会有data丢失问题。
(比如 1传送很多data .. 2传送很多data .. 3传送很多data.. 这种方式才会有问题)

所以客户意思不是apk的问题

Updated by PM 洪丰(Jim) over 1 year ago

收到。
1 COM5 是CPU的, 是一个简易信号。其他COM 是USB to Serial的, 是全信号。
COM5这个是新的反馈,我们要搭配APK , 反复再测一下 . 这个要做线。

2 客户意思不是apk的问题, 从软件角度看,
writer 1次,数据可以很多,没有问题,
但分成多次write,快速循环,就有数据丢失。
我们感觉这种方式需要做控制,做延迟sleep。

我们先确认一下1

#10

Updated by PM 洪丰(Jim) over 1 year ago

  • Subject changed from 串口口连续发送数据时候会丢包 to V1414的串口,连续发送数据时候会丢包

Updated by PM 洪丰(Jim) over 1 year ago

方向2
Apk 在JNI 文件里, nonblock was removed.

这样也是可以解决问题的

Updated by PM 洪丰(Jim) over 1 year ago

方向3 驱动方面

这个在串口发数据的时候,让他们跟一下驱动的debug信息,找到准确的发送数据函数,在哪里判断是否发送完毕,发送完毕后加点延时。

Updated by PM 洪丰(Jim) over 1 year ago

电话聊一下吧,看看原因在哪?tx的处理流程是不需要加延时,如果按照你们的现象看,就是对方没处理完数据,让tx晚点发咯

Updated by PM 洪丰(Jim) over 1 year ago

当前总结一下:

APK 数据量比较大, (连续发送49行数据)
用PC的串口终端看到,数据少了

APK可以通过延时,或者取消 nonblock的方式,解决这个问题

但客户不认可,
客户需要从驱动角度解决。

Updated by PM 洪丰(Jim) over 1 year ago

使用exar 参考板,

1 同样存在问题,丢失数据。 和主板上是一样的情况
2 公版参考版的 RS232芯片 全部NG , 使用TTL测试的。

Updated by PM 洪丰(Jim) over 1 year ago

CP2102, USB to Uart ,无此现象。测试OK

Updated by PM 洪丰(Jim) over 1 year ago

如果友商的方案没有问题,那是不是exar的驱动还是要完善,
比如解决或者实现 nonblock?

Updated by PM 洪丰(Jim) over 1 year ago

CH9104也不行,数据丢失比之前V1414更严重,
APK去掉NO_NONBLOCK就不丢失数据, 也能OK.
看起来两家都有一样的问题. 目前只只有CP2102是可以的.

Updated by PM 洪丰(Jim) over 1 year ago

这个驱动并不是为了解决问题,只是为了监控一下

测试场景是Android 通过ch9104发给window上的PC

50 条 0到49行 ============ 这样的数据

#22

Updated by Anonymous about 1 year ago

  • Status changed from Open to Close
  • % Done changed from 20 to 100

Also available in: Atom PDF