- 博客(85)
- 资源 (45)
- 收藏
- 关注
转载 软件架构风格
本文章转载在:软考-系统架构设计师(软件架构风格)_李水灵的博客-CSDN博客分类名称概念典型应用数据流风格(所有的数据按照流的形式在执行过程中前进-流水线)批处理序列批处理风格的每一步处理都是独立的,并且每一步都是顺序执行的。只有当前一步处理完,后一步处理才能开始。数据传送在步与步之间作为一个整体。1.经典数据处理2.程序开发3.Windows下的BAT程序管道/过滤器在此架构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。此风格特别重要的过滤器必须是
2021-10-12 15:33:45
203
原创 蓝牙模式-Inquiry and Page详细解析含参数
1. inquiry作用:让蓝牙芯片进入发现周围蓝牙设备的模式,它的返回值是周围蓝牙设备的信号。对应的HCI命令:HCI_inquiry输入的参数有如下三个:一个是LAP(蓝牙地址分为三部分:LAP(24位地址低端部分)、UAP(8位地址高端部分)和NAP(16位无意义地址部分)。其中,NAP和UAP是生产厂商的唯一标识码,必须由蓝牙权威部门分配给不同的厂商。而LA...
2020-02-09 15:42:30
8593
原创 蓝牙的连接过程总结-物理信道及寻呼扫描过程
一.连接总结过程如下: 我们可以很容易的进行操作在一个手机和免提设备之间建立连接,那么这个连接是怎么建立起来的呢? 首先,主设备(master,即发起连接的设备)会寻呼(page)从设备(slave,接收连接的设备),master会已跳频的方式去寻呼slave,slave会固定间隔地去扫描(scan)外部寻呼,即page scan,当scan 到外部pag...
2020-02-09 15:28:39
2598
翻译 音频EQ及原理解析
1. 什么是EQEQ是均衡器的缩写。它的基本作用是通过对声音某一个或多个频段进行增益或衰减,达到调整音色的目的。当然,EQ还有一个显著的功能,降噪。EQ通常包括如下参数:F(requency),频率――这是用于设定你要进行调整的频率点用的参数;G(ain),增益――用于调整在你设定好的F值上进行增益或衰减的参数;Q(uantize)――用于设定你要进行增益或衰减的频段 “宽度”2. EQ的...
2019-11-21 15:15:17
16218
翻译 USB audio同步问题及Jitter分析
Usb audio目前已经有三个版本: 1.0,2.0,3.0 。1.0版本虽然出现的最早,但仍然在大多数产品上使用,如TI 的 PCM系列usb audio芯片,基本上都是1.0的版本。 这里有一点需要明确,usb audio的版本并不是对应usb的版本。1. 同步传输usb支持的四种传输机制: 控制传输,中断传输,块传输,同步传输,其中同步传输适用于实时性要求比较高且对数据误差有一定容...
2019-01-15 17:50:16
3908
翻译 USB协议架构与描述符
1. USB 协议栈框架中需要了解的几个重要概念: Interface Terminal Endpoint如描述符所述,其中包含interface, terminal和endpoint 的声明,这三类都是逻辑上的接口,那么三者是何种关系,为什么需要这样声明。interface 所描述的是slave开放给host的一个几口,此接口可以包含若干个terminal,...
2019-01-05 11:03:27
854
1
翻译 蓝牙 A2DP 音频传输格式-全面解析
1. 蓝牙 A2DP 音频传输格式达到 CD 音质需要 1411.2 kbit/s 的带宽,显然 A2DP 无法允许,所以音频数据需要经过压缩。我们知道同样的比特率下,不同的编码格式音质是不同的。A2DP 要求必须支持SBC(Sub-band coding)编码,MP3、AAC、ATRAC 为可选编码,也可以使用其他专有编码格式。假设要使用 MP3 编码传输,则播放设备与接受设备(耳机)...
2018-09-30 16:48:32
14899
翻译 音频编解码介绍
随着嵌入式系统性能的提高,在 ARM 嵌 入式系统中实现对各种音乐格式的解码和播放已有可能。如何在嵌入式系统中利用有限的计算能力达到播放音乐的功能,是一个值得关注的问题。一般常见的情况 是,依赖嵌入式 ARM 或 DSP 的处理能力,通过定点 或浮点程序实现音频编解码过程。详细的内容,请参考以下两个网址:https://blog.csdn.net/mianhuantang8489...
2018-09-05 17:50:38
362
转载 A2DP & AVRCP,蓝牙音频协议
A2DP:A2DP 全名是Advenced Audio Distribution Profile 蓝芽音频传输模型拹定。A2DP 规定了使用蓝芽非同步传输信道方式,传输高质量音乐文件数据的拹议堆栈软件和使用方法,基于该拹议就能通过以蓝芽方式传事输高品质的音乐了,例如可以利用立体声蓝芽耳机或蓝芽音响设备来收听音乐了。AVRCP:AVRCP全名是Audio Video Remote Cortr...
2018-07-31 18:39:51
2829
转载 蓝牙AVDTP,AVCTP
1. 蓝牙 AVDTP 剖析(一) --- 概述 AVDTP(AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL)是用来描述音频/视频在蓝牙设备间的传输的协议,是A2DP协议的基础协议。请参考如下:https://blog.csdn.net/xiaoxiaopengbo/article/details/516823462. 蓝牙 AVCTP...
2018-07-31 18:32:46
6372
转载 BLE之链路层数据包格式解析
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/XiaoXiaoPengBo/article/details/51517350BLE协议在链接层的数据包,不管广播通道还是数据通道,都公用一种包格式, 如下:关于此数据包的格式解析在蓝牙Core4.1及以后规范里面,都是有详细的解析的;另外,详细数据包格式解析,请参考如下网址: http://blog....
2018-03-07 16:56:50
1706
转载 BLE之广播参数与广播间隔等说明
版权声明:本文为博主原创文章,转载请注明原文出处。 http://blog.csdn.net/zzfenglin/article/details/51165543Advertising interval (广播间隔) 设备每次广播时,会在3个广播信道上发送相同的报文。这些报文被称为一个广播事件。除了定向报文以外,其他广播事件均可以选择“20ms ~ 10.28s”不等的间隔。通常,一个广...
2018-02-24 17:45:47
15507
1
转载 低功耗蓝牙BLE之连接事件、连接参数和更新方法(包括时序控制等)
1.关于连接事件,连接参数与更新方法的说明与介绍请参考如下地址: http://blog.csdn.net/zahuopuboss/article/details/529951782. 关于连接的过程及时序图解析,请参考如下如下:http://blog.csdn.net/zhenlangok/article/details/51384764...
2018-02-24 17:41:06
829
转载 BLE属性数据库及c/s模式读写方法与图解
BLE采用的是 客户端-服务器的结构。该结构中通常只有客户端去读写服务器,服务器不会主动发数据给客户端,但是BLE的应用中比如一个防丢器,防丢器作为服务器,手机作为客户端,防丢器需要告诉手机自己的电量,一种方式是手机定时周期性的读,另一种更有效的方式是 防丢器自己电量发生改变的时候才主动发送改变的电量给手机。 所以为了应用于种类场景,BLE中定义了 notfiy和indication这两...
2018-02-23 09:04:00
723
转载 蓝牙之HFP协议
HFP(Hands-free Profile),让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持。 具体的详细解析,请参考如下网址: http://blog.csdn.net/shichaog/article/details/52123439
2018-01-23 09:41:53
3363
转载 蓝牙基带数据包格式说明及包类型定义说明
微微网中使用的分组类型与使用的物理链路有关。蓝牙的物理链路主要包括:ACL,SCO and eSCO; 因为蓝牙的跳频是:1600次/s,所以蓝牙时隙为:1/1600=625us; 关于ACL与SCO的分组定义如下: 1. ACL分组表示为D(M|H)(1|3|5). 其中D表示数据分组;M表示使用中等速率的2:3比例FEC纠错编码;而H表示不使用纠错编码方式的高速率分组,后面的数字1
2018-01-19 15:17:06
7416
转载 蓝牙协议规范(射频、基带链路控制、链路管理)
蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。以下是蓝牙协议规范的一个架构图:具体的分层解析请参考以下网址:http://blog.csdn.net/xubin341719/article/details/38303881
2018-01-19 09:07:47
321
转载 光学心率测量原理
原博地址http://blog.csdn.net/richard_liujh/article/details/49615395简介: 在这个什么都要和“智能”串联的年代,除了我们司空见款的手机外也就是一些智能手表和手环之类的穿戴设备了。这些智能穿戴设备集成了很多的传感器,由于脉搏或者心率是生命体征的重要参数之一,所以心率率测量可算是高端入门产品必备的一个技能,正好
2018-01-17 09:15:51
694
转载 Git and Gerrit and Repo的区别
Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 2. Repo: Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来下载、管理Android项目的软件仓库(也就是说Repo是用来管理给Git管理的一个个仓库的)3. Gerrit(代码评审工具):基于 Web 的代码评审和项目管理的工具,
2018-01-11 11:20:26
580
翻译 关于Git及Gerrit的使用详细网页参考
1. git就是一个版本管理库,在git库中没有中心服务器的概念,大家都是平等的,真正的分布式。大家可以互相pull、push代码,非常方便。对于做定制很多的公司,其实挺好。2. repo,repo就是多个git库的管理工具。如果你只是改一个模块,git够用了,如果是多个git库同时管理,最好搞一个repo。当然你用gerrit,必须用repo了。3. gerrit,让审核代码,提交代码成
2018-01-10 18:00:23
1127
转载 传统蓝牙技术及协议抓包过程分析
关于蓝牙协议的解析和抓包过程的分析,在下面的网址中进行了详细的分析,请参考:http://blog.csdn.net/xubin341719/article/details/38145507
2018-01-03 15:41:06
5114
转载 Android 版本与 Bluetooth 版本之间的关系
摘要:Android 版本与 Bluetooth 版本之间是否存在必然关系?答案是否定的。不同版本的 Android 系统是否有针对不同版本的 Bluetooth 模块提供官方的 API 供开发者调用,这个才是关键。一般来讲,对Android4.3及以上的版本,才支持BLE;具体内容请参考如下网址:http://www.ifeegoo.com/relationship-between-andr
2017-12-09 08:42:50
428
转载 USB通信涉及的描述符及其结构详解
USB描述符标准的USB设备有5种USB描述符:设备描述符,配置描述符,字符串描述符,接口描述符,端点描述符。下面详解: 1、设备描述符:一个设备只有一个设备描述符 typedef struct _USB_DEVICE_DESCRIPTOR_{ BYTE bLength, BYTE bDescriptorType,
2017-12-07 15:02:07
784
1
转载 使用宏的方式, 批量修改word中图片的大小
创建宏的代码内容如下(其中宏的名字为:SetPicSize):弹出“Microsoft Visual Basic”窗口,复制下面的代码到代码窗口里替换掉原有内容:Sub SetPicSize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineSh
2017-08-24 11:39:26
13339
原创 GATT两个角色 服务器与客户端
两个设备应用数据的通信是通过协议栈的GATT层实现的。从GATT角度来看,当两个设备建立连接后,他们处于以下两种角色之一:GATT服务器: 它是为GATT客户端提供数据服务的设备GATT客户端: 它是从GATT服务器读写应用数据的设备 GATT角色中的客户端和服务器的概念与链路层的主机和从机的概念完全独立,与GAP角色中的外设和集中器的概念也是完全独立的。主机既可以是GATT客
2016-08-29 16:11:42
6362
1
原创 通用属性配置文件(Generic Attribute profile,GATT)
1. 角色 除了GAP定义了角色之外,BLE还定义了另外2种角色:GATT服务器和GATT客户端,它们完全独立于GAP的角色。提供数据的设备称为GATT服务器,访问GATT服务器而获得数据的设备称为GATT客户端。注意:一个设备可以同时作为服务器和客户端。2. GATT层 GATT层是传输真正数据所在的层。 一个GATT服务器通过一个称为属
2016-08-29 15:46:48
4087
原创 蓝牙4.2版本新标准与特点
2014年12月4日,最新的蓝牙4.2标准颁布,改善了数据传输速度和隐私保护程度,并接入了该设备将可直接通过IPv6和6LoWPAN接入互联网。在新的标准下蓝牙信号想要连接或者追踪用户设备必须经过用户许可,否则蓝牙信号将无法连接和追踪用户设备。 速度方面变得更加快速,两部蓝牙设备之间的数据传输速度提高了2.5倍,因为蓝牙智能(Bluetooth Smart)数据包的容量提高,其可容纳的数据量相
2016-07-21 13:35:57
13622
原创 蓝牙设备发现与同步(page and page scan详解)
1. 蓝牙设备的发现和同步简介:蓝牙设备在建立连接以前,通过在固定的一个频段内选择跳频频率或由被查询的设备地址决定,迅速交换握手信息时间和地址,快速取得设备的时间和频率同步。建立连接后,设备双方根据信道跳变序列改变频率,使跳频频率呈现随机特性。蓝牙系统定义了种工作状态下的跳频序列寻呼、寻呼响应、查询、查询响应 和信道 跳变序列, 不同状态下的跳频序列产生策略不同。蓝牙定义了
2016-05-06 15:04:00
15904
原创 一些蓝牙(Bluetooth)相关的技术术语表
一些蓝牙(Bluetooth)相关的技术术语表1. Access Code每个基带的信息包,其开始部分是访问码,访问码可以是如下三种类型之一:CAC,DAC 和IAC。CAC包括preamble, sync word 和trailer位,其总长为72位。一旦作为不带包头(packet header)的自包含信息传输时, DAC和IAC就不包括trailer位,其长度达到68位。2.
2016-04-09 18:30:24
1370
原创 BLE 链路层的状态机
BLE的Link层,应当是了解BLE需要首先熟悉的一部分,BLE的Controller部分主要都在围绕这一部分实现的。Link层的内容规定了BLE底层是怎么实现蓝牙设备之间的控制,数据传输等等的。Link层使用了状态机,即通过不同的事件的发生来切换BLE的不同状态,这样使整个蓝牙通信的实现显得更加清晰。 链路层定义设备处于状态机中五种状态的一种:(1)就绪态; 上电后,
2016-03-31 18:22:58
3284
原创 一些常见的蓝牙(Bluetooth)相关的技术术语表
1. Access Code每个基带的信息包,其开始部分是访问码,访问码可以是如下三种类型之一:CAC,DAC 和IAC。CAC包括preamble, sync word 和trailer位,其总长为72位。一旦作为不带包头(packet header)的自包含信息传输时, DAC和IAC就不包括trailer位,其长度达到68位。2. ACLAsynchronousConnecti
2016-03-03 16:28:37
5310
转载 路由器配置基础
一、基本设置方式一般来说,可以用5种方式来设置路由器:1.Console口接终端或运行终端仿真软件的微机;2.AUX口接MODEM,通过电话线与远方的终端或运行终端仿真软件的微机相连;3.通过Ethernet上的TFTP服务器;4.通过Ethernet上的TELNET程序;5.通过Ethernet上的SNMP网管工作站。但路由器的第一次设置必须通过第一种方式进行,此时终
2015-06-08 16:50:15
698
转载 常用的转义字符
所有的转义字符和所对应的意义:转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(
2015-05-16 13:32:22
1433
转载 Bluetooth4.0 smart ready and bluetooth smart
蓝牙无线技术是一种全球通用的短距离无线技术,通过蓝牙技术能够实现多种电子设备间的相互连接,特别是在小型无线电、耗电量低、成本低、安全性、稳定性、易用性以及特别的联网能力等固有的优势上,蓝牙无线技术发展迅速。 日前,蓝牙技术联盟推出Bluetooth Smart Ready和BluetoothSmart两个新商标,未来将帮助消费者识别具有蓝牙4.0版本兼容性的新设备。蓝牙技术联盟首
2014-09-03 16:41:36
2268
翻译 蓝牙技术4.1详细解析
我们知道,蓝牙4.0 主打的是省电,这次蓝牙4.1 玩了回大的—IOT(物联网)。而为了实现这一点,迎合可穿戴和多设备连接,对通讯功能的改进(改善数据传输能力)成为4.1 标准最重要的升级之一。 1. 传输速率更快 要说改进,首当其冲就是传输速度,大家知道蓝牙的传输速率一直非常渣, 与已经动辄上千兆的Wi-Fi 相比差距悬殊。所以,蓝牙4.1在蓝牙 4.0 LE 的基
2014-09-03 16:40:53
3635
原创 UTF-8与Unicode编码及其相互转换
1. UTF-8UTF-8:UnicodeTransformation Format-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人
2014-08-29 17:03:18
2179
翻译 蓝牙的工作原理
1. 蓝牙通信的主与从蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功 后,双方 即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端 设备进行通讯。一个具备蓝牙通讯功能的设备, 可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发 起呼
2014-08-28 08:59:31
40389
1
原创 shell if语句格式详解
1. if语句的基本格式大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等,通常用"[]"来表示条件测试。注意这里的空格很重要。要确保方括号的空格。if ....;then .... elif ....;then .... else .... fi2. 一些常用的选项[ -f "somefile"
2014-08-18 13:38:11
1757
原创 四种最基本的配置文件(profile)
1.通用访问配置文件(Generic Access Profile, GAP) GAP是所有其他配置文件的基础,它定义了在蓝牙设备间建立基带链路的通用方法.除此之外,GAP还定义了下列内容:①:必须在所有蓝牙设备中实施的功能②:发现和链接设备的通用步骤③:基本用户界面术语. GAP确保了应用程序和设备间的高度互操作性,还允许开发人员利用现有的定义更加容易地定
2014-08-05 13:56:14
5294
dlna库源代码包
2014-04-01
枚举当前所有窗口
2013-06-15
MifareCardProgramming_ACR122源代码
2013-05-24
BLUETOOL1.4.3.9
2013-04-16
软件设计师历年试题及答案
2011-11-18
网络工程师历年试题以及答案
2011-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人