0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

超高速閃存微控制器軟件SPI

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-01-10 11:08 ? 次閱讀

本應用筆記介紹了用于超高速閃存微控制器(如DS89C430和DS89C450)的軟件(bitbang)SPI庫。對庫的應用程序接口及其功能說明進行了說明。該應用程序接受串行輸入并在Crystalfontz LCD上顯示文本。

介紹

超高速微控制器系列使用單時鐘周期內(nèi)核,在相同的時鐘頻率下,其速度比傳統(tǒng) 8051 快 12 倍。超高速微控制器系列的成員包括不同數(shù)量的內(nèi)部閃存和MOVX SRAM,以實現(xiàn)簡單的系統(tǒng)設計。這些微控制器具有多種特性,包括兩個全雙工串行端口、三個定時器計數(shù)器、四個雙向 I/O 端口和六個外部中斷源。雖然它們沒有硬件串行外設接口(SPI)端口,但可以通過軟件輕松模擬。

本應用筆記使用用于超高速微控制器的全功能軟件SPI主站和一個簡單的應用程序,利用它來控制Crystalfontz LCD(www.crystalfontz.com)。

應用概述

該應用程序接受來自標準串行終端程序的串行端口 0 上 57,600 波特(使用 33MHz 晶體時)的 ASCII 數(shù)據(jù)。數(shù)據(jù)被回顯到終端并存儲在數(shù)據(jù)存儲器中,直到檢測到回車;然后累積的文本將顯示在LCD上。此應用中使用的LCD是具有低速SPI接口的Crystalfontz SKD204-634 V2.0串行LCD。它連接到DS89C430,如圖1所示。復位后,終端上將打印“DS89C430軟件SPI應用筆記”橫幅。當應用程序偵聽輸入數(shù)據(jù)時,它會打印“=>”提示。

pYYBAGO81pWAAqfUAAAu1yODOso355.gif?imgver=1

圖1.接線圖。

軟件 SPI 庫

此應用程序使用的軟件 SPI 庫是一個高度可配置的 SPI 主站,具有以下功能:

四種SPI時鐘模式

8 位和 16 位字傳輸

SPI 時鐘拉伸

可選原子傳輸

該庫支持的四種SPI時鐘(SPI_CLK)模式由CKPHA和CKPOL定義。CKPOL 位定義 SPI 時鐘的空閑狀態(tài),CKPOL = 0 力SPI_CLK空閑低電平,而 CKPOL = 1 力SPI_CLK空閑高電平。CKPHA 改變了用于信號傳輸數(shù)據(jù)的邊緣。當 CKPHA = 0 時,SPI_CLK的第一個邊指定從站和主站何時應對其輸入進行采樣。當 CKPHA = 1 時,SPI_CLK的第二個邊指定何時采樣。當 CKPHA = 1 時,主站和從站應在第一個邊沿的輸出上顯示其數(shù)據(jù)SPI_CLK。這允許數(shù)據(jù)有足夠的保留時間。當 CKPHA = 0 時,當從屬選擇 (SS) 行變?yōu)榛顒訝顟B(tài)時,數(shù)據(jù)應變?yōu)橛行?。請注意,大多?shù)設備要求在 CKPHA = 0 時使用 SS 行以允許正確的計時,而當 CKPHA = 1 時,SS 可能是可選的。圖 2 說明了此行為。

poYBAGO81peAJGQuAABtpEOHjqM706.gif?imgver=1

圖2.SPI 時序圖。

數(shù)據(jù)作為數(shù)據(jù)存儲器中的字節(jié)數(shù)組發(fā)送到SPI庫。在 8 位字模式下,這些字節(jié)一次傳輸一個。在 16 位字模式下,將傳輸兩個字節(jié),但此操作僅使用請求數(shù)量的一次傳輸。請注意,在本文檔中,“word”的長度可能為 8 位或 16 位,具體取決于所選模式。

為了連接到較慢的SPI從站,可以使用SPI_CLK拉伸將每段SPI_CLK周期增加1μs。

SS信號是可選的,因為并非所有SPI設置都需要SS信號。大多數(shù) SPI 器件期望 SS 的活動狀態(tài)為低電平,但其他器件則要求高電平作為活動狀態(tài)。某些 SPI 設備期望 SS 信號在每次字傳輸同步后變?yōu)榉腔顒訝顟B(tài)。

為了便于原子傳輸,可以在傳輸時禁用中斷。

軟件 SPI 庫接口

與SPI庫的接口如下。要傳輸?shù)臄?shù)據(jù)必須作為數(shù)組位于數(shù)據(jù)存儲器的連續(xù)部分中。該庫要求數(shù)據(jù)指針零 (dptr0) 指向要傳輸?shù)臄?shù)據(jù)的開頭。要傳輸?shù)淖謹?shù)應放在 R3、R2、R1 和 R0 中,R3 是 MSB。所需的拉伸值應放置在 R4 中。SPI庫的選項應放置在R5中,其位值定義為:

R5.0 - 中聯(lián) 設置為 1 - SPI_CLK 空閑高
R5.1 - 中發(fā) 設置為 1 - 在第二個SPI_CLK邊上傳輸
R5.2 - 字模式 設置為 1 - 使用 16 位字傳輸
R5.3 - 無偏斜 設置為 1 - 在傳輸期間關閉中斷
R5.4 - 使用SS 設置為 1 - 在傳輸過程中使用 SS 行
R5.5 - 同步SS 設置為 1 - 每個單詞后使 SS 處于非活動狀態(tài)
R5.6 - 反轉(zhuǎn)SS 設置為 1 - SS 線路處于高電平有效
R5.7 - 未定義

設置所有寄存器后,通過調(diào)用 xmitSPI 函數(shù)開始傳輸。傳輸完成后,每次單詞傳輸期間讀取的數(shù)據(jù)將位于為傳輸傳遞的數(shù)據(jù)數(shù)組中的相應單詞位置。請注意,在調(diào)用 xmitSPI 后,dptr0 將指向傳輸數(shù)組的開頭,但指向的數(shù)據(jù)將更改。

代碼列表:軟件SPI和Crystalfontz LCD瀏覽器

此應用程序是使用 Keil μVision2 構建的,但只需稍作修改,即可使用任何 8051 匯編程序。應用程序和 SPI 庫源碼和二進制文件可供下載。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7559

    瀏覽量

    151481
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1707

    瀏覽量

    91642
  • 應用程序
    +關注

    關注

    37

    文章

    3271

    瀏覽量

    57727
收藏 人收藏

    評論

    相關推薦

    請問我使用超高速控制器時該怎么處理這些針呢?

    我想使用超高速控制器,但只適用于USB 2。所以我不需要超速引腳或OTG引腳。我該怎么處理這些針呢?投入或離開地面浮動?謝謝喬恩 以上來自于百度翻譯 以下為原文I want to use
    發(fā)表于 06-12 11:42

    超高速大電流有源濾波LDO控制器

    MIC5190的典型應用:超高速,大電流有源濾波/ LDO控制器。 MIC5190提供超高速,可滿足微處理內(nèi)核,ASIC和其他
    發(fā)表于 03-19 10:12

    帶有CF,SD,MS和xD連接超高速USB 2.0多槽閃存介質(zhì)控制器

    EVB-USB2250評估板是一款超高速USB 2.0多槽閃存介質(zhì)控制器,帶有CF,SD,MS和xD連接。 EVB-USB2250評估板演示了獨立的
    發(fā)表于 06-04 16:34

    具有超高速控制的2MHz PWM 2A降壓穩(wěn)壓

    MIC23201的典型應用:具有超高速控制的2MHz PWM 2A降壓穩(wěn)壓。 MIC23201是一款高效率2MHz,2A同步降壓穩(wěn)壓,具有超高速
    發(fā)表于 08-10 09:40

    超高速電機控制方式討論

    超高速10萬轉(zhuǎn)電機(1對極)控制方式討論
    發(fā)表于 08-27 08:22

    高速微控制器系列向超高速閃存微控制器的升級

    高速微控制器系列向超高速閃存微控制器的升級 Porting Applications from the High-
    發(fā)表于 07-27 23:26 ?958次閱讀

    高速微控制器系列向超高速閃存微控制器的升級

    高速微控制器系列向超高速閃存微控制器的升級 摘要:多種原
    發(fā)表于 08-13 13:29 ?734次閱讀

    高速微控制器系列向超高速閃存微控制器的升級

    摘要:多種原因會促使我們把以前使用高速微控制器(DS80C310/DS80C320/DS80C323/DS8xC520)的8051設計升級到新的超高速閃存
    發(fā)表于 04-23 10:32 ?526次閱讀

    USB 3.0超高速集線器控制器RTS5411

    USB 3.0超高速集線器控制器RTS5411
    發(fā)表于 08-02 10:13 ?37次下載

    超高速USB3.0主機和設備控制器接口應用方案

    CH569/565 片上集成超高速USB3.0主機和設備控制器(內(nèi)置 PHY)、千兆以太網(wǎng)控制器、專用高速 SerDes 控制器(內(nèi)置 PH
    的頭像 發(fā)表于 09-05 15:29 ?3150次閱讀
    <b class='flag-5'>超高速</b>USB3.0主機和設備<b class='flag-5'>控制器</b>接口應用方案

    超高速微控制器硬件增強串口功能

    超高速微控制器集成了片上時鐘倍頻,可在降低外部晶體時鐘頻率的情況下提供更高的性能。乘法器可以配置為生成雙倍 (2X) 或四倍 (4X) 的內(nèi)部系統(tǒng)時鐘,由 2X/4X 特殊功能寄存
    的頭像 發(fā)表于 02-21 16:08 ?1002次閱讀
    <b class='flag-5'>超高速</b><b class='flag-5'>微控制器</b>硬件增強串口功能

    使用超高速閃存微控制器實現(xiàn)快速內(nèi)存?zhèn)鬏?/a>

    達拉斯半導體超高速閃存微控制器具有雙數(shù)據(jù)指針,具有自動遞增/遞減和切換選擇功能。本應用筆記將采用一個數(shù)據(jù)指針的原始8051架構與DS89C430和DS89C450的新架構及其更高的數(shù)據(jù)移動效率進行了比較。本文提供了大量代碼示例,
    的頭像 發(fā)表于 02-21 16:43 ?995次閱讀
    使用<b class='flag-5'>超高速</b><b class='flag-5'>閃存</b><b class='flag-5'>微控制器</b>實現(xiàn)快速內(nèi)存?zhèn)鬏? />    </a>
</div>                            <div   id=

    DS89C430/DS89C450超高速閃存微控制器存儲接口時序

    達拉斯半導體DS89C430超高速微控制器是一款每機器周期1時鐘的器件。DS89C430可直接替代舊的8051架構設計。但是,必須評估內(nèi)存接口時序。本應用筆記介紹了使用DS89C430微控制器時支持的五種總線模式。
    的頭像 發(fā)表于 03-01 14:31 ?1756次閱讀
    DS89C430/DS89C450<b class='flag-5'>超高速</b><b class='flag-5'>閃存</b><b class='flag-5'>微控制器</b>存儲<b class='flag-5'>器</b>接口時序

    將基于8051的微控制器連接到SCI端口

    本應用筆記介紹如何配置高速微控制器超高速閃存微控制器的UART,以便與支持SCI的設備通信。它首先簡要討論了SCI和UART模塊之間的差異
    的頭像 發(fā)表于 06-13 15:48 ?768次閱讀
    將基于8051的<b class='flag-5'>微控制器</b>連接到SCI端口

    超高速微控制器硬件增強串口功能

    本應用筆記介紹了達拉斯半導體DS89C430和DS89C450超高速微控制器的全新串行端口特性。增加時鐘倍頻允許用戶選擇原始頻率四分之一的晶體,以產(chǎn)生相同的波特率并降低EMI。
    的頭像 發(fā)表于 06-13 16:27 ?766次閱讀
    <b class='flag-5'>超高速</b><b class='flag-5'>微控制器</b>硬件增強串口功能