• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      單片機(jī)控制高容量安全數(shù)字卡的應(yīng)用設(shè)計(jì)

      2012-06-12 01:04:12李文華
      關(guān)鍵詞:高容量扇區(qū)流程圖

      李文華,龔 宸

      (1.湖北仙桃職業(yè)學(xué)院機(jī)械電子工程學(xué)院,湖北 仙桃 433000; 2. 華中師范大學(xué)計(jì)算機(jī)與科學(xué)系,湖北 武漢 430000)

      0 引 言

      高容量安全數(shù)字卡廣泛應(yīng)用在含有視頻功能的嵌入式系統(tǒng)[1]、筆記本電腦中,對(duì)高容量安全數(shù)字卡的訪問控制成為研究的熱點(diǎn).在含有視頻拍攝功能的嵌入式系統(tǒng)中,常用SD卡 (Secure Digital Card——安全數(shù)字卡)保存系統(tǒng)拍攝的視頻,以便用計(jì)算機(jī)進(jìn)一步處理嵌入式系統(tǒng)中所拍攝到的數(shù)據(jù).隨著拍攝時(shí)間的增加和拍攝功能的增強(qiáng),選用最高容量不超過2 GB的SDSC卡(Standard Capacity Secure Digital Card——標(biāo)準(zhǔn)容量安全數(shù)字卡)很難滿足系統(tǒng)對(duì)存儲(chǔ)卡的容量要求,客觀上需要嵌入式系統(tǒng)選用容量為4GB~32GB的SDHC卡(High Capacity Secure Digital Card——高容量安全數(shù)字卡).SDHC卡是近來按Ver2.0規(guī)范生產(chǎn)的SD卡,與按Ver1.1規(guī)范生產(chǎn)的SDSC卡存在較大的差異,為了解決嵌入式系統(tǒng)中高容量SD卡的訪問控制問題,本文從應(yīng)用的角度出發(fā),以MC9S12XS12單片機(jī)控制Apaccr(宇瞻)4GB的SD卡為例,詳細(xì)地討論SDHC卡的控制設(shè)計(jì).

      1 SDHC卡與SDSC卡在使用上的主要差異

      SDHC卡的內(nèi)部結(jié)構(gòu)與SDSC卡不同,除了容量上的差異外,在使用控制上還存在著以下幾方面的差別:

      (1)SDHC卡只支持塊訪問,不支持字節(jié)訪問,塊的大小固定為一個(gè)扇區(qū)512字節(jié);SDSC卡既支持塊訪問,又支持字節(jié)訪問,塊的大小由用戶指定.

      (2)SDHC卡所使用的文件系統(tǒng)是FAT32,不能在FAT12/16文件系統(tǒng)中使用;SDSC卡使用的文件系統(tǒng)是FAT12/16,在FAT32文件系統(tǒng)中也可以訪問SDSC卡.

      (3)SD卡除了擁有SDSC卡的全部命令集外,還增加了許多命令.其中,SPI模式中新增加了CMD8命令,用來識(shí)別SD卡的接口類型.CMD8命令的格式與其他SPI命令的格式相同,命令代碼為0x48.

      (4)塊訪問命令參數(shù)的含義不同.在SDSC卡中,6個(gè)塊訪問命令CMD17、CMD18、CMD24、CMD25、CMD32、CMD33的參數(shù)含義是SD卡的字節(jié)地址.在SDHC卡中塊訪問命令雖然也是這6個(gè)命令,但其參數(shù)的含義為SD卡的塊地址(扇區(qū)地址).

      (5)初始化過程不同.

      2 硬件電路設(shè)計(jì)

      SDHC卡是在SDSC卡的基礎(chǔ)上發(fā)展起來的,它們的引腳數(shù)都是9腳,引腳分布相同,都具有SD和SPI兩種工作模式,用單片機(jī)控制SDHC卡可以采用SPI模式[2]控制.

      MC9S12XS128單片機(jī)是帶有SPI口的CMOS單片機(jī)[3],其工作電壓為3.135~5.5 V,SD卡的工作電壓為2.7~3.6 V,它們都采用3.3 V電源供電時(shí),可用MC9S12XS128的SPI口直接控制SD卡.MC9S12XS128控制宇瞻4 GB的SDHC卡的硬件電路[4]如圖1所示.

      圖1 單片機(jī)控制SD卡的硬件電路 Fig.1 Circuit of controlling SD card based on MCU

      圖1中,R1為4.7 kΩ的電阻,R2為100 Ω的電阻,R3為1 MΩ的電阻,C1為0.01 μF的電容,S1為復(fù)位按鈕,C2、C3為22PF的電容,Y為16 MHz的晶振.R1、R2、C1、S1構(gòu)成了單片機(jī)的復(fù)位電路,C2、C3、Y、R3為單片機(jī)的振蕩電路.

      3 軟件程序設(shè)計(jì)

      3.1 SPI初始化程序

      SDHC卡工作在SPI模式時(shí),一次數(shù)據(jù)傳輸期內(nèi)CS引腳必須保護(hù)為低電平,數(shù)據(jù)傳輸結(jié)束后需將CS置為高電平.一個(gè)字節(jié)的數(shù)據(jù)傳輸方向是,高字節(jié)在先,低字節(jié)在后.SDHC卡輸出數(shù)發(fā)生在時(shí)鐘的下降沿之后,SDHC卡接收數(shù)據(jù)時(shí)時(shí)鐘的上升沿鎖存數(shù)據(jù).在SDHC卡的初化過程中,SPI的時(shí)鐘頻率為100~400 kHz,初始化結(jié)束后,SPI的時(shí)鐘頻率為0~6 MHz.為了實(shí)現(xiàn)單片機(jī)與SDHC卡通信,單片機(jī)的SPI口應(yīng)按SDHC卡的時(shí)序要求工作[5].用MC9S12XS128單片機(jī)控制宇瞻4 GB的SDHC卡時(shí),單片機(jī)的SPI口初始化程序如下:

      void SPI_Init(void)

      { MODRR =0;

      MODRR_MODRR4=1; //使用PM口

      DDRM|=0x38; //SCK0=1,MOSI=1,

      SS0=1

      DDRM &=(~0X04); //MISO=0 輸入

      SPI0CR1 = 0x5E; //CPOL=1,CPHA=1

      SPI0CR2 = 0x00;

      SPI0BR = 0x07; //SPI速率:312.5 kHz}

      3.2 SD卡的初始化程序

      上電后,SD卡處于SD模式,采用SPI模式訪問SD卡時(shí)必須先將SD卡的工作模式轉(zhuǎn)換成SPI模式,然后用SPI模式命令訪問SD卡中的存儲(chǔ)器.初始化SD卡的的主要任務(wù)是,判斷卡槽中的SD卡是何種SD卡,并將SD卡的工作模式設(shè)置成SPI模式,如果是SDSC卡還需要設(shè)置訪問塊的大小.

      初始化SD卡的方法是,上電后先用CMD0命令復(fù)位SD卡,使SD卡能接收后續(xù)的SPI模式命令,然后用CMD8命令[6]判斷SD卡的接口類型和工作條件.

      在讀得CMD8命令的響應(yīng)有效后再用ACMD41命令啟動(dòng)SD卡的SPI模式初始化,并檢查初始化是否結(jié)束,此處發(fā)送ACMD41命令時(shí),應(yīng)將參數(shù)的HCS位設(shè)置成1.

      在SD卡完成了SPI模式初始化后,再用CMD58命令讀OCR寄存器的內(nèi)容,并根據(jù)OCR的CCS位判斷SD卡是SDHC卡還是Ver2.0版本的SDSC卡.SDSC卡、SDHC卡通用的初始化流程圖如圖2所示.

      圖2 SD卡初始化流程Fig.2 Flow chart of the SD card initialized

      3.3 讀寫扇區(qū)程序

      在SPI模式下,SDHC卡的讀扇區(qū)的命令是CMD17,寫扇區(qū)命令是CMD24,這2個(gè)命令也是SDSC卡在SPI模式下的讀寫扇區(qū)命令.讀扇區(qū)程序必須按照CMD17命令的時(shí)序圖編寫,寫扇區(qū)程序必須按照CMD24的時(shí)序圖編寫.考慮到SDHC卡和SDSC卡的讀寫扇區(qū)命令相同,僅僅只是參數(shù)的含義不同,可以將讀寫扇區(qū)程序編寫成SDHC卡和SDSC卡通用的程序.通用的讀扇區(qū)流程圖如圖3所示,通用的寫扇區(qū)的流程圖如圖4所示.

      圖3 讀扇區(qū)流程圖Fig.3 Flow chart of reading sector

      圖4 寫扇區(qū)流程圖Fig.4 Flow chart of writing sector

      4 測(cè)試結(jié)果

      測(cè)試主要包括2個(gè)方面,一是測(cè)試向SDHC卡寫數(shù)的功能,二是測(cè)試從SDHC卡中讀數(shù)的功能.應(yīng)用本設(shè)計(jì)中的電路和程序向宇瞻SDHC卡的第50 000扇區(qū)寫入512個(gè)0x17數(shù)據(jù),寫數(shù)后的結(jié)果如圖5所示.

      將SDHC卡的50 000扇區(qū)中的數(shù)據(jù)讀至數(shù)據(jù)組buff[512]中的結(jié)果如圖6所示.

      圖6 從SDHC卡讀數(shù)的結(jié)果Fig.6 Result of reading data from SDHC card

      5 結(jié) 語

      本設(shè)計(jì)通過采用MC9S12XS128單片機(jī)控制宇瞻4 GB的SDHC卡,提出了嵌入式系統(tǒng)中使用高容量SD卡的設(shè)計(jì)思路和方法,并成功地實(shí)現(xiàn)了單片機(jī)對(duì)SDHC的訪問控制,本設(shè)計(jì)中的電路和程序已在第五屆“飛思卡爾”杯智能汽車的調(diào)試過程得到了很好的應(yīng)用.實(shí)踐表明,本設(shè)計(jì)解決了高容量SD卡的訪問控制問題,可應(yīng)用于含有視頻拍攝功能的嵌入系統(tǒng)中和基于SD卡的嵌入式系統(tǒng)的存儲(chǔ)器升級(jí).

      參考文獻(xiàn):

      [1] 羅肖,劉軍,楊輝.嵌入式安全存儲(chǔ)系統(tǒng)的研究[J].武漢工程大學(xué)學(xué)報(bào),2012,34(2):67-70.

      [2] 盛李立,王忠,王春麗,等.基于SPI接口的無線網(wǎng)卡設(shè)備驅(qū)動(dòng)設(shè)計(jì)[J].武漢工程大學(xué)學(xué)報(bào), 2011,33(6):89-97.

      [3] 孫同景.Freescale 9S12十六位單片機(jī)原理及嵌入式開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.

      [4] 王效華,牛思先.基于單片機(jī)PWM控制技術(shù)的實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào),2010,32(1):94-98.

      [5] 李文華.單片機(jī)應(yīng)用技術(shù)(C語言版)[M].北京:人民郵電出版社,2011.

      [6] SD卡委員會(huì).SD specifications part1(physicial layer smplified specification version 3.01)[R]. Technical Committee SD Card Assiociation,2010(5):113-116.

      猜你喜歡
      高容量扇區(qū)流程圖
      分階段調(diào)整增加扇區(qū)通行能力策略
      南北橋(2022年2期)2022-05-31 04:28:07
      U盤故障排除經(jīng)驗(yàn)談
      專利申請(qǐng)審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請(qǐng)審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
      重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
      高容量連續(xù)性血液凈化治療對(duì)膿毒血癥致早期急性腎損傷的效果分析
      高容量咪唑型螯合樹脂的制備及其對(duì)Cd(Ⅱ)和Zn(Ⅱ)的吸附性能
      寧??h村級(jí)權(quán)力清單36條
      高容量血液濾過聯(lián)合機(jī)械通氣治療急性呼吸窘迫綜合征的療效觀察
      新绛县| 休宁县| 根河市| 马尔康县| 凤冈县| 阿拉善左旗| 曲周县| 芷江| 巴青县| 航空| 大洼县| 漳浦县| 崇仁县| 永春县| 舟山市| 裕民县| 徐水县| 兴安盟| 永和县| 隆化县| 长白| 理塘县| 察隅县| 游戏| 福泉市| 凤凰县| 金坛市| 肃南| 丁青县| 乐业县| 兴国县| 扎兰屯市| 丹巴县| 和龙市| 秦安县| 南昌市| 鹿泉市| 洪江市| 额敏县| 沂水县| 北碚区|