達拉斯半導體/Maxim提供各種串行實時時鐘(RTC)。其中一些 RTC 使用行業標準的摩托羅拉 SPI 接口與微處理器通信。本應用筆記可幫助客戶了解SPI接口的基礎知識。
概述
SPI標準包括四種模式,由SCLK的極性以及數據與SCLK之間的相位關系定義。時鐘極性 (CPOL) 由 SCLK 的空閑狀態決定。如果空閑狀態為低,則 CPOL 為 0。如果空閑狀態為高,則 CPOL 為 1。時鐘相位 (CPHA) 由數據有效的邊沿決定。如果數據在 SCLK 的第一個邊緣有效,則 CPHA 為 0。如果數據在 SCLK 的第二個邊緣有效,則 CPHA 為 1。
業界有兩種通用格式來定義四種SPI模式。第一種格式將相位和極性的四種可能組合定義為模式 0、模式 1、模式 2 和模式 3。第二種格式將組合定義為模式 0,0、模式 0,1、模式 1,0 和模式 1,1。SPI主機必須使用從設備支持的模式,以允許正常通信。
Dallas Semiconductor/Maxim的SPI接口RTC支持兩種SCLK極性。當CE被置位時,RTC通過檢測SCLK的空閑狀態來自動確定極性。因此,在斷言 CE 之前,主機必須將 SCLK 置于適當的空閑狀態。僅支持一個階段。由于支持兩種SCLK極性,因此RTC支持四種SPI模式中的兩種:模式1和3(模式0,1和模式1,1)。
在具有內置SPI接口的微控制器上,SPI控制或配置寄存器將具有控制極性和相位的位。由于 RTC 支持任一極性,因此可以根據需要進行極性設置。但是,相位位必須正確設置,否則RTC將無法正常工作。
圖 1 顯示了典型的單字節讀取,圖 2 顯示了典型的單字節寫入。每次置位CE時,前8個SCLK脈沖用于在命令字節中計時。命令字節由定義寄存器地址的幾個位和一個定義數據方向的位組成:如果接下來的8個SCLK脈沖將數據時鐘輸入器件,則寫入器件,如果數據時鐘輸出器件,則讀取。另外一組八個SCLK脈沖繼續沿選定方向傳輸數據,直到CE被取消。
圖1.單字節讀取。
注意:在突發模式下,CE 保持高電平,并發送額外的 SCLK 周期,直到突發結束。
圖2.單字節寫入。
注意:在突發模式下,CE 保持高電平,并發送額外的 SCLK 周期,直到突發結束。
SPI 代碼示例可在以下位置找到:實時時鐘
總結
本應用筆記中的信息將有助于確保SPI通信例程正常工作。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7651瀏覽量
152115 -
寄存器
+關注
關注
31文章
5363瀏覽量
121172 -
接口
+關注
關注
33文章
8691瀏覽量
151920
發布評論請先 登錄
相關推薦
SPI接口如何實現微控制器之間的通信
![<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>如何實現<b class='flag-5'>微控制器</b>之間的通信](https://file.elecfans.com/web2/M00/59/49/poYBAGLomDSACDjvAAA5epD2pb8890.png)
SPI接口的基本原理
![<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的基本原理](https://file1.elecfans.com/web2/M00/88/75/wKgZomRnGq2Aa3n5AAAk2QfJmFE358.jpg)
NuMicro? 家族中那些系列的芯片支持實時時鐘(RTC)控制器?
基于實時時鐘芯片X1228的電源控制器設計
I²C串行實時時鐘與微控制器的接口
![I²C串行<b class='flag-5'>實時時鐘</b>與<b class='flag-5'>微控制器</b>的<b class='flag-5'>接口</b>](https://file1.elecfans.com//web2/M00/A4/C9/wKgZomUMNa6Afo5aAAAVywOMiVY051.gif)
DS1305 RTC與8051微控制器的接口
![DS1305 RTC與8051<b class='flag-5'>微控制器</b>的<b class='flag-5'>接口</b>](https://file1.elecfans.com//web2/M00/A4/C9/wKgZomUMNa-AI5gFAAATru-gRY4559.gif)
將硬件實時時鐘 (RTC) 和篡改管理單元 (TAMP) 與 STM32 微控制器一起使用
![將硬件<b class='flag-5'>實時時鐘</b> (RTC) 和篡改管理單元 (TAMP) 與 STM32 <b class='flag-5'>微控制器</b>一起使用](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AN4759_如何使用STM32L1和L4系列微控制器在低功耗模式下的硬件實時時鐘
![AN4759_如何使用STM32L1和L4系列<b class='flag-5'>微控制器</b>在低功耗模式下的硬件<b class='flag-5'>實時時鐘</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
實時時鐘為微控制器系統增加了精確的計時功能
![<b class='flag-5'>實時時鐘</b>為<b class='flag-5'>微控制器</b>系統增加了精確的計時功能](https://file.elecfans.com//web2/M00/92/B2/poYBAGP0J-mANaVXAABPsew4GJQ688.gif)
評論