一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務 - 聯(lián)系電話:
您的當前位置: > 關注 > > 正文

TF卡 MicroSD卡使用信息

來源:CSDN 時間:2022-12-23 10:15:09

TF卡 或者SD卡封裝,帶自談的

SD卡介紹


(相關資料圖)

對于SD卡的硬件結(jié)構(gòu),在官方的文檔上有很詳細的介紹,如SD卡內(nèi)的存儲器結(jié)構(gòu)、存儲單元組織方式等內(nèi)容。要實現(xiàn)對它的讀寫,最核心的是它的時序,筆者在經(jīng)過了實際的測試后,使用51單片機成功實現(xiàn)了對SD卡的扇區(qū)讀寫,并對其讀寫速度進行了評估。下面先來講解SD卡的讀寫時序。

覆寫保護開關

在SD卡的右面通常有一個開關,即是覆寫保護開關,當覆寫保護開關撥下時,SD卡將受到覆寫保護,資料只能閱讀。當覆寫保護開關在上面位置,便可以覆寫資料。由于這保護開關是選擇性的,有些品牌的SD卡沒有此保護掣。

驅(qū)動模式

SD卡有兩種驅(qū)動模式:SPI模式與SDIO模式。它們所使用的接口信號是不同的。在SPI模式下,只會用到SD卡的4根信號線,即CS、DI、SCLK與DO(分別是SD卡的片選、數(shù)據(jù)輸入、時鐘與數(shù)據(jù)輸出)。

傳輸模式

SD卡共支持三種傳輸模式:SPI模式(獨立序列輸入和序列輸出),1位SD模式(獨立指令和數(shù)據(jù)通道,獨有的傳輸格式), 4位SD模式(使用額外的針腳以及某些重新設置的針腳。支持四位寬的并行傳輸)。

(1) SD卡的引腳定義:及內(nèi)部結(jié)構(gòu)

SD卡引腳功能詳述:

雖然標準SD卡是九腳,但原理圖是SD卡座不是SD卡!!,所以原理圖中一般都是11腳或更多。

一般10腳是檢測卡是否插入,11腳是卡寫保護的檢測,再有其它引腳就是用于固定卡座的腳了,其實簡單應用這兩個腳都可以不要管的,這就是為什么SD卡原理圖中的引腳版本不同引腳數(shù)目也不同了。

SDIO連接模式

SPI連接模式

注:S:電源供給  I:輸入 O:采用推拉驅(qū)動的輸出 PP:采用推拉驅(qū)動的輸入輸出

SD卡支持兩種總線方式:SD方式與SPI方式。其中SD方式采用6線制,使用CLK、CMD、DAT0~DAT3進行數(shù)據(jù)通信。而SPI方式采用4線制,使用CS、CLK、DataIn、DataOut進行數(shù)據(jù)通信。SD方式時的數(shù)據(jù)傳輸速度與SPI方式要快,采用單片機對SD卡進行讀寫時一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。這里只對其SPI方式進行介紹。

(2)SPI方式驅(qū)動SD卡的方法SD卡的SPI通信接口使其可以通過SPI通道進行數(shù)據(jù)讀寫。從應用的角度來看,采用SPI接口的好處在于,很多單片機內(nèi)部自帶SPI控制器,不光給開發(fā)上帶來方便,同時也見降低了開發(fā)成本。然而,它也有不好的地方,如失去了SD卡的性能優(yōu)勢,要解決這一問題,就要用SD方式,因為它提供更大的總線數(shù)據(jù)帶寬。SPI接口的選用是在上電初始時向其寫入第一個命令時進行的。以下介紹SD卡的驅(qū)動方法,只實現(xiàn)簡單的扇區(qū)讀寫。 1) 命令與數(shù)據(jù)傳輸 1. 命令傳輸 SD卡自身有完備的命令系統(tǒng),以實現(xiàn)各項操作。命令格式如下:

命令的傳輸過程采用發(fā)送應答機制,過程如下:

每一個命令都有自己命令應答格式。在SPI模式中定義了三種應答格式,如下表所示:

寫命令的例程: //-----------------------------------------------------------------------------------------------   向SD卡中寫入命令,并返回回應的第二個字節(jié) //----------------------------------------------------------------------------------------------- unsigned char Write_Command_SD(unsigned char *CMD) {undefined    unsigned char tmp;    unsigned char retry=0;    unsigned char i;

//禁止SD卡片選    SPI_CS=1;    //發(fā)送8個時鐘信號    Write_Byte_SD(0xFF);    //使能SD卡片選    SPI_CS=0;

//向SD卡發(fā)送6字節(jié)命令    for (i=0;i<0x06;i++)    {undefined       Write_Byte_SD(*CMD++);    }       //獲得16位的回應    Read_Byte_SD(); //read the first byte,ignore it.    do    {  //讀取后8位       tmp = Read_Byte_SD();       retry++;    }    while((tmp==0xff)&&(retry<100));    return(tmp); }

2) 初始化 SD卡的初始化是非常重要的,只有進行了正確的初始化,才能進行后面的各項操作。在初始化過程中,SPI的時鐘不能太快,否則會造初始化失敗。在初始化成功后,應盡量提高SPI的速率。在剛開始要先發(fā)送至少74個時鐘信號,這是必須的。在很多讀者的實驗中,很多是因為疏忽了這一點,而使初始化不成功。隨后就是寫入兩個命令CMD0與CMD1,使SD卡進入SPI模式            初始化時序圖:

初始化例程: //--------------------------------------------------------------------------     初始化SD卡到SPI模式 //-------------------------------------------------------------------------- unsigned char SD_Init() {     unsigned char retry,temp;    unsigned char i;    unsigned char CMD[] = {0x40,0x00,0x00,0x00,0x00,0x95}; SD_Port_Init(); //初始化驅(qū)動端口       Init_Flag=1; //將初始化標志置1

for (i=0;i<0x0f;i++)    {undefined       Write_Byte_SD(0xff); //發(fā)送至少74個時鐘信號    }      //向SD卡發(fā)送CMD0    retry=0;    do    { //為了能夠成功寫入CMD0,在這里寫200次      temp=Write_Command_SD(CMD);      retry++;      if(retry==200)      { //超過200次        return(INIT_CMD0_ERROR);//CMD0 Error!      }    }    while(temp!=1);  //回應01h,停止寫入       //發(fā)送CMD1到SD卡    CMD[0] = 0x41; //CMD1    CMD[5] = 0xFF;    retry=0;    do    { //為了能成功寫入CMD1,寫100次      temp=Write_Command_SD(CMD);      retry++;      if(retry==100)      { //超過100次        return(INIT_CMD1_ERROR);//CMD1 Error!      }    }    while(temp!=0);//回應00h停止寫入       Init_Flag=0; //初始化完畢,初始化標志清零       SPI_CS=1;  //片選無效    return(0); //初始化成功 } 3) 讀取CID CID寄存器存儲了SD卡的標識碼。每一個卡都有唯一的標識碼。 CID寄存器長度為128位。它的寄存器結(jié)構(gòu)如下:

它的讀取時序如下:

與此時序相對應的程序如下: //------------------------------------------------------------------------------------     讀取SD卡的CID寄存器   16字節(jié)   成功返回0 //------------------------------------------------------------------------------------- unsigned char Read_CID_SD(unsigned char *Buffer) {undefined    //讀取CID寄存器的命令    unsigned char CMD[] = {0x4A,0x00,0x00,0x00,0x00,0xFF};    unsigned char temp;    temp=SD_Read_Block(CMD,Buffer,16); //read 16 bytes    return(temp); }

4)讀取CSD CSD(Card-Specific Data)寄存器提供了讀寫SD卡的一些信息。其中的一些單元可以由用戶重新編程。具體的CSD結(jié)構(gòu)如下:

讀取CSD 的時序:

相應的程序例程如下: //-----------------------------------------------------------------------------------------     讀SD卡的CSD寄存器   共16字節(jié)    返回0說明讀取成功 //----------------------------------------------------------------------------------------- unsigned char Read_CSD_SD(unsigned char *Buffer) {     //讀取CSD寄存器的命令    unsigned char CMD[] = {0x49,0x00,0x00,0x00,0x00,0xFF};    unsigned char temp;    temp=SD_Read_Block(CMD,Buffer,16); //read 16 bytes    return(temp); }

4)

讀取SD卡信息 綜合上面對CID與CSD寄存器的讀取,可以知道很多關于SD卡的信息,以下程序可以獲取這些信息。如下: //----------------------------------------------------------------------------------------------- //返回 //  SD卡的容量,單位為M //  sector count and multiplier MB are in u08 == C_SIZE / (2^(9-C_SIZE_MULT)) //  SD卡的名稱 //----------------------------------------------------------------------------------------------- void SD_get_volume_info() {       unsigned char i;     unsigned char c_temp[5];     VOLUME_INFO_TYPE SD_volume_Info,*vinf;     vinf=&SD_volume_Info; //Init the pointoer; /讀取CSD寄存器     Read_CSD_SD(sectorBuffer.dat); //獲取總扇區(qū)數(shù)  vinf->sector_count = sectorBuffer.dat[6] & 0x03;  vinf->sector_count <<= vinf-="">sector_count += sectorBuffer.dat[7];  vinf->sector_count <<= vinf-="">sector_count += (sectorBuffer.dat[8] & 0xc0) >> 6;  // 獲取multiplier  vinf->sector_multiply = sectorBuffer.dat[9] & 0x03;  vinf->sector_multiply <<= vinf-="">sector_multiply += (sectorBuffer.dat[10] & 0x80) >> 7; //獲取SD卡的容量  vinf->size_MB = vinf->sector_count >> (9-vinf->sector_multiply);  // get the name of the card  Read_CID_SD(sectorBuffer.dat);  vinf->name[0] = sectorBuffer.dat[3];  vinf->name[1] = sectorBuffer.dat[4];  vinf->name[2] = sectorBuffer.dat[5];  vinf->name[3] = sectorBuffer.dat[6];  vinf->name[4] = sectorBuffer.dat[7];  vinf->name[5] = 0x00; //end flag  }          以上程序?qū)⑿畔⒀b載到一個結(jié)構(gòu)體中,這個結(jié)構(gòu)體的定義如下: typedef struct SD_VOLUME_INFO { //SD/SD Card info   unsigned int  size_MB;   unsigned char sector_multiply;   unsigned int  sector_count;   unsigned char name[6]; } VOLUME_INFO_TYPE;

TF卡介紹

Micro SD Card,原名Trans-flashCard(TF卡),2004年正式更名為MicroSD Card,由SanDisk(閃迪)公司發(fā)明。MicroSD卡是一種極細小的快閃存儲器卡,其格式源自SanDisk創(chuàng)造,原本這種記憶卡稱為T-Flash,及后改稱為TransFlash;而重新命名為MicroSD的原因是因為被SD協(xié)會(SDA) 采立。

它的體積為15mm x 11mm x1mm,差不多相等于手指甲的大小,是現(xiàn)時最細小的記憶卡。它也能通過SD轉(zhuǎn)接卡來接駁于SD卡插槽中使用。現(xiàn)時MicroSD卡提供128MB、256MB、512MB、1G、2G、4G、8G、16G、32G、64G、128G的容量(MWC2014 世界移動通信大會期間,SanDisk(閃迪)打破了儲存卡最高64GB容量的傳統(tǒng),正式發(fā)布了一款容量高達128GB的Micro SD XC 儲存卡。

MicroSD的體積更小且可以轉(zhuǎn)換SD卡使用,TF卡的電路和引腳和SD卡是一樣的。

TF卡的PCB封裝

從下圖可以看出,靠近圓圈處的那個引腳沒有和TF相連。

所以做TF封裝和電路,9腳懸空

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四
欧美亚洲第一区| 久久久久在线| 久久久久久久久久看片| 欧美日韩在线综合| 午夜免费电影一区在线观看| 国产精品久久久亚洲一区| 欧美在线观看www| 尤妮丝一区二区裸体视频| 欧美日本中文| 久久人体大胆视频| 午夜亚洲激情| 在线视频亚洲欧美| 亚洲日本欧美日韩高观看| 国产亚洲欧美一区二区| 欧美激情一区二区三区全黄| 午夜激情综合网| 一本色道久久综合亚洲精品高清| 国产一区二区久久| 国产欧美日韩免费| 国产精品一区=区| 国产精品青草综合久久久久99| 欧美激情网友自拍| 久久综合久久久久88| 久久久精品一区二区三区| 亚洲欧美影院| 亚洲一区中文| 午夜在线电影亚洲一区| 亚洲欧美日韩视频二区| 亚洲图片你懂的| 亚洲免费影视| 欧美永久精品| 久久久久久9| 久久综合九色综合欧美狠狠| 欧美怡红院视频一区二区三区| 亚洲小说春色综合另类电影| 亚洲片国产一区一级在线观看| 性欧美长视频| 亚洲高清av| 99精品视频免费| 欧美一区视频在线| 免费成人高清视频| 欧美偷拍另类| 欧美一区二区三区免费视频| 亚洲一区二区三区久久| 亚洲午夜av电影| 久久九九精品99国产精品| 免费成人黄色片| 欧美成人精品一区二区| 国产精品国产精品国产专区不蜜| 国产一区二区三区久久悠悠色av | 欧美成人精品一区二区三区| 欧美噜噜久久久xxx| 国产日韩在线视频| 亚洲精品无人区| 久久亚洲私人国产精品va| 国产精品欧美日韩一区二区| 91久久久国产精品| 久久五月激情| 国产一区二区三区成人欧美日韩在线观看 | 国产精品手机视频| 亚洲欧洲精品一区| 女人色偷偷aa久久天堂| 国产一区二区日韩精品欧美精品| 一区二区三区四区五区在线| 欧美日韩国产精品一区二区亚洲| 在线观看视频一区二区欧美日韩| 性亚洲最疯狂xxxx高清| 国产日韩欧美另类| 久久久久久香蕉网| 亚洲精品精选| 国产精品都在这里| 欧美一区成人| 亚洲国产成人av在线| 欧美激情精品久久久久久大尺度| 1024欧美极品| 欧美日韩一级大片网址| 亚洲在线观看免费视频| 国产亚洲精品成人av久久ww| 久久人人超碰| 亚洲性图久久| 在线精品国产欧美| 欧美日韩伦理在线| 久久先锋影音av| 亚洲天堂成人在线观看| 黄色亚洲免费| 国产精品久久久久久久浪潮网站 | 一区二区三区日韩在线观看| 国产精品久久久免费| 久久久久久一区| 夜夜夜久久久| 亚洲精品偷拍| 亚洲盗摄视频| 国产有码一区二区| 国产精品免费看片| 欧美无砖砖区免费| 欧美日韩一区二区三区视频| 久久人人爽国产| 久久av免费一区| 久久精品国产亚洲精品| 亚洲欧美日韩第一区| 一本色道久久综合亚洲二区三区| 激情综合色综合久久| 精品91免费| 1024成人| 亚洲网站在线| 欧美一区二区三区播放老司机| 国产精品免费一区豆花| 日韩一级精品| 一区二区三区中文在线观看| 国产日韩欧美在线播放不卡| 国产精品一二| 亚洲国产精品第一区二区| 亚洲欧洲日本国产| 99成人在线| 午夜一区二区三区不卡视频| 久久久久久亚洲精品中文字幕| 久久久国产91| 欧美一区二区三区久久精品茉莉花 | 国产手机视频一区二区| 国产精品最新自拍| 国产一级揄自揄精品视频| 亚洲国产精品www| 99re8这里有精品热视频免费 | 韩曰欧美视频免费观看| 亚洲精品国产日韩| 午夜久久一区| 欧美女同视频| 国产伦精品一区二区| 亚洲国产高清一区| 久久精品网址| 国产精品狠色婷| 在线视频精品| 欧美国产日韩xxxxx| 一区精品久久| 久久影音先锋| 在线免费观看日本欧美| 久久国产欧美日韩精品| 国产精品视频在线观看| 亚洲美女区一区| 嫩草国产精品入口| 好吊一区二区三区| 久久国产日本精品| 国产精品亚洲综合色区韩国| 国内精品模特av私拍在线观看 | 国产精品乱码久久久久久| 亚洲国产天堂久久综合网| 欧美在线国产| 在线欧美三区| 欧美黄色aa电影| 正在播放欧美一区| 国产精品久久久久久一区二区三区| 一区二区三区精品国产| 欧美日韩免费观看一区三区| 洋洋av久久久久久久一区| 国产精品久久久久影院亚瑟| 亚洲在线一区二区三区| 国产日韩一区二区三区| 免费成年人欧美视频| 亚洲天堂黄色| 亚洲欧洲在线一区| 国产欧美一区二区三区在线老狼 | 国产精品成人国产乱一区| 亚洲综合第一| 99国产精品久久久久久久| 国产伦精品一区二区三区高清| 久久九九免费视频| 日韩一区二区精品视频| 国产一区美女| 国产精品日韩欧美| 女女同性精品视频| 亚洲在线视频| 亚洲视频第一页| 亚洲精品裸体| 亚洲国产一区二区三区a毛片| 国产精品久久久久久久电影 | 午夜亚洲一区| 亚洲美女在线一区| 国产一区二区三区在线观看视频 | 亚洲午夜精品网| 亚洲精品在线观看免费| 在线观看国产日韩| 伊人久久大香线蕉综合热线| 国产日产精品一区二区三区四区的观看方式 | 亚洲蜜桃精久久久久久久| 亚洲午夜一级| 国产欧美一区二区三区国产幕精品| 亚洲娇小video精品| 久久色在线观看| 亚洲国产精品久久| 久久久久女教师免费一区| 国产亚洲综合精品| 欧美日韩国产一区二区三区| 亚洲人永久免费| 欧美精品一区二区蜜臀亚洲| 最新国产精品拍自在线播放| 欧美午夜一区二区福利视频| 中文在线资源观看网站视频免费不卡 | 欧美日韩国产首页在线观看| 国产真实久久| 米奇777在线欧美播放|