摘要
本设计将ADI公司独有的1-Wire®技术首次运用到TWS耳机解决方案中,使用1-Wire双向桥接器DS2488,在满足能量传输和数据通信要求的基础上,具备低成本、低功耗、高精度、小尺寸、高效率等诸多优势,是TWS耳机的理想解决方案。
简介
TWS耳机最引人注目的特点是其无线佩戴的便捷性。相比于传统的蓝牙耳机,TWS耳机具备体积小、音质好、稳定性高等诸多优势,还具有一定的防水性和智能性,因而迅速吸引了消费者们的视线。目前,TWS耳机的出货量和总体市场规模都在不断扩大,是目前消费类电子的热点研发领域。
系统架构
本文中介绍的1-Wire TWS耳机解决方案MAXREFDES1302包括充电盒和耳机两个部分,系统整体硬件架构如图1所示。
充电盒使用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对电池进行监控。
图2为1-Wire TWS充电盒和耳机的实物图。充电盒的实际尺寸为10.20cm × 5.80cm,耳机的实际尺寸为10.20cm × 6.50cm,由于本设计为辅助客户进行设计、测试和研究的样机,在精简测试点的情况下,现实产品的尺寸可以大幅压缩,以满足TWS耳机实际应用的尺寸要求。
1-Wire数据通信和能量传输
在TWS耳机应用中,用可靠便捷的方法实现充电盒与耳机之间的数据通信和能量传输至关重要。目前市场上常见的TWS耳机通常使用3个或更多的触点与充电盒连接,以实现数据通信和能量传输的功能。但是,过多的触点通常会导致系统成本的增加,这对低成本的可穿戴产品设计极为不利。另外,更多的触点通常需要更大的空间,这和TWS耳机的小尺寸要求相违背。此外,更多的触点往往会增加故障发生的可能性。本设计采用为TWS方案设计的ADI专有的1-Wire双向桥接器DS2488实现耳机与充电盒之间的能量传输和数据交互。DS2488支持1-Wire总线协议,可用单导线实现通信和充电的功能。由于系统需要额外一个触点用于将耳机和充电盒的地相连,整体解决方案仅需要使用两个触点,可大大提高系统可靠性,降低尺寸和成本。本设计采用的1-Wire通信充电电路框图如图3所示。
DS2488工作原理
如图3所示,DS2488为1-Wire双向桥接器,具备IOA和IOB两个1-Wire通讯引脚供两侧的微控制器控制,其中IOA由充电盒的微控制器控制,IOB由耳机的微控制器控制。IOA支持最高可达5.5V的输入电压,支持在1-Wire总线(IOA)上传输不同的通信和充电电平。作为1-Wire器件,每个DS2488器件还具备唯一的64位ROM ID,供用户进行识别、认证。DS2488内部还具备8字节的缓冲器,可供微控制器进行读写,以实时更新存储两侧的电池信息。在本设计中,缓冲器存储的信息如表1所示。
索引 | 信息 |
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时隙和读时隙,如图4和图5所示。各时序高低电平阶段的时间范围的详细数据可参考DS2488的数据手册。
所有1-Wire器件内部均是由状态机组成的,其状态转移图如图6所示。如图4所示,当微控制器向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功能命令如表2所示。由于TWS耳机设计中,充电盒内通常需要容纳两个耳机,所以1-Wire总线(IOA)上通常会挂接两个DS2488。本设计首先采用Read ROM命令(0x33)和Match ROM命令(0x55)分别读取1-Wire总线(IOA)上两个DS2488的ROM ID和匹配特定ROM ID的DS2488器件,实现左右耳机的身份识别和选通。
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而言,一些常用的设备功能命令如表3所示。本设计采用Write Buffer命令(0x33)和Read Buffer命令(0x44)对DS2488内部的8字节缓冲器进行读写,实现充电盒和耳机电池信息的交互。
设备功能命令 | 代码 | 描述 |
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进行通信,如图3所示。微控制器通过配置特定的UART波特率和发送特定的码形即可实现这一功能。以图4所示的复位与响应时序为例,当波特率为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能量传输
如图3所示,充电盒的微控制器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输出,每路均可通过寄存器配置输出不同的电压。
固件设计
充电盒的固件流程图如图7所示。上电后,充电盒的微控制器将初始化GPIO,并配置电量计MAX17262和OLED模块。然后,微控制器对充电盒仓盖的状态进行轮询。如果充电盒仓盖关闭,微控制器将禁用 1-Wire 模块,并将 5V 的充电电压加到1-Wire总线(IOA)上为耳机充电。在这种状态下,如果微处理器检测到充电盒电池的剩余电量小于5%,则充电会停止。如果充电盒仓盖打开,则微控制器将禁用 5V 充电电压,并启用 1-Wire 模块读写 DS2488 的缓冲器。充电盒和耳机的电池信息通过OLED模块或者虚拟串口显示。
耳机的固件流程图如图8所示。上电后,耳机的微控制器将初始化GPIO,配置电量计MAX17262和充电器MAX77734。然后,微控制器轮询充电器的输入电压是否有效。如果输入电压有效且大于4V,则微控制器启用充电器,开始充电。此时,微控制器轮询TOKEN的状态,如果TOKEN为低,则充电盒拥有DS2488的读写权限。如果 TOKEN 为高,则耳机拥有DS2488的读写权限,此时微控制器将耳机的电池信息写入 DS2488 的缓冲器,供充电盒读取。
测试结果
充电盒和耳机的电源轨的设计要求和测试结果如表4和表5所示。可见,本设计能够满足系统的设计要求。
参数 | 符号 | 测量值 | 设计要求 |
电池电压 | 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 |
充电盒仓盖关闭时和充电盒仓盖开启时的测试结果如图9和图10所示。可见,本设计能够实时显示充电盒和耳机电池的信息,并读取显示耳机上DS2488的ROM ID。
结论
对于工程师而言,在易用性、低成本、便携性和稳定性之间取得平衡,从而对TWS耳机进行原型设计通常是一项巨大的挑战。DS2488 1-Wire双向桥接器为以更小的空间和更低的成本实现低功耗、高稳定性、高性能的TWS耳机解决方案铺平了道路。MAXREFDES1302以DS2488为基础,包括硬件和固件设计,仅通过两个接触点即可进行电力传输和数据通信,是一款易用的TWS耳机原型。
参考电路
基于MAXIM PLC技术的TWS解决方案。方良、贾宁,电子产品世界,2021年5月。
MAX32655用户指南。Maxim Integrated,2021年3月。