SCI序列通訊暫存器說明

2022-05-24 08:42:02 字數 4792 閱讀 8599

sci 內部分別設有傳送和接收兩個資料暫存器,其低位都通過 scidrl 訪問,讀操作返回接收資料暫存器 rdr 的內容,寫運算元據置入傳送資料暫存器。tdr。當 m=1 即執行在 9 位資料模式時,scidrl 和 scidrh 形成 9 位的 sci資料字,這時必須先寫入 scidrh,以便與低位位元組(scidrl)一起進入傳送移位器。

如果 m=0 即 sci 只用於 7 位或 8 位的資料傳送,可以只訪問 scidrl。 當 pe=1 即奇偶校驗允許時,奇偶校驗位由硬體負責,無需軟體干預。

r8:接收到的位 8,該位寫操作無效。當 sci 設定成 9 位資料執行模式時,該位是從序列資料流中接收到的第 9 位。

t8:傳送位 8,任何時候可寫。當 sci 設定成 9 位資料模式時,該位是送到序列資料流的第 9 位。該位不必為每個資料重新設定,每次傳送可重複使用。

r[0..7]t[0..7]:收/發資料位 7-0,讀操作返回唯讀暫存器 rdr 的內容,寫操作寫入只寫暫存器 tdr。

3、控制暫存器(scicr1)

loops: 只有當發射和接受同時允許時,才能使用迴圈模式。在loop模式下,rxd引腳與sci接收部分斷開,發射器的輸出直接接到接收器的輸入(發射部分輸出在內部和接收部分相連線),此時rxd可作為普通io口,txd輸出sci訊號。

1 loop模式使能

0 正常模式

sciswai:等待模式下 sci 停止位

0:在等待模式下允許 sci正常工作,此時sci產生的中斷將能夠喚醒cpu

1:在等待模式下禁止 sci的時鐘

rsrc:接收器訊號源選擇位,該位僅在loops=1時有意義。當 loops=1 時,rsrc 決定接收器的內部反饋訊號路徑。

0:內部短接,不經過外部引腳txd,接收器的輸入在內部連線到傳送器輸出

1:接收器的輸入rxd連線到 txd 引腳。

m:字元長度選擇,方式選擇位(選擇字元幀格式)。

0:8位(1 個起始位,8 個資料位,1 個停止位)。

1:9位(1 個起始位,8 個資料位,第 9 個資料位,1 個停止位)。

wake:喚醒選擇位。

0:介質空閒喚醒。

1:位址標誌(最後乙個資料位為 1)喚醒。

ilt:空閒檢測方式選擇位,該位在 sci 接收器可以使用的兩種空閒檢測方式中選擇一種。

0:快速檢測,從開始位開始計數,sci 在乙個幀的開始位後立即開始對「1」計數,因此停止位以及停止位前面的任何「1」均被計算在內,這樣可以提前檢測到空閒狀態。

1:保守檢測,從停止位開始計數,sci 在停止位後才開始對「1」計數,因此最後乙個位元組的停止位以及該位以前的各個為「廣的位,對檢測的時間長短無影響。

pe:奇偶校驗允許位。

0:禁止奇偶校驗。

1:允許奇偶校驗。

pt:奇/偶校驗選擇位,如果奇偶校驗允許,該位決定收發器使用奇校驗還是偶校驗。

0:選擇偶校驗。

1:選擇奇校驗。

4、控制暫存器2(scicr2):

sci系統的主控制暫存器,可以允許、禁止傳送器或接受器,允許、禁止系統中斷、喚醒功能和送終止碼功能

tie: sci傳送資料暫存器為空中斷允許位,清 0 時禁止 tdre 產生中斷,若置 1 則允許 sci傳送資料暫存器為空中斷。tdre 位置 1 時產生 sci 中斷請求。

tcie:傳送結束中斷允許位,清 0 時禁止 tc 產生中斷,若置 1 則允許傳送完成中斷。tc 位置1 時產生sci 中斷請求。

rie:接收中斷允許位,清 0 時禁止 rdrf 和 or 產生中斷,若置 1 則允許sci接收中斷。 rdrf或 or 置 1 時產生 sci 中斷請求。

ilie:空閒中斷允許位,清 0 時禁止 idle 產生中斷,若置 1 則允許空閒中斷。 idle 位置1 時產生 sci 中斷請求。

te:傳送允許位。置1時,允許傳送器。該位由 0 置 1 時可用來傳送空閒報頭。

0: 傳送器禁止。

1: 允許 sci 傳送部分工作,txd 引腳(psl/ps3)用於傳送。

re:接收允許位。

0: 接收器禁止。

1; 允許 sci 接收器工作。

rwu:接收器喚醒控制位

0:sci 接收器正常工作。

1:允許喚醒功能,接收器處於等待狀態,並關閉接收中斷,當scc1的wake位決定的喚醒條件發生時,接收器退出等待狀態,並清零rwu位。禁止接收器中斷。

通常,硬體通過自動清除該位來喚醒接收器。

sbk:中止符傳送允許位。置1時,傳送終止碼。

只要該位保持為 1,傳送器就不停地發出「0」;如果變為 0,當前的全「0」幀傳送結束後,txd 引腳將變成空閒狀態。如果 sbk 開關一次,傳送器將只發出 10(11)個「0」,然後復原,處於空閒或傳送資料狀態。

0: 中止符產生器關閉。

1: 產生中止符,至少 10 或 11 個連續的「0」。

【說明】該暫存器主要完成收發中斷的控制、收發的允許等操作。在一般系統中,te和re寫1以允許sci子系統的接收器和傳送器工作。ilie、rwu和sbk不常用,寫0以禁止這些功能。

如果不準備採用中斷處理sci,應向tie、tcie和rie寫入0,否則要寫1.如乙個系統不用中斷,就要在初始化時向scixcr2裝入$0c。

5、狀態暫存器 1(scisr1)

tdre: 傳送保持器空標誌位。讀出scixsr1寫入sci資料暫存器時清零。

傳送前必須讀 scisr1,並確認 tdre=1,然後將新的資料寫入傳送保持器以開始傳送過程。復位後該位為 1。

0:sc0dr 處於忙狀態

1:傳送保持器的資料已被傳送到傳送移位器,這時可以向傳送保持器寫入新的資料

tc:傳送結束標誌。該位在傳送器空閒(無傳送動作)時置位。讀 scisrl,然後寫 scidr 將清除該位。

0:傳送器忙,正在傳送

1:傳送器空閒,無傳送

rdrf:接收資料暫存器為滿標誌。讀出scixsr1在讀出資料暫存器時清零。

接收資料就緒標誌。當收到的字元已經在 scidr 中就緒時,rdrf 置 1, 順次讀取 scisrl 和 scidr 將會自動清除 rdrf。該位被清除後,必須等到 rxd 線變為活動,然後重新變成空閒以後,idle 位才會被再次置 1。

0:scidr 空,資料暫存器無資料

1:scidr 中資料已就緒,資料暫存器資料有效

idle: 空閒標誌。空閒超過乙個字元的時間則置位,讀scixsr1再讀出sci資料暫存器清零。

檢測到接收器 rxd 端空閒(收到 10 或者 11 個以上連續的 「1」)。當 rwu 位為 1 時,空閒狀態不會使該位置 1。該位被清除後,必須等到 rdrf 置位(rxd 線變為活動,然後重新變成空閒),idle 位才會被再次置 1。

0:rxd 線活動。

1:rxd 線空閒。

or:接收器溢位標誌,讀出scixsr1在讀出sci資料暫存器時清零。

重疊錯誤標誌。如果接收資料暫存器中的資料尚未讀取(rdrf=1),接受移位暫存器又準備向其傳送新的資料,則稱為重疊錯誤,該位被置 1。必須清除該位,才能使新的資料進入接收資料暫存器。

0:無重疊。

1:出現重疊錯誤。

nf:接收器雜訊標誌,探測到雜訊,再讀出sci資料暫存器可清零該位。

雜訊錯誤標誌。雜訊錯誤出現時,該位與 rdrf 在同乙個周器內建位,但如果同時或已經出現重疊錯誤,該位不置位。

0:取樣結果一致。

1:在起始位、資料位或停止位接收期間檢測到雜訊。

fe:接收器幀格式錯誤標誌,讀出scixsr1再讀出sci資料暫存器可清零該位。

如果在應該出現停止位的時刻,檢測到 0,則該位置位。順次讀取暫存器 scisrl 和 scidr 將清除 fe 標誌。

0:檢測到停止位。

1:在預期的停止位處檢測到 0。

pf:接收器奇偶錯誤標誌,讀出scixsr1再讀出sci資料暫存器可清零該位。

指示收到資料的奇偶性與校驗位是否一致。奇偶校驗允許(pe=1)時,該標誌才有意義。所要求的奇偶性由 sc0cr1 中的 pt 位決定。

0:奇偶校驗正確。

1:奇偶校驗錯誤。

【說明】該暫存器顯示sci運**況,收發資料是否滿、空,是否出錯等

6、狀態暫存器2(scisr2)

amap:暫存器訪問選擇位,s12xs系列mcu的sci位增強型,增加了scixasr1scixacr1和scixacr2等三個暫存器,分別與scixbdh、scixbdl和scixcr1等共享相同的位址。當amap為預設值0時,可以訪問scixbdh、scixbdl和scixcr1;為1時,可以訪問scixasr1,scixacr1和scixacr2這三個暫存器, scixbdh、scixbdl和scixcr1則被隱藏。

txpol:傳送記性選擇位。0=正常極性,1=反向極性(傳送資料位為0的時候,個按照正常情況下的資料位1進行傳送,傳送資料位1的時候,按照情況下的資料位0進行傳送)

rxpol:接收極性選擇位,0=正常極性,1=反向極性

brk13:中止符長度控制位。幀錯誤不受該位影響。

0:中止符長度為 10 或 11 位。

1:中止符長度為 13 或 14 位。

txdir:單線模式下傳送管腳資料傳送方向控制位。在單線模式下,只使用txd外引腳傳送接收資料,該位用來控制txd外引腳用於傳送資料還是接收資料,該位置1時,txd用於傳送資料,置零時。

txd用於接收資料。當loops=1,rsrc=1時,使能單線模式。

0:單線模式下 txd 腳用於輸入。

1:單線模式下 txd 腳用於輸出。

raf:正在接收標誌,置位時表示正在接收,用於在cpu進入stop模式前探測是否sci正在接收字元。

接收器活動標誌位。反映接收器是否處於活動狀態。在搜尋起始位的 rt1 期間該位置 1,當接收器器檢測到空閒狀態或者出現乙個偽起始位(通常由於雜訊或波特率匹配錯誤引起)時,該位清 0。

DSP2812暫存器詳解

gptcona 通用定時器全域性控制暫存器a 1 郵箱使能暫存器 canme 郵箱使能暫存器位資訊 2 郵箱資料方向暫存器 canmd 郵箱資料方向暫存器位資訊 3 傳送請求置位暫存器 cantrs 傳送請求置位暫存器位描述 4 傳送請求復位暫存器 cantrr 傳送請求復位暫存器位資訊 5 傳送響...

特殊功能暫存器表

中斷使能暫存器 通過設定中斷使能暫存器ie 的ea 位使能所有中斷每個中斷源都有單獨的使能位可通過軟體設定ie 中相應的使能位在任何時候使能或禁能中斷中斷使能暫存器ie 的各位如下所示 中斷使能暫存器ie可位定址 ea 使能標誌位置位則所有中斷使能復位則禁止所有中斷保留 et2 定時器2 中斷使能 ...

研究試驗2使用暫存器報告

綜合研究試驗 2 研究報告 使用暫存器 本次研究試驗,主要研究在c語言中使用暫存器來儲存資料,這樣就可以避免使用變數。1 編乙個程式並編譯 連線生成 1 問 這些暫存器名能否用小寫形式?答 我研究發現這裡的暫存器名有大小寫之分,只能是大寫的,小寫的編譯器不能識別,編譯會出現錯誤。2 問 main函式...