SPS数据传输完整性

20个帖子/ 0新
最后一篇
roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
SPS数据传输完整性

你好
我使用sps的例子从串行设备通过uart到DA14580和通过ble到另一个DA14580(与host_sps),然后通过uart到PC中的终端传输数据
我正在进行数据完整性问题 - 这就是我在终端中获得的(它只是流的一小部分,但掉掉沿着数据流突出):
7 00 fb f1 3 00 8 03 b2 7
78 80 17 f2 03 00 84 03 b2 07
79 00 ff f18.3 00 84 03 B2 07
FA 00 11 F2 03 00 84 03 B2 07
7 . ef f1 03 00 84 03 b2 07
7C 00 F1 03 00 84 03 B28.7.

正如你可以看到的那样,我在一些地理位置中得到了一个char掉期
有一些交换,“0”被交换为“8”(在binari中只是一位-“0”:00110.000, "8": 00111000)
但是有些字符是完全不同的(“7”和“F”00110111,01000110)
我甚至试图将转移率降低到100kbit / s,但它仍然在发生
会有什么问题呢?

tnx

设备:
mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

我能想到这一切可能发生的唯一场合是由于晶体未经限制的水晶。晶体修剪值由软件提供,并且是大多数时间适用于所有晶体的通用价值。虽然这应该发生在UART字节传输的结束位。使用DSPS Android或iOS应用程序时,您是否遇到同样的问题?除了我们没有观察到这样的东西。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
我也在DSPS iOS / Android应用程序中有这个问题
此外,还有块的数据根本没有转移(无论我使用的电路板,murata或对话框)
我看到它有问题的数据是“00”。
有时它不传输值"00"有时它不传输2 "00"之间的数据
例如“13 23 54 67 54 00 Ed h5 3e 67 00 8g AD dd”
它不会转移“00 Ed h5 3e 67 00”
所以它看起来像这个“13 23 54 67 54 8G AD DD”
它可以是什么?
也许是发送代码中的东西?
这确实是一个问题,因为如果我的数据没有正确传输,我不能使用这个ble模块
tnx

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

我们还没有发现任何数据完整性的问题,至少在对话套件中是这样,出现这种情况的唯一原因是错误的水晶值。您是否尝试过任何其他配置的DSPS应用程序,如删除睡眠或改变HW到SW流量控制。我刚刚用一个新下载的fw测试了你在pro板和DSPS应用程序之间的模式,所有的数据似乎都在传输。在DSPS设备上的配置是延长睡眠和HW流量控制与适当的修改硬件pro工具包。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
我试图拆除睡眠,但它是一样的
我如何完全禁用睡眠?
现在我拍摄了默认的SPS_DEVICE并将其刻录到DA14580对话框EVKT-B(因此Crystal Value应该是OK)
我没有做任何改变的代码和现象,我得到的现象是一样的,一些具体的字符正在得到交换

0a 0d 36 00 f0 55 00 00 90 dc 01 00 30 63 03 00 dc 05 dc 05 dc 05 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 fe 000 000 000 000 fc
0a 0d 37 00 d8 59 00 00 78 e0 01 00 18 67 83 00 dc 05 dc 05 dc 05 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 fe 000 000 000 000 000 fc
0a 0d 38 00 c0 5d 00 00 60 e4 01 00 00 6b 03 00 dc 05 dc 05 dc 05 000 000 000 000 000 000 000 000 000 000 000 ff 00 01 80 ff
80d 39 00 a8 61 00 00 48 e8 01 00 e8 6e 03 00 dc 05 dc 05 dc 05 000 000 000 000 000 000 000 000 000 000 000 000 000 ff 00 01 80 ff
0a 0d 3a 00 90 65 00 00 30 EC 01 00 D0 72 03 00 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 80 FF 00 01 00 FF
0A 0D 3B 00 78 69 00 00 18 F0 01 00 B8 76 03 05 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 FF

这个0->8交换偶尔会发生

这也是如此(应该是所有21岁,但你可以看到“一种而不是2)
21“一种1 21 21 21 21 21 21 21 21 21 21 21 21“一种1 21 21 21 21 21 21 21 21 21 21 21 21 21 21“一种1 21“一种1 21.

可能有更多,但我不知道,所以你知道为什么这是一个大问题
可能是因为我正在通过uart接收数据,同时通过ble发送数据?

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
我在论坛中看到另一个像我一样的帖子,数据没有转移OK:
http://support.dialog-semiconductor.com/dsps-hardware-flow-control-0

你也没有给他一个答案
你能想到一些我可以检查解决这个问题吗?
谢谢你

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

后你提到的客户是使用外部通过dsp处理器发送数据,当使用一个外部proccessor事情更复杂和截断他经历可能是由于一个错误自己proccessor或程序,我们不能测试。

除此之外,DSP应该在盒子中工作,而不会在用作演示时修改任何内容。关于您的问题,我无法用iOS和Android或从PC复制它到PC连接,并且我使用了基本和Pro Dev套件,并使用您所示的系列串联发送数据。如果我缺少某些东西(Dev Kits,SW设置,发送数据),请您可以分享测试台的确切设置吗?除此之外,由于您使用的基本套件,并且您使用的是外部FTDI,请在导致您有任何问题的情况下尝试其他FTDI?另请确保在终端中使用相应的设置( - DSP不使用任何特殊设置,而是确保 - HW / SW流量控制,无论您在项目中设置,都在终端选项中设置了,8bit数据 - 无奇偶校验/ 1停止位)。同样在几天内,SDK5上的DSP将被释放,您可以尝试更新版本并检查问题是否仍然存在。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
我的设计是这样的

我的设计是这样的
我的设备(MCU)正在通过UART(引脚4,7)将数据传送到对话框14580 EVKIT,14580正在将该数据传送到连接到PC(终端)的Murata P2ML3656 EVKIT
在对话框-> sps_device上,在murata -> sps_host上
我的设备在115k2连续发送串行数据,所以当对话框中的缓冲区满时,它通过ble发送数据
我认为故障发生时,对话是通过ble传输,同时接收串行数据。
我试图将串行数据发送到对话框每秒,然后通过BLE发送到Murata,没有故障,为什么我认为它有问题通过UART接收数据并同时通过BLE发送数据
你知道这么小故障吗?
此外,我想通过ble发送数据仅当我达到某个字符串,我尝试修改

空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;

if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
read_amount = app_item_count (&uarttoble_buffer);

如果((* (uarttoble_buffer。data_ptr + uarttoble_buffer. readiddx)) == 253)
if((*(*(uarttoble_buffer.data_ptr + uarttoble_buffer.readidx + 1))== 170)
{
// if (read_amount >= TX_WAIT_LEVEL || (rounds_waiting++) >= TX_WAIT_ROUNDS) buffer->data_ptr+buffer-> readdx . //
// {
// roundds_waiting = 0;
app_init_ble_tx();
//}
}

}
}
但这行不通,有什么主意吗?
tnx

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

由于您使用外部MCU发送数据,在您的MCU和580之间的UART时钟之间可能会有漂移,我认为您已经尝试降低波特率,问题仍然存在。你能不能在你的MCU和有错误交易的580之间用逻辑分析仪发送一个捕获来让我们看一看。也当你从android发送数据并通过580或其他方式在MCU上接收数据时,你正在经历这个问题?到目前为止,我们还没有观察到任何故障,而传输的数据双方。另外,据我所知,你对DSPS应用程序做了一些更改,你能分享这些更改和发送到你的设备上的数据模式吗?

关于你想要做什么我不太明白,所以我想你想收集数据,直到收到特定的角色,请尝试在DSPS应用程序中使用下面的片段,这应该握住你的流,直到你按下你的流直到你按下“r”“例如字符。

空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;

if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
If ((read_amount = app_item_count(&uarttoble_buffer)) > 0 && *(uarttoble_buffer。data_ptr + uarttoble_buffer.writeIdx-1) == 'r')
{
if(read_amount> = tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
rounds_waiting = 0;
app_init_ble_tx();
}
}
}
}

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
1)我想看看问题是uart则或祝福我连接单片机的tx evkit销4,我看到我的数据(单片机)转让完全通过uart evkit和终端所以我不认为问题是uart。
这是我每秒钟从我的MCU通过uart发送到580的一个数据块:

55 00 01 02年03 04 05 06 07年08年09年0 0 0 b c 0 d e 0 f 10 11 12 13 14 15 16 17 18 19 1 1 1 b c 1 d e 1 f 20 21日22日23日24日25日26日27 28 29日2 2 b 2 c 2 d 2 e 2 f 30 31 32 33 34 35 36 37 38 39 3 3 3 b c 3 d 3 e 3 f 40 41 42 43 44 45 46 47 48 49 4 4 b 4 c d e 4 f 50 51 52 53 54 55 56 57 58 59 5 5 5 b c 5 d 5 e 5 f 60 61 62 63 64 65 66 67 68 69 6 6 b 6 c 6 d 6 e 6 f 70 71 72 737.4 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD AA

以上是从终端捕获,同时连接我的McU的tx到580上的引脚4,并在终端侦听580 uart com,数据是完美的传输。

2)我的设置是:my MCU ---- uart>>> dialog 580——ble>>>murata p2ml3656——uart>>>pc(terminal)
我也看到了问题当我收到数据的dsp应用ios和android(所以我不认为它的变化我在sps_device只在app_ble_pull ble则启动程序,如果如如果((read_amount = app_item_count (&uarttoble_buffer)) > 0 & & * (uarttoble_buffer。data_ptr + uarttoble_buffer.writeIdx-1) == 'r'))

我还改变了缓冲区的大小,因为我需要在UARTTOBLE_BUFFER中保存1536个字节,然后通过BLE发送,以便在接收UART时不发送

#define rx_buffer_item_count(int)1700
#define RX_BUFFER_ITEM_SIZE (uint8_t) 1 //**不改变item_size**
#define RX_BUFFER_HWM (int) 1190 //70%
#define RX_BUFFER_LWM (int) 510 //30%

这是我通过BLE传输它的同时获得数据的方式(此捕获来自终端):

55 00 01 02 03 048.5 068.7 08.8.9 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B9.C 1 d9.E 1F 20 21 A2 23 25 26 27 28 29 29 2B 2C 2D 2D 2D 2C 2D 2C 2D 2D 2D 2D 222FB.35 0 31 32 33 34 36 37 38 39 3 3 3 b c 3 d 3 e 3 f C0 41 42 43 44 45 46 47 48 C9 4 4 b 4 c d e CF 50 51 52 53 54 55 56 D7 58 59 5 5 5 b c 5 d 5 e 5 f 60 61 62 63 64 65 66 67 68 69 6 6 b 6 c 6 d EE 6 f 70 71 72 73 74 75 76 77 78 79 7 7 b 7 c 7 d 7 e 7 f 80 81 82 83 84 85 86 87 88 89 8 8 8 b c 8 d 8 e 8 f 90 91 92 93 94 95 96 97 98 99 9 9 b 9 c 9 d 9 e 9 f A0 A1 A2 A3 A4A5 A6 A7 A8 A9 AA AB AC广告AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9英航BB BC BD是男朋友C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB直流DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02年03 04 85 06 07年08年09年0 0 0 b c 0 d e 0 f 10 11 12 13 94 15 16 17 18 199.一种1B.1C 1 d1E 9F 20 21 22 23 24 A5 26 27 28 29 2A 2B 2C 2D AE 2F 30 31 32 33 34 35 36 B7 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 C9 4A 4B 4C 4D 4E 4F 50 51 52 D3 54 55 56 57 58 59 5A 5B DC 5D 5E 5F 60 61 62 63 64 65 E6 67 68 69 6A 6B 6C ED 6E 6F 70 71 F2 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 01 02 03 84 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D9.E 1f 20 21 22 23 24 25 26一种7 28 29 2a 2b 2c 2d 2e 2-2f 30 3 32 33 34 b5 36 b7 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 40 4c 4d 4d 4e 4e 4f 50 51 52 53 54d5 56 57 58 5859 5A 5B 5C 5D 5E 5F 60 E1 62 63 64 65 66 67 68 E9 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A8B 8C 8D 8E 8F 90 91 92 93 94 99 94 9A 9B 929F A0 A1 A2 A3 A4 A2 A2 A2 A2 A2 A5 A6 A7 A8 A9 AA AB AC AF AF B0 B1 B2 B3 B4 B5 B6 B7 B2 B9 BA BB BCBD是BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4D5 D6 D7 DF e0E1E2E2 E3 E4 E5 E6 E7 E2 E9A EA EB ED EEEF F0 F1 F2 F3 F4 F5 FC FC FD FF FF 00 01 02 03 04 05 86 0C 0D 0EF 10 11 12 1A 1B 1C 1D 1D 1F 2021 22 23 24 A5 26 22 2 29 2 2 29 28 2B 2D 2D 2E 2F 30 3 32 33 34 36 37 B8 39 3a 3b 3c 32 32 3f 40 41 42 44 45c6 47 48 49 4a 4b 4b 4c 4d 4f 50 51 5253 54 55 56 57 58 59DA 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 64 69 6A 6B 6C 6C 6D 6E 6F 70 F1 72 73 7475 76 77 78 79 7A FB 7C 7D 7E 7F 80 81 82 83 89 8A 8A 8B 8C 8D 8E 809191999989999999999998 94 9C 94 9C 94 9C 9S 9C 9C 9S 9C 9S 9C 9S 9C 9S 9S 9E 9S 9C 9E 9S 9C 9E 9S 9E 9S 9E 9S 9S 9C A2 A2 A2 A3 A4 A5 A6A7 A8 A9 AA AB AC AF B0 B1 B2 B3 B4 B5 B6 B7 B3 B9 BA BB BC BD是BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 Ca CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8D9 DA DB DC DD DE DF E0 E2 E2 E3 E4 E5 E2 E2 F2 F4 F5 F6 F2 F8 F9 FA FC FD FE FF 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 92 13 14 15 16 17 18 19 9A 1B 9C 1D 9E 1F A0 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E BF 40 C1 42 43 44 C5 46 C7 48 C9 4A CB 4C 4D 4E 4F 50 51 52 D3 54 55 56 57 58 59 5A DB 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 F9 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 00 81 02 03 04 05 06 07 08 09 8A 0B 8C 0D 0E 0F 10 91 12 93 14 95 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 B3 34 35 36 37 38 39 3A 3B 3C BD 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F D0 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D DE 5F 60 61 62 63 64 65 66 67 68 69 6A 6B EC 6D EE 6F 70 71 72 73 74 F5 76 77 78 79 FA 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD AA

数据应该是按升序排列的数字(从55开始),正如你所看到的,这里有一些小故障
在二进制中,故障是在第一个位,例如:我得到的85在二进制中是:10000101而不是00000101
1C和9C: 10011100,而不是00011100等

我怀疑这是在ble和uart同时传输时发生的,是吗?
我试图只在没有UART发送时发送,所以我做到了:

如果(uart_flags。txAllowed = = TRUE)

但还有毛刺,

3)关于通过UART收集数据,直到收到特定的Chareer然后通过UART发送(你是正确的,这就是我想要做的)
我尝试了你的建议:
空白app_ble_pull(空白)
{
静态uint8_t rounds_waiting = 0;
int read_amount;

if(tx_busy_flag == 0 && ble_flags.txallowed == true)
{
If ((read_amount = app_item_count(&uarttoble_buffer)) > 0 && *(uarttoble_buffer。data_ptr + uarttoble_buffer.writeIdx-1) == 'r')
{
if(read_amount> = tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
rounds_waiting = 0;
app_init_ble_tx();
}
}
}
}

它的工作原理

tnx

Bendaa
离线
最后一次露面:3年4个月前
加入:2014-01-12 15:29
嗨太,

嗨太,

我代表以色列当地的罗伊与你联系。
我们真的需要您的帮助来解决保持挖掘的问题。
Roi通过BLE接口接收到的数据仍然有小故障。

他们将问题分离为以下情景:
MCU - >(UART) - > DA14580DEVKT-B - >(BLE) - > Murata Modue使用对话框
ROI描述了上述通信的故障。

以下几点需要考虑:
MCU - EFM32
采用单片机内部振荡器。
当通过UART测试HyperTerminal以超级疯狂的通用邮件到BLE并返回UART,不会发生故障。

如果你能想到解决办法,请告知。

提前致谢

TRITECH

附件:
mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
嗨roinovi Bendaa,

嗨roinovi Bendaa,

我们正在研究您的问题并尝试解决这个问题。当您说从超级终端到超级终端的测试,您的意思是从PC到PC连接,事件不会发生?对于在BLE期间要更改的数据传输其不太可能并且除了代码中的UART或逻辑错误之外,我不会看到其他任何其他可能。我们希望您提供逻辑分析仪或示波器捕获从580到MCU的数据,并从MCU与0xAA或0x55从MCU转移到580,以检查MCU上UART的时钟我们也想提供捕获错误情况以弄清楚。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
是的,我的意思是从PC到PC

是的,我的意思是从PC到PC,事件并不发生。
此外,正如我之前所说的那样,我想看看问题是否在UART发送中,所以我将MCU的TX连接到EVKIT中的引脚4(也是UART RX),我看到我的数据(来自MCU)是完全通过UART转移到EVKIT和终端。所以它仍然是一个uart问题吗?
它可以是SPS代码吗?也许在缓冲区中管理数据?

当您尝试模拟问题时,尝试每秒传输1536字节(这是我的系统)

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

我们不认为这是代码问题,或者你在代码中所做的改变,我们也不认为缓冲区的改变与此有关。我们认为这是你使用的MCU和580之间的时钟问题。所以,我们希望前面提到的捕获来确保。翻转位听起来更像是一个时间或电气问题,如果是在代码中我认为它应该发生在pc到pc的连接。我已经尝试用你上面提到的精确设置来模拟你的问题(更改了定义rx_buffer_item_count,rx_buffer_item_size,rx_buffer_hwm,设备侧的rx_buffer_lwm并发送了粘贴的确切数据)我没有在两个pc连接上重现问题,我们没有你使用的外部MCU。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
我试图将我的MCU的UART率降低到38400,并一直传输数据(UART BLE UART)
什么可以是115200翻转钻头的原因?
有什么可以做的吗?

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

我虽然你已经试图降低传输速率和事故仍然发生,在这种情况下原因,,这就是为什么我想要检查你的单片机的数据速率,是580 uart不能达到115200年的增长率,580年的实际波特率约为111111.111,并不能跟上你外部的单片机,所以每隔一段时间,数据的采样就会延迟,你就会得到这个翻转位事件。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
是否有另一个模块

是否有另一个可以实现115K UART的模块?
580的最大速率是多少?

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

在所有58倍的家庭中,这是它可以实现115200标准的波特率。正如我之前提到的,在我之前的帖子中,580可以实现的数据速率约为111.111率。请检查UART_SPS.H,以便查看如何计算580上的精确波特率。

谢谢mt_dialog.

roinovi
离线
最后一次露面:3年10个月前
加入:2015-11-04 18:11
你好

你好
如果我将580模块连接到外部水晶32khz,我将能够获得更准确的Baude率吗?
靠近115200的立场?

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 34
roinovi,

roinovi,

不,恐怕这不会改变任何东西,XTAL32仅用于低功耗时钟,而不是用于在UART中生成时钟。

谢谢mt_dialog.