SPS数据传输完整性

20个帖子/ 0个新帖子
最后发表
roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日18:11
SPS数据传输完整性

你好
我正在通过UART到DA14580和经由BLE使用SPS例如将传送数据从串行设备到另一个DA14580(与host_sps),然后通过UART在PC终端
我有一个数据完整性问题-这是我在终端中得到的(它只是流的一小部分,但交换是沿着数据流发生的):
77 00 FB F1 03 00 84 03 B2 07
78 80 17 f2 03 00 84 03 b2 07
79 00 FF F183 00 84 03 b2 07
FA 00 11 f2 03 00 84 03 b2 07
7b 00 ef f1 03 00 84 03 b2 07
7C 00 F1 03 00 84 03 B287

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

tnx

设备:
MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

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

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日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个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

我们还没有观察到任何数据完整性的问题,至少在对话框的套件上,唯一类似的情况会发生是由于错误的水晶值。您是否尝试过在DSPS应用程序上的其他配置,如删除睡眠或将HW更改为SW流量控制。我刚刚测试了你的模式之间的专业板和DSPS应用程序在android上与一个新下载的fw所有的数据似乎都在传输ok。DSPS设备上的配置开启了扩展睡眠,HW流量控制与pro套件硬件的适当修改。

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日18:11
你好

你好
我试图拆除睡眠,但它是一样的
如何禁用睡眠entierly?
现在我使用默认的sps_device,并将其刻录到da14580对话框evtk -b上(因此水晶值应该是正确的)
我没有在代码中做任何改变,我得到的现象是一样的,一些特定的字符被交换

0 0 d 36 00 F0 55 00 00 90直流30 63 03 01 00 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 00 FE 00 00 00 FC
0D 0A 37 00 D8 59 00 00 78 E0 01 00 18 67 83 00 05 DC 05 DC DC 05 00 00 00 00 00 00 00 00 00 00 00 FE 00 00 00 FC
0 0 d 38 00 C0 5 d 60 E4 01 00 00 00 00 6 b 03 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 00 FF 00 01 80 FF
80 d 39 61 00 00 00 A8 48 E8 01 00 E8 6 e 03 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 00 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
0 0 d 3 b 00 78 69 00 00 18 F0 1 00 B8 76 03 00直流05直流05直流05 00 00 00 00 00 00 00 00 00 00 00 FF 00 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月4日18:11
你好

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

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

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

在你提到的是使用外部处理器通过DSP来发送数据后的客户,使用外部proccessor时,事情就比较复杂,截断他正经历可能对自己proccessor或程序故障,是由于我们可以“t检验这一点。

除此之外,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月4日18:11
我的设立是这个

我的设立是这个
我的设备(MCU)正在通过UART(引脚4,7)将数据传送到对话框14580 EVKIT,14580正在将该数据传送到连接到PC(终端)的Murata P2ML3656 EVKIT
在对话框 - > sps_device,对村田 - > sps_host
我的设备正在发送串行数据115k2持续,所以在对话框中的缓冲区得到充分的时刻,它通过ble发送数据
我认为,小故障正在发生时,对话框可以通过BLE transfering而recieving串行数据。
我试图将串行数据发送到对话框每秒,然后通过BLE发送到Murata,没有故障,为什么我认为它有问题通过UART接收数据并同时通过BLE发送数据
你知道这么小故障吗?
此外,我想通过BLE只有当我达到一定的字符串来发送数据,我想修改

空隙app_ble_pull(无效)
{
静态uint8_t rounds_waiting = 0;
INT read_amount;

If (tx_busy_flag == 0 && bl_flags . txt = 0;txAllowed = = TRUE)
{
read_amount = app_item_count (&uarttoble_buffer);

如果((*(uarttoble_buffer.data_ptr + uarttoble_buffer.readIdx))== 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-> readadidx . txt . txt
/ / {
// round ds_waiting = 0;
app_init_ble_tx();
/ /}
}

}
}
但它不工作,任何想法?
tnx

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

由于您使用的是外部MCU发送数据有可能是和你的MCU之间的UART时钟的580我想你已经尝试过媒体链接,以降低您的波特率和问题仍然存在之间的漂移。您能否给我们一个捕获你的MCU和580之间的逻辑分析仪故障的事务来看看。还当您从android发送数据并通过580接收MCU上的数据时,您正在经历这个问题吗?到目前为止,我们还没有观察到在双方传输数据时出现任何小故障。另外,据我所知,你对DSPS应用程序做了一些改变,你能分享这些改变和你发送到你的设备的数据模式吗?

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

空隙app_ble_pull(无效)
{
静态uint8_t rounds_waiting = 0;
INT read_amount;

If (tx_busy_flag == 0 && bl_flags . txt = 0;txAllowed = = TRUE)
{
If ((read_amount = app_item_count(&uarttoble_buffer)) > 0 && *(uarttoble_buffer. aspx))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月4日18:11
你好

你好
1)我想看看问题是uart则或祝福我连接单片机的tx evkit销4,我看到我的数据(单片机)转让完全通过uart evkit和终端所以我不认为问题是uart。
这是我通过uart从我的MCU每秒钟定期发送到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 7374 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引脚4 580和侦听终端580 uart com,数据是完美的传输。

2)我的设置是:我的MCU ---- UART >>>对话框580 --- BLE >>>村田p2ml3656 --- UART >>> PC(终端)
i have also saw the glitches when i recieved the data to the dsps app on ios and android (so i dont think its the changes i ve made in the sps_device which were only in the app_ble_pull in the ble transmition initiator if, e.g if((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
#定义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 0485 0687 08.89 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b9C 1 d9E 1f 20 21 a2 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2fB0 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F C0 41 42 43 44 45 46 47 48 C9 4A 4B 4C 4D 4E CF 50 51 52 53 54 55 56 D7 58 59 5A 5B 5C 5D 5E 5F 60 6162 63 64 65 66 67 68 69 6A 6B 6C 6D EE 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 9394 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 C5C6 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 F7F8 F9 FA FB FC FD FE FF 00 01 02 03 04 85 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 94 15 16 17 18 19 9A 1B 1C 1D 1E 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 5BDC 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 7D7E 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 AFB0 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 E1E2 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 1D9E 1f 20 21 22 23 24 25 26一个7 28 29日2 2 b 2 c 2 d 2 e 2 f 30 31 32 33 34 B5 36 B7 38 39 3 3 3 b c 3 d 3 e 3 f 40 41 42 43 44 45 46 47 48 49 4 CB 4 c d e 4 f 50 51 52 53 54 D5 56 57 58 59 5 5 5 b c 5 d 5 e 5 f 60 E1 62 63 64 65 66 67 68 6 E9 6 b 6 c 6 d 6 e 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 b9 c 9 d 9 e 9 f A0 A1 A2 A3 A4 A5 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 05 86 07年08年09年0 0 0 0 b c d e 0 f 101112 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 A5 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 B8 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 C6 47 48 49 4A 4B 4C 4D CE 4F 50 51 52 53 54 55 56 57 58 59 DA 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 F1 72 73 74 75 76 77 78 79 7A FB 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 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开始),正如你所看到的,有一些小故障
二进制,毛刺是第一位e.g:而不是05,我得到85二进制为:10000101代替00000101
同样关于1C和9C:10011100代替00011100等

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

如果(uart_flags。txAllowed = = TRUE)

但还有毛刺,

3)关于通过UART收集数据,直到收到特定的Chareer然后通过UART发送(你是正确的,这就是我想要做的)
我想你sugested什么:
空隙app_ble_pull(无效)
{
静态uint8_t rounds_waiting = 0;
INT read_amount;

If (tx_busy_flag == 0 && bl_flags . txt = 0;txAllowed = = TRUE)
{
If ((read_amount = app_item_count(&uarttoble_buffer)) > 0 && *(uarttoble_buffer. aspx))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
嗨太,

嗨太,

我代表的投资回报率在以色列对话框当地分销商与您联系。
我们真的需要您的帮助来解决保持挖掘的问题。
罗伊通过BLE接口接收到的数据仍然有故障。

他们将问题隔离到以下场景:
MCU——>(UART)——>DA14580DEVKT-B——>(BLE)——>Murata modue using Dialog
Roi描述了上述沟通中的小故障。

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

如果你能想出一个解决办法,请告诉我。

提前致谢

TRITECH

附件:
MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
嗨roinovi Bendaa,

嗨roinovi Bendaa,

我们正在解决你的问题,想办法解决。当你说从超级终端到超级终端的测试时,你的意思是从pc到pc的连接不会发生事故?对于BLE传输期间的数据更改,这是不可能的,除了UART或代码中的逻辑错误,我看不到任何其他可能。我们希望您能提供一个逻辑分析仪或一个示波器捕获的数据磁带580单片机和单片机580和0 xaa或0 x55为了检查UART在单片机的时钟也我们想提供一个获取与错误情况下为了弄明白。

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日18:11
是的,我的意思是从PC到PC

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

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

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11: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月4日18:11
你好

你好
我试图降低我的McU的uart率到38400和数据传输ok的所有方式(uart ble uart)
在115200发生翻转位的原因是什么?
有什么可以做的吗?

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

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

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日18:11
还有其他模块吗

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

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

在所有的58x系列中,这是波特率,它可以达到115200标准。正如我在之前的帖子中提到的,580可以达到的数据率大约是111.111率。请检查uart_sps.h,以便看看如何计算580的准确波特率。

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015年11月4日18:11
你好

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

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 11:34
roinovi,

roinovi,

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

由于MT_dialog