国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于flash總線的高效率低成本sd卡控制電路及其讀寫方法

      文檔序號(hào):6458465閱讀:247來(lái)源:國(guó)知局
      專利名稱:基于flash總線的高效率低成本sd卡控制電路及其讀寫方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種SD卡控制電路,尤其涉及一種基于FLASH總線的高效率低成本SD卡控 制電路及其讀寫方法。
      技術(shù)背景SD卡(Secure Digital Memory Card)是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備。SD 卡由日本松下、東芝及美國(guó)SanDisk公司于1999年8月共同開發(fā)研制。大小猶如一張郵票的 SD記憶卡,重量只有2克,但SD卡卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活 性以及很好的安全性。SD卡具備串行和隨機(jī)存取能力,可通過(guò)優(yōu)化速度的串行接口訪問(wèn),數(shù)據(jù)傳輸可靠。因此 Secure Digital這個(gè)命名就有"安全數(shù)碼"的意思。SD卡通過(guò)9Pin接口與相應(yīng)讀寫設(shè)備連接,由 于釆用NAND閃存介質(zhì)而不易損壞,讀寫數(shù)據(jù)、格式化都比較方便,被MP3、數(shù)碼相機(jī)、游 戲機(jī)等多種設(shè)備廣泛采用?,F(xiàn)階段SD卡的擴(kuò)展存儲(chǔ)電路主要的實(shí)現(xiàn)形式分為以下三種-a) 使用獨(dú)立的SD卡控制芯片這種形式,是使用專用的SD卡控制芯片作為獨(dú)立的SD卡控制器,獨(dú)立承擔(dān)對(duì)SD卡的 讀寫等所有控制,并通過(guò)系統(tǒng)的并行或串行總線與處理器連接實(shí)現(xiàn)處理器對(duì)SD卡數(shù)據(jù)的讀 取和存儲(chǔ)操作。由于使用了 SD卡的專用控制芯片,這種通過(guò)硬件產(chǎn)生和控制讀寫時(shí)序的實(shí)現(xiàn)方式可以 有較高的存取速度,且宜于程序的實(shí)現(xiàn),適用于對(duì)于數(shù)據(jù)存取的速度要求較高的場(chǎng)合。但 由于該種實(shí)現(xiàn)方式增加了獨(dú)立的控制芯片,必然造成產(chǎn)品成本的上升和PCB面積的增加。 對(duì)于對(duì)成本和PCB面積控制要求較嚴(yán)格的方案這種形式的實(shí)現(xiàn)方法就顯得有些力不從心。同時(shí)這種設(shè)計(jì)形式所采用的方案在兼容性方面也有一定的問(wèn)題。對(duì)于使用同一廠家同 系列的SD卡控制芯片,IC芯片管腳兼容的設(shè)計(jì)還可以保證PCB的通用性,但產(chǎn)品仍然會(huì)受 到貨源和產(chǎn)品更新等因素的影響。而一旦需要更改其它的SD卡控制IC,則原理圖、PCB都 要做重新的設(shè)計(jì),這必然造成設(shè)計(jì)生產(chǎn)上的重復(fù)勞動(dòng),間接的造成的產(chǎn)品成本的增加。b) 主處理器集成SD卡控制器主處理器集成SD卡控制器,多出現(xiàn)于某類產(chǎn)品的專用芯片。這里芯片所對(duì)應(yīng)的產(chǎn)品主 要是使用SD卡等便攜式內(nèi)存的領(lǐng)域。SD卡在這一類產(chǎn)品上的大量使用,使得處理器集成 SD卡控制器成為了一個(gè)必不可少的手段,選用集成SD卡控制器的處理器也成為這類產(chǎn)品 控制成本的一個(gè)措施。雖然相對(duì)于分離的SD卡控制器擴(kuò)展方案,這一類SD卡的擴(kuò)展方案有了一定的成本優(yōu) 勢(shì),而且集成SD控制器相對(duì)于沒(méi)有該功能的同類產(chǎn)品也成為了一個(gè)買點(diǎn)。但是由于芯片中 集成了SD卡控制器,其成本和售價(jià)必然有一定的提升。同時(shí)由于集成了SD卡控制器,使 得芯片設(shè)計(jì)的難度增加和芯片的穩(wěn)定性也會(huì)受到影響。c) 使用GPIO 口來(lái)控制SD卡這種方案多使用在低成本的方案中。程序使用通用的可ll程10 口來(lái)模擬SD卡的SD總 線或SPI總線來(lái)實(shí)現(xiàn)SD卡的讀寫控制。這類方案由于使用了速度較低的IO 口,實(shí)用價(jià)值不 高,僅僅是使用在某些低速應(yīng)用中。隨著閃存工藝的不斷提高和改進(jìn),SD卡的容量不斷的 增大,這種低速的SD卡方案會(huì)變得越來(lái)越不實(shí)用,而逐漸被淘汰。以上的實(shí)現(xiàn)形式或者在成本上不占優(yōu)勢(shì),或者在速度上受到制約,或者在兼容性上有 所欠缺。 發(fā)明內(nèi)容本發(fā)明的目的就是為了解決目前SD卡控制電路成本較高,兼容性差等問(wèn)題,提供一種具有結(jié)構(gòu)簡(jiǎn)單,成本較低,高速兼容性好等優(yōu)點(diǎn)的基于FLASH總線的高效率低成本SD卡控制電 路及其讀寫方法。為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種基于FLASH總線的高效率低成本SD卡控制電路,它包括處理器,處理器與存儲(chǔ)器連 接,同時(shí)處理器通過(guò)FLASH總線與SD卡讀寫控制電路和NOR FLASH電路連接,處理器的CSO、 ^5端分別為NOR FLASH的片選信號(hào)端和SD卡讀寫控制電路的片選信號(hào)端,并與之連接。所述SD卡讀寫控制電路包括SD卡連接器CON2、八雙向總線收發(fā)器Ul和2輸入4與門 電路U2;其中FLASH總線的DATA0-DATA4端連接至Ul的A 口, SD卡的SD總線,數(shù)據(jù)線 SD—DATA0-SD_DATA3、命令線SD_CMD連接至Ul的B 口; FLASH總線上的讀使能Ufjl,端 連i至Uljf方向選擇管腳2LR; SD卡電路使能信號(hào)I5^端連接至U1的片選管腳^寫 使能信號(hào)WE讀使能信號(hào)"51"經(jīng)過(guò)與門U2產(chǎn)生SD總線中的SD—CLK信號(hào),U2的SD_CLK信 號(hào)端接SD卡連接器CON2的SCLK/CLK端。所述FLASH總線的DATA 0-3與SD總線中的SD—DATA 0-3分別對(duì)應(yīng),F(xiàn)LASH總線的DATA4 與SD總線中的SD_CMD線對(duì)應(yīng)。一種基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法,它的方法為,1) 處理器等待表示flash總線空閑的互斥信號(hào)量,信號(hào)量空閑時(shí),置低§5^§信號(hào),使 SD卡控制電路處于選通狀態(tài),表示SD卡控制電路占用flash總線,處理器和SD卡控制電路 之間可以進(jìn)行數(shù)據(jù)交換;2) SD卡通過(guò)數(shù)據(jù)線SD_DATA0-SD—DATA3、命令線SD CMD和主機(jī)交換數(shù)據(jù);3) SD卡和主機(jī)數(shù)據(jù)交S結(jié)束后,"k高55^信號(hào),岳SD卡控制電路處于非選通狀態(tài), 釋放互斥信號(hào)量,讓出flash總線,供其他設(shè)備使用。所述步驟2)中,SD卡和主機(jī)交換數(shù)據(jù)過(guò)程為主機(jī)向SD卡寫命令和SD卡向主機(jī)回應(yīng)命令響應(yīng)以及主機(jī)向SD卡寫數(shù)據(jù)和主機(jī)從SD卡 讀取數(shù)據(jù);SD卡上電后,處于卡識(shí)別狀態(tài),等待74個(gè)以上的時(shí)鐘周期,然后主機(jī)向SD卡發(fā)送一系 列命令,SD卡在正確響應(yīng)這些命令后進(jìn)入數(shù)據(jù)傳輸狀態(tài);在數(shù)據(jù)傳輸狀態(tài),主機(jī)向SD卡發(fā)送讀或者寫數(shù)據(jù)命令,在得到正確的命令響應(yīng)后,主機(jī) 從SD卡讀取數(shù)據(jù)或者向SD卡寫入數(shù)據(jù)。所述主機(jī)向SD卡寫命令的方法為,主機(jī)通過(guò)循環(huán)的方式將命令序列的數(shù)據(jù)寫到SD卡中, 每次循環(huán)主機(jī)寫一個(gè)命令字節(jié)的數(shù)據(jù)到SD卡中;1) 等待信號(hào)量,信號(hào)量空閑時(shí),置低55^5"信號(hào),選通SD卡控制電路;2) 設(shè)置已寫命令字節(jié)計(jì)數(shù)器i為0;3) 將命令序列的第i個(gè)字節(jié)寫到SD卡中;4) 如果命令序列的所有命令字節(jié)都已經(jīng)寫到SD卡中了,即為命令發(fā)送完畢,否則將已 寫命令字節(jié)計(jì)數(shù)器i的值加1,返回步驟3);命令發(fā)送完畢后,判斷是否得到SD卡正確的命 令回應(yīng);如果得到正確的回應(yīng),則執(zhí)行步驟5);如果沒(méi)有得到正確的回應(yīng),則一直等待正確 的命令回應(yīng),直到等待回應(yīng)超時(shí),執(zhí)行步驟5〉;5) 置高SD^T言號(hào),使SD卡控制電路處于非選通狀態(tài),釋放互斥信號(hào)量,退出。 所述步驟將命令序列的第i個(gè)字節(jié)寫到SD卡中的方^為,a、 設(shè)置計(jì)數(shù)器w的值為8;b、 判斷w的值如果計(jì)數(shù)器w小于0,則返回到步驟4)判斷是否所有命令字節(jié)都寫入 SD卡了;如果計(jì)數(shù)器w大于O,表示命令字節(jié)還沒(méi)有被寫到SD卡中,判斷命令字節(jié)的第w 位的值;如果第w位是0,則主機(jī)將數(shù)據(jù)0xEF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線DATA4相對(duì)應(yīng)的SD_CMD線將0寫到SD卡中;如果第w位是1,則主機(jī)將數(shù)據(jù)0xFF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線DATA4 相對(duì)應(yīng)的SD_CMD線將1寫到SD卡中;C、將計(jì)i器W的值減l,執(zhí)行步驟b;d、命令字節(jié)己經(jīng)被寫到SD卡中,返回。所述主機(jī)寫入數(shù)據(jù)時(shí),主機(jī)利用循環(huán)的方式將規(guī)定長(zhǎng)度的數(shù)據(jù)寫到SD卡中,每次循環(huán)主 機(jī)將一個(gè)字節(jié)的數(shù)據(jù)寫到SD卡中,將一個(gè)字節(jié)寫入SD卡的方法為首先,主機(jī)將數(shù)據(jù)字節(jié)data的高4位存放到變量tmpl中,將數(shù)據(jù)字節(jié)的低4位存放到 變量tmp2中;其次,主機(jī)將tmpl、 tmp2的值依次寫到flash數(shù)據(jù)總線的DATA0-3上,進(jìn)而通過(guò)相應(yīng)的 SD卡數(shù)據(jù)線SD_DATAO-3將數(shù)據(jù)寫到SD卡中;至此,單字節(jié)數(shù)據(jù)data的值就被寫到SD卡中 了。所述主機(jī)從SD卡讀數(shù)據(jù)時(shí),主機(jī)通過(guò)循環(huán)的方式從SD卡讀取規(guī)定長(zhǎng)度的數(shù)據(jù),每次循 環(huán)主機(jī)從SD卡讀取一個(gè)字節(jié)的數(shù)據(jù),主機(jī)從SD卡讀取一個(gè)字節(jié)數(shù)據(jù)的方法為 首先,主機(jī)從flash數(shù)據(jù)總線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmpl中; 其次,主機(jī)再?gòu)膄lash數(shù)據(jù)線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmp2中; 再次,將tmpl與OxOF相與,將得到的結(jié)果左移4位后賦給變量data,將tmp2與OxOF 相與,將得到的結(jié)果與data相加,再將相加得到的結(jié)果賦給data, data即主機(jī)從SD卡讀取 的一個(gè)字節(jié)的數(shù)據(jù)。本發(fā)明通過(guò)讀寫信號(hào)的邏輯配合及對(duì)FLASH總線的合理控制實(shí)現(xiàn)了對(duì)SD卡的SD讀寫模 式的模擬。同時(shí)利用FLASH總線高速度、易于程序控制的特點(diǎn)有效的提高了 SD卡的傳輸速度。 這種電路擁有極強(qiáng)的通用性,由于FLASH存儲(chǔ)器的種種優(yōu)勢(shì),使其已經(jīng)被絕大多數(shù)嵌入式的 處理器所支持。FLASH總線己經(jīng)成為了嵌入式處理器的標(biāo)準(zhǔn)配置,所以該基于FLASH總線的 SD卡讀寫控制電路可以在任何具有FLASH總線的方案中使用,而不必受限于主芯片是否集成 SD卡控制器,也不必增加相應(yīng)的SD卡控制芯片,僅僅通過(guò)一個(gè)單與門電路和一片74HC245 雙向總線驅(qū)動(dòng)器及少量的電阻電容,就可以實(shí)現(xiàn)高速的SD卡存取功能。本發(fā)明的有益效果是:通過(guò)軟硬件結(jié)合的方式實(shí)現(xiàn)了在低成本的情況下對(duì)SD卡讀寫控制 電路,并實(shí)現(xiàn)了對(duì)SD卡的高速讀寫控制。該電路具有很強(qiáng)的通用性和兼容性??梢赃m用于任 何使用NOR FLASH總線(以下簡(jiǎn)稱FLASH總線)的處理器,使其通過(guò)簡(jiǎn)單的修改便可以實(shí)現(xiàn)SD 卡的高速讀寫及控制。相對(duì)于傳統(tǒng)的SD卡設(shè)備的擴(kuò)展方式,其不僅具有成本低廉,通用性強(qiáng), 傳輸速度高等優(yōu)點(diǎn),而且具有可靠性高,易于程序?qū)崿F(xiàn)等優(yōu)點(diǎn)。


      圖l為本發(fā)明的結(jié)構(gòu)框圖圖2為SD卡讀寫控制電路圖;圖3為SD卡命令序列傳輸框圖;圖4為主機(jī)向SD卡寫單個(gè)字節(jié)的操作框圖;圖5為從SD卡讀取單個(gè)字節(jié)的操作框圖;圖6為向SD卡寫入單個(gè)字節(jié)的操作框圖。其中,1.存儲(chǔ)器,2.處理器,3. NOR FLASH電路,4. FLASH總線,5.SD卡讀寫控制電路。
      具體實(shí)施方式
      下面結(jié)合附圖與實(shí)施對(duì)本發(fā)明作進(jìn)一步說(shuō)明。圖1中,本發(fā)明包括處理器2,處理器2與存儲(chǔ)器1連接,同時(shí)處理器2通過(guò)FLASH總 線4與SD卡讀寫控制電路和NOR FLASH電路3連接,處理器2的CSO, §0§"分別為NOR FLASH 的片選信號(hào)端和SD卡讀寫控制電路5的片選信號(hào)端,并與之連接。圖2中,SD卡讀寫控制電路包括SD卡連接器CON2、八雙向總線收發(fā)器Ul和2輸入4與門電路U2,其中FLASH總線的DATA0-DATA4連接至Ul的A 口 , SD卡的SD總線,數(shù)據(jù) 線SD—DATAO-SD—DATA3、命令線SD—CMD連接至Ul的B 口; FLASH總線上的讀使能"^F信號(hào) (低^!有效)^接至Ul的方向選毛f腳DIR; SD卡電路使能信號(hào)?515連接至Ul的片選管腳"5T(低電平有效);寫使能信號(hào)Wi (低電平有效)、讀使能信號(hào)玩(低電平有效)經(jīng)過(guò)與門U2產(chǎn)生SD總線中的SD_CLK信號(hào),并與SD卡連接器C0N2的SCLK/CLK端連接。所述Ul電路在系統(tǒng)需要對(duì)SD卡進(jìn)行操作時(shí),SD卡片選信號(hào)^T"置低,使能U1;當(dāng)不操作SD卡時(shí),則SD卡的片選信號(hào)SD_CS置高,U1的A、 B 口處于高阻態(tài),不會(huì)對(duì)SD卡和FLASH總線造成影響— —如果是寫入操作則5T信號(hào)置高而^F信號(hào)置低,數(shù)據(jù)的傳輸方向由于Ul的DIR引腳置高的緣故被設(shè)定為A口一B口,即FLASH總線一SD總線,F(xiàn)LASH總線上的數(shù)據(jù)或命令可以被傳送到SD總線上;如果是讀取操作,則玩信號(hào)置低而M信號(hào)置高,U1的DIR引腳被置低,數(shù)據(jù)的傳輸 方向被設(shè)定為B 口一A 口,即SD總線一FLASH總線,SD總線上的數(shù)據(jù)或響應(yīng)則可以被傳送到 FLASH總線上。所述FLASH總線中的DATA0-3與SD總線中的SD一DATA0-3.分別對(duì)應(yīng),并將FLASH總線的 DATA4與SD總線中的SD_CMD線對(duì)應(yīng)?!猆2在,中起到產(chǎn)SSD總線的CLK信號(hào)作用。由于FLASH總線上對(duì)數(shù)據(jù)的讀、寫操作 ^F信號(hào)或"^"E信號(hào)都為上升沿?cái)?shù)據(jù)保持有效,而在SD總線上的數(shù)據(jù)(SD_DATA0-3)或命令 (SD一CMD)也是在CLK上升沿時(shí)保持?jǐn)?shù)據(jù)有效,因此,只需將"5f與W!信號(hào)相與,就可以 保證在數(shù)據(jù)的讀操作和寫操作時(shí)CLK完全兼容SD模式的CLK時(shí)序,始終保持上升沿?cái)?shù)據(jù)有效。當(dāng)SD卡控制電路處于選通狀態(tài)時(shí),如果進(jìn)行讀SD卡操j^(含讀取數(shù)據(jù)禾,取命令響應(yīng)), 則在讀取數(shù)據(jù)開始時(shí)處理器置低"5!信號(hào)(低有效),置高W"E信號(hào),由于玩信號(hào)為低,所 以Ul的方向?yàn)閺腂 口到A 口,即方向?yàn)閺腟D卡數(shù)據(jù)總線SD—DATA3-0 (或命令線CMD) 到flash數(shù)據(jù)總線DATA3-0 (或數(shù)據(jù)線DATA4), SD卡數(shù)據(jù)總線上^出的4位有效數(shù)據(jù)(或命 令線上的l位命令響應(yīng)),被Ul由SD總線傳送至FLASH總線,并被主處理器讀取,讀取結(jié) 束后玩從低跳變至高,至此^T信號(hào)經(jīng)過(guò)U2形成一個(gè)CLK波形(Wl始終為髙),SD準(zhǔn)備下 一個(gè)4位數(shù)據(jù)(或l位命令響應(yīng))的輸出。從而完成SD卡4位數(shù)據(jù)(或l位命令響應(yīng))的讀 操作J理,如果進(jìn)行寫SD卡操作(含寫入數(shù)據(jù)和寫入命令),則在寫入數(shù)據(jù)開始時(shí)處理器 置低We信號(hào)(低有效),置高^(guò)f信號(hào),由于^"信號(hào)為高,所以U1的方向?yàn)閺腁口到B口, 即方向?yàn)閺腇LASH數(shù)據(jù)總線DATA3-0 (或數(shù)據(jù)線DATA4)到SD卡數(shù)據(jù)總線SD一DATA3-0 (或 命令線CMD), FLASH總線上輸出的4位有效數(shù)據(jù)(或1位命令),被Ul由FLASH總線傳送 至SD總線,當(dāng)寫入數(shù)據(jù)時(shí),在數(shù)據(jù)保持有效的情況下,"W"E信號(hào)從低跳變至高,至此W"E信 號(hào)經(jīng)過(guò)U2形成一個(gè)CLK波形d始終為高),將4位數(shù)據(jù)(或l位命令)寫入SD卡,從而 完成SD卡4位數(shù)據(jù)(或l位命令)的寫操作。當(dāng)SD卡控制電路處于非選通狀態(tài)時(shí),數(shù)據(jù)總線DATA3-0和SD卡總線SD_DATA3-0處于非 連通狀態(tài),對(duì)于SD卡,SD總線由于上拉電阻的緣故處于高電平,在^^SD卡所在地址的內(nèi)容 時(shí),處理器的冗信號(hào)在讀取開始和讀,束時(shí)分別被置低和置髙,"5I信號(hào)經(jīng)過(guò)與門U2能 夠產(chǎn)生SD總線上的一個(gè)SD_CLK信號(hào)(Wl始終為高),該CLK信號(hào)可以作為SD卡讀寫的延 時(shí)時(shí)鐘,從而完成某些必要的時(shí)鐘延時(shí)操作?;趫Dl、圖2所示的硬件連接方式,本發(fā)明的軟件控制方法為 _a) 處理器等待表示flash總線空閑的互斥信號(hào)量,信號(hào)量空閑時(shí),置低i5I5信號(hào),使 SD卡控制電路處于選通狀態(tài),表示SD卡控制電路占用flash總線,處理器和SD卡控制電路之間可以進(jìn)行數(shù)據(jù)交換;__b) SD卡通過(guò)數(shù)據(jù)線SD—DATA0-SD_DATA3、命令線SD_OVID和主機(jī)交換數(shù)據(jù);c) SD卡和主機(jī)數(shù)據(jù)交S結(jié)束后,i高"^T信號(hào),isD卡控制電路處于非選通狀態(tài),釋放互斥信號(hào)量,讓出flash總線,供其他設(shè)備使用。說(shuō)明1.步驟b)中所述的SD卡和主機(jī)交換數(shù)據(jù)包括主機(jī)向SD卡寫命令和SD卡向主 機(jī)回應(yīng)命令響應(yīng)以及主機(jī)向SD卡寫數(shù)據(jù)和主機(jī)從SD卡讀取數(shù)據(jù);SD卡上電后,處于卡識(shí)別狀態(tài),等待74個(gè)以上的時(shí)鐘周期,然后主機(jī)向SD卡發(fā)送一系 列命令,SD卡在正確響應(yīng)這些命令后進(jìn)入數(shù)據(jù)傳輸狀態(tài);在數(shù)據(jù)傳輸狀態(tài),主機(jī)向SD卡發(fā)送讀或者寫數(shù)據(jù)命令,在得到正確的命令響應(yīng)后,主機(jī) 從SD卡讀取或者向SD卡寫入數(shù)據(jù)。說(shuō)明2.根據(jù)說(shuō)明1所述的主機(jī)向SD卡寫命令,其方法為主機(jī)通過(guò)循環(huán)的方式將命令 序列數(shù)據(jù)寫到SD卡中,如圖3所示1) 、等待信號(hào)量,信號(hào)量空閑時(shí),置低^51i號(hào),選通SD卡控制電路;2) 、設(shè)置己寫命令字節(jié)計(jì)數(shù)器i為O;3) 、將命令序列的第i個(gè)字節(jié)寫到SD卡中;4) 、如果命令序列的所有命令字節(jié)都已經(jīng)寫到SD卡中了,即為命令發(fā)送完畢,否則將己 寫命令字節(jié)計(jì)數(shù)器i的值加1,返回步驟3)。命令發(fā)送完畢后,判斷是否得到SD卡正確的命 令回應(yīng);如果得到正確的回應(yīng),則執(zhí)行步驟5);如果沒(méi)有得到正確的回應(yīng),則一直等待正確 的命令回應(yīng),直到等待回應(yīng)超時(shí),執(zhí)行步驟5);5) 、置高^(guò)5^信號(hào),使SD卡控制電路處于非選通狀態(tài),'釋放互斥信號(hào)量,退出。 說(shuō)明3.根據(jù)說(shuō)明2所述的主機(jī)通過(guò)循環(huán)的方式將命令序列數(shù)據(jù)寫到SD卡中,其方法為每次循環(huán)主機(jī)寫一個(gè)命令字節(jié)數(shù)據(jù)到SD卡中,如圖4所示1) 、設(shè)置計(jì)數(shù)器w的值為8;2) 、判斷W的值如果計(jì)數(shù)器w等于0,執(zhí)行步驟4);如果計(jì)數(shù)器W大于O,表示命令 字節(jié)還沒(méi)有被完全寫到SD卡中,判斷命令字節(jié)的第W位的值。如果第W位是O,則主機(jī)將 數(shù)據(jù)0xEF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線DATA4相對(duì)應(yīng)的SD_CMD線將0寫到 SD卡中;如果第w位是l,則主機(jī)將數(shù)據(jù)0xFF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線 DATA4相對(duì)應(yīng)的SD_CMD線將1寫到SD卡中;3) 、將計(jì)數(shù)器W的值減l,執(zhí)行步驟2);4) 、命令字節(jié)已經(jīng)被完全寫到SD卡中,返回。說(shuō)明4.根據(jù)說(shuō)明1所述的主機(jī)從SD卡讀數(shù)據(jù),其方法為主機(jī)通過(guò)循環(huán)的方式從SD 卡讀取規(guī)定長(zhǎng)度的數(shù)據(jù),每次循環(huán)主機(jī)從SD卡讀取一個(gè)字節(jié)的數(shù)據(jù),主機(jī)從SD卡讀取一個(gè) 字節(jié)數(shù)據(jù)的方法,如圖5所示1) 、主機(jī)從flash數(shù)據(jù)總線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmpl中;2) 、主機(jī)再?gòu)膄lash數(shù)據(jù)總線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmp2中3) 、將tmpl與0x0F相與,將得到的結(jié)果左移4位后賦給變量data,將tmp2與OxOF相 與,將得到的結(jié)果與data相加,再將相加得到的結(jié)果賦給data, data即主機(jī)從SD卡讀取的 一個(gè)字節(jié)的數(shù)據(jù)。說(shuō)明5.根據(jù)說(shuō)明1所述的主機(jī)將數(shù)據(jù)寫入到SD卡,其方法為主機(jī)利用循環(huán)的方式將 規(guī)定長(zhǎng)度的數(shù)據(jù)寫到SD卡中,每次循環(huán)主機(jī)將一個(gè)字節(jié)的數(shù)據(jù)寫到SD卡中,將一個(gè)字節(jié)寫 入SD卡的方法,如圖6所示1) 、主機(jī)將數(shù)據(jù)字節(jié)data的高4位存放到變量tmpl中,將數(shù)據(jù)字節(jié)的低4位存放到變 量tmp2中;2) 、主機(jī)將tmpl、 tmp2的值依次寫到flash數(shù)據(jù)總線的DATA0-3上,進(jìn)而通過(guò)相應(yīng)的SD 卡數(shù)據(jù)線SD—DATA0-3將數(shù)據(jù)寫到SD卡中;至此,單字節(jié)數(shù)據(jù)data的值就被寫到SD卡中了 。
      權(quán)利要求
      1、一種基于FLASH總線的高效率低成本SD卡控制電路,其特征是它包括處理器,處理器與存儲(chǔ)器連接,同時(shí)處理器通過(guò)FLASH總線與SD卡讀寫控制電路和NOR FLASH電路連接,處理器的CSO、端分別為NOR FLASH的片選信號(hào)端和SD卡讀寫控制電路的片選信號(hào)端,并與之連接。
      2、 根據(jù)權(quán)利要求l所述的基于FLASH總線的高效率低成本SD卡控制電路,其特征是 所述SD卡讀寫控制電路包括SD卡連接器COM2、八雙向總線收發(fā)器Ul和2輸入4與門電路 U2;其中FLASH總線的DATA0-DATA4端連接至Ul的A 口, SD卡的SD總線中的數(shù)據(jù)線 SD_DATA0-SD_DATA3、命令線SD_CMD連接至Ul的B 口; FLASH總線上的讀使能SF信號(hào)端 連接至Uy^l方向選擇管腳DIR; SD卡電路使能信號(hào)IO^端連接至Ul的片選管腳"5F;寫 使能信號(hào)WE、讀使能信號(hào)3T經(jīng)過(guò)與門U2產(chǎn)生SD總i中的SD_CLK信號(hào),U2的SD_CLK信 號(hào)端接SD卡連接器CON2的SCLK/CLK端。
      3、 根據(jù)權(quán)利要求2所述的基于FLASH總線的高效率低成本SD卡控制電路,其特征是 所述FLASH總線的DATA 0-3與SD總線中的SD—DATA 0-3分別對(duì)應(yīng),并將FLASH總線的DATA4 與SD總線中的SD_CMD線對(duì)應(yīng)。
      4、 一種權(quán)利i求1所述基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法,其 特征是它的方法為,1) 處理器等待表示flash總線空閑的互斥信號(hào)量,信號(hào)量空閑時(shí),置低SD一CS信號(hào),使 SD卡控制電路處于選通狀態(tài),表示SD卡控制電路占用flash總線,處理器和SD卡控制電路 之間可以進(jìn)行數(shù)據(jù)交換;2) SD卡通過(guò)數(shù)據(jù)線SD—DATAO-SD—DATA3、命令線SD_CMD和主機(jī)交換數(shù)據(jù);3) SD卡和主機(jī)數(shù)據(jù)交^結(jié)束后,— 置高SDj:S信號(hào),岳SD卡控制電路處于非選通狀態(tài), 釋放互斥信號(hào)量,讓出ftash總線,供其他設(shè)備使用。
      5、 根據(jù)權(quán)利要求4所述的基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法, 其特征是所述步驟2)中,SD卡和主機(jī)交換數(shù)據(jù)包括主機(jī)向SD卡寫命令和SD卡向主機(jī)回應(yīng)命令響應(yīng)以及主機(jī)向SD卡寫數(shù)據(jù)和主機(jī)從SD卡 讀取數(shù)據(jù);SD卡上電后,處于卡識(shí)別狀態(tài),等待74個(gè)以上的時(shí)鐘周期,然后主機(jī)向SD卡發(fā)送一系 列命令,SD卡在正確響應(yīng)這些命令后進(jìn)入數(shù)據(jù)傳輸狀態(tài);在數(shù)據(jù)傳輸狀態(tài),主機(jī)向SD卡發(fā)送讀或者寫數(shù)據(jù)命令,在得到正確的命令響應(yīng)后,主機(jī) 從SD卡讀取數(shù)據(jù)或者向SD卡寫入數(shù)據(jù)。
      6、 根據(jù)權(quán)利要求5所述的基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法, 其特征是所述主機(jī)向SD卡寫命令的方法為,主機(jī)通過(guò)循環(huán)的方式將命令序列的數(shù)據(jù)寫到 SD卡中,每次循環(huán)主機(jī)寫一個(gè)命令字節(jié)的數(shù)據(jù)到SD卡中;.1) 、等待信號(hào)量,信號(hào)量空閑時(shí),置低SD一CS信號(hào),選通SD卡控制電路;2) 、設(shè)置已寫命令字節(jié)計(jì)數(shù)器i為O;3) 、將命令序列的第i個(gè)字節(jié)寫到SD卡中;4) 、如果命令序列的所有命令字節(jié)都已經(jīng)寫到SD卡中了,即為命令發(fā)送完畢,否則將已 寫命令字節(jié)計(jì)數(shù)器i的值加l,返回步驟3)。命令發(fā)送完畢后,判斷是否得到SD卡正確的命 令回應(yīng);如果得到正確的回應(yīng),則執(zhí)行步驟5);如果沒(méi)有得到正確的回應(yīng),則一直等待正確 的命令回應(yīng),直到等待回應(yīng)超時(shí),執(zhí)行步驟5);5) 、置高sdj:s信號(hào),使sd卡控制電路處于非選通狀態(tài),釋放互斥信號(hào)量,退出。
      7、 根據(jù)權(quán)利"i求6所述的基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法, 其特征是所述步驟3)將命令序列的第i個(gè)字節(jié)寫到SD卡中的方法為,a、設(shè)置計(jì)數(shù)器w的值為8;b、 判斷W的值如果計(jì)數(shù)器W小于O,則返回到步驟4)判斷是否所有命令字節(jié)都寫入 SD卡了;如果計(jì)數(shù)器W大于O,表示命令字節(jié)還沒(méi)有被寫到SD卡中,判斷命令字節(jié)的第W 位的值;如果第w位是0,則主機(jī)將數(shù)據(jù)OxEF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線DATA4 相對(duì)應(yīng)的SD_CMD線將0寫到SD卡中;如果第w位是1,則主機(jī)將數(shù)據(jù)0xFF寫到flash數(shù)據(jù)總線上,進(jìn)而通過(guò)與flash總線DATA4 相對(duì)應(yīng)的SD_CMD線將1寫到SD卡中;c、 將計(jì)i器w的值減l,執(zhí)行步驟2);d、 命令字節(jié)已經(jīng)被寫到SD卡中,返回。
      8、 根據(jù)權(quán)利要求4所述的基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法, 其特征是所述主機(jī)寫入數(shù)據(jù)時(shí),主機(jī)利用循環(huán)的方式將規(guī)定長(zhǎng)度的數(shù)據(jù)寫到SD卡中,每次 循環(huán)主機(jī)將一個(gè)字節(jié)的數(shù)據(jù)寫到SD卡中,將一個(gè)字節(jié)寫入SD卡的方法為-首先,主機(jī)將數(shù)據(jù)字節(jié)data的高4位存放到變量tmpl中,將數(shù)據(jù)字節(jié)的低4位存放到 變量tmp2中;其次,主機(jī)將tmpl、 tmp2的值依次寫到flash數(shù)據(jù)總線的DATA0-3上,進(jìn)而通過(guò)相應(yīng)的 SD卡數(shù)據(jù)線SD-DATA0-3將數(shù)據(jù)寫到SD卡中;至此,單字節(jié)數(shù)據(jù)data的值就被寫到SD卡中 了。
      9、 根據(jù)權(quán)利要求4所述的基于FLASH總線的高效率低成本SD卡控制電路的讀寫方法, 其特征是所述主機(jī)從SD卡讀數(shù)據(jù)時(shí),主機(jī)通過(guò)循環(huán)的方式從SD卡讀取規(guī)定長(zhǎng)度的數(shù)據(jù), 每次循環(huán)主機(jī)從SD卡讀取一個(gè)字節(jié)的數(shù)據(jù),主機(jī)從SD卡讀取一個(gè)字節(jié)數(shù)據(jù)的方法為首先,主機(jī)從flash數(shù)據(jù)總線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmpl中; 其次,主機(jī)再?gòu)膄lash數(shù)據(jù)線讀取一個(gè)字節(jié)的數(shù)據(jù)存放到變量tmp2中; 再次,將tmpl與OxOF相與,將得到的結(jié)果左移4位后賦給變量data,將tmp2與OxOF相與,將得到的結(jié)果與data相加,再將相加得到的結(jié)果賦給data, data即主機(jī)從SD卡讀取的一個(gè)字節(jié)的數(shù)據(jù)。
      全文摘要
      本發(fā)明公開了一種基于FLASH總線的高效率低成本SD卡控制電路及其讀寫方法。它解決了目前SD卡控制電路成本較高,兼容性差等問(wèn)題,具有結(jié)構(gòu)簡(jiǎn)單,成本較低,兼容性好等優(yōu)點(diǎn)。其結(jié)構(gòu)為它包括處理器,處理器與存儲(chǔ)器連接,同時(shí)處理器通過(guò)FLASH總線與SD卡讀寫控制電路和NOR FLASH電路連接,處理器的CS0、SD_CS端分別為NOR FLASH的片選信號(hào)端和SD卡讀寫控制電路的片選信號(hào)端,并與之連接。
      文檔編號(hào)G06K19/07GK101216898SQ20081001370
      公開日2008年7月9日 申請(qǐng)日期2008年1月3日 優(yōu)先權(quán)日2008年1月3日
      發(fā)明者陶圣華 申請(qǐng)人:濟(jì)南市泰信電子有限責(zé)任公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1