單片機以太網(wǎng)控制芯片W7100A數(shù)據(jù)手冊(三)
7.4 簡單定時器
看門狗定時器是一個獨立運行的定時器。在定時器模式下禁止復(fù)位(EWT=0)和禁止中斷(EWDI=0),定時器開始向WD[1:0]預(yù)先設(shè)置的時間計數(shù),并將允許看門狗中斷標(biāo)志。對RWT復(fù)位,定時器將工作在時間溢出監(jiān)測模式。WDIF位可以由軟件清0或置1??撮T狗中斷可以用于需要長時間定時的應(yīng)用系統(tǒng)中,中斷由看門狗中斷允許啟動位(EIE.4)開啟。那么當(dāng)產(chǎn)生時間溢出,看門狗定時器將設(shè)置WDIF位(WDCON.3)為1。如果中斷總開關(guān)開啟,那么將產(chǎn)生中斷。注意,在一個可能的看門狗復(fù)位之前,WDIF將在512個時鐘之后復(fù)位。看門狗中斷標(biāo)志指示中斷的來源,必須由軟件清除。如果看門狗中斷應(yīng)用得當(dāng),看門狗復(fù)位將使得中斷程序可以監(jiān)控任何系統(tǒng)錯誤。
7.5 系統(tǒng)監(jiān)控
如果WDCON的EWT位置位,W7100A會在一個看門狗時間超時發(fā)生后重啟。用戶可以使用看門狗定時器作為系統(tǒng)監(jiān)控的功能,例如,系統(tǒng)在看門狗中斷之前正在運行錯誤代碼,而且也沒有RWT清除進程,因為這種代碼不是由用戶編寫的,這種情況將會導(dǎo)致看門狗超時發(fā)生,W7100A將會重啟。用戶通過這種機制可以避免不想看到的系統(tǒng)狀態(tài)。
7.6 與看門狗有關(guān)的寄存器
看門狗定時器定時器在運行期間與多個特殊功能寄存器的位相關(guān)。這些位可用于復(fù)位源、中斷源、軟件檢測定時器,也可以是這三者的任意組合。復(fù)位和中斷都有狀態(tài)標(biāo)志??撮T狗還有一個位是重啟定時器。下表是對這些位的詳細介紹。
表7.2 與Watchdog有關(guān)的”位”的總結(jié)
注意:
WTRF – 看門狗定時器復(fù)位標(biāo)志。當(dāng)該標(biāo)志由硬件置位時,標(biāo)志著已經(jīng)產(chǎn)生了看門狗定時器復(fù)位。然而如果由軟件對該標(biāo)志置位,不會觸發(fā)看門狗定時器復(fù)位。在復(fù)位期間,該標(biāo)志會被清除,否則需要軟件清除。如果EWT被清除,看門狗定時器對該位不產(chǎn)生影響。
EWT
0 : 看門狗定時器溢出不對微處理器復(fù)位
1 : 看門狗定時器溢出對微處理器復(fù)位
RWT
未使用的位讀出為1或0。
下表總結(jié)了控制看門狗的”位”及其功能
表7.3 看門狗的”位”及作用
時鐘控制寄存器CKCON(0x8E)包含WD[1:0]位,用于選擇看門狗定時器溢出時間??撮T狗時鐘直接來源于CLK引腳輸入,看門狗有四種時間溢出選擇(基于輸入的CLK時鐘),如表7.4所示。這是一個預(yù)選的時鐘數(shù)。因此實際的時鐘溢出時間與CLK頻率是相關(guān)的。
*W7100A時鐘頻率=88.4736MHz
表7.4 Watchdog時間間隔
上表所示的時間間隔是產(chǎn)生中斷事件。如果允許產(chǎn)生復(fù)位,那么將在512個時鐘之后產(chǎn)生復(fù)位,而不管中斷的出現(xiàn)。因此,實際看門狗溢出時間就是選擇的看門狗定時時鐘周期再加上512個時鐘周期(CLK引腳信號)。
7.1 順序訪問寄存器
因為WDCON是順序訪問寄存器,用戶必須用下面的步驟來設(shè)置WDCON的值。TA位于特殊功能寄存器的0xC7地址。
MOV TA, #0xAA
MOV TA, #0x55
;任何直接尋址指令對順序訪問寄存器操作
用戶在設(shè)置WDCON時應(yīng)該一直使用這個順序
表7.5 順序訪問寄存器
8. TCPIP內(nèi)核
8.1 存儲器映射
TCP/IP內(nèi)核由通用寄存器、SOCKET寄存器、TX存儲器和RX存儲器組成,如下圖所示:
8.2 TCP/IP內(nèi)核寄存器
8.2.1
8.2.2
評論