老師共享的文件遠(yuǎn)見_spi模塊_第1頁
老師共享的文件遠(yuǎn)見_spi模塊_第2頁
老師共享的文件遠(yuǎn)見_spi模塊_第3頁
老師共享的文件遠(yuǎn)見_spi模塊_第4頁
老師共享的文件遠(yuǎn)見_spi模塊_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、SPI 模塊(WOZON)2012/10/24編改學(xué)生在此文稿基礎(chǔ)性重新整理,注入自己的思維,并且在編改此文稿變成自己的東西。上簽上自己名字,方能將目錄學(xué)習(xí)目的2參考文獻(xiàn)212參考文獻(xiàn)22S5PC100 的 SPI 模塊32.134SPI 知識3在 S5PC100 中 SPI 模塊34.14.2程序例程45M25PC10A 資源5程序參考例程65.15.2編寫日期作者內(nèi)容概要2012-10-24WOZON創(chuàng)建1 學(xué)習(xí)目的學(xué)習(xí) SPI 工作原理,理解 S5PC100 對 SPI 提供的資源,學(xué)習(xí) M25P10A SPI 編程。知識,學(xué)習(xí)2 參考文獻(xiàn)2.1參考文獻(xiàn)參考文獻(xiàn)指的是遠(yuǎn)見的文件。無。外部

2、參考文獻(xiàn)指的是相對于上述參考文獻(xiàn)以外的文件。S5PC100_UM_REV104(SAMSUNG).pdf三星公司關(guān)于 SPI 知識.docx來自M25P10A.pdf博文。3SPI:是 Serial Peripheralerface 的縮寫,字面意思為串行接口,是一種間的一種通訊機(jī)制。MOSI: (Master Out Salver In)數(shù)據(jù)收發(fā)線,對主來說是數(shù)據(jù)輸入。MISO: (Master In Saver Out)數(shù)據(jù)收發(fā)線,對主來說是數(shù)據(jù)輸出。來說是數(shù)據(jù)輸出,對與從來說是數(shù)據(jù)輸入,對于從SCK:(Serial clock)時鐘信號線。CC(CS):(chip select)片選信號

3、CPOL: (clock polar)時鐘極性,功能是時鐘信號極性設(shè)定位。CPHA: (clock phase)時鐘相位,功能是收發(fā)順序設(shè)定位。4 S5PC100 的 SPI 模塊4.1 SPI 知識SPI 是一種設(shè)備()之間通訊技術(shù),是摩托羅拉公司率先發(fā)起,與 I2C 一樣被許多廠商廣泛采用,參見關(guān)于 SPI 知識.docx。4.2 在 S5PC100 中 SPI 模塊特點:1、每個 SPI 包含兩個位移寄存器一個為接收數(shù)據(jù),另一個為發(fā)送數(shù)據(jù),它們都可支持 8、16 和 32bit 數(shù)據(jù)寬度,所以 SPI 為全雙工串行通訊。每個 SPI 有 3 種時鐘源可以選擇。每個 SPI 都可支持兩個獨

4、立的 FIFO 用于收發(fā)數(shù)據(jù),每個 FIFO 為 16 個 32bit 數(shù)據(jù)組成。支持主工作模式和從工作模式兩種。支持接收無發(fā)送操作,即可以主動給出時鐘信號。收發(fā)工作頻率高達(dá) 50MHz。2、3、4、5、6、有 3 個 SPI 模塊,下圖為 SPI 的時鐘源(PCLK、SCLK_SPIO_48 和 SCLK_SPIn)關(guān)系圖:S5PC100 的 4 中通訊時序模式:5 程序例程目的操作M25PC10A,該是一種閃存。5.1 M25PC10A 資源特性:1、1Mbit Flash 內(nèi)存。2、每頁編程在 1.4mS 完成。3、每扇區(qū)擦寫 0.65S。4、整塊擦寫 1.7S。5、使用 2.3 到 3

5、.6V 供電,深度休眠 1uA。6、支持 SPI 總線,速度高達(dá) 50MHz。7、電子:JEDC(0 x2011)。8、數(shù)據(jù)保存 20 年。內(nèi)存組織:1、131,072 字節(jié)(1Mbits);2、4 個扇區(qū)(32768 字節(jié)/扇區(qū));3、512 頁(256 字節(jié)/頁);第 1 引腳為片選信號(In),第 2 引腳數(shù)據(jù)輸出(Out),第 3 引腳寫保護(hù)(In),第 4 引腳電源接地,第 5 引腳數(shù)據(jù)輸入(In),第 6 引腳時鐘輸入(In),第 7 引腳掛起信號(In),第 8引腳接電源。SPI 采用CPOL=0,CPHA=0 和CPOL=1.CPHA=1 兩種工作時序模式。M24P10A的操作

6、命令:5.2 程序參考例程#include s5pc100.h#include uart.h#define SPI0_CLK_GATE_ON(16)#define MAX50/* Flash #define #define #define #define*/ #define #define*/opcodes. */ OPCODE_WREN OPCODE_WRDA OPCODE_RDSROPCODE_WRSR0 x060 x040 x050 x01/*/*/*/*Write enable */Write disable */Read sWrite sus register */us regist

7、er 1 byteOPCODE_NORM_READOPCODE_FAST_READ0 x030 x0b/* Read data bytes (low frequency) */* Read data bytes (high frequency)#define #define #define #define #define#defineOPCODE_PPOPCODE_BE_4K OPCODE_BE_32K0 x02/*Page Program (up to 256 bytes) */0 x200 x52/*/*/*/*Erase EraseErase4KiB block */ 32KiB blo

8、ck */whole flash chip */OPCODE_CHIP_ERASE 0 xc7OPCODE_SEOPCODE_RDID0 xd8Sector erase (usually/* Read JEDEC ID */64KiB)*/0 x9f/* SusRegister SR_WIPSR_WELbits.*/ 12#define#define/* Write/* Writein progress */enablelatch*/延時,用于操作同步void _delay(volatiletimes)i,j;for (j = 0; j times;j+)for (i = 0; i 1000;

9、 i+);/復(fù)位。void _soft_reset(void)SPI0.CH_CFG |= 0 x1 5;_delay(1);SPI0.CH_CFG &= (0 x1 5);void init_SPI0()/* set GPB03 to support spi0*/ GPB.GPBCON = (GPB.GPBCON & 0 xf0000)| 0 x2222;/* enable clk_gate, spi_clksel = PCLK; spi_scaler CLK_GATE_D1.CLK_GATE_D1_4 |= SPI0_CLK_GATE_ON; SPI0.CLK_CFG &= 0 x0;_s

10、oft_reset();reset= 0*/softSPI0.CH_CFG &= (0 x1 4) | (0 x1 3) | (0 x1 2) | 0 x3);/master mode, active high and Format ASPI0.MODE_CFG = SPI0.MODE_CFG & (0 x3 17) | (0 x3 29);/BUS_WIDTH=8bit,CH_WIDTH=8bitSPI0.CS_REG &= (0 x1 1);/ SPI0.SLAVESEL |= (0 x1 1);SPI0.CLK_CFG |= 1 8;/Clockenablespiclock=pclk/2

11、/從設(shè)備,CS片選信號為1void _disable_salve(void)SPI0.CS_REG |= 0 x1; /disable salve_delay(1);/從設(shè)備使能,CS片選信號為0void _eable_salve(void)SPI0.CS_REG &= 0 x1; /enable salve_delay(1);/向中寫入數(shù)據(jù)void _transfer(unsigned char *data,i;len)SPI0.CH_CFG |= 0 x1; / enable Tx Channel_delay(1);for (i = 0; i len; i+) SPI0.SPI_TX_DA

12、TA = datai;while( !(SPI0.SPI_SUS & (0 x1 21)_delay(1);SPI0.CH_CFG &= 0 x1; / disable Tx Channel);/從中數(shù)據(jù)void _receive(unsigned char *buf,i;len)SPI0.CH_CFG |= 0 x1 1; / enable Rx Channel_delay(1);for (i = 0; i len; i+)bufi = SPI0.SPI_RX_DATA;_delay(1);SPI0.CH_CFG &= (0 x1 4)+0 x30);(buf0&0 xf)+0 x30);(

13、 );(M);(T);(=);(0);(x);(buf14)+0 x30);(buf1&0 xf)+0 x30);( );(M);(C);(=);(0);(x);(buf24)+0 x30);(buf2&0 xf)+0 x30);p(n);/按扇區(qū)擦除void erase_sector(addr)unsignedchar buf4; OPCODE_SE;addr 16;addr 8; addr;buf0buf1buf2buf3=_eable_salve();_transfer(buf, 4);_disable_salve();/整個擦除void erase_chip()unsigned cha

14、r buf4; buf0 = OPCODE_CHIP_ERASE;_eable_salve();_transfer(buf, 1);_disable_salve();/OPCODE_CHIP_ERASE=0 xc7/等待寫完成void _wait_till_write_finished()unsigned char buf1;_eable_salve();buf0 = OPCODE_RDSR; /OPCODE_RDSRInstruction_transfer(buf, 1);= 0 x05 ReadSus Registerwhile(1)_receive(buf, 1);if(buf0 & S

15、R_WIP);elseputs( Write is finished.n );break;_disable_salve();/寫使能void _enable_write()unsigned char buf1;buf0 = OPCODE_WREN;_eable_salve();_transfer(buf, 1);_disable_salve();/OPCODE_WREN = 0 x06void WriteDatapagenumber)oSPI0ByPage(unsigned char *data,len,unsigned char buf4;/cfg_spi0();_soft_reset();

16、_enable_write();/* 榪欓噷浣跨敤鐨勬槸鐗囨摝闄紝鍙erase_chip();_wait_till_write_finished();牴鎹 渶姹傛敼涓簊ector_erase */buf0buf1buf2buf3=OPCODE_PP; /OPCODE_PP = 0 x02 Page Program Instruction 0;pagenumber-1 ;/pagenumber 12560;_soft_reset();_enable_write();_eable_salve();_transfer(buf, 4);_transfer(data, len);_disable_salve();_wait_till_write_finished();void ReadDataFromSPI0ByPage(unsigned char *data,unsigned char buf4;/cfg_spi0();_soft_reset();len,pagenumber)buf0buf1buf2buf3=OPCODE_NORM_READ;0;pagenumber -0;1;_eable_salve();_transfer(buf, 4);_rece

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論