zoukankan      html  css  js  c++  java
  • 耳机jack构造及在应用时可能出现的问题

      目前市场上耳机分为4环耳机(图1所示,iphone型)和3环耳机(图2所示)。4环耳机称为headset,3环耳机称为headphone,两者之间的区别就是4环耳机比3环耳机多个micphone。而Jack其实就是PC、PAD & Phone等设备上的耳机插口。

                                                          

                                                                                         图1                                                                        图2                                                                                  

      与耳机对应,一般常见的Jack都是由5PIN or 6PIN组成,其中PIN脚分别作为HP_OUTL(左声道输出)、HP_OUTR(右声道输出)、HP_DET#(耳机检测)、GROUND(地) & MIC(麦克风)使用。

      在讲Jack的构造之前,先描述下驱动中耳机检测的一般流程:

      <PLUG IN>HP_DET#信号由High->Low,触发IRQ到SOC,进入中断处理函数(即耳机类型检测);当检测到耳机为4环耳机时,直接上报给系统,并Enable butten press功能;若检测到为3环耳机时,继续检测,直到检测为4环耳机或则检测次数已满,然后将当前耳机状态上报给系统。

      <PLUG OUT>HP_DET#信号由Low->High,触发IRQ到SOC,将当前耳机状态上报系统,并Disable那些和耳机相关的工作;

      虽然Jack仅由5~6PIN组成,但不同的厂商会将其设计成各种各样。Jack的不同构造会对应着不同现象,下面描述我平时遇到的一些Jack构造以及其对应出现的现象。若有不对之处,还希望大家给予指正,谢谢!


      Type1:

                                          
     图3                                                                                      图4

      对于Type1的两个jack在功能上实际是一致的,并且都为5PIN脚。该Jack构造是HP_DET#和HPOUTL处于最前端,并且在同一位置,这样的设计是只有当耳机全部插入的时候,才能触发HP_DET#信号。由耳机检测的流程可知,该构造应该能很快的辨别出插入的耳机是3环 or 4环。并且不管快拔 or 慢拔耳机,都能第一时间触发HP_DET#信号。

      Type2:

    图5

      Type2与Type1的jack的构造区别在于HP_DET#和HP_OUTL引脚不在同一位置,Type2类型的jack中HP_OUTL引脚会比HP_DET#更靠前。

      这样的构造可能会出现当4环耳机刚拔出1环左右长度时,在这种情况下,6个PIN的状态可能如下:HP_OUTL处于float状态;HP_DET# & HS_OUTR处于第一环;AGND处于第二环;MIC2P_HP处于第三环,恰好是耳机的“-G-”,使得MIC2P_HP引脚的电压值为0.0V。由于HP_DET#依旧处于Pull Low状态,这样系统认为4环耳机仍然插入,而此时MIC2P_HP引脚因接地,导致其引脚电压值一直为0.0V,这与插入4环耳机,长按Butten的效果是一样的。

      有的Android机台,会有Google Search功能,除了在操作界面上唤醒该功能外,还可以使用长按4环耳机的Butten键。

      Type3:

    图6

      Type3 Jack的构造是将HP_DET# & AGND引脚接到同一位置,这样当耳机插入2节左右长度时,系统就可以识别到有耳机插入。使用Type3 Jack除了会出现Type2 Jack问题外,还会出现当慢慢斜着插入3环耳机时,系统会认为是4环耳机直接上报给上层。这个问题可以通过机构的设计解决“斜插”的问题,从而消除3环误认为4环的现象。

      Type4:

    图7

      Type4 Jack的构造是HP_DET#处于最前端,这就与Type1 Jack的构造效果一致。

      总结:本文主要描述了几种Jack的构造及其对应可能出现的问题。不足与不当之处希望大家见谅与指正。谢谢!

  • 相关阅读:
    <原创>engine中地块的自动编号函数
    <原创>获取窗口上RadioButton的Tag值
    <原创>SQLServer一个高效的存储过程
    ArcEngine中放大、缩小、移动等功能实现的方法
    sublime No packages available for installation
    特殊字符,英文,中文排序
    关于 js中replace 特殊符号 ‘.’ 的问题
    12.3日电话面试
    electron 打包后node_modules 体积过于庞大
    git 本地同步分支数,删除远程已经删除掉的多余分支
  • 原文地址:https://www.cnblogs.com/Peter-Chen/p/3999212.html
Copyright © 2011-2022 走看看