一种芯片模块睡眠唤醒的方法

文档序号:6482384阅读:610来源:国知局
专利名称:一种芯片模块睡眠唤醒的方法
技术领域
本发明涉及芯片模块的通讯领域,特别涉及一种芯片模块睡眠唤醒的 方法。
背景技术
现在嵌入式设备已经应用到了各个领域,现有的通信设备中一般具有 多个芯片模块,每个芯片模块与其外围电路一起组成的模块单元相当于一 个相对独立的系统。在能源紧张的时代,为了降低功耗,每个芯片模块在 空闲时通常关闭主时钟以进入睡眠状态,当发生外部事件时,芯片模块将 被唤醒并回到正常状态。由于目前的各个芯片模块是各自进入睡眠状态的, 为了保障模块之间通讯的安全有效,需要釆取一种睡眠唤醒方法和机制, 来唤醒处于睡眠状态的芯片模块。
目前的采用的睡眠唤醒方法是通过增加自定义的睡眠指示信号和唤醒 信号来实现双向唤醒,这种方法由于增加了串口通讯外的硬件信号,所以 占用了更多的硬件资源。

发明内容
本发明的目的是提供 一 种芯片模块睡眠唤醒的方法,该方法通过芯片 模块的串口进行唤醒控制和相关的数据传输。
本发明提供一种芯片模块睡眠唤醒的方法,应用于信号端口互连的两个
芯片模块之间,包括以下步骤
a、 将第二芯片模块的第二信号端口设置为中断信号输入脚,并使其第 一信号端口输出高电平,所述第二芯片模块进入睡眠状态;
b、 将第 一芯片模块的第一信号端口设置为流控信号脚并输出低电平至 所述第二芯片模块的第二信号端口,唤醒所述第二芯片模块;C、将第二芯片模块的第二信号端口设置为流控信号脚并使其第一信号 端口输出低电平至第一芯片模块的第二信号端口;
d、 第一芯片模块在接收到低电平后,向第二芯片模块发送数据,并在 发送结東后设置其第一信号端口为输出脚并输出髙电平;
e、 第二芯片模块在接收数据结束后执行所述步骤a,重新进入睡眠状态。 所述两个芯片模块的第一信号端口为UART串口的RTS端口,第二信号端
口为UART串口的CTS端口 。
步骤b所述的第一芯片模块唤醒第二芯片模块为下降沿中断唤醒。 所述第一芯片模块的RTS端口保持为流控信号脚状态直到数据发送完毕
后的一时间段,所述时间段结束后将RTS端口配制为输出脚并输出高电平。
所述第二芯片模块在接收数据结束后启动定时器定时一时间段,该时间 段结東后再执行步骤a。
采用本发明所述的一种芯片模块睡眠唤醒的方法,其采用了各芯片模块 之间通讯最常用的串口来进行唤醒控制,对UART串口的RTS端口和CTS端 口进行设置和控制,无需增加新的硬件信号端口即可实现两个芯片模块之 间的双向睡眠唤醒,从而节约了成本和提高了效率。


图1是本发明 一 实施例的系统结构图2是本发明 一 实施例的芯片模块间的通讯传输时序图;
图3是本发明 一实施例的流程图。
具体实施例方式
下面结合附图和实施例进一步说明本发明的技术方案。
参考图1,图1显示了一实施例的系统结构,图中所标注接口为第一芯
片模块和第二芯片模块交互所用到的主要控制接口和数据接口,其中
UARTM是第 一芯片模块与第二芯片模块通信的全双工串口 ,用于收发数

RXM端口是第一芯片模块的输入口,第一芯片模块从RXM端口接收数据。
TXM端口是第一芯片模块的输出口,第一芯片模块从TXM端口发送数据。
RTSM是串口流控信号脚,是第一芯片模块的RTS端口。 CTSM是串口流控信号脚,是第一芯片模块的CTS端口。 UARTS是第一芯片模块与第二芯片模块通信的全双工串口,用于收发数

RXS端口是第二芯片模块的输入口,第二芯片模块从RXM端口接收数据。
TXS端口是第二芯片模块的输出口,第二芯片模块从TXM端口发送数据。
RTSS是串口流控信号脚,是第二芯片模块的RTS端口。 CTSS是串口流控信号脚,是第二芯片模块的CTS端口。 参见图3,图3为本发明所述的芯片模块睡眠唤醒的方法100的流程 图,具体包括
101、 设置第二芯片模块的中断信号输入脚,并将其另一端口设置为高 电平,使其进入睡眠状态。
将第二芯片模块的UART串口的CTS端口设置为中断信号输入脚,并使 UART串口的RTS端口输出高电平,所述第二芯片模块进入睡眠状态;
102、 第一芯片模块向第二芯片模块输出低电平,唤醒第二芯片模块。 将第 一 芯片模块的UART串口的RTS端口设置为流控信号脚并输出低电
平至所述第二芯片模块的UART串口的CTS端口 ,唤醒所述第二芯片模块(唤 醒方式为下降沿中断唤醒)。
参见图2,第一芯片模块的应用软件在时间点tl调用数据发送接口启 动数据发送,在发送接口中将RTS端口配置为流控信号脚,RTS端口输出 低电平,唤醒第二芯片模块(下降沿中断唤醒)。
103、 设置第二芯片模块的流控信号脚并向第一芯片模块输出低电平。 参见图2,第二芯片模块被唤醒后,在时间点t2拉低串口流控信号RTS
端口,并配置CTS端口为流控信号脚,即将第二芯片模块的CTS端口设置为流控信号脚并使其RTS端口输出低电平;
104、 向第二芯片模块发送数据并在发送结束后向其输出高电平。 参见图2,第一芯片模块的串口检测到CTS端口为低电平后,在时间
点t3开始调用第一芯片模块的UART串口的数据发送接口从数据线发送数 据,并在发送结束后使RTS端口输出高电平;发送过程中RTS端口一直配 置为流控信号脚,并直到数据发送完毕(时间点t4)后3-5秒钟,即时 间点t5,在时间点t5将RTS端口配制成输出脚,输出高电平。
105、 第二芯片模块完成数据结束后重新进入睡眠状态。
参见图2,第二芯片模块在接收数据结東后执行所述步骤101,重新进
入睡眠状态。具体过程为串口缓冲中数据低于门限值的时候,会产生串
口缓冲空中断,第二芯片模块串口在缓冲中数据低于门限值的时候会检测 到串口接收缓冲空中断,此时启动定时器等待3-5秒,即时间点t6,在时
间点t6将CTS端口置为输入中断脚,并进入睡眠状态,等待下一次数据传
输过程。
需要说明的是,同样的流程可以实现第二芯片模块给第一芯片模块传 输数据和睡眠唤醒,最终实现两个芯片模块之间的双向唤醒。
本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说 明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围 内,对以上实施例的变化、变型都将落在本发明的权利要求书范围内。
权利要求
1、一种芯片模块睡眠唤醒的方法,应用于信号端口互连的两个芯片模块之间,其特征在于,包括以下步骤a、将第二芯片模块的第二信号端口设置为中断信号输入脚,并使其第一信号端口输出高电平,所述第二芯片模块进入睡眠状态;b、将第一芯片模块的第一信号端口设置为流控信号脚并输出低电平至所述第二芯片模块的第二信号端口,唤醒所述第二芯片模块;c、将第二芯片模块的第二信号端口设置为流控信号脚并使其第一信号端口输出低电平至第一芯片模块的第二信号端口;d、第一芯片模块在接收到低电平后,向第二芯片模块发送数据,并在发送结束后设置其第一信号端口为输出脚并输出高电平;e、第二芯片模块在接收数据结束后执行所述步骤a,重新进入睡眠状态。
2、 如权利要求l所述的方法,其特征在于,所述两个芯片模块的第一信 号端口为UART串口的RTS端口,第二信号端口为UART串口的CTS端口。
3、 如权利要求2所述的方法,其特征在于,步骤b所述的第一芯片模块 唤醒第二芯片模块为下降沿中断唤醒。
4、 如权利要求2或3所述的方法,其特征在于,所述第一芯片模块的RTS端口保持为流控信号脚状态直到数据发送完毕后的一时间段,所述时间段 结束后将RTS端口配制为输出脚并输出高电平。
5、 如权利要求2或3所述的方法,其特征在于,所述第二芯片模块在接 收数据结東后启动定时器定时 一 时间段,该时间段结東后再执行步骤a。
全文摘要
本发明揭示了一种芯片模块睡眠唤醒的方法,其采用了各芯片模块之间通讯最常用的串口来进行唤醒控制,对UART串口的RTS端口和CTS端口进行设置和控制,无需增加新的硬件信号端口即可实现两个芯片模块之间的双向睡眠唤醒,从而节约了成本和提高了效率。
文档编号G06F1/32GK101504565SQ20091004701
公开日2009年8月12日 申请日期2009年3月4日 优先权日2009年3月4日
发明者锐 杨 申请人:上海闻泰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1