SPS数据传输完整性

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

你好
我正在使用SPS示例来通过UART将数据从串行设备传送到DA14580,并通过BLE到另一个DA14580(带主机_SPS),然后通过UART到PC中的终端
我有一个数据完整性问题-这是我在终端中得到的(它只是流的一小部分,但交换是沿着数据流积累的):
77 00 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
7 . ef f1 03 00 84 03 b2 07
7C 00 F1 03 00 84 03 B287

正如你可以看到的那样,我在一些地理位置中得到了一个char掉期
随着“8”(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-04 18:11
你好

你好
我也在DSPS iOS / Android应用程序中有这个问题
此外,还有块的数据根本没有转移(无论我使用的电路板,murata或对话框)
我看到它有问题的问题是“00”。
有时它不会转移值“00”,有时它不会转移2“00”之间的数据
E.G“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,

我们至少在对话的套件上观察到数据完整性的任何问题,这是由于错误的晶体值发生的唯一时机。您是否尝试过DSP应用程序上的任何其他配置,如拆卸睡眠或将HW更改为SW流量控制。我刚刚在Android上测试了Per Patern和DSPS应用程序,并用新的下载FW所有数据似乎转移OK。DSP设备上的配置在延长睡眠和HW流控制中,具有适当的Pro套件的硬件修改。

由于MT_dialog

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

你好
我试图拆除睡眠,但它是一样的
如何禁用睡眠?
现在我使用默认的sps_device并在da14580对话框evtk -b上刻录它(所以晶体值应该是ok的)
我没有做任何改变的代码和现象,我得到的是相同的,一些特定的字符正在交换
例如
0A 0D 36 00 F0 55 00 00 90 DC 01 00 30 63 03 00 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0A 0D 37 00 D8 59 00 00 00 78 E0 01 00 18 67 83 00 DC 05 DC 05 DC 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0a 0d 38 00 c0 5d 00 00 60 e4 01 00 00 6b 03 00 dc 05 dc 05 dc 05 dc 05 00 00 00 00 00 00 00 00 00 00 00 00 00 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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 000 00 18 f0 01 00 b8 76 03 00 dc 05 dc 05 dc 05 00 00 00 00 00 00 00 00 00 00 ff 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-semicondiondiondimicon.com/dsps-hardware-flow-control-0.

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

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

roinovi,

您提到的帖子中的客户正在使用外部处理器通过DSP发送数据,当使用外部Proccelsor时,事情更复杂,并且截断他遇到的截断可能是由于他自己的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在115K2中发送串行数据,因此对话框中缓冲区的时刻通过BLE数据发送完整信息
我认为当对话框在接收串行数据时通过BLE传输故障时,会发生故障。
我试图将串行数据发送到对话框每秒,然后通过BLE发送到Murata,没有故障,为什么我认为它有问题通过UART接收数据并同时通过BLE发送数据
你知道这么小故障吗?
此外,我想只有在达到某个字符串时才通过BLE发送数据,我尝试修改

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

如果(tx_busy_flag == 0 && ble_flags。txAllowed = = TRUE)
{
read_amount = app_item_count(&uarttoble_buffer);

if((*(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)缓冲区 - > data_ptr + buffer-> readIdx
/ / {
// rounds_waiting = 0;
app_init_ble_tx();
/ /}
}

}
}
但它不起作用,任何想法吗?
TNX.

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

roinovi,

由于您正在使用外部MCU发送数据,因此MCU与580之间的UART时钟之间可能存在漂移,我认为您已经尝试降低波特率,问题仍然存在。您能用MCU和580之间的逻辑分析仪发送给我们捕获,故障交易有一个外观。还当您从Android发送并通过580或其他方式接收MCU上的数据时,您正在遇到问题?据我所知,我们在两侧转移数据时我们没有观察到任何毛刺。此外,据我所知,您可以对DSPS应用程序进行一些更改,您是否可以共享您发送给设备的更改和数据模式?

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

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

如果(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)
{
循环_waiting = 0;
app_init_ble_tx();
}
}
}
}

由于MT_dialog

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

你好
1)我想看看问题是否在UART发送或BLE中,因此我将MCU的TX连接到EVKIT中的引脚4,我看到我的数据(来自MCU)通过UART完美地传输到EVKIT和终端,所以我不认为问题在于UART。
这是一块数据块,我通过UART到580周期性地发送每秒每秒发送给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连接到580上的引脚4并在终端中收听到580 UART COM,数据完全转移。

2)我的设置是:我的MCU ---- UART >>>对话框580 --- BLE >>> Murata 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
#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 0485 06.87 08.810 10 12 13 14 15 16 17 18 19 1b9C 1D.9E 1f 20 21 a2 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2fB0 31 32 33 36 36 37 38 39 39 3A 3C 3D 3E 3F C0 41 42 43 45 46 47 48 C9 4B 4B 4B 4C 4D 4E CF 50 51 52 53 54 50 5A 5B 5C 5C 5D 5E 5F 60 61(5C)52 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 9C 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AF B0 B1 B2 B3 B4 B5 B6 B2 B2 BA BB BC BD是BF C0 C1 C2 C3 C4 C5C6 C7 C8 C9 Ca CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D2D9DE DB DC DD DF E5 E2 E2 E3 E4 E5 E6 E2 E8 E2 EE FF F0 F0 F2 F2 F4 F4 F5 F4 F5 F5 F5 F7F8 F9 FA FB FC FD FE FF 00 01 02 03 04 85 01 02 0D 02 0A 0B 0C 0D 0E 0F 10 11 12 9 9 9 9 9 9 9F 20 21 22 23 22 23 22 23 22 23 22 23 22 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 63 68 69 6A 6B 6C ED 6E 60 6F 70 71 F2 73 79 7A 7A 7B 7B 7C 7D 7A 7B 7B 7C 7D图7E 7F 80 81 82 83 84 8A 8B 8C 8D 8E 8E 8E 8E 8E93 94 94 94 94 94 94 94 9C 9C 94 9C 9C 9S 9C 9S 9C 9S 9C 9C 9S 9CS A2 A1 A2 A2 A2 A4 A4 A5 A6 A8 A8 A9 AA AB AC AD AE AFB0 B1 B2 B3 B4 B5 B6 B7 B8 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 D8 DF E0 E1E2 E3 E4 E5 E6 E2 E2 EF F0 F1 F2 F3 F4 F5 FC FD FE FF 00 01 02 03 84 05 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开始)的数字,就像你可以看到有毛刺一样
在二进制中,毛刺处于第一个比特:而不是05我获得85,其中二进制是:10000101而不是00000101
相同约1c和9c:10011100而不是00011100等

我怀疑这种情况发生在BLE和UART同时传输时,它可以吗?
我试图只在没有UART发送时发送,所以我做到了:

if((uart_flags.txallowed == true)

但还有毛刺,

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

如果(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)
{
循环_waiting = 0;
app_init_ble_tx();
}
}
}
}

有用

TNX.

Bendaa.
离线
最后看到:3年4个月前
加入:2014-01-12 15:29
嗨MT,

嗨MT,

我是代表投资回报率与以色列的对话情节联系。
我们真的需要您的帮助来解决保持挖掘的问题。
ROI仍然在他接收到BLE界面上的数据上获取故障。

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

以下几点需要考虑:
单片机,EFM32
使用内部MCU振荡器。
当通过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-04 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-04 18:11
你好

你好
我试图将我的McU的uart率降低到38400,并且数据一直传输(uart ble uart)
在115200年,翻转位发生的原因是什么?
有什么可以做的吗?

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

roinovi,

我虽然你试图降低波特率,但在这种情况下,事件仍然发生了原因,这就是为什么我想要检查MCU的数据率,是580 UART无法达到115200率,580的实际波特率约为111111.111,无法跟上您的外部MCU,因此每一次和一段时间延迟数据,您可以获得此翻转位事件。

由于MT_dialog

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

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

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

roinovi,

在所有58x系列中,这是115200标准可以实现的波特率。正如我在之前的文章中提到的,580可以达到的数据速率大约是111.111速率。请检查uart_sp .h,以便看一下如何计算580上的确切波特率。

由于MT_dialog

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

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

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

roinovi,

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

由于MT_dialog