手機硬件開發(fā)基礎
2、I2C總線的讀寫時序 I2C總線上的每一次數(shù)據(jù)傳送都是在主控器之間進行的,在沒有數(shù)據(jù)傳輸時,SDA、SCL均被上拉為高電平,當需要進行數(shù)據(jù)傳輸時,主控器首先產(chǎn)生一個起始信號,(既SCL為高電平,SDA為被主器拉低的下降沿),然后在每個SCL時鐘脈沖出現(xiàn)時傳遞一個數(shù)據(jù)位,直到主控器產(chǎn)生一個停止信號(既SCL為高電平,SDA為被主控器釋放的上升沿)為止。I2C總線主控器首先發(fā)送被控器的7位地址及讀/寫位共1個字節(jié),在每個字節(jié)后,主控器都要等待被控器的應答位,既主控器釋放SDA數(shù)據(jù)線,被控器在接著的第九位SCL脈沖期間拉低SDA數(shù)據(jù)線以表示應答。再接著就是主控器發(fā)送數(shù)據(jù)被控器(寫被動控器)或接收被控器發(fā)送來的數(shù)據(jù)(讀被控器),最后由主控器發(fā)出停止信號來通知被控器以結(jié)束整個數(shù)據(jù)傳送過程。
I2C總線協(xié)議規(guī)定傳送的數(shù)據(jù)長度為8位,而每次傳送數(shù)據(jù)字節(jié)數(shù)以及字節(jié)地址中具有不同的規(guī)定。對于可編程器件,往往還需要根據(jù)已傳遞的命令情況確定下一步的數(shù)據(jù)傳遞操作。以24WC02為例,主控器對其進行的操作模式包括: 字節(jié)寫、頁寫、立即讀、選擇讀、連續(xù)讀等多種情況, 在字節(jié)寫模式時,主器件發(fā)送起始信號和從器件地址,然后發(fā)送寫入字節(jié)地址,在發(fā)送寫入數(shù)據(jù),最后發(fā)送停止信號從而完成一次寫操作;頁寫模式與字節(jié)寫模式的不同之處只是在字節(jié)寫一個數(shù)據(jù)后并不立即發(fā)送停止信號,而是連續(xù)發(fā)送一頁數(shù)據(jù)(規(guī)定一頁為16個字節(jié))后來停止在立即讀模式時,從器件在接收到主器件發(fā)送的器件地址后立即將上一次讀/寫操作的單元地址+1的內(nèi)容發(fā)送到數(shù)據(jù)線上,主器件收到8位數(shù)據(jù)后,不回送應答位,而是直接回貴一個停止信號來完成一次立即讀操作;在選擇讀模式時,主器件首先發(fā)送起始信號和從器件地址,最后讀取數(shù)據(jù);連續(xù)模式實際上是立即讀或選擇讀操作的擴充,在執(zhí)行立即讀或選擇讀操作獲取一個字節(jié)數(shù)據(jù)后,主器件并回貴停止信號而是回貴一個應答位,以表示主器件需要更多的數(shù)據(jù),然后由從器件有序地將后續(xù)字節(jié)數(shù)據(jù)發(fā)送到數(shù)據(jù)線上,知道收到主控器件給出的停止信號為止。
在單片機系統(tǒng)中,CPU不僅要實現(xiàn)對自身的控制,還擔負對單片機系統(tǒng)內(nèi)外其它功能部件的控制,完成規(guī)定的操作和運算。CPU在實現(xiàn)這些控制功能時,是通過逐步執(zhí)行指令序列的過程來完成的。 單片機系統(tǒng)對任何一條指令的執(zhí)行必須經(jīng)歷下列三個階段: 1取指令階段; 2分析指令階段 3執(zhí)行指令階段。 關于手機單片機系統(tǒng)的工作過程主要說明下列幾點: 1單片機系統(tǒng)執(zhí)行一條完整的指令必須經(jīng)過取指令、分析指令和執(zhí)行指令三個過程。CPU中的每條指令都存放在專門的存儲器(ROM)中。 2程序由指令序列組成,程序的執(zhí)行過程就是執(zhí)行指令序列的過程,也就是周而復始地進行取指令、執(zhí)行指令過程。 3程序的執(zhí)行種類分為四種:一種從零地址開始執(zhí)行;二是從中間某一給定地址開始執(zhí)行;三是順序執(zhí)行;四是非順序執(zhí)行。 4程序的執(zhí)行中需要去控制單片機的外部電路,其控制方式有兩種:一是直接控制方式;二是間接控制方式。前者電路結(jié)構簡單,但不能用來直接控制數(shù)目比較多的執(zhí)行部件,因為這會占有單片機的許多輸出接口。間接控制方式與直接控制方式相反,它通過一個控制器,由單片機控制這一控制器。再由這一控制器去直接控制執(zhí)行部件,這樣可聲去微控制器的許多輸出接口,這種間接控制方式能夠控制數(shù)目很多的外部執(zhí)行部件。
5中斷是單片機中的一種重要功能,它能夠使單片機的控制功能更加完善。所謂中斷,就是在正常執(zhí)行程序的過程中,暫時停止執(zhí)行主程序,而轉(zhuǎn)去執(zhí)行另一個更加緊急的程序。 6中斷有五個階段:一是中斷請求;二是中斷排隊;三是中斷響應;四是中斷處理;五是中斷返回。
手機中的單片機一般是16位微處理器(CPU),簡單點說,我們可以把CPU直接看成是一塊單片機,而這塊單片機只有控制運算功能,而不具備存儲等功能是外置的。它與外圍某些器件的工作流程如: 按手機開機鍵,給維持電源部分供電,同時上電單片機,單片機復位后,再給出控制信號給維持電源部分,這時即使松開開機鍵也無妨。
復位后,CPU開始運行其內(nèi)部的程序存儲器,首先從地址0(一般地址0,也有些廠家CPU不是)開始執(zhí)行,然后順序執(zhí)行它的引導程序,同時從外部存儲器(字庫、碼片)內(nèi)讀取資料。如果此時讀取的資料不對,則CPU會內(nèi)部復位(通過CPU內(nèi)部的“看門狗”或者硬件復位指令)引導程序,如果順利執(zhí)行完成后,CPU才從外部字庫里取程序執(zhí)行,如果取得程序異常,它也會導致“看門狗”復位,既程序又從地址0開始執(zhí)行。 CPU讀取字庫是通過并行數(shù)據(jù)線和地址線和地址線,再配合讀寫控制時鐘線W/R,有些讀者可能會問,字庫是怎么區(qū)分是讀程序,還是讀數(shù)據(jù)?單片機還有一跟外部程序存儲器片選信號線或CS、CE、,它和W/R配合作用,就能讓字庫區(qū)分讀是數(shù)據(jù),還是程序。 手機所有軟件工作的流程都是在CPU的作用下進行的,具體的劃分包括下文所述的5個流程。這些流程都是以軟件數(shù)據(jù)的形式儲于手機的EEPROM和FLASHROM中.
2、手機作被叫 當從PSTN發(fā)出呼叫時,其過程與上述過程類似。基站在BCCH適應內(nèi)的Tso期間,廣播一個PCH消息。鎖定于相同ARFCN上的手機檢測對它的尋呼,并回復一個RACH消息,以確認接收到尋呼。當網(wǎng)絡和服務器基站連接后,基站采用CCCH上的AGCH將手機分配到一個新的物理信道,以便連接SDCCH和SACCH。一旦用戶在SDCCH上建立了定時提前量并獲準確認后,基站就在SDCCH上面重新分配物理信道,同時也確立了TCH的分配。
三、 關機流程 關機時,按下開關鍵,鍵盤檢測模塊向數(shù)字邏輯部分發(fā)出一個關機請求信號,CPU既撤消開機維持信號,執(zhí)行關機程序,供電模塊撤消供電,射頻和邏輯電路立即停止工作。如果在開機狀態(tài)下強制關機(取下電池)也有可能會造成內(nèi)部軟件故障。