相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)基于并且要求于2011年2月4日提交的申請(qǐng)?zhí)枮?011-023218和于2011年3月2日提交的申請(qǐng)?zhí)枮?011-045614的在先日本專利申請(qǐng)的優(yōu)先權(quán)權(quán)益,通過(guò)引用將它們的所有內(nèi)容合并在此。
技術(shù)領(lǐng)域
在此所描述的實(shí)施例一般地涉及具有無(wú)線通信功能的存儲(chǔ)器系統(tǒng)。
背景技術(shù):
具備無(wú)線通信功能和無(wú)線局域網(wǎng)功能的安全數(shù)字(secure digital,SD)卡被開發(fā)。在這種卡中,如果在該SD卡中包括獨(dú)特的無(wú)線功能并且能夠執(zhí)行僅對(duì)應(yīng)于該獨(dú)特的附加功能的控制已經(jīng)是足夠的。然而,無(wú)線通信功能范圍很廣,并且由此如果配置為控制所有無(wú)線通信功能的定義被給出,則命令的地址空間就變得不足。
附圖說(shuō)明
圖1是示出一種應(yīng)用于實(shí)施例的存儲(chǔ)器系統(tǒng)的示意框圖。
圖2是示出圖1所示的存儲(chǔ)器系統(tǒng)的固件示例的框圖。
圖3是示出擴(kuò)展寄存器的讀命令示例的框圖。
圖4是示出依據(jù)讀命令執(zhí)行的擴(kuò)展寄存器的讀操作的時(shí)序圖。
圖5是示出依據(jù)讀命令執(zhí)行的數(shù)據(jù)端口的讀操作的時(shí)序圖。
圖6是示出擴(kuò)展寄存器的寫命令示例的框圖。
圖7A,7B和7C每個(gè)是示出屏蔽寄存器操作的視圖。
圖8是示出依據(jù)寫命令執(zhí)行的擴(kuò)展寄存器的寫操作的時(shí)序圖。
圖9是示出依據(jù)寫命令執(zhí)行的數(shù)據(jù)端口的寫操作的時(shí)序圖。
圖10是示出擴(kuò)展寄存器的首頁(yè)中設(shè)置的信息域的示例的視圖。
圖11是示出具有無(wú)線局域網(wǎng)(LAN)的SD卡的使用示例的框圖。
圖12是示出存儲(chǔ)器設(shè)備具備的接口功能的視圖。
圖13是示出Wi-Fi SD卡和主機(jī)設(shè)備的配置示例的視圖。
圖14是示出該SD卡和主機(jī)設(shè)備的另一個(gè)配置示例的視圖。
圖15是示出依據(jù)讀命令(CMD 48)或者寫命令(CMD 49)訪問(wèn)的擴(kuò)展寄存器的示例的視圖。
圖16是示出擴(kuò)展寄存器被用于Wi-Fi SD卡的情況的示例的視圖。
圖17是示出當(dāng)Wi-Fi SD寄存器被分配到擴(kuò)展寄存器的頁(yè)時(shí),量超過(guò)512字節(jié)的數(shù)據(jù)被讀/寫情況的示例的視圖。
圖18是示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況的另一個(gè)示例的視圖。
圖19是示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況的另一個(gè)示例的視圖。
圖20是示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況的另一示例的視圖。
圖21是示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況的擴(kuò)展寄存器的視圖。
圖22是示出Wi-Fi SD卡命令寫寄存器的配置示例的視圖。
圖23是示出將被寫到Wi-Fi SD卡命令寫寄存器的命令列表的視圖。
圖24是示出將被寫到該Wi-Fi SD卡命令寫寄存器的命令列表的視圖。
圖25是示出將被寫到該Wi-Fi SD卡命令寫寄存器的命令列表的視圖。
圖26是示出Wi-Fi SD卡狀態(tài)寄存器的配置示例的視圖。
圖27是示出Wi-Fi SD卡狀態(tài)寄存器的配置示例的視圖。
圖28是示出Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的配置示例的視圖。
圖29是示出Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的配置示例的視圖。
圖30是示出Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的配置示例的視圖。
圖31是示出Wi-Fi SD卡ID列表寄存器的配置示例的視圖。
圖32是示出Wi-Fi SD卡SSID歷史寄存器的配置示例的視圖。
圖33是示出Wi-Fi SD卡配置信息的配置示例的視圖。
圖34是示出通過(guò)使用寫命令(CMD 49)發(fā)出的Wi-Fi SD卡命令的情況的時(shí)序圖。
圖35是示出通過(guò)使用多個(gè)寫命令(CMD 49)發(fā)出Wi-Fi SD卡命令的情況的時(shí)序圖。
圖36是示出包括在由一個(gè)寫命令(CMD 49)發(fā)出的數(shù)據(jù)內(nèi)的多個(gè)Wi-Fi SD卡命令情況的時(shí)序圖。
圖37是示出通過(guò)使用讀命令(CMD 48)從Wi-Fi SD卡11獲取數(shù)據(jù)的情況的時(shí)序圖。
圖38是示出通過(guò)使用多個(gè)讀命令(CMD 48)獲取Wi-Fi SD卡的數(shù)據(jù)的情況的時(shí)序圖。
圖39是示出由Wi-Fi SD卡支持的應(yīng)用示例的視圖。
圖40是示出在主機(jī)設(shè)備啟動(dòng)時(shí)將要被執(zhí)行的操作的流程圖。
圖41是示出每個(gè)應(yīng)用的狀態(tài)轉(zhuǎn)換的視圖。
圖42是示出無(wú)線局域網(wǎng)的狀態(tài)轉(zhuǎn)換的視圖。
圖43是示出Wi-Fi SD卡中的目錄配置的視圖。
圖44是示出Wi-Fi SD卡的命令處理流程的視圖。
圖45是示出Wi-Fi SD卡的設(shè)定流程的視圖。
圖46是示出P2P應(yīng)用的流程的視圖。
圖47是示出服務(wù)器上傳應(yīng)用的流程的視圖。
圖48是示出P2P應(yīng)用中發(fā)送方側(cè)主機(jī)的“文件列表”產(chǎn)生處理和文件傳送處理的流程的視圖。
圖49是示出P2P應(yīng)用中接收方側(cè)主機(jī)的文件選擇處理和文件獲取處理的流程的視圖。
圖50是示出命令響應(yīng)的流程的視圖。
技術(shù)實(shí)現(xiàn)要素:
一般地,根據(jù)一個(gè)實(shí)施例,一種存儲(chǔ)器系統(tǒng)包括非易失性半導(dǎo)體存儲(chǔ)器設(shè)備、控制器、存儲(chǔ)器、無(wú)線通信功能部和擴(kuò)展寄存器。所述控制器控制所述非易失性半導(dǎo)體存儲(chǔ)器設(shè)備。所述存儲(chǔ)器充當(dāng)所述控制器的工作區(qū)域。無(wú)線通信模塊具有無(wú)線通信功能。所述擴(kuò)展寄存器在所述存儲(chǔ)器中被提供,并且可以定義所述無(wú)線通信功能。所述控制器處理第一命令以從所述擴(kuò)展寄存器讀取數(shù)據(jù),以及第二命令以向所述擴(kuò)展寄存器寫入數(shù)據(jù),并且所述擴(kuò)展寄存器記錄指定無(wú)線通信功能類型的第一信息,以及表示分配所述無(wú)線通信功能的所述擴(kuò)展寄存器的區(qū)域的第二信息,以及包括所述無(wú)線通信功能的內(nèi)容的第三信息。
在近年來(lái),基于無(wú)線通信的數(shù)據(jù)通信在各類電子設(shè)備(尤其是便攜式數(shù)字設(shè)備)之間啟用。各類電子設(shè)備包括個(gè)人計(jì)算機(jī)、例如被稱為個(gè)人數(shù)字助理(PDA)的便攜式信息終端、蜂窩電話、便攜式音頻設(shè)備、數(shù)碼相機(jī)等等。
如果通過(guò)無(wú)線通信的方式在這些電子設(shè)備之間啟用數(shù)據(jù)通信,不需要使用電纜的連接,并且由此可以提高方便性。特別地,隨著無(wú)線局域網(wǎng)系統(tǒng)的擴(kuò)張,無(wú)線局域網(wǎng)系統(tǒng)已經(jīng)被引入作為存儲(chǔ)器的SD卡中,該存儲(chǔ)器不僅在個(gè)人計(jì)算機(jī)中以及內(nèi)置設(shè)備的應(yīng)用中,還在數(shù)碼相機(jī)等中。
為了實(shí)現(xiàn)SD卡中的這種功能,除了閃存存儲(chǔ)器外,還需要實(shí)現(xiàn)在SD存儲(chǔ)器卡中諸如配置為物理連接SD卡至主機(jī)、天線、高頻處理部(配置為執(zhí)行無(wú)線信號(hào)的傳送/接收的處理部)、基帶處理部(配置為處理基帶信號(hào)的處理部)的接口的構(gòu)成元件等。
在這種具備無(wú)線局域網(wǎng)功能的SD卡中,配置為控制所述無(wú)線局域網(wǎng)功能的程序依賴于SD卡制造商的實(shí)現(xiàn),并且因此不是唯一確定的。更進(jìn)一步,怎樣實(shí)現(xiàn)控制程序是存在問(wèn)題的。
進(jìn)一步,也可以想象的是SD卡具備除了無(wú)線局域網(wǎng)功能以外的通信功能。在這個(gè)示例中,在沒(méi)有檢查SD卡具備的功能類型的裝置的情況下,主機(jī)不能使用SD卡的該功能。
因此,對(duì)于作為存儲(chǔ)器廣泛地在例如數(shù)碼照相機(jī)等中使用的SD卡,該實(shí)施例呈現(xiàn)用于掌握除原始存儲(chǔ)器功能以外的擴(kuò)展功能的裝置。更進(jìn)一步,該實(shí)施例呈現(xiàn)用于除了原始存儲(chǔ)器功能以外的功能的控制程序。特別地,在SD存儲(chǔ)器的命令系統(tǒng)中,無(wú)線局域網(wǎng)等的控制被啟用。由此,提供一種SD卡,其中并入與充當(dāng)主機(jī)的數(shù)字設(shè)備(例如數(shù)碼相機(jī))有高度密切關(guān)系的無(wú)線功能或類似功能。
因此,在該實(shí)施例中,在SD卡中提供由多個(gè)頁(yè)面組成的擴(kuò)展寄存器,并且通過(guò)使用命令CMD 48或者CMD 49(它們是SD存儲(chǔ)器的規(guī)范命令中的一個(gè))啟用擴(kuò)展寄存器的讀或?qū)?。命令CMD 48是配置為從以塊為單元的目標(biāo)寄存器讀取數(shù)據(jù)的命令,而命令CMD 49是配置為向以塊為單元的目標(biāo)寄存器寫入數(shù)據(jù)的命令。擴(kuò)展寄存器具有例如配置為表示由SD卡擁有的功能的頁(yè)面,配置為控制由SD卡擁有的通信功能的頁(yè)面,以及被用于傳遞通信對(duì)象的數(shù)據(jù)的頁(yè)面。
(實(shí)施例)
以下,將參考附圖描述實(shí)施例。
圖1示例性示出根據(jù)該實(shí)施例的存儲(chǔ)器系統(tǒng)。
存儲(chǔ)器系統(tǒng)由諸如SD卡的存儲(chǔ)器設(shè)備11和主機(jī)20構(gòu)成。存儲(chǔ)器設(shè)備11也被稱作SD卡。進(jìn)一步,主機(jī)20也被稱作主機(jī)設(shè)備。
當(dāng)存儲(chǔ)器設(shè)備11連接到主機(jī)20時(shí),存儲(chǔ)器設(shè)備11接收供電以運(yùn)行,并且相應(yīng)于來(lái)自主機(jī)20的訪問(wèn)執(zhí)行處理。存儲(chǔ)器設(shè)備11包括卡控制器11a。
例如,卡控制器11a由主機(jī)接口12、CPU 13、只讀存儲(chǔ)器(ROM)14、隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)15、緩存器16、無(wú)線接口17a以及存儲(chǔ)器接口17b構(gòu)成。它們通過(guò)總線彼此連接。例如,NAND閃存存儲(chǔ)器18連接到存儲(chǔ)器接口17b。充當(dāng)擴(kuò)展功能部的無(wú)線局域網(wǎng)信號(hào)處理部19a連接到無(wú)線通信接口17a。配置為傳送/接收高頻信號(hào)的天線ATa連接到無(wú)線局域網(wǎng)信號(hào)處理部19a。
應(yīng)當(dāng)注意的是,擴(kuò)展功能部不限于無(wú)線局域網(wǎng)信號(hào)處理部19a,并且有可能通過(guò)增加其他無(wú)線通信信號(hào)處理部19b以及連接無(wú)線通信信號(hào)處理部19b到擴(kuò)展功能部的天線ATb構(gòu)成多功能SD卡。無(wú)線局域網(wǎng)信號(hào)處理部19a基于例如Wi-Fi(注冊(cè)商標(biāo))控制無(wú)線通信功能,并且無(wú)線通信信號(hào)處理部19b基于例如TransferJet(注冊(cè)商標(biāo))控制鄰近無(wú)線通信功能。
主機(jī)接口12執(zhí)行卡控制器11a和主機(jī)12之間的接口處理。
另一方面,無(wú)線通信接口17a執(zhí)行卡控制器11a和無(wú)線局域網(wǎng)信號(hào)處理部19a或者無(wú)線通信信號(hào)處理部19b之間的接口處理。存儲(chǔ)器接口17b執(zhí)行卡控制器11a和NAND閃存存儲(chǔ)器18之間的接口處理。
CPU 13是配置為管理整個(gè)存儲(chǔ)器設(shè)備11的操作的單元。配置為控制CPU 13的程序通過(guò)使用存儲(chǔ)在ROM 14中的固件(控制程序等)或者通過(guò)將固件載入RAM 15執(zhí)行預(yù)定處理。也就是,CPU 13在RAM 18上創(chuàng)建各種表和擴(kuò)展寄存器(這將在之后描述),接收來(lái)自主機(jī)20的寫命令、讀命令或者擦除命令以訪問(wèn)NAND閃存存儲(chǔ)器18上的區(qū)域,并且通過(guò)緩存器16控制數(shù)據(jù)傳輸處理。
ROM 14在其中存儲(chǔ)固件(例如控制程序)以由CPU 13使用。RAM 15被用作CPU 13的工作區(qū)域,并且在其中存儲(chǔ)控制程序、各中表以及之后將被描述的擴(kuò)展寄存器。
當(dāng)從主機(jī)20發(fā)送的數(shù)據(jù)將被寫到例如NAND閃存存儲(chǔ)器18中時(shí),緩沖器16臨時(shí)地在其中存儲(chǔ)給定量的數(shù)據(jù)(例如,一個(gè)頁(yè)面的數(shù)據(jù)),并且,當(dāng)從NAND閃存存儲(chǔ)器18中讀的數(shù)據(jù)將被發(fā)送到主機(jī)20時(shí),緩沖器16臨時(shí)地在其中存儲(chǔ)給定量的數(shù)據(jù)。進(jìn)一步,緩沖器16能夠依靠通過(guò)緩沖器16執(zhí)行控制來(lái)異步地控制SD總線接口和后端。
NAND閃存存儲(chǔ)器18由例如疊柵結(jié)構(gòu)的存儲(chǔ)器單元或者M(jìn)ONOS結(jié)構(gòu)的存儲(chǔ)器單元構(gòu)成。
在無(wú)線局域網(wǎng)信號(hào)處理部19a中,執(zhí)行無(wú)線局域網(wǎng)的信號(hào)處理。通過(guò)無(wú)線通信接口17a執(zhí)行控制。
作為主機(jī)20,能夠使用例如數(shù)碼相機(jī)、蜂窩電話、個(gè)人計(jì)算機(jī)等。主機(jī)20由主機(jī)控制器21、CPU 22、ROM 23、RAM 24和例如硬盤25(包括SSD)構(gòu)成。這些通過(guò)總線彼此連接。
CPU 22控制整個(gè)主機(jī)。ROM 23在其中存儲(chǔ)CPU 22運(yùn)行所需的固件。盡管RAM 24被用作例如CPU 22的工作區(qū)域,能夠由CPU 22執(zhí)行的程序也被在此加載以執(zhí)行。硬盤25保存各種數(shù)據(jù)項(xiàng)。在存儲(chǔ)器設(shè)備11連接到主機(jī)控制器21的狀態(tài)下,主機(jī)控制器21執(zhí)行它自身與存儲(chǔ)器設(shè)備11之間的接口處理。更進(jìn)一步,主機(jī)控制器21依據(jù)來(lái)自CPU 22的指令,發(fā)布各種命令,這將在以下被描述。
(固件的配置)
圖2示出存儲(chǔ)在存儲(chǔ)器設(shè)備11的ROM 14中的固件的功能配置的示例。這些功能由軟件以及硬件項(xiàng)(例如構(gòu)成控制器11a的CPU 13等)組合實(shí)現(xiàn)。固件由例如命令處理部14a、閃存存儲(chǔ)器控制器14b、擴(kuò)展寄存器處理部14c以及功能處理程序14d構(gòu)成。當(dāng)存儲(chǔ)器設(shè)備11被激活時(shí),擴(kuò)展寄存器處理部14c創(chuàng)建RAM 15中的擴(kuò)展寄存器31。擴(kuò)展寄存器31是虛擬寄存器,并且啟用定義擴(kuò)展功能。
(擴(kuò)展寄存器的配置)
如圖2所示,擴(kuò)展寄存器31由例如八個(gè)頁(yè)面構(gòu)成。一個(gè)頁(yè)面由512字節(jié)構(gòu)成。為了訪問(wèn)以一字節(jié)為單元的512字節(jié)的擴(kuò)展寄存器,需要至少9位的地址,為了訪問(wèn)八個(gè)頁(yè)面,需要至少3位的地址。通過(guò)總共12位的地址,使擴(kuò)展寄存器的所有空間是可訪問(wèn)的。盡管512字節(jié)是幾乎所有主機(jī)可以支持的訪問(wèn)單元,但訪問(wèn)單元并不限于512字節(jié),并且可以比512字節(jié)更長(zhǎng)。當(dāng)擴(kuò)展寄存器31由長(zhǎng)位長(zhǎng)度的地址域構(gòu)成時(shí),一些更低的位被用作訪問(wèn)單元,并且剩余的更高位被用來(lái)選擇多個(gè)頁(yè)面中的一個(gè)。
使512字節(jié)成為一個(gè)單元的原因是以以下這種方式進(jìn)行配置:大量存儲(chǔ)器卡主機(jī)控制器通過(guò)使用作為一個(gè)單元的一個(gè)塊(=512字節(jié))來(lái)執(zhí)行讀/寫傳輸。盡管與無(wú)線局域網(wǎng)兼容的主機(jī)控制器能夠執(zhí)行以一字節(jié)為單元的讀/寫,但并不是所有的主機(jī)控制器都支持以上讀/寫。為了啟用大多數(shù)主機(jī)控制器來(lái)控制擴(kuò)展功能,如果訪問(wèn)能在512字節(jié)的單元中執(zhí)行,這會(huì)是很方便的。
為了執(zhí)行擴(kuò)展功能的即插即用操作,八個(gè)頁(yè)面(頁(yè)面0至頁(yè)面7)中的頁(yè)面0是配置為記錄一般信息域的區(qū)域。將在之后描述一般信息域的細(xì)節(jié)。在頁(yè)1至頁(yè)7中,定義配置為控制擴(kuò)展功能的寄存器。在頁(yè)0中可以容易地指定一個(gè)位置,并且因此頁(yè)0是適合于記錄一般信息域的位置,但是將要記錄一般信息域的該頁(yè)不一定限制為頁(yè)0,并且在指定頁(yè)面中的位置能夠定義為配置為描述一般信息域的位置。
對(duì)于擴(kuò)展寄存器的讀/寫,使用以下定義的專用讀/寫命令。這些命令的每個(gè)具有第一操作模式和第二操作模式,在第一操作模式中執(zhí)行擴(kuò)展寄存器的讀/寫,以及第二操作模式,在第二操作模式中配置數(shù)據(jù)端口。
(擴(kuò)展寄存器的讀命令(CMD 48))
圖3示出擴(kuò)展寄存器讀命令(CMD 48)的域配置的示例?!癝”表示命令的起始位,“T”是表示傳輸方向的位,以及“index”表示命令的序號(hào)?!癛S”(寄存器選擇)表示擴(kuò)展寄存器31中的頁(yè)面,并且“OFS”表示所選擇的頁(yè)面中數(shù)據(jù)的位置(自頁(yè)面頭的偏移)。通過(guò)使用3位的“RS”和9位的“OFS”,相應(yīng)于512字節(jié)的擴(kuò)展寄存器的8個(gè)頁(yè)面的空間能夠被指定在一字節(jié)的單元內(nèi)。更具體的,在所選擇的擴(kuò)展寄存器中的讀起始位置是由“RS”和“OFS”指定的。
“LEN”表示數(shù)據(jù)長(zhǎng)度。512字節(jié)的擴(kuò)展寄存器中用于讀取所需的有效數(shù)據(jù)長(zhǎng)由9位的LEN域指定。
“CRC7”表示循環(huán)冗余校驗(yàn)碼,并且“E”表示命令的末尾位。進(jìn)一步,“rsv”表示空閑位。
(擴(kuò)展寄存器的讀命令,第一操作模式)
圖4示出將在第一操作模式下執(zhí)行的擴(kuò)展寄存器的讀操作的示例。
如圖4所示,接收來(lái)自主機(jī)20的命令(CMD 48)時(shí),存儲(chǔ)器設(shè)備11向主機(jī)20返回響應(yīng)(R1),并且,隨后從擴(kuò)展寄存器31中讀取512字節(jié)的數(shù)據(jù)塊。
更具體地,通過(guò)命令(CMD 48)的自變量,即通過(guò)“RS”和“OFS”,指定擴(kuò)展寄存器中的頁(yè)面以及在頁(yè)面中要被讀的數(shù)據(jù)的位置,并且由“LEN”指定數(shù)據(jù)長(zhǎng)度。在以上描述的方式下,指定的擴(kuò)展寄存器中的數(shù)據(jù)被設(shè)置為512字節(jié)數(shù)據(jù)塊的頭,并且被讀取。在512字節(jié)數(shù)據(jù)塊的數(shù)據(jù)項(xiàng)中,具有超過(guò)由“LEN”指定的數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)項(xiàng)變?yōu)闊o(wú)效數(shù)據(jù)項(xiàng)。CRC碼被添加到數(shù)據(jù)塊的最后部分以使校驗(yàn)數(shù)據(jù)是否已經(jīng)被正確地接收(通過(guò)包括無(wú)效數(shù)據(jù)來(lái)執(zhí)行數(shù)據(jù)的校驗(yàn))成為可能。從頭排列有效數(shù)據(jù)項(xiàng),并且因此主機(jī)20不必為了查找有效數(shù)據(jù)而執(zhí)行諸如數(shù)據(jù)移位或者類似的操作。
(擴(kuò)展寄存器的讀命令,第二操作模式)
圖5示出在第二操作模式中執(zhí)行的數(shù)據(jù)端口讀操作的示例。
接收命令(CMD 48)時(shí),存儲(chǔ)器設(shè)備11返回響應(yīng)(R1),并且隨后返回512字節(jié)的數(shù)據(jù)塊。
通過(guò)命令的自變量“RS”和“OFS”,指定擴(kuò)展寄存器的所選擇的頁(yè)面中的位置。盡管可以給數(shù)據(jù)端口分配多個(gè)字節(jié),但一個(gè)字節(jié)對(duì)于數(shù)據(jù)端口是足夠的,并且因此,在圖5中示出“LEN=1”(長(zhǎng)度為1)的情況下數(shù)據(jù)端口的示例。也就是,如果數(shù)據(jù)端口僅占有擴(kuò)展寄存器映射中的一個(gè)字節(jié)地址就是足夠的??梢詮姆峙浣o這個(gè)數(shù)據(jù)端口的設(shè)備中讀取一個(gè)塊(512字節(jié)單元)的數(shù)據(jù)。也就是,可以一次讀取一個(gè)塊(512字節(jié)單元)的數(shù)據(jù)。被讀取的數(shù)據(jù)保存在例如緩沖器16中,并且隨后由主機(jī)20讀取。
當(dāng)隨后讀取相同的數(shù)據(jù)端口時(shí),可以讀取后續(xù)的512字節(jié)數(shù)據(jù)。從數(shù)據(jù)端口讀取數(shù)據(jù)的位置可以通過(guò)擴(kuò)展功能的規(guī)范來(lái)自由地定義。關(guān)于數(shù)據(jù)端口控制,可以通過(guò)在例如擴(kuò)展寄存器上定義控制寄存器來(lái)執(zhí)行控制。CRC碼被添加到512字節(jié)數(shù)據(jù)塊的最后部分,以使得可能校驗(yàn)數(shù)據(jù)是否已經(jīng)被正確地接收。
(擴(kuò)展寄存器的寫命令(CMD 49))
圖6示出擴(kuò)展寄存器的寫命令的示例。在寫命令(CMD 49)中,與讀命令(CMD 48)相同的部分由相同的參考符號(hào)表示。寫命令和讀命令由“index”相互區(qū)分。通過(guò)使用3位的“RS”和9位的“OFS”,指定擴(kuò)展寄存器中的頁(yè)以及所選擇的頁(yè)中的數(shù)據(jù)位置。將要寫到512字節(jié)擴(kuò)展寄存器的數(shù)據(jù)的長(zhǎng)度由9位的“LEN”域指定。從而,有可能將512字節(jié)內(nèi)的任意數(shù)據(jù)長(zhǎng)度(字節(jié)單元)的數(shù)據(jù)寫到擴(kuò)展寄存器的任意頁(yè)和位置。
在命令的自變量中,向?qū)懨?CMD 49)提供屏蔽寄存器。也就是,“Mask”表示8位長(zhǎng)的屏蔽寄存器。通過(guò)屏蔽寄存器,變得有可能執(zhí)行以一位為單元的一字節(jié)的數(shù)據(jù)寫入操作以及將數(shù)據(jù)僅寫入指定位。從而,在一字節(jié)內(nèi)的位操作中,不必執(zhí)行讀-修改-寫操作。
當(dāng)數(shù)據(jù)長(zhǎng)度是一字節(jié)時(shí),即在“LEN=0”(長(zhǎng)度為1)的情況下,屏蔽寄存器變得有效。對(duì)于具有數(shù)據(jù)“1”的屏蔽寄存器“Mask”的位,數(shù)據(jù)被寫入到該位,并且對(duì)于具有數(shù)據(jù)“0”的屏蔽寄存器“Mask”的位,保留已經(jīng)設(shè)定的值。
也就是,當(dāng)假設(shè)擴(kuò)展寄存器保存圖7A所示數(shù)據(jù)時(shí),如果屏蔽寄存器的數(shù)據(jù)是如圖7B所示的,通過(guò)執(zhí)行寫命令,數(shù)據(jù)被寫到如圖7C所示的具有數(shù)據(jù)“1”的屏蔽寄存器的位中,并且在具有數(shù)據(jù)“0”的位中,保留原始數(shù)據(jù)。從而,可以僅重寫期望的位而不執(zhí)行讀-修改-寫操作。由“x”表示的各部分示出已經(jīng)寫入新數(shù)據(jù)的位。
進(jìn)一步,當(dāng)能夠由一單獨(dú)裝置提供更長(zhǎng)的屏蔽數(shù)據(jù)時(shí),甚至在LEN大于1(LEN>1)的情況下,盡管啟用屏蔽寫,但在圖6所示的示例中,屏蔽數(shù)據(jù)被分配給命令自變量,因此使用8個(gè)位。
(擴(kuò)展寄存器的寫命令,第一操作模式)
圖8示出在第一操作模式下將要被執(zhí)行的擴(kuò)展寄存器的寫操作的示例。
接收命令(CMD 49)時(shí),存儲(chǔ)器設(shè)備11返回響應(yīng)(R1)并且隨后接收512字節(jié)的數(shù)據(jù)塊。
存儲(chǔ)器設(shè)備11返回表示數(shù)據(jù)塊是否已經(jīng)被正確接收的CRC碼至主機(jī)20。隨后,存儲(chǔ)器設(shè)備11返回表示忙狀態(tài)的信息,直到完成命令的處理,并且向主機(jī)20通知主機(jī)20可以發(fā)出下一命令的時(shí)機(jī)。數(shù)據(jù)塊被保存在緩沖器16中。
在命令處理中,擴(kuò)展寄存器中的頁(yè)面和位置由命令的自變量“RS”和“OFS”指定,并且數(shù)據(jù)長(zhǎng)度由“LEN”指定。在緩沖器16所保存的數(shù)據(jù)塊中,每個(gè)具有由“LEN”指定的長(zhǎng)度的數(shù)據(jù)項(xiàng)被從頭寫入到擴(kuò)展寄存器。在具有超過(guò)由“LEN”所指定數(shù)據(jù)長(zhǎng)度的長(zhǎng)度的數(shù)據(jù)塊中的數(shù)據(jù)作為無(wú)效數(shù)據(jù)而被丟棄。
通過(guò)從數(shù)據(jù)塊的頭排列有效數(shù)據(jù)項(xiàng),對(duì)于主機(jī)系統(tǒng)而言不必要執(zhí)行在數(shù)據(jù)塊的中間排列有效數(shù)據(jù)項(xiàng)的操作。
(擴(kuò)展寄存器的寫命令,第二操作模式)
圖9示出在第二模式下將要被執(zhí)行的寫入數(shù)據(jù)端口的操作的示例。
接收命令(CMD 49)時(shí),存儲(chǔ)器設(shè)備11返回響應(yīng)(R1)并且隨后接收512字節(jié)的數(shù)據(jù)塊。
存儲(chǔ)器設(shè)備11返回表示數(shù)據(jù)塊是否已經(jīng)被正確接收的CRC碼至主機(jī)。隨后,存儲(chǔ)器設(shè)備11返回表示忙狀態(tài)的信息,直到完成命令的處理,并且向主機(jī)20通知主機(jī)20可以發(fā)出下一命令的時(shí)機(jī)。在緩沖器16中保存數(shù)據(jù)塊。
在命令處理中,擴(kuò)展寄存器中的頁(yè)面和位置由命令的自變量“RS”和“OFS”指定,并且一字節(jié)(LEN=0)的數(shù)據(jù)端口由“LEN”指定。盡管可以給數(shù)據(jù)端口分配多個(gè)字節(jié),但一個(gè)字節(jié)對(duì)于數(shù)據(jù)端口是足夠的,并且因此圖9示出“LEN=0”(長(zhǎng)度是1)的情況下的數(shù)據(jù)端口的示例。數(shù)據(jù)端口僅占有擴(kuò)展寄存器映射上的一字節(jié)地址就是足夠的。可以將緩沖器16中所保存的一個(gè)塊(512字節(jié)單元)的數(shù)據(jù)寫到分配給這個(gè)數(shù)據(jù)端口的特定設(shè)備。也就是,可以一次寫入一個(gè)塊的數(shù)據(jù)。
當(dāng)隨后寫入相同的數(shù)據(jù)端口時(shí),后續(xù)的512字節(jié)數(shù)據(jù)能夠被寫至分配了數(shù)據(jù)的設(shè)備中。傳遞數(shù)據(jù)端口的數(shù)據(jù)的位置可以由擴(kuò)展功能的規(guī)范來(lái)自由地定義。對(duì)于數(shù)據(jù)端口控制,可以由例如在擴(kuò)展寄存器上定義控制寄存器來(lái)執(zhí)行控制。
(頁(yè)面0中的信息域的使用示例)
圖10示出擴(kuò)展寄存器31的頁(yè)面0中所示的信息域的示例。通過(guò)使用信息域,使主機(jī)20可以指定配置為控制擴(kuò)展功能的驅(qū)動(dòng)器,當(dāng)添加擴(kuò)展功能時(shí),主機(jī)系統(tǒng)有可能容易地使用擴(kuò)展功能,并且實(shí)現(xiàn)即插即用。
以下將參考圖10描述由標(biāo)準(zhǔn)主機(jī)驅(qū)動(dòng)器處理的順序示例。
(結(jié)構(gòu)修改)
結(jié)構(gòu)修改是配置為定義擴(kuò)展寄存器31的頁(yè)面0的格式的修改。當(dāng)新的信息被添加到設(shè)備信息域時(shí),通過(guò)更新結(jié)構(gòu)修改表示保存哪個(gè)版本的信息域。前一版本的主機(jī)驅(qū)動(dòng)器忽略新的域。
(數(shù)據(jù)長(zhǎng)度)
關(guān)于數(shù)據(jù)長(zhǎng)度,示出頁(yè)面0中記錄的有效的數(shù)據(jù)長(zhǎng)度。
(擴(kuò)展功能的數(shù)量(=N))
擴(kuò)展功能的數(shù)量表示由設(shè)備支持的擴(kuò)展功能的數(shù)量。在啟動(dòng)時(shí),主機(jī)驅(qū)動(dòng)器重復(fù)地檢查擴(kuò)展功能的驅(qū)動(dòng)器安裝的次數(shù)是否與支持的功能的數(shù)量相應(yīng)。
(設(shè)備1功能識(shí)別碼)
當(dāng)該碼被設(shè)置為設(shè)備1的功能識(shí)別碼時(shí),其表示可以使用標(biāo)準(zhǔn)驅(qū)動(dòng)器。當(dāng)OS支持標(biāo)準(zhǔn)驅(qū)動(dòng)器時(shí),設(shè)備能夠無(wú)需安裝專用驅(qū)動(dòng)器而被使用。當(dāng)安裝專用驅(qū)動(dòng)器時(shí),優(yōu)選使用專用驅(qū)動(dòng)器。在非標(biāo)準(zhǔn)功能的情況下,向該域設(shè)置“0”。在這種情況下,該功能僅由專用驅(qū)動(dòng)器控制。
(設(shè)備1制造商標(biāo)識(shí)信息,設(shè)備1功能標(biāo)識(shí)信息)
設(shè)備1的制造商標(biāo)識(shí)信息以及設(shè)備1功能標(biāo)識(shí)信息中的每個(gè)是配置為指定專用驅(qū)動(dòng)器的信息,并且,在這些域的每個(gè)域中,通過(guò)使用例如ASCII字符串描述制造商的名字、經(jīng)銷商的名字或者擴(kuò)展功能的標(biāo)識(shí)信息。根據(jù)這些信息項(xiàng),主機(jī)驅(qū)動(dòng)器檢查設(shè)備1的專用驅(qū)動(dòng)器是否被安裝。
作為功能標(biāo)識(shí)信息,通過(guò)使用例如ASCII字符串描述設(shè)備、修改等等的模型數(shù)量。
(下一設(shè)備的起始地址)
下一設(shè)備的起始地址表示頁(yè)面0中的地址,在頁(yè)面0中,描述下一設(shè)備的設(shè)備信息。當(dāng)主機(jī)系統(tǒng)不支持該設(shè)備時(shí),該設(shè)備不能被使用,并且因此檢查下一設(shè)備。在這之后的域是可變長(zhǎng)度,并且因此對(duì)該位置設(shè)置定義。
(設(shè)備1地址指針1至X,長(zhǎng)度域1至X)
設(shè)備1地址指針1至X以及長(zhǎng)度域1至X表示能夠?yàn)橐粋€(gè)功能定義多個(gè)擴(kuò)展寄存器區(qū)域。在下面列舉地址和長(zhǎng)度。長(zhǎng)度域不一定是不可或缺的信息項(xiàng),并且可以被省略。
(設(shè)備1地址指針1(起始地址),長(zhǎng)度1)
由設(shè)備1使用的擴(kuò)展寄存器的第一個(gè)區(qū)域、在擴(kuò)展寄存器的頁(yè)面1至7的空間中的起始地址以及使用的擴(kuò)展寄存器區(qū)域的大小由設(shè)備1地址指針1表示。
也就是,一個(gè)或多個(gè)擴(kuò)展寄存器區(qū)域可以被分配給一個(gè)設(shè)備,并且地址指針表示除頁(yè)面0以外任意擴(kuò)展區(qū)域的位置(起始地址)。長(zhǎng)度表示占用具有開始地址處指針的擴(kuò)展寄存器的大小。
(設(shè)備1地址指針2(起始地址),長(zhǎng)度2)
被分配給設(shè)備1的擴(kuò)展寄存器的第二區(qū)域內(nèi)的位置和區(qū)域大小由設(shè)備1地址指針2表示。由此,啟用應(yīng)用程序,在該應(yīng)用程序中,例如盡管標(biāo)準(zhǔn)驅(qū)動(dòng)器僅在第一區(qū)域內(nèi)執(zhí)行控制,專用驅(qū)動(dòng)器被啟用通過(guò)使用第一區(qū)域和第二區(qū)域有效地執(zhí)行控制。
(設(shè)備1地址指針X(起始地址),長(zhǎng)度X)
被分配給設(shè)備1的第X區(qū)域的位置和區(qū)域大小由設(shè)備1地址指針X表示。
如上所述,能夠在擴(kuò)展寄存器中定義多個(gè)區(qū)域。區(qū)域以彼此不重疊的形式排列。通過(guò)使用長(zhǎng)度信息可以檢查區(qū)域之間是否重疊。
當(dāng)附加域變得必要時(shí),在此后額外定義附加域。不能夠識(shí)別新域的主機(jī)讀取可識(shí)別的域,并且忽略附加域。通過(guò)使用上述(下一設(shè)備的開始地址)域可以執(zhí)行跳過(guò)。
(無(wú)線LAN兼容SD卡)
圖11示出具有無(wú)線通信功能的存儲(chǔ)器設(shè)備(SD卡)11的使用示例。存儲(chǔ)器設(shè)備11被安裝在例如數(shù)碼相機(jī)51或者52、服務(wù)器53、個(gè)人計(jì)算機(jī)54以及蜂窩電話55內(nèi)(其中每個(gè)作為主機(jī))。
通過(guò)將具有無(wú)線通信功能的存儲(chǔ)器設(shè)備11與數(shù)碼相機(jī)51一同使用,存儲(chǔ)器設(shè)備11可以向無(wú)線通信網(wǎng)絡(luò)上的其他相機(jī)52傳送攝像數(shù)據(jù)并且從其他相機(jī)52接收數(shù)據(jù)。進(jìn)一步,存儲(chǔ)器設(shè)備11可以通過(guò)無(wú)線通信網(wǎng)絡(luò)將自身連接到例如外部服務(wù)器53,并且從數(shù)碼相機(jī)51向服務(wù)器53傳輸攝像數(shù)據(jù)。更進(jìn)一步,存儲(chǔ)器設(shè)備11可以通過(guò)無(wú)線通信網(wǎng)絡(luò)將自身連接到諸如個(gè)人計(jì)算機(jī)54、蜂窩電話55等,并且從數(shù)碼相機(jī)51向個(gè)人計(jì)算機(jī)54或者蜂窩電話55傳輸攝像數(shù)據(jù)。
圖12示出由存儲(chǔ)器設(shè)備11擁有的接口功能。
具有無(wú)線通信功能的存儲(chǔ)器設(shè)備11還包括充當(dāng)與例如配置為控制存儲(chǔ)器設(shè)備11的作為主機(jī)設(shè)備的數(shù)碼相機(jī)51間接口的接口功能,以及配置為在數(shù)碼相機(jī)51與諸如相機(jī)52、服務(wù)器53、個(gè)人計(jì)算機(jī)54、電視機(jī)56、打印機(jī)57等一些其他電子設(shè)備之間執(zhí)行無(wú)線局域網(wǎng)連接的網(wǎng)絡(luò)接口的功能。
前述主機(jī)接口(卡接口)12具有依據(jù)由SDA(SD協(xié)會(huì))標(biāo)準(zhǔn)化的“SD規(guī)范部分1”以及“SD規(guī)范部分2”通過(guò)FAT 32訪問(wèn)(讀/寫)卡中數(shù)據(jù)的功能,以及訪問(wèn)具有無(wú)線通信功能的卡特有的寄存器(例如Wi-Fi SD寄存器)的功能。在此,對(duì)于訪問(wèn)Wi-Fi SD寄存器,使用讀命令(CMD 48)以及寫命令(CMD 49)。如前所述,讀命令(CMD 48)是配置為從以塊為單元的目標(biāo)寄存器中讀取數(shù)據(jù)的命令,并且寫命令(CMD 49)是配置為向以塊為單元的目標(biāo)寄存器中寫入數(shù)據(jù)的命令。
在該實(shí)施例中,例如,主機(jī)20向存儲(chǔ)器設(shè)備11發(fā)出Wi-Fi SD卡特有的命令??商鎿Q地,通過(guò)使用寫命令(CMD 49),主機(jī)20從存儲(chǔ)器設(shè)備11接收Wi-Fi SD卡特有的狀態(tài)或者響應(yīng),以便寫Wi-Fi SD卡特有的數(shù)據(jù)。可替換地,該實(shí)施例特征在于使用讀命令(CMD 48)以便讀取Wi-Fi SD卡特有的數(shù)據(jù)。
在無(wú)線通信接口17a中,假設(shè)在物理層中支持IEEE802.11b/g/n,在網(wǎng)絡(luò)層中支持IPv4以及IPv6,在傳輸層中支持TCP,在表示層中支持SSL/TLS,并且在應(yīng)用層中支持HTTP和FTP。更進(jìn)一步,無(wú)線接口17a包括在一些情況下與家用設(shè)備通信的數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(DLNA)功能。
存儲(chǔ)器設(shè)備11包括兩個(gè)接口,據(jù)此,可以向支持HTTP協(xié)議的服務(wù)器或設(shè)備傳送由數(shù)碼相機(jī)創(chuàng)建的攝像數(shù)據(jù)(以JPEG或者RAW格式)以及動(dòng)畫數(shù)據(jù)(以MPEG-2TS或者M(jìn)P4格式)或者從支持HTTP協(xié)議的服務(wù)器或設(shè)備接收由數(shù)碼相機(jī)創(chuàng)建的攝像數(shù)據(jù)(以JPEG或者RAW格式)以及動(dòng)畫數(shù)據(jù)(以MPEG-2TS或者M(jìn)P4格式)。更進(jìn)一步,可以通過(guò)使用支持DLNA的服務(wù)器或者設(shè)備再現(xiàn)攝像數(shù)據(jù)以及動(dòng)畫數(shù)據(jù),并且執(zhí)行打印。進(jìn)一步,除攝像數(shù)據(jù)和動(dòng)畫數(shù)據(jù)外,通過(guò)額外地發(fā)送按照主機(jī)設(shè)備創(chuàng)建的數(shù)據(jù)(XML數(shù)據(jù)以及文本數(shù)據(jù)),主機(jī)設(shè)備可以與服務(wù)器和外圍設(shè)備協(xié)作執(zhí)行認(rèn)證,并且執(zhí)行元數(shù)據(jù)的傳送/接收。
圖13示出Wi-Fi SD卡和主機(jī)設(shè)備的配置示例。
如上所述,主機(jī)設(shè)備20包括配置為控制SD卡11的主機(jī)控制器21,并且能夠依據(jù)卡接口發(fā)出由SDA標(biāo)準(zhǔn)化的“SD規(guī)范部分1”的命令,以及配置為執(zhí)行Wi-Fi SD卡特有的控制的命令CMD 48和CMD 49。
SD卡11包括卡控制器11a,NAND存儲(chǔ)器模塊(NAND閃存存儲(chǔ)器)18,Wi-Fi網(wǎng)絡(luò)模塊(無(wú)線通信信號(hào)處理部19b),并且依據(jù)由主機(jī)控制器21發(fā)出的命令運(yùn)行。在一般的SD卡中,卡控制器11a能夠訪問(wèn)NAND存儲(chǔ)器模塊18以執(zhí)行數(shù)據(jù)的讀/寫。在該實(shí)施例的Wi-Fi SD卡中,執(zhí)行對(duì)NAND存儲(chǔ)器模塊18的訪問(wèn)(讀/寫)、對(duì)Wi-Fi網(wǎng)絡(luò)模塊19c的訪問(wèn)以及在NAND存儲(chǔ)器模塊18中記錄的數(shù)據(jù)到Wi-Fi網(wǎng)絡(luò)模塊19c的內(nèi)部傳輸。可替換地,可以執(zhí)行Wi-Fi網(wǎng)絡(luò)模塊19c到NAND存儲(chǔ)器模塊18的數(shù)據(jù)內(nèi)部傳輸。據(jù)此,Wi-Fi網(wǎng)絡(luò)模塊19c可以向外部傳送例如記錄在NAND存儲(chǔ)器模塊18中的攝像數(shù)據(jù),而無(wú)需主機(jī)設(shè)備20的干涉。也就是,主機(jī)設(shè)備20不必執(zhí)行Wi-Fi網(wǎng)絡(luò)模塊19c的復(fù)雜控制。
更進(jìn)一步,攝像數(shù)據(jù)不是通過(guò)卡接口內(nèi)部傳輸?shù)?,并且因此可以提高傳輸速度。例如,?dāng)攝像數(shù)據(jù)的內(nèi)部傳輸由卡控制器中的直接存儲(chǔ)器訪問(wèn)(DMA)寄存器控制時(shí),主機(jī)設(shè)備20和SD卡11可以彼此獨(dú)立地運(yùn)行。
進(jìn)一步,可以自動(dòng)地并且直接地記錄Wi-Fi網(wǎng)絡(luò)模塊19c的狀態(tài)信息,以及從NAND存儲(chǔ)器模塊18中的外部網(wǎng)絡(luò)的服務(wù)器下載的數(shù)據(jù),而無(wú)需主機(jī)設(shè)備20依次管理數(shù)據(jù)項(xiàng)。
圖14示出SD卡11和主機(jī)設(shè)備20的另一個(gè)配置示例。
在圖14中,與圖13不同,SD卡不具有Wi-Fi功能,并且由卡控制器11b和NAND存儲(chǔ)器模塊18構(gòu)成。進(jìn)一步,主機(jī)設(shè)備20具有Wi-Fi功能。也就是,主機(jī)設(shè)備20包括主機(jī)控制器21、Wi-Fi網(wǎng)絡(luò)模塊19c,以及配置為使讀命令(CMD 48)和寫命令(CMD 49)彼此分開的卡控制器25。
當(dāng)數(shù)碼相機(jī)具有Wi-Fi功能時(shí),通過(guò)使用與圖13相同的控制方法,該配置啟用Wi-Fi網(wǎng)絡(luò)模塊19c的控制。
圖15示出通過(guò)使用讀命令(CMD 48)和寫命令(CMD 49)訪問(wèn)的擴(kuò)展寄存器的示例。如前所述,擴(kuò)展寄存器的頁(yè)面0充當(dāng)頁(yè)面1以及頁(yè)面1后續(xù)頁(yè)面的索引,并且主機(jī)設(shè)備20能夠通過(guò)讀頁(yè)面0獲知關(guān)于卡擁有的功能的類型的信息,關(guān)于卡支持的功能的版本信息以及簡(jiǎn)檔信息(在可選功能中所支持的功能的信息),用于控制該功能的驅(qū)動(dòng)器信息(關(guān)于提供驅(qū)動(dòng)器的制造商的信息以及關(guān)于驅(qū)動(dòng)器的版本的信息)等。例如,當(dāng)特定卡具有與Wi-Fi功能一起的藍(lán)牙(注冊(cè)商標(biāo))功能時(shí),配置為訪問(wèn)藍(lán)牙功能的寄存器被分配給例如頁(yè)面2。隨著需求的上升,主機(jī)設(shè)備20能夠訪問(wèn)頁(yè)面1和2,并且同時(shí)使用每個(gè)頁(yè)面功能。據(jù)此,可以通過(guò)使用Wi-Fi功能實(shí)現(xiàn)從外部服務(wù)器下載數(shù)據(jù)以在卡上臨時(shí)記錄數(shù)據(jù)的操作,以及通過(guò)使用藍(lán)牙功能向外圍設(shè)備傳輸記錄的數(shù)據(jù)的操作以重現(xiàn)或者播放傳輸?shù)臄?shù)據(jù)。
圖16示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況下的示例。
Wi-Fi SD卡依據(jù)五種寄存器的使用由五種擴(kuò)展寄存器構(gòu)成。Wi-Fi SD卡命令寫寄存器是排他性地用于數(shù)據(jù)寫的寄存器,并且當(dāng)主機(jī)設(shè)備向該卡發(fā)出命令時(shí)被訪問(wèn)。Wi-Fi SD卡狀態(tài)寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)設(shè)備獲取卡的狀態(tài)信息時(shí)被訪問(wèn)。Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)設(shè)備獲取由主機(jī)設(shè)備從外部服務(wù)器向卡下載的數(shù)據(jù)(HTTP響應(yīng)數(shù)據(jù))時(shí)被訪問(wèn)。Wi-Fi SD卡ID列表寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)設(shè)備獲取連接(或者被請(qǐng)求連接)到卡的其他設(shè)備的ID列表時(shí)被訪問(wèn)。Wi-Fi SD卡SSID歷史寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)設(shè)備獲取以往卡已經(jīng)被連接到的SSID(或者卡不曾被連接到以及已經(jīng)請(qǐng)求卡被連接到的SSID)列表時(shí)被訪問(wèn)。
進(jìn)一步,盡管未示出,Wi-Fi SD卡命令響應(yīng)寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)確認(rèn)由主機(jī)發(fā)出的命令是否已經(jīng)被卡接收時(shí)被訪問(wèn)。更進(jìn)一步,盡管未示出,Wi-Fi SD卡異步命令響應(yīng)寄存器是排他性地用于數(shù)據(jù)讀的寄存器,并且當(dāng)主機(jī)確認(rèn)由卡執(zhí)行的命令的處理過(guò)程(命令在未被處理狀態(tài),在處理中狀態(tài),在處理后成功狀態(tài)或者處理后未成功狀態(tài))時(shí)被訪問(wèn),該命令由主機(jī)發(fā)出。
在該實(shí)施例中,將描述以上Wi-Fi SD寄存器的每個(gè)被分配給擴(kuò)展寄存器的頁(yè)的情況。首先,主機(jī)設(shè)備20通過(guò)使用讀命令(CMD 48)讀取擴(kuò)展寄存器的頁(yè)面0,然后檢查Wi-Fi SD功能是否在卡中被實(shí)現(xiàn),并且進(jìn)一步確認(rèn)為了使用每個(gè)功能應(yīng)當(dāng)訪問(wèn)哪個(gè)頁(yè)面。在此,在頁(yè)面0中記錄頁(yè)面序號(hào)(i,j,k,l和m)以及Wi-Fi SD寄存器的縮寫(WIFISDCR,WIFISDSR,WIFISDRD,WIFISDIL和WIFISDSH)的對(duì)。
當(dāng)主機(jī)設(shè)備20將要發(fā)出命令至卡時(shí),主機(jī)設(shè)備20執(zhí)行向Wi-Fi SD卡命令寫寄存器的寫入,該Wi-Fi SD卡命令寫寄存器是通過(guò)使用寫命令(CMD 49)用于命令發(fā)出的寄存器。在此時(shí),從關(guān)于頁(yè)面0的信息可知,討論中的寄存器存在于頁(yè)面1中,并且因此頁(yè)面i被指定為命令CMD 49的自變量。類似地,當(dāng)主機(jī)設(shè)備20將要從卡獲取狀態(tài)信息等時(shí),主機(jī)設(shè)備20從Wi-Fi SD卡狀態(tài)寄存器、Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器、Wi-Fi SD卡ID列表寄存器以及Wi-Fi SD卡SSID歷史寄存器中的一個(gè)讀取數(shù)據(jù),這些寄存器是通過(guò)使用讀命令(CMD 48)的用于數(shù)據(jù)獲取的寄存器。在此時(shí),作為命令CMD 48的自變量,指定相應(yīng)于寄存器的頁(yè)面序號(hào)j,k,l,和m。
在此,在該實(shí)施例中,盡管用于數(shù)據(jù)寫的寄存器以及用于數(shù)據(jù)讀的寄存器被分配給不同的頁(yè)面,可以使其中每個(gè)寄存器僅用于數(shù)據(jù)寫或者數(shù)據(jù)讀,并且因此還有可能將這些寄存器分配給相同的頁(yè)。
圖17示出當(dāng)Wi-Fi SD寄存器被分配給擴(kuò)展寄存器的頁(yè)時(shí),讀/寫超過(guò)512字節(jié)(每頁(yè)擴(kuò)展寄存器的最大大小)量的數(shù)據(jù)的情況的示例。
每頁(yè)擴(kuò)展寄存器的最大大小被限制為512字節(jié)。然而,主機(jī)設(shè)備20依次發(fā)出讀命令(CMD 48)或者寫命令(CMD 49),由此,啟用超過(guò)512字節(jié)量的數(shù)據(jù)的讀或者寫。例如,當(dāng)超過(guò)512字節(jié)量的數(shù)據(jù)將要被寫到Wi-Fi SD卡命令寫寄存器時(shí),主機(jī)設(shè)備通過(guò)使用寫命令CMD 49將前512字節(jié)數(shù)據(jù)寫入到該寄存器。
更具體地,主機(jī)設(shè)備通過(guò)使用寄存器選擇命令CMD 49的“RS”指定寄存器頁(yè)面,設(shè)置偏移“OFS”為“0”,并且然后通過(guò)使用數(shù)據(jù)長(zhǎng)度“LEN”指定512字節(jié)。也就是,首先,主機(jī)設(shè)備20設(shè)置“RS”為“1”,設(shè)置“OFS”為“0”,并且設(shè)置“LEN”為512字節(jié),隨后寫入512字節(jié)數(shù)據(jù)至Wi-Fi SD卡命令寫寄存器。隨后,主機(jī)設(shè)備20設(shè)置“RS”為“2”,設(shè)置“OFS”為“0”,并且設(shè)置“LEN”為512字節(jié),隨后寫入512字節(jié)數(shù)據(jù)至Wi-Fi SD卡命令寫寄存器。依次重復(fù)這樣的操作。
在此,在前512字節(jié)數(shù)據(jù)中記錄將被寫入Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)的數(shù)據(jù)大小(Nw)。由此,SD卡能夠識(shí)別主機(jī)設(shè)備20將要發(fā)出的次數(shù)相應(yīng)于ceil(Nw/512)的命令CMD 49。應(yīng)當(dāng)注意的是,ceil 0表示小數(shù)之后的數(shù)字向上舍入。也就是,例如,當(dāng)數(shù)據(jù)長(zhǎng)度是513字節(jié),意味著命令被發(fā)出兩次。
另一方面,當(dāng)超過(guò)512字節(jié)量的數(shù)據(jù)將要被從Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器讀取時(shí),主機(jī)設(shè)備20通過(guò)使用讀命令(CMD 48)重復(fù)地從寄存器讀取前512字節(jié)數(shù)據(jù)。設(shè)置命令CMD 48的自變量的方法與設(shè)置命令CMD 49的自變量的方法相同。
在此,在前512字節(jié)數(shù)據(jù)中記錄將要從Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器中讀取的數(shù)據(jù)的數(shù)據(jù)大小(Nr)。由此,通過(guò)讀取數(shù)據(jù),主機(jī)設(shè)備20認(rèn)識(shí)到主機(jī)設(shè)備20應(yīng)當(dāng)發(fā)出次數(shù)相應(yīng)于ceil(Nr/512)的命令CMD 48。
例如,當(dāng)主機(jī)設(shè)備20正在執(zhí)行讀或者寫時(shí)如果出現(xiàn)問(wèn)題,主機(jī)設(shè)備20停止處理。在這種情況下,主機(jī)設(shè)備20可以通過(guò)發(fā)出用于停止處理的Abort()命令,或者根據(jù)設(shè)置給SD卡的超時(shí)時(shí)間通過(guò)等待將要被執(zhí)行的超時(shí)處理來(lái)停止處理。
圖18示出擴(kuò)展寄存器被用于Wi-Fi SD寄存器情況下的另一個(gè)示例。例如,當(dāng)無(wú)線通信的狀態(tài)被從主機(jī)設(shè)備20傳輸至擴(kuò)展寄存器或者當(dāng)擴(kuò)展寄存器的數(shù)據(jù)被傳輸至SD寄存器時(shí),不需傳輸所有512字節(jié)數(shù)據(jù),并且在一些情況下傳輸短數(shù)據(jù)長(zhǎng)度的特定數(shù)據(jù)就足夠了。圖18示出這樣案例的數(shù)據(jù)傳輸?shù)氖纠?/p>
更加具體地,通過(guò)使用讀命令(CMD 48)或者寫命令(CMD 49)的自變量“RS”指定擴(kuò)展寄存器的頁(yè)面,并且進(jìn)一步通過(guò)使用“OFS”指定被指定頁(yè)面的偏移地址。
在這個(gè)示例中,Wi-Fi SD寄存器的五個(gè)類型中的每個(gè)類型被分配到相應(yīng)于擴(kuò)展寄存器的特定頁(yè)面(h)中的一個(gè)字節(jié)的地址(i,j,k,l或者m)。
首先,主機(jī)設(shè)備20通過(guò)使用讀命令(CMD 48)讀取擴(kuò)展寄存器的頁(yè)面0,然后檢查是否在卡中實(shí)現(xiàn)Wi-Fi SD功能,并且進(jìn)一步確認(rèn)為了使用每個(gè)功能應(yīng)當(dāng)訪問(wèn)哪個(gè)頁(yè)面。在此,在頁(yè)面0中記錄頁(yè)碼(h)加上偏移地址(i,j,k,l和m)和Wi-Fi SD寄存器的縮寫(WIFISDCR,WIFISDSR,WIFISDRD,WIFISDIL和WIFISDSH)的配對(duì)。
當(dāng)主機(jī)設(shè)備20將要發(fā)出命令至SD卡時(shí),主機(jī)設(shè)備20執(zhí)行向Wi-Fi SD卡命令寫寄存器的寫入,該Wi-Fi SD卡命令寫寄存器是通過(guò)使用寫命令(CMD 49)的用于命令發(fā)出的寄存器。在這個(gè)時(shí)候,從關(guān)于頁(yè)面0的信息中可知,討論中的寄存器存在于頁(yè)面“h”的偏移地址“1”處,并且因此“RS”=“h”和“OFS”=“1”被指定為命令CMD 49的自變量。
另一方面,當(dāng)主機(jī)設(shè)備20從SD卡獲取狀態(tài)信息等時(shí),從Wi-Fi SD卡狀態(tài)寄存器、Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器、Wi-Fi SD卡ID列表寄存器和Wi-Fi SD卡SSID歷史寄存器的一個(gè)中讀取數(shù)據(jù),這些寄存器通過(guò)使用讀命令(CMD 48)作為數(shù)據(jù)獲取寄存器。在這個(gè)時(shí)候,作為命令CMD 48的自變量,指定相應(yīng)于寄存器的頁(yè)碼以及偏移地址(h,j)、(h,k)、(h,l)和(h,m)。也就是,“RS”被設(shè)置為“h”,并且“OFS”被設(shè)置為j、k、l和m中的一個(gè)。
在圖18所示的實(shí)施例中,盡管擴(kuò)展寄存器的配置以及每個(gè)Wi-Fi SD寄存器的配置彼此不對(duì)應(yīng),但該實(shí)施例具有擴(kuò)展寄存器的消耗量小的優(yōu)點(diǎn)。
進(jìn)一步,在圖18中,盡管用于數(shù)據(jù)寫的寄存器(Wi-Fi SD卡命令寫寄存器)和用于數(shù)據(jù)讀的寄存器(Wi-Fi SD卡狀態(tài)寄存器、Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器、Wi-Fi SD卡ID列表寄存器和Wi-Fi SD卡SSID歷史寄存器)被分配不同的偏移地址,但寄存器中的每個(gè)可以僅用于數(shù)據(jù)寫或者數(shù)據(jù)讀,并且因此,也可以將寄存器分配給相同的偏移地址。
圖19示出當(dāng)Wi-Fi SD寄存器被分配給特定頁(yè)的地址時(shí),讀/寫超過(guò)512字節(jié)量的數(shù)據(jù)(即大小超過(guò)每頁(yè)擴(kuò)展寄存器的最大大小的數(shù)據(jù))的示例。
類似圖17所示的示例,盡管能夠傳輸?shù)綌U(kuò)展寄存器的數(shù)據(jù)量被限制在512字節(jié),通過(guò)依次發(fā)出由主機(jī)設(shè)備20所執(zhí)行的命令CMD 48或者CMD 49來(lái)啟用超過(guò)512字節(jié)量的數(shù)據(jù)的讀或者寫。在這種情況下,在擴(kuò)展寄存器的頁(yè)面h中記錄的數(shù)據(jù)具有充當(dāng)例如記錄在Wi-Fi SD卡命令寫寄存器以及Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器中的512字節(jié)數(shù)據(jù)項(xiàng)的索引的功能。
相應(yīng)地,當(dāng)借助于寫命令(CMD 49)的自變量設(shè)置“OFS”為“i”并設(shè)置“LEN”為512字節(jié)時(shí),通過(guò)指定擴(kuò)展寄存器的頁(yè)“h”、偏移“OFS”以及“LEN”,可以向Wi-Fi SD卡命令寫寄存器寫入512字節(jié)數(shù)據(jù),并且也可以通過(guò)依次發(fā)出寫命令(CMD 49),依次向Wi-Fi SD卡命令寫寄存器寫入512字節(jié)數(shù)據(jù)。
進(jìn)一步,當(dāng)借助于讀命令(CMD 48)的自變量設(shè)置“OFS”為“j”并且設(shè)置“LEN”為512字節(jié)時(shí),通過(guò)指定擴(kuò)展寄存器的頁(yè)面“h”、偏移“OFS”和“LEN”,可以讀取Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器中的512字節(jié)數(shù)據(jù),并且也可以通過(guò)依次發(fā)出讀命令(CMD 48)來(lái)從Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器依次讀取512字節(jié)數(shù)據(jù)。
在此,在前512字節(jié)數(shù)據(jù)中記錄將要被寫入到Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)的數(shù)據(jù)大小(Nw)。由此,通過(guò)讀取數(shù)據(jù),SD卡識(shí)別主機(jī)設(shè)備20將要發(fā)出的次數(shù)相應(yīng)于ceil(Nw/512)的命令CMD 49。應(yīng)當(dāng)注意的是,ceil()表示小數(shù)之后的數(shù)字向上舍入。也就是,例如當(dāng)數(shù)據(jù)長(zhǎng)度是513字節(jié)時(shí),意味著命令被發(fā)出兩次。
另一方面,當(dāng)將要從Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器讀取超過(guò)512字節(jié)量的數(shù)據(jù)時(shí),通過(guò)使用讀命令(CMD 48),主機(jī)設(shè)備20重復(fù)地從該寄存器讀取前512字節(jié)的數(shù)據(jù)。設(shè)置命令CMD 48的自變量的方法與設(shè)置命令CMD 49的方法相同。
在此,在前512字節(jié)數(shù)據(jù)中記錄將要從Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器被讀取的數(shù)據(jù)的數(shù)據(jù)大小(Nr)。由此,通過(guò)讀取數(shù)據(jù),主機(jī)設(shè)備20識(shí)別主機(jī)設(shè)備20應(yīng)當(dāng)發(fā)出次數(shù)相應(yīng)于ceil(Nr/512)的命令CMD 48。
例如,當(dāng)主機(jī)設(shè)備20正在執(zhí)行讀或者寫時(shí)如果出現(xiàn)問(wèn)題,則主機(jī)設(shè)備20停止處理。在這種情況下,主機(jī)設(shè)備20可以通過(guò)發(fā)出用于停止處理的Abort()命令,或者可以根據(jù)為SD卡設(shè)置的超時(shí)時(shí)間通過(guò)等待將被執(zhí)行的超時(shí)處理來(lái)停止處理。
圖20是擴(kuò)展寄存器被用于Wi-Fi SD寄存器情況的另外又一個(gè)示例。
圖20示出配置為控制無(wú)線通信的多個(gè)Wi-Fi SD卡命令被包括在通過(guò)使用一個(gè)寫命令(CMD 49)發(fā)出的數(shù)據(jù)中的情況,以及多個(gè)狀態(tài)被包括在通過(guò)使用一個(gè)讀命令(CMD 48)發(fā)出的數(shù)據(jù)中的情況。例如,當(dāng)依次執(zhí)行多個(gè)文件傳輸時(shí),采用發(fā)出多個(gè)Wi-Fi SD卡命令。
Wi-Fi SD卡命令寫寄存器由例如命令寄存器部以及自變量寄存器部構(gòu)成,并且Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器由例如響應(yīng)寄存器部和響應(yīng)數(shù)據(jù)寄存器部構(gòu)成。
在Wi-Fi SD卡命令寫寄存器中,給命令寄存器部中的每個(gè)命令分配用于命令發(fā)出的寄存器,并且依據(jù)被寫命令的ID向相應(yīng)寄存器寫入值。在自變量寄存器部中,用于自變量數(shù)據(jù)寫的寄存器被分配給每個(gè)自變量,并且依據(jù)被寫命令的ID的內(nèi)容向相應(yīng)寄存器中寫入自變量數(shù)據(jù)。
例如,當(dāng)從主機(jī)設(shè)備20發(fā)出命令CMD 49(i,x)時(shí),“i”表示擴(kuò)展寄存器的頁(yè)碼,“x”表示命令I(lǐng)D,然后命令I(lǐng)D=x,并且向擴(kuò)展寄存器寫入相應(yīng)于命令I(lǐng)D的自變量的號(hào)碼(m)的自變量數(shù)據(jù),并且向每個(gè)相應(yīng)的命令寄存器和Wi-Fi SD卡命令寫寄存器的自變量寄存器中寫入值。
應(yīng)當(dāng)注意的是,“x”可以被定義為相應(yīng)命令I(lǐng)D的寄存器的偏移地址。
另一方面,在Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器中,用于狀態(tài)信息的寄存器被分配給響應(yīng)狀態(tài)寄存器部的每個(gè)命令,并且依據(jù)被寫入到Wi-Fi SD卡命令寫寄存器的命令I(lǐng)D從用于狀態(tài)信息的相應(yīng)寄存器中讀取值。在響應(yīng)數(shù)據(jù)寄存器部中,用于響應(yīng)數(shù)據(jù)的寄存器被分配給每個(gè)命令I(lǐng)D,并且依據(jù)被寫命令的ID的內(nèi)容從相應(yīng)寄存器中讀取響應(yīng)數(shù)據(jù)。
例如,當(dāng)命令CMD 48(j,y)從主機(jī)設(shè)備20發(fā)出時(shí),“j”表示頁(yè)碼,“y”表示命令I(lǐng)D,并且相應(yīng)于命令I(lǐng)D=“y”的狀態(tài)信息和響應(yīng)數(shù)據(jù)由主機(jī)設(shè)備20通過(guò)擴(kuò)展寄存器從Wi-Fi SD卡狀態(tài)寄存器和Wi-Fi SD卡響應(yīng)狀態(tài)寄存器中讀取。
應(yīng)當(dāng)注意的是,“y”可以被定義為相應(yīng)命令I(lǐng)D的寄存器的偏移地址。
在圖20所示的實(shí)施例中,Wi-Fi SD寄存器的值被分配給相應(yīng)功能以及一對(duì)一對(duì)應(yīng)中的處理項(xiàng)。由此,可以執(zhí)行有效處理而無(wú)需執(zhí)行解釋寄存器內(nèi)容的處理。
在此,盡管以下將根據(jù)向特定頁(yè)面的地址分配使用圖18和圖19描述的Wi-Fi SD寄存器中的每個(gè)寄存器的情況描述Wi-Fi SD寄存器的細(xì)節(jié),但該描述也可以實(shí)施在其他實(shí)施例中。
根據(jù)圖20所示的實(shí)施例,可以通過(guò)使用一個(gè)命令(CMD 48或者CMD 49)傳輸包括多個(gè)Wi-Fi SD卡命令等的數(shù)據(jù),并且因此,不必多次發(fā)出命令(CMD 49或者CMD 48)。由此,可以有效地傳輸數(shù)據(jù),并且啟用高速處理。
圖21示出擴(kuò)展寄存器被用于Wi-Fi SD卡情況下的擴(kuò)展寄存器。
在圖21中,“Wi-Fi SD卡標(biāo)識(shí)符”是表示擴(kuò)展寄存器被用于Wi-Fi SD卡的信息,并且字符串“WIFISD00”被記錄在其中。
“Wi-Fi SD卡規(guī)范版本”是由Wi-Fi SD卡支持的Wi-Fi SD卡標(biāo)準(zhǔn)的版本,并且,例如當(dāng)支持Ver.1.0時(shí),十六進(jìn)制數(shù)字“0x0100”被記錄在其中。
“Wi-Fi SD卡簡(jiǎn)檔指示符”是配置為表示由Wi-Fi SD卡支持的功能的信息。在例如圖39所示的Wi-Fi SD卡功能中,指示能夠由Wi-Fi SD卡使用的應(yīng)用。在第一次獲取該信息后,主機(jī)有必要僅執(zhí)行由該卡支持的功能。
在“供應(yīng)商特有ID”中,記錄制造卡的供應(yīng)商的ID字符串。通過(guò)參考該ID,主機(jī)能夠識(shí)別卡供應(yīng)商,并且在該卡中實(shí)現(xiàn)卡供應(yīng)商特有的附加功能,由此,主機(jī)能夠識(shí)別主機(jī)可以使用該功能。
在“供應(yīng)商特有域”中,卡供應(yīng)商能夠記錄其特有的信息,并且能夠記錄表示在該卡中實(shí)現(xiàn)卡供應(yīng)商特有的附加功能中的哪個(gè)功能的信息。
“命令寫寄存器端口”是配置為訪問(wèn)由主機(jī)設(shè)備使用的Wi-Fi SD卡命令寫寄存器以向該卡發(fā)出命令的數(shù)據(jù)端口。
“狀態(tài)寄存器”是由主機(jī)設(shè)備使用以獲取關(guān)于卡的狀態(tài)信息的存儲(chǔ)器區(qū)域,并且其包括在Wi-Fi SD卡狀態(tài)寄存器中。
“命令響應(yīng)狀態(tài)寄存器”是由主機(jī)設(shè)備使用以獲取關(guān)于由主機(jī)設(shè)備發(fā)出的命令的響應(yīng)狀態(tài)信息的存儲(chǔ)器區(qū)域,并且包括在Wi-Fi SD卡狀態(tài)寄存器中。
“異步命令響應(yīng)狀態(tài)寄存器”是被用于獲取特別是關(guān)于由主機(jī)設(shè)備發(fā)布的命令中的異步命令的響應(yīng)狀態(tài)信息的存儲(chǔ)器區(qū)域,并且其包括在Wi-Fi SD卡狀態(tài)寄存器中。該異步命令主要相應(yīng)于配置為通過(guò)網(wǎng)絡(luò)傳送/接收數(shù)據(jù)的命令,甚至當(dāng)執(zhí)行異步命令時(shí),能夠執(zhí)行其他命令。應(yīng)當(dāng)注意的是,在圖23中,異步命令相應(yīng)于SendHttpMessage,SendHttpFile,SendHttpSSLMessage,SendHttpSSLFile,SendHttpMessageByRegister,SendHttpFileByRegister,SendHttpSSLMessageByRegister,SendHttpSSLFileByRegister以及GetFile。
“響應(yīng)數(shù)據(jù)寄存器端口”是由主機(jī)設(shè)備使用以訪問(wèn)配置為從卡獲取自外部服務(wù)器下載的數(shù)據(jù)(Http響應(yīng)數(shù)據(jù))的Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的數(shù)據(jù)端口。
“ID列表寄存器端口”是由主機(jī)設(shè)備使用以訪問(wèn)由主機(jī)設(shè)備使用的Wi-Fi SD卡ID列表寄存器從而獲取與卡連接(或者被請(qǐng)求連接到)的其他設(shè)備的ID列表的數(shù)據(jù)端口。
“SSID歷史寄存器端口”是由主機(jī)設(shè)備使用的端口,用以訪問(wèn)由主機(jī)設(shè)備使用的Wi-Fi SD卡SSID歷史寄存器從而獲取之前該卡已經(jīng)連接到的SSID(或者卡未曾連接到但被請(qǐng)求連接到的SSID)的列表。
圖22示出Wi-Fi SD卡命令寫寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”是表示該寄存器是Wi-Fi SD卡命令寫寄存器的信息,并且字符串“WIFISDCR”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且通過(guò)參考該信息,卡獲知命令CMD 49應(yīng)當(dāng)被發(fā)出幾次,以及什么尺寸的數(shù)據(jù)應(yīng)當(dāng)被接收。
“Wi-Fi SD命令信息的數(shù)量”是表示通過(guò)一次執(zhí)行向Wi-Fi SD卡命令寫寄存器的寫入,已經(jīng)有多少Wi-Fi SD命令被發(fā)出的信息。通過(guò)產(chǎn)生由主機(jī)指定數(shù)量的命令的列表,卡執(zhí)行列舉命令的順序處理。更進(jìn)一步,以可以按照命令的類型獲得最高有效性的順序,卡可以重新排列命令,并且執(zhí)行命令的并行處理,對(duì)于該命令能夠執(zhí)行并行執(zhí)行。例如,當(dāng)數(shù)據(jù)被上傳到多個(gè)服務(wù)器時(shí),優(yōu)先執(zhí)行未實(shí)施加載的服務(wù)器的處理,并且,當(dāng)卡的傳輸速率足夠高于傳輸目的地的服務(wù)器的網(wǎng)絡(luò)傳輸速率時(shí),變得可以同時(shí)執(zhí)行向多個(gè)服務(wù)器的傳輸。
“Wi-Fi SD命令信息”是由“Wi-Fi SD命令id”、“Wi-Fi SD命令序列id”、“自變量總數(shù)量”、“自變量長(zhǎng)度”以及“自變量”構(gòu)成。
“Wi-Fi SD命令id”表示將要被發(fā)出的Wi-Fi SD命令的類型,并且記錄圖23至25所示的Wi-Fi SD命令中的一個(gè)。
“Wi-Fi SD命令序列id”是由主機(jī)分配的值,以便逐個(gè)識(shí)別并區(qū)分發(fā)出的Wi-Fi SD命令,并且主機(jī)能夠通過(guò)Wi-Fi SD卡狀態(tài)寄存器獲知每個(gè)發(fā)出的命令的狀態(tài)。
“自變量的數(shù)量”是發(fā)出的自變量的數(shù)量,“自變量的長(zhǎng)度”表示自變量數(shù)據(jù)的大小,而“自變量”表示自變量數(shù)據(jù)。
圖23至25中的每個(gè)示出將要被寫入到Wi-Fi SD卡命令寫寄存器的命令列表。
“ScanWiFi”命令是由無(wú)自變量的命令構(gòu)成。當(dāng)命令被執(zhí)行時(shí),主機(jī)請(qǐng)求卡搜索卡能夠連接的無(wú)線局域網(wǎng),并且結(jié)果能夠被存儲(chǔ)在圖43所示的“SSIDLIST”中。
“SetSSID”命令由三個(gè)自變量構(gòu)成,包括表示SSID名的“ssid”,表示密碼短語(yǔ)的“passphrase”,以及表示認(rèn)證方法的“authentication”。主機(jī)能夠因?yàn)椤胺?wù)器上傳應(yīng)用”以及“P2P應(yīng)用”,設(shè)置卡將要連接的無(wú)線局域網(wǎng)的SSID名和密碼短語(yǔ),或者因?yàn)椤癙2P約束服務(wù)器應(yīng)用”和“P2P服務(wù)器應(yīng)用”設(shè)置將要連接的無(wú)線局域網(wǎng)的SSID名、密碼短語(yǔ)和認(rèn)證方法。應(yīng)當(dāng)注意的是,當(dāng)“StartApplication”命令被執(zhí)行以連接到無(wú)線局域網(wǎng)或者構(gòu)建無(wú)線局域網(wǎng)時(shí),該設(shè)置被使用。應(yīng)當(dāng)注意的是,認(rèn)證方法意味著網(wǎng)絡(luò)的認(rèn)證方法以及數(shù)據(jù)加密方法,并且由主機(jī)選擇“開放系統(tǒng)和無(wú)加密”、“開放系統(tǒng)和WEP”、“共享密鑰和WEP”、“WPA和TKIP”、“WPA和AES”、“WPA-PSK和TKIP”、“WPA-PSK和AES”、“WPA2和TKIP”、“WPA2和AES”、“WPA2-PSK和TKIP”、“WPA2-PSK和AES”中的一個(gè)。
“SetCurrentTime”命令由表示當(dāng)前日期的“currentDate”和表示當(dāng)前時(shí)間的“currentTime”的兩個(gè)自變量構(gòu)成。當(dāng)該命令被執(zhí)行時(shí),能向該卡設(shè)置由主機(jī)指定的當(dāng)前日期和當(dāng)前時(shí)間。當(dāng)不一直向卡提供電源時(shí),很難一直保留卡中的日期/時(shí)間信息。在此情況下,主機(jī)執(zhí)行卡的日期/時(shí)間的設(shè)定,由此,卡能夠保留日期/時(shí)間信息,并且當(dāng)前日期/時(shí)間能夠被設(shè)置到需要日期/時(shí)間信息的數(shù)據(jù)中,諸如由卡所創(chuàng)建的文件。
“StartApplication”命令是由表示將要被激活的應(yīng)用“application”、表示當(dāng)前日期的“currentDate”以及表示當(dāng)前時(shí)間的“currentTime”三個(gè)自變量構(gòu)成。當(dāng)命令被執(zhí)行時(shí),可以依據(jù)無(wú)線局域網(wǎng)網(wǎng)絡(luò)的設(shè)置執(zhí)行到無(wú)線局域網(wǎng)的連接或者執(zhí)行無(wú)線局域網(wǎng)的構(gòu)建。然后,可以執(zhí)行被指定應(yīng)用(“服務(wù)器上傳應(yīng)用”、“P2P服務(wù)器應(yīng)用”、“P2P約束服務(wù)器應(yīng)用”、“P2P客戶端應(yīng)用”、“DLNA服務(wù)器應(yīng)用”“DLNA控制器應(yīng)用”,這些應(yīng)用在圖35中示出)的激活。如果Wi-Fi保護(hù)安裝(WPS)的激活設(shè)置已經(jīng)由“SetWPS”命令執(zhí)行,在應(yīng)用激活或者其構(gòu)建之前,由WPS執(zhí)行連接到無(wú)線局域網(wǎng)。如果SSID已經(jīng)由“SetSSID”命令設(shè)置,通過(guò)使用該設(shè)置執(zhí)行到無(wú)線局域網(wǎng)的連接或者其構(gòu)建。如果SSID仍未曾通過(guò)“SetSSID”命令設(shè)置,通過(guò)使用記錄在圖32中所示的卡中的“SSID歷史”中的一個(gè)SSID來(lái)執(zhí)行到無(wú)線局域網(wǎng)的連接或者其構(gòu)建。
“SetWPS”命令由表示W(wǎng)PS系統(tǒng)的“mode”和表示pin碼的“pin”兩個(gè)自變量構(gòu)成。當(dāng)命令被執(zhí)行時(shí),在執(zhí)行無(wú)線局域網(wǎng)連接或者構(gòu)建時(shí),卡可以使用WPS。在此,當(dāng)WPS系統(tǒng)是“利用PIN的WPS”系統(tǒng)時(shí),執(zhí)行使用設(shè)置的pin碼的pin碼認(rèn)證,并且,當(dāng)WPS系統(tǒng)是“利用PBC的WPS”系統(tǒng)時(shí),執(zhí)行按鍵認(rèn)證。
“Abort”命令由表示圖22所描述的“Wi-Fi SD命令序列ID”的“sequenceID”一個(gè)自變量構(gòu)成。當(dāng)命令被執(zhí)行時(shí),可以停止已經(jīng)執(zhí)行的命令中具有指定的“Wi-Fi SD命令序列ID”的命令的處理。例如,當(dāng)用戶執(zhí)行自網(wǎng)絡(luò)中的設(shè)備或web服務(wù)器的文件上傳或從網(wǎng)絡(luò)中的設(shè)備或web服務(wù)器的文件下載時(shí),由于需要關(guān)閉電源的原因,用戶有必要停止處理,此時(shí),可以使用該命令。
“Reset”命令是由表示狀態(tài)信息的“status”一個(gè)自變量構(gòu)成。在此,狀態(tài)信息意味著表示包括圖26所描述的“媒體改變”、“SSID列表更新”、“文件列表更新”、“ID列表更新”、“響應(yīng)數(shù)據(jù)更新”等的信息項(xiàng)的其中之一的信息。當(dāng)命令被執(zhí)行時(shí),可以重置被指定的狀態(tài)信息以恢復(fù)初始值。例如,盡管“媒體改變”是表示該卡內(nèi)的文件系統(tǒng)信息已經(jīng)被更新的狀態(tài)信息,當(dāng)在主機(jī)設(shè)備中高速緩存的文件系統(tǒng)信息可以被更新時(shí),主機(jī)參考“媒體改變”信息,并且,如果該卡的文件系統(tǒng)已經(jīng)被更新,主機(jī)使得主機(jī)設(shè)備的文件系統(tǒng)信息反映該卡的文件系統(tǒng)信息。在這個(gè)時(shí)候,可以執(zhí)行“Reset”命令以返回“媒體改變”信息為初始值,以便能夠重新參考“媒體改變”信息,由此可以識(shí)別出能夠再次更新該卡的文件系統(tǒng)信息。
“Remove”命令是由表示SSID名稱的“ssid”一個(gè)自變量構(gòu)成的。當(dāng)命令被執(zhí)行時(shí),可以從記錄在卡中的“SSIDHistory”寄存器中刪除指定的SSID。例如,當(dāng)已經(jīng)變得無(wú)用的SSID仍存在于“SSID歷史”寄存器中記錄的SSiD中,該卡執(zhí)行到無(wú)用的SSID的連接,并且因此出現(xiàn)無(wú)用的連接處理。類似地,當(dāng)用戶未打算連接的SSID存在于記錄在“SSID歷史”寄存器中的SSID中時(shí),卡執(zhí)行到卡的連接,并且因此到其他SSID的連接不能被執(zhí)行。在這種情況下,通過(guò)執(zhí)行“Remove”命令,可以防止卡執(zhí)行到不期望的SSID的連接。
“EndApplication”命令是通過(guò)使用無(wú)自變量構(gòu)成的命令。當(dāng)該命令被執(zhí)行時(shí),當(dāng)前正在被執(zhí)行的應(yīng)用被終止,并且卡能夠返回到初始狀態(tài)。
“ReadResponse”命令是由表示圖22所描述的“Wi-Fi SD命令序列ID”的“sequenceID”一個(gè)自變量構(gòu)成的。當(dāng)命令被執(zhí)行時(shí),可以獲取在已經(jīng)執(zhí)行的命令當(dāng)中具有被指定的“Wi-Fi SD命令序列ID”命令的響應(yīng)數(shù)據(jù)。例如,在多個(gè)命令的處理已經(jīng)被完成的狀態(tài)下,可以通過(guò)指定“sequenceID”以任意順序來(lái)讀取已經(jīng)完成的命令的響應(yīng)數(shù)據(jù)項(xiàng)。應(yīng)當(dāng)注意的是,通過(guò)分配圖28中所描述的“Wi-Fi SD命令響應(yīng)狀態(tài)#1”給缺省的響應(yīng)數(shù)據(jù)寄存器端口,當(dāng)一次只有一個(gè)命令被發(fā)出時(shí),可以省略“ReadResponse”命令的發(fā)出。
“SendHttpMessage”命令是由表示傳送目的地的服務(wù)器的“hostname”、表示記錄將要被傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“messageFileName”和表示HTTP頭是否被記錄在該文件中的“headerRemoval”三個(gè)自變量構(gòu)成。在命令被執(zhí)行之前,由HTTP請(qǐng)求線、HTTP消息頭以及HTTP消息體構(gòu)成的HTTP請(qǐng)求消息被記錄在該文件中。當(dāng)主機(jī)執(zhí)行命令時(shí),該卡將文件作為HTTP請(qǐng)求消息傳送到指定傳送目的地的服務(wù)器。傳送目的地服務(wù)器返回HTTP響應(yīng)消息以響應(yīng)于來(lái)自該卡的HTTP請(qǐng)求消息。該卡接收由HTTP響應(yīng)線、HTTP消息頭以及HTTP消息體構(gòu)成的HTTP響應(yīng)消息,并且將該消息作為文件記錄在該卡中。然而,當(dāng)“headerRemoval”的值被指定為“1”時(shí),HTTP響應(yīng)線、HTTP消息頭被刪除,并且僅有HTTP消息體作為文件記錄在該卡中。由此,當(dāng)附加的數(shù)據(jù)包括在HTTP響應(yīng)消息中時(shí),可以將附加的數(shù)據(jù)作為文件保存而無(wú)需主機(jī)處理HTTP響應(yīng)消息。在這個(gè)時(shí)候,文件連同“Wi-Fi SD命令序列id”的文件名被記錄在圖43中示出的RESPONSE目錄中?!癢i-Fi SD命令序列id”是主機(jī)可以以命令之間的值不同的方式為每個(gè)命令任意指定的值,并且,甚至當(dāng)其他命令“SendHttpMessage”被同時(shí)執(zhí)行時(shí),可以以可區(qū)別的方式接收HTTP響應(yīng)消息的文件。更進(jìn)一步,當(dāng)所附的文件包括在HTTP響應(yīng)消息中時(shí),該卡通過(guò)消息中描述的MIME類型來(lái)識(shí)別所附文件的類型,并且將所附文件記錄在相應(yīng)于圖43所示的MIME類型的目錄中作為文件。在這個(gè)時(shí)候,如果關(guān)于文件名的信息包括在HTTP響應(yīng)消息中,根據(jù)該信息記錄文件。以下示出構(gòu)成HTTP請(qǐng)求消息的文件的內(nèi)容的示例。
“SendHttpFile”命令由表示傳送目的地的服務(wù)器的“hostname”、表示記錄將要傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“messageFileName”、表示附加到將要傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“appendFileName”和表示HTTP頭是否被記錄在文件中的“header Removal”四個(gè)自變量構(gòu)成。盡管基本的配置與“SendHttpMessage”命令相同,不同點(diǎn)在于,當(dāng)該卡傳送HTTP請(qǐng)求消息時(shí),HTTP請(qǐng)求消息中的特定字符串(例如“<!--WIFISDFILE-->”)能夠被附加在HTTP請(qǐng)求消息的文件的內(nèi)容代替。通過(guò)使用這個(gè)命令,可以將已經(jīng)記錄在卡中的文件作為HTTP請(qǐng)求消息傳送而不處理它。例如,當(dāng)該卡中的攝像數(shù)據(jù)被上傳到web服務(wù)器時(shí),命令可以被使用。以下示出構(gòu)成HTTP請(qǐng)求消息的文件內(nèi)容的示例。
“SendHttpSSLMessage”命令由表示傳送目的地的服務(wù)器的“hostname”、表示記錄將要被傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“messageFileName”以及表示HTTP頭是否被記錄在文件中的“headerRemoval”三個(gè)自變量構(gòu)成。盡管基本配置與“SendHttpMessage”命令相同,不同點(diǎn)在于,HTTP請(qǐng)求消息的傳送以及HTTP響應(yīng)消息的接收能夠通過(guò)使用該命令借助于SSL(安全套接字層)或者TLS(傳輸層安全)加密這些消息來(lái)執(zhí)行。
“SendHttpSSLFile”命令是由表示發(fā)送目的地的服務(wù)器的“hostname”、表示記錄將要被傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“messageFileName”、表示附加到將要被傳送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“appendFileName”和表示HTTP頭是否被記錄在文件中的“headerRemoval”四個(gè)自變量構(gòu)成。盡管基本配置與“SendHttpFile”命令相同,不同點(diǎn)在于HTTP請(qǐng)求消息的傳送以及HTTP響應(yīng)消息的接收能夠通過(guò)使用該命令借助于SSL(安全套接字層)或者TLS(傳輸層安全)加密這些消息而執(zhí)行。
“SendHttpMessageByRegister”命令是由表示傳送目的地的服務(wù)器的“hostname”以及表示將要被傳送的HTTP請(qǐng)求消息的“message”兩個(gè)自變量構(gòu)成。與“SendHttpMessage”命令不同,HTTP消息不被寫入到該卡的文件中,并且主機(jī)能夠直接將HTTP消息寫入到Wi-Fi SD卡命令寫寄存器中。例如,當(dāng)諸如密碼等的信息將要被發(fā)送到傳送目的地的服務(wù)器時(shí),可以防止出現(xiàn)由于將密碼寫入文件而產(chǎn)生的密碼漏失到外部。當(dāng)主機(jī)執(zhí)行該命令時(shí),該卡傳送輸入HTTP請(qǐng)求消息(由HTTP請(qǐng)求線、HTTP消息頭和HTTP消息體構(gòu)成)至指定的傳送目的地的服務(wù)器。傳送目的地的服務(wù)器響應(yīng)于來(lái)自該卡的HTTP請(qǐng)求消息返回HTTP響應(yīng)消息。該卡接收由HTTP響應(yīng)線、HTTP消息頭和HTTP消息體構(gòu)成的HTTP響應(yīng)消息,并且將HTTP響應(yīng)消息作為圖30所示的“響應(yīng)數(shù)據(jù)”寫入到Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器。通過(guò)使用命令CMD 48主機(jī)能夠通過(guò)讀取Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器,來(lái)讀取被執(zhí)行的“SendHttpMessageByRegister”的HTTP響應(yīng)消息。
“SendHttpFileByRegister”命令由表示發(fā)送目的地的服務(wù)器的“hostname”、表示附加到將要被發(fā)送的HTTP請(qǐng)求消息的文件的文件路徑和文件名的“appendFileName”以及表示將要被發(fā)送的HTTP請(qǐng)求的消息的“message”三個(gè)自變量構(gòu)成。盡管基本配置與“SendHttpMessageByRegister”命令相同,不同點(diǎn)在于,當(dāng)卡傳送HTTP請(qǐng)求消息時(shí),在HTTP請(qǐng)求消息中的特定字符串(例如,“<!--WIFISDFILE-->”)能夠被HTTP請(qǐng)求消息中附加的文件的內(nèi)容所代替。
“SendHttpSSLMessageByRegister”命令由表示發(fā)送目的地的服務(wù)器的“hostname”和表示將要被發(fā)送的HTTP請(qǐng)求消息的“message”兩個(gè)自變量構(gòu)成。盡管基本配置與“SendHttpMessageByRegister”命令相同,不同點(diǎn)在于HTTP請(qǐng)求消息的傳送以及HTTP響應(yīng)消息的接收能夠通過(guò)使用該命令借助于SSL(安全套接字層)或者TLS(傳輸層安全)加密這些消息來(lái)執(zhí)行。
“SendHttpSSLFileByRegister”命令由表示發(fā)送目的地的服務(wù)器的“hostname”、表示要發(fā)送的HTTP請(qǐng)求消息所附的文件的文件路徑和文件名的“appendFileName”以及表示要被發(fā)送的HTTP請(qǐng)求消息的“message”三個(gè)自變量構(gòu)成。盡管基本配置與“SendHttpFileByRegister”命令相同,不同點(diǎn)在于,HTTP請(qǐng)求消息的傳送以及HTTP響應(yīng)消息的接收能夠通過(guò)使用該命令借助于SSL(安全套接字層)或者TLS(傳輸層安全)加密這些消息來(lái)執(zhí)行。
“GetFile”命令由表示要被接收的文件的文件路徑和文件名的“requestFileName”和表示被接收文件的記錄目的地的文件路徑和文件名的“saveFileName”兩個(gè)自變量構(gòu)成。這個(gè)命令在P2P客戶端應(yīng)用中被執(zhí)行,并且基于從發(fā)送方獲得的在“FILELIST”文件(在圖43中示出)中描述的可獲取的文件的文件路徑和文件名,接收方能夠從發(fā)送方獲得期望的文件,并且在指定的文件中記錄該文件。
“SelectID”命令是由表示許可訪問(wèn)的接收方ID的“id”一個(gè)自變量構(gòu)成。這個(gè)命令在P2P約束服務(wù)器應(yīng)用中被執(zhí)行。P2P約束服務(wù)器應(yīng)用請(qǐng)求接收方發(fā)送ID以便確定是否要發(fā)放給接收方訪問(wèn)許可。接收方發(fā)送接收方ID至發(fā)送方以便獲取訪問(wèn)許可,并且發(fā)送方僅為發(fā)送方意圖將訪問(wèn)許可發(fā)放給的接收方執(zhí)行該命令。未被執(zhí)行該命令的接收方的ID不能獲得對(duì)發(fā)送方的訪問(wèn)。在此時(shí),考慮到除接收方ID外,多個(gè)接收方具有與“id”值相同的ID的情形,主機(jī)可以指定接收方卡的MAC地址,這使得能夠唯一確定接收方卡。
“CancelID”命令由表示取消訪問(wèn)的接收方ID的“id”一個(gè)自變量構(gòu)成。該命令在P2P約束服務(wù)器應(yīng)用中被執(zhí)行。通過(guò)在P2P約束服務(wù)器應(yīng)用中執(zhí)行這個(gè)命令,可以為已經(jīng)被發(fā)放訪問(wèn)許可的接收方取消訪問(wèn)許可。在此時(shí),考慮到除接收方的ID外,多個(gè)接收方具有與“id”值相同的ID的情況,主機(jī)可以指定接收方卡的MAC地址,這使得能夠唯一確定接收方卡。
“SetMailAccount”命令由表示賬戶名的“accountName”和表示其密碼的“password”兩個(gè)自變量構(gòu)成。通過(guò)執(zhí)行該命令,可以為郵件服務(wù)器設(shè)置郵件賬戶并且執(zhí)行郵件的傳送和接收。
“SendSmtpMessage”命令是由表示傳送目的地地址的“address”和表示記錄要被傳送的郵件主體的文件的文件路徑和文件名的“messageFileName”兩個(gè)自變量構(gòu)成。通過(guò)執(zhí)行該命令,該卡將指定的文件作為郵件的主體傳送到傳送目的地的地址。
“SendSmtpMessage”命令是由表示傳送目的地地址的“address”、表示記錄要被發(fā)送的郵件主體的文件的文件路徑和文件名的“messageFileName”和表示將被附加的文件的文件路徑和文件名的“appendFileName”三個(gè)自變量構(gòu)成。通過(guò)執(zhí)行該命令,該卡使得指定的文件作為郵件主體,使指定的附加文件執(zhí)行Base64轉(zhuǎn)換,然后將文件從二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù),以將轉(zhuǎn)換的文件附加于郵件主體的尾部,并且執(zhí)行到傳送目的地地址的文件傳送。
“SendSmtpMessageByRegister”命令由表示傳送目的地地址的“address”和表示要被傳送的郵件主體的“message”兩個(gè)自變量構(gòu)成。通過(guò)執(zhí)行這個(gè)命令,該卡將作為命令自變量的數(shù)據(jù)輸入傳送至傳送目的地地址作為郵件主體。
“SendSmtpFileByRegister”命令由表示發(fā)送目的地地址的“address”、表示所附文件的文件路徑和文件名的“appendFileName”以及表示將被發(fā)送的郵件主體的“message”三個(gè)自變量構(gòu)成。通過(guò)執(zhí)行該命令,該卡使得作為命令自變量的數(shù)據(jù)輸入成為郵件主體,使指定的附加文件執(zhí)行Base64轉(zhuǎn)換,然后將文件從自二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù),以附加該轉(zhuǎn)換的文件到郵件主體的尾部,并且執(zhí)行至傳送目的地地址的郵件傳送。
“ShowDeviceList”命令是配置為獲取網(wǎng)絡(luò)中設(shè)備列表的命令。
“PrintImageByDLNA(file,targetDevice)”命令是配置為傳輸指定圖像至網(wǎng)絡(luò)中的設(shè)備以打印該圖像的命令。
“DisplayImageByDLNA(file,targetDevice)”命令是配置為傳輸指定圖像至網(wǎng)絡(luò)中的設(shè)備以顯示該圖像的命令。
“PlayVideoByDLNA(file,targetDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以再現(xiàn)該視頻數(shù)據(jù)的命令。
“StopVideoByDLNA(file,targetDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以停止再現(xiàn)的命令。
“PauseOnVideoByDLNA(file,targetDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以暫停再現(xiàn)的命令。
“PauseOffPlayVideoByDLNA(file,targetDevice)”是傳送指定的視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以取消再現(xiàn)暫停的命令。
“SeekVideoByDLNA(time,address,file,targetDevice)”命令是配置為再現(xiàn)來(lái)自將被傳輸給網(wǎng)絡(luò)中的設(shè)備的期望部分(文件的地址或者視頻數(shù)據(jù)開始時(shí)間的再現(xiàn))的指定的視頻數(shù)據(jù)的命令。
“FastForwardVideoByDLNA(file,targetDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以執(zhí)行快進(jìn)再現(xiàn)的命令。
“SlowForwardVideoByDLNA(file,targetDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以執(zhí)行慢再現(xiàn)的命令。
“FastBackwardVideoByDLNA(file,targeDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以執(zhí)行回退/再現(xiàn)的命令。
“SlowBackwardVideoByDLNA(file,targeDevice)”命令是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以執(zhí)行逆向慢再現(xiàn)的命令。
“StreamingDownloadVideoByDLNA(file,targetDevice)”是配置為傳輸指定視頻數(shù)據(jù)至網(wǎng)絡(luò)中的設(shè)備以在執(zhí)行再現(xiàn)時(shí)執(zhí)行記錄的命令。
“SendFileByDLNA(file,targetDevice)”命令是配置為傳輸指定文件至網(wǎng)絡(luò)中設(shè)備的命令。
“SelectFileByDLNA(file)”命令是配置為打開指定文件給網(wǎng)絡(luò)中的設(shè)備的命令。
“CancelFileByDLNA(file)”命令是配置為使指定文件對(duì)于網(wǎng)絡(luò)中的設(shè)備不打開的命令。對(duì)于該設(shè)備已經(jīng)打開的文件的打開狀態(tài)可以被取消。
圖26和圖27示出Wi-Fi SD卡狀態(tài)寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”被配置為表示該寄存器是Wi-Fi SD卡狀態(tài)寄存器,并且在其中記錄字符串“WIFISDSR”。
“Wi-Fi SD卡寄存器的大小”指示該寄存器的大小,如果該值大于512,主機(jī)不能通過(guò)一次執(zhí)行命令CMD 48讀取該寄存器中所有的值,并且主機(jī)需要執(zhí)行次數(shù)相應(yīng)于ceil(寄存器大小/512)的命令CMD 48。
“iSDIO狀態(tài)”是表示全部卡狀態(tài)的信息,并且由“命令響應(yīng)更新(CRU)”、“異步命令響應(yīng)更新(ARU)”、“媒體改變更新(MCU)”以及“Wi-Fi SD數(shù)據(jù)更新(WFU)”構(gòu)成,其中的每個(gè)由一位構(gòu)成。進(jìn)一步,在該卡支持中斷的情況下,當(dāng)每位被設(shè)置為“1b”(數(shù)據(jù)“1”)時(shí),在中斷線上發(fā)生中斷。當(dāng)圖28所示的“命令響應(yīng)狀態(tài)”改變(以被設(shè)置,例如當(dāng)命令響應(yīng)狀態(tài)值變?yōu)?x02,0x03,0x04或者0x08至0xff時(shí))時(shí),“CRU”是要被設(shè)置的標(biāo)識(shí)。當(dāng)圖29中所示的“異步命令響應(yīng)狀態(tài)”改變(以被設(shè)置,例如當(dāng)異步命令響應(yīng)狀態(tài)值變?yōu)?x02,0x03,0x04或者0x08至0xff時(shí))時(shí),“ARU”是被設(shè)置的標(biāo)識(shí)。當(dāng)存儲(chǔ)器狀態(tài)的值改變(以被設(shè)置,例如當(dāng)圖26所示的媒體改變的值改變時(shí))時(shí),“MCU”是被設(shè)置的標(biāo)識(shí)。當(dāng)Wi-Fi狀態(tài)的值改變(以被設(shè)置,例如,當(dāng)圖26中所示的SSID列表更新、文件列表更新或者ID列表更新的值改變時(shí))時(shí),“WFU”是被設(shè)置的標(biāo)識(shí)。
“iSDIO狀態(tài)屏蔽”是配置為使“iSDIO狀態(tài)”有效或者無(wú)效的信息,并且由“CRU MSK”、“ARU MSK”、“MCU MSK”以及“WFU MSK”構(gòu)成,它們中的每個(gè)由一位構(gòu)成。當(dāng)“CRU MSK”被設(shè)置為“0b”(數(shù)據(jù)“0”)時(shí),與其相應(yīng)的“CRU”變?yōu)闊o(wú)效(中斷能力也可以變?yōu)闊o(wú)效),以及“CRU MSK”被設(shè)置為“1”,而“CRU”變?yōu)橛行?中斷能力也可以變?yōu)橛行??!癆RU MSK”、“MCU MSK”以及“WFU MSK”也是同樣的。
“Error Status”是配置為表示整個(gè)卡的錯(cuò)誤狀態(tài)的信息,并且由分別由一位構(gòu)成的“命令響應(yīng)錯(cuò)誤(CRE)”和“異步命令響應(yīng)錯(cuò)誤(ARE)”構(gòu)成。當(dāng)圖28中所示的“命令響應(yīng)狀態(tài)”改變?yōu)殄e(cuò)誤狀態(tài)(以被設(shè)置,例如,當(dāng)命令響應(yīng)狀態(tài)的值改變?yōu)?x02或者0x08至0xff時(shí))時(shí),“CRE”是被設(shè)置的標(biāo)識(shí)。當(dāng)圖29所示的“異步命令響應(yīng)狀態(tài)”被改變?yōu)殄e(cuò)誤狀態(tài)(以被設(shè)置,例如當(dāng)異步命令響應(yīng)狀態(tài)的值改變?yōu)?x02或者0x08至0xff時(shí))時(shí),“ARE”是被設(shè)置的標(biāo)識(shí)。
“WLAN”是表示無(wú)線局域網(wǎng)狀態(tài)的信息,并且表示“初始”、“掃描”、“關(guān)聯(lián)”、“STA”以及“AP”之一的狀態(tài),它們?cè)趫D42中示出。
“應(yīng)用”是表示當(dāng)前執(zhí)行的應(yīng)用的信息,并且表示“初始應(yīng)用”、“服務(wù)器上傳應(yīng)用”、“P2P服務(wù)器應(yīng)用”、“P2P約束服務(wù)器應(yīng)用”、“P2P客戶端應(yīng)用”、“DLNA服務(wù)器應(yīng)用”以及“DLNA控制器應(yīng)用”之一的狀態(tài),它們?cè)趫D41中被示出。
“SSID”示出該卡當(dāng)前連接到的或構(gòu)成的無(wú)線局域網(wǎng)的SSID名。當(dāng)該卡在該卡未被連接到無(wú)線局域網(wǎng)的狀態(tài)下時(shí),在該卡連接到無(wú)線局域網(wǎng)或者在該無(wú)線局域網(wǎng)被構(gòu)成時(shí)指示將被使用的SSD名。
“網(wǎng)絡(luò)認(rèn)證”表示當(dāng)前連接到無(wú)線局域網(wǎng)或者構(gòu)成無(wú)線局域網(wǎng)的網(wǎng)絡(luò)的認(rèn)證系統(tǒng)和數(shù)據(jù)加密方案,并且“開放系統(tǒng)和無(wú)加密”、“開放系統(tǒng)和WEP”、“共享密鑰和WEP”、“WPA和TKIP”、“WPA和AES”、“WPA-PSK和TKIP”、“WPA-PSL和AES”、“WPA2和TKIP”、“WPA2和AES”、“WPA2-PSK和TKIP”和“WPA2-PSK和AES”中的一個(gè)被選擇。
“HTTP處理”表示該卡當(dāng)前是否正在執(zhí)行HTTP消息的傳送/接收。
“HTTP過(guò)程”以百分比表示HTTP消息的傳送/接收進(jìn)度。該卡能夠從當(dāng)前正在被傳送/接收的HTTP消息頭中獲知消息的全部尺寸,并且從已經(jīng)傳送/接收的HTTP消息的尺寸計(jì)算進(jìn)度。
“Date”表示當(dāng)前日期。
“Time”表示當(dāng)前時(shí)間。
“媒體改變”是表示該卡中NAND存儲(chǔ)器模塊的文件分配表(FAT)信息是否被更新的信息。當(dāng)FAT信息被更新,如果在主機(jī)中存在高速緩存的FAT信息,主機(jī)需要再次將FAT信息高速緩存到該卡中。應(yīng)當(dāng)注意的是,通過(guò)執(zhí)行配置為終止應(yīng)用的“EndApplication”命令或者配置為初始化狀態(tài)信息的“Reset”命令,可以設(shè)置該信息為初始值。
“SSID列表更新”是表示“SSID列表”是否被更新的信息。當(dāng)“ScanWiFi”命令被執(zhí)行時(shí),該卡執(zhí)行搜索無(wú)線局域網(wǎng),創(chuàng)建“SSIDLIST”文件,并且設(shè)置“SSID列表更新”信息。通過(guò)參考該信息,主機(jī)能夠獲知該卡的搜索工作是否被完成。應(yīng)當(dāng)注意的是,通過(guò)再次執(zhí)行“ScanWiFi”命令或者通過(guò)執(zhí)行配置為初始化狀態(tài)信息的“Reset”命令,可以設(shè)置該信息為初始值。
“文件列表更新”是表示“文件列表”是否被更新的信息。在P2P客戶端應(yīng)用中,當(dāng)接收方側(cè)的訪問(wèn)被許可,該卡記錄從發(fā)送方側(cè)接收到的“文件列表”作為“FILELIST”,并且設(shè)置“文件列表更新”信息。通過(guò)參考該信息,主機(jī)能夠獲知該卡是否已經(jīng)獲取“文件列表”。通過(guò)執(zhí)行配置為終止應(yīng)用的“EndApplication”命令或者配置為初始化狀態(tài)信息的“Reset”命令,可以設(shè)置該信息為初始值。
“響應(yīng)數(shù)據(jù)更新”是表示“響應(yīng)日期”是否被更新的信息。通過(guò)使用“SendHttpMessageByRegister”等,主機(jī)通過(guò)Wi-Fi SD卡寄存器執(zhí)行HTTP消息的傳送/接收,并且該卡接收HTTP響應(yīng)消息,并設(shè)置“響應(yīng)數(shù)據(jù)”信息。通過(guò)參考該信息,主機(jī)可以獲知該卡已經(jīng)接收了HTTP響應(yīng)消息,并且使得參考Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器變?yōu)榭赡?。通過(guò)執(zhí)行配置為終止應(yīng)用的“EndApplication”命令或者配置為初始化狀態(tài)信息的“Reset”命令,可以設(shè)置該信息為初始值。當(dāng)主機(jī)通過(guò)使用命令CMD 48或者通過(guò)執(zhí)行配置為初始化狀態(tài)信息的“Reset”命令已經(jīng)完成所有“響應(yīng)數(shù)據(jù)”的讀取時(shí),可以設(shè)置該信息為初始值。
“響應(yīng)數(shù)據(jù)大小”是表示所接收的響應(yīng)數(shù)據(jù)的大小的信息。通過(guò)參考該信息,主機(jī)能夠確定將要發(fā)出的用于讀取響應(yīng)數(shù)據(jù)的命令CMD 48的發(fā)出次數(shù)。
“信號(hào)強(qiáng)度”是表示當(dāng)前信號(hào)強(qiáng)度的信息。“無(wú)信號(hào)”、“1級(jí)”、“2級(jí)”、“3級(jí)”、“4級(jí)”和“5級(jí)”之一被設(shè)置。
“MAC地址”是表示W(wǎng)i-Fi SD卡的MAC地址的信息。
“ID”是表示W(wǎng)i-Fi SD卡ID的信息。這個(gè)值反映被設(shè)置為圖33所示的用戶可設(shè)置的“卡配置信息”的ID信息的值。
“DHCP使能”是表示“DHCP”是否被啟用的信息。該值反映設(shè)置為圖33所示的用戶可設(shè)置的“卡配置信息”的“DHCP”信息的值。
“IP地址”是表示當(dāng)前設(shè)置的IP地址的信息。
“子網(wǎng)掩碼”是表示當(dāng)前設(shè)置的子網(wǎng)掩碼的信息。
“缺省網(wǎng)關(guān)”是表示當(dāng)前設(shè)置的缺省網(wǎng)關(guān)的信息。
“首選DNS服務(wù)器”是表示當(dāng)前設(shè)置的首選DNS服務(wù)器的信息。
“備用DNS服務(wù)器”是表示當(dāng)前設(shè)置的備用DNS服務(wù)器的信息。
“超時(shí)”是表示到當(dāng)卡執(zhí)行超時(shí)處理時(shí)超時(shí)的信息。這個(gè)值反映設(shè)置為圖33所示的用戶可設(shè)置的“卡配置信息”的“超時(shí)”信息的值。
“節(jié)電模式”是表示該卡是否是正在節(jié)電模式下運(yùn)行的信息。盡管該信息反映被設(shè)置為圖33所示的用戶可設(shè)置的“卡配置信息”的“節(jié)電模式”信息的值,不支持節(jié)電模式的卡一直都被設(shè)置為正常模式。
“WPS模式”是表示當(dāng)通過(guò)使用“WPS”執(zhí)行無(wú)線局域網(wǎng)的連接或者構(gòu)建時(shí)采用的WPS系統(tǒng)的信息。該信息可以通過(guò)“SetWPS”命令設(shè)置,并且配置為使用設(shè)置的pin碼執(zhí)行pin碼認(rèn)證的“利用PIN的WPS”和配置為執(zhí)行按鈕認(rèn)證的“利用PBC的WPS”之一被設(shè)置。應(yīng)當(dāng)注意的是當(dāng)“SetWPS”命令未被執(zhí)行時(shí),設(shè)置“WPS”未被使用的模式,并且執(zhí)行無(wú)線局域網(wǎng)的連接或者構(gòu)建無(wú)需使用“WPS”。
“代理服務(wù)器選擇的數(shù)量”是表示記錄在圖33所示的用戶可設(shè)置的“卡配置信息”中的“代理服務(wù)器名”中的哪個(gè)代理服務(wù)器被使用的信息。該信息反映設(shè)置為“卡配置信息”的“所選代理服務(wù)器”信息的值。
“當(dāng)前郵件賬戶名”是表示當(dāng)前郵件賬戶名的信息。該信息反映由“SetMailAccount”命令設(shè)置的值。
圖28示出Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”是表示該寄存器是Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的信息,并且字符串“WIFISDRS”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且主機(jī)參考該信息,由此識(shí)別命令CMD 48應(yīng)當(dāng)被發(fā)出幾次,以及多大尺寸的數(shù)據(jù)應(yīng)當(dāng)被讀取。
“Wi-Fi SD命令響應(yīng)狀態(tài)的數(shù)量”是表示通過(guò)Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的一次讀取能夠獲得多少“Wi-Fi SD命令響應(yīng)狀態(tài)”的信息。
“Wi-Fi SD命令響應(yīng)狀態(tài)”是由“狀態(tài)記錄”、“Wi-Fi SD命令id”、“Wi-Fi SD命令序列id”、“命令響應(yīng)狀態(tài)”和“用于錯(cuò)誤狀態(tài)的為供應(yīng)商保留的”構(gòu)成。
“狀態(tài)記錄”是表示“Wi-Fi SD命令響應(yīng)狀態(tài)”是否出現(xiàn)的標(biāo)志。當(dāng)該標(biāo)志被設(shè)置為“0”時(shí),無(wú)信息呈現(xiàn)(主機(jī)不需要讀取“Wi-Fi SD命令響應(yīng)狀態(tài)”)并且,當(dāng)該標(biāo)識(shí)被設(shè)置為“1”時(shí),呈現(xiàn)信息(主機(jī)需要讀取“Wi-Fi SD命令響應(yīng)狀態(tài)”)。
“Wi-Fi SD命令id”表示通過(guò)Wi-Fi SD卡命令寄存器由主機(jī)發(fā)出的Wi-Fi SD命令的類型,并且在圖23、圖24和圖25中所示的Wi-Fi SD命令中的一個(gè)命令被記錄。
“Wi-Fi SD命令序列id”是當(dāng)主機(jī)已經(jīng)發(fā)出命令時(shí),為了識(shí)別每個(gè)命令,由主機(jī)分配給命令的值的一個(gè),并且設(shè)置相同的值。
“命令響應(yīng)狀態(tài)”是表示由主機(jī)發(fā)出的命令的狀態(tài)的信息,并且表示諸如發(fā)出的命令是否已經(jīng)無(wú)任何問(wèn)題而被卡接收并且處理、發(fā)出的命令是否由于任何問(wèn)題而已經(jīng)接收失敗、發(fā)出的命令的處理是否已經(jīng)被完成,發(fā)出的命令的處理是否已經(jīng)被掛起以及發(fā)出的命令的處理是否還未成功的狀態(tài)。例如,當(dāng)發(fā)出的命令的設(shè)置有問(wèn)題時(shí),或者當(dāng)因?yàn)榭▊?cè)正在處理另一個(gè)命令,新命令不能被接收時(shí),存在命令的接收不能被執(zhí)行的可能性。
“用于錯(cuò)誤狀態(tài)的為供應(yīng)商保留的”是表示當(dāng)已經(jīng)出現(xiàn)錯(cuò)誤時(shí),錯(cuò)誤出現(xiàn)的原因的信息。
圖29示出Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”是表示該寄存器是Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器的信息,并且字符串“WIFISDPS”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且主機(jī)參考該信息獲知應(yīng)當(dāng)發(fā)出多少次命令CMD 48,并且應(yīng)當(dāng)讀取多大的數(shù)據(jù)。
“Wi-Fi SD異步命令響應(yīng)狀態(tài)的數(shù)量”是表示通過(guò)一次Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器的讀取,可以獲取多少“異步命令響應(yīng)狀態(tài)”的信息。
“Wi-Fi SD異步命令響應(yīng)狀態(tài)”由“狀態(tài)記錄”、“Wi-Fi SD命令id”、“Wi-Fi SD命令序列id”、“異步命令響應(yīng)狀態(tài)”和“為供應(yīng)商保留的用于錯(cuò)誤狀態(tài)”構(gòu)成。
“狀態(tài)記錄”是表示“Wi-Fi SD命令響應(yīng)狀態(tài)”是否呈現(xiàn)的標(biāo)志。當(dāng)該標(biāo)志被設(shè)置為“0”時(shí),無(wú)信息呈現(xiàn)(主機(jī)不需要讀“Wi-Fi SD命令響應(yīng)狀態(tài)”),而當(dāng)該標(biāo)志被設(shè)置為“1”時(shí),信息呈現(xiàn)(主機(jī)需要讀取“Wi-Fi SD命令響應(yīng)狀態(tài)”)。
“Wi-Fi SD命令id”表示通過(guò)Wi-Fi SD卡命令寄存器由主機(jī)發(fā)出的Wi-Fi SD命令的類型,并且記錄在圖23、圖24和圖25中所示的Wi-Fi SD命令中的一個(gè)。
“Wi-Fi SD命令序列id”是當(dāng)主機(jī)已經(jīng)發(fā)出命令時(shí),為了識(shí)別每個(gè)命令,由主機(jī)分配給命令的其中一個(gè)值,并且相同的值被設(shè)置。
“異步命令響應(yīng)狀態(tài)”是表示主機(jī)發(fā)出的命令的狀態(tài)的信息,并且表示諸如發(fā)出的命令是否已經(jīng)無(wú)任何問(wèn)題而被卡接收并且處理、發(fā)出的命令是否由于任何問(wèn)題而已經(jīng)接收失敗、發(fā)出的命令的處理是否已經(jīng)被完成,發(fā)出的命令的處理是否已經(jīng)被掛起以及發(fā)出的命令的處理是否還未成功的狀態(tài)。
“用于錯(cuò)誤狀態(tài)的為供應(yīng)商保留的”是表示當(dāng)錯(cuò)誤已經(jīng)出現(xiàn)時(shí),錯(cuò)誤出現(xiàn)的原因的信息。
圖30示出Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的配置示例。
“Wi-Fi SD卡標(biāo)識(shí)符”是表明該寄存器是Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的信息,并且字符串“WIFISDRD”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且主機(jī)參考該信息獲知應(yīng)當(dāng)發(fā)出多少次命令CMD 48,并且應(yīng)當(dāng)讀取多大的數(shù)據(jù)。
“Wi-Fi SD響應(yīng)數(shù)據(jù)的數(shù)量”是表示通過(guò)一次Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的讀取,可以獲取多少“響應(yīng)數(shù)據(jù)”的信息。
“Wi-Fi SD命令id”表示通過(guò)Wi-Fi SD卡命令寄存器由主機(jī)發(fā)出的Wi-Fi SD命令的類型,并且在圖23、圖24和圖25中所示的Wi-Fi SD命令中的一個(gè)被記錄。
“Wi-Fi SD命令序列id”是當(dāng)主機(jī)已經(jīng)發(fā)出命令時(shí),為了識(shí)別每個(gè)命令,由主機(jī)分配給命令的其中一個(gè)值,并且相同的值被設(shè)置。
“響應(yīng)數(shù)據(jù)大小”是表示“響應(yīng)數(shù)據(jù)”的大小,并且作為“響應(yīng)數(shù)據(jù)”,在通過(guò)Wi-Fi SD命令寫寄存器傳送HTTP請(qǐng)求消息時(shí),或者在通過(guò)Wi-Fi SD響應(yīng)數(shù)據(jù)寄存器接收HTTP響應(yīng)消息時(shí),當(dāng)發(fā)出諸如“SendMessageByRegister”命令的命令時(shí),接收的數(shù)據(jù)被記錄。
圖31示出Wi-Fi SD卡ID列表寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”是表明該寄存器是Wi-Fi SD卡ID列表寄存器的信息,并且字符串“WIFISDIL”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且通過(guò)參考該信息,主機(jī)獲知應(yīng)當(dāng)發(fā)出多少次命令CMD 48,并且應(yīng)當(dāng)讀取多大的數(shù)據(jù)。
“接收方ID的數(shù)量”表示多少接收方ID被包括在該列表中。也就是說(shuō),其表示有多少分別正在執(zhí)行“P2P客戶端應(yīng)用”請(qǐng)求的接收方,該請(qǐng)求用于訪問(wèn)正在執(zhí)行“P2P約束服務(wù)器應(yīng)用”的發(fā)送方。
“接收方ID”是請(qǐng)求訪問(wèn)發(fā)送方的接收方的ID。該接收方的ID通過(guò)接收方的“卡配置信息”設(shè)置。
“接收方MAC地址”是請(qǐng)求訪問(wèn)發(fā)送方的接收方的MAC地址。
“接收方許可”是表示請(qǐng)求訪問(wèn)發(fā)送方的接收方訪問(wèn)是否被發(fā)送方許可的信息。也就是說(shuō),“接收方許可”是表示發(fā)送方是否已經(jīng)許可每個(gè)接收方通過(guò)使用“SelectID”命令訪問(wèn)發(fā)送方。
圖32示出Wi-Fi SD卡SSID歷史寄存器的配置示例。
“Wi-Fi SD卡寄存器標(biāo)識(shí)符”是表明該寄存器是Wi-Fi SD卡SSID歷史寄存器的信息,并且字符串“WIFISDSH”被記錄在其中。
“Wi-Fi SD卡寄存器的大小”是表示寄存器大小的信息,并且參考該信息,主機(jī)獲知應(yīng)當(dāng)發(fā)出多少次命令CMD 48,并且應(yīng)當(dāng)讀取多大的數(shù)據(jù)。
在“SSID”中,記錄當(dāng)此前該卡已經(jīng)被連接到無(wú)線局域網(wǎng)或者當(dāng)無(wú)線局域網(wǎng)已經(jīng)被構(gòu)建時(shí)在SSID歷史列表中使用的SSID的名稱。
在“MAC地址”中,記錄對(duì)應(yīng)于當(dāng)此前該卡已經(jīng)被連接到無(wú)線局域網(wǎng)或者當(dāng)無(wú)線局域網(wǎng)已經(jīng)被構(gòu)建時(shí)在SSID歷史列表中使用的SSID的訪問(wèn)點(diǎn)(AP)的MAC地址。
應(yīng)當(dāng)注意的是,盡管未記載在寄存器中,但諸如密碼、通道等每個(gè)SSID的信息被保存在卡中,并且,當(dāng)主機(jī)被連接到無(wú)線局域網(wǎng)或者當(dāng)無(wú)線局域網(wǎng)被構(gòu)建時(shí),如果特定的SSID未被指定,卡對(duì)于卡能夠連接的或者通過(guò)使用前述信息能夠構(gòu)建的SSID執(zhí)行搜索。
圖33示出Wi-Fi SD卡“配置信息”的配置示例。
“Wi-Fi SD卡標(biāo)識(shí)符”是表示該信息是Wi-Fi SD卡“配置信息”的信息,并且字符串“WIFISDCI”被記錄在其中。
“配置信息的大小”是表示W(wǎng)i-Fi SD卡“配置信息”的大小的信息。
“ID”是配置為設(shè)置該卡的ID的信息,并且在“P2P客戶端應(yīng)用”的執(zhí)行時(shí),當(dāng)接收方的ID被發(fā)送到發(fā)送方時(shí)被使用。
“DHCP使能”是配置為設(shè)置DHCP是否用于IP地址等的設(shè)置的信息。
“IP地址”是當(dāng)IP地址被手動(dòng)設(shè)置時(shí)使用的信息。
“子網(wǎng)掩碼”是當(dāng)“子網(wǎng)掩碼”被手動(dòng)設(shè)置時(shí)使用的信息。
“缺省網(wǎng)關(guān)”是當(dāng)“缺省網(wǎng)關(guān)”被手動(dòng)設(shè)置時(shí)使用的信息。
“首選DNS服務(wù)器”是當(dāng)首選DNS服務(wù)器被手動(dòng)設(shè)置時(shí)使用的信息。
“備用DNS服務(wù)器”是當(dāng)備用DNS服務(wù)器被手動(dòng)設(shè)置時(shí)使用的信息。
“超時(shí)”是配置為設(shè)置等待到當(dāng)卡執(zhí)行超時(shí)處理時(shí)的時(shí)間的信息。圖27中所示的Wi-Fi SD卡狀態(tài)寄存器的“超時(shí)”信息反映該值,并且主機(jī)能夠參考該信息。
“節(jié)電模式”是配置為設(shè)置該卡是否運(yùn)行在節(jié)電模式下的信息。在卡不支持節(jié)電模式中,該設(shè)置被忽略。
“代理服務(wù)器數(shù)量”是被設(shè)置給該卡的代理服務(wù)器的數(shù)量。
“選擇的代理服務(wù)器”是表示當(dāng)前在使用被設(shè)置給該卡的代理服務(wù)器中的哪個(gè)。(例如指示列表的號(hào)碼)
“代理服務(wù)器名稱長(zhǎng)度”是設(shè)置的代理服務(wù)器的名稱的字符數(shù)。
“代理服務(wù)器名稱”是被設(shè)置的代理服務(wù)器名稱。
“端口號(hào)”是被設(shè)置的代理服務(wù)器的端口號(hào)。
作為“郵件地址”,執(zhí)行郵件的傳送/接收的用戶的郵件地址被設(shè)置。
進(jìn)一步,盡管未示出,該卡能夠連接到的web服務(wù)的主機(jī)名,連接到web服務(wù)的必要信息(例如,用戶賬戶名,密碼以及令牌數(shù)據(jù))等也能夠被記錄。
應(yīng)當(dāng)注意的是,對(duì)除信息項(xiàng)中的一部分外的對(duì)應(yīng)于圖26和圖27中示出的Wi-Fi SD卡狀態(tài)寄存器的信息項(xiàng)進(jìn)行設(shè)置,并且對(duì)于哪個(gè)值被用于實(shí)際操作,可以通過(guò)發(fā)出命令CMD 48參考Wi-Fi SD卡狀態(tài)寄存器。
圖34示出通過(guò)使用寫命令(CMD 49)發(fā)出Wi-Fi SD卡的命令的情況下的時(shí)序圖,即當(dāng)訪問(wèn)Wi-Fi SD卡命令寫寄存器被獲得時(shí)的時(shí)序圖。在此,圖34中的CMD和DAT表示該卡接口上的命令總線和數(shù)據(jù)總線,并且卡操作表示在那時(shí)的卡的運(yùn)行狀態(tài)。
當(dāng)寫命令(CMD 49)從主機(jī)設(shè)備發(fā)出時(shí),SD卡11返回響應(yīng)(R1)給主機(jī)設(shè)備20。
接下來(lái),主機(jī)設(shè)備20將Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)(Wi-Fi SD卡命令)連同CRC一起發(fā)送至SD卡11。發(fā)送至SD卡11的數(shù)據(jù)被記錄在SD卡11的指定擴(kuò)展寄存器中。在SD卡11中,執(zhí)行發(fā)送數(shù)據(jù)的分析,并且因此使數(shù)據(jù)總線進(jìn)入忙狀態(tài)。由此,額外的命令不能由主機(jī)設(shè)備20發(fā)出。
在執(zhí)行數(shù)據(jù)的分析之后,當(dāng)SD卡11能夠接收命令時(shí),SD卡11設(shè)置“0x01”至Wi-Fi SD卡狀態(tài)寄存器的命令狀態(tài),并且當(dāng)卡11不能接收命令時(shí),設(shè)置“0x02”到其上。如果SD卡11能夠接收命令,SD卡11轉(zhuǎn)向命令的執(zhí)行處理。通過(guò)圖24至28所示的Wi-Fi SD卡狀態(tài)寄存器上的命令狀態(tài)能夠參考命令的執(zhí)行狀態(tài)。當(dāng)命令的執(zhí)行處理完成時(shí),命令的執(zhí)行狀態(tài)被從命令狀態(tài)中刪除,并且執(zhí)行結(jié)果反映在Wi-Fi SD卡狀態(tài)寄存器上用以換取命令執(zhí)行狀態(tài)的另一個(gè)狀態(tài)信息項(xiàng)中。
圖35是相應(yīng)于圖17的圖,并且示出通過(guò)多個(gè)寫命令(CMD 49)發(fā)出Wi-Fi SD卡命令情況下的時(shí)序圖,即Wi-Fi SD卡命令寫寄存器的大小超過(guò)512字節(jié)的情況下的時(shí)序圖。
當(dāng)命令CMD 49從主機(jī)設(shè)備20發(fā)出時(shí),SD卡11返回響應(yīng)(R1)給主機(jī)設(shè)備20。
接下來(lái),主機(jī)設(shè)備20首先將Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)(Wi-Fi SD卡命令)的n分之一(1/n)連同CRC一起發(fā)送至SD卡11。也就是說(shuō),超過(guò)512字節(jié)量的數(shù)據(jù)的前512字節(jié)被傳輸。被傳輸?shù)臄?shù)據(jù)被記錄在SD卡11的指定擴(kuò)展寄存器中。此時(shí),在SD卡11中,執(zhí)行發(fā)送到其上的數(shù)據(jù)的分析,并且因此,使數(shù)據(jù)總線進(jìn)入忙狀態(tài),由此,額外的命令不能由主機(jī)設(shè)備20發(fā)出。在這種情況下,SD卡11執(zhí)行數(shù)據(jù)的分析。
在第一個(gè)數(shù)據(jù)中,記錄數(shù)據(jù)大小(Nr),并且因此通過(guò)數(shù)據(jù)分析知道命令CMD 45將被相繼發(fā)出。在此之后,忙狀態(tài)被取消,并且狀態(tài)被設(shè)置在等待下一命令CMD 49的發(fā)出的地方。在忙狀態(tài)被取消后,主機(jī)設(shè)備20以與以上描述相同的方式發(fā)出命令49,并且傳輸Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)的剩余部分。在最后的命令CMD 49從主機(jī)設(shè)備20發(fā)出,并且Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)的最后n分之一(n/n)被傳輸之后,SD卡11分析數(shù)據(jù)(命令),并執(zhí)行命令的處理。
圖36是相應(yīng)于圖20的圖,并且示出多個(gè)Wi-Fi SD卡命令被包括在由一個(gè)寫命令(CMD 49)發(fā)出的數(shù)據(jù)中的情況下的時(shí)序圖。
例如,當(dāng)相繼執(zhí)行多個(gè)文件的傳輸時(shí),多個(gè)Wi-Fi SD卡命令的發(fā)出被采用。
當(dāng)命令CMD 49由主機(jī)設(shè)備20發(fā)出時(shí),SD卡11返回響應(yīng)(R1)至主機(jī)設(shè)備20。
接下來(lái),主機(jī)設(shè)備20將Wi-Fi SD卡命令寫寄存器的數(shù)據(jù)連同CRC一起發(fā)送至SD卡11。在SD卡11的指定擴(kuò)展寄存器中記錄發(fā)送至SD卡11的數(shù)據(jù)。在SD卡11中,分析發(fā)送至其的數(shù)據(jù)(命令#1至#n),因此,使數(shù)據(jù)總線進(jìn)入忙狀態(tài),并且額外的命令不能由主機(jī)設(shè)備20發(fā)出。
在執(zhí)行數(shù)據(jù)的分析之后,當(dāng)SD卡11能夠接收命令時(shí),SD卡11為多個(gè)發(fā)出的命令的每個(gè)命令設(shè)置“0x01”至Wi-Fi SD卡狀態(tài)寄存器上的命令狀態(tài),并且當(dāng)SD卡11不能接收命令時(shí),為多個(gè)發(fā)出的命令的每個(gè)命令設(shè)置“0x02”至Wi-Fi SD卡狀態(tài)寄存器上的命令狀態(tài)。如果SD卡11能夠接收命令,SD卡11執(zhí)行每個(gè)命令。通過(guò)Wi-Fi SD卡狀態(tài)寄存器上的命令狀態(tài),能夠參考所有命令的執(zhí)行狀態(tài)。
當(dāng)一個(gè)命令的執(zhí)行處理被完成時(shí),命令的執(zhí)行狀態(tài)被從命令狀態(tài)中刪除,并且執(zhí)行結(jié)果反映在Wi-Fi SD卡狀態(tài)寄存器上的另一個(gè)狀態(tài)信息項(xiàng)中,以交換命令執(zhí)行狀態(tài)。
接下來(lái),執(zhí)行仍未執(zhí)行的命令。盡管圖32中作為示例示出命令的執(zhí)行處理依次被執(zhí)行的時(shí)序圖,也可以并行實(shí)施命令的執(zhí)行處理。進(jìn)一步,通過(guò)優(yōu)化命令的執(zhí)行順序,SD卡11也可以實(shí)施命令的執(zhí)行處理。
根據(jù)圖36的實(shí)施例,多個(gè)Wi-Fi SD卡命令包括在由一個(gè)命令發(fā)出的數(shù)據(jù)中,并且因此,可以有效地傳輸和執(zhí)行Wi-Fi SD卡命令。
圖37示出使用讀命令(CMD 48)從Wi-Fi SD卡11獲取數(shù)據(jù)的情況的時(shí)序圖,即獲得對(duì)Wi-Fi SD卡狀態(tài)寄存器、Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器、Wi-Fi SD卡ID列表寄存器或者Wi-Fi SD卡SSID歷史寄存器的訪問(wèn)的情況。
當(dāng)讀命令(CMD 48)從主機(jī)設(shè)備20發(fā)出時(shí),SD卡11返回響應(yīng)(R1)至主機(jī)設(shè)備20。
接下來(lái),根據(jù)命令CMD 48的一個(gè)或多個(gè)自變量,SD卡11準(zhǔn)備擴(kuò)展寄存器中的Wi-Fi SD卡狀態(tài)寄存器、Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器、Wi-Fi SD卡ID列表寄存器和Wi-Fi SD卡SSID歷史寄存器中的一個(gè)的數(shù)據(jù)(例如,狀態(tài))。更進(jìn)一步,SD卡11將擴(kuò)展寄存器中的數(shù)據(jù)連同CRC一起發(fā)送到主機(jī)設(shè)備20。
圖38是相應(yīng)于圖17的圖,并且示出使用多個(gè)讀命令(CMD 48)獲取Wi-Fi SD卡數(shù)據(jù)的情況的時(shí)序圖,即Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器等的大小超過(guò)512字節(jié)的情況。
當(dāng)命令CMD 48從主機(jī)設(shè)備20發(fā)出時(shí),SD卡11返回響應(yīng)(R1)至主機(jī)設(shè)備20。
接下來(lái),SD卡11根據(jù)命令CMD 48的一個(gè)或多個(gè)自變量,在擴(kuò)展寄存器中準(zhǔn)備Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器等的數(shù)據(jù),并且將擴(kuò)展寄存器中的數(shù)據(jù)連同CRC一起發(fā)送至主機(jī)設(shè)備20。
主機(jī)設(shè)備20分析接收到的數(shù)據(jù)。數(shù)據(jù)大小(Nr)被記錄在第一數(shù)據(jù)中,并且因此獲知需要依次被發(fā)出的命令CMD 48。由此,在數(shù)據(jù)分析完成之后,下一命令CMD 48被發(fā)出。此后被執(zhí)行的操作與圖35所示的命令CMD 49的操作相同,并且因此省略其描述。
根據(jù)圖38所示的實(shí)施例,可以安全地讀取數(shù)據(jù)長(zhǎng)度超過(guò)512字節(jié)的數(shù)據(jù)。
圖39示出由SD卡支持的應(yīng)用示例。
圖40示出在啟動(dòng)時(shí)執(zhí)行的主機(jī)設(shè)備20的操作。
當(dāng)主機(jī)設(shè)備20啟動(dòng)時(shí),主機(jī)設(shè)備20發(fā)出讀命令(CMD 48),讀取擴(kuò)展寄存器31的頁(yè)面0中的數(shù)據(jù),并且確認(rèn)作為由SD卡11擁有的擴(kuò)展功能的無(wú)線通信功能(S11,S12)。也就是說(shuō),確認(rèn)什么無(wú)線通信功能(諸如Wi-Fi和藍(lán)牙)在SD卡11中被實(shí)現(xiàn)。然后,確定主機(jī)設(shè)備20是否支持SD卡11的擴(kuò)展功能(S13)。結(jié)果,當(dāng)主機(jī)設(shè)備20支持?jǐn)U展功能時(shí),讀取擴(kuò)展寄存器31的頁(yè)面i(i是除0以外的值)中的數(shù)據(jù)(S14),以便使得擴(kuò)展功能有效,并且,確認(rèn)SD卡11符合的例如標(biāo)準(zhǔn)的名稱、版本、簡(jiǎn)檔、設(shè)備信息等(S15)?;谝陨?,主機(jī)設(shè)備20使得由主機(jī)設(shè)備20擁有的最佳驅(qū)動(dòng)器有效(S16)。由此,可以訪問(wèn)SD卡11的擴(kuò)展功能。
接下來(lái),確定是否已經(jīng)確認(rèn)擴(kuò)展寄存器的所有頁(yè)面的功能(S17)。結(jié)果,當(dāng)存在剩余未確認(rèn)的頁(yè)時(shí),確認(rèn)下一頁(yè)面中的卡的功能(S18,S16),并且,當(dāng)所有頁(yè)面已經(jīng)被確認(rèn)時(shí),功能設(shè)置被終止。
圖41是應(yīng)用的狀態(tài)轉(zhuǎn)換圖。
圖39中所示的每個(gè)應(yīng)用以“初始應(yīng)用”是其初始化狀態(tài)的方式被配置,通過(guò)“StartApplication”命令使每個(gè)應(yīng)用進(jìn)行到其他每個(gè)應(yīng)用的轉(zhuǎn)換,并且通過(guò)“EndApplication”命令,使每個(gè)應(yīng)用返回到初始狀態(tài)。由此,可以防止各個(gè)應(yīng)用被同時(shí)執(zhí)行、減少卡實(shí)現(xiàn)的負(fù)擔(dān)并且簡(jiǎn)化主機(jī)的應(yīng)用的使用方法。
圖42是無(wú)線局域網(wǎng)的狀態(tài)轉(zhuǎn)換圖。
無(wú)線局域網(wǎng)的狀態(tài)被分類為“初始/失敗”、“掃描”、“AP”、“STA”以及“關(guān)聯(lián)”。
“初始/失敗”表示無(wú)線局域網(wǎng)的初始狀態(tài);然而,當(dāng)任何處理不成功時(shí),無(wú)線局域網(wǎng)進(jìn)行到與初始狀態(tài)相同的狀態(tài)的轉(zhuǎn)換。
“掃描”是表示當(dāng)前正在通過(guò)命令執(zhí)行的搜索的狀態(tài)。當(dāng)搜索被終止,并且“SSIDLIST”文件被輸出時(shí),狀態(tài)返回到初始狀態(tài)。
“AP”是無(wú)線局域網(wǎng)當(dāng)前被作為訪問(wèn)點(diǎn)構(gòu)建的狀態(tài)?!癆P”是執(zhí)行配置為從初始狀態(tài)建立基礎(chǔ)設(shè)施的AP的命令,或者執(zhí)行配置為啟動(dòng)一需要變成AP的應(yīng)用的命令的狀態(tài)。
“關(guān)聯(lián)”是一種狀態(tài),其中為了連接到作為基礎(chǔ)設(shè)施的STA的無(wú)線局域網(wǎng)執(zhí)行關(guān)聯(lián),并且DHCP服務(wù)器執(zhí)行IP地址的設(shè)定等。當(dāng)以上處理成功時(shí),該狀態(tài)使得轉(zhuǎn)換到建立到無(wú)線局域網(wǎng)的連接作為STA的狀態(tài),并且,當(dāng)處理失敗時(shí),狀態(tài)返回到補(bǔ)充說(shuō)明(supplementary-note)狀態(tài)。
應(yīng)當(dāng)注意的是,無(wú)線局域網(wǎng)的當(dāng)前狀態(tài)被反映在圖24所示的Wi-Fi SD卡狀態(tài)寄存器的WLAN信息中,并且主機(jī)能夠通過(guò)發(fā)出命令CMD 48獲知各個(gè)時(shí)間的無(wú)線局域網(wǎng)狀態(tài),并執(zhí)行相應(yīng)于無(wú)線局域網(wǎng)當(dāng)前狀態(tài)的命令。
圖43示出Wi-Fi SD卡內(nèi)的目錄配置。
“DCIM”目錄是配置為記錄由照相機(jī)文件系統(tǒng)(DCF)的設(shè)計(jì)規(guī)則指定的攝像數(shù)據(jù)的目錄。進(jìn)一步,MISC文件是配置為記錄由數(shù)字打印順序格式(DPOF)標(biāo)準(zhǔn)指定的影印以及其他數(shù)據(jù)的目錄?!癢IFISD”目錄是配置為記錄與當(dāng)前實(shí)施例中Wi-Fi SD卡相關(guān)聯(lián)的數(shù)據(jù)的目錄。
在“WIFISD”目錄下,“DOWNLOAD”目錄、“CONFIG”目錄、“SSIDLIST”文件以及“FILELIST”文件被記錄。
“DOWNLOAD”目錄是配置為記錄從其他方的服務(wù)器接收到的HTTP響應(yīng)消息的目錄。當(dāng)“SendHttpMessage”命令、“SendHttpFile”命令、“SendHttpSSLMessage”命令或者“SendSSLFile”命令被執(zhí)行時(shí),卡傳送HTTP請(qǐng)求消息至其他方的服務(wù)器,并且卡將來(lái)自其他方的服務(wù)器的HTTP響應(yīng)消息作為文件保存在“RESPONSE”目錄下。此時(shí),HTTP請(qǐng)求線、HTTP消息頭和HTTP消息體被記錄在該文件中,并且此時(shí)的文件名通過(guò)使用所發(fā)出的命令的“Wi-Fi SD命令序列id”與其他HTTP響應(yīng)消息相區(qū)別,并且使得主機(jī)參考HTTP響應(yīng)消息變?yōu)榭赡?。?dāng)文件將被記錄時(shí),卡也可以分析HTTP響應(yīng)消息,提取附加到HTTP響應(yīng)消息上的數(shù)據(jù)并且將數(shù)據(jù)作為另一個(gè)文件保存。例如,當(dāng)數(shù)據(jù)(其MIME類型是image/jpeg)被附加到HTTP響應(yīng)消息時(shí),卡識(shí)別MIME類型的子類型,并且將數(shù)據(jù)保存在JPEG目錄下。作為此時(shí)的文件名,使用諸如“DL000000.JPEG”至“DL999999.JPEG”的指定的序列號(hào)中的一個(gè)。當(dāng)關(guān)于下載的文件的文件名信息被包括在HTTP響應(yīng)消息中時(shí),文件名也可以被使用。當(dāng)數(shù)據(jù)(其MIME類型是未知的)被包括在HTTP響應(yīng)消息中時(shí),整個(gè)消息被保存在“UNDEF”目錄下。作為此時(shí)的文件名,使用指定的序列號(hào)“DL000000”至“DL999999”中的一個(gè)。
“CONFIG”文件是配置為記錄圖33所示的“Wi-Fi SD卡配置信息”的文件,并且主機(jī)能夠編輯該文件。進(jìn)一步,當(dāng)主機(jī)執(zhí)行“StartApplication”命令以執(zhí)行到無(wú)線局域網(wǎng)的連接或者無(wú)線局域網(wǎng)的建立時(shí),“卡配置信息”的設(shè)置信息被用于到無(wú)線局域網(wǎng)的連接以及無(wú)線局域網(wǎng)的設(shè)定。
“SSIDLIST”文件是輸出文件。當(dāng)“scanWiFi”命令被執(zhí)行時(shí),并且當(dāng)卡輸出列表至文件時(shí),可連接SSID名、信號(hào)強(qiáng)度以及“AP”的MAC地址作為列表被存儲(chǔ)在“SSIDLIST”文件中。主機(jī)可以通過(guò)參考該列表選擇要被連接的SSID名,并且能夠通過(guò)使用“SetSSID”命令來(lái)設(shè)置所選擇的SSID名。
“FILELIST”文件是通過(guò)記錄執(zhí)行“P2P[約束]服務(wù)器應(yīng)用”的發(fā)送方能夠作為文件傳送給執(zhí)行“P2P客戶端應(yīng)用”的接收方的文件列表形成的文件。可以在“FILELIST”文件中記錄要被傳送的文件的縮略圖文件的文件路徑和文件名以及該文件的元數(shù)據(jù)文件的文件路徑和文件名連同該文件的文件路徑和文件名。由此,在執(zhí)行從發(fā)送方的文件獲取之前,接收方可以僅接收縮略圖文件,并且當(dāng)確認(rèn)該縮略圖時(shí),僅選擇并接收必要的文件。更進(jìn)一步,在執(zhí)行文件獲取之前,可以從發(fā)送方僅獲取元數(shù)據(jù)文件,通過(guò)使用包括在元數(shù)據(jù)文件中的信息(例如,拍攝的拍攝時(shí)間信息、拍攝地點(diǎn)信息、拍攝設(shè)備信息、拍攝內(nèi)容信息等)對(duì)可獲取的文件分類,并且可以向用戶提供配置為選擇將要獲取的文件的層級(jí)菜單。應(yīng)當(dāng)注意的是,當(dāng)縮略圖文件和元數(shù)據(jù)文件不存在時(shí),它們可以被省略。
圖44是示出Wi-Fi SD卡的命令處理流程的視圖。
1.通過(guò)使用命令CMD 49寫入“Wi-Fi命令信息”至Wi-Fi SD卡命令寫寄存器,主機(jī)發(fā)出Wi-Fi SD命令至該卡。
2.當(dāng)命令被發(fā)出時(shí),表示該卡是否已經(jīng)接收發(fā)出的命令的信息被該卡記錄在Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”中。更進(jìn)一步,當(dāng)發(fā)出的命令是異步命令時(shí),信息也被記錄在Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”中。
3.主機(jī)能夠通過(guò)使用命令CMD 48讀取Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器或者Wi-Fi SD卡異步命令響應(yīng)寄狀態(tài)存器的“命令響應(yīng)信息”,并且確認(rèn)卡已經(jīng)接收由主機(jī)發(fā)出的命令或者卡由于某些原因(在發(fā)出的命令和自變量中已經(jīng)存在錯(cuò)誤,或者卡已經(jīng)在命令處理的過(guò)程中,并且因此該開已經(jīng)在卡不能接收新命令的狀態(tài)下)不能夠接收該命令。
4.更進(jìn)一步,主機(jī)能夠通過(guò)使用命令CMD 48讀取Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器或者Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”,并且確認(rèn)由主機(jī)發(fā)出的命令的處理狀態(tài)(命令處于未處理狀態(tài),處于正在處理狀態(tài),處于處理后的成功狀態(tài),處于處理后的未成功狀態(tài)或者處于處理掛起狀態(tài))。
5.處理已經(jīng)完成的命令能夠依次從Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器或者Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器中刪除,并且以后可以保持需要被參考的命令如現(xiàn)狀。進(jìn)一步,作為命令處理完成的結(jié)果,更新Wi-Fi SD卡狀態(tài)寄存器的“媒體改變”、“SSID列表更新”、“文件列表更新”、“響應(yīng)數(shù)據(jù)更新”等信息項(xiàng)。
在此,Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器或者Wi-Fi SD卡異步命令響應(yīng)狀態(tài)寄存器能夠以隊(duì)列形式實(shí)現(xiàn)。由此,對(duì)于主機(jī)而言可以通過(guò)之前獲知的卡能夠接收的命令的數(shù)量通過(guò)由主機(jī)確定的時(shí)間發(fā)出命令。卡依據(jù)與卡能夠接收的命令數(shù)量相應(yīng)的數(shù)量,接受來(lái)自主機(jī)的命令發(fā)出,并且不接受數(shù)量超出以上數(shù)量的命令。卡按照接收的順序處理命令。已經(jīng)完成處理的命令可以被從隊(duì)列中刪除。如果主機(jī)發(fā)出額外的命令,所有處理完成的命令被從隊(duì)列中刪除。從而,卡可以接受與被刪除的命令數(shù)量相應(yīng)的數(shù)量的命令。
圖50是示出命令響應(yīng)流程的視圖。
(1)初始地,命令響應(yīng)狀態(tài)處于“初始”狀態(tài)。如果卡接受命令,狀態(tài)進(jìn)入“命令正在處理”狀態(tài)。如果拒絕命令(例如,卡處于忙,卡不支持該命令,等等),狀態(tài)進(jìn)入“命令被拒絕”狀態(tài),并且狀態(tài)寄存器中的“CRU(命令響應(yīng)更新)”和“CRE(命令響應(yīng)錯(cuò)誤)”被設(shè)置為“1b”。(根據(jù)狀態(tài)記錄的時(shí)間可以跳過(guò)初始狀態(tài))
(2)主機(jī)設(shè)備通過(guò)讀取命令響應(yīng)狀態(tài)和錯(cuò)誤狀態(tài)確認(rèn)發(fā)出的命令被接受或是被拒絕。
(3)如果卡接受多個(gè)命令,卡在Wi-Fi SD卡命令寫寄存器數(shù)據(jù)中按照順序,順序地處理發(fā)出的命令。
(4)如果卡成功地完成命令處理,狀態(tài)進(jìn)入“處理成功”狀態(tài),并且在iSDIO狀態(tài)中的“CRU(命令響應(yīng)更新)”被設(shè)置為“1b”。如果失敗,例如,網(wǎng)絡(luò)錯(cuò)誤、自變量錯(cuò)誤、文件系統(tǒng)錯(cuò)誤(文件未找到,文件打開/關(guān)閉錯(cuò)誤等),狀態(tài)進(jìn)入“處理失敗”狀態(tài),并且狀態(tài)寄存器中的“CRU(命令響應(yīng)更新)”和“CRE(命令響應(yīng)錯(cuò)誤)”被設(shè)置為“1b”。(根據(jù)處理的速度,命令處理狀態(tài)可以跳過(guò))。
(5)當(dāng)命令被記錄在隊(duì)列中時(shí),主機(jī)設(shè)備可以通過(guò)發(fā)出“Abort”命令終止該命令。如果卡能夠接受該終止,狀態(tài)進(jìn)入“處理終止”狀態(tài),并且iSDIO狀態(tài)中的“CRU(命令響應(yīng)更新)”被設(shè)置為“1b”。
(6)主機(jī)設(shè)備通過(guò)讀取命令響應(yīng)狀態(tài)確認(rèn)命令處理是否已經(jīng)成功或者失敗。
圖45是示出Wi-Fi SD卡設(shè)置流程的視圖。
當(dāng)在卡中不存在“CONFIG”文件時(shí),主機(jī)創(chuàng)建包括“卡配置信息”的“CONFIG”文件。此時(shí),由主機(jī)指定的值(當(dāng)沒(méi)有值被指定時(shí),是初始值)被設(shè)置為“卡配置信息”中的每個(gè)信息項(xiàng)。當(dāng)無(wú)線局域網(wǎng)被連接到該卡或者被構(gòu)建時(shí),被設(shè)置為“卡配置信息”的值自動(dòng)地被設(shè)置到該卡。當(dāng)“CONFIG”文件不存在時(shí),該卡在初始值被設(shè)置為“卡配置信息”的前提下運(yùn)行。
然而,關(guān)于SSID和密碼短語(yǔ),在連接到無(wú)線局域網(wǎng)或者建立無(wú)線局域網(wǎng)之前,主機(jī)需要執(zhí)行“SetSSID”命令以設(shè)置記錄在主機(jī)中的SSID和密碼短語(yǔ)。這是因?yàn)槊艽a短語(yǔ)被記錄在文件中,以便防止密碼短語(yǔ)外流至外部。
在到無(wú)線局域網(wǎng)的連接或者無(wú)線局域網(wǎng)的建立之后,設(shè)置的SSID和“卡配置信息”的信息項(xiàng)怎樣被設(shè)置,可以使用命令CMD 48通過(guò)參考Wi-Fi SD卡狀態(tài)寄存器被獲知。
更進(jìn)一步,設(shè)置的SSID的歷史連同密碼短語(yǔ)以及“AP”的MAC地址被記錄在卡中,并且,甚至在與SSID相關(guān)的信息未通過(guò)使用“SetSSID”命令被設(shè)置時(shí),可以通過(guò)使用以前的歷史執(zhí)行無(wú)線局域網(wǎng)的連接/建立。應(yīng)當(dāng)注意的是,關(guān)于該信息,通過(guò)使用命令CMD 48,能夠參考Wi-Fi SD卡SSID歷史寄存器,并且關(guān)于非必需的SSID(例如,當(dāng)前不存在的SSID),能夠通過(guò)使用“RemoveSSID”命令從Wi-Fi SD卡SSID歷史寄存器中刪除特定的SSID。
圖46是示出P2P應(yīng)用流程的視圖。
1:發(fā)送方主機(jī)創(chuàng)建“FILELIST”文件,該文件通過(guò)到列表中形成可以由接收方訪問(wèn)的文件名稱而獲得。
2:為了建立無(wú)線局域網(wǎng),發(fā)送方主機(jī)通過(guò)使用命令CMD 49發(fā)出“SetSSID”命令以設(shè)置SSID的名稱、密碼短語(yǔ)和認(rèn)證系統(tǒng)至發(fā)送方卡。
3:為了啟動(dòng)“P2P約束服務(wù)器應(yīng)用”或者“P2P服務(wù)器應(yīng)用”,發(fā)送方主機(jī)通過(guò)命令CMD 49發(fā)出“StartApplication”命令。
4:為了搜索接收方卡能夠連接到的無(wú)線局域網(wǎng),接收方主機(jī)通過(guò)使用命令CMD 49發(fā)出“ScanWiFi”命令。
4.1:為了連接到無(wú)線局域網(wǎng),接收方卡執(zhí)行搜索(未示出)。
4.1.1:接收方卡創(chuàng)建“SSIDLIST”文件,該文件通過(guò)到接收方卡的列表中形成該卡能夠連接到的SSID的名稱而獲得(未示出)。
5:接收方主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“SSID列表更新”,以確認(rèn)由接收方卡執(zhí)行的對(duì)無(wú)線局域網(wǎng)的搜索已經(jīng)無(wú)任何問(wèn)題而被完成。
6:接收方主機(jī)讀取該卡中的“SSIDLIST”文件。
7:接收方主機(jī)從“SSIDLIST”文件中選擇SSID,并且通過(guò)使用命令CMD 49發(fā)出“SetSSID”命令,以便為接收方卡設(shè)置SSID和密碼短語(yǔ)。在此,當(dāng)接收方主機(jī)未執(zhí)行SSID選擇時(shí),接收方卡使用卡中記錄的“SSID歷史”中的SSID設(shè)置以及過(guò)去的設(shè)置。進(jìn)一步,也可以通過(guò)WPS為接收方卡和發(fā)送方卡執(zhí)行SSID設(shè)置。
8:為了啟動(dòng)“P2P客戶端應(yīng)用”,接收方主機(jī)通過(guò)使用命令CMD 49執(zhí)行“StartAppliction”命令。
8.1:接收方卡請(qǐng)求來(lái)自發(fā)送方卡的關(guān)聯(lián)。
8.2:當(dāng)接收方卡連接到發(fā)送方卡時(shí),接收方卡請(qǐng)求作為DHCP服務(wù)器的發(fā)送方卡執(zhí)行IP地址分配。
8.3:當(dāng)IP地址被分配給接收方卡時(shí),接收方卡向發(fā)送方卡傳送以下HTTP請(qǐng)求消息,該消息配置為將接收方的ID通知給發(fā)送方卡。在此,作為“ReceiverID”,接收方的“ID”被設(shè)置,作為“ReceiverMACAddress”,接收方的MAC地址被設(shè)置,并且作為“SenderIPaddress”,發(fā)送方的IP地址被設(shè)置。
9:發(fā)送方主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“ID列表更新”,并且確認(rèn)“ID列表”被更新。(在P2P約束服務(wù)器應(yīng)用不約束其他接收方的情況下,該處理可以被忽略)
10:當(dāng)“ID列表”被更新時(shí),發(fā)送方主機(jī)通過(guò)使用命令CMD48讀取Wi-Fi SD卡ID列表寄存器。(在P2P約束服務(wù)器應(yīng)用未約束其他接收方的情況下,該處理可以被省略。)
11:發(fā)送方主機(jī)通過(guò)使用命令CMD 49發(fā)出“SelectID”命令,并且選擇將被許可的接收方的ID以執(zhí)行來(lái)自列表中接收方ID的接收。(在P2P約束服務(wù)器應(yīng)用未約束其他接收方的情況下,該處理可以被省略。)
11.1:發(fā)送方卡傳送以下HTTP請(qǐng)求消息給發(fā)送方以通知接收方卡已經(jīng)許可接收。在此,“ReceiverIPaddress”表示接收方的IP地址。(在P2P約束服務(wù)器應(yīng)用未約束其他接收方的情況下,該處理可以被省略。)
11.1.1:如果接收被許可,接收方卡傳送以下HTTP請(qǐng)求消息至發(fā)送方卡以便從發(fā)送方卡下載“FILELIST”文件。在此,“SenderIPaddress”表示發(fā)送方的IP地址。(在P2P約束服務(wù)器應(yīng)用未約束其他接收方的情況下,該處理可以在接收被許可的前提下被執(zhí)行。)
12:接收方主機(jī)讀取Wi-Fi SD卡狀態(tài)寄存器的“文件列表更新”,以確認(rèn)“FILELIST”文件的下載已經(jīng)被完成。
13:接收方主機(jī)讀取卡中的“FILELIST”文件。
14:接收方主機(jī)通過(guò)使用命令CMD 49發(fā)出“GetFile”命令,并且指示接收方卡基于寫入到“FILELIST”文件中的信息(URL)執(zhí)行縮略圖文件和元數(shù)據(jù)文件的下載。
14.1:接收方卡傳送以下HTTP請(qǐng)求消息給發(fā)送方卡,并且下載指定的縮略圖文件或者元數(shù)據(jù)文件以將文件記錄在卡中。在此,“SenderIPaddress”表示發(fā)送方的IP地址,并且“filepath”表示文件路徑,以及“filename”表示文件名。
15:接收方主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“當(dāng)前HTTP”或者Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”,并且確認(rèn)縮略圖文件或者元數(shù)據(jù)文件的下載已經(jīng)完成。上述過(guò)程被重復(fù)的次數(shù)相應(yīng)于縮略圖文件或者元數(shù)據(jù)文件的數(shù)量。
16:接收方用戶通過(guò)使用提前獲取的縮略圖文件或者元數(shù)據(jù)文件選擇要被接收的文件。接收方主機(jī)通過(guò)使用命令CMD 49發(fā)出“GetFile”命令,并且基于在“FILELIST”文件中描述的信息(URL),指示接收方卡下載由用戶選擇的文件。
16.1:接收方卡傳送以下HTTP請(qǐng)求消息至發(fā)送方卡,下載指定文件,并且將文件記錄在卡中。在此,“SenderIPaddress”表示發(fā)送方的IP地址,“filepath”表示文件路徑,“filename”表示文件名。
17:接收方主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“當(dāng)前HTTP”或者Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”,并且確認(rèn)由用戶指定的文件的下載已經(jīng)完成。上述過(guò)程被重復(fù)的次數(shù)相應(yīng)于由用戶指定的文件的數(shù)量。
18:當(dāng)由接收方卡執(zhí)行的所有文件的下載被完成時(shí),接收方主機(jī)通過(guò)使用命令CMD 49發(fā)出“EndApplication”命令,并且指示接收方卡終止應(yīng)用,以及終止到無(wú)線局域網(wǎng)的連接。
18.1:接收方卡傳送以下HTTP請(qǐng)求消息至發(fā)送方卡以通知發(fā)送方卡下載已經(jīng)完成。在此,“SenderIPaddress”表示發(fā)送方的IP地址。
18.1.1已經(jīng)從所有已連接的接收方卡通知下載的完成,并且發(fā)送方卡終止無(wú)線局域網(wǎng)的建立。
19:發(fā)送方主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“WLAN”,并且確認(rèn)無(wú)線局域網(wǎng)的建立已經(jīng)被終止。
20:當(dāng)無(wú)線局域網(wǎng)的建立已經(jīng)被終止時(shí),發(fā)送方主機(jī)發(fā)出“EndApplication”命令以指示發(fā)送方卡終止該應(yīng)用。
圖47是示出服務(wù)器上傳應(yīng)用的流程的視圖。
1:為了搜索主機(jī)能夠連接的無(wú)線局域網(wǎng),主機(jī)通過(guò)使用命令CMD 49發(fā)出“ScanWiFi”命令。
1.1:為了連接到無(wú)線局域網(wǎng),卡執(zhí)行搜索。
1.1.1:卡創(chuàng)建“SSIDLIST”文件,該文件通過(guò)到卡的列表中將卡形成該卡能夠連接到的SSID的名稱而獲得。
2:主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“SSID列表更新”,以確認(rèn)由卡執(zhí)行的無(wú)線局域網(wǎng)的搜索已經(jīng)無(wú)任何問(wèn)題被完成。
3:主機(jī)讀取卡中的“SSIFLIST”文件。
4:主機(jī)從“SSIDLIST”文件中選擇SSID,并且通過(guò)使用命令CMD49發(fā)出“SetSSID”命令以便設(shè)置SSID和密碼短語(yǔ)至卡。在此,當(dāng)主機(jī)不執(zhí)行SSID的選擇時(shí),卡使用記錄在卡中的“SSID歷史”中的SSID的設(shè)置以及以往的設(shè)置。進(jìn)一步,可以通過(guò)“WPS”執(zhí)行對(duì)卡和連接到卡的“AP”的SSID設(shè)置。
5:為了啟動(dòng)服務(wù)器上傳應(yīng)用,主機(jī)通過(guò)使用命令CMD 49執(zhí)行“StartApplication”命令。
5.1:卡請(qǐng)求來(lái)自“AP”的關(guān)聯(lián)。
5.2:當(dāng)卡連接到“AP”時(shí),卡請(qǐng)求作為DHCP服務(wù)器的“AP”以執(zhí)行IP地址分配。
6:主機(jī)讀取Wi-Fi SD卡狀態(tài)寄存器的“WLAN”,并且確認(rèn)到無(wú)線局域網(wǎng)的連接正在進(jìn)行而無(wú)任何問(wèn)題。
7:當(dāng)發(fā)出“SendHttpMessage”命令、“SendHttpFile”命令、“SendHttpSSLMessage”命令或者“SendHttpSSLFile”命令時(shí),主機(jī)在卡中創(chuàng)建包括要被傳送到其他方的服務(wù)器的HTTP請(qǐng)求消息內(nèi)容的文件。另一方面,當(dāng)發(fā)出“SendHttpMessageByRegister”命令、“SendHttpFileByRegister”命令、“SendHttpSSLMessageByRegister”命令或者“SendHttpSSLFileByRegister”命令時(shí),主機(jī)創(chuàng)建要被傳送到其他方服務(wù)器的HTTP請(qǐng)求消息,該消息不在文件中而是在主機(jī)設(shè)備的存儲(chǔ)器中。
8:主機(jī)通過(guò)使用命令CMD 49發(fā)出“SendHttpMessage”命令、“SendHttpFile”命令、“SendHttpSSLMessage”命令、“SendHttpSSLFile”命令、“SendHttpMessageByRegister”命令、“SendHttpFileByRegister”命令、“SendHttpSSLMessageByRegister”命令或者“SendHttpSSLFileByRegister”命令以指示卡傳送HTTP請(qǐng)求消息。
8.1:卡從卡中創(chuàng)建的文件或者從Wi-Fi SD卡命令寫寄存器中讀取HTTP請(qǐng)求消息,并且傳送HTTP消息至其他方的服務(wù)器。此時(shí),在“SendHttpFile”命令、“SendHttpSSLFile”命令、“SendHttpFileByRegister”命令或者“SendHttpSSLFileByRegister”命令的情況下,HTTP請(qǐng)求消息的傳送通過(guò)將HTTP請(qǐng)求消息中的特定字符串轉(zhuǎn)移至卡的指定文件中執(zhí)行,即通過(guò)將卡中的文件附加至HTTP請(qǐng)求消息執(zhí)行。
8.1.1:其他方服務(wù)器響應(yīng)于傳送的HTTP請(qǐng)求消息,將HTTP響應(yīng)消息返回給該卡。在此,在該卡已經(jīng)發(fā)出“SendHttpMessage”命令、“SendHttpFile”命令、“SendHttpSSLMessage”命令或者“SendHttpSSLFile”命令的情況下,該卡將HTTP響應(yīng)消息作為文件記錄在卡中。另一方面,在該卡已經(jīng)發(fā)出SendHttpMessageByRegister”命令、“SendHttpFileByRegister”命令、“SendHttpSSLMessageByRegister”命令或者“SendHttpSSLFileByRegister”命令的情況下,該卡將HTTP響應(yīng)消息記錄在Wi-Fi SD卡響應(yīng)數(shù)據(jù)寄存器的“message”中。
9:主機(jī)通過(guò)使用命令CMD 48讀取Wi-Fi SD卡狀態(tài)寄存器的“當(dāng)前HTTP”或者Wi-Fi SD卡命令響應(yīng)狀態(tài)寄存器的“命令響應(yīng)狀態(tài)”以確認(rèn)HTTP請(qǐng)求消息的傳送和HTTP響應(yīng)消息的接收已經(jīng)被完成。
10:主機(jī)讀取文件中記錄的HTTP響應(yīng)消息??商鎿Q地,主機(jī)通過(guò)使用命令CMD 48讀取HTTP響應(yīng)消息中記錄的HTTP響應(yīng)消息。上述過(guò)程重復(fù)的次數(shù)相應(yīng)于用戶指定的文件數(shù)量。
11:主機(jī)通過(guò)使用命令CMD 49發(fā)出“EndApplication”命令以指示卡終止應(yīng)用,以及連接到無(wú)線局域網(wǎng)。
圖48是示出P2P應(yīng)用中發(fā)送方側(cè)主機(jī)的“文件列表”生成處理和文件傳送處理的流程的視圖。
發(fā)送方主機(jī)啟動(dòng)P2P服務(wù)器應(yīng)用或者P2P約束服務(wù)器應(yīng)用。
更進(jìn)一步,發(fā)送給主機(jī)顯示配置為選擇要被傳送至用戶的文件的菜單,并且發(fā)送方用戶根據(jù)該菜單選擇將要被傳送的文件(S21)。
發(fā)送方主機(jī)提取所選擇的文件的文件路徑和文件名(S22)。更進(jìn)一步,發(fā)送方主機(jī)提取所選擇文件的元數(shù)據(jù)(S23)。
在此,當(dāng)存在所選擇文件的元數(shù)據(jù)文件時(shí),提取元數(shù)據(jù)文件的文件名和文件路徑。
另一方面,關(guān)于縮略圖,發(fā)送方主機(jī)首先確認(rèn)所選擇文件的縮略圖是否存在在卡中(S24)。如果在其中存在縮略圖,發(fā)送方主機(jī)提取文件路徑和文件名作為用于傳送的縮略圖文件(S25)。接下來(lái),如果不存在縮略圖,發(fā)送方主機(jī)確認(rèn)縮略圖是否被包括在文件中(S26),并且如果縮略圖被包括在其中,發(fā)送方主機(jī)拷貝縮略圖至卡作為用于傳送的縮略圖文件,并且從文件中提取文件路徑和文件名(S27)。如果縮略圖不包括在文件中,發(fā)送方主機(jī)創(chuàng)建文件的縮略圖,在卡中保存縮略圖,并且提取文件路徑和文件名(S28)。
發(fā)送方主機(jī)創(chuàng)建來(lái)自以上描述的提取的數(shù)據(jù)的“FILELIST”文件,并在卡中保存該文件(S29)。
發(fā)送方卡依照來(lái)自接收方卡的請(qǐng)求傳送“FILELIST”文件至接收方卡(S30)。更進(jìn)一步,發(fā)送方卡依據(jù)來(lái)自接收方卡的請(qǐng)求傳送“文件列表”中描述的文件至接收方卡。
當(dāng)傳送被完成時(shí),發(fā)送方主機(jī)終止P2P服務(wù)器應(yīng)用或者P2P約束服務(wù)器應(yīng)用。
圖49是示出P2P應(yīng)用中接收方側(cè)主機(jī)的文件選擇處理和文件獲取處理的流程的視圖。
接收方主機(jī)啟動(dòng)P2P客戶端應(yīng)用。
更進(jìn)一步,在接收方卡從發(fā)送方卡獲取“文件列表”后,接收方主機(jī)讀取“文件列表”(S41)。
當(dāng)接收方用戶期望獲取發(fā)送方卡的所有文件時(shí),接收方用戶從發(fā)送方側(cè)下載“文件列表”中描述的所有文件,并且將文件保存在接收方卡中的文件夾中(S42,S43)。
當(dāng)接收方用戶期望從發(fā)送方側(cè)卡選擇并獲取部分文件時(shí),接收方主機(jī)為接收方用戶提供用于文件選擇的菜單。
在此時(shí),當(dāng)菜單中未示出縮略圖時(shí),可獲取文件的元數(shù)據(jù)被顯示在菜單上(S44,S45)。
當(dāng)菜單中示出縮略圖時(shí),如果縮略圖文件存在在發(fā)送方卡中,接收方主機(jī)獲取縮略圖文件,并在菜單上顯示可獲取文件的縮略圖和元數(shù)據(jù)(S46,S47,S48)。如果縮略圖文件在發(fā)送方卡中不存在,接收方主機(jī)或接收方卡創(chuàng)建替代縮略圖(S49),并在菜單上顯示可獲取文件的縮略圖和元數(shù)據(jù)(S48)。
在此,如果元數(shù)據(jù)文件類似縮略圖文件,在發(fā)送方卡中存在,接收方主機(jī)可以獲取元數(shù)據(jù)文件,并可以通過(guò)參考元數(shù)據(jù)文件在菜單上顯示更詳細(xì)的元數(shù)據(jù)。
接收方用戶基于顯示的菜單選擇將被獲得的文件(S50)。
接收方主機(jī)從發(fā)送方卡下載所選擇的文件,并將文件保存在接收方卡的文件夾中(S43)。
當(dāng)接收完成時(shí),接收方主機(jī)終止P2P客戶端應(yīng)用。
根據(jù)上述實(shí)施例,可獲得以下益處。
眾多卡制造商在SD卡中實(shí)現(xiàn)任意功能,并且因此并入在SD卡中的通信功能的類型具有更廣的范圍。為了控制這些通信功能,對(duì)于各種控制項(xiàng)而言有必要將定義分配給SD卡的命令空間。然而,通信功能的范圍很廣,并且因此如果為所有通信功能的控制進(jìn)行的定義被建立,命令的地址空間就變得不足。相反,根據(jù)以上實(shí)施例,通過(guò)使用由多個(gè)頁(yè)面構(gòu)成的擴(kuò)展寄存器,控制由SD卡擁有的通信功能,并且因此,通過(guò)定義用于作為通信對(duì)象的數(shù)據(jù)的傳遞的頁(yè)面,可以有效地將通信功能的控制的定義分配給命令空間。
進(jìn)一步,根據(jù)以上實(shí)施例,通過(guò)使用由命令(CMD 48,CMD 49)指定的擴(kuò)展寄存器,可以容易地控制通信功能。
更進(jìn)一步,對(duì)于存儲(chǔ)器主機(jī)控制器而言,甚至可以通過(guò)使用命令(CMD48,CMD 49)有效地控制擴(kuò)展寄存器。
盡管已經(jīng)描述特定實(shí)施例,但僅通過(guò)示例的方式呈現(xiàn)這些實(shí)施例,并且并非意圖限制本發(fā)明的范圍。實(shí)際上,在此描述的新的實(shí)施例可以以各種其他形式實(shí)現(xiàn);更進(jìn)一步,在此描述的實(shí)施例的形式中的各種省略、替換即以及改變可以在不背離本發(fā)明精神的情況下實(shí)現(xiàn)。所附的權(quán)利要求以及它們的等價(jià)物意圖覆蓋落入本發(fā)明范圍和精神內(nèi)的形式和變型。