RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

MSPM0L1306開發(fā)板教程-SPI

創(chuàng)易棧 ? 來源:創(chuàng)易棧 ? 2023-07-08 10:56 ? 次閱讀

MSPM0L系列的SPI控制器最大頻率是16MHz,支持3線和4線的模式,帶有4個片選(CS),其中CS3支持命令模式(Command Mode)。

34378a2c-1cae-11ee-962d-dac502259ad0.png

SPI控制器有獨立的4個字節(jié)接收和4個字節(jié)發(fā)送FIFO,主機(jī)數(shù)據(jù)位從7-16bit選擇,從機(jī)數(shù)據(jù)位可以從4-16位選擇。

3470e920-1cae-11ee-962d-dac502259ad0.png

下面通過配置一個操作外部SPI FLASH的程序來講下SPI控制器的配置,F(xiàn)LASH的型號是華邦的W25Q128。

在SYSCONFIG中,添加一個SPI外設(shè),頻率最高16MHz,根據(jù)自己的需要選擇,幀格式選擇4線模式,8位數(shù)據(jù)位,高位在前,也就是MSB,時鐘極性選擇Low,也就是沒有時鐘的時候管腳是低電平,其他默認(rèn)就可以。

34a19f84-1cae-11ee-962d-dac502259ad0.png

先來看下W25Q64的時序,我們用一個讀芯片ID的時序來說明。

34ca519a-1cae-11ee-962d-dac502259ad0.png

SPI發(fā)送90h指令,地址為000000h,F(xiàn)LASH芯片就會返回工廠ID ,EFh和設(shè)備ID,這顆芯片ID是16h。

也就是說,SPI發(fā)送0x90,0x00,0x00,0x00這三個字節(jié)數(shù)據(jù),芯片就會返回0xEF和0x16
需要注意的是,由于整個時序中,片選是要一直拉低的,而SPI 外設(shè)的片選在每次發(fā)送和接收完一幀后會拉高,所以FLASH的芯片的片選需要用MCU的IO口獨立控制,沒有辦法使用SPI外設(shè)的CS管腳。

所以在SYSCONFIG里還配置了一個CS的GPIO。

34fbc0b8-1cae-11ee-962d-dac502259ad0.png

由于SPI的通訊時鐘只能在發(fā)送操作的時候發(fā)出,讀取操作是沒有時鐘信號發(fā)出的,所以在做讀取操作的時候,其實需要發(fā)送操作,一般我們會發(fā)送同樣與接收數(shù)據(jù)相同數(shù)量的0x00。

MSPM0L系列的SPI的控制寄存器CLT1中有一個REPEATTX,可以用來做重復(fù)發(fā)送操作,最高可以重復(fù)256次,例如我需要FLASH芯發(fā)送200幀數(shù)據(jù),則REPEATTX為199,當(dāng)我在程序中發(fā)送0x00的時候,SPI 控制器會發(fā)送200個0x00,形成200幀通訊時鐘,程序比較簡單。

351fa15e-1cae-11ee-962d-dac502259ad0.png

使用邏輯分析儀可以看到整個過程與FLASH芯片要求的時序一致。3551e93e-1cae-11ee-962d-dac502259ad0.png







審核編輯:劉清

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

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177803
  • SPI接口
    +關(guān)注

    關(guān)注

    0

    文章

    258

    瀏覽量

    34373
  • FIFO存儲
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    5968
  • SPI Flash
    +關(guān)注

    關(guān)注

    1

    文章

    13

    瀏覽量

    10349

原文標(biāo)題:MSPM0L1306開發(fā)板教程11 - SPI

文章出處:【微信號:創(chuàng)易棧,微信公眾號:創(chuàng)易?!繗g迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MSPM0L1306開發(fā)板教程之OPA

    MSPM0L系列的OPA是一個軌到軌輸入輸出的可編程運算放大器,最大為32x,可以軟件配置為零漂移斬波放大器以提高精度和漂移性能,有專門優(yōu)化的輸入管腳的型號可以達(dá)到10pA的輸入偏置電流,標(biāo)準(zhǔn)模式為6MHz帶寬,低功耗模式下帶寬為1MHz,電流100uA。
    發(fā)表于 07-15 09:58 ?1980次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之OPA

    電賽:mspm0l1306開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?

    mspm0l1306開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?
    發(fā)表于 08-01 00:53

    MSPM0L1306開發(fā)板教程之開發(fā)環(huán)境搭建

    TI的MSPM0L系列的開發(fā),可以使用KEIL,IAR,CCS等開發(fā)環(huán)境。仿真器可以使用ARM開發(fā)常用的JLINK,以及TI的XDS仿真器。
    的頭像 發(fā)表于 04-23 10:11 ?1.1w次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之<b class='flag-5'>開發(fā)</b>環(huán)境搭建

    MSPM0L1306開發(fā)板教程之GPIO輸入輸出

    GPIO算是所有MCU入門的第一步,今天的教程就來教大家設(shè)置MSPM0L系列的GPIO的輸入輸出功能。
    的頭像 發(fā)表于 05-04 17:22 ?6339次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之GPIO輸入輸出

    MSPM0L1306開發(fā)板教程之運行模式

    今天的教程講下MSPM0L系列的運行模式。
    的頭像 發(fā)表于 05-29 11:21 ?2966次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之運行模式

    MSPM0L1306開發(fā)板教程之DMA

    DMA使用是一個不需要CPU干預(yù),自己搬運數(shù)據(jù)的模塊,在前面講中斷事件的章節(jié)里面,就有提到過事件的DMA通道,DMA事件路由(DMA Event Route)。
    的頭像 發(fā)表于 06-09 18:21 ?2675次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之DMA

    MSPM0L1306開發(fā)板教程之ADC

    MSPM0L系列的ADC是一個12bit的SAR ADC,采樣頻率最高1.45MHz,最高可做到11.2位的實際有效位(ENOB)。
    的頭像 發(fā)表于 06-10 10:16 ?3685次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之ADC

    MSPM0L1306開發(fā)板教程之通用定時器

    MSPM0L系列的通用定時器(TIMG)是一個16位的自動重裝定時器,支持向下和上下計數(shù)兩種模式,同時帶有兩個比較捕獲單元,可以做到輸出比較,輸入捕獲,PWM輸出,單脈沖輸出等功能。
    的頭像 發(fā)表于 06-30 15:50 ?4210次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之通用定時器

    MSPM0L1306開發(fā)板教程之I2C

    MSPM0L系列的I2C支持主從模式,有7位地址位可以設(shè)置,速率最大1Mbps,無論是主機(jī)或者從機(jī),發(fā)送和接收都有獨立的8個字節(jié)FIFO。
    的頭像 發(fā)表于 06-30 15:50 ?4091次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之I2C

    MSPM0L1306開發(fā)板教程- NVM(FLASH)

    MSPMPL系列中的NVM(Non Volatile Memory)非易失性存儲,也就是我們常說的FLASH。
    的頭像 發(fā)表于 07-08 10:52 ?2905次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程- NVM(FLASH)

    MSPM0L1306開發(fā)板教程之COMP

    MSPM0L帶有模擬比較器功能,可以用于模擬信號的比較,用于中斷MCU或者觸發(fā)MCU其他外設(shè)。
    的頭像 發(fā)表于 07-15 09:56 ?2036次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之COMP

    MSPM0L1306開發(fā)板教程之WWDT

    窗口看門狗WWDT,MSPM0L系列的看門狗的時鐘使用的是32KHz的LFCLK,計數(shù)器有25位,寄存器可以有8個可選的計數(shù)周期,加上時鐘的最大8分頻,也就是有64檔計數(shù)周期可選,從1.95ms到8190s,有兩個閾值,關(guān)閉窗口(closed window)和打開窗口(open window)。
    的頭像 發(fā)表于 07-15 10:01 ?1399次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程之WWDT

    TI MSPM0L1306開發(fā)板簡介

    看參考設(shè)計的時候看到了這個芯片,和以往爛大街的芯片不一樣,它發(fā)布于今年3月。這個芯片更是TI這個老師傅狠狠的將活注入到MCU里面產(chǎn)生的奇妙產(chǎn)物。
    的頭像 發(fā)表于 12-15 10:00 ?6568次閱讀
    TI <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>簡介

    MSPM0 L系列MCU硬件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《MSPM0 L系列MCU硬件開發(fā)指南.pdf》資料免費下載
    發(fā)表于 09-07 11:12 ?2次下載
    <b class='flag-5'>MSPM0</b> <b class='flag-5'>L</b>系列MCU硬件<b class='flag-5'>開發(fā)</b>指南

    MSPM0L1306 LaunchPad開發(fā)套件(LP?MSPM0L1306)

    電子發(fā)燒友網(wǎng)站提供《MSPM0L1306 LaunchPad開發(fā)套件(LP?MSPM0L1306).pdf》資料免費下載
    發(fā)表于 10-29 09:44 ?1次下載
    <b class='flag-5'>MSPM0L1306</b> LaunchPad<b class='flag-5'>開發(fā)</b>套件(LP?<b class='flag-5'>MSPM0L1306</b>)
    RM新时代网站-首页