達拉斯半導(dǎo)體/Maxim提供各種串行實時時鐘(RTC)。其中一些 RTC 使用行業(yè)標(biāo)準(zhǔn)的摩托羅拉 SPI 接口與微處理器通信。本應(yīng)用筆記可幫助客戶了解SPI接口的基礎(chǔ)知識。
概述
SPI標(biāo)準(zhǔn)包括四種模式,由SCLK的極性以及數(shù)據(jù)與SCLK之間的相位關(guān)系定義。時鐘極性 (CPOL) 由 SCLK 的空閑狀態(tài)決定。如果空閑狀態(tài)為低,則 CPOL 為 0。如果空閑狀態(tài)為高,則 CPOL 為 1。時鐘相位 (CPHA) 由數(shù)據(jù)有效的邊沿決定。如果數(shù)據(jù)在 SCLK 的第一個邊緣有效,則 CPHA 為 0。如果數(shù)據(jù)在 SCLK 的第二個邊緣有效,則 CPHA 為 1。
業(yè)界有兩種通用格式來定義四種SPI模式。第一種格式將相位和極性的四種可能組合定義為模式 0、模式 1、模式 2 和模式 3。第二種格式將組合定義為模式 0,0、模式 0,1、模式 1,0 和模式 1,1。SPI主機必須使用從設(shè)備支持的模式,以允許正常通信。
Dallas Semiconductor/Maxim的SPI接口RTC支持兩種SCLK極性。當(dāng)CE被置位時,RTC通過檢測SCLK的空閑狀態(tài)來自動確定極性。因此,在斷言 CE 之前,主機必須將 SCLK 置于適當(dāng)?shù)目臻e狀態(tài)。僅支持一個階段。由于支持兩種SCLK極性,因此RTC支持四種SPI模式中的兩種:模式1和3(模式0,1和模式1,1)。
在具有內(nèi)置SPI接口的微控制器上,SPI控制或配置寄存器將具有控制極性和相位的位。由于 RTC 支持任一極性,因此可以根據(jù)需要進行極性設(shè)置。但是,相位位必須正確設(shè)置,否則RTC將無法正常工作。
圖 1 顯示了典型的單字節(jié)讀取,圖 2 顯示了典型的單字節(jié)寫入。每次置位CE時,前8個SCLK脈沖用于在命令字節(jié)中計時。命令字節(jié)由定義寄存器地址的幾個位和一個定義數(shù)據(jù)方向的位組成:如果接下來的8個SCLK脈沖將數(shù)據(jù)時鐘輸入器件,則寫入器件,如果數(shù)據(jù)時鐘輸出器件,則讀取。另外一組八個SCLK脈沖繼續(xù)沿選定方向傳輸數(shù)據(jù),直到CE被取消。
圖1.單字節(jié)讀取。
注意:在突發(fā)模式下,CE 保持高電平,并發(fā)送額外的 SCLK 周期,直到突發(fā)結(jié)束。
圖2.單字節(jié)寫入。
注意:在突發(fā)模式下,CE 保持高電平,并發(fā)送額外的 SCLK 周期,直到突發(fā)結(jié)束。
SPI 代碼示例可在以下位置找到:實時時鐘
總結(jié)
本應(yīng)用筆記中的信息將有助于確保SPI通信例程正常工作。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7487瀏覽量
151045 -
寄存器
+關(guān)注
關(guān)注
31文章
5317瀏覽量
120003 -
接口
+關(guān)注
關(guān)注
33文章
8497瀏覽量
150834
發(fā)布評論請先 登錄
相關(guān)推薦
評論