專(zhuān)利名稱(chēng):異步序列傳輸?shù)南到y(tǒng)喚醒方法
異步序列傳輸?shù)南到y(tǒng)喚醒方法
技術(shù)領(lǐng)域:
本發(fā)明系關(guān)于一種系統(tǒng)喚醒方法,特別是一種異步序列傳輸?shù)南到y(tǒng)喚醒方
法。背景技術(shù):
異步序列傳輸為中央處理器與周邊裝置的數(shù)據(jù)傳輸方法之一,且具有傳輸 線路結(jié)構(gòu)簡(jiǎn)單的優(yōu)點(diǎn),請(qǐng)參照?qǐng)Dl,圖l為目前異步序列傳輸?shù)南到y(tǒng)方塊圖,中
央處理器模塊10透過(guò)序列輸入(RXD)接腳11、序列輸出(TXD)接腳12、請(qǐng)求傳 送(RTS)接腳13、數(shù)據(jù)終端就緒(DTR)接腳14、清除后傳送(CTS)接腳15、數(shù)據(jù) 集就緒(DSR)接腳16、數(shù)據(jù)載體偵測(cè)(DCD)接腳17及鈴聲指示(RI)接腳18與調(diào) 制解調(diào)器模塊20連接,以傳輸數(shù)據(jù)或信號(hào)。
當(dāng)中央處理器模塊10處于睡眠運(yùn)作模式時(shí),其異步序列傳輸?shù)慕幽_為關(guān)閉 (Dis油le)狀態(tài),因此,數(shù)據(jù)無(wú)法傳遞于中央處理器模塊10與調(diào)制解調(diào)器模塊 20之間,而于調(diào)制解調(diào)器模塊20喚醒中央處理器模塊10后,其異步序列傳輸 的接腳即恢復(fù)回致能狀態(tài),如此,即可繼續(xù)接收或傳送數(shù)據(jù)。
而上述的系統(tǒng)喚醒方式,具有較久的系統(tǒng)恢復(fù)時(shí)間的問(wèn)題,即中央處理器 模塊10由鈴聲指示接腳18喚醒后,并恢復(fù)各接腳為致能狀態(tài)再與調(diào)制解調(diào)器 模塊20進(jìn)行溝通(例,通知調(diào)制解調(diào)器模塊20可以傳送數(shù)據(jù))后,才開(kāi)始數(shù)據(jù) 的傳遞與處理程序,故系統(tǒng)由喚醒至開(kāi)始工作所需恢復(fù)時(shí)間較久(約廣3秒), 對(duì)于需要快速反應(yīng)的智能型手機(jī)(Smart Phone)而言,此反應(yīng)時(shí)間愈短愈好,且 若能依據(jù)中央處理器模塊10的運(yùn)作模式,而對(duì)應(yīng)調(diào)整其中斷處理長(zhǎng)度,除了可 縮短中央處理器模塊10的恢復(fù)時(shí)間外,亦可使中央處理器模塊10有較佳的處 理效率。
因此,如何能提供一種異步序列傳輸?shù)目焖賳拘严到y(tǒng)方法,成為研究人員 待解決問(wèn)題之一。
發(fā)明內(nèi)容
鑒于以上的問(wèn)題,本發(fā)明的主要目的在于提供一種異步序列傳輸?shù)南到y(tǒng)喚醒 方法,在中央處理器模塊處于睡眠模式時(shí),保持其異步序列傳輸?shù)慕幽_為致能
狀態(tài),以使中央處理器模塊可持續(xù)接收數(shù)據(jù)或信號(hào),并于喚醒后隨即對(duì)接收的 數(shù)據(jù)或信號(hào)進(jìn)行處理,以縮短中央處理器模塊的恢復(fù)時(shí)間。
因此,為達(dá)上述目的,本發(fā)明所揭露的異步序列傳輸?shù)南到y(tǒng)喚醒方法,對(duì)中 央處理器模塊進(jìn)行一喚醒程序,包括下列步驟
首先,在中央處理器模塊進(jìn)入睡眠模式前,設(shè)置其中斷處理長(zhǎng)度為第一數(shù)據(jù) 接收處理長(zhǎng)度(例,l個(gè)字節(jié)的數(shù)據(jù));在中央處理器模塊處于睡眠運(yùn)作模式時(shí),
保持中央處理器模塊的非同序列傳輸?shù)妮斎胼敵鼋幽_為一致能(enable)狀態(tài) (例,請(qǐng)求傳送接腳與數(shù)據(jù)終端就緒接腳);確認(rèn)喚醒程序的喚醒指令類(lèi)型(例, 內(nèi)部喚醒指令或外部喚醒指令);在喚醒指令類(lèi)型為一外部喚醒指令時(shí),丟棄中 央處理器模塊的異步序列傳輸?shù)妮斎胼敵鼋幽_所接收的第一筆字節(jié)數(shù)據(jù);并重 新設(shè)置中央處理器模塊的中斷處理長(zhǎng)度;以及喚醒中央處理器模塊并對(duì)接收的 數(shù)據(jù)或信號(hào)進(jìn)行處理作業(yè),其中于喚醒指令類(lèi)型為內(nèi)部喚醒指令時(shí),則執(zhí)行內(nèi) 部喚醒處理程序,而中斷處理長(zhǎng)度為每接收4、 8、 16、 64或128個(gè)字節(jié)的數(shù)據(jù), 即產(chǎn)生一中斷處理要求。
借由這種異步序列傳輸?shù)南到y(tǒng)喚醒方法,在中央處理器模塊進(jìn)入睡眠運(yùn)作模 式前,調(diào)整其中斷處理長(zhǎng)度為最小數(shù)據(jù)接收處理長(zhǎng)度,并在中央處理器模塊處 于睡眠運(yùn)作模式時(shí),將其異步序列傳輸?shù)慕幽_保持為致能狀態(tài),借以持續(xù)接收 數(shù)據(jù)或信號(hào),在喚醒后隨即處理所接收的數(shù)據(jù)或信號(hào),借以縮短中央處理模塊 的恢復(fù)時(shí)間。
有關(guān)本發(fā)明的特征與實(shí)作,茲配合圖示作最佳實(shí)施例詳細(xì)說(shuō)明如下。
第1圖為先前技術(shù)所提的異步序列傳輸?shù)南到y(tǒng)方塊圖. 第2圖為本發(fā)明所提的系統(tǒng)喚醒的步驟流程圖。
具體實(shí)施方式
請(qǐng)參照?qǐng)D2,圖2為本發(fā)明的系統(tǒng)喚醒程序的步驟流程圖,并配合圖1的系 統(tǒng)方塊圖作說(shuō)明,首先,在中央處理器模塊10進(jìn)入睡眠運(yùn)作模式前,設(shè)置中央 處理器模塊10的中斷處理長(zhǎng)度為一第一數(shù)據(jù)接收處理長(zhǎng)度(例,每接收滿(mǎn)1個(gè) 字節(jié)的數(shù)據(jù),即產(chǎn)生一中斷處理要求),接著,使中央處理器模塊10進(jìn)入睡眠 運(yùn)作模式(步驟100);在中央處理器模塊10處于睡眠運(yùn)作模式時(shí),保持中央處 理器模塊10的異步序列傳輸?shù)慕幽_為致能(enable)狀態(tài)(步驟101),例如,請(qǐng) 求傳送(RTS)接腳與數(shù)據(jù)終端就緒(DTR)接腳,使中央處理器模塊10能持續(xù)接收
調(diào)制解調(diào)器模塊20所傳送的數(shù)據(jù)或信號(hào),而異步序列傳輸?shù)慕幽_,包含有序
列輸入(RXD)接腳ll、序列輸出(TXD)接腳12、請(qǐng)求傳送(RTS)接腳13、數(shù)據(jù)終 端就緒(DTR)接腳14、清除后傳送(CTS)接腳15、數(shù)據(jù)集就緒(DSR)接腳16、數(shù) 據(jù)載體偵測(cè)(DCD)接腳17及鈴聲指示(RI)接腳18。
接下來(lái),偵測(cè)是否喚醒中央處理器模塊10(步驟102);若偵測(cè)無(wú)喚醒中央 處理器模塊IO,則使中央處理器模塊10繼續(xù)處于睡眠運(yùn)作模式;若偵測(cè)到喚醒 指令,則判斷是否為外部喚醒指令(步驟103),以確認(rèn)為內(nèi)部(internal)喚醒指 令或外部(external)喚醒指令。
若為內(nèi)部喚醒指令,則執(zhí)行內(nèi)部喚醒處理程序(步驟104),例,內(nèi)部定時(shí)器 (圖中未示)所設(shè)定的喚醒時(shí)間到達(dá)后,即產(chǎn)生內(nèi)部喚醒指令,以喚醒中央處理 器模塊10。
若為外部喚醒指令,則進(jìn)一步判斷是否為調(diào)制解調(diào)器模塊20傳送的喚醒指 令(步驟105),例如,由調(diào)制解調(diào)器模塊20的鈴聲指示接腳18傳送的響鈴信號(hào); 若不是調(diào)制解調(diào)器模塊20傳送的喚醒指令,則執(zhí)行外部喚醒處理程序(步驟 108)。
若確認(rèn)為調(diào)制解調(diào)器模塊20傳送的喚醒指令時(shí),則中央處理器模塊10丟棄 序列輸入(RXD)接腳12所接收到的第一筆字節(jié)的數(shù)據(jù)(即無(wú)效數(shù)據(jù))(步驟106), 因?yàn)榈谝还P字節(jié)的數(shù)據(jù)通常會(huì)遺失(lost),故需丟棄并重新接收第一筆字節(jié)的 數(shù)據(jù)(調(diào)制解調(diào)器模塊20會(huì)重復(fù)發(fā)送第一筆字節(jié)的數(shù)據(jù));接下來(lái),重新設(shè)置中 央處理器模塊10數(shù)據(jù)接收處理的中斷處理長(zhǎng)度為第二數(shù)據(jù)接收處理長(zhǎng)度(步驟 107),透過(guò)設(shè)置先進(jìn)先出(First-In First-Out, FIFO)控制緩存器(圖中未示), 將原先設(shè)置為第一數(shù)據(jù)接收處理長(zhǎng)度的中斷處理長(zhǎng)度,重新設(shè)置為第二數(shù)據(jù)接 收處理長(zhǎng)度的中斷處理長(zhǎng)度,以降低中斷處理產(chǎn)生的數(shù)量,例如,將接收到l 個(gè)字節(jié)的數(shù)據(jù)即產(chǎn)生一中斷處理要求的中斷處理長(zhǎng)度,重新設(shè)置為接收到8個(gè) 字節(jié)的數(shù)據(jù)后,再產(chǎn)生一中斷處理要求,換句話說(shuō),中斷處理長(zhǎng)度亦可設(shè)置為 每接收滿(mǎn)16個(gè)字節(jié)、64個(gè)字節(jié)或128個(gè)字節(jié)的數(shù)據(jù)后,再產(chǎn)生一中斷處理要求, 使中央處理器模塊10對(duì)接收的數(shù)據(jù)進(jìn)行處理,如此,借由降低中斷處理產(chǎn)生的 數(shù)量可節(jié)省中央處理器模塊10的工作資源,以提升其處理效率。
在步驟104、步驟107及步驟108后,均喚醒中央處理器模塊IO(步驟109), 以恢復(fù)為正常運(yùn)作模式,由于中央處理器模塊10在睡眠運(yùn)作模式時(shí),仍保持其
異步序列傳輸接腳為致能狀態(tài),故于喚醒中央處理器模塊io后,無(wú)需重新設(shè)置 請(qǐng)求傳送(RTS)接腳13與數(shù)據(jù)終端就緒(DTR)接腳14等等異步序列傳輸?shù)慕幽_
狀態(tài),即無(wú)因關(guān)閉接腳而產(chǎn)生恢復(fù)時(shí)間較久的問(wèn)題,且配合調(diào)整中斷處理長(zhǎng)度, 亦縮短中央處理器模塊10的恢復(fù)時(shí)間并提升其處理效率。
借由這種異步序列傳輸?shù)南到y(tǒng)喚醒方法,在中央處理器模塊進(jìn)入睡眠運(yùn)作模 式前,設(shè)置其中斷處理長(zhǎng)度為一最小數(shù)據(jù)接收處理長(zhǎng)度,在中央處理器模塊處 于睡眠運(yùn)作模式時(shí),將中央處理器模塊的異步傳輸接腳維持在致能狀態(tài),即可 持續(xù)接收數(shù)據(jù)或信號(hào),并在接收到調(diào)制解調(diào)器模塊傳送的喚醒指令后,丟棄所 接收到的第一筆字節(jié)的數(shù)據(jù),與重新調(diào)整中央處器模塊的數(shù)據(jù)接收的中斷處理 長(zhǎng)度,再喚醒中央處理模塊,借以縮短中央處理器模塊的恢復(fù)時(shí)間與提升其處 理效率。
權(quán)利要求
1、一種異步序列傳輸?shù)南到y(tǒng)喚醒方法,對(duì)一中央處理器模塊進(jìn)行一喚醒程序,其特征在于其包含有在該進(jìn)入一睡眠運(yùn)作模式前,設(shè)置該中央處理器模塊的中斷處理長(zhǎng)度為一第一數(shù)據(jù)接收處理長(zhǎng)度;在該中央處理器模塊處于該睡眠運(yùn)作模式時(shí),保持該中央處理器模塊的非同序列傳輸?shù)妮斎胼敵鼋幽_為一致能(enable)狀態(tài);確認(rèn)該喚醒程序的喚醒指令類(lèi)型為一外部喚醒指令;丟棄該輸入輸出接腳接收的第一筆字節(jié)數(shù)據(jù);重新設(shè)置該中央處理器模塊的該中斷處理長(zhǎng)度為一第二數(shù)據(jù)接收處理長(zhǎng)度;喚醒該中央處理器模塊。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng)喚醒方法,其特征在于在該喚醒指令類(lèi)型 為一內(nèi)部喚醒指令時(shí),執(zhí)行一內(nèi)部喚醒處理程序。
3、 根據(jù)權(quán)利要求1所述的系統(tǒng)喚醒方法,其特征在于該外部喚醒指令更 由一調(diào)制解調(diào)器模塊透過(guò)該異步序列傳輸?shù)脑撦斎胼敵鼋幽_發(fā)出至該中央處理器模塊。
4、 根據(jù)權(quán)利要求1所述的系統(tǒng)喚醒方法,其特征在于該第一數(shù)據(jù)接收處理長(zhǎng)度為1個(gè)字節(jié)數(shù)據(jù)。
5、 根據(jù)權(quán)利要求4所述的系統(tǒng)喚醒方法,其特征在于該第二數(shù)據(jù)接收處 理長(zhǎng)度為4個(gè)字節(jié)數(shù)據(jù)。
6、 根據(jù)權(quán)利要求4所述的系統(tǒng)喚醒方法,其特征在于該第二數(shù)據(jù)接收處理長(zhǎng)度為8個(gè)字節(jié)數(shù)據(jù)。
7、 根據(jù)權(quán)利要求4所述的系統(tǒng)喚醒方法,其特征在于該第二數(shù)據(jù)接收處 理長(zhǎng)度為16個(gè)字節(jié)數(shù)據(jù)。
8、 根據(jù)權(quán)利要求4所述的系統(tǒng)喚醒方法,其特征在于該第二數(shù)據(jù)接收處理長(zhǎng)度為64個(gè)字節(jié)數(shù)據(jù)。
9、 根據(jù)權(quán)利要求4所述的系統(tǒng)喚醒方法,其特征在于該第二數(shù)據(jù)接收處理長(zhǎng)度為128個(gè)字節(jié)數(shù)據(jù)。
10、 根據(jù)權(quán)利要求1所述的系統(tǒng)喚醒方法,其特征在于該輸入輸出接腳為序列輸入(RXD)接腳。
全文摘要
一種異步序列傳輸(Universal Asynchronous Receiver/Transmitter,UART)的系統(tǒng)喚醒方法,在中央處理器模塊進(jìn)入睡眠運(yùn)作模式前,設(shè)置其中斷處理長(zhǎng)度為最小數(shù)據(jù)接收處理長(zhǎng)度,并于中央處理器模塊處于睡眠運(yùn)作模式時(shí),保持其異步序列傳輸?shù)慕幽_為致能狀態(tài),以接收自調(diào)制解調(diào)器模塊傳送的喚醒指令;在接收到喚醒指令后,丟棄其異步序列傳輸接腳所接收的第一筆字節(jié)的數(shù)據(jù);接著,重新設(shè)置中央處理器模塊的數(shù)據(jù)接收的中斷處理長(zhǎng)度;以及喚醒中央處理器模塊。
文檔編號(hào)G06F1/32GK101114189SQ200610036759
公開(kāi)日2008年1月30日 申請(qǐng)日期2006年7月28日 優(yōu)先權(quán)日2006年7月28日
發(fā)明者葉承溱 申請(qǐng)人:佛山市順德區(qū)順達(dá)電腦廠有限公司;神達(dá)電腦股份有限公司