找回密码
 注册
搜索
查看: 8363|回复: 18

[讨论] 蓝牙数据传输高速方案

[复制链接]
发表于 2014-7-4 17:34:02 | 显示全部楼层 |阅读模式
悬赏4RD币已解决
大家好,刚接触蓝牙开发,想做一个蓝牙数据传输的设备,烧录Bluelab中的spp_dev_b发现波特率设置高了以后会出现数据丢失的现象,
1.有何解决办法?
2.我想做到1S传输70K BYTE的数据量蓝牙能否做到?该如何做?如果做不到蓝牙最大传输速度一般是多少呢?
3.SPP协议是不是传输速度比较慢?
4.如果基于HCI开发,是否能够提高传输速度?该如何进行?烧录BLUELAB中的哪个固件?PSTOOL又应该改哪些键值?(现在发HCI指令无反应)
问题很多,本人学习蓝牙中也是感到有些一头雾水,希望走过来得有经验的各位好心人能够帮忙传输一下经验。感激不尽!
全部身家悬赏。

最佳答案

查看完整内容

这种full embeded芯片受限制与芯片本身的处理能力,不能达到很高的传输速率,一般在10~20K的样子,速度慢不是SPP本身的问题,你可以用HCI的芯片去做,外挂一颗处理器跑蓝牙协议栈,我们曾经做过达到100K以上的速率, HCI的芯片有很多,手机上用的都是HCI的芯片,CSR的有 BC6888,CSR8811等
发表于 2014-7-4 17:34:03 | 显示全部楼层
这种full embeded芯片受限制与芯片本身的处理能力,不能达到很高的传输速率,一般在10~20K的样子,速度慢不是SPP本身的问题,你可以用HCI的芯片去做,外挂一颗处理器跑蓝牙协议栈,我们曾经做过达到100K以上的速率, HCI的芯片有很多,手机上用的都是HCI的芯片,CSR的有 BC6888,CSR8811等
点评回复

使用道具 举报

 楼主| 发表于 2014-7-7 09:24:11 | 显示全部楼层
wibree 发表于 2014-7-4 19:55
这种full embeded芯片受限制与芯片本身的处理能力,不能达到很高的传输速率,一般在10~20K的样子,速度慢 ...

谢谢,EDR模式可以增加速度,那EDR功能是怎么实现的?需要进行什么设置开通EDR传输。
点评回复

使用道具 举报

发表于 2014-7-7 09:59:30 | 显示全部楼层
2.0以上蓝牙就开始支持EDR,你可以找两个EDR的设备测试一下,瓶颈不在这里,帮助不大。
点评回复

使用道具 举报

 楼主| 发表于 2014-7-7 10:20:10 | 显示全部楼层
wibree 发表于 2014-7-7 09:59
2.0以上蓝牙就开始支持EDR,你可以找两个EDR的设备测试一下,瓶颈不在这里,帮助不大。

现在我买了CSR的BC417的开发板,怎么进行HCI调试?该烧录BLUELAB中哪个固件?PSTOOL中要进行什么设置?
点评回复

使用道具 举报

发表于 2014-7-7 14:08:05 | 显示全部楼层
随便找个bluelab的烧录下,然后disable vm, config HCI interface, 就是HCI模式了,然后上层你要跑一个协议栈,如linux里面的bluez
点评回复

使用道具 举报

 楼主| 发表于 2014-7-7 17:02:56 | 显示全部楼层
wibree 发表于 2014-7-7 14:08
随便找个bluelab的烧录下,然后disable vm, config HCI interface, 就是HCI模式了,然后上层你要跑一个协议 ...

非常谢谢,我烧录BLUELAB中firmware文件夹中的unified_coyote.xpv,然后在PSTOOL中设置VM disable为TURE;HOST interface 选择UART link running BCSP,波特率设置为9600,然后用MCU发送01,03,0C,00(HCI RESET指令)没有收到回应。这个过程有什么问题?
HOST interface 换成H4 H5 virtual UART也都没有反应。
点评回复

使用道具 举报

发表于 2014-7-8 08:43:29 | 显示全部楼层
BCSP模式下,是有特殊数据封装,你主机端也有走BCSP协议,不能直接发HCI command, raw uart模式下是可以的,检查下UART 的配置,两边是否匹配
点评回复

使用道具 举报

 楼主| 发表于 2014-7-8 14:06:35 | 显示全部楼层
wibree 发表于 2014-7-8 08:43
BCSP模式下,是有特殊数据封装,你主机端也有走BCSP协议,不能直接发HCI command, raw uart模式下是可以的 ...

你好,我现在只是接了3根线,TX/RX/GND,用的是MCU的UART,应该选择哪个选项?H4?H5?UART的特性都是匹配的。
点评回复

使用道具 举报

发表于 2014-7-8 23:05:42 | 显示全部楼层
H4,H4,H4 凑足字数
点评回复

使用道具 举报

 楼主| 发表于 2014-7-9 14:21:30 | 显示全部楼层
wibree 发表于 2014-7-8 23:05
H4,H4,H4 凑足字数

郁闷啊  还是不行。都想换板子了。
点评回复

使用道具 举报

发表于 2014-7-9 18:49:53 | 显示全部楼层
呵呵,没弄过,确实比较麻烦,专业性的东西很多,即使你弄通了HCI,还是要跑一个协议栈才行
点评回复

使用道具 举报

 楼主| 发表于 2014-7-10 09:28:33 | 显示全部楼层
wibree 发表于 2014-7-9 18:49
呵呵,没弄过,确实比较麻烦,专业性的东西很多,即使你弄通了HCI,还是要跑一个协议栈才行

如果只是单纯传输一些数据的话协议栈难度应该不高吧,另外如果底层用HCI,那上位机端软件(手机、PC)是可以自动接收数据还是需要自己开发?
点评回复

使用道具 举报

发表于 2014-7-10 09:49:16 | 显示全部楼层
PC看你用谁的方案了,诸如IVT之类,是可以直接虚拟串口出来,你直接使用串口就可以了,当然以整体方案来讲,你最好还是自己开发一个,具体看你需求

至于只传输数据,SPP确实是最简单的,但是你自己写也不是几个月能搞定的事,建议移植下bluez或者其他协议栈。
点评回复

使用道具 举报

 楼主| 发表于 2014-7-10 10:43:01 | 显示全部楼层
wibree 发表于 2014-7-10 09:49
PC看你用谁的方案了,诸如IVT之类,是可以直接虚拟串口出来,你直接使用串口就可以了,当然以整体方案来讲 ...

看来难度被我低估了呀,如果是手机端接收呢?现在最大问题是速度上需要达到70K BYTE每秒的传输速度,我没有找到现成的可以达到这种速度的蓝牙模块或者方案,自己做的话确实又有很多不懂。
点评回复

使用道具 举报

发表于 2014-7-10 10:50:34 | 显示全部楼层
QQ: 2272066970 , 注明: Bluetooth HCI
点评回复

使用道具 举报

 楼主| 发表于 2014-7-10 10:51:23 | 显示全部楼层
wibree 发表于 2014-7-10 09:49
PC看你用谁的方案了,诸如IVT之类,是可以直接虚拟串口出来,你直接使用串口就可以了,当然以整体方案来讲 ...

不走SPP,直接HCI  ACL分组发送数据可以么?
点评回复

使用道具 举报

发表于 2014-8-14 18:18:47 | 显示全部楼层
专业一贴,收了
点评回复

使用道具 举报

发表于 2014-8-14 19:40:22 来自手机 | 显示全部楼层
顶,高人来自: Android客户端
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-29 19:41 , Processed in 0.054386 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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