亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

與SD卡主機控制器信息交互的方法、裝置及SD卡模型與流程

文檔序號:12733546閱讀:257來源:國知局
與SD卡主機控制器信息交互的方法、裝置及SD卡模型與流程

本發(fā)明實施例涉及片上系統(tǒng)(英文:System on a chip,簡稱:SOC)技術(shù)領(lǐng)域,尤其涉及一種與安全數(shù)碼(英文:Secure Digital,簡稱:SD)卡主機控制器信息交互的方法、裝置及SD卡模型。



背景技術(shù):

SOC芯片往往會集成很多外部設(shè)備控制器,這些外部設(shè)備控制器用于對與其對應(yīng)的外部設(shè)備進行控制,若要實現(xiàn)外部設(shè)備控制器對外部設(shè)備進行有效控制,則需要對外部設(shè)備控制器對外部設(shè)備的控制進行驗證。目前SOC芯片中集成有SD卡主機控制器,而且該SD卡主機控制器兼具有SD卡的存儲(英文:memory)和輸入輸出(英文:Input/Output,簡稱:IO)的控制功能,但是目前還沒有用于校驗該SD卡主機控制器對應(yīng)的SD卡模型存在。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種與SD卡主機控制器信息交互的方法、裝置及SD卡模型,用于實現(xiàn)了具有存儲功能與IO功能的SD卡模型與SD卡主機控制器之間的信息交互。

第一方面,本發(fā)明實施例提供一種與SD卡主機控制器信息交互的方法,應(yīng)用于SD卡模型,所述SD卡模型具有存儲功能和IO功能,所述方法包括:

接收所述SD卡主機控制器發(fā)送的控制命令,所述控制命令包括存儲控制命令或IO控制命令;

根據(jù)所述控制命令生成與所述控制命令對應(yīng)的消息包;

將所述消息包發(fā)送給所述SD卡主機控制器。

第二方面,本發(fā)明實施例提供一種與SD卡主機控制器信息交互的裝置,應(yīng)用于SD卡模型,所述SD卡模型具有存儲功能和IO功能,所述裝置包括:

接收模塊,用于接收所述SD卡主機控制器發(fā)送的控制命令,所述控制命令包括存儲控制命令或IO控制命令;

處理模塊,用于根據(jù)所述控制命令生成與所述控制命令對應(yīng)的消息包;

發(fā)送模塊,用于將所述消息包發(fā)送給所述SD卡主機控制器。

第三方面,本發(fā)明實施例提供一種SD卡模型,包括:第二方面本發(fā)明實施例提供的與SD卡主機控制器信息交互的裝置。

本發(fā)明實施例提供的與SD卡主機控制器信息交互的方法、裝置及SD卡模型,通過接收SD卡主機控制器發(fā)送的控制命令,所述控制命令包括存儲控制命令或IO控制命令;然后根據(jù)所述控制命令生成與所述控制命令對應(yīng)的消息包;并將所述消息包發(fā)送給所述SD卡主機控制器;從而可以實現(xiàn)具有存儲功能與IO功能的SD卡模型與SD卡主機控制器之間的信息交互,并且還可以實現(xiàn)與各種SD卡主機控制器進行信息交互,加速了SOC開發(fā)進度。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明與SD卡主機控制器信息交互的方法實施例一的流程圖;

圖2為本發(fā)明與SD卡主機控制器信息交互的方法實施例二的流程圖;

圖3為本發(fā)明與SD卡主機控制器信息交互的方法實施例三的流程圖;

圖4為本發(fā)明與SD卡主機控制器信息交互的方法實施例四的流程圖;

圖5為本發(fā)明與SD卡主機控制器信息交互的方法實施例五的流程圖;

圖6為本發(fā)明與SD卡主機控制器信息交互的裝置實施例一的結(jié)構(gòu)示意圖;

圖7為本發(fā)明與SD卡主機控制器信息交互的裝置實施例二的結(jié)構(gòu)示意圖;

圖8為本發(fā)明SD卡模型實施例的結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

圖1為本發(fā)明與SD卡主機控制器信息交互的方法實施例一的流程圖,本實施例的方法應(yīng)用于SD卡模型中,該SD卡模型具有存儲(memory)功能和IO功能,如圖1所示,本實施例的方法可以包括:

S101、接收SD卡主機控制器發(fā)送的控制命令,所述控制命令包括存儲控制命令或IO控制命令。

S102、根據(jù)所述控制命令生成與所述控制命令對應(yīng)的消息包。

S103、將所述消息包發(fā)送給所述SD卡主機控制器。

在一種可選的實現(xiàn)方式中,在執(zhí)行S101之前,還可以確定該SD卡模型與該SD卡主機控制器之間的控制命令線處于工作狀態(tài),以及確定控制命令使能信號當前指示該SD卡模型為輸入狀態(tài)。本實施例中,該SD卡模型與該SD卡主機控制器之間存在時鐘sdclk、控制命令線、控制命令使能信號、數(shù)據(jù)線、數(shù)據(jù)使能信號;例如:控制命令使能信號為0時表示SD卡模型為輸出狀態(tài),控制命令使能信號為1時表示SD卡模型為輸入狀態(tài);數(shù)據(jù)使能信號為0時表示SD卡模型為輸出狀態(tài),數(shù)據(jù)使能信號為1時表示SD卡模型為輸出狀態(tài)。本實施例的SD卡模型上電后等待SD卡主機控制器發(fā)送的控制命令,在此期間不斷地監(jiān)視SD卡模型與SD卡主機控制器之間的控制命令線的狀態(tài),當確定該控制命令線處于工作狀態(tài)(例如:該控制命令線的電平為0)且確定控制命令使能信號當前指示SD卡模型為輸入狀態(tài)(例如:控制命令使能信號為1),該SD卡模型開始接收上述的控制命令。

本實施例中,通過接收SD卡主機控制器發(fā)送的控制命令,該控制命令可以是存儲控制命令也可以是IO控制命令,然后根據(jù)接收的控制命令生成與該控制命令對應(yīng)的消息包,再將生成的消息包發(fā)送給SD卡主機控制器,從而實現(xiàn)了具有存儲功能與IO功能的SD卡模型與SD卡主機控制器之間的信息交互。

圖2為本發(fā)明與SD卡主機控制器信息交互的方法實施例二的流程圖,本實施例的方法應(yīng)用于SD卡模型中,該SD卡模型具有存儲(memory)功能和IO功能,如圖2所示,本實施例的方法可以包括:

S201、接收SD卡主機控制器發(fā)送的控制命令的第一位時開始計數(shù)并計數(shù)為0,并將所述控制命令的第一位存儲至N位寄存器的第N-1位,直至計數(shù)為N-1時,確定所述控制命令接收完成,并將計數(shù)清零。

本實施例中,SD卡主機控制器發(fā)送的控制命令為N位的命令,本實施例將接收SD卡主機控制器發(fā)送的控制命令存儲到一個N位寄存器中,先接收到的存放到這個N位寄存器的高位,具體地,接收到控制命令的第一位時開始計數(shù)并計數(shù)為0(例如通過加法計數(shù)器進行計數(shù),此時該加法計數(shù)器的計數(shù)為0),并將該第一位存儲到N位寄存器的第N-1位,然后接收到控制命令的第二位時計數(shù)為1,并將第二位存儲到N位寄存器的第N-2位,以此類推,當接收到控制命令的第N位時計數(shù)為N-1,并將第N位存儲到N位寄存器的第0位。當計數(shù)為N-1時表示該控制命令接收完成,然后將計數(shù)清零。

S202、根據(jù)所述控制命令中的數(shù)據(jù)信息計算出與所述數(shù)據(jù)信息對應(yīng)的循環(huán)冗余校驗碼(英文:Cyclic Redundancy Check,簡稱:CRC)。

本實施例中,可以根據(jù)該控制命令的N位中的預(yù)設(shè)位計算出與該預(yù)設(shè)位對應(yīng)的CRC。以N為48為例進行說明,本實施例可以計算用于存儲該48位控制命令的48位寄存器中第47位至第40位(共八位)的CRC。

S203、根據(jù)檢測計算得到的CRC與所述控制命令攜帶的CRC是否相同以及檢測所述控制命令的結(jié)束位的值,生成所述控制命令的校驗結(jié)果。

本實施例中的控制命令攜帶有CRC,在通過S202計算得到CRC后,檢測計算得到的CRC與控制命令中攜帶的CRC是否相同,以及檢測該控制命令的結(jié)束位的值,該控制命令的結(jié)束位是存儲控制命令的N位存儲器中的第0位,然后生成該控制命令的校驗結(jié)果,檢驗結(jié)果包括:計算得到的CRC與控制命令中攜帶的CRC相同且控制命令的結(jié)束位的值為1;或者,計算得到的CRC與控制命令中攜帶的CRC相同且控制命令的結(jié)束位的值不為1;計算得到的CRC與控制命令中攜帶的CRC不相同且控制命令的結(jié)束位的值為1;或者,計算得到的CRC與控制命令中攜帶的CRC不相同且控制命令的結(jié)束位的值不為1。

以N為48為例進行說明,控制命令攜帶的CRC可以是存儲控制命令的48位存儲器中的第七位至第一位(共七位)。

S204、將與所述控制命令對應(yīng)的消息包發(fā)送給所述SD卡主機控制器,所述消息包攜帶有所述校驗結(jié)果。

本實施例中,在獲得控制命令的校驗結(jié)果之后,將與該控制命令對應(yīng)的攜帶有該校驗結(jié)果的消息包發(fā)送給SD卡主機控制器。

可選地,S203的一種可選的實現(xiàn)方式為:根據(jù)檢測計算得到的CRC與所述控制命令攜帶的CRC是否相同以及檢測所述控制命令的結(jié)束位的值,生成回復(fù)命令信息,所述回復(fù)命令信息包括表示回復(fù)命令長度的長度值和與所述校驗結(jié)果對應(yīng)的回復(fù)命令的內(nèi)容值。相應(yīng)地,S204的一種可選的實現(xiàn)方式為:循環(huán)所述回復(fù)命令長度的長度值個時鐘周期,將所述內(nèi)容值驅(qū)動到所述與所述SD卡主機控制器之間的命令線上,以使所述SD卡主機控制器獲取所述命令線上的內(nèi)容值。

其中,回復(fù)命令的內(nèi)容值用于指示該SD卡主機控制器發(fā)送的控制命令的校驗結(jié)果?;貜?fù)命令長度的長度值(response_s)可以是0、48、136;回復(fù)命令的內(nèi)容值(response_cmd)的第135和134的值始終是0,當回復(fù)命令長度的長度值為48時,回復(fù)命令的內(nèi)容值的第88位始終為是1,當回復(fù)命令長度的長度值為136時,回復(fù)命令的內(nèi)容值的第0位始終為1。

在生成上述的回復(fù)命令信息后,根據(jù)該回復(fù)命令信息循環(huán)回復(fù)命令長度的長度值(例如48或136)個時鐘周期,并將該回復(fù)命令的內(nèi)容值驅(qū)動到該SD卡模型與SD卡主機控制器之間的命令線上,同時還可以將SD卡模型與SD卡主機控制器之間的控制命令使能信號置為指示該SD卡模型為輸出狀態(tài)(例如當控制命令使能信號置為0),這樣SD卡主機控制器可以在該SD卡模型輸出狀態(tài)下獲取該命令線上的回復(fù)命令的內(nèi)容值,進而獲得該控制命令的校驗結(jié)果。

可選地,在所述控制命令為存儲停止命令,例如CMD12時,所述回復(fù)命令信息還包括存儲停止指示(sd_auto_stop),所述存儲停止指示用于指示停止發(fā)送與所述存儲功能相關(guān)的數(shù)據(jù)。在所述控制命令為IO停止命令,例如CMD 52abort時,所述回復(fù)命令信息還包括IO停止指示(IO_auto_stop),所述IO停止指示用于指示停止發(fā)送與所述IO功能相關(guān)的數(shù)據(jù)??蛇x地,該回復(fù)命令信息的形式為深度為1的mailbox。該回復(fù)命令信息的具體形式可以如下所示:

logic[135:0] response_cmd;

logic[7:0] response_s;

logic sd_auto_stop;

logic io_auto_stop;

圖3為本發(fā)明與SD卡主機控制器信息交互的方法實施例三的流程圖,本實施例的方法應(yīng)用于SD卡模型中,該SD卡模型具有存儲(memory)功能和IO功能,如圖3所示,本實施例的方法在本發(fā)明上述各實施例的基礎(chǔ)上,在接收SD卡主機控制器發(fā)送的控制命令之后,本實施例的方法還可以包括:

S301、根據(jù)所述控制命令,生成數(shù)據(jù)控制信息;所述控制命令為存儲控制命令時,所述數(shù)據(jù)控制信息為存儲控制數(shù)據(jù);所述控制命令為IO控制命令時,所述數(shù)據(jù)控制信息為IO控制數(shù)據(jù)。

S302、根據(jù)所述數(shù)據(jù)控制信息接收所述數(shù)據(jù)控制信息對應(yīng)所述SD卡主機控制器發(fā)送的數(shù)據(jù),或者,向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)。

通過本實施例,可以實現(xiàn)SD卡模型與SD卡主機控制器之間的數(shù)據(jù)交互。

圖4為本發(fā)明與SD卡主機控制器信息交互的方法實施例四的流程圖,本實施例的方法應(yīng)用于SD卡模型中,該SD卡模型具有存儲(memory)功能和IO功能,如圖4所示,本實施例的方法在圖3所示實施例的基礎(chǔ)上,當所述數(shù)據(jù)控制信息為所述SD卡主機控制器發(fā)送的數(shù)據(jù)的控制信息時,上述的S302可以包括:

S401、根據(jù)所述數(shù)據(jù)控制信息將所述SD卡模型的狀態(tài)置為正在接收數(shù)據(jù)的狀態(tài)。

S402、監(jiān)視與所述SD卡主機控制器之間的第0位數(shù)據(jù)線的電平和所述第0位數(shù)據(jù)線的數(shù)據(jù)使能信號,當確定所述第0位數(shù)據(jù)線的電平為0且所述數(shù)據(jù)使能信號指示所述SD卡模型為輸入狀態(tài)時,開始接收所述SD卡主機控制器發(fā)送的數(shù)據(jù)。

S403、在第一預(yù)設(shè)周期后開始接收所述數(shù)據(jù)的CRC,并根據(jù)所述數(shù)據(jù)計算所述數(shù)據(jù)的CRC。

S404、在第二預(yù)設(shè)周期后將接收的CRC與計算獲得的CRC進行比較,根據(jù)所述比較結(jié)果,確定向所述SD卡主機控制器發(fā)送的回復(fù)CRC狀態(tài)的值。

S405、在第三預(yù)設(shè)周期后開始向所述SD卡主機控制器發(fā)送所述回復(fù)CRC狀態(tài)的值;在第四預(yù)設(shè)周期后將所述第0位數(shù)據(jù)線的電平置為0;在第五預(yù)設(shè)周期后將所述第0位數(shù)據(jù)線的電平置為1。

S406、在第六預(yù)設(shè)周期后監(jiān)視所述第0位數(shù)據(jù)線的電平和所述第0位數(shù)據(jù)線的數(shù)據(jù)使能信號。

本實施例中,根據(jù)數(shù)據(jù)控制信息將SD卡模型的狀態(tài)置為正在接收數(shù)據(jù)的狀態(tài),例如可以將SD卡模型的狀態(tài)值置為6,此時SD卡模型處于數(shù)據(jù)空閑(IDLE)狀態(tài),并且監(jiān)視該SD卡模型與SD卡主機控制器之間的第0位數(shù)據(jù)線的電平和該第0位數(shù)據(jù)線的數(shù)據(jù)使能信號;如果第0位數(shù)據(jù)線的電平為0且該數(shù)據(jù)使能信號指示SD卡模型處于輸入狀態(tài)(例如:該數(shù)據(jù)使能信號為1)時,該SD卡模型進入接收數(shù)據(jù)(RX_DATA)狀態(tài),即開始接收該SD卡主機控制器發(fā)送的數(shù)據(jù),然后在第一預(yù)設(shè)周期后從數(shù)據(jù)接收狀態(tài)進入CRC接收(RX_CRC)狀態(tài),即在第一預(yù)設(shè)周期后開始接收該數(shù)據(jù)的CRC。需要說明的是,若該數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單線模式傳輸,則該第一預(yù)設(shè)周期為8*單位數(shù)據(jù)塊長度的長度值個時間周期;若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為四線模式傳輸,則該第一預(yù)設(shè)周期為2*單位數(shù)據(jù)塊長度的長度值個時間周期。本實施例還可以根據(jù)接收到的數(shù)據(jù)計算該數(shù)據(jù)的CRC,并在開始接收該數(shù)據(jù)的CRC的第二預(yù)設(shè)周期(例如16個周期)后進入接收結(jié)束(RX_END)狀態(tài),并且將接收的CRC與計算獲得的CRC進行比較,根據(jù)該比較結(jié)果確定向SD卡主機控制器發(fā)送的回復(fù)CRC狀態(tài)的值;本實施例從接收結(jié)束狀態(tài)無條件跳到接收等待(RX_WAIT)狀態(tài),并在第三預(yù)設(shè)周期(例如2個周期)后無條件進入回復(fù)CRC(CRC_RESP)狀態(tài),即開始向SD卡主機控制器發(fā)送該回復(fù)CRC狀態(tài)的值,在第四預(yù)設(shè)周期(例如5個周期)后進入編程(PRG)狀態(tài),即將第0位數(shù)據(jù)線的電平置為0(將電平拉低),然后在第五預(yù)設(shè)周期后將該0位數(shù)據(jù)線的電平置為1(將電平拉高),然后在第六預(yù)設(shè)周期后進入數(shù)據(jù)空閑狀態(tài),即繼續(xù)監(jiān)視第0位數(shù)據(jù)線的電平和該第0位數(shù)據(jù)線的數(shù)據(jù)使能信號。需要說明的是,若所述數(shù)據(jù)控制信息用于指示所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單塊數(shù)據(jù),本實施例還在第六預(yù)設(shè)周期后監(jiān)視第0位數(shù)據(jù)線的電平和該第0位數(shù)據(jù)線的數(shù)據(jù)使能信號之前,將SD卡模型的狀態(tài)置為發(fā)送和接收數(shù)據(jù)狀態(tài),例如將所述SD卡模型的狀態(tài)值置為4。

綜上所述,通過本實施例的方案可以實現(xiàn)接收SD卡主機控制器發(fā)送的數(shù)據(jù)。

圖5為本發(fā)明與SD卡主機控制器信息交互的方法實施例五的流程圖,本實施例的方法應(yīng)用于SD卡模型中,該SD卡模型具有存儲(memory)功能和IO功能,如圖5所示,本實施例的方法在圖3所示實施例的基礎(chǔ)上,當所述數(shù)據(jù)控制信息為所述SD卡模型發(fā)送的數(shù)據(jù)的控制信息時,上述的S302可以包括:

S501、檢測所述SD卡模型的狀態(tài),并根據(jù)所述數(shù)據(jù)控制信息將所述SD卡模型的狀態(tài)置為正在發(fā)送數(shù)據(jù)的狀態(tài)。

S502、在第七預(yù)設(shè)周期后開始向所述SD卡主機控制器發(fā)送數(shù)據(jù)。

S503、在第八預(yù)設(shè)周期后向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)的CRC。

S504、在第九預(yù)設(shè)周期后檢測所述SD卡模型的狀態(tài)。

本實施例中,根據(jù)數(shù)據(jù)控制信息將SD卡模型的狀態(tài)置為正在發(fā)送數(shù)據(jù)狀態(tài),例如將SD卡模型的狀態(tài)值置為5,此時SD卡模型處于數(shù)據(jù)空閑(IDLE)狀態(tài),并且檢測該SD卡模型的狀態(tài)值;當檢測到SD卡模型的狀態(tài)值為5時進入發(fā)送等待(TX_WAIT)狀態(tài),然后在若干預(yù)設(shè)周期后進入發(fā)送包頭(TX_HEAT)狀態(tài),發(fā)送包頭狀態(tài)的下一周期進入發(fā)送數(shù)據(jù)(TX_DATA)狀態(tài),即在檢測到SD卡模型的狀態(tài)值為5的第七預(yù)設(shè)周期后開始向SD卡主機控制器發(fā)送數(shù)據(jù)。然后在第八預(yù)設(shè)周期后由發(fā)送數(shù)據(jù)狀態(tài)進入發(fā)送CRC(TX_CRC)狀態(tài),即開始向SD卡主機控制器發(fā)送該數(shù)據(jù)CRC,若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單線模式傳輸,則所述第八預(yù)設(shè)周期為8*單位數(shù)據(jù)塊長度的長度值個時間周期;若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為四線模式傳輸,則所述第八預(yù)設(shè)周期為2*單位數(shù)據(jù)塊長度的長度值個時間周期。然后在第九預(yù)設(shè)周期后進入發(fā)送結(jié)束(TX_END)狀態(tài),然后進入數(shù)據(jù)空閑狀態(tài),即繼續(xù)檢測該SD卡模型的狀態(tài)。需要說明的是,所述數(shù)據(jù)控制信息用于指示所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單塊數(shù)據(jù),本實施例還在向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)的CRC之后,將所述SD卡模型的狀態(tài)置為發(fā)送和接收數(shù)據(jù)的狀態(tài),例如將SD卡模型的狀態(tài)值置為4。

如果上述回復(fù)命令信息中包括存儲停止指示,則本實施例在發(fā)送存儲相關(guān)的數(shù)據(jù)的過程中停止發(fā)送數(shù)據(jù),回到數(shù)據(jù)空閑狀態(tài);如果上述回復(fù)命令信息中包括IO停止指示,則本實施例在發(fā)送IO相關(guān)的數(shù)據(jù)的過程中停止發(fā)送數(shù)據(jù)。

在本發(fā)明上述各實施例的基礎(chǔ)上,在一種可選的實現(xiàn)方式中,所述數(shù)據(jù)控制信息為存儲控制數(shù)據(jù)時,所述數(shù)據(jù)控制信息包括:數(shù)據(jù)字節(jié)數(shù)、數(shù)據(jù)總線寬度、數(shù)據(jù)讀寫起始地址和第一標識,所述第一標識用于標識數(shù)據(jù)為單塊讀或單塊寫或多塊讀或多塊寫。本實施例可以根據(jù)第一標識確定是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù),而且可確定該數(shù)據(jù)是單塊數(shù)據(jù)還是多塊數(shù)據(jù)。該數(shù)據(jù)控制信息的形式可以是深度為1的mailbox,該數(shù)據(jù)控制信息的具體形式可以如下所示:

logic[31:0]sd_blocklen; //數(shù)據(jù)塊字節(jié)數(shù)

logic[1:0]sd_width; //數(shù)據(jù)總線寬度

logic[31:0]sd_addr; //數(shù)據(jù)讀寫起始地址

logic sd_single_read;//單塊讀

logic sd_single_write;//單塊寫

logic sd_multi_read;//多塊讀

logic sd_multi_write;//多塊寫

在一種可選的實現(xiàn)方式中,所述數(shù)據(jù)控制信息為IO控制數(shù)據(jù)時,所述數(shù)據(jù)控制信息包括:數(shù)據(jù)字節(jié)數(shù)、數(shù)據(jù)總線寬度、傳輸?shù)臄?shù)據(jù)塊數(shù)、數(shù)據(jù)讀寫起始地址、功能號和第二標識,所述第一標識用于標識數(shù)據(jù)為單塊讀或單塊寫或多塊讀或多塊寫。本實施例可以根據(jù)第二標識確定是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù),而且可確定該數(shù)據(jù)是單塊數(shù)據(jù)還是多塊數(shù)據(jù)。該數(shù)據(jù)控制信息的形式可以是深度為1的mailbox,該數(shù)據(jù)控制信息的具體形式可以如下所示:

logic[15:0]io_blocklen; //數(shù)據(jù)塊字節(jié)數(shù)

logic[1:0]io_width; //數(shù)據(jù)總線寬度

logic[8:0]block_cnt; //傳輸?shù)臄?shù)據(jù)塊數(shù)

logic[16:0]io_addr; //數(shù)據(jù)讀寫起始地址

logic[2:0]func_num; //功能號

logic io_single_read;//單塊讀標志

logic io_single_write;//單塊寫標志

logic io_multi_read;//多塊讀標志

logic io_multi_write;//多塊寫標志

圖6為本發(fā)明與SD卡主機控制器信息交互的裝置實施例一的結(jié)構(gòu)示意圖,如圖6所示,本實施例的裝置應(yīng)用于SD卡模型,所述SD卡模型具有存儲功能和輸入輸出IO功能,本實施例的裝置可以包括:接收模塊11、處理模塊12和發(fā)送模塊13;

其中,接收模塊11,用于接收所述SD卡主機控制器發(fā)送的控制命令,所述控制命令包括存儲控制命令或IO控制命令;

處理模塊12,用于根據(jù)所述控制命令生成與所述控制命令對應(yīng)的消息包;

發(fā)送模塊13,用于將所述消息包發(fā)送給所述SD卡主機控制器。

本實施例的裝置,可以用于執(zhí)行本發(fā)明上述方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

圖7為本發(fā)明與SD卡主機控制器信息交互的裝置實施例二的結(jié)構(gòu)示意圖,如圖7所示,本實施例的裝置在圖6所示裝置結(jié)構(gòu)的基礎(chǔ)上,進一步地,還可以包括:確定模塊14;

其中,確定模塊14,用于在所述接收模塊11接收所述SD卡主機控制器發(fā)送的控制命令之前,確定所述SD卡模型與所述SD卡主機控制器之間的控制命令線處于工作狀態(tài);以及確定控制命令使能信號當前指示所述SD卡模型為輸入狀態(tài)。

可選地,所述控制命令為N位的命令;

接收模塊11具體用于:接收所述控制命令的第一位時開始計數(shù)并計數(shù)為0,并將所述控制命令的第一位存儲至N位寄存器的第N-1位,直至計數(shù)為N-1時,確定所述控制命令接收完成,并將計數(shù)清零;

處理模塊12具體用于:根據(jù)所述控制命令中的數(shù)據(jù)信息計算出與所述數(shù)據(jù)信息對應(yīng)的CRC;根據(jù)檢測計算得到的CRC與所述控制命令攜帶的CRC是否相同以及檢測所述控制命令的結(jié)束位的值,生成所述控制命令的校驗結(jié)果,所述消息包攜帶有所述校驗結(jié)果。

可選地,處理模塊12在根據(jù)檢測計算得到的CRC與所述控制命令攜帶的CRC是否相同以及檢測所述控制命令的結(jié)束位的值,生成所述控制命令的校驗結(jié)果時,具體用于:根據(jù)檢測計算得到的CRC與所述控制命令攜帶的CRC是否相同以及檢測所述控制命令的結(jié)束位的值,生成回復(fù)命令信息,所述回復(fù)命令信息包括表示回復(fù)命令長度的長度值和與所述校驗結(jié)果對應(yīng)的回復(fù)命令的內(nèi)容值;

發(fā)送模塊13具體用于:循環(huán)所述回復(fù)命令長度的長度值個時鐘周期,將所述內(nèi)容值驅(qū)動到所述與所述SD卡主機控制器之間的命令線上,以使所述SD卡主機控制器獲取所述命令線上的內(nèi)容值。

可選地,本實施例的裝置還可以包括:設(shè)置模塊15;其中,設(shè)置模塊15,用于在發(fā)送模塊13將所述內(nèi)容值驅(qū)動到與所述SD卡主機控制器之間的命令線上之后,將與所述SD卡主機控制器之間的控制命令使能信號置為指示SD卡模型輸出狀態(tài),以使所述SD卡主機控制器在所述SD卡模型輸出狀態(tài)下獲取所述命令線上的內(nèi)容值。

可選地,在所述控制命令為存儲停止命令時,所述回復(fù)命令信息還包括存儲停止指示,所述存儲停止指示用于指示停止發(fā)送與所述存儲功能相關(guān)的數(shù)據(jù);

在所述控制命令為IO停止命令時,所述回復(fù)命令信息還包括IO停止指示,所述IO停止指示用于指示停止發(fā)送與所述IO功能相關(guān)的數(shù)據(jù)。

可選地,本實施例的裝置還可以包括:生成模塊16;其中,生成模塊16,用于在接收模塊11接收SD卡主機控制器發(fā)送的控制命令之后,根據(jù)所述控制命令,生成數(shù)據(jù)控制信息;所述控制命令為存儲控制命令時,所述數(shù)據(jù)控制信息為存儲控制數(shù)據(jù);所述控制命令為IO控制命令時,所述數(shù)據(jù)控制信息為IO控制數(shù)據(jù);

接收模塊11,還用于根據(jù)所述數(shù)據(jù)控制信息接收所述數(shù)據(jù)控制信息對應(yīng)所述SD卡主機控制器發(fā)送的數(shù)據(jù);或者,

發(fā)送模塊13,還用于向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)。

可選地,當所述數(shù)據(jù)控制信息為所述SD卡主機控制器發(fā)送的數(shù)據(jù)的控制信息時,接收模塊11在根據(jù)所述數(shù)據(jù)控制信息接收所述數(shù)據(jù)控制信息對應(yīng)所述SD卡主機控制器發(fā)送的數(shù)據(jù)時,具體用于:根據(jù)所述數(shù)據(jù)控制信息將所述SD卡模型的狀態(tài)置為正在接收數(shù)據(jù)的狀態(tài);監(jiān)視與所述SD卡主機控制器之間的第0位數(shù)據(jù)線的電平和所述第0位數(shù)據(jù)線的數(shù)據(jù)使能信號,當確定所述第0位數(shù)據(jù)線的電平為0且所述數(shù)據(jù)使能信號指示所述SD卡模型為輸入狀態(tài)時,開始接收所述SD卡主機控制器發(fā)送的數(shù)據(jù);在第一預(yù)設(shè)周期后開始接收所述數(shù)據(jù)的CRC,并根據(jù)所述數(shù)據(jù)計算所述數(shù)據(jù)的CRC;在第二預(yù)設(shè)周期后將接收的CRC與計算獲得的CRC進行比較,根據(jù)所述比較結(jié)果,確定向所述SD卡主機控制器發(fā)送的回復(fù)CRC狀態(tài)的值;在第三預(yù)設(shè)周期后開始向所述SD卡主機控制器發(fā)送所述回復(fù)CRC狀態(tài)的值;在第四預(yù)設(shè)周期后將所述第0位數(shù)據(jù)線的電平置為0;在第五預(yù)設(shè)周期后將所述第0位數(shù)據(jù)線的電平置為1;在第六預(yù)設(shè)周期后監(jiān)視所述第0位數(shù)據(jù)線的電平和所述第0位數(shù)據(jù)線的數(shù)據(jù)使能信號。

可選地,若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單線模式傳輸,則所述第一預(yù)設(shè)周期為8*單位數(shù)據(jù)塊長度的長度值個時間周期;接收模塊11還用于在第六預(yù)設(shè)周期后監(jiān)視所述第0位數(shù)據(jù)線的電平和數(shù)據(jù)使能信號之前,將所述SD卡模型的狀態(tài)置為發(fā)送和接收數(shù)據(jù)的狀態(tài);

若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為四線模式傳輸,則所述第一預(yù)設(shè)周期為2*單位數(shù)據(jù)塊長度的長度值個時間周期。

可選地,當所述數(shù)據(jù)控制信息為所述SD卡模型發(fā)送的數(shù)據(jù)的控制信息時,發(fā)送模塊13在向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)時,具體用于:檢測所述SD卡模型的狀態(tài),并根據(jù)所述數(shù)據(jù)控制信息將所述SD卡模型的狀態(tài)置為正在發(fā)送數(shù)據(jù)的狀態(tài);在第七預(yù)設(shè)周期后開始向所述SD卡主機控制器發(fā)送數(shù)據(jù);在第八預(yù)設(shè)周期后向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)的CRC;在第九預(yù)設(shè)周期后檢測所述SD卡模型的狀態(tài)。

可選地,若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為單線模式傳輸,則所述第八預(yù)設(shè)周期為8*單位數(shù)據(jù)塊長度的長度值個時間周期;發(fā)送模塊13還用于在向所述SD卡主機控制器發(fā)送所述數(shù)據(jù)的CRC之后,將所述SD卡模型的狀態(tài)置為發(fā)送和接收數(shù)據(jù)的狀態(tài);

若所述數(shù)據(jù)控制信息對應(yīng)的數(shù)據(jù)為四線模式傳輸,則所述第八預(yù)設(shè)周期為2*單位數(shù)據(jù)塊長度的長度值個時間周期。

可選地,在所述數(shù)據(jù)控制信息為存儲控制數(shù)據(jù)時,所述數(shù)據(jù)控制信息包括:數(shù)據(jù)字節(jié)數(shù)、數(shù)據(jù)總線寬度、數(shù)據(jù)讀寫起始地址和第一標識,所述第一標識用于標識數(shù)據(jù)為單塊讀或單塊寫或多塊讀或多塊寫;

在所述數(shù)據(jù)控制信息為IO控制數(shù)據(jù)時,所述數(shù)據(jù)控制信息包括:數(shù)據(jù)字節(jié)數(shù)、數(shù)據(jù)總線寬度、傳輸?shù)臄?shù)據(jù)塊數(shù)、數(shù)據(jù)讀寫起始地址、功能號和第二標識,所述第一標識用于標識數(shù)據(jù)為單塊讀或單塊寫或多塊讀或多塊寫。

本實施例的裝置,可以用于執(zhí)行本發(fā)明上述方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

圖8為本發(fā)明SD卡模型實施例的結(jié)構(gòu)示意圖,如圖8所示,本實施例的SD卡模型包括:與SD卡主機控制器信息交互的裝置10,該裝置用于與SD卡主機控制器進行信息交互,其中,與SD卡主機控制器信息交互的裝置10可以采用圖6或圖7所示裝置實施例的結(jié)構(gòu),其對應(yīng)地,可以執(zhí)行本發(fā)明上述方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1