專利名稱:雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用于通信設(shè)備進(jìn)行通信糾錯(cuò)的系統(tǒng)及方法,特別是關(guān)于一種雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng)及方法。
背景技術(shù):
傳統(tǒng)雙模手機(jī)包括主模和副模兩個(gè)通信模塊,其都是以交互命令(ATcommand)為基礎(chǔ)進(jìn)行通信的,這都是需要具體解析交互命令的ASCII代碼。然而,一旦中途由于一些意外原因?qū)е聰?shù)據(jù)的丟失,交互命令的ASCII代碼得不到正確解析,就會(huì)讓接受交互命令的一方完全無法得到正確的指令而處于停滯狀態(tài)。其次,錯(cuò)誤數(shù)據(jù)的傳輸又會(huì)一直占據(jù)著通信傳輸通道,加上主模與副模在通信的過程又有監(jiān)聽狗(watch dog)機(jī)制需要正常運(yùn)行,因此手機(jī)也不會(huì)重新啟動(dòng)。對(duì)用戶來說,此時(shí)會(huì)發(fā)現(xiàn)手機(jī)處在一個(gè)完全近似死機(jī)的狀態(tài),無法 響應(yīng)用戶的操作,用戶只能通過拔電池重啟解決問題。
發(fā)明內(nèi)容
鑒在以上內(nèi)容,有必要提供一種雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng)及方法,能夠自動(dòng)糾正雙模手機(jī)通信時(shí)發(fā)生的數(shù)據(jù)錯(cuò)誤,從而保證雙模手機(jī)能夠正常通信。所述的雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng),該雙模手機(jī)包括主模芯片、副模芯片、緩沖器以及計(jì)時(shí)器。該系統(tǒng)包括命令備份模塊,用于設(shè)置主模芯片與副模芯片進(jìn)行命令交互的響應(yīng)時(shí)間,在緩沖器中備份主模芯片與副模芯片的交互命令,并啟動(dòng)計(jì)時(shí)器對(duì)主模芯片與副模芯片進(jìn)行通信的通信時(shí)間進(jìn)行計(jì)時(shí);命令監(jiān)聽模塊,用于判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間,當(dāng)通信時(shí)間超過響應(yīng)時(shí)間時(shí)檢測(cè)主模芯片是否處于死機(jī)狀態(tài),當(dāng)主模芯片處于死機(jī)狀態(tài)時(shí)啟動(dòng)監(jiān)聽狗機(jī)制重啟主模芯片,當(dāng)主模芯片沒有死機(jī)時(shí)檢測(cè)副模芯片是否處于死機(jī)狀態(tài),當(dāng)副模芯片處于死機(jī)狀態(tài)時(shí)控制副模芯片上的輸入輸出管腳的電平值來重啟副模芯片;命令糾錯(cuò)模塊,用于當(dāng)副模芯片沒有死機(jī)時(shí)產(chǎn)生硬件中斷指令并將其發(fā)送給主模芯片與副模芯片,當(dāng)主模芯片與副模芯片接收到硬件中斷指令后從緩沖器中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù);通信模塊,用于從緩沖器中讀取備份的交互命令并將其發(fā)送至數(shù)據(jù)傳輸通道上,從緩沖器中清除備份的交互命令,以及控制主模芯片與副模芯片解析交互命令進(jìn)行正常通信。所述的命令交互糾錯(cuò)方法包括步驟設(shè)置主模芯片與副模芯片進(jìn)行命令交互的響應(yīng)時(shí)間;在緩沖器中備份主模芯片與副模芯片的交互命令,并啟動(dòng)計(jì)時(shí)器對(duì)主模芯片與副模芯片進(jìn)行通信的通信時(shí)間進(jìn)行計(jì)時(shí);判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間;則若通信時(shí)間沒有超過響應(yīng)時(shí)間,主模芯片與副模芯片進(jìn)行正常通信,或者若通信時(shí)間超過響應(yīng)時(shí)間,則檢測(cè)主模芯片是否處于死機(jī)狀態(tài);若主模芯片處于死機(jī)狀態(tài),則啟動(dòng)監(jiān)聽狗機(jī)制重啟主模芯片;若主模芯片沒有死機(jī),則檢測(cè)副模芯片是否處于死機(jī)狀態(tài);若副模芯片處于死機(jī)狀態(tài),則控制副模芯片上的輸入輸出管腳的電平值來重啟副模芯片;若副模芯片沒有死機(jī),則產(chǎn)生硬件中斷指令并將其發(fā)送給主模芯片與副模芯片;主模芯片與副模芯片接收到硬件中斷指令后從緩沖器中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù);從緩沖器中讀取備份的交互命令并將其發(fā)送至數(shù)據(jù)傳輸通道上,并從緩沖器中清除備份的交互命令;控制主模芯片與副模芯片解析交互命令進(jìn)行正常通信。相較于現(xiàn)有技術(shù),本發(fā)明所述的雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng),能夠自動(dòng)糾正雙模手機(jī)的主模芯片與副模芯片進(jìn)行命令交互時(shí)由于意外原因?qū)е碌臄?shù)據(jù)錯(cuò)誤,保證主模芯片與副模芯片之間能夠正常通信。
圖I是本發(fā)明雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng)較佳實(shí)施例的架構(gòu)圖。圖2是本發(fā)明雙模手機(jī)的命令交互糾錯(cuò)方法較佳實(shí)施例的流程圖。
主要元件符號(hào)說明雙模手機(jī)I命令交互糾錯(cuò)系統(tǒng)10命令備份模塊101命令監(jiān)聽模塊102命令糾錯(cuò)模塊103通信模塊104主模芯片11副模芯片12微處理器13緩沖器14計(jì)時(shí)器1具體實(shí)施例方式如圖I所示,是本發(fā)明雙模手機(jī)I的命令交互糾錯(cuò)系統(tǒng)10較佳實(shí)施例的架構(gòu)圖。在本實(shí)施例中,所述的命令交互糾錯(cuò)系統(tǒng)10安裝并運(yùn)行于雙模手機(jī)I中,能夠自動(dòng)糾正雙模手機(jī)I通信時(shí)由于意外原因?qū)е碌臄?shù)據(jù)錯(cuò)誤,例如數(shù)據(jù)傳輸丟失、數(shù)據(jù)解析錯(cuò)誤等,從而保證雙模手機(jī)I能夠正常通信。所述的雙模手機(jī)I包括主模芯片11、副模芯片12、微處理器(microprocessor) 13、緩沖器(buffer) 14以及計(jì)時(shí)器(timer) 15。主模芯片11、副模芯片12通過數(shù)據(jù)總線(bus)與微處理器13、緩沖器14以及計(jì)時(shí)器15相連接。所述的主模芯片11通過數(shù)據(jù)傳輸通道201與副模芯片12進(jìn)行命令交互。該數(shù)據(jù)傳輸通道201為一條雙向數(shù)據(jù)輸入輸出通道,用于傳輸主模芯片11與副模芯片12各自發(fā)送的交互命令(AT co_and),例如數(shù)據(jù)發(fā)送命令、數(shù)據(jù)接收命令、數(shù)據(jù)解析命令等。主模芯片11的輸入管腳(Pin_l)連接至副模芯片12的輸出管腳(Pin_3)上構(gòu)成數(shù)據(jù)輸入通道,而主模芯片11的輸出管腳(Pin_2)連接至副模芯片12的輸入管腳(Pin_4)上構(gòu)成數(shù)據(jù)輸出通道。所述的微處理器13用于執(zhí)行所述的命令交互糾錯(cuò)系統(tǒng)10對(duì)主模芯片11與副模芯片12命令交互時(shí)產(chǎn)生的命令錯(cuò)誤進(jìn)行自動(dòng)糾正。緩沖器14用于備份主模芯片11與副模芯片12的交互命令,以及暫存交互時(shí)已接收的數(shù)據(jù)、已發(fā)送的數(shù)據(jù),以及已解析的數(shù)據(jù)。計(jì)時(shí)器15用于對(duì)主模芯片11與副模芯片12進(jìn)行命令交互的通信時(shí)間進(jìn)行計(jì)時(shí)。所述的命令交互糾錯(cuò)系統(tǒng)10包括命令備份模塊101、命令監(jiān)聽模塊102、命令糾錯(cuò)模塊103以及通信模塊104。本發(fā)明所稱的模塊是指一種能夠被雙模手機(jī)I的微處理器13所執(zhí)行并且能夠完成固定功能的一系列計(jì)算機(jī)程序段。所述的命令備份模塊101用于設(shè)置雙模手機(jī)I的主模芯片11與副模芯片12進(jìn)行命令交互的響應(yīng)時(shí)間(例如預(yù)設(shè)值為5秒),在緩沖器14中備份主模芯片11與副模芯片12進(jìn)行命令交互所需的交互命令,并啟動(dòng)計(jì)時(shí)器15對(duì)主模芯片11與副模芯片12進(jìn)行命令交互的通信時(shí)間進(jìn)行計(jì)時(shí)。本實(shí)施例中,當(dāng)主模芯片11或者副模芯片12發(fā)送交互命令至數(shù)據(jù)傳輸通道201時(shí),命令備份模塊101即啟動(dòng)計(jì)時(shí)器15開始計(jì)時(shí)。所述的命令監(jiān)聽模塊102用于判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間,當(dāng)通信時(shí)間超過響應(yīng)時(shí)間時(shí)檢測(cè)主模芯片11是否處于死機(jī)狀態(tài),當(dāng)主模芯片11處于死機(jī)狀態(tài)時(shí)啟動(dòng)監(jiān)聽狗(watch dog)機(jī)制重啟主模芯片11。所述的監(jiān)聽狗是一種通信監(jiān)聽進(jìn)程,其一直 存在于主模芯片11與副模芯片12的通信過程中,用于監(jiān)聽主模芯片11與副模芯片12的通信是否正常。所述的命令監(jiān)聽模塊102還用于當(dāng)主模芯片11沒有死機(jī)時(shí)檢測(cè)副模芯片12是否處于死機(jī)狀態(tài),當(dāng)副模芯片12處于死機(jī)狀態(tài)時(shí)通過控制副模芯片12上的輸入輸出管腳(pin)的電平值來重啟副模芯片12。在本實(shí)施例中,命令監(jiān)聽模塊102通過將副模芯片12上的輸入管腳由原來的低電平“0”重設(shè)成高電平“1”,或者輸出管腳由原來的高電平“I”重設(shè)成低電平“0”來重啟副模芯片12。所述的命令糾錯(cuò)模塊103用于當(dāng)副模芯片12沒有死機(jī)時(shí)產(chǎn)生硬件中斷指令,并將該硬件中斷指令發(fā)送給主模芯片11與副模芯片12,當(dāng)主模芯片11與副模芯片12接收到硬件中斷指令后從緩沖器15中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù),并清除主模芯片11與副模芯片12之間的數(shù)據(jù)傳輸通道201上正在傳輸?shù)慕换ッ?。所述的通信模塊104用于從緩沖器14中讀取備份的交互命令并將其發(fā)送至數(shù)據(jù)傳輸通道201上,并從緩沖器14中清除備份的交互命令,以及控制主模芯片11與副模芯片12解析交互命令進(jìn)行正常的通信。如圖2所示,是本發(fā)明雙模手機(jī)I的命令交互糾錯(cuò)方法較佳實(shí)施例的流程圖。在本實(shí)施例中,本發(fā)明所述的方法能夠自動(dòng)糾正雙模手機(jī)I的主模芯片11與副模芯片12進(jìn)行命令交互時(shí)由于意外原因?qū)е聰?shù)據(jù)錯(cuò)誤,從而保證主模芯片11與副模芯片12之間能夠正常通信。步驟S20,命令備份模塊101設(shè)置雙模手機(jī)I的主模芯片11與副模芯片12進(jìn)行命令交互的響應(yīng)時(shí)間,例如預(yù)設(shè)值為5秒。步驟S21,命令備份模塊101在緩沖器14中備份主模芯片11與副模芯片12進(jìn)行命令交互所需的交互命令,并啟動(dòng)計(jì)時(shí)器15對(duì)主模芯片11與副模芯片12進(jìn)行命令交互的通信時(shí)間進(jìn)行計(jì)時(shí)。本實(shí)施例中,當(dāng)主模芯片11或者副模芯片12發(fā)送交互命令至數(shù)據(jù)傳輸通道201時(shí),命令備份模塊101即啟動(dòng)計(jì)時(shí)器15開始計(jì)時(shí)。步驟S22,命令監(jiān)聽模塊102判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間。若通信時(shí)間超過響應(yīng)時(shí)間,則執(zhí)行步驟S23 ;若通信時(shí)間沒有超過響應(yīng)時(shí)間,則執(zhí)行步驟S30。步驟S23,命令監(jiān)聽模塊102檢測(cè)主模芯片11是否處于死機(jī)狀態(tài)。若主模芯片11處于死機(jī)狀態(tài),則執(zhí)行步驟S24 ;若主模芯片11沒有死機(jī),則執(zhí)行步驟S25。步驟S24,命令監(jiān)聽模塊102啟動(dòng)監(jiān)聽狗機(jī)制重啟主模芯片11。步驟S25,命令監(jiān)聽模塊102檢測(cè)副模芯片12是否處于死機(jī)狀態(tài)。若副模芯片12處于死機(jī)狀態(tài),則執(zhí)行步驟S26 ;若副模芯片12沒有死機(jī),則執(zhí)行步驟S27。步驟S26,命令監(jiān)聽模塊102通過控制副模芯片12上的輸入輸出管腳(pin)的電平值來重啟副模芯片12。在本實(shí)施例中,命令監(jiān)聽模塊102通過將輸入管腳由原來的低電平“0”重設(shè)成高電平“1”,或者將輸出管腳由原來的高電平“I”重設(shè)成低電平“0”來重啟副模芯片12。步驟S27,命令糾錯(cuò)模塊103產(chǎn)生硬件中斷指令,并將該硬件中斷指令發(fā)送給主模芯片11與副模芯片12。步驟S28,當(dāng)主模芯片11與副模芯片12接收到硬件中斷指令后,命令糾錯(cuò)模塊103從緩沖器15中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù),并 清除主模芯片11與副模芯片12之間的數(shù)據(jù)傳輸通道201上正在傳輸?shù)慕换ッ?。步驟S29,通信模塊104從緩沖器14中讀取備份的交互命令并將其發(fā)送至數(shù)據(jù)傳輸通道201上,并從緩沖器14中清除備份的交互命令。步驟S30,通信模塊104控制主模芯片11與副模芯片12解析交互命令進(jìn)行正常的通信。以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照以上較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者者等同替換都不應(yīng)脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng),該雙模手機(jī)包括主模芯片、副模芯片、緩沖器以及計(jì)時(shí)器,其特征在于,該系統(tǒng)包括 命令備份模塊,用于設(shè)置主模芯片與副模芯片進(jìn)行命令交互的響應(yīng)時(shí)間,在緩沖器中備份主模芯片與副模芯片的交互命令,并啟動(dòng)計(jì)時(shí)器對(duì)主模芯片與副模芯片進(jìn)行通信的通信時(shí)間進(jìn)行計(jì)時(shí); 命令監(jiān)聽模塊,用于判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間,當(dāng)通信時(shí)間超過響應(yīng)時(shí)間時(shí)檢測(cè)主模芯片是否處于死機(jī)狀態(tài),當(dāng)主模芯片處于死機(jī)狀態(tài)時(shí)啟動(dòng)監(jiān)聽狗機(jī)制重啟主模芯片,當(dāng)主模芯片沒有死機(jī)時(shí)檢測(cè)副模芯片是否處于死機(jī)狀態(tài),當(dāng)副模芯片處于死機(jī)狀態(tài)時(shí)控制副模芯片上管腳的電平值來重啟副模芯片; 命令糾錯(cuò)模塊,用于當(dāng)副模芯片沒有死機(jī)時(shí)產(chǎn)生硬件中斷指令并將硬件中斷指令發(fā)送給主模芯片與副模芯片,當(dāng)主模芯片與副模芯片接收到硬件中斷指令后從緩沖器中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù);以及 通信模塊,用于從緩沖器中讀取備份的交互命令并將該交互命令發(fā)送至數(shù)據(jù)傳輸通道上,以及控制主模芯片與副模芯片解析交互命令進(jìn)行正常通信。
2.如權(quán)利要求I所述的命令交互糾錯(cuò)系統(tǒng),其特征在于,所述的命令糾錯(cuò)模塊還用于清除主模芯片與副模芯片之間的數(shù)據(jù)傳輸通道上正在傳輸?shù)慕换ッ睢?br>
3.如權(quán)利要求I所述的命令交互糾錯(cuò)系統(tǒng),其特征在于,所述的主模芯片的輸入管腳連接至副模芯片的輸出管腳上構(gòu)成主模芯片的數(shù)據(jù)輸入通道,主模芯片的輸出管腳連接至副模芯片的輸入管腳上構(gòu)成主模芯片的數(shù)據(jù)輸出通道。
4.如權(quán)利要求I所述的命令交互糾錯(cuò)系統(tǒng),其特征在于,所述的監(jiān)聽狗是一種通信監(jiān)聽進(jìn)程,其一直存在于主模芯片與副模芯片的通信過程中,用于監(jiān)聽主模芯片與副模芯片的通彳目是否正常。
5.如權(quán)利要求I所述的命令交互糾錯(cuò)系統(tǒng),其特征在于,所述的命令監(jiān)聽模塊通過將副模芯片上的輸入管腳由原來的低電平重設(shè)成高電平,或者將輸出管腳由原來的高電平重設(shè)成低電平來重啟副模芯片。
6.一種雙模手機(jī)的命令交互糾錯(cuò)方法,該雙模手機(jī)包括主模芯片、副模芯片、緩沖器以及計(jì)時(shí)器,其特征在于,該方法包括步驟 設(shè)置主模芯片與副模芯片進(jìn)行命令交互的響應(yīng)時(shí)間; 在緩沖器中備份主模芯片與副模芯片的交互命令,并啟動(dòng)計(jì)時(shí)器對(duì)主模芯片與副模芯片進(jìn)行通信的通信時(shí)間進(jìn)行計(jì)時(shí); 判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間; 若通信時(shí)間沒有超過響應(yīng)時(shí)間,則主模芯片與副模芯片進(jìn)行正常通信,或者若通信時(shí)間超過響應(yīng)時(shí)間,則檢測(cè)主模芯片是否處于死機(jī)狀態(tài); 若主模芯片處于死機(jī)狀態(tài),則啟動(dòng)監(jiān)聽狗機(jī)制重啟主模芯片; 若主模芯片沒有死機(jī),則檢測(cè)副模芯片是否處于死機(jī)狀態(tài); 若副模芯片處于死機(jī)狀態(tài),則控制副模芯片上管腳的電平值來重啟副模芯片; 若副模芯片沒有死機(jī),則產(chǎn)生硬件中斷指令并將硬件中斷指令發(fā)送給主模芯片與副模 心片; 主模芯片與副模芯片接收到硬件中斷指令后從緩沖器中清除已發(fā)送的數(shù)據(jù)、已接收的數(shù)據(jù)以及已解析的數(shù)據(jù); 從緩沖器中讀取備份的交互命令,并將該交互命令發(fā)送至數(shù)據(jù)傳輸通道上;以及 控制主模芯片與副模芯片解析交互命令進(jìn)行正常通信。
7.如權(quán)利要求6所述的命令交互糾錯(cuò)方法,其特征在于,該方法還包括步驟 清除主模芯片與副模芯片之間數(shù)據(jù)傳輸通道上正在傳輸?shù)慕换ッ睢?br>
8.如權(quán)利要求6所述的命令交互糾錯(cuò)方法,其特征在于,所述的主模芯片的輸入管腳連接至副模芯片的輸出管腳上構(gòu)成主模芯片的數(shù)據(jù)輸入通道,主模芯片的輸出管腳連接至副模芯片的輸入管腳上構(gòu)成主模芯片的數(shù)據(jù)輸出通道。
9.如權(quán)利要求6所述的命令交互糾錯(cuò)方法,其特征在于,所述的監(jiān)聽狗是一種通信監(jiān) 聽進(jìn)程,其一直存在于主模芯片與副模芯片的通信過程中,用于監(jiān)聽主模芯片與副模芯片的通信是否正常。
10.如權(quán)利要求6所述的命令交互糾錯(cuò)方法,其特征在于,所述的重啟副模芯片是通過將該副模芯片上的輸入管腳由原來的低電平重設(shè)成高電平,或者將輸出管腳由原來的高電平重設(shè)成低電平來實(shí)現(xiàn)的。
全文摘要
一種雙模手機(jī)的命令交互糾錯(cuò)系統(tǒng)及方法,該雙模手機(jī)包括主模芯片、副模芯片、緩沖器以及計(jì)時(shí)器。該系統(tǒng)包括命令備份模塊,用于在緩沖器中備份主模芯片與副模芯片的交互命令,并啟動(dòng)計(jì)時(shí)器對(duì)主模芯片與副模芯片的通信時(shí)間進(jìn)行計(jì)時(shí);命令監(jiān)聽模塊,用于判斷通信時(shí)間是否超過預(yù)設(shè)的響應(yīng)時(shí)間,當(dāng)通信時(shí)間超過響應(yīng)時(shí)間時(shí)分別檢測(cè)主模芯片與副模芯片是否死機(jī);命令糾錯(cuò)模塊,用于從緩沖器中清除發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和解析數(shù)據(jù);通信模塊,用于從緩沖器中讀取備份的交互命令并將其發(fā)送至數(shù)據(jù)傳輸通道上,并控制主模芯片與副模芯片解析交互命令進(jìn)行正常通信。實(shí)施本發(fā)明,能夠自動(dòng)糾正雙模手機(jī)通信時(shí)發(fā)生的數(shù)據(jù)錯(cuò)誤,保證雙模手機(jī)正常通信。
文檔編號(hào)H04M1/725GK102761646SQ20111010499
公開日2012年10月31日 申請(qǐng)日期2011年4月26日 優(yōu)先權(quán)日2011年4月26日
發(fā)明者李盈政 申請(qǐng)人:奇美通訊股份有限公司, 深圳富泰宏精密工業(yè)有限公司