色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

SH32F9001的SPI介紹與應(yīng)用

中穎電子 ? 來源:中穎電子 ? 2024-12-31 17:04 ? 次閱讀

一、SH32F9001 SPI簡介

SPI(Serial peripheral interface)即串行外圍設(shè)備接口,是由Motorola首先在其MC68HCxx系列單片機(jī)上定義的,基于高速全雙工總線的通訊協(xié)議。被廣泛應(yīng)用于LCD、閃存芯片等設(shè)備與MCU之間通訊。SH32F9001包含2個獨(dú)立的串行外設(shè)接口SPI0/1,主從機(jī)可選,10個可編程主時鐘頻率,極性相位可編程,數(shù)字位寬8/16位可選,支持DMA通信,帶MCU中斷的主模式故障出錯標(biāo)志,寫入沖突標(biāo)志保護(hù),可選擇LSB或MSB傳輸。

二、 SPI的物理層與協(xié)議層簡介

1、SPI物理層

SPI通訊需要使用4條線:3條總線(SCK、MOSI、MISO)和1條片選(nSS)。

68d15dae-c747-11ef-9310-92fbcf53809c.jpg

Master與Slave連接示意圖(只需要連接4條線)

SCK(Serial Clock):時鐘信號線,通訊數(shù)據(jù)同步用,由主機(jī)產(chǎn)生,決定了SPI的通訊速率。

MOSI(Master Output Slave Input):主機(jī)輸出數(shù)據(jù)/從設(shè)備輸入數(shù)據(jù)線,即這條數(shù)據(jù)線上傳輸主機(jī)發(fā)給從機(jī)的數(shù)據(jù)。

MISO(Master Input Slave Output):主機(jī)輸入數(shù)據(jù)/從設(shè)備輸出數(shù)據(jù)線,即這條數(shù)據(jù)線上傳輸從機(jī)發(fā)給主機(jī)的數(shù)據(jù)。

nSS(Slave Select):片選信號線,主要用于選中對應(yīng)的SPI從設(shè)備,低電平有效。每個從設(shè)備獨(dú)立擁有一條nSS信號線,占據(jù)主機(jī)的一個引腳。設(shè)備的其它三根總線是并聯(lián)到SPI主機(jī)的,即無論多少個從設(shè)備,都共同使用這3條線。當(dāng)從設(shè)備上的nSS引腳被拉低時說明該從設(shè)備被主機(jī)選中,可以與主機(jī)進(jìn)行通訊。

68eac08c-c747-11ef-9310-92fbcf53809c.jpg

一個Master與多個Slave連接示意圖

(2)SPI 協(xié)議層

68fcdfd8-c747-11ef-9310-92fbcf53809c.jpg

如上圖為SH32F9001芯片SPI的一種通訊模式(CPOL=1,CPHA=0)時序圖,nSS、SCK、MOSI信號均由Master產(chǎn)生,MISO信號由從機(jī)產(chǎn)生。在nSS為低電平的前提下,MOSI和MISO信號才有效,在每個時鐘周期MOSI和MISO傳輸一位數(shù)據(jù)。

SPI通訊也需要通訊的起始/結(jié)束信號,有效數(shù)據(jù)和同步時鐘。途中nSS信號由高電平變?yōu)榈碗娖郊礊镾PI的起始信號,nSS信號由低電平變?yōu)楦唠娖郊礊镾PI通訊的結(jié)束信號。當(dāng)從機(jī)檢測到nSS引腳被拉低時就知道自己被主機(jī)選中,準(zhǔn)備和主機(jī)進(jìn)行通訊。

SPI通訊的數(shù)據(jù)采集是個相對復(fù)雜的環(huán)節(jié)且有多種模式,現(xiàn)在只以上圖(CPOL=1,CPHA=0)情形為例進(jìn)行簡單講解。途中Capture Point行箭頭指示的地方即為有效數(shù)據(jù)被采集的時間點(diǎn)。SCK、MOSI、MISO線上的數(shù)據(jù)在每個SCK時鐘周期傳輸一位數(shù)據(jù),數(shù)據(jù)的輸入/輸出是可以同時進(jìn)行的。由上圖可知,在SCK為奇數(shù)邊沿,即SCK下降沿時,數(shù)據(jù)得到有效采樣,也就是說,在這個時刻,MISO和MOSI的數(shù)據(jù)有效,高電平表示1,低電平表示數(shù)據(jù)0,在其它時刻數(shù)據(jù)并無效,可以理解為為下一次MISO和MOSI的數(shù)據(jù)傳輸做準(zhǔn)備,在非采樣時刻MOSI和MISO上的信號才能切換。

數(shù)據(jù)傳輸中,先傳送高位還是低位,SPI并無明確規(guī)定,但是數(shù)據(jù)要在主從機(jī)中正確傳輸,首先要約定好先傳高還是低,一般是高位在先的方式傳輸。

三、 SPI的時鐘極性(CPOL)和時鐘相位(CPHA)

時鐘極性(CPOL)指通訊設(shè)備處于空閑狀態(tài)時,SCK的狀態(tài),即空閑時SCK是高電平還是低電平。時鐘相位(CPHA)指數(shù)據(jù)采樣時刻位于SCK的偶數(shù)邊沿采樣還是奇數(shù)邊沿采樣。

CPOL=0時SCK在空閑時為低電平;CPOL=1時SCK在空閑時為高電平;CPHA=0時,在SCK的計數(shù)邊沿采樣;CPHA=1時,在SCK的偶數(shù)邊沿采樣。所以SPI的采樣時刻并非由上升沿/下降沿決定的,而是由CPOL與CPHA所組合的工作模式?jīng)Q定。所以SPI有4種工作模式。

工作模式 CPOL CPHA 空閑時SCK時鐘 采樣時鐘邊沿
1 0 0 奇數(shù)邊沿
2 0 1 偶數(shù)邊沿
3 1 0 奇數(shù)邊沿
4 1 1 偶數(shù)邊沿

注意:在配置主機(jī)和從機(jī)的工作模式時,需要配置為相同的工作模式,只有模式相同才能進(jìn)行正確通訊。

四、 SH32F9001與閃存W25Q128通訊示例

1、W25Q128簡介

W25Q128芯片是串行閃存,可以通過四線SPI控制,管腳如下圖所示。使用SPI控制時,DO管腳為MISO,DI管腳為MOSI,/CS為片選NSS,CLK為時鐘信號線。

690fbb26-c747-11ef-9310-92fbcf53809c.jpg

W25Q128通過命令操作,這里簡單介紹幾條接下來示例中與32F9001通訊的指令,其它指令詳情可以參考其數(shù)據(jù)手冊。

(1)讀制造商/設(shè)備ID指令:0x90

該指令通常在調(diào)試程序時候用到,判斷SPI通信是否正常。SH32F9001做主機(jī)拉低/CS片選使能器件開始傳輸,首先通過DI腳即MOSI線傳送”90H”指令,接著傳輸“000000H”的24位地址,之后W25Q128會通過DO腳即MISO腳傳送制造商ID(EFH)和設(shè)備ID(17H)。

(2)寫使能指令:0x06

SH32F9001向FLASH發(fā)送0x06寫使能指令即可開啟寫使能,該指令先拉低/CS引腳電平,接著傳輸“06H”指令。

(3)讀數(shù)據(jù)指令:0x03

讀數(shù)據(jù)指令可以從存儲器依次一個或多個讀取數(shù)據(jù)字節(jié),該指令通過主器件拉低/CS電平能設(shè)備開始傳輸,然后傳輸“03H”指令,接著通過DI管腳傳輸24位地址,W25Q128器件得到地址后,尋址存儲器中的數(shù)據(jù)通過DO引腳即MISO傳輸給SH32F9001。

(4)頁編程指令:0x02

頁編程指令可以在擦除的存儲單元中寫入256個字節(jié)。該指令先拉低/CS引腳,接著傳輸“02H”指令和24位地址。后面接著傳輸至少一個字節(jié)數(shù)據(jù),最多256字節(jié)。

2、SH32F9001與W25Q128硬件連接示意圖:

691c6740-c747-11ef-9310-92fbcf53809c.jpg

SH32F9001與W25Q128進(jìn)行SPI通信只需要對應(yīng)連接4條線就可以,將SH32F9001的PC6配置為nSS腳,PC7配置為MISO,PC8配置為MOSI,PC9配置為SCK。

3、SH32F9001與W25Q128通訊程序。

void SPI_GPIO_Config(void)//GPIO初始化

{

RCC->RCCLOCK= 0x33CC; //打開時鐘配置鎖定寄存器

RCC->AHBENR.BIT.IOCLKEN= 1; //使能IO時鐘

RCC->RCCLOCK= 0; //關(guān)閉時鐘配置鎖定寄存器

GPIOC_CFG->LCKR.BIT.LOCK=0X5AA5; //解鎖GPIOA配置鎖

GPIOC_CFG->LCKR.BIT.LCK=0;

GPIOC->MODER =0X0340; //設(shè)置PC6/C8/C9口為輸出模式PC7輸入模式

GPIOC_CFG->OTYPER=0X0; //設(shè)置PC6/C8/C9口輸出方式為推挽輸出

GPIOC_CFG->PUPDR.BIT.PHDR9=1; //PC9開上拉

GPIOC_CFG->AFRL.BIT.AFR6=0X03;//設(shè)置PC6口為SPI0-SCK腳模式

GPIOC_CFG->AFRL.BIT.AFR7=0X03;//設(shè)置PC7口為SPI0-MISO腳模式

GPIOC_CFG->AFRH.BIT.AFR8=0X03;//設(shè)置PC8口為SPI0-MOSI腳模式

GPIOC_CFG->AFRH.BIT.AFR9=0X01;//PC9口為nSS腳

GPIOC_CFG->LCKR.BIT.LOCK=0; //關(guān)閉GPIOC配置鎖

GPIOC_CFG->LCKR.BIT.LCK=0XFFFF;

}

voidSPI0Init(void) //SPI0初始化

{

GPIOC->BSRR.V32=0x0200;// SPI0 flash不選中

RCC->RCCLOCK = 0x33CC; //打開時鐘配置鎖定寄存器

RCC->APB1ENR.BIT.SPI0EN =1; //使能SPI0時鐘

RCC->RCCLOCK = 0; //關(guān)閉時鐘配置鎖定寄存器

SPI0->CR.BIT.SPR=0X04; //SPI0時鐘為PCLK1/32分頻

SPI0->CR.BIT.SSDIS=0; //打開NSS引腳

SPI0->CR.BIT.CPOL=1; //在空閑模式SCK處于高電平

SPI0->CR.BIT.CPHA=1; //SCK周期的第二沿采集數(shù)據(jù)

SPI0->CR.BIT.MSTR=1; //配置SPI0為主機(jī)模式

SPI0->CR.BIT.DIR =0;//MSB優(yōu)先發(fā)送

SPI0->CR.BIT.SPDATL =0; //SPI0每次發(fā)送8Bit數(shù)據(jù)

SPI0->CR.BIT.SPIEN=1; //使能SPI

}

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

    關(guān)注

    6037

    文章

    44563

    瀏覽量

    635838
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8612

    瀏覽量

    151287
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1707

    瀏覽量

    91664
  • 物理層
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    34393
  • 通訊協(xié)議
    +關(guān)注

    關(guān)注

    10

    文章

    275

    瀏覽量

    20361

原文標(biāo)題:SH32F9001的SPI介紹與應(yīng)用

文章出處:【微信號:SINO_25181447,微信公眾號:中穎電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SH32F9001規(guī)格書中文資料

    SH32F9001_32F9801是基于ARM Cortex-M3內(nèi)核的高性能32位微控制器,支持72MHz最高主頻,由于采用特殊結(jié)構(gòu)的存儲器指令加速模式,可使系統(tǒng)獲得近乎零等待周期的高運(yùn)行效率
    發(fā)表于 10-19 06:33

    SH32F9801規(guī)格書中文資料

    SH32F9001_32F9801是基于ARM Cortex-M3內(nèi)核的高性能32位微控制器,支持72MHz最高主頻,由于采用特殊結(jié)構(gòu)的存儲器指令加速模式,可使系統(tǒng)獲得近乎零等待周期的高運(yùn)行效率
    發(fā)表于 10-19 08:18

    SH32F9001系列應(yīng)用指南

    本應(yīng)用指南是 SH32F9001 系列微控制器產(chǎn)品應(yīng)用的指導(dǎo)性手冊,主要包含有關(guān)如何使用SH32F9001 系列產(chǎn)品的基本信息和特別注意事項(xiàng),包含功能模塊典型工作模式的配置和使用方法,會以示例代碼
    發(fā)表于 10-25 06:29

    SH79F165/SH79F085規(guī)格書(中文資料pdf)

    SH79F085/SH79F165是一種高速高效率8051兼容單片機(jī)。在同樣振蕩頻率下,較之傳統(tǒng)的8051芯片它具有運(yùn)行更快速, 性能更優(yōu)越的特性。 SH79F085/SH79F165
    發(fā)表于 04-11 17:33 ?263次下載
    <b class='flag-5'>SH79F</b>165/<b class='flag-5'>SH79F</b>085規(guī)格書(中文資料pdf)

    SH79F164,pdf,datasheet

    本網(wǎng)站提供適用于學(xué)習(xí)SH79F164人群使用的SH79F164規(guī)格書參考,里面包含了SH79F164的結(jié)構(gòu)圖與說明等,歡迎大家參閱。
    發(fā)表于 04-13 13:13 ?57次下載

    SH79F32,pdf,datasheet

    本網(wǎng)站提供適用于學(xué)習(xí)SH79F32人群使用的SH79F32規(guī)格書參考,里面包含了SH79F32的結(jié)構(gòu)圖與說明等,歡迎大家參閱。
    發(fā)表于 04-13 13:39 ?53次下載

    SH88F6161和SH88F6162 DEOM程序解決方案資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是SH88F6161和SH88F6162 DEOM程序解決方案資料合集免費(fèi)下載包括了:DEMO-88F54-SPISH8
    發(fā)表于 05-16 16:35 ?61次下載
    <b class='flag-5'>SH88F</b>6161和<b class='flag-5'>SH88F</b>6162 DEOM程序解決方案資料合集免費(fèi)下載

    SH32F9001/32F9801高性能32位微控制器規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《SH32F9001/32F9801高性能32位微控制器規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 09:56 ?2次下載
    <b class='flag-5'>SH32F9001</b>/32<b class='flag-5'>F</b>9801高性能32位微控制器規(guī)格書

    SH88F2051B和SH88F2051A差異對照表

    電子發(fā)燒友網(wǎng)站提供《SH88F2051B和SH88F2051A差異對照表.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 15:35 ?2次下載
    <b class='flag-5'>SH88F</b>2051B和<b class='flag-5'>SH88F</b>2051A差異對照表

    SH32F9001系列微控制器產(chǎn)品應(yīng)用指導(dǎo)性手冊

    電子發(fā)燒友網(wǎng)站提供《SH32F9001系列微控制器產(chǎn)品應(yīng)用指導(dǎo)性手冊.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 09:15 ?0次下載
    <b class='flag-5'>SH32F9001</b>系列微控制器產(chǎn)品應(yīng)用指導(dǎo)性手冊

    SH-2E SH7059 F-ZTATTM SH7058S F-ZTATTM 硬件手冊

    SH-2E SH7059 F-ZTATTM SH7058S F-ZTATTM 硬件手冊
    發(fā)表于 04-19 19:46 ?0次下載
    <b class='flag-5'>SH</b>-2E <b class='flag-5'>SH</b>7059 <b class='flag-5'>F</b>-ZTATTM <b class='flag-5'>SH</b>7058S <b class='flag-5'>F</b>-ZTATTM 硬件手冊

    SH7014SH7016SH7017F-ZTATTM 硬件手冊

    SH7014 SH7016 SH7017F-ZTATTM 硬件手冊
    發(fā)表于 04-28 19:20 ?0次下載
    <b class='flag-5'>SH7014SH7016SH7017F</b>-ZTATTM 硬件手冊

    SH7050群 SH7050F-ZTAT SH7051F-ZTAT 硬件手冊

    SH7050群 SH7050F-ZTAT SH7051F-ZTAT 硬件手冊
    發(fā)表于 05-09 19:24 ?1次下載
    <b class='flag-5'>SH</b>7050群 <b class='flag-5'>SH7050F</b>-ZTAT <b class='flag-5'>SH7051F</b>-ZTAT 硬件手冊

    SH7050群 SH7050F-ZTAT SH7051F-ZTAT 硬件手冊

    SH7050群 SH7050F-ZTAT SH7051F-ZTAT 硬件手冊
    發(fā)表于 06-27 20:46 ?0次下載
    <b class='flag-5'>SH</b>7050群 <b class='flag-5'>SH7050F</b>-ZTAT <b class='flag-5'>SH7051F</b>-ZTAT 硬件手冊

    中穎電子SH32F9001_32F9801_CV2.3規(guī)格書

    中穎電子SH32F9001_32F9801_CV2.3規(guī)格書
    發(fā)表于 10-19 17:36 ?1次下載
    主站蜘蛛池模板: 99RE6这里只有精品国产AV | 日本免费一区二区三区最新vr | 色欲色香天天天综合| 久久国产视频网| 攵女yin乱合集高h| 5g在视影讯天天5g免费观看| 亚洲国产高清在线观看视频| 日本高清天码一区在线播放| 久久香蕉国产线看观看精品| 花蝴蝶高清在线视频免费观看| 岛国片免费看| c了瑜伽老师嗷嗷叫一节课视频| 亚洲视频区| 香蕉eeww99国产精选播放| 日韩 亚洲 欧美 中文 高清| 欧美囗交xx bbb视频| 久久久久影视| 久久re视频精品538在线| 玛雅成人网| 久久综合丁香激情久久| 久久久久久天天夜夜天天| 欧美精品一区二区三区视频| 理论片在线观看片免费| 久久午夜免费视频| 人人草人人草| 亚洲精品国产第一区第二区| 亚洲精品第一综合99久久| 最近日本字幕MV免费观看在线 | 久久精品18| 鸥美一级黄色片| 小黄文纯肉污到你湿| 中文字幕无码一区二区免费| 一手揉着乳头一手模仿抽插视频| 午夜影院费试看黄| 亚洲 欧美 日韩 卡通 另类| 性888xxxx入欧美| 最近高清中文字幕无吗免费看| 古代又黄又肉到湿的爽文| 国产国拍精品AV在线观看| 国产高清视频免费在线观看| 久久精品国产久精国产果冻传媒|