专利名称:电容感应开关及开关阵列的制作方法
背景技术:
本发明涉及电容感应开关及电容感应开关阵列。
目前的技术中已有电容感应开关。他们可以根据相关于频移检测电路、分压器电路、或是阻容时序电路而分类。
Smith的美国专利第4,495,485号以及Yoshikawa等人的美国专利第4,567,470号中揭示了频移检测电路。Smith采用了在一个键盘上包含感应区的电容网装置。网络提供了最终决定采用555时钟的振荡器的振荡频率的RC电路的有效电容。采用检测555时钟振荡器频率偏移的方法来确定是否有一个物体接近感应区。
Yoshikawa等人的美国专利第4,567,470号揭示了连接到一个模拟器转换开关的感应触片,模拟转换开关最终又将每一个触片连接到一个振荡器电路上,转换开关上连接了一个补偿电路用于补偿每一个触片的电容,以使得在无任何触片被触及时使振荡器在谐振频率振荡。一个比较器检测振荡器输出的电平。当触及一个触片时,人体电容改变了振荡频率而使得输出电平下降,并由比较器检测到。比较器选通将代表被触及的触片的地址值加载到寄存器中。通常,上述两种装置中用于检测因电容而造成的频率改变的电路的复杂度高。此外,很显然不改变电路无法快速方便地重新校准振荡器的参考频率。
Bollaway的美国专利第5,012,124号,Cntler等人的美国专利第4,291,303号,Eichalberger等人的美国专利第4,145,748号,Ballsgawa的美国专利第4,772,874号揭示了分压器电路。Ballaway的专利揭示的是许多触片在同一时刻由一共同的振荡器信号激活,分压器由一个固定的电阻和人体触及触片时的人体电容构成,产生一个压降,该压降经整形和滤波成一个直流电压值,该直流电压值又经转换成为一个数字形式。直流电压值同预先存储的参考值相比高或低表示代表开关条件的信号线开或关的条件。该信号线是复用的,由微处理器来翻译。外部的复用器和模拟转换器增加了电路不必要的复杂度和成本。
Cntler等人的专利揭示了一系列电容耦合设备,通过人手指对信号地的电容耦合信号。该专利中表明经过这种耦合扫描信号电压将降低约20%。这种电压降落若被缓存并使用于一个阻容电路,该电路产生用于同阈值电压相比较的输出电压,如果输出电压低于阈值电压将触发比较器,类似于触片被触及的情形。为克服人的手指电容耦合进其他耦合设备所产生的影响,需要额外的电路。
Eichelherger等人的专利揭示了一种电容键盘阵列,包括一个多按键面板,通过将操作者手指的电容耦合到信号地以实现分压。结果产生一个信号,其电压依赖于用户手指和按键的接近度,并提供到一个模数(A/D)转换器,其将代表信号的数值同预先存储的参考值相比较。比较器的输出表示了按键被触及和未触及的状态。通过将装载参考值的计数器增加或减少,周期性地更新参考值。这表明有额外的电路。
Easogawa的专利揭示了一种包含可按式键的键盘。这些按键将一个时钟信号电容性地从列线路耦合到行线路,并在行线路中产生一个具有由压下和放开按键之间的时间决定脉冲宽度的信号。按键被按下的越深,脉冲宽度越宽。检测脉冲宽度可以用来决定是否有按键被按下,这样使用者必须保持一个键被按下必要的时间才能激活指定的键。
阻容时序电路在Aubuchon的美国专利第4,592,913号及Hunts等人的美国专利第4,157,539号中被揭示。Aubuchon揭示了一种多个异步感应电路,每个电路可以从一个普通时钟接收一个时钟脉冲。各感应电路接收并反转时钟脉冲,以向RC网络提交一个低电平,RC网络中的C由使用者的手指产生。由同RC网络相连的与非门产生的数字信号电平经一预置的或参考时间后被锁入一D触发器,D触发器的输出表示被按条件的真假状态。
Hunts等人的专利揭示了一种连接在两条信号线之间的多个耦合装置。使用者的手指和触片的接近使两条信号线都耦合到地。每条信号线被顺序地设为高以表示包括使用者手指的第一个RC网络和包括参考电容的第二个RC网络的充电过程。根据哪一个RC网络先达到预期的电平,由一个触发器置位来表示用户手指是否在相应于被起动信号线的触片上。
上述RC时序装置的问题是他们各自都使用一个公共的参考电容来比较一批开关单元。结果,由于电路板的布局造成的电容的差异可能使一些开关单元比其他更敏感。这可能给以感应方式检测物体接近的能力带来相反的影响,而且开关误激活的可能性更大。
我们所期望的是一个电容感应开关阵列,其中的每个开关单元可以被独立地选中,并有一个数字计时器用于产生被选开关单元电容充电时间的计时值,各开关单元中数字计时值同表示被选开关单元不受外界影响作用时得到的计时值的相应参考计时值比较,以产生一个表示开关单元开/关情形的信号。在这种方式下,每个开关单元将有一个独立的参考计时值。
发明概述根据本发明的一个方面,提供了一个电容感应开关单元,包括一个可根据物体距其实际接近度而产生有效电容的容性器件,一个同容性器件相连的前级选择器信号输入,以使前述输入信号对有效电容充电,一个同容性器件相连的阈值信号产生电路,用于产生一个阈值信号,当有效电路被充电至一个预定电压时该阈值信号被激活,一个开关电路,可以根据一个开关信号,选择性地将容性器件同阈值信号产生电路连通,以及一个同容性器件相连的放电控制电路,用于根据放电信号而不依赖输入信号,选择性地将有效电容放电。
优选地,阈值信号产生电路包括一个缓冲电路,用于无需实际加载容性器件,而产生表示容性器件电压的导出电压。
优选地,缓冲电路包括一个射极跟随器电路,在其中包含的阻抗两端产生上述导出电压。
优选地,阈值信号产生电路包括一个开关器件,用于当导出电压大于代表预定电压的表示电压时激活阈值信号。
优选地,开关器件包括一个施密特触发器电路用于降低阈值电路的误激活性。
优选地,本装置包括一个开关单元控制电路,用于产生输入信号、开关信号和放电信号,以使得阈值信号产生电路在放电信号被抑制后一段时间将阈值信号激活,该时间段依赖于有效电容。
优选地,开关控制电路包括一个计时器,用于产生表示上述时间段的计时值。
优选地,开关控制电路包括一个开关状态信号产生电路,用于当计时值大于存储计时值时激活一个开关状态信号。
优选地,存储计时值表示当没有物体实际接近容性器件时获得的计时值。
优选地,本装置还包括一个存储电路,用于存储当没有物体实际接近容性器件时得到的计时值。
优选地,开关单元控制电路包括一个计时值累加器,用于累计一系列时间段所得到的计时值,得出一个累计计时值。
优选地,开关控制电路包括一个开关状态信号产生电路,用于当累计计时值大于累计的存储计时值时激活一个开关状态信号。
优选地,累计存储计时值表示当没有物体实际接近容性器件时产生的一系列时间段的计时值的累计。
优选地,本装置包括一个存储电路,用于存储当没有物体实际接近容性器件时得到的累计计时值。
优选地,开关单元控制电路包括一个微处理器和包含一个存储寄存器的存储电路。
根据本发明的另一个方面,提供了一种操作电容感应开关单元的方法,该方法包括以下步骤在根据物体距其接近度而具有一有效电容的容性器件上产生一有效电容,通过一个前级选择器信号使有效电容充电,根据开关信号选择性地将容性器件同阈值信号产生电路连通,当有效电容充电至一个预定电压时激活一个阈值信号,根据放电信号而不依赖输入信号,选择性地使有效电容放电。
根据本发明的另一个方面,提供了一个开关阵列,包括许多可选择的电容感应开关单元,每个开关单元包括一个可根据物体距其接近度而决定的对应的有效电容的容性器件,一个选择性地使各开关单元的有效电容充电的充电电路,各个有效电容具有依赖于其有效电容的充电时间,还包括一个协同充电电路运转的计时器,用于产生被选容性器件从一起始预定电压充电至又一个预定电压所需时间的计时值,以及同定时器协同工作的开关状态信号产生电路,用于为被选中的开关单元产生一个开关状态信号,开关状态信号用来表示物体到被选容性器件的接近度,开关状态信号产生电路将计时值与一个相应的参考计时值相比较,当计时值大于相应的参考计时值时,激活开关状态信号,而当计时值小于等于相应的参考计时值时,抑制开关状态信号。
优选地,本装置还包括一个阈值信号产生电路,用于产生当被选开关单元的有效电容充电至一个预定电压时被激活的阈值信号。
优选地,阈值信号产生电路包括一个缓冲电路,用于无需实施加载容性器件而产生表示容性器件上电压的导出电压。
优选地,缓冲电路包括一个射极跟随器电路,在其中包含的阻抗两端产生上述导出电压。
优选地,阈值信号产生电路包括一个连接到阻抗的开关器件,用于当导出电平大于代表预定电平的标志电平时激活一个阈值信号。
优选地,本装置包括一个同公共节点相连的放电控制电路,用于响应放电信号,选择性地使被选容性器件的有效电容放电。
优选地,放电控制电路包括一个放电节点,以及一个串连在公共节点和放电节点之间的二极管,放电节点具有一个由放电信号控制的电平。
优选地,本装置包括一个开关单元控制电路,用于提供一个输入选择器信号用来对期望的开关单元的有效电容充电,用于提供开关信号和提供放电信号,以使阈值信号产生电路在放电信号被抑制后一段时间将阈值信号激活,该时间段的长短由有效电容决定。
优选地,开关控制电路包括一个微处理器,具有输出端用于产生输入选择信号、开关信号和放电信号,输入端用于接收阈值信号,以及包含实现计时以及产生开关状态信号的执行代码的程序。
优选地,开关控制电路也包括一个存储电路,用于存储各开关单元的相应的参考计时值。
优选地,一个给定的相应的参考计时值表示当没有物体实际接近对应容性器件时得到的计时值。
优选地,开关单元控制电路包括一个计时值累加器,用于累加一系列的时间段产生的计时值,得到一累计计时值。
优选地,本装置包括一个存储电路,用于存储各开关单元的相应的参考累计计时值,各参考累计计时值表示当没有物体实际接近相应的容性器件时得到的累计计时值。
优选地,当被选开关单元的累计计时值大于它自身的对应的参考累计计时值时,开关控制电路激活开关状态信号。
优选地,开关单元控制电路包括一个微处理器以及包含一个存储寄存器的存储电路。
根据本发明的另一方面,提供了操作电容感应开关阵列的方法,该方法包括以下步骤顺序使大量可寻址电容感应开关单元的有效电容充电,各开关单元具有可根据物体距其接近程度而产生有效电容的容性器件,各自的有效电容具有由其有效电容决定的相应的充电时间,产生大量表示每个相应容性器件以一个起始预定电压充电到又一预定电压所需时间的相应的计时值,将各相应计时值同一个对应参考计时值相比较,当相应的计时值大于参考计时值时激活一个开关状态信号,而在计时器值等于或小于相应的参考计时值时抑制开关状态信号。
附图简述在说明本发明实施例的附图中,
图1是根据本发明第一实施例的开关单元的原理框图;图2是说明图1原理框图所示的各种信号线上出现的信号之间时序关系的时序图;图3是一个传统的计算机键盘的部分透视图,其中固定了根据本发明第一实例的极板;图4是图3中的传统的计算机键盘的一部分沿着线4-4的截面图;图5是根据本发明的第二实施例的开关阵列原理图;图6是说明图5所示的信号线上的各种信号的时序关系的时序图。
详细描述图1参照图1,10概括地表示了根据本发明的第一实施例的一个电容感应开关单元。开关单元10同一个提供控制信号并从开关单元接收中断信号的开关单元控制电路12相连接。
开关单元10包括一个容性器件18,一个前级选择器输入信号14,一个阈值信号产生电路35,一个开关电路33,以及一个放电控制电路11。前级选择器信号输入14同一个前级电阻16相连接,用于从控制电路12接收前级选择器输入信号。前级电阻还同容性器件相连,在本实施例中,容性器件是极板18。在本实施例中,极板18是在传统的印刷布线版上的方形薄层导线构成的一个方形薄层导体。该极板具有的有效电容和信号地20有关,因此在本装置中作为容性器件。前级电阻和容性器件起到了一个阻容时序电路的作用,因此前级选择器信号输入可以被认为连接到容性器件以使前级信号能对有效电容充电。
极板对电路的有效电容由极板对信号地的耦合决定,这种耦合取决于极板到附近物体的寄生电容耦合特性。因此,当物体被放到与极板紧密接近时,如果物体增强极板到信号地的电容耦合,有效电容将增加。这就是当人把手指紧密靠近极板时的情形。这种情形下,当手指放到极板附近时,极板到信号地的耦合增加。因此,触片表示的对电路的有效电容地增加了。当没有物体接近极板18时,有效电容约20pf。实际上,容性器件可以根据物体距其接近程度产生一有效电容。
此外,同前级电阻16和极板18相连约是第一二极管22,第二二极管24和开关电路33又同第一二极管22相连。开关电路包括一个第一晶体管25,具有基极端26,集电极端28以及发射极端30。第一和第二二极管同基板26相连,因此用于将基板同容性器件相连。集电极同控制电路12相连以接收开关信号,发射极同阈值信号产生电路35相连。第一晶体管25实际充当了一个开关电路,用于响应集电极28从控制电路12接收到的开关信号选择性地将电容器件同阈值信号产生电路35相连。
晶体管25的发射极30同第三个二极管32相连,它又同第二二极管24相连而构成一个放电节点34,用于从控制电路12接收一个低电平有效的放电信号。第一、第二和第三二极管作为放电控制电路11同容性器件相连,用来响应放电节点出现的放电信号而不依赖输入信号,选择性地使有效电容放电。放电节点因此具有一个由放电信号控制的电平。
发射极30还同一个扩程电容37以及阈值信号产生电路35相连。扩程电容37吸收第三二极管的电容以减少它可能有的影响,阈值信号产生电路35产生一个阈值信号当有效电容充电至一预定电压时该信号被激活。阈值信号产生电路35包括一个缓冲电路36,用于无需实际加载容性器件而产生代表容性器件电压的导出电压。缓冲电路包括38所示的射极跟随器电路,包括具有基极端42,集电极端44和发射极端46的晶体管40。集电极端同第一个晶体管25的发射极30相连,集电极44连到Vcc电源供电线,发射极端46同第二个电阻48相连,电阻另一端同信号地20相连。第二个电阻做为产生导出电压的跨接阻抗。
同发射极46另外相连的是一个开关器件,在本实施例中是一个连接成倒相器的施密特触发器与非门50。与非门具有输出端52用于产生由控制电路12接收的中断信号(INT)。因此,与非门实际上作为一个开关器件,用于当导出电压大于代表预定电压的表示电压时激活阈值信号(INT)。因施密特输入端定义了预定电压,施密特触发器与非门被用作开关器件以减少阈值电路的误激活性。正如通常所知的施密特输入端,确定地在设备生产中预定的电平上发生开关转换。
在本实施例中,开关单元控制电路12包括一个微处理器53,具有第一、第二、第三输出54、56和58,分别用于产生开关信号、输入信号和放电信号,使阈值信号产生电路在放电信号被抑制后一段时间激活阈值信号,这段时间由有效电容决定。第一输出端54连到第一三极管的集电极28,第二输出端56同前级选择器信号输入14相连,第三输出端58同放电节点34相连。
微处理器53还有一个输入端60同与非门50的输出端52相连,用于接收中断信号或阈值信号(INT)。
微处理器53包括一个常规的随机存取存储器(RAM)62,一个常规的只读存储器(ROM)64和一个常规的中央处理单元(CPU)66。ROM包括一段执行代码程序用于指令微处理器用接收中断信号(INT)的方法分别产生开关信号、输入信号和放电信号。要实现这些,该程序包括一个输出序列例程、定时器例程以及一个比较例程,所有叙述参照图2。
附图2参照图2,68概括地显示了说明附图1的电路运行的时序图。参照附图1和附图2,程序使得微处理器53在时刻t1高电平激活输入信号和开关信号。输入信号用于使有效电容充电,同时开关信号选择性地使容性器件同阈值信号处理电路相连。
放电周期在时刻t1后很短时间的时刻t2,程序使得微处理器激活放电信号(低电平),其将附图1中放电节点34的电压变为低电平,于是产生一个低阻抗通路,使任何对极板18的充电都经第一和第二二极管22和24流入第三输出58。再回头参照图2,放电信号保持低电平一段时间,足以使所有对有效电容的充电都被释放掉。这一时间段由极板的有效电容以及通路中其和信号地之间的阻抗决定。一般,已证实5毫秒可以提供足够的时间使有效电容放电。在放电信号置为低后,可以看到在t3和t4之间的时间段中,极板电压以指数递减。随着电压的减小,将越过代表极板电压的阈值Vth,相应于附图1中的施密特触发器与非门50上的电压当输入端电压减小时改变状态。这样,参照图1,在输出端52出现的中断信号在图2所示时刻t3被置为高(无效)。在这段时间内,极板18的电压降至高于信号地的二个二极管压降2Vbe(第一和第二二极管压降)的数值。
充电周期回头参照附图2,在距时刻t3约5毫秒的时刻t4,程序使微处理器使放电信号置为高电平,以允许有效电容从2Vbe的电压(约1.4伏)向着输入信号电压V0充电。当放电信号被置为高电平后,程序启动计时例程,随着图1极板18的电压升高而增加计数,这一增加示意于图2的计时器线上。计时例程可用于产生一个表示有效电容充电所用时间段的计时值。当极板电压达到阈值电压Vth时,如t5所示,附图1中的与非门50激活中断信号(INT0)(低电平)。低电平的中断信号被微处理器接收,程序终止计时例程。同时,放电信号保持高电平,极板继续向V0充电。
在距时刻t5约5毫秒的时刻t6,程序使得微处理器再次激活放电信号(低电平)以开始如上描述的放电周期。第二放电周期在时刻t7完成,这时重复t4和t6之间所见到的充电周期。不过,计时器在每个充电周期后并不复位,而是连续累计一系列的充电周期计时值,直到完成10个充电周期,因此,计时例程包括一个累加器例程,用于累计一系列的充电周期产生的计时值而获得累计计时值。
为了确定已完成多少个充电周期,程序中设计了一个循环计数器,如附图2计数器线上所见,计数器在每个充电周期完成时加1。循环计数器的内容同10相比,如果高于10,则假定已得到足够的计时值用于确定是否有物体实际接近极板18。数字10是任选的,可以是大于0的任何数。该数字越大,设备的精度越高。
预先已知道当物体实际接近极板时,其有效电容增加,这使得有效电容需要更长的时间充电,如图中70和72的虚线所示。这将造成中断信号比在其它情形时晚一些被激活(低电平)。这就允许计时器在附图2计数器线虚线所示的各充电周期得到更大的递增计时值。结果,有物体实际接近极板18时的累计计时值将大于计时器线上实际部分所示的没有物体实际接近时的情况。因此,为了判定是否有物体实际接近极板,程序存储了当没有物体实际接近时得到的累计计时值,作为参考累计值。通过写入RAM62的一个存储寄存器实现存储参考累计值,这部分作为存储电路。程序于是用这个参考累计计时值比较后来获得的累计计时器值,当后来获得的累计计时值明显大于参考累计计时值的情况下,程序将激活一个开关状态信号表示有物体实际接近极板18。类似地,如果后来获得的累计计时值约等于参考累计计时值,程序抑制开关状态信号以表示没有物体实际接近极板18。决定显著大于还是约等于的数值是做出选择的关键,最好保持用户可定义性。但是上述实施例所用的是约20%的范围。
参照图1,在本实施例中,开关状态信号由写在微处理器的RAM62的开关状态寄存器63的1或0表示,其中1表示有物体和极板实际接近而0表示没有物体实际接近极板。因此,可以说开关控制电路包括一个开关状态信号产生电路(微处理器),用于当计时值大于存储计时值时激活一个开关状态信号。
根据本发明,由于物体和极板之间不需要实际接触,可以明确极板可被安装在许多种地方。但是,所要求的是能足够地接近以改变极板的有效电容。物体与极板间的有效距离决定于极板的面积,物体的面积以及物体和极板间材料的电介质。
图3和图4参照附图3和4,由于物体和极板间不必实际接触,极板18可以以一个粘结板的形式,方便地安装在传统计算机键盘82和标记84的外壳80的下面,例如,可以放在极板上,外壳的顶部。采用这种配置,用户要改变开关状态信号只需用手指接触标记84。
一般地,本电路的操作可以概括地说明成一种操作一个电容感应开关单元的方法,该方法包括的步骤有在一个具有由物体距其接近度而决定的有效电容的容性器件上产生一有效电容,以前级选择器信号使有效电容充电,根据开关信号,选择性地将容性器件同阈值信号产生电路相连,当有效电容充电至一个预定电压时激活一个阈值信号,响应放电信号而不依赖输入信号,选择性地使有效电容放电。
第二实施例图5参照附图5,100概括显示了根据本发明第二实施例的电容感应开关阵列。开关阵列包括一个概括示例于102的开关单元控制电路和概括示例于104的开关组件。开关单元控制包括一个微处理器106,具有8个标记为DISCHG0、DISCHG1、COL0、COL1、ROW0、ROW1、ROW2以及ROW3的输出端,用于提供同名信号,以及2个标记为INT0和INT1的输入端,用于接收来自开关组件104的同名信号。DISCHG0和DISCHG1信号作为放电信号,COL0和COL1作为开关信号,ROW0-3作为选择器信号。INT0和INT1信号作为阈值信号。
以一个简便的方法进一步同微处理器相连的是一个随机存取存储器RAM108以及一个概括示于110的接口,接口用于使微处理器同1993年12月23日入档的美国第08/171,716号专利应用中描述的传统的个人计算机键盘端口相接口,这里引用作为参考。
在本实施例中,微处理器106是一个常用的87C51微控制器,包括一个用于存储控制微处理器106的输出和解释输入端接收的信号的运行程序的内置ROM111。
开关组件包括112概括示意的多元可选电容感应开关单元,分别标记为S0-S15。各开关单元具有各自的选择器信号输入114、前级电阻116、极板118和第一二极管120,它们的功能类似于第一实施例中所述的类似器件。因此,可以说每个开关单元包括一个可根据物距其实际接近度而产生相应的有效电容的容性器件以及各开关单元包括各自的一个二极管用于使各自的有效电容放电。在本实施例中,ROW0-3信号线直接连到各开关单元的对应的前级电阻。实际上,微处理器、ROW0-3信号线、各自的前级选择器信号输入和对应的前级电阻作为一个充电电路,用于选择性地使各开关单元的有效电容充电。
在本实施例中,开关单元112被分成各包含四个开关单元的第一组124、第二组126、第三组128和第四组130、开关单元的分组通过把4个开关单元的各自的第一二极管120的负极连在一起构成一个公共节点122实现。此外,ROW0~3输出端连到本组各开关单元的各自的选择器信号输入端,这样一个组内的各开关单元可以通过激活各自相应的ROW信号线分别可选。
每个开关组124、126、128和130有一个第二二极管连接在各自的公共节点122和微处理器106的相应的放电信号输出端。在本实施例中,第一组124和第二组126共享放电信号输出DISCHG0,第三组128和第四组130共享放电信号输出DISCHG1。因此,当DISCHG0的输出置为低时,第一组124和第二组126被放电,当DISCHG0的输出置为高时,这些组被充电。DISCHG1信号和第三第四组128和130的情况类似。
此外同各开关组公共节点122相连的是对应的第一、第二、第三、第四公共开关电路134、136、138和140。它们用于响应由COL0和COL1提供的开关信号而选择性地将它们的公共节点和各自的阈值信号产生电路相连。第一公开开关电路是第二、第三、第四开关电路的代表,因此仅对第一开关电路进行描述。
第一开关电路134包括一个具有基极144、集电极146和发射极148的开关晶体管142。其基极将晶体管同公共节点122相连,集电极同COL0输出端相连用于接收开关信号,发射极通过第三二极管150同DISCH0输出端相连。第三二极管为第一开关组124和第二开关组126所共有,当DISCHG0信号有效(低电平)时用来吸收从这些开关组到DISCHG0输出端的所有电流。放电节点实际上和第三二极管串连在公共节点和放电节点之间。因此,同一给定开关单元组相关的第一、第二和第三二极管作为放电控制电路,用于响应由DISCHG0输出端提供的放电信号,选择性地使被选容性器件的有效电容放电。
第一和第二开关组的开关晶体管142的发射极148连在一起并连接到一个阈值信号产生电路151,用于当被选开关单元的有效电容充电至一个预定电压时产生一个阈值信号(INT0)。阈值信号产生电路包括一个缓冲电路152和一个开关器件156。
缓冲电路152用于无需实际加载容性器件而产生代表被选容性器件电压的导出电压。缓冲电路包含一个具有基极158、集电极160和发射极162的晶体管154。基极158同第一和第二开关晶体管142的发射极148相连,集电极160直接连接到供电电压Vcc,发射极162通过一个阻抗,在本实施例中是一个10K电阻,同信号地164相连。晶体管被配置为一个射极跟随器电路,10K阻抗作为产生导出电压的跨接阻抗。
发射极162进一步同连接成倒相器的与非门172的第一输入端168和第二输入端170相连,与非门充作开关器件156。与非门有一个低电平有效输出端174同微处理器160的INT0输入相连,因此,与非门提供阈值信号。第三开关组128和第四开关组130除了相应与非门的输出端同微处理的INT1输入端相连外,以类似的方式同微处理器106相连。因此,实际上,与非门作为一个同阻抗相连的开关器件,用于当导出电压大于代表预定电压的表示电压时激活阈值信号。正如第一实施例中,施密特触发器与非门因众所周知的施密特输入特点被用于防止阈值信号的误激活。
一般地,开关组和电路分别被放置在如图176和178概括显示的两边。两边共享开关信号COL0和COL1、以及输入选择器信号线ROW0-3,而DISCHG0(放电)信号和INT0(阈值)信号线仅由第一开关组124和第二开关组126共享,DISCHG1(放电)和INT1(阈值)信号线仅由第三开关组128和第四开关组130共享。
开关阵列的操作开关阵列操作的一般规则如上文第一实施例的描述中。更特别地,微处理器运行一个包含执行代码的程序用于实现计时例程、计数例程、用于提供ROW0-3(输入选择器)、COL0-1(开关)和DISCHG0-1(放电)信号的例程以及接收INT0-1(阈值)信号的例程和产生开关状态信号的例程。
图6用于提供ROW0-3(输入选择器)、COL0-1(开关)、和DISCHG0-1(放电)信号的例程参照附图6进行解释。附图6示意了附图5中第一开关组124和第二开关组126的扫描图。它采用了8个计时段180、182、184、186、188、190、192和194,其中各个用于说明相应开关单元的基本的选择、放电、充电和中断的过程。第一个计时段180相应于第一开关单元S0,第二计时段182相应于第二开关单元S1,以此类推,第八计时段184相应于第八开关单元S7。每个计时段后紧跟着一个称有×10的空格,标示前边段的上一部分被重复了10次以获得各相应开关单元的累计计时值。
为了开始扫描阵列,如第一计时段180所示,第一行信号ROW0置为高同时其它行信号ROW1-3保持低。参照附图5,第一开关单元S0和第9开关单元S8被ROW0信号选中,对这些开关单元的有效电容进行充电。因此微处理器和连接在相应前级选择器信号和相应容性器件间的相应电阻作为一个充电电路,用于选择性地对被选开关单元的有效电容充电,各有效电容具有由各自的有效电容决定的充电时间。
参照图6,在ROW0(输入选择器信号被激活的同时,COL0(开关)信号被激活(高电平)以使第一和第三开关电路134和138有效,同时COL1信号保持被抑制(低电平)以保持第二和第四开关电路136和140失效。因此COL0信号作为一个开关信号以激活第一开关组的公共开关信号从而有选择性地将第一开关组的公共节点同阈值信号产生电路151相连。
在ROW0和COL0信号线有效时,DISCHG0信号线也被激活(低电平)同时DISCHG1信号被保持无效(高电平),这使得第一开关单元S0的有效电容被放电。由于DISCHG1信号保持无效,第九开关单元没有被放电而是继续充电。
下一步,程序初始化计时器和计数器例程,使得微处理器开始递增一个在第一实施例中有关描述过的计时值。计时例程作为一个计时器同充电电路协同工作,得到被选容性器件从一个起始预定电压充电至又一预定电压所需时间段的计时值。因此,作为开关单元控制电路的微处理器可以认为包含着一个计时器。
程序然后抑制允许第一开关单元S0的有效电容被充电的DISCHG0信号(高电平)。由于DISCHG1信号保持高,在第9开关单元没有发生任何动作,有效电容依旧保持被充电状态。将第一开关单元S0的有效电容充电到相应于导出电压的阈值电压,该导出电压通过阻抗166产生足以使施密特触发器与非门状态改变,所需要的时间决定于被充电的有效电容。一旦达到这个阈值电平,与非门172状态改变,其输出端174置为有效(低电平),使得INT0中断信号出现在微处理器106的INT0输入端。因此实际上,DISCHG0信号作为一个放电信号,最终使得开关单元产生INT0信号,INT0信号作为一个阈值信号,因此可得出阈值信号在放电信号被抑制一段时间后被激活,这段时间由相关开关单元的相关极板的有效电容决定。
微处理器通过停止计时例程以及如第一实施例中所描述的检测计数值是否等于10来响应INT0信号。如果不等于,重复剩余的充电和放电周期,并累计依次得到的计时值,直到完成10个充电和放电周期,象计数器值所表示的。计数器值在每一次放电/充电周期结束时递增。计时器例程包括一个累加器,在本实施例中包括一个RAM中的存储寄存器177,用于累加一系列时间段产生的计时值以产生一个累计计时值。
当获得了10个连续的放电/充电周期的累计计数值时,将这个值同预先存储在RAM108中的相应的参考计时值存储寄存器185中的参考计时值相比较。因此,开关控制单元包括一个存储电路用于存储各开关单元的相应的参考累计计时值。每个相应的参考累计计时值表示当没有物体与相应容性器件实际接近时获得的计时值。如果目前得到的计时值显著大于参考计时值,则假定有物体接近极板118。相反,如果目前得到的值同参考值差不多;则假定没有物体接近极板118。上文提供的关于确定明显大于和约等于所依据的数值的说明在这里同样适用。
物体相对于极板的状态由开关状态信号表示,在本实施例中,它由存储在RAM108中第一开关状态存储寄存器181中的第一开关状态字节中指定比特位置的比特表示。开关状态字节有8个比特位置,每一比特位对应物体同对应开关单元s6-s7的极板接近度的状态。因此,微处理器作为一个开关状态信号产生电路协同计时例程产生被选开关器件的开关状态信号,开关状态信号用于表示物体相对被选容性器件的实际接近度,开关状态信号产生电路将计时值同对应的参考计时值相比较,当计时值大于相应的参考累计计时值时激活开关状态信号,而当计时值小于等于相应的参考累计计时值时抑制开关状态信号。
第一计时段180结束,将它重复十次,并更新开关状态字节中的相应比特位后,第一行信号ROW0被置为无效(低电平),第二行信号线ROW1被置为有效(高电平),并完成计时段182所示的过程允许COL0线同时保持COL1线无效,使DISCH0信号线抬高又降低以获得第2开关单元S1的累计计时值。于是开关状态字节中相应于第二开关单元S1的第二个开关状态比特被更新。如计时段184和186所分别描述的,第一组124中的第三开关单元S2和第四开关单元S3重复以上过程。采用这种方式,第一开关组124中的四个开关单元S0-S3各自被依次扫描,相应的开关状态比特被更新。
在第一组124被扫描后,如计时段188-194所示,在第二组126上完成相同的过程。这些计时段同第一组的计时段大致相同,除了COL0线被保持无效而COL1线用于沿袭图6中标记COL0的结果。采用这种方法,第二开关组126中的四个开关单元S4-S7各自被顺序扫描,相应的开关状态比特被更新。
第一组124和第二组126被扫描后,通过如组1和组2的相关描述,激活及抑制ROW0-3和COL0-1信号,但保持DISCHG0无效(高电平)而DISCHG1用于沿袭图6中标记DISCHG0的结果,第三和第四组128和130被扫描。采用这种方法,对应各开关单元S8-S15的第二个开关状态字节被以表示物体相对各极板接近度的状态比特更新。第二开关状态字节存储在RAM108的第二开关状态存储寄存器183中。
通过读取第一或第二开关状态存储寄存器181和183中给定比特位的内容,微处理器106可以快速确定开关单元S0-S15中任何一个的状态。
在本装置使用前各开关单元的参考值必须存储在各自的参考计时值存储寄存器中,这一点应明确。因此,在本实施例中,图5中有16个8比特参考值存储寄存器187,各对应一个相应的开关单元。为了加载参考值寄存器,程序中包括一个校准例程允许用户进入一个校准模式,利用它用户确保没有物体实际接近任何极板并经一预定时间后,代表没有物体实际接近相应极板情形的累计计时值被获取并存储在参考值存储寄存器中。这些值被存储后,程序退出校准模式,准备获取上文描述的计时值。进入校准例程的一种方法是使程序检测一给定的键序当输入这个键序时就进入校准例程。它的优点之一是阵列可在任何时候方便地重新校准。
一般地,开关阵列的操作可类似操作电容感应开关阵列的方法来描述,该方法包括以下顺序的步骤将许多具有可根据物体距其实际接近度而产生有效电容的容性器件的可寻址的电容感应开关单元的各自的有效电容充电,各个有效电容具有由上述各有效电容决定的对应的充电时间,产生许多表示各相应容性器件从一个起始预定电压充电至又一预定电压所需时间的相应的计时值,将各个计时值同对应参考计时值相比较,当所述各自的计时值大于所述参考计时值时激活开关状态信号,而当所述计时值小于等于所述对应参考计时值时抑制开关状态信号。
开关阵列可用类似图3和图4所描述的方法而使用,例如,在传统的个人计算机上紧邻常规功能键可以以线性的方式提供一阵列。各个极板于是可以用相应的功能标识,这些功能可溶入微理器106执行的程序中,此外,微理器106可能同常规使用的将键击编码成主计算机可识别的码字的微处理器相同。因此,传统的键盘处理器可增加开关阵列的额外的功能,在将开关阵列兼容集成进传统计算机键盘后。
在本发明特定实施例的描述和解释中,这些实施应认为仅是为了说明本发明,而不是象伴随的要求中的说明限定本发明。
权利要求
1.电容感应开关单元包括a)容性器件可以根据物体距其实际的接近程度产生有效电容;b)前级选择器信号输入连接到容性器件,使得前级输入信号将其有效电容充电;c)阈值信号产生电路连接到容性器件,用于产生一个阈值信号,当上述有效电容充电到预定电压时该阈值信号被激活;d)开关电路用于根据开关信号,选择性地将容性器件同阈值信号产生电路相连;e)放电控制电路连接到容性器件,用于根据放电信号而不管输入信号,有选择性地使有效电容放电。
2.权利要求1所述的装置,其中所述的容性器件包括一个薄层导体。
3.权利要求1所述的装置,其中所述的前级选择器信号输入包括一个前级电阻。
4.权利要求1所述的装置,其中所述的阈值信号产生电路包括一个缓冲电路,用于在无需实际加载上述容性器件时产生表示该容性器件上的导出电压。
5.权利要求4所述的装置,其中所述的缓冲电路包括一个射极跟随器电路,在其包含的阻抗两端产生上述的导出电压。
6.权利要求5所述的装置中,其中所述的阈值信号产生电路包括一个开关器件,当上述导出电压大于代表前述预定电压的表示电压时,用于使前述阈值信号激活。
7.权利要求6所述的装置,其中所述的开关器件包括一个施密特触发器,用于减少上述阈值信号产生电路的误激活率。
8.权利要求1所述的装置,其中所述的开关电路包括一个具有基极、集电极以及发射极的晶体管。其中基极同容性器件相连,集电极可以接收上述开关信号,而发射极同上述阈值信号产生电路相连。
9.权利要求1所述的装置,其中所述的放电控制电路包括串连的第一和第二二极管,第一二极管同上述容性器件相连,第二二极管连接到一个放电节点,该节点的电压由上述放电信号控制。
10.权利要求1所述的装置,其中还包括一个开关单元控制电路,用于产生前述的输入信号、开关信号以及放电信号,使上述阈值信号产生电路在上述放电信号被抑制一段时间后使前述阈值信号激活,该时间段依赖于所述的有效电容。
11.权利要求10所述的装置,其中所述的开关控制电路包括一个计时器,用于产生表示上述时间段的计时值。
12.权利要求11所述的装置,其中所述的开关控制电路包括一个开关状态信号产生电路,用于当上述计时值大于存储的计时值时激活开关状态信号。
13.权利要求12所述的装置,其中所述的存储计时值表示当没有物体实际接近该容性器件时获得的计时值。
14.权利要求13所述的装置,其中还包括一个存储电路,用于存储当没有物体实际接近该容性器件时产生的计时值。
15.权利要求11所述的装置,其中所述开关单元控制电路包括一个计时值累加器,用于累加一系列的上述时间段所产生的计时值,产生一个累加计时值。
16.权利要求15所述的装置,其中所述的开关控制电路包括一个开关状态信号产生电路,用于当上述累加计时值大于累加的存储计时值时激活一个状态信号。
17.权利要求16所述的装置,其中所述的累加的存储计时值表示当没有物体实际接近该容性器件时,在一系列的前述时间段后获得的累加计时值。
18.权利要求17所述的装置,其中还包括一个存储电路,用于存储当没有物体实际接近该容性器件时产生的累计计时值。
19.权利要求18所述的装置,其中所述的开关单元控制电路包括一个微处理器和包含存储寄存器的上述的存储电路。
20.容性感应开关单元包括a)容性器件可以根据物体实际接近其的程度产生有效电容;b)前级选择器信号输入同容性器件相连,使前级输入信号使其有效电容充电,该前级选择信号输入包括一个同上述容性器件相连的前级电阻;c)阈值信号产生电路同容性器件相连,用于产生一个阈值信号,当上述有效电容充电到预定电压时该阈值信号被激活,上述阈值信号产生电路包括i)一个缓冲电路用于无需实际加载上述容性器件而产生代表该容性器件的导出电压,该缓冲电路包括一个射极跟随器,在其中包含的阻抗两端产生上述导出电压;以及ii)一个开关器件当上述导出电压大于代表前述预定电压的表示电压时,用于使前述阈值信号激活,该开关器件包括一个施密特触发器,用于降低上述阈值电路的误激活率;d)放电控制电路同容性器件相连,用于根据该放电控制电路接收的放电信号而不依赖输入信号,有选择性地使有效电容放电,该放电控制电路包括串连的第一和第二二极管,第一二极管同上述容性器件相连,第二二极管连接到一个放电节点,该节点的电压由上述放电信号控制,以便使至少上述容性器件的某些放电电流会流经上述第一和第二二极管而到放电放点;以及e)开关电路用于根据该开关电路接收的开关信号,选择性地将容性器件同阈值信号产生电路相连,该开关电路包括一个具有基极、集电极以及发射极的晶体管,其基极用于连接上述第一和第二二极管,集电极用于接收上述开关信号,发射极连接到上述阈值信号产生电路。
21.权利要求20所述的装置,还包括连接在上述晶体管的射极以及上述放电节点之间的第三个二极管,以便放电电流可以流经该二极管而进入上述放电节点。
22.权利要求21所述的装置,还包括一个扩程电容,用于吸收上述第三个二极管的电容。
23.权利要求20所述的装置,其中所述的容性器件包括一个薄层导体。
24.操作容性感应开关单元的方法,该方法包括以下步骤a)在根据物体距其实际接近度而具有一有效电容的容性器件上产生一个有效电容;b)以前级选择器信号使有效电容充电;c)根据开关信号,选择性地将容性器件同阈值信号相连;d)当上述有效电容充电到一个预定电压值时激活阈值信号;以及e)根据放电信号而不依赖输入信号,选择性地使有效电容放电。
25.开关阵列包括a)许多可选的电容感应开关单元,每个单元包括一个容性器件,可以根据物体距其实际接近程度而产生一个相应的有效电容;b)一个充电电路,用于选择性地使每一个开关单元的有效电容充电,根据上述相应的有效电容,各有效电容具有相应的充电时间;c)一个计时器;协同上述充电电路运转, 用于产生一个计时值,表示使被选有效电容从一个起始预定义电压充电至又一个预定义电压所需时间段;以及d)一个开关状态信号产生电路;协同上述计时器运转,产生所选中的开关器件的开关状态信号,该开关状态信号表示物体同所选容性器件的实际接近程度,该开关状态信号产生电路将上述计时值同一个对应的参考计时值相比较,当上述计时值大于该对应参考计时值时激活上述开关状态信号,而当上述计时值小于等于该对应参考计时值时抑制上述开关状态信号。
26.权利要求25所述的装置,其中所述的充电电路包括每个开关单元,有一个前级选择器信号输入和连接在该前级选择器信号输入与上述容性器件之间的电阻。
27.权利要求26所述的装置,其中所述的充电电路包括一个微处理器,用于提供输入选择器信号以使选中的开关单元的有效电容充电。
28.权利要求27所述的装置,其中所述的微处理器包括同上述电阻的直接连接。
29.权利要求25所述的装置,其中所述的开关单元各包括一个相应的二极管,用于使相应的有效电容放电。
30.权利要求29所述的装置,其中所述的多个开关单元的二极管连接到一个公共节点。
31.权利要求30所述的装置,还包括一个阈值信号产生电路,用于当上述被选中的开关单元充电至预定电压时产生一个阈值信号。
32.权利要求31所述的装置,还包括一个公共开关电路,用于根据开关信号,选择性地将上述公共节点同上述阈值信号产生电路相连。
33.权利要求32所述的装置,其中所述的开关电路包括一个具有基极、集电极以及发射极的晶体管,其基极同上述公共节点相连,集电极用于接收上述开关信号,发射极同上述阈值信号产生电路相连。
34.权利要求31所述的装置,其中所述的阈值信号产生电路包括一个缓冲电路,用于无需实际加载上述选中的容性器件而产生表示该选中的容性器件上的电压的导出电压。
35.权利要求34所述的装置,其中所述的缓冲电路包括一个射极跟随器电路,在其包含的阻抗两端产生上述导出电压。
36.权利要求34所述的装置,其中所述的阈值信号产生电路包括一个开关器件,同上述阻抗相连,用于当上述导出电压大于代表前述预定电压的表示电压时激活前述阈值信号。
37.权利要求36所述的装置,其中所述的开关器件包括一个施密特触发器,用于降低上述阈值电路的误激活率。
38.权利要求32所述的装置,其中还包括一个同公共节点相连的放电控制电路,用于根据放电信号,有选择性地使上述选中的容性器件的有效电容放电。
39.权利要求38所述的装置,其中所述的放电控制电路包括一个放电节点,以及一个串连在上述公共节点和该放电节点之间的二极管,该放电节点的电压由上述放电信号控制。
40.权利要求39所述的装置,还包括一个开关单元控制电路,用于a)提供能够使希望的开关单元的有效电容充电的输入选择器信号;b)提供上述的开关信号;以及c)提供上述放电信号,以使在该放电信号被抑制一段时间后,使上述阈值信号产生电路激活阈值信号,该时间段依赖于所述有效电容。
41.权利要求40所述的装置,其中所述的开关控制电路包括一个微处理器,具有a)能够产生上述输入选择器信号、开关信号和放电信号的输出;b)用于接收上述阈值信号的输入;c)用于实现前述计时以及产生前述开关状态信号的执行代码。
42.权利要求40所述的装置,其中所述的开关单元控制电路包括上述计时器。
43.权利要求40所述的装置,其中所述的开关控制电路包括一个存储电路,用于存储每个开关单元相应的参考计时值。
44.权利要求43所述的装置,其中给定的相应参考计时值表示当没有物体实际接近对应容性器件时获得的计时值。
45.权利要求40所述的装置,其中所述的开关单元控制电路包括一个计时值累加器,用于累计一系列的上述时间段所产生的计时值,得出累计计时值。
46.权利要求45所述的装置,还包括一个存储电路,用于存储相应于每个开关单元的参考累计计时值,每个上述参考累计计时值表示当没有物体实际接近相应的容性器件时产生的累计计时值。
47.当被选开关单元的累计计时值大于它对应的参考累计计时值时,权利要求46所述的装置中所述的开关控制电路激活前述开关状态信号。
48.权利要求46所述的装置,其中所述的开关单元控制电路包括一个微处理器以及上述包含一个存储寄存器的存储电路。
49.操纵电容感应开关阵列的方法,该方法包括以下步骤a)使各自具有能根据物体距其实际接近度而产生有效电容的容性器件的许多可寻址电容感应开关的相应有效电容顺序充电,各相应有效电容有依赖于该有效电容的对应的充电时间;b)产生许多表示使各个容性器件从一个起始预定义电压充电至又一个预定电压所需时间的对应计时值;以及c)将各计时值同对应的参考计时值比较,当该对应计时值大于上述参考计时值时激活一个开关状态信号,而当上述计时值小于等于上述相应参考计时值时抑制该开关状态信号。
50.开关阵列包括a)许多可选的电容感应开关单元,每个开关单元包括一个容性器件,可以根据物体距其实际接近度产生一个相应的有效电容;一个同容性器件相连的二极管,以使电流可以经二极管导通容性器件,一个同容性器件相连的选择器信号输入,允许对应的输入信号以使相应的有效电容充电,上述开关单元被分成各开关单元组,某给定组中的各开关单元的二极管一起连接到一个公共节点。b)每两个开关单元组至少有一个阈值信号产生电路,用于产生一个阈值信号,当一个被选中的开关单元的有效电容充电至一个预定电压时该阈值信号被激活;c)许多开关电路,一个开关电路用于一个开关组,用于根据开关信号选择性地将对应开关组同阈值信号产生电路相连;d)许多放电控制电路,每个用于各两个开关组,上述各放电控制电路包括一个公共放电节点以及一个连接在上述公共节点和放电节点之间的二极管,用于排光从上述公共节点到放电节点的电流,上述放电节点用于接收一个放电信号;e)一个控制电路,用于i)选择性地向选中的开关单元提供上述输入信号,以使该输入信号能使上述选中的开关单元的有效电容充电,该有效电容具有依赖于其有效电容的相应的充电时间;ii)选择性地向开关电路提供开关信号,以使上述选中的开关单元所在的开关组连接到阈值信号产生电路;iii)选择性地向放电节点提供上述放电信号,以便选择性地使上述有效电容放电至一个预定电压;iv)接收上述阈值信号;v)通过当放电信号被抑制时启动计时器,而当上述阈值信号被激活时终止计时器,而产生表示使上述选中的有效电容从一个起始预定义电压充电至又一个预定义电压所需时间段的计时值;还用于vi)为选中的开关器件产生一个开关状态信号,上述开关状态信号产生电路将上述计时值同一个对应的参考计时值比较,当上述计时值大于该对应参考计时值时激活上述开关状态信号,而当上述计时值小于等于该对应参考计时值时抑制上述开关状态信号。
51.权利要求50所述的装置,其中所述的控制电路包括一个微处理器。
52.权利要求50所述的装置,其中所述的每个开关电路包括一个具有基极、集电极和发射极的晶体管,其基极连接到前述公共节点,其集电极用于接收前述开关信号,其发射极同前述阈值信号产生电路相连。
53.权利要求52所述的装置,其中所述的阈值信号产生电路包括一个对应的缓冲电路,用于无需实际加载前述选中的容性器件而产生表示选中的有效电容上的电压的导出电压。
54.权利要求53所述的装置,其中所述的缓冲电路包括一个射极跟随器电路,通过其中包含的阻抗产生上述导出电压。
55.权利要求54所述的装置,其中所述的阈值信号产生电路包括一个同上述阻抗相连的开关器件,用于当上述导出电压大于代表前述预定电压的表示电压时激活阈值信号。
56.权利要求55所述的装置,其中所述的开关器件包括一个施密特触发器,用于降低上述阈值电路的误激活率。
57.权利要求50所述的装置,其中所述的开关控制电路包括一个存储电路,用于存储每个开关单元对应的参考计时值。
58.权利要求57所述的装置,其中所述的给定的相应参考计时值表示当没有物体实际接近相应的容性器件时的计时值。
59.权利要求50所述的装置,其中所述的开关单元控制电路包括一个计时值累加器,用于累计一系列的计时值而产生一个累计计时值。
60.权利要求59所述的装置,还包括一个存储电路,用于存储各开关单元的相应的参考累计计时值,上述参考累计计时值表示当没有物体实际接近相应的容性器件时产生的累计计时值。
61.权利要求60所述的装置,其中所述的控制电路在所述开关单元的累计计时值大于其相应参考累计计时值时激活上述开关状态信号。
全文摘要
电容感应开关(10)包括电容元件(18),用于产生依赖于物体物理接近的有效电容,第一选择器信号输入端(14)连至电容元件(18)以产生第一输入信号而有效充电电容,阈值信号产生电路(35)连至电容元件(18)以产生当有效电容充电至一预定电位时始为有效的阈值信号,开关电路(33)用于响应于开关信号有选择地将电容元件(18)连接至阈值信号产生电路(35),放电控制电路(11)连接电容元件(18),用于响应于放电信号有选择地独立于输入信号将有效电容放电。还公开了采用上述结构的开关阵列(100)。
文档编号G01V3/08GK1148914SQ95193088
公开日1997年4月30日 申请日期1995年3月17日 优先权日1994年3月17日
发明者T·M·泰勒, M·G·布顿 申请人:坦尼西斯技术公司