新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)以太網(wǎng)控制芯片W7100A數(shù)據(jù)手冊(三)

單片機(jī)以太網(wǎng)控制芯片W7100A數(shù)據(jù)手冊(三)

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏

昨天給大家介紹了有關(guān)中斷、I/O端口及定時器的部分,今天繼續(xù)講解W7100A如何通過異步收發(fā)以及看門狗定時器&TCP/IP內(nèi)核相關(guān)內(nèi)容。

本文引用地址:http://butianyuan.cn/article/201611/322035.htm

6.通過異步收發(fā)(UART)

W7100A的UART工作在全雙工狀態(tài),允許同時接受和發(fā)送操作。因為W7100A是雙數(shù)據(jù)緩沖區(qū),接收器在第一個字節(jié)沒有被讀取時,仍然可以接收數(shù)據(jù)。在讀操作時,從接受緩沖區(qū)SBUF讀取數(shù)據(jù)。另一方面,在發(fā)送過程中,SBUF將數(shù)據(jù)裝載到發(fā)送緩沖區(qū)。UART有4中不同的工作模式,一種是同步模式,3種異步模式。模式2和模式3的一些特殊的特性主要用于多機(jī)通信。通過設(shè)置SCON寄存器的SM2位可以使用該特性。主處理器首先發(fā)送地址字節(jié)以確定目標(biāo)從屬機(jī)。地址字節(jié)與數(shù)據(jù)字節(jié)在第9位進(jìn)行區(qū)分,第9位為1則表示是地址字節(jié),為0則標(biāo)志數(shù)據(jù)字節(jié)。當(dāng)SM2=1,數(shù)據(jù)字節(jié)不會使從屬機(jī)產(chǎn)生中斷,而地址字節(jié)則將使所有從屬機(jī)產(chǎn)生中斷。選中的從屬機(jī)將SM2清零,準(zhǔn)備接受即將到來的數(shù)據(jù)。而沒有被選中的從屬機(jī)SM2仍然為1,忽略所有接受的數(shù)據(jù)。

引腳的功能描述如下:

表6.1 UART引腳定義

注意:

SM2 – 允許多處理器通信

SM1 – 設(shè)置波特率

SM0 – 設(shè)置波特率

REN – ‘1’ : 使能串行接收

‘0’ : 禁止串行接收

TB8 – 在模式2和模式3,發(fā)送數(shù)據(jù)的第9位。根據(jù)CPU的運(yùn)行情況啟用這一位(奇偶校驗,多機(jī)通信等)

RB8 – 在模式2和模式3,接收數(shù)據(jù)的第9位。在模式1,如果SM2=0,RB8是停止位,在模式0,該位沒有使用。

UART模式如下表所示:

6.1中斷

與UART中斷有關(guān)的位如下。中斷可以由IE寄存器觸發(fā),中斷優(yōu)先級可以由IP寄存器配置。

圖6.6 UART配置寄存器

注意:

TI – 發(fā)送中斷標(biāo)志,完成一次發(fā)送后由硬件自動置”1”,必須由軟件清除

RI – 接收中斷標(biāo)志,接收一個串行數(shù)據(jù)后由硬件自動置”1”,必須由軟件清除

所有可以產(chǎn)生中斷的位都可以通過軟件設(shè)置或清除,與硬件產(chǎn)生的效果相同。也即是說,中斷可以由軟件產(chǎn)生或清除。

表6.4 UART中斷

6.2模式0,同步模式

TXD輸出同步時鐘,波特率固定位1/12時鐘頻率(CLK)。傳輸?shù)?位數(shù)據(jù)低位在前,通過設(shè)置RI=0和REN=1,即可啟動接收。

6.3模式1,8位UART,波特率可變,Timer1或Timer2作為時鐘源

RXD引腳作為串行通信的輸入端,TXD引腳作為串行通信的輸出端。10位傳輸?shù)臄?shù)據(jù)順序是:1個起始位(0)、8位數(shù)據(jù)位(低位在前)、一個停止位(1)。在接收過程中,通過起始位同步傳輸過程,下一步即可以通過SBUF讀取到8位數(shù)據(jù),停止位用于觸發(fā)特殊功能寄存器SCON(0x98)的RB08位,根據(jù)Timer1或Timer2的模式可以改變通信波特率。要使用Timer2作為時鐘源,需要設(shè)置T2CON(0xC8)寄存器的TCLK和RCLK位。

6.4模式2,9位UART,固定波特率

模式2與模式1相同,但波特率固定為1/32或1/64時鐘頻率,傳輸?shù)臄?shù)據(jù)位11位:一個起始位(0),8位數(shù)據(jù)位(低位在前),一個可編程的第9位和一個停止位(1)。第9位可用于UART數(shù)據(jù)的其偶檢驗。在發(fā)送過程中,SCON寄存器的TB08位是作為數(shù)據(jù)的第9位輸出的。在接收過程中,接收的第9位將保存在sCON的RB08位。

6.6波特率設(shè)置

表6.5 波特率設(shè)置

注意:

波特率計算公式

使用Timer1 – 波特率 = ( 2SMOD/ 32 ) * ( 時鐘頻率 / 12( 256 – TH1 ) )

使用Timer2 – 波特率 = 時鐘頻率 / ( 32 * ( 65536 – ( RLDH, RLDL ) ) )

7.看門狗定時器

7.1概述

看門狗定時器由系統(tǒng)時鐘經(jīng)過一系列的分頻器提供時鐘信號,如下圖所示。分頻器輸出是可選擇的,它決定了定時器超時的間隔。當(dāng)看門狗定時器產(chǎn)生超時的時候,相應(yīng)的中斷標(biāo)志將置位。如果允許的話,對系統(tǒng)復(fù)位。當(dāng)中斷允許控制位和中斷總開關(guān)都開啟時,中斷標(biāo)志將觸發(fā)中斷。復(fù)位和中斷是完全不同的兩個功能,根據(jù)應(yīng)用系統(tǒng)的要求,可分別得到響應(yīng)、或單獨得到響應(yīng)、或忽略之。

7.2中斷

與看門狗中斷有關(guān)的位如下圖所示。中斷可以由IE(0xA8)和EIE(0xE8)寄存器打開或關(guān)閉。由EIP(0xF8)寄存器設(shè)置其優(yōu)先級。IE中的中斷總開關(guān)EA可打開(1)或關(guān)閉(0)所有中斷。

7.3看門狗定時器復(fù)位

看門狗定時器復(fù)位的操作如下:一旦設(shè)定溢出的時間間隔,系統(tǒng)首先通過RWT重新啟動看門狗。然后,通過啟動看門狗定時器復(fù)位(WDCON.1)位,啟動復(fù)位模式。在定時器到達(dá)用戶設(shè)定的定時值之前,軟件可以置復(fù)位看門狗定時器(WDCON.0)位為1。如果在定時器時間溢出發(fā)生之前設(shè)置RWT,定時器將重新啟動;如果在RWT置位之前發(fā)生了定時器溢出,看門狗將對CPU復(fù)位。軟件對RWT設(shè)置以后,硬件將自動清除RWT。當(dāng)產(chǎn)生一次復(fù)位,WTRF(看門狗定時的復(fù)位標(biāo)志W(wǎng)DCON.2)將自動設(shè)置,以指示當(dāng)前復(fù)位的類型。必須由軟件手動清零該位。


上一頁 1 2 3 下一頁

評論


技術(shù)專區(qū)

關(guān)閉