晶体校准的方法、芯片和蓝牙耳机

文档序号:1009566 发布日期:2020-10-23 浏览:13次 >En<

阅读说明:本技术 晶体校准的方法、芯片和蓝牙耳机 (Crystal calibration method, chip and Bluetooth headset ) 是由 林飞 于 2020-01-03 设计创作,主要内容包括:提供了一种晶体校准的方法、芯片和蓝牙耳机。所述方法包括:获取至少一个脉冲信号的计数差值,所述至少一个脉冲信号包括所述晶体基于多个参数中的至少一个参数生成的脉冲信号,所述至少一个脉冲信号中每一个脉冲信号的计数差值为利用由参考脉冲信号触发的两次外部中断获取的基于相应脉冲信号的系统滴答计数值之间的差值;基于所述至少一个脉冲信号的计数差值确定目标参数;将基于所述目标参数生成的脉冲信号确定为晶体校准后的脉冲信号。通过所述至少一个脉冲信号的计数差值确定所述目标参数,不仅能够实现脉冲信号的自动校准降低了人力成本,还能够在降低校准机制的复杂度的同时提高校准效率。(A method, a chip and a Bluetooth headset for crystal calibration are provided. The method comprises the following steps: obtaining a count difference of at least one pulse signal, the at least one pulse signal including a pulse signal generated by the crystal based on at least one parameter of a plurality of parameters, the count difference of each pulse signal of the at least one pulse signal being a difference between system tick count values based on the corresponding pulse signal obtained using two external interrupts triggered by a reference pulse signal; determining a target parameter based on the count difference of the at least one pulse signal; and determining the pulse signal generated based on the target parameter as the pulse signal after crystal calibration. The target parameter is determined through the counting difference value of the at least one pulse signal, so that the automatic calibration of the pulse signals can be realized, the labor cost is reduced, and the calibration efficiency is improved while the complexity of a calibration mechanism is reduced.)

晶体校准的方法、芯片和蓝牙耳机

技术领域

本申请实施例涉及电子领域,并且更具体地,涉及晶体校准的方法、芯片和蓝牙耳机。

背景技术

单片机在运行的时候,需要一个脉冲信号,作为自己执行指令的触发信号。通常情况下,采用与单片机的应用电路外接的晶体以及与所述晶体连接的外部电容配合产生所述脉冲信号。所述晶体具有标称的负载电容值,当所述负载电容值与所述外部电容的真实电容值接近或者相等时,所述晶体产生的脉冲信号的频率是最准的。

但是,同一批次的物料参数不会完全一致,物料参数的波动会导致同一个厂商生产的同一批晶体的负载电容、同一个厂商生产的同一批外部电容的容值等产品参数都会在一定范围内变化,进而导致晶体产生的脉冲信号的频率不够精准。

发明内容

提供了一种晶体校准的方法、芯片和蓝牙耳机,能够实现晶体自动校准。

第一方面,提供了一种晶体校准的方法,适用于具有晶体的芯片,所述方法包括:

获取至少一个脉冲信号的计数差值,所述至少一个脉冲信号包括所述晶体基于多个参数中的至少一个参数生成的脉冲信号,所述至少一个脉冲信号中每一个脉冲信号的计数差值为利用由参考脉冲信号触发的两次外部中断获取的基于相应脉冲信号的系统滴答计数值之间的差值;

基于所述至少一个脉冲信号的计数差值确定目标参数;

将基于所述目标参数生成的脉冲信号确定为晶体校准后的脉冲信号。

通过所述至少一个脉冲信号的计数差值确定所述目标参数,不仅能够实现脉冲信号的自动校准降低了人力成本,还能够在降低校准机制的复杂度的同时提高校准效率。

在一些可能实现的方式中,所述获取至少一个脉冲信号的计数差值,包括:

利用二分法获取所述至少一个脉冲信号的计数差值。

通过二分化获取至少一个脉冲信号的计数差值,避免了获取所有的脉冲信号的计数差值,降低了需要获取的计数差值的总量,能够在保证校准准确度的同时,提高校准效率并减少时间成本。

在一些可能实现的方式中,所述利用二分法获取所述至少一个脉冲信号的计数差值,包括:

确定多个参数中的最小参数和最大参数;

基于最小参数和最大参数分别生成第一脉冲信号和第二脉冲信号;

分别获取所述第一脉冲信号的第一计数差值和第二脉冲信号的第二计数差值;

其中,基于所述至少一个脉冲信号的计数差值确定目标参数,包括:

基于所述第一计数差值和所述第二计数差值确定所述目标参数。

在一些可能实现的方式中,所述基于所述第一计数差值和所述第二计数差值确定所述目标参数,包括:

在所述第一计数差值和所述第二计数差值的平均值等于预设计数差值的情况下,将所述最小参数和所述最大参数的平均值确定为所述目标参数。

在一些可能实现的方式中,所述基于所述第一计数差值和所述第二计数差值确定所述目标参数,包括:

在所述第一计数差值和所述第二计数差值的平均值大于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值加1确定为第一参数;

基于所述第一参数生成第三脉冲信号;

获取所述第三脉冲信号的第三计数差值;

基于所述第三计数差值和所述第二计数差值确定所述目标参数。

在一些可能实现的方式中,所述基于所述第一计数差值和所述第二计数差值确定所述目标参数,包括:

在所述第一计数差值和所述第二计数差值的平均值小于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值减一确定为第二参数;

基于所述第二参数生成第四脉冲信号;

获取所述第四脉冲信号的第四计数差值;

基于所述第四计数差值和所述第一计数差值确定所述目标参数。

在一些可能实现的方式中,所述获取至少一个脉冲信号的计数差值,包括:

获取所述晶体基于所述多个参数分别生成的多个脉冲信号;

获取所述多个脉冲信号对应的多个计数差值;

其中,所述基于所述至少一个脉冲信号的计数差值确定目标参数,包括:

利用二分法,获取所述多个计数差值中的与预设计数差值最接近的目标计数差值;

将所述目标计数差值对应的参数确定为所述目标参数。

通过二分法获取目标计数差值,避免了遍历式的比较所述预设计数差值与每一个脉冲信号的计数差值,降低了芯片的计算量,提升了校准效率并减小了时间成本。

在一些可能实现的方式中,所述方法还包括:

按照升序或降序对所述多个计数差值进行排序。

在一些可能实现的方式中,所述多个参数的参数数值随着脉冲信号的频率的增大而减小。

通过定义所述多个参数的特性,能够使得获取的差值计数按照由大到小或由小到大的顺序自动排序,避免了获取所述多个计数差值后重新对所述多个计数差值重新排序的步骤,在通过二分法获取目标参数或目标计数差值的基础上,有效降低了校准脉冲信号的时间成本。

在一些可能实现的方式中,所述多个参数的参数数值与脉冲信号的频率成反比。

在一些可能实现的方式中,所述获取至少一个脉冲信号的计数差值,包括:

按照参数值升序或降序的顺序,依次获取至少一个脉冲信号的计数差值。

在一些可能实现的方式中,所述方法还包括:

利用通用串行总线USB转串口和通用异步收发传输器UART集线器HUB接收测试设备发送的校准信令,所述校准信令用于触发所述芯片进行晶体校准。

在一些可能实现的方式中,所述校准信令包括所述多个参数。

在一些可能实现的方式中,所述方法还包括:

将所述多个参数存储至寄存器,以便通过控制所述寄存器向所述晶体发送所述多个参数。

通过寄存器触发晶体生成待校准的脉冲信号,即寄存器负责并控制晶体生成待校准信号的操作,降低了芯片的工作负荷,有效提高了芯片进行脉冲信号校准的工作效率。

在一些可能实现的方式中,所述方法还包括:

将校准结果存储至所述寄存器,所述校准结果用于指示所述目标参数。

在一些可能实现的方式中,所述方法还包括:

利用通用串行总线USB转串口和通用异步收发传输器UART集线器HUB向测试设备发送校准结果和/或所述至少一个脉冲信号的计数差值,所述校准结果用于指示所述目标参数,所述至少一个脉冲信号的计数差值用于所述测试设备在显示界面与预设计数差值进行比较。

通过向测试设备发送所述至少一个脉冲信号的计数差值,使得用户能够在所述测试设备的显示界面上能够观察到所述至少一个脉冲信号的计数差值中的每一个计数差值和所述预设计数差值之间的对应关系,便于用户进行人工的调整目标计数差值,以实现自动校准配合人工校准的校准机制。类似地,通过向测试设备发送所述校准结果,有便于设计人员进行批量校准以及调整参数设计。

在一些可能实现的方式中,所述获取至少一个脉冲信号的计数差值,包括:

获取所述至少一个脉冲信号中每一个脉冲信号的多次计数差值;

将所述至少一个脉冲信号中每一个脉冲信号的多次计数差值中的在时间上靠后的至少一次计数差值,确定为所述相应脉冲信号的计数差值。

由此,能够准确获取每一个脉冲信号对应的计数差值,相应的,能够提高脉冲信号的校准精度。换言之,通过对所述至少一个脉冲信号中每一个脉冲信号进行测试后,再获取每一个脉冲信号对应的计数差值,能够避免在系统不稳定或晶体不稳定的情况下测量的脉冲信号的计数差值不准确,能够提高计数差值的准确度和脉冲信号的校准精度。

在一些可能实现的方式中,所述方法还包括:

接收利用已校准应用系统生成的所述参考脉冲信号。

通过应用系统触发已校准芯片产生所述参考脉冲信号,能够在获取所述参考脉冲信号的基础上,简化所述芯片的结构并降低硬件成本。

在一些可能实现的方式中,所述参考脉冲信号为脉冲宽度调制PWM信号。

在一些可能实现的方式中,所述芯片为蓝牙低功耗BLE芯片。

第二方面,提供了一种芯片,所述芯片包括:

晶体,用于基于多个参数中的至少一个参数生成的至少一个脉冲信号;

处理单元,所述处理单元连接至所述晶体,所述处理单元用于:

获取所述至少一个脉冲信号的计数差值,所述至少一个脉冲信号中每一个脉冲信号的计数差值为利用由参考脉冲信号触发的两次外部中断获取的基于相应脉冲信号的系统滴答计数值之间的差值;

基于所述至少一个脉冲信号的计数差值确定目标参数;

将基于所述目标参数生成的脉冲信号确定为晶体校准后的脉冲信号。

在一些可能实现的方式中,所述处理单元具体用于:

利用二分法获取所述至少一个脉冲信号的计数差值。

在一些可能实现的方式中,所述处理单元更具体用于:

确定多个参数中的最小参数和最大参数;

基于最小参数和最大参数分别生成第一脉冲信号和第二脉冲信号;

分别获取所述第一脉冲信号的第一计数差值和第二脉冲信号的第二计数差值;

基于所述第一计数差值和所述第二计数差值确定所述目标参数。

在一些可能实现的方式中,所述处理单元更具体用于:

在所述第一计数差值和所述第二计数差值的平均值等于预设计数差值的情况下,将所述最小参数和所述最大参数的平均值确定为所述目标参数。

在一些可能实现的方式中,所述处理单元更具体用于:

在所述第一计数差值和所述第二计数差值的平均值大于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值加1确定为第一参数;

基于所述第一参数生成第三脉冲信号;

获取所述第三脉冲信号的第三计数差值;

基于所述第三计数差值和所述第二计数差值确定所述目标参数。

在一些可能实现的方式中,所述处理单元更具体用于:

在所述第一计数差值和所述第二计数差值的平均值小于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值减一确定为第二参数;

基于所述第二参数生成第四脉冲信号;

获取所述第四脉冲信号的第四计数差值;

基于所述第四计数差值和所述第一计数差值确定所述目标参数。

在一些可能实现的方式中,所述处理单元具体用于:

获取所述晶体基于所述多个参数分别生成的多个脉冲信号;

获取所述多个脉冲信号对应的多个计数差值;

利用二分法,获取所述多个计数差值中的与预设计数差值最接近的目标计数差值;

将所述目标计数差值对应的参数确定为所述目标参数。

在一些可能实现的方式中,所述处理单元还用于:

按照升序或降序对所述多个计数差值进行排序。

在一些可能实现的方式中,所述多个参数的参数数值随着脉冲信号的频率的增大而减小。

在一些可能实现的方式中,所述多个参数的参数数值与脉冲信号的频率成反比。

在一些可能实现的方式中,所述处理单元具体用于:

按照参数值升序或降序的顺序,依次获取至少一个脉冲信号的计数差值。

在一些可能实现的方式中,所述芯片还包括:

通用串行总线USB转串口和通用异步收发传输器UART集线器HUB,所述USB转串口通过所述UART HUB连接至所述处理单元,所述处理单元通过所述USB转串口和所述UARTHUB接收测试设备发送的校准信令,所述校准信令用于触发所述芯片进行晶体校准。

在一些可能实现的方式中,所述校准信令包括所述多个参数。

在一些可能实现的方式中,所述芯片还包括:

寄存器,所述处理单元通过所述寄存器连接至所述晶体,所述处理单元用于将所述多个参数存储至寄存器,以便通过控制所述寄存器向所述晶体发送所述多个参数。

在一些可能实现的方式中,所述处理单元还用于将校准结果存储至所述寄存器,所述校准结果用于指示所述目标参数。

在一些可能实现的方式中,所述芯片还包括:

通用串行总线USB转串口和通用异步收发传输器UART集线器HUB,所述USB转串口通过所述UART HUB连接至所述处理单元,所述处理单元通过所述USB转串口和所述UARTHUB向测试设备发送校准结果和/或所述至少一个脉冲信号的计数差值,所述校准结果用于指示所述目标参数,所述至少一个脉冲信号的计数差值用于所述测试设备在显示界面与预设计数差值进行比较。

在一些可能实现的方式中,所述处理单元具体用于:

获取所述至少一个脉冲信号中每一个脉冲信号的多次计数差值;

将所述至少一个脉冲信号中每一个脉冲信号的多次计数差值中的在时间上靠后的至少一次计数差值,确定为所述相应脉冲信号的计数差值。

在一些可能实现的方式中,所述处理单元具体用于:

接收利用已校准应用系统生成的所述参考脉冲信号。

在一些可能实现的方式中,所述参考脉冲信号为脉冲宽度调制PWM信号。

在一些可能实现的方式中,所述芯片为蓝牙低功耗BLE芯片。

第三方面,提供了一种蓝牙耳机,包括:

第二方面或第二方面中任一种可能实现的方式中所述的芯片。

附图说明

图1是本申请实施例的系统构架的示意图。

图2是本申请实施例的晶体校准的方法的示意性流程图。

图3是本申请实施例的晶体校准的方法的另一示意性流程图。

图4是本申请实施例的芯片的示意性框图。

具体实施方式

下面将结合附图,对本申请实施例中的技术方案进行描述。

本申请实施例中涉及的方法可以应用于各种晶体(又称为谐振器),也可以应用于具有晶体的各种芯片或电子设备。例如在封装内部添加IC组成振荡电路的晶体元件。所述方法也可以应用于晶振(又称为振荡器)。所述晶体也可以称为无源晶振,所述晶振也可称为有源晶振。例如,晶振可以理解为所述晶体与所述晶体相连的电容的组合器件。

又例如,所述芯片可以是单片机(Single-Chip Microcomputer)或集成电路芯片。例如,所述芯片可以是采用超大规模集成电路技术把具有数据处理能力的中央处理器(Central Processing Unit,CPU)、随机存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、多种I/O口和中断系统、将定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。

其中,晶体可以通过与所述晶体相连的电容的配合生成脉冲信号。本实施例中,可以将与晶体相连的电容集成到芯片内部,并且将电容值的大小做成可配置的状态。例如,将电容值做成配置的多个用于表示电容值的参数,使得芯片中的晶体可以基于所述多个参数分别生成多个脉冲信号。例如,芯片中的晶体可以基于配置的多个参数分别生成多个频率的脉冲信号。此时,用户可以通过修改电容值(即修改配置的参数)的大小对脉冲信号的频率进行调整。由于每一个电路中元器件的一致性的问题,每一个产品在投入使用之前都需要单独设置一个最佳的电容值,使得脉冲信号的频率符合应用需求。本申请实施例的涉及的晶体校准可以指芯片在投入使用之前获取这个最佳电容值(或者最佳参数)的过程。当然,上述晶体校准可以包括修复后的校准或测试,以确定产品是否按照原始产品规格执行或运行其功能。

图1是本申请实施例的系统构架的示意性框图。

如图1所示,所述系统构架100可以包括测试设备110、中间设备或系统120以及芯片130。其中,所述测试设备110可以用于负责整个校准流程的启动或触发,例如,将用于生成脉冲信号的参数下发给中间设备或系统120,以便所述中间设备或系统将其转发给所述芯片130。所述测试设备110还可以用于显示校准结果。所述中间设备或系统120还可以用于生成参考脉冲信号。所述芯片130可以基于所述中间设备或系统120生成的参考脉冲信号和芯片130中的晶体生成的待校准的脉冲信号进行比较,以确定校准结果。所述芯片130还可以将校准结果通过中间设备或系统120发送给测试设备110,以便所述测试设备110显示所述校准结果。

所述测试设备110也可以称为校准工具或测试平台。例如,所述测试设备可以是个人计算机或者个人电脑(Personal Computer,PC)。比如传统的台式电脑、DIY电脑、笔记本电脑、以及近年来开始流行的平板电脑、一体机电脑、超级本、掌上电脑、嵌入式计算机等等。

在本申请的一些实施例中,所述测试设备110可以包括通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)111。所述UART111将要传输的信息或数据在串行通信与并行通信之间加以转换。例如,将并行输入信号转成串行输出信号的芯片,所述UART 111可以被集成于所述测试设备110的通讯接口的连结上。所述测试设备110可以通过所述UART 111向所述中间设备或系统120发送参考脉冲信号触发命令,所述参考脉冲信号触发命令用于触发所述中间设备或系统120生成至少一个参考脉冲信号。例如,所述参考脉冲信号触发命令用于触发所述中间设备或系统120生成参考脉冲信号。

所述中间设备或系统120可以是独立于所述测试设备110和芯片130的物理设备,也可以是集成在所述测试设备110或芯片上的装置或应用程序。

在本申请的一些实施例中,所述中间设备或系统120还可以包括应用系统121,用于生成参考脉冲信号。例如,所述应用系统121可以生成16路参考脉冲信号。例如,所述参考脉冲信号可以为时钟信号(clock signal,CLK),即CLK…CLK16。可选地,所述中间设备或系统120可以包括通用串行总线(Universal Serial Bus,USB)转串口122,用于将所述测试设备110的USB接口转换成通用串口,便于快速接收所述测试设备110发送的信息或数据。例如,所述USB转串口122可以将一路串口转换成4路串口。可选地,所述测试设备还可以包括通用异步收发传输器集线器(Universal Asynchronous Receiver/TransmitterHub,UARTHUB)123,所述UARTHUB 123可以用于将接收到的信号分成多路串口。例如,所述UARTHUB 123可以用于将接收到的4路串口转换层16路串口。即所述UARTHUB 123可以连接至UART 1…UART 16串口。例如,所述中间设备或系统120可以通过所述UART 1…UART 16串口将待发送的信息广播给芯片130。

串口也可称为串行接口、串行通信接口或串行通讯接口(例如COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface)将数据一位一位地顺序传送,其通信线路简单,可以实现双向通信(可以直接利用电话线作为传输线)。

所述芯片130可以称为待测设备(Device Under Test,DUT),所述待测设备也称为被测设备(EUT)和被测单元(UUT)。所述待测设备可以是在首次制造时或在其生命周期后期进行测试的制造产品。上述芯片130可以是包括晶体或晶振的任意类型的芯片。例如,所述芯片130可以是蓝牙低功耗(Bluetooth Low Energy,BLE)芯片,所述BLE芯片也可以称为低功耗蓝牙芯片。

在本申请的一些实施例中,所述芯片130可以包括晶体131,所述晶体131用于生成脉冲信号,以便所述芯片130能够正常运行。可选地,所述芯片130还可以包括处理单元132,所述处理单元可以用于进行晶体校准过程,即判断待校准的脉冲信号是否能够达到预期的频率,或比较待校准的脉冲信号和参考脉冲信号。可选地,所述芯片130还可以包括寄存器133,所述寄存器133用于存储用于生成脉冲信号的参数。在校准过程中,所述处理单元132可以通过控制所述寄存器133将待校准的参数发送至所述晶体,以便所述晶体生成相应的脉冲信号。

需要说明的是,在图1的框架中,所述中间设备或系统120可以同时生成16路参考信号(即CLK1…CLK16),所述中间设备或系统120也可以通过16路串口(UART 1…UART 16串口)发送信息或数据。换言之,图1所示的框架100可以用于同时对16个芯片进行校准,其中芯片130可以是所述16个芯片中的一个。当然,实际操作中,可以根据需求对一个或多个芯片进行校准,也可以设置小于16路或大于16路的参考脉冲信号(或UART串口),本申请实施例对此不做限定。

图2是本身实施例的晶体校准的方法200的示意性流程图。所述方法200适用于图1所示的晶体131或芯片130,也适用于系统框架100,为便于理解,下面以所述方法200的执行主体为芯片为例对所述方法进行说明。例如蓝牙低功耗(Bluetooth Low Energy,BLE)芯片。

如图2所示,上所述方法200可以包括:

S210,获取至少一个脉冲信号的计数差值,所述至少一个脉冲信号包括所述晶体基于多个参数中的至少一个参数生成的脉冲信号,所述至少一个脉冲信号中每一个脉冲信号的计数差值为利用由参考脉冲信号触发的两次外部中断获取的基于相应脉冲信号的系统滴答计数值之间的差值。

S220,基于所述至少一个脉冲信号的计数差值确定目标参数。

S230,将基于所述目标参数生成的脉冲信号确定为晶体校准后的脉冲信号。

简言之,芯片中的晶体基于获取到的至少一个参数分别生成至少一个脉冲信号后,所述芯片的处理单元可以通过比较所述至少一个脉冲信号和参考脉冲信号,确定出所述至少一个脉冲信号的计数差值(即所述至少一个脉冲信号中的每一个脉冲信号为时钟信号,通过所述参考脉冲信号触发的两次外部中断获取系统滴答计数器输出的两个计数值,并将所述两个计数值的差值作为同一个脉冲信号的计数差值),然后基于所述至少一个脉冲信号的计数差值,确定出校准结果(即所述目标参数)。其中,所述晶体基于所述目标参数生成的脉冲信号的频率最符合预期频率。所述校准结果可以用于指示所述目标参数或基于所述目标参数生成的脉冲信号,或所述校准结果还可用于指示所述目标参数对应的计数差值。

通过所述至少一个脉冲信号的计数差值确定所述目标参数,不仅能够实现脉冲信号的自动校准降低了人力成本,还能够在降低校准机制的复杂度的同时提高校准效率。

其中,所述参考脉冲信号可以是如图1所示的应用系统121触发已校准的其他芯片生成的脉冲信号。

在本申请的一些实施例中,所述方法200还可包括:

所述芯片接收利用已校准应用系统生成的所述参考脉冲信号。

当然,本申请实施例不限于此。例如,在其他可替代实施例中,还可以通过集成有现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)的硬件电路提供一个高精度的参考脉冲信号。

所述参考脉冲信号可以是任意精准度达到条件的脉冲信号。例如,所述参考脉冲信号可以是脉冲宽度调制(Pulse Width Modulation,PWM)信号。可以通过模拟控制方式调制信号,以生成所述PWM信号。例如,可以通过调制脉冲的宽度等效出所需要的波形(包含形状以及幅值),进而对模拟信号电平进行数字编码,生成可以用于发送的信息或数据。例如,可以通过调节占空比的变化调节信号、能量等的变化。占空比可以是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。

在本申请的一些实施例中,可以直接通过芯片的内部模块生成PWM信号。例如,可以通过图1所示的芯片130或应用系统121生成PWM信号。例如,所述芯片130的I/O接口可以设置有集成模块。换言之,所述芯片130可以设置有带PWM信号输出的功能模块在程序。其中,I/O接口可以是所述芯片130与被控对象进行信息交换的纽带。所述芯片130可以通过I/O接口与外部设备进行数据交换。所述I/O接口可以是可编程接口,即所述I/O接口的工作方式可由程序进行控制。

下面对本申请实施例中芯片获取至少一个脉冲信号的计数差值的方法进行说明。

在本申请的一些实施例中,应用系统121在进行晶体校准之前可以是已使用频谱仪校准的系统,时钟频率准确度已经达到比标准协议(例如BLE标准协议)更精确的状态。实际操作中,所述应用系统121可以产生一个精准的一定频率(例如40Hz)的PWM信号给芯片130。芯片130通过一个可作为外部中断输入的I/O接口去采样应用系统121产生的PWM信号。校准的过程可以在芯片130内执行,由应用系统121产生的PWM信号驱动。

以利用遍历的方式获取所述多个脉冲信号对应的多个计数差值为例,结合图1来说,当测试设备110发送串口指令启动校准流程时,芯片130往寄存器133中写入一个参数(即用于生成脉冲信号的参数)。例如,所述参数可以是偏置值。又例如,所述偏置值的初始值可以是0。然后,所述芯片130可以计算两次外部中断之间系统嘀嗒时钟计数的差值并记录(假设系统嘀嗒时钟的时钟频率设置为64M,如果晶体已被校准的情况下系统嘀嗒时钟的时钟频率会无限接近64M,当系统嘀嗒时钟的频率为64M时,40Hz的PWM信号触发的两次外部中断之间系统嘀嗒计数值的差值应该为1600000,即预设计数差值可以为1600000),之后参数+1并写入寄存器133,再次计算两次外部中断之间系统嘀嗒时钟计数的差值并记录,遍历完所有晶体校准的参数,找出系统嘀嗒计数值的差值最接近1600000对应的参数,即为晶体校准的目标参数(可以用于体现校准结果)。

需要说明的是,寄存器可以基于所述目标参数触发晶体生成校准后的脉冲信号,例如,寄存器可以基于所述目标参数将与所述晶体连接的电容器的电容值修改(或调整)为所述目标参数对应的电容值,以生成校准后的脉冲信号。换言之,上述多个参数分别对应已配置的多个电容值。例如,所述多个参数与所述多个电容值一一对应。在所述多个参数中选择出所述目标参数作为最优参数,使得基于所述目标参数对应的电容值生成的脉冲信号为最符合预期(即最精准)的脉冲信号。

上述过程中,采用遍历的方法去测试每一个可能的参数,然后选出优的参数作为校准结果。本申请为例降低时间成本,减少参数或计数差值的采样数,可以只通过所述至少一个脉冲信号的计数差值确定所述目标参数,不仅能够实现脉冲信号的自动校准降低了人力成本,还能够在降低校准机制的复杂度的同时提高校准效率。

在本申请的一些实施例中,所述S210可包括:

利用二分法获取所述至少一个脉冲信号的计数差值。

例如,可以先利用二分法从所述多个参数中获取至少一个采样参数,然后基于所述至少一个采样参数分别生成的所述至少一个脉冲信号,获取至少一个脉冲信号的计数差值。

换言之,芯片可以基于二分法对多个参数进行采样,然后基于采样的参数生成脉冲信号,再基于脉冲信号的计数差值进行晶体校准。或者说,所述芯片可以基于二分法对所述多个参数进行采样,然后获取的脉冲信号的计数差值确定是否继续进行采样。

在本申请的一些实施例中,芯片可以先确定多个参数中的最小参数和最大参数;再基于最小参数和最大参数分别生成第一脉冲信号和第二脉冲信号;然后分别获取所述第一脉冲信号的第一计数差值和第二脉冲信号的第二计数差值;此时所述芯片可以基于所述第一计数差值和所述第二计数差值确定所述目标参数。

例如,所述芯片可以通过比较预设计数差值和所述第一计数差值和所述第二计数差值的平均值,确定所述目标参数。

其中,所述预设计数差值可以是基于预设的脉冲信号对应的计数差值,即所述预设计数差值可以为利用由参考脉冲信号触发的两次外部中断获取的基于已校准的脉冲信号的系统滴答计数值之间的差值。所述预设计数差值可以是预先设定好的计数差值,也可以是预先测量的计数差值,当然,也可以是在校准过程中测量的计数差值,本申请实施例对此不做限定。

换言之,所述芯片可以先在所述多个参数中将最大参数和最小参数作为采样参数,以基于所述采样参数获取脉冲信号,再基于所述第一计数差值和所述第二计数的平均值,确定是否需要继续在所述多个参数中获取采样参数。

例如,在所述第一计数差值和所述第二计数差值的平均值等于预设计数差值的情况下,可以将所述最小参数和所述最大参数的平均值确定为所述目标参数。换言之,所述芯片在获取所述第一计数差值和所述第二计数差值之后,不需要再获取采样参数。

又例如,在所述第一计数差值和所述第二计数差值的平均值大于所述预设计数差值的情况下,可以将所述最小参数和所述最大参数的平均值加1确定为第一参数;基于所述第一参数生成第三脉冲信号;获取所述第三脉冲信号的第三计数差值;基于所述第三计数差值和所述第二计数差值确定所述目标参数。换言之,所述芯片在获取所述第一计数差值和所述第二计数差值之后,还需要利用二分法将所述第一参数作为采样参数,以获取所述第三脉冲信号。可选地,所述多个参数为连续参数。可选地,所述多个参数包括所述第一参数。可选地,在所述多个参数中,所述多个参数的参数数值随脉冲信号的计数差值的增大而减小;或者,所述多个参数的参数数值随脉冲信号的计数差值的减小而增大。

利用二分法在所述多个参数中确定采样参数,能够在保证校准精度的情况下,减少采样参数,即减少需要生成的脉冲信号,也减小了需要测量的计数差值,能够有效提高校准效率并缩小校准时间。

又例如,在所述第一计数差值和所述第二计数差值的平均值小于所述预设计数差值的情况下,可以将所述最小参数和所述最大参数的平均值减一确定为第二参数;基于所述第二参数生成第四脉冲信号;获取所述第四脉冲信号的第四计数差值;基于所述第四计数差值和所述第一计数差值确定所述目标参数。换言之,所述芯片在获取所述第一计数差值和所述第二计数差值之后,还需要利用二分法将所述第二参数作为采样参数,以获取所述第四脉冲信号。可选地,所述多个参数为连续参数。可选地,所述多个参数包括所述第二参数。可选地,在所述多个参数中,所述多个参数的参数数值随脉冲信号的计数差值的增大而减小;或者,所述多个参数的参数数值随脉冲信号的计数差值的减小而增大。

利用二分法在所述多个参数中确定采样参数,能够在保证校准精度的情况下,减少采样参数,即减少需要生成的脉冲信号,也减小了需要测量的计数差值,能够有效提高校准效率并缩小校准时间。

综上所述,利用二分化获取至少一个脉冲信号的计数差值,避免了获取所有的脉冲信号的计数差值,降低了需要获取的计数差值的总量,能够在保证校准准确度的同时,提高校准效率并减少时间成本。

图3是本申请实施例的晶体校准的方法300的示意性流程图。

如图3所示,所述方法300可包括以下中的部分或全部内容:

S310,芯片获取最小参数和最大参数。

S320,所述芯片基于所述最小参数和所述最大参数分别生成第一脉冲信号和第二脉冲信号,并判断是否已经通过参考脉冲信号触发所述第一脉冲信号和所述第二脉冲信号外部中断?

S330,若通过参考脉冲信号已分别触发所述第一脉冲信号和所述第二脉冲信号外部中断,所述芯片获取所述第一脉冲信号的计数差值和所述第二脉冲信号的计数差值。若没有通过参考脉冲信号触发所述第一脉冲信号或所述第二脉冲信号外部中断,返回到S320并执行。

S340,所述芯片是否已获取所述第一脉冲信号的5次计数差值和所述第二脉冲信号的5次计数差值?

S350,若所述芯片已获取所述第一脉冲信号的5次计数差值和所述第二脉冲信号的5次计数差值,所述芯片将所述第一脉冲信号的5次计数差值中的后3次计数差值的平均值,确定为所述第一脉冲信号对应的第一计数差值;将所述第二脉冲信号的5次计数差值中的后3次计数差值的平均值,确定为所述第二脉冲信号对应的第二计数差值。若所述芯片没有获取所述第一脉冲信号的5次计数差值或所述第二脉冲信号的5次计数差值,返回到S320并执行。

S360,所述最小参数是否小于所述最大参数?

S390,若所述最小参数等于所述最大参数,所述芯片将所述最小参数或所述最大参数确定为目标参数。

S370,若所述最小参数小于所述最大参数,判断所述第一计数差值和所述第二计数差值的平均值是否等于预设计数差值?

S371,若所述第一计数差值和所述第二计数差值的平均值等于预设计数差值,所述芯片将所述最小参数和所述最大参数的平均值确定为目标参数。

S380,若所述第一计数差值和所述第二计数差值的平均值不等于预设计数差值,判断所述第一计数差值和所述第二计数差值的平均值是否大于所述预设计数差值?

S381,若所述第一计数差值和所述第二计数差值的平均值大于所述预设计数差值,所述芯片将所述最小参数和所述最大参数的平均值加1重新确定为最小参数,返回到S320并执行。

S382,若所述第一计数差值和所述第二计数差值的平均值小于所述预设计数差值,所述芯片将所述最小参数和所述最大参数的平均值减1重新确定为所述最大参数,返回到S320并执行。

S390,校准结束。

在本申请的另一些实施例中,所述S210可包括:

获取所述晶体基于所述多个参数分别生成的多个脉冲信号;

此时,所述芯片可以先获取所述多个脉冲信号对应的多个计数差值;然后利用二分法,获取所述多个计数差值中的与预设计数差值最接近的目标计数差值;最后将所述目标计数差值对应的参数确定为所述目标参数。

通过二分法获取目标计数差值,避免了遍历式的比较所述预设计数差值与每一个脉冲信号的计数差值,降低了芯片的计算量,提升了校准效率并减小了时间成本。

在本申请的一些实施例中,所述方法200还可包括:

按照升序或降序对所述多个计数差值进行排序。

换言之,芯片获取所述多个计数差值后,将所述多个计数差值按照升序或降序排列,然后基于排列好的一组计数差值,利用二分法找到与所述预设计数差值最接近的目标计数差值。

例如,芯片可以先将所述多个计数差值组成的集合,确定为第一差值集合;然后在所述第一差值集合内,利用二分法确定所述目标计数差值。所述第一差值集合内的计数差值按升序或降序排序。

此时,所述芯片可以先确定所述第一差值集合内的中间位置的计数差值;在所述中间位置的计数差值等于所述预设计数差值的情况下,将所述中间位置的计数差值确定为所述目标计数差值。在所述中间位置的计数差值小于所述预设计数差值的情况下,若所述第一差值集合按升序排序,在所述第一差值集合的后半段中确定所述目标计数差值,若所述第一差值结合按降序排序,在所述第一差值集合的前半段中确定所述目标计数差值。在所述中间位置的计数差值大于所述预设计数差值的情况下,若所述第一差值集合按升序排序,在所述第一差值集合的前半段中确定所述目标计数差值,若所述第一差值结合按降序排序,在所述第一差值集合的后半段中确定所述目标计数差值。

在本申请的一些实施例中,所述多个参数的参数数值随着脉冲信号的频率的增大而减小。

例如,所述多个参数的参数数值与脉冲信号的频率成反比。

换言之,所述多个参数的参数数值随着脉冲信号的计数差值的增大而减小。例如,所述多个参数的参数数值与脉冲信号的计数差值成反比。

通过定义所述多个参数的特性,能够使得获取的差值计数按照由大到小或由小到大的顺序自动排序,避免了获取所述多个计数差值后重新对所述多个计数差值重新排序的步骤,在通过二分法获取目标参数或目标计数差值的基础上,有效降低了校准脉冲信号的时间成本。

换言之,将所述多个参数的参数数值随着脉冲信号的频率的增大而减小,使得所述多个参数的参数数值随脉冲信号的计数差值的增大而减小,或者使得所述多个参数的参数数值随脉冲信号的计数差值的减小而增大,以便所述芯片利用二分法确定所述目标参数或目标计数差值。

在本申请的一些实施例中,所述S210可包括:

按照参数值升序或降序的顺序,依次获取至少一个脉冲信号的计数差值。

在本申请的一些实施例中,所述方法200还可包括:

利用USB转串口和UART HUB接收测试设备发送的校准信令,所述校准信令用于触发所述芯片进行晶体校准。

在本申请的一些实施例中,所述校准信令包括所述多个参数。

在本申请的一些实施例中,所述方法200还可包括:

将所述多个参数存储至寄存器,以便通过控制所述寄存器向所述晶体发送所述多个参数。

通过寄存器触发晶体生成待校准的脉冲信号,即寄存器负责并控制晶体生成待校准信号的操作,降低了芯片的工作负荷,有效提高了芯片进行脉冲信号校准的工作效率。

在本申请的一些实施例中,所述方法200还可包括:

将校准结果存储至所述寄存器,所述校准结果用于指示所述目标参数。

在本申请的一些实施例中,所述方法200还可包括:

利用USB转串口和UART HUB向测试设备发送校准结果和/或所述至少一个脉冲信号的计数差值,所述校准结果用于指示所述目标参数,所述至少一个脉冲信号的计数差值用于所述测试设备在显示界面与预设计数差值进行比较。

通过向测试设备发送所述至少一个脉冲信号的计数差值,使得用户能够在所述测试设备的显示界面上能够观察到所述至少一个脉冲信号的计数差值中的每一个计数差值和所述预设计数差值之间的对应关系,便于用户进行人工的调整目标计数差值,以实现自动校准配合人工校准的校准机制。类似地,通过向测试设备发送所述校准结果,有便于设计人员进行批量校准以及调整参数设计。

在本申请的一些实施例中,所述S210可包括:

获取所述至少一个脉冲信号中每一个脉冲信号的多次计数差值;

将所述至少一个脉冲信号中每一个脉冲信号的多次计数差值中的在时间上靠后的至少一次计数差值,确定为所述相应脉冲信号的计数差值。

由此,能够准确获取每一个脉冲信号对应的计数差值,相应的,能够提高脉冲信号的校准精度。换言之,通过对所述至少一个脉冲信号中每一个脉冲信号进行测试后,再获取每一个脉冲信号对应的计数差值,能够避免在系统不稳定或晶体不稳定的情况下测量的脉冲信号的计数差值不准确,能够提高计数差值的准确度和脉冲信号的校准精度。

此外,本申请还提供了一种可用于执行上述方法200或300芯片。

图4是本申请实施例的芯片400的示意性框图。所述芯片400可以是图1所示的芯片130。

如图4所示,所述芯片400可包括:

晶体410,用于基于多个参数分别生成的多个脉冲信号;

处理单元420,所述处理单元420连接至所述晶体410,所述处理单元420用于:

获取所述晶体410基于多个参数中的至少一个参数生成的至少一个脉冲信号;

获取至少一个脉冲信号的计数差值,所述至少一个脉冲信号中每一个脉冲信号的计数差值为利用由参考脉冲信号触发的两次外部中断获取的基于相应脉冲信号的系统滴答计数值之间的差值;

基于所述至少一个脉冲信号的计数差值确定目标参数;

将基于所述目标参数生成的脉冲信号确定为晶体410校准后的脉冲信号。

在本申请的一些实施例中,所述处理单元420具体用于:

利用二分法获取所述至少一个脉冲信号的计数差值。

在本申请的一些实施例中,所述处理单元420更具体用于:

确定多个参数中的最小参数和最大参数;

基于最小参数和最大参数分别生成第一脉冲信号和第二脉冲信号;

分别获取所述第一脉冲信号的第一计数差值和第二脉冲信号的第二计数差值;

基于所述第一计数差值和所述第二计数差值确定所述目标参数。

在本申请的一些实施例中,所述处理单元420更具体用于:

在所述第一计数差值和所述第二计数差值的平均值等于预设计数差值的情况下,将所述最小参数和所述最大参数的平均值确定为所述目标参数。

在本申请的一些实施例中,所述处理单元420更具体用于:

在所述第一计数差值和所述第二计数差值的平均值大于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值加1确定为第一参数;

基于所述第一参数生成第三脉冲信号;

获取所述第三脉冲信号的第三计数差值;

基于所述第三计数差值和所述第二计数差值确定所述目标参数。

在本申请的一些实施例中,所述处理单元420更具体用于:

在所述第一计数差值和所述第二计数差值的平均值小于所述预设计数差值的情况下,将所述最小参数和所述最大参数的平均值减一确定为第二参数;

基于所述第二参数生成第四脉冲信号;

获取所述第四脉冲信号的第四计数差值;

基于所述第四计数差值和所述第一计数差值确定所述目标参数。

在本申请的一些实施例中,所述处理单元420具体用于:

获取所述晶体410基于所述多个参数分别生成的多个脉冲信号;

获取所述多个脉冲信号对应的多个计数差值;

利用二分法,获取所述多个计数差值中的与预设计数差值最接近的目标计数差值;

将所述目标计数差值对应的参数确定为所述目标参数。

在本申请的一些实施例中,所述处理单元420还用于:

按照升序或降序对所述多个计数差值进行排序。

在本申请的一些实施例中,所述多个参数的参数数值随着脉冲信号的频率的增大而减小。

在本申请的一些实施例中,所述多个参数的参数数值与脉冲信号的频率成反比。

在本申请的一些实施例中,所述处理单元420具体用于:

按照参数值升序或降序的顺序,依次获取至少一个脉冲信号的计数差值。

在本申请的一些实施例中,所述芯片还包括:

通用串行总线USB转串口和通用异步收发传输器UART集线器HUB,所述USB转串口通过所述UART HUB连接至所述处理单元420,所述处理单元420通过所述USB转串口和所述UART HUB接收测试设备发送的校准信令,所述校准信令用于触发所述芯片进行晶体410校准。

在本申请的一些实施例中,所述校准信令包括所述多个参数。

在本申请的一些实施例中,所述芯片还包括:

寄存器,所述处理单元420通过所述寄存器连接至所述晶体410,所述处理单元420用于将所述多个参数存储至寄存器,以便通过控制所述寄存器向所述晶体410发送所述多个参数。

在本申请的一些实施例中,所述处理单元420还用于将校准结果存储至所述寄存器,所述校准结果用于指示所述目标参数。

在本申请的一些实施例中,所述芯片还包括:

通用串行总线USB转串口和通用异步收发传输器UART集线器HUB,所述USB转串口通过所述UART HUB连接至所述处理单元420,所述处理单元420通过所述USB转串口和所述UART HUB向测试设备发送校准结果和/或所述至少一个脉冲信号的计数差值,所述校准结果用于指示所述目标参数,所述至少一个脉冲信号的计数差值用于所述测试设备在显示界面与预设计数差值进行比较。

在本申请的一些实施例中,所述处理单元420具体用于:

获取所述至少一个脉冲信号中每一个脉冲信号的多次计数差值;

将所述至少一个脉冲信号中每一个脉冲信号的多次计数差值中的在时间上靠后的至少一次计数差值,确定为所述相应脉冲信号的计数差值。

在本申请的一些实施例中,所述处理单元420具体用于:

接收利用已校准应用系统生成的所述参考脉冲信号。

在本申请的一些实施例中,所述参考脉冲信号为脉冲宽度调制PWM信号。

在本申请的一些实施例中,所述芯片为蓝牙低功耗BLE芯片。

另外,本申请还提供了一种蓝牙耳机,所述蓝牙耳机可包括上述芯片400。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:放大器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!