背景技术
随着片上系统(SOC)的封装越来越小,输入输出(IO)资源也非常宝贵,在很多功能实现中需要占用大量的通用输入输出(General Purpose InputOutput,GPIO)端口,如何做到利用有限GPIO端口资源实现更多的功能变得越来越重要。
以下举例对GPIO端口的使用情况进行说明。
摇杆按键(rocker key)检测电路一般由两个滑线变阻器组成,在摇杆按键摇动的过程中,按键引脚之间的电阻会发生变化,通过检测按键引脚之间的电阻变化情况,获取摇杆按键当前输出的按键值。目前,摇杆按键作为很多娱乐设备(如游戏设备)中必备的功能按键,获取其输出值的方式主要有以下两种。
第一种方式:如附图1所示,摇杆按键检测电路中设置有两个滑线变阻器,其中一个滑线变阻器的滑动端(如管脚2)随着摇杆水平方向的滑动而变化,另一个滑线变阻器的滑动端(如管脚5)随着摇杆垂直方向的变化而变化,通过搭建外围分压电路,在摇杆滑动时滑线变阻器滑动端的位置会发生改变,由于分压作用使得滑动端电平随之改变,此时采用两路模拟数组转化器分别采样两个滑线变阻器的滑动端电平(如X1和Y1),通过检测获得的两个滑动端电平的变化确定摇杆滑动的方向。该实现方式中X1和Y1分别占用一个GPIO端口。
第二种方式:如附图2所示,搭建外围分压电路,针对摇杆按键检测电路中设置的两个滑线变阻器的每一端(如管脚1、3、4、6)设置相同的分压电阻并连接至同一电源,在摇杆带动滑线变阻器的滑动端(如管脚2、5)变化时,由于分压作用滑线变阻器的端点电压会发生改变,即连接各端点的通用GPIO1、GPIO2、GPIO3或GPIO4中有一个管脚的电平会发生改变,根据该电平变化即可确定摇杆的滑动方向。例如在滑动端向管脚4的方向滑动,且在靠近管脚4对应的滑线变阻器端点时,管脚4对应的GPIO1输出的电平从高变为低。
可见,实现摇杆按键检测功能需要单独占用两个或四个GPIO端口资源,在GPIO端口资源有限的情况下,这就可能由于GPIO端口资源有限而无法实现其它功能。
发明内容
本发明提供一种芯片的GPIO端口复用电路及方法,用以提高主控芯片的GPIO端口的利用率,使得能够利用有限的GPIO端口实现更多的功能,节省GPIO端口资源。
本发明实施例提供的具体技术方案如下:
一种芯片的通用输入输出GPIO端口复用电路,包括主控芯片、第一功能模块和第二功能模块:
所述主控芯片的GPIO端口同时连接所述第一功能模块的数据传输端口和所述第二功能模块的数据传输端口;
所述主控芯片的控制端连接所述第一功能模块的控制端和所述第二功能模块的控制端,控制所述第一功能模块和所述第二功能模块的工作状态切换。
一种采用上述的复用电路进行GPIO端口复用的方法,包括:
在主控芯片的控制端输出为第一电平状态时,所述主控芯片通过GPIO端口传输所述第一功能模块的数据;
在所述主控芯片的控制端输出为第二电平状态时,所述主控芯片通过所述GPIO端口传输所述第二功能模块的数据,所述第一电平状态与所述第二电平状态不相同。
基于上述技术方案,本发明实施例中,主控芯片的GPIO端口同时连接第一功能模块和第二功能模块的数据传输端口,主控芯片的控制端连接第一功能模块的控制端和第二功能模块的控制端,以能够通过主控芯片的控制端控制第一功能模块和第二功能模块的工作状态切换,在主控芯片的控制端输出为第一电平状态时,主控芯片通过GPIO端口传输第一功能模块的数据,而在主控芯片的控制端输出为第二电平状态时,主控芯片通过GPIO端口传输第二功能模块的数据,从而实现第一功能模块和第二功能模块复用主控芯片的GPIO端口,提高了主控芯片的GPIO端口的利用率,使得能够利用有限的GPIO端口实现更多的功能,节省了GPIO端口资源。
具体实施方式
为了提高芯片的GPIO端口的利用率,使得能够利用有限的GPIO端口实现更多的功能,节省GPIO端口资源,本发明实施例提供了一种芯片的GPIO端口复用电路。
下面结合附图对本发明优选的实施方式进行详细说明。
如附图3所示,本发明实施例中,芯片的GPIO端口复用电路主要包括主控芯片301、第一功能模块302和第二功能模块303,其中,主控芯片301的GPIO端口同时连接第一功能模块302的数据传输端口和第二功能模块303的数据传输端口,主控芯片301的控制端连接第一功能模块302的控制端和第二功能模块303的控制端,控制第一功能模块和第二功能模块的工作状态切换。
其中,如附图4a所示,主控芯片301连接第二功能模块303的控制端以及通过电子开关304连接第一功能模块302的控制端,具体地,电子开关304在处于导通状态时,GPIO端口传输第一功能模块302的数据,电子开关304在处于截止状态时,GPIO端口传输第二功能模块303的数据;或者,如附图4b所示,主控芯片302连接第一功能模块302的控制端以及通过电子开关连接第二功能模块303的控制端,具体地,电子开关304在处于导通状态时,GPIO端口传输第二功能模块303的数据,电子开关304在处于截止状态时,GPIO端口传输第一功能模块302的数据。
在一个具体实现中,在主控芯片301的控制端输出为第一电平状态时,主控芯片301通过GPIO端口传输第一功能模块302的数据;在主控芯片301的控制端输出为第二电平状态时,主控芯片301通过GPIO端口传输第二功能模块303的数据。
较佳地,主控芯片301在检测到第一功能模块302的启动信号时,主控芯片301的控制端输出第一电平状态;主控芯片301在检测到第二功能模块303的启动信号时,主控芯片301的控制端输出第二电平状态。
具体地,启动信号可以是由用户触发生成,例如,通过触发设备上设置的第一功能模块的启动按键生成启动信号,主控芯片在检测到该启动信号后,主控芯片的控制端输出第一电平状态。
其中,电子开关304可以是晶体管、场效应管、电子管等开关元件中的任意一种。
以下以一个具体的电路为例对本发明提供的GPIO端口复用的方式进行详细说明。
如附图5所示,该具体的电路中,第一功能模块302为视频图像传感器电路(例如互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)传感器电路),第二功能模块303为摇杆按键检测电路,此处仅以摇杆按键检测电路和视频图像传感器电路复用主控芯片的GPIO端口为例进行说明,实际应用中,对于其它任意电路也可以采用本发明实施例所提供的方法实现对GPIO端口的复用。
其中,摇杆按键检测电路的数据传输端口连接至主控芯片的GPIO端口,该GPIO端口还与视频图像传感器电路的数据传输端口相连接。
其中,摇杆按键检测电路的数据传输端口为摇杆按键检测电路中包含的滑线变阻器的固定端点。
该具体电路中,主控芯片的控制端连接电子开关的控制端和视频图像传感器电路的控制端,电子开关的输出端分别连接摇杆按键检测电路中包含的滑线变阻器的滑动端和地。
其中,假设第一电平状态为低电平,第二电平状态为高电平,第一功能模块为视频图像传感器电路,第二功能模块为摇杆按键检测电路。
具体地,在主控芯片的控制端输出为高电平时,控制与主控芯片的控制端相连接的电子开关导通,摇杆按键检测电路包含的滑线变阻器的控制端经电子开关后接地,此时摇杆按键检测电路处于工作状态,而视频图像传感器电路处于非工作状态;
在主控芯片的控制端输出为低电平时,控制与主控芯片的控制端相连接的电子开关截止,摇杆按键检测电路包含的滑线变阻器的控制端悬空,此时摇杆按键检测电路处于非工作状态,而视频图像传感器电路处于工作状态。
该具体电路中,摇杆按键检测电路中包含两个滑线变阻器,该两个滑线变阻器的固定端点分别对应管脚1、3、4和6,滑动端分别对应管脚2和5。其中,每个固定端点通过第一电阻R1连接至电源VCC,且每个固定端点通过第二电阻R2连接至主控芯片的GPIO端口。
其中,摇杆按键检测电路的管脚1连接至GPIO3,管脚3连接至GPIO4,管脚4连接至GPIO1,管脚6连接至GPIO2。
其中,GPIO1、GPIO2、GPIO3和GPIO4同时连接至视频图像传感器电路的数据传输端。同时,视频图像传感器电路中还有一个控制管脚SENSOR_PWDN,该SENSOR_PWDN管脚连接至主控芯片的控制端,该控制端用于控制视频图像传感器电路和电子开关的工作状态,通过控制电子开关的状态进一步控制摇杆按键检测电路的工作状态,以实现两者共同占用的GPIO端口的切换。
假设该具体实施例中,电子开关为NPN型三极管,该NPN型三极管的控制端(即基极)与视频图像传感器电路的SENSOR_PWDN管脚连接(即与主控芯片的控制端连接),该NPN型三级管的集电极与摇杆按键检测电路的滑动端2和5连接,发射极接地。
其中,视频图像传感器电路的SENSOR_PWDN管脚用于控制视频图像传感器的工作状态,即在该ENSOR_PWDN管脚为低电平时,视频图像传感器电路处于工作状态,而在该ENSOR_PWDN管脚为高电平时,视频图像传感器电路处于非工作状态。其中,通过主控芯片的控制端输出的高、低电平状态控制视频图像传感器电路和摇杆按键检测电路的工作状态。
具体地,在主控芯片的控制端输出为低电平时,即视频图像传感器电路的SENSOR_PWDN管脚为低电平,该视频图像传感器电路处于工作状态,GPIO1、GPIO2、GPIO3和GPIO4设置为输出状态作为视频图像传感器电路的数据输出端。此时,由于SENSOR_PWDN管脚为低电平,NPN型三极管处于截止状态,摇杆按键检测电路的管脚2和5处于悬空状态,摇杆按键检测电路的滑动端失效,即摇杆按键检测电路处于不工作状态,即使摇杆按键检测电路的滑动端滑动也不会影响视频图像传感器电路的数据线的状态。
具体地,在主控芯片的控制端输出为高电平时,即视频图像传感器电路的SENSOR_PWDN管脚为高电平,视频图像传感器电路处于非工作状态,与视频图像传感器电路复用的GPIO1、GPIO2、GPIO3和GPIO4端口设置为输入状态,作为摇杆按键检测电路的输入端口。此时,由于SENSOR_PWDN管脚为高电平,NPN型三极管处于导通状态,摇杆按键检测电路的管脚2和5经NPN型三极管后接地。若此时摇杆按键检测电路的滑动端处于滑线变阻器的中间位置,在摇杆按键未滑动时,GPIO1、GPIO2、GPIO3和GPIO4均检测为高电平。在摇杆按键的某一滑动端滑动到距某固定端点1/4距离时(以5脚对应的滑动端向4脚对应的固定端点滑动),此时假设5脚和4脚之间的电阻为1.25K欧姆,与第一电阻构成分压电路,假设第一电阻R1为3.6K欧姆,第二电阻R2为100K欧姆,电源电压为3.1伏,则GPIO1端口分压得到的0.8伏的电压,即此时GPIO1获得低电平,GPIO1端口从高电平变为低电平,根据该电平跳变即可确定摇杆按键的滑动方向。
基于上述技术方案,本发明实施例中,主控芯片的GPIO端口同时连接第一功能模块和第二功能模块的数据传输端口,主控芯片的控制端连接第一功能模块的控制端和第二功能模块的控制端,以能够通过主控芯片的控制端控制第一功能模块和第二功能模块的工作状态切换,在主控芯片的控制端输出为第一电平状态时,与主控芯片通过GPIO端口传输第一功能模块的数据,而在主控芯片的控制端输出为第二电平状态时,主控芯片通过GPIO端口传输第二功能模块的数据,从而实现第一功能模块和第二功能模块复用主控芯片的GPIO端口,提高了主控芯片的GPIO端口的利用率,使得能够利用有限的GPIO端口实现更多的功能,节省了GPIO端口资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。