TWS耳机最引人注目的特点在於无线佩戴的便捷性。相较於传统的蓝牙耳机,TWS耳机具备体积小、音质好、稳定性高等诸多优势,还具有一定的防水性和智慧性,因而迅速吸引了消费者们的视线。目前,TWS耳机的出货量和整体市场规模都在不断扩大,是目前消费类电子的热点研发领域。
系统架构
本文中介绍的1-Wire TWS耳机解决方案MAXREFDES1302包括充电盒和耳机两个部分,系统整体硬体架构,如图一所示。
图一 : 1-Wire TWS充电盒和耳机系统架构 |
|
充电盒使用3.7V 1500mAh的单节锂电池给系统供电,采用支援USB Type-C协定的充电器MAX77651为锂电池充电,用户只需使用单根USB Type-C数据线便可对整机进行充电。
在电源轨方面,充电盒采用MAX17224升压模组将充电器的系统电压升压至5V电压,该5V电压透过MAX38640降压模组产生3.3V电压为微控制器MAX32655供电,同时,该5V电压并透过1-Wire控制电路传输至耳机,作为耳机系统的充电电源。在电量监控方面,充电盒采用内建检流电阻的电量计MAX17262对电池进行监控。该电量计将传统的库伦计数方法与创新的ModelGauge m5 EZ演算法相结合,无需电池特徵分析,配置弹性,使用简便。
在微控制器方面,充电盒采用具备BLE 5.2模组和内建SIMO电源模组的微处理器MAX32655,该处理器资源丰富,除了常用的通讯介面,其GPIO还可以被配置为1-Wire通讯介面,可对耳机侧的DS2488进行读写控制,为1-Wire通讯和充电提供极大便利。充电盒的SWD介面可连接至MAX32625PICO下载器,既可为充电盒的MAX32655更新韧体,也可透过虚拟串列埠在电脑上显示电池的资讯。电池的资讯也可以透过充电盒上的OLED萤幕显示。
耳机使用3.7V 130mAh的单颗锂电池为系统供电,使用DS2488双向1-Wire桥接器实现耳机和充电盒的数据通讯,同时实现对源自充电盒的5V充电电源的控制。在控制器方面,耳机同样使用MAX32655作为微控制器,该微控制器使用UART介面类比1-Wire时序对DS2488进行读写控制,同样使用SWD介面连接MAX32625PICO下载器下载程式。在电源轨方面,耳机采用的充电器MAX77734自附的一路3.3V的LDO输出为微控制器MAX32655供电,同时,该3.3V和MAX32655内建SIMO模组产生的1.8V和1.2V电源一起,组成音讯转码器MAX98050的电源轨。在电量监控方面,耳机同样采用电量计MAX17262对电池进行监控。
图二为1-Wire TWS充电盒和耳机的实物图。充电盒的实际尺寸为10.20cm × 5.80cm,耳机的实际尺寸为10.20cm × 6.50cm,由於本设计为辅助客户进行设计、测试和研究的样机,在精简测试点的情况下,现实产品的尺寸可以大幅压缩,以满足TWS耳机实际应用的尺寸要求。
图二 : 1-Wire TWS充电盒和耳机PCBA实物图 |
|
1-Wire数据通讯和能量传输
在TWS耳机应用中,用可靠便捷的方法实现充电盒与耳机之间的数据通讯和能量传输非常重要。目前市场上常见的TWS耳机通常使用3个或更多的触点与充电盒连接,以实现数据通讯和能量传输的功能。但是,过多的触点通常会导致系统成本的增加,这对低成本的可穿戴产品设计极为不利。由於更多的触点通常需要更大的空间,这和TWS耳机的小尺寸要求相互违背。此外,更多的触点往往会增加故障发生的可能性。
本设计采用为TWS方案设计的ADI专有的1-Wire双向桥接器DS2488,实现耳机与充电盒之间的能量传输和数据通讯。DS2488支援1-Wire汇流排协定,可用单导线实现通讯和充电的功能。由於系统需要额外一个触点用於将耳机和充电盒的地相连,整体解决方案仅需要使用两个触点,可大幅提升系统可靠性,降低尺寸和成本。本设计采用的1-Wire通讯充电电路框图,如图3所示。
DS2488工作原理
如图三所示,DS2488为1-Wire双向桥接器,具备IOA和IOB两个1-Wire通讯接脚供两侧的微控制器控制,其中IOA由充电盒的微控制器控制,IOB由耳机的微控制器控制。IOA支援最高可达5.5V的输入电压,支援在1-Wire汇流排(IOA)上传输不同的通讯和充电位准。作为1-Wire元件,每个DS2488元件并具备唯一的64位元ROM ID,供用户进行识别、认证。DS2488内部还具备8位元组的缓冲器,可供微控制器进行读写,以即时更新储存两侧的电池资讯。在本设计中,缓冲器储存的资讯如表一所示。
表一DS2488缓冲器储存的资讯
索 引
|
讯 息
|
Bit 7
|
保留
|
Bit 6
|
充电盒电池电量CAP(千位和百位)(mAh)
|
Bit 5
|
充电盒电池电量CAP(十位和个位)(mAh)
|
Bit 4
|
充电盒电池状态SOC (%)
|
Bit 3
|
右侧耳机电池电量CAP (mAh)
|
Bit 2
|
右侧耳机电池状态SOC (%)
|
Bit 1
|
左侧耳机电池电量CAP (mAh)
|
Bit 0
|
左侧耳机电池状态SOC (%)
|
DS2488的TOKEN接脚指示DS2488的控制状态:TOKEN为低指示充电盒的微控制器取得DS2488的控制许可权;TOKEN为高指示耳机侧的微控制器取得DS2488的控制许可权。DS2488的CD/PIOC接脚控制充电盒是否为耳机充电:当1-Wire汇流排(IOA)上的电压小於4V时,CD/PIOC为高阻态,电晶体关断,充电停止;当1-Wire汇流排(IOA)上的电压大於4V时,CD/PIOC为低,电晶体导通,1-Wire汇流排上(IOA)的电压直接加到耳机的充电器上,充电开始。耳机充电和通讯的选择逻辑主要由一个连接至5V的MOSFET实现,该MOSFET的通断由充电盒的微控制器控制,充电盒与耳机的使用主要分为以下几种情况。
耳机在充电盒中且充电盒盖开启
此时,充电盒的微控制器将MOSFET关断,并取得DS2488的控制许可权,TOKEN为低,CD/PIOC为高阻态。充电盒透过IOA对DS2488的内部8位元组的缓冲器进行读写,读取耳机电池的位元组资讯,并更新写入充电盒电池的位元组资讯。此时充电停止,进行通讯。
耳机在充电盒中且充电盒盖关闭
此时,充电盒的微控制器将MOSFET开启,5V直接透过1-Wire汇流排(IOA)传输至耳机,此时TOKEN为高,CD/PIOC为低。充电盒的5V电压被传输至耳机侧,为耳机的锂电池进行充电。同时,耳机的微控制器取得DS2488的控制许可权,透过IOB对DS2488的内部8位元组的缓冲器进行读写,更新写入耳机电池的位元组资讯,并读取充电盒电池的位元组资讯。此时通讯停止,进行充电。
耳机不在充电盒中或充电盒电池耗尽
此时,1-Wire汇流排(IOA)呈现高阻态,此时TOKEN为高,CD/PIOC为高阻态。此时,耳机的微控制器取得DS2488的控制许可权,通过IOB对DS2488的内部8位元组的缓冲器进行读写,并更新写入耳机电池的位元组资讯。
DS2488 1-Wire数据通讯
如上文所述,本设计使用DS2488作为充电盒和耳机两侧的微控制器的桥接器,实现两侧微控制器之间的数据通讯。DS2488支援典型的1-Wire通讯协定,协定的时序分为重定与回应时序和读写时序,读写时序又分为写0时隙、写1时隙和读时隙,如图四和图五所示。各时序高低位准阶段的时间范围的详细数据可叁考DS2488的数据手册。
图四 : DS2488 1-Wire复位和回应时序 |
|
所有1-Wire元件内部均是由状态机组成的,其状态转移图如图六所示。如图四所示,当微控制器向DS2488元件发送重定讯号後,1-Wire汇流排将被拉低48μs到80μs,随後汇流排被上拉电阻拉高释放。如果汇流排上连接有DS2488,DS2488将响应该重定讯号,在汇流排被释放48μs之後再次将1-Wire汇流排拉低6μs到10μs。此时微控制器可以检测汇流排上的位准变化,即透过检测到汇流排是否被再次拉低来判断是否有DS2488连接至1-Wire汇流排。
当DS2488回应重定讯号後,微控制器将发送ROM功能命令(ROM Function Command)。所有1-Wire元件的ROM功能命令都相同,一些常用的ROM功能命令如表二所示。
由於TWS耳机设计中,充电盒内通常需要容纳两个耳机,所以1-Wire汇流排(IOA)上通常会挂接两个DS2488。本设计首先采用Read ROM命令(0x33)和Match ROM命令(0x55)分别读取1-Wire汇流排(IOA)上两个DS2488的ROM ID和匹配特定ROM ID的DS2488元件,实现左右耳机的身份识别和选择。
表二 常用的1-Wire ROM功能命令
ROM 功能命令
|
代码
|
描述
|
Search ROM
|
0xF0
|
读取汇流排上所有元件的ROM ID
|
Read ROM
|
0x33
|
读取汇流排上唯一元件的ROM ID
|
Match ROM
|
0x55
|
选择汇流排上特定ROM ID的元件
|
Skip ROM
|
0xCC
|
选择汇流排上的唯一元件
|
当发送ROM功能命令後,微控制器将发送装置功能命令(Device Function Command)对元件进行进一步的操作。不同1-Wire元件的装置功能命令各不相同,对DS2488而言,一些常用的装置功能命令如表三所示。本设计采用Write Buffer命令(0x33)和Read Buffer命令(0x44)对DS2488内部的8位元组缓冲器进行读写,实现充电盒和耳机电池资讯的交互。
表三 常用的DS2488装置功能命令
装置功能命令
|
代码
|
描述
|
Write Configuration
|
0x11
|
写入DS2488配置
|
Read Configuration
|
0x22
|
读取DS2488配置
|
Write Buffer
|
0x33
|
写入DS2488缓冲器
|
Read Buffer
|
0x44
|
读取DS2488缓冲器
|
Read Status
|
0x55
|
读取DS2488状态
|
充电盒的微控制器MAX32655的两组GPIO(P0.6与P0.7,P0.18与P0.19)可被配置为1-Wire模组的OWM_IO接脚和OWM_PE接脚,分别实现与DS2488之间的通讯和5V的传输。本设计将MAX32655的OWM_IO接脚连接至DS2488的IOA接脚,实现充电盒和DS2488之间的1-Wire通讯功能。
与此不同的是,考虑到市面上部分微控制器并不具备1-Wire介面,为使用者设计方便起见,耳机的微控制器MAX32655采用UART介面类比1-Wire时序,透过IOB对DS2488进行通讯,如图三所示。微控制器透过配置特定的UART串列传输速率和发送特定的码形即可实现这一功能。
以图四所示的复位与回应时序为例,当串列传输速率为115200时,UART收发每一位元数据的时间长度约为8.68μs。因此,1个位元组(8位元)的数据的时间长度约为69.44μs,而0xE0(二进位:11100000)(UART先发送低位元数据)则刚好对应1-Wire重定讯号的时序。此时,若微控制器透过TX发送0xE0(重定讯号),1-Wire汇流排(IOB)上的DS2488将响应此重定讯号并将汇流排拉低6μs至10μs,此时RX上收到的讯号应为0xC0(二进位:11000000)或0x80(二进位:10000000)。微控制器透过收发不同的码形,并将接收和发送的讯号相互比较,即可实现透过UART模拟1-Wire时序的功能。
DS2488 1-Wire能量传输
如图三所示,充电盒的微控制器MAX32655的OWM_PE接脚控制MOSFET的通断,当MOSFET关断时,系统进行1-Wire通讯;当MOSFET导通时,5V电压透过1-Wire汇流排(IOA)传输至耳机侧,此时DS2488检测到5V,CD/PIOC接脚变为低位准使电晶体导通,将5V电压传至充电器给耳机的锂电池充电。
电池管理与电源配置
充电盒的电池管理和电源配置系统由USB Type-C充电器MAX77751、电量计MAX17262、升压DC/DC转换器MAX17224和降压DC/DC转换器MAX38640组成。通常,单节锂电池的充电终止电压为4.2V,因此选择MAX77751CEFG+作为具体的充电器型号。该充电器的充电电流由连接至IFAST接脚和ITOPOFF接脚的电阻配置,考虑到实际需要,选择500mA的快充电流和100mA的终止电流,对应的电阻分别为2.4kΩ和8.06kΩ。
电量计MAX17262具备ModelGauge m5 EZ演算法,在配置电池容量、终止电流、充电电压门限等电池叁数後即可自动对电池进行测量,无需额外的电池建模。升压DC/DC转换器MAX17224和降压DC/DC转换器MAX38640的输出电压均由连接至SEL接脚和RSEL接脚的电阻配置,这里选择0Ω和56.2kΩ的电阻以分别输出5V和3.3V。
耳机的电池管理和电源配置系统由充电器MAX77734和电量计MAX17262组成,微控制器MAX32655的SIMO输出也同时为系统提供1.8V和1.2V的电源轨。由於只需要一路3.3V的LDO输出,因此选择充电器的具体型号为MAX77734GENP+。该充电器还可透过I2C配置成出厂运输模式、关断模式和待机模式,从而延长电池寿命。微控制器MAX32655提供四路SIMO输出,每路均可透过暂存器配置输出不同的电压。
韧体设计
充电盒的韧体流程图如图七所示。上电後,充电盒的微控制器将初始化GPIO,并配置电量计MAX17262和OLED模组。然後,微控制器对充电盒仓盖的状态进行轮询。如果充电盒盖关闭,微控制器将禁用 1-Wire 模组,并将 5V 的充电电压加到1-Wire汇流排(IOA)上为耳机充电。
在这种状态下,如果微处理器检测到充电盒电池的剩馀电量小於5%,则充电会停止。如果充电盒盖打开,则微控制器将禁用 5V 充电电压,并启用 1-Wire 模组读写 DS2488 的缓冲器。充电盒和耳机的电池资讯透过OLED模组或者虚拟串列埠显示。
耳机的韧体流程图如图八所示。上电後,耳机的微控制器将初始化GPIO,配置电量计MAX17262和充电器MAX77734。然後,微控制器轮询充电器的输入电压是否有效。如果输入电压有效且大於4V,则微控制器启用充电器,开始充电。此时,微控制器轮询TOKEN的状态,如果TOKEN为低,则充电盒拥有DS2488的读写许可权。如果 TOKEN 为高,则耳机拥有DS2488的读写许可权,此时微控制器将耳机的电池资讯写入 DS2488 的缓冲器,供充电盒读取。
测试结果
充电盒和耳机的电源轨的设计要求和测试结果如表四和表五所示。可见本设计能够满足系统的设计要求。
表四 充电盒电源轨的设计要求与测试结果
叁数
|
符号
|
测量值
|
设计要求
|
电池电压
|
BAT
|
4.08 V
|
3.1 V 至 4.6 V
|
USB输入电压
|
CHGIN
|
4.94 V
|
4.8 V 至 5.2 V
|
升压模组5V输出
|
5 V
|
5.16 V
|
4.8 V 至 5.2 V
|
降压模组3.3V输出
|
3V3
|
3.30 V
|
3.2 V 至 3.4 V
|
表五 耳机电源轨的设计要求与测试结果
叁数
|
符号
|
测量值
|
设计要求
|
电池电压
|
VBAT
|
3.71 V
|
3.3 V 至 4.6 V
|
充电器3.3V输出
|
VCC_3.3
|
3.32 V
|
3.2 V 至 3.4 V
|
微控制器1.8V输出
|
VCC_1.8
|
1.82 V
|
1.7 V 至 1.9 V
|
微控制器1.2V输出
|
VCC_1.2
|
1.12 V
|
1.1 V 至 1.3 V
|
充电盒盖关闭时和充电盒盖开启时的测试结果如图九和图十所示。可见本设计能够即时显示充电盒和耳机电池的资讯,并读取显示耳机上DS2488的ROM ID。