TW202105235A - 讀卡機、資料讀寫系統及其讀寫方法 - Google Patents

讀卡機、資料讀寫系統及其讀寫方法 Download PDF

Info

Publication number
TW202105235A
TW202105235A TW108126198A TW108126198A TW202105235A TW 202105235 A TW202105235 A TW 202105235A TW 108126198 A TW108126198 A TW 108126198A TW 108126198 A TW108126198 A TW 108126198A TW 202105235 A TW202105235 A TW 202105235A
Authority
TW
Taiwan
Prior art keywords
host
protocol
controller
communication protocol
data reading
Prior art date
Application number
TW108126198A
Other languages
English (en)
Other versions
TWI718601B (zh
Inventor
胡耀中
Original Assignee
創惟科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 創惟科技股份有限公司 filed Critical 創惟科技股份有限公司
Priority to TW108126198A priority Critical patent/TWI718601B/zh
Publication of TW202105235A publication Critical patent/TW202105235A/zh
Application granted granted Critical
Publication of TWI718601B publication Critical patent/TWI718601B/zh

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本揭示提供一種讀卡機、一種資料讀寫系統及其讀寫方法。該資料讀寫系統適於與一主機連接,以讓該主機透過該資料讀寫系統對一外部記憶卡進行資料讀寫,其中該主機使用一第一種通訊協定或一第二種通訊協定其中之一,該資料讀寫系統包括一協定判斷控制器、一通訊介面控制器以及一記憶卡控制器。其中該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。

Description

讀卡機、資料讀寫系統及其讀寫方法
本揭示是關於一種記憶裝置讀寫系統,特別是關於一種可自動判斷通訊協定的讀卡機、資料讀寫系統及其讀寫方法。
隨著電腦技術的發展,目前許多的電子裝置或非電子裝置均內建運算系統以提供更多的功能與效能。為了擴充運算系統的資料儲存容量或便於資料的轉移與保存,運算系統除了內建的資料儲存裝置之外,也能外接可攜式的儲存媒體。運算系統通常透過一個內建或外接的讀寫系統來對資料儲存裝置進行讀寫。
目前存在多種不同的運算系統,在運算系統中運行各自的作業系統,並且使用不同的通訊協定。以往,不同的運算系統也會使用不同的通訊硬體介面,因此,資料讀寫系統只要針對不同的通訊介面提供對應的通訊協定即可。但是,為了提高便利性,通訊介面會進行整合或統一。如此便無法再以通訊硬體介面的不同來辨別所使用的通訊協定。
為解決上述習知技術之問題,本揭示之目的在於提供一種讀卡機、一種資料讀寫系統及其讀寫方法,其可有效地解決現有技術中無法分辨通訊協定的問題。
為達成上述目的,本揭示提供一種資料讀寫系統,適於與一主機連接,以讓該主機透過該資料讀寫系統對一外部記憶卡進行資料讀寫,其中該主機使用一第一種通訊協定或一第二種通訊協定其中之一,該資料讀寫系統包括一協定判斷控制器、一通訊介面控制器以及一記憶卡控制器。該通訊介面控制器電連接至該協定判斷控制器,並適於與該主機通訊。該記憶卡控制器電連接至該協定判斷控制器與該通訊介面控制器,並控制該主機對該外部記憶卡的資料讀寫。其中該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
於本揭示其中之一實施例中,該協定判斷控制器包括一微處理單元。該微處理單元透過該通訊介面控制器接收該判定資訊。當該主機的該判定資訊為一第一取得說明指令,則該協定判斷控制器判斷該主機使用該第一種通訊協定。該微處理單元列舉該第一通訊協定來與該主機通訊。當該主機的該判定資訊不是該第一取得說明指令,則該協定判斷控制器判斷該主機使用該第二種通訊協定。該微處理單元列舉該第二通訊協定來與該主機通訊。
於本揭示其中之一實施例中,當該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令時。該判定資訊為該第一取得說明指令。該協定判斷控制器依據該判定資訊判斷該主機使用該第一種通訊協定。當該資料讀寫系統自該主機依序接收該設定位址指令與該第二取得說明指令時。該判定資訊為該設定位址指令。該協定判斷控制器依據該判定資訊預設該主機使用該第二種通訊協定。
於本揭示其中之一實施例中,該資料讀寫系統與該主機連接後,依序接收該主機發送的初始化指令與排線重置指令,且該協定判斷控制器認定該主機於該排線重置指令後所發送的一指令為該判定資訊。
於本揭示其中之一實施例中,當該協定判斷控制器判斷該主機使用該第二種通訊協定進行通訊時,該協定判斷控制器預設會在接收該主機的該第二取得說明指令後,接收一設定組態指令及一協定執行認證指令。當該協定判斷控制器等待該主機的該協定執行認證指令超過一預設時間後,該微處理單元改以列舉該第一種通訊協定與該主機進行通訊。
於本揭示其中之一實施例中,該資料讀寫系統更包括一USB收發器單元介面電連接至該通訊介面控制器、一高速/全速傳輸實體層電連接至該USB收發器單元介面、一緩衝單元電連接至該記憶卡控制器以及該通訊介面控制器、一超高速傳輸實體層、一超高速裝置電連接於該超高速傳輸實體層及該緩衝單元,以及一第一快閃儲存單元電連接至該微處理單元且儲存一用以判斷該主機通訊協定的程序。其中該通訊介面控制器透過該USB收發器單元介面、該高速/全速傳輸實體層、該超高速裝置以及該超高速傳輸實體層來與該主機通訊。該主機透過該微處理單元的控制來讀寫該外部記憶卡。
於本揭示其中之一實施例中,該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元。當該資料讀寫系統連接該主機後,該電力傳送微處理單元要求該主機提供該判定資訊。該判定資訊為該主機的產品識別資料與供應商識別資料。微處理單元並藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定。
於本揭示其中之一實施例中,當該微處理單元判斷該主機使用該第一種通訊協定時,該微處理單元控制該介面控制單元列舉該第一種通訊協定與該主機進行通訊。當該微處理單元判斷該主機使用該第二種通訊協定時,該微處理單元控制該介面控制單元列舉該第二種通訊協定與該主機進行通訊。而該主機的產品識別資料與供應商識別資料包括產品資料或作業系統資料。
於本揭示其中之一實施例中,該資料讀寫系統還包括一電力傳送模組,該電力傳送模組包括該電力傳送微處理單元、一C型及雙向標記碼實體層以及一第二快閃儲存單元儲存一用以要求該主機提供該判定資訊以決定供電電壓的程序。其中該電力傳送微處理單元用以控制 該C型及雙向標記碼實體層與該主機通訊。該資料讀寫系統更包括一USB收發器單元介面電連接至該通訊介面控制器、一高速/全速傳輸實體層電連接至該USB收發器單元介面、一緩衝單元電連接至該記憶卡控制器以及該通訊介面控制器、一超高速傳輸實體層、一超高速裝置電連接於該超高速傳輸實體層及該緩衝單元以及一第一快閃儲存單元電連接至該微處理單元儲存一用以判斷該主機通訊協定的程序。其中該通訊介面控制器透過該微處理單元的控制 來與該主機通訊。該主機透過該超高速裝置與該超高速傳輸實體層讀寫該外部記憶卡。
於本揭示其中之一實施例中,該協定判斷控制器包括一微處理單元,以於該資料讀寫系統連接該主機後,判斷該資料讀寫系統是否具有電力傳送模組。當該資料讀寫系統具有該電力傳送模組時,該微處理單元要求該電力傳送模組提供取得的產品識別資料與供應商識別資料,藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定。當該資料讀寫系統不具有該電力傳送模組時,該微處理單元直接接收並判斷該主機的該判定資訊。
於本揭示其中之一實施例中,當該資料讀寫系統不具有該電力傳送模組時,該微處理單元透過該通訊介面控制器直接接收該主機的該判定資訊。當該主機的該判定資訊為一第一取得說明指令,則該微處理單元判斷該主機使用該第一種通訊協定。當該主機的該判定資訊不是該第一取得說明指令,則該微處理單元判斷該主機使用該第二種通訊協定進行通訊。
於本揭示其中之一實施例中,該通訊介面控制器透過一USB通訊介面與該主機通訊。
本揭示還提供一種讀卡機,適於與一主機連接以讓該主機透過該讀卡機對一外部記憶卡進行資料讀寫,其中該主機使用一第一種通訊協定或一第二種通訊協定其中之一。該讀卡機包括一協定判斷控制器、一通訊介面控制器、一記憶卡控制器以及一USB通訊介面。該通訊介面控制器電連接至該協定判斷控制器並與該主機通訊。該記憶卡控制器電連接至該協定判斷控制器與該通訊介面控制器並控制該主機對該外部記憶卡進行資料讀寫。該USB通訊介面電連接至該通訊介面控制器。其中該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
於本揭示其中之一實施例的讀卡機,其中該協定判斷控制器包括一微處理單元,用以列舉該第一通訊協定或該第二通訊協定而與該主機通訊。當該主機的該判定資訊為一第一取得說明指令時,該協定判斷控制器判斷該主機使用該第一種通訊協定。當該主機的該判定資訊不是該第一取得說明指令時,則該協定判斷控制器判斷該主機使用該第二種通訊協定。
於本揭示其中之一實施例的讀卡機,其中該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元。當該讀卡機連接該主機後,該電力傳送微處理單元要求該主機提供該判定資訊以決定供電電壓。該微處理單元並藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定。該判定資訊為該主機的產品識別資料與供應商識別資料至少其中之一。
本揭示還提供一種資料讀寫系統的讀寫方法,用以對一外部記憶卡進行資料讀寫。該方法包括:提供一資料讀寫系統,該資料讀寫系統包括一協定判斷控制器、一通訊介面控制器以及一記憶卡控制器,該通訊介面控制器電連接至該協定判斷控制器,且該記憶卡控制器電連接至該協定判斷控制器與該通訊介面控制器;使該資料讀寫系統與一主機電性連接,並使該通訊介面控制器與該主機通訊,其中該主機使用第一種通訊協定或第二種通訊協定其中之一;該協定判斷控制器取得該主機的一判定資訊;該協定判斷控制器依據該判定資訊判斷該主機使用該第一種通訊協定或該第二種通訊協定;以及該協定判斷控制器列舉該主機使用的該第一種通訊協定或該第二種通訊協定,以使該主機對該外部記憶卡進行資料讀寫。
於本揭示其中之一實施例中,該協定判斷控制器包括一微處理單元,而判斷該主機使用該第一種通訊協定或該第二種通訊協定包括多個步驟。該些步驟包括:判斷該判定資訊是否為一第一取得說明指令;若該判定資訊為該第一取得說明指令,則判斷該主機使用該第一種通訊協定,且該微處理單元列舉該第一通訊協定與該主機通訊;以及若該判定資訊不是該第一取得說明指令,則判斷該主機使用該第二種通訊協定,且該微處理單元列舉該第二通訊協定與該主機通訊。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中若該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令時。則該協定判斷控制器依據所接收的該第一取得說明指令判斷該主機使用該第一種通訊協定,且該主機以該第一種通訊協定讀寫電連接於該資料讀寫系統的該外部記憶卡。若該資料讀寫系統自該主機依序接收該設定位址指令與該第二取得說明指令。則該協定判斷控制器依據所接收的該設定位址指令預設該主機使用該第二種通訊協定。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中該協定判斷控制器判斷該主機使用該第二種通訊協定後更包括多個步驟,該些步驟包括:是否於一預設時間內接收到該主機發送的一協定執行認證指令;若於該預設時間內接收到該主機發送的該協定執行認證指令,則確認該主機使用該第二種通訊協定,該主機並以該第二種通訊協定讀寫該外部記憶卡;若於該預設時間內未接收到該主機發送的該協定執行認證指令,則該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中該資料讀寫系統自該主機接收該第二取得說明指令之後,該協定判斷控制器接收該主機的一設定組態指令。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中取得 該主機的該判定資訊之前更包括多個步驟,該些步驟包括:該協定判斷控制器接收該主機的一初始化指令;以及該協定判斷控制器接收該主機的一排線重置指令。其中該協定判斷控制器認定該排線重置指令後所接收的該主機的指令為該判定資訊。
於本揭示其中之一實施例中,該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊的步驟包括:該協定判斷控制器重新接收該主機的該排線重置指令;該協定判斷控制器重新接收該主機的設定位址指令;該協定判斷控制器重新接收該主機的取得說明指令;該協定判斷控制器重新接收該主機的設定組態指令;以及該主機以該第一種通訊協定(MSC)讀寫該外部記憶卡。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元。該協定判斷控制器取得該主機的該判定資訊的步驟包括:該電力傳送微處理單元向該主機要求該判定資訊,其中該判定資訊為該主機的產品識別資料與供應商識別資料,而該主機的產品識別資料與供應商識別資料包括產品資料或是作業系統資料。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中取得該主機的該判定資訊之前更包括:該協定判斷控制器判斷該資料讀寫系統是否具有一電力傳送模組。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中若判斷該資料讀寫系統具有該電力傳送模組,則該協定判斷控制器透過該電力傳送模組向該主機取得該判定資訊,而該判定資訊為該主機的產品識別資料與供應商識別資料。若判斷該資料讀寫系統不具有該電力傳送模組,則該協定判斷控制器直接取得該主機的該判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
於本揭示其中之一實施例中,若判斷該資料讀寫系統不具有該電力傳送模組,則該協定判斷控制器執行多個步驟。該些步驟包括:判斷該判定資訊是否為該第一取得說明指令;若該判定資訊為一第一取得說明指令,則判斷該主機使用該第一種通訊協定,且該微處理單元列舉該第一通訊協定與該主機通訊;以及若該判定資訊不是該第一取得說明指令,則判斷該主機使用該第二種通訊協定,且該微處理單元列舉該第二通訊協定與該主機通訊。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中若該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令。則該協定判斷控制器依據所接收的該第一取得說明指令判斷該主機使用該第一種通訊協定,且該主機以該第一種通訊協定讀寫電連接於該資料讀寫系統的外部記憶卡。若該資料讀寫系統自該主機依序接收一設定位址指令與該第二取得說明指令。則該協定判斷控制器依據所接收的該設定位址指令預設該主機使用該第二種通訊協定。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中若該協定判斷控制器於判斷該主機使用該第二種通訊協定後一預設時間內接收到該主機發送的該協定執行認證指令,則該主機以該第二種通訊協定讀寫該外部記憶卡。若該協定判斷控制器於判斷該主機使用該第二種通訊協定後該預設時間內未接收到該主機發送的該協定執行認證指令,則該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊。
於本揭示其中之一實施例的資料讀寫系統的讀寫方法,其中該資料讀寫系統更包括一USB通訊介面。而該資料讀寫系統與該主機透過該通訊介面電性連接。
相較於先前技術,本揭示的讀卡機、資料讀寫系統及其讀寫方法藉由該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定,並列舉該第一種通訊協定或該第二種通訊協定來與該主機通訊。如此可自動判斷通訊協定並進行通訊,不需要使用者進行選擇通訊協定的動作,亦避免使用者選擇錯誤的通訊協定。
為了讓本揭示的上述及其他目的、特徵、優點能更明顯易懂,下文將特舉本揭示優選實施例,並配合所附圖式,作詳細說明如下。再者,本揭示所提到的方向用語,例如上、下、頂、底、前、後、左、右、內、外、側層、周圍、中央、水平、橫向、垂直、縱向、軸向、徑向、最上層或最下層等,僅是參考附加圖式的方向。因此,使用的方向用語是用以說明及理解本揭示,而非用以限制本揭示。
在圖中,結構相似的單元是以相同標號表示。
圖1顯示根據本揭示的一實施例中資料讀寫系統與讀卡機的結構示意圖。請參照圖1,本揭示提供一種讀卡機(Card Reader, CR)1000,其適於與一主機400連接,以讓該主機400透過該讀卡機1000對一外部記憶卡300進行資料讀寫。在本實施例中,讀卡機1000包括一資料讀寫系統100以及一USB通訊介面200。其中,資料讀寫系統100包括一協定判斷控制器120、一通訊介面控制器110以及一記憶卡控制器130,而該USB通訊介面200係電連接至該通訊介面控制器110。此外,該通訊介面控制器110電連接至該協定判斷控制器120,並適於透過USB通訊介面200與該主機400通訊。該記憶卡控制器130則電連接至該協定判斷控制器120與該通訊介面控制器110。如此一來,該主機400可透過該記憶卡控制器130對該外部記憶卡300進行資料讀寫。值得一提的是,在本實施例中,該主機400係使用一第一種通訊協定或一第二種通訊協定其中之一,而該協定判斷控制器120可用以取得該主機400的一判定資訊,以判斷該主機400使用該第一種通訊協定或該第二種通訊協定。
請繼續參照圖1,在一較佳實施例中,資料讀寫系統100亦可直接或是以其他適當的方式來與主機400連接,以讓該主機400透過該資料讀寫系統100對外部記憶卡300進行資料讀寫。舉例來說,資料讀寫系統100可以直接地嵌設於主機內部,並直接地與主機內部元件電性連接,未額外再透過例如是USB通訊介面200的架構自主機外部來與主機連接。當然,在其他較佳實施例中,資料讀寫系統100亦可應用USB通訊介面200以外的其他通訊介面自主機外部來與主機400連接。亦即,關於資料讀寫系統100與主機400的連接方式,本揭示在此並不做任何限制。
在資料讀寫系統100直接或是以其他適當的方式來與主機400連接的實施架構下,主機400亦是使用一第一種通訊協定或一第二種通訊協定其中之一。同樣地,該實施例的資料讀寫系統100包括一協定判斷控制器120、一通訊介面控制器110以及一記憶卡控制器130。而該通訊介面控制器110係電連接至該協定判斷控制器120,並適於與該主機400通訊。該記憶卡控制器130則電連接至該協定判斷控制器120與該通訊介面控制器110。如此一來,該主機400可透過該記憶卡控制器130對該外部記憶卡300進行資料讀寫。值得一提的是,在本實施例中,該協定判斷控制器120亦用以取得該主機400的一判定資訊,以判斷該主機400使用該第一種通訊協定或該第二種通訊協定。
圖2顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖。請參照圖1及圖2,本揭示還提供一種資料讀寫系統100的讀寫方法,用以對一外部記憶卡300進行資料讀寫。該方法包括步驟S100至步驟S500。首先,如步驟S100所示:提供一資料讀寫系統100。在本實施例中,該資料讀寫系統100包括一協定判斷控制器120、一通訊介面控制器110以及一記憶卡控制器130。該通訊介面控制器110電連接至該協定判斷控制器120,且該記憶卡控制器130電連接至該協定判斷控制器120與該通訊介面控制器110。接著,如步驟S200所示:使該資料讀寫系統100與一主機400電性連接,並使該通訊介面控制器110與該主機400通訊。在本實施例中,該主機400是使用第一種通訊協定或第二種通訊協定其中之一。接著,如步驟S300所示:該協定判斷控制器120取得該主機400的一判定資訊。之後,如步驟S400所示:該協定判斷控制器120依據該判定資訊判斷該主機400使用該第一種通訊協定或該第二種通訊協定。最後,如步驟S500所示:該協定判斷控制器120列舉(Emulate)該主機400使用的該第一種通訊協定或該第二種通訊協定,以使該主機400對該外部記憶卡300進行資料讀寫。
圖3顯示根據本揭示的一實施例中資料讀寫系統與讀卡機的結構示意圖。請參照圖3,於本揭示其中之一實施例的讀卡機1000或資料讀寫系統100中,該協定判斷控制器120包括一微處理單元(Microprocessor Control Unit, MCU)121以及一電力傳送(Power Delivery, PD)微處理單元122a。說明書中提到的「包括」可以是上位的元件分類,並不意味被包含的元件必然具有物理的限制,例如位於實體的框架、或外殼裏,或是位於同一晶片上,除非特別提到,本發明對此不加以限制。即本實施例中,微處理單元121以及電力傳送微處理單元122a合稱為協定判斷控制器120。當該資料讀寫系統100連接該主機400後,該電力傳送微處理單元122a要求該主機400提供該判定資訊。該判定資訊為該主機400的產品識別資料(Production Identification, PID)與供應商識別資料(Vendor Identification, VID)。微處理單元121並藉以判斷該主機400是使用該第一種通訊協定或該第二種通訊協定。
於本揭示其中之一實施例中,在實體結構上,讀卡機1000包括一電力傳送模組122,該電力傳送模組122包括該電力傳送微處理單元122a、一C型及雙向標記碼(type-C and Bi-phase Mark Coding Physics, type-C & BMC PHY)實體層122b以及一第二快閃儲存單元(Flash Memory)152。即,在實體結構上,該電力傳送微處理單元122a位於該電力傳送模組122中。另外,第二快閃儲存單元152用以儲存一計算機程序,而該計算機程序用來要求該主機400提供該判定資訊以決定供電電壓。而該電力傳送微處理單元122a用以控制該C型及雙向標記碼實體層122b與該主機400通訊。在一些實施例中,該讀卡機1000更包括一USB收發器單元介面(Universal Serial Bus 2.0 Transceiver Macrocell Interface, UTMI)211、一高速/全速傳輸實體層(High Speed/Full Speed Physical layer, HS/FS PHY)212、一緩衝單元140、一超高速傳輸實體層(Super Speed Physical layer)222、一超高速裝置(Super Speed Device, SSDEV)221以及一第一快閃儲存單元151。
該USB收發器單元介面211電連接至該通訊介面控制器110。該高速/全速傳輸實體層212電連接至該USB收發器單元介面211。該緩衝單元140電連接至該記憶卡控制器130以及該通訊介面控制器110。該超高速裝置221電連接於該超高速傳輸實體層222及該緩衝單元140。該第一快閃儲存單元151電連接至該微處理單元121,且儲存一計算機程序。該計算機程序是用來判斷該主機400的通訊協定。其中,該微處理單元121透過該通訊介面控制器110及USB通訊介面200該來與該主機400通訊。進一步地,通訊介面控制器110透過USB收發器單元介面211、高速/全速傳輸實體層212、超高速裝置221以及超高速傳輸實體層222來與主機400通訊。該主機400透過該超高速裝置221與該超高速傳輸實體層222,或是該USB收發器單元介面211與該高速/全速傳輸實體層212讀寫該外部記憶卡300。亦即,該主機400透過該微處理單元121的控制來讀寫該外部記憶卡300。
具體的,該電力傳送微處理單元122a透過序列周邊介面(Serial Peripheral Interface, SPI)控制器122c存取該第二快閃儲存單元152。
圖4顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖。請參照圖4,在該協定判斷控制器120包括該微處理單元121以及該電力傳送微處理單元122a的實施架構下,於本揭示其中之一實施例的資料讀寫系統的讀寫方法中,該協定判斷控制器120取得該主機400的該判定資訊之前更包括如步驟S210所示:該電力傳送微處理單元122a向該主機400要求該判定資訊。其中該判定資訊為該主機400的產品識別資料與供應商識別資料,而該主機400的產品識別資料與供應商識別資料包括產品資料或是作業系統資料。在本實施例中,資料讀寫系統100與主機400電性連接,並與主機400通訊之後,由電力傳送微處理單元122a向主機400要求判定資訊,進而協定判斷控制器120中的電力傳送微處理單元122a取得主機400的判定資訊並傳遞給微處理單元121,由微處理單元121判斷主機400使用的是第一種通訊協定或是第二種通訊協定。
具體的,請再參照圖3,第二快閃儲存單元152內可儲存一預設的查找表,用以將主機400的產品識別資料與供應商識別資料對照該主機400的種類,第一快閃儲存單元151內可儲存一查找表,用以將主機400的種類對照使用的傳輸協定的種類,以便協定判斷控制器120中的微處理單元121判斷主機400使用的通訊協定種類。
具體的,請再參照圖2及圖4,協定判斷控制器120列舉主機400使用的第一種通訊協定或第二種通訊協定,以使該主機400對該外部記憶卡300進行資料讀寫(步驟S500)的方式包括:當協定判斷控制器120的該微處理單元121判斷該主機400使用該第一種通訊協定時,該微處理單元121控制該介面控制單元110向主機400列舉該第一種通訊協定以與該主機400進行通訊。當該微處理單元121判斷該主機400使用該第二種通訊協定時,該微處理單元121控制該介面控制單元110向主機400列舉該第二種通訊協定以與該主機400進行通訊。
具體的,第一種通訊協定例如是大容量儲存類別(Mass Storage Class, MSC)協定。使用第一種通訊協定的主機400例如是運行視窗7(Window 7)作業系統、視窗10(Window 10)作業系統、麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機等。具體的,第二種通訊協定例如是外部附件原生傳輸(External Accessory Native Transport, EAN)協定。使用第二種通訊協定的主機400例如是使用iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等。EAN協定是iAP2通訊協定下的一個外部傳輸協定。通訊協定種類的發展與電子設備之間的配合視資訊技術的發展而定,本揭示不限定主機的種類與通訊協定的種類。
圖5顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的時序示意圖。具體的,請參照圖5,於本揭示其中之一實例中,以第一種通訊協定例如為MSC協定,第二種通訊協定例如為EAN協定為例。主機400可能為運行視窗7(Window 7)作業系統、視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機;主機400亦可以是使用iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等。主機400、電力傳送模組122及微處理單元121之間的訊號傳輸時序如圖5所示。於資料讀寫系統100與主機400電連接之後,主機400會對電力傳送模組122進行供電。電力傳送模組122接著向主機400發送一取得製造資訊指令(GetMfgInfo)。主機400收到指令後,回覆產品識別資料PID與供應商識別資料VID。電力傳送模組122便依此資料識別主機400。之後,電力傳送模組122主動或依要求而將主機資訊(HostInfo)傳送給微處理單元121。微處理單元121依此主機資訊選擇適當的通訊協定並列舉(Emulate)該通訊協定。
請繼續參照圖5,上述列舉的過程如下:於電力傳送模組122將主機資訊(HostInfo)傳送給微處理單元121之後,會由主機400向資料讀寫系統100發送排線重置指令(USB Bus Reset)。資料讀寫系統100如果有支援高速(High Speed)傳輸的話,會回傳訊號並與主機400進行傳輸速度協商(handshake)。接著,主機400發送設定位址指令(SET_ADDRESS)設定讀卡機1000中的相關位址。再來,主機400發送取得說明指令(GET_DESCRIPTOR),而資料讀寫系統100便依指令回覆相關的資訊。最後,主機400發送設定組態指令(SET_CONFIGURATION)對資料讀寫系統100進行組態設定。列舉動作完成後,接下來主機400即可透過資料讀寫系統100對外部記憶卡300進行讀寫。
圖6顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖。具體的,請再一併參照圖6,於本揭示其中之一實施例,其讀卡機的讀寫方法的實例如圖6所示。讀卡機的讀寫方法說明如下:首先,如步驟A10所示:主機對讀卡機供電。步驟A10即是使讀卡機與主機電性連接。因此,在讀卡機與主機電性連接後,主機即會對讀卡機供電。接著,如步驟A20所示:讀卡機確認主機是否連接,若無連接則重新確認。確認讀卡機與主機電性連接後,如步驟A30所示:電力傳送模組向主機發送取得製造資訊指令(GetMfgInfo)。主機接著便會依製造資訊指令回覆其本身的製造資訊。再來,如步驟A40所示:讀卡機由製造資訊判斷主機是否使用EAN協定。若主機使用EAN協定,則讀卡機會以EAN協定與主機建立通訊(如步驟A51所示)。若主機不是使用EAN協定,則讀卡機以MSC協定與主機建立通訊(如步驟A52所示)。
請繼續參照圖6,在本揭示中,如步驟A40所示,係將「主機是否使用EAN協定」作為判斷條件,而不是將「主機是否使用MSC協定」作為判斷條件,其原因在於:有些主機雖同時適用EAN及MSC兩種協定,但是使用EAN協定或使用MSC協定會有不同的結果。該類主機例如是使用iOS作業系統的New iPad pro。詳細地說,在與這類同時適用EAN及MSC兩種協定的主機連接後,若協定判斷控制器120以主機是否使用MSC協定作為判斷條件,協定判斷控制器120即會判斷主機可使用MSC協定而使後續讀卡機完成MSC協定的列舉。然而,由於例如是New iPad pro的主機在使用MSC協定下僅有讀取功能並無寫入功能,因此協定判斷控制器120在使讀卡機完成MSC協定的列舉後,例如是使用iOS作業系統的New iPad pro主機並無法透過讀卡機對外部記憶卡執行寫入功能。所以,為讓New iPad pro這一類的產品能透過讀卡機進行讀和寫的功能,本實施例中將「主機是否使用EAN協定」作為判斷條件。如此一來,在該主機同時適用EAN協定及MSC協定且以主機是否使用EAN協定作為判斷條件的情況下,協定判斷控制器120即會判斷主機可使用EAN協定而使後續讀卡機完成EAN協定的列舉以與主機通訊,進而執行讀和寫的功能。上述兩種通訊協定僅以舉例之用,本發明不以此為限。其他較佳實施方式若有多種通訊協定,亦可以使用適當的判斷步驟,本發明在此亦不做任何限制。
請繼續參照圖6,在本揭示中,步驟A51及步驟A52中提到與主機建立通訊。其中與主機建立通訊的方式請參照圖5及其說明,即微處理單元121依主機資訊選擇適當的通訊協定後列舉該通訊協定。列舉的細節如前段說明,於此不再贅述。最後,於步驟A51之後會執行如步驟A61所示:主機以EAN協定存取SD記憶卡(或稱安全數位卡:Secure Digital Memory Card)。或是於步驟A52之後執行如步驟A62所示:主機以MSC協定存取SD記憶卡。以上僅舉兩種通訊協定為例,本揭示不限制通訊協定的數目與種類。三種以上的通訊協定亦可依本揭示的精神進行簡單的適當修飾。另外,以上讀卡機的讀寫方法可以計算機程式語言等方式記錄在讀卡機的第一快閃儲存單元151中,使得微處理單元121可以讀取第一快閃儲存單元151中的程序而執行上述讀卡機的讀寫方法。
圖7顯示根據本揭示的另一實施例的資料讀寫系統與讀卡機的結構示意圖。請參照圖7,於本揭示的讀卡機1000'或資料讀寫系統100'中,該協定判斷控制器120包括一微處理單元121。該微處理單元121透過該通訊介面控制器110接收該判定資訊。與前述實施例的主要差異在於:本實施例的讀卡機1000'不具有電力傳送模組及其電力傳送微處理單元。因此,本實施例並不是透過電力傳送模組來取得該判定資訊。對應地,本發明於此實施例所定義之判定資訊的內容亦與前述實施例不同。
圖8顯示根據本揭示的另一實施例中資料讀寫系統的讀寫方法的部分流程示意圖。請同時參照圖7與圖8,於此實施例中,當該主機400的該判定資訊為一第一取得說明指令(GET_DESCRIPTOR),則該協定判斷控制器120判斷該主機400使用該第一種通訊協定。該微處理單元121列舉該第一通訊協定來與該主機400通訊。當該主機400的該判定資訊不是該第一取得說明指令,則該協定判斷控制器120判斷該主機400使用該第二種通訊協定。該微處理單元121列舉該第二通訊協定來與該主機400通訊。亦即,在此實施例中,讀卡機1000'或資料讀寫系統100'的協定判斷控制器120是用以依據主機傳送到讀卡機1000'或資料讀寫系統100'的指令或是訊息的不同而決定主機使用的通訊協定。
如圖8所示,於本實施例的讀寫系統100'的讀寫方法中,於取得該主機400的該判定資訊(步驟S300)之前更包括多個步驟。其中,圖8係省略繪示步驟S100以簡化圖式,並不意味本實施例不需步驟S100。此外,步驟S100、S200、S300與前述實施例相同,於此不再贅述。本實施例在步驟S200後係執行步驟S220:該協定判斷控制器120接收該主機400的一初始化指令。接著,如步驟S230所示:該協定判斷控制器120接收該主機400的一排線重置指令(Bus Reset)。
值得一提的是,在本實施例中,該協定判斷控制器120認定該排線重置指令後所接收的該主機400的指令即為該判定資訊。所以,於步驟S300中,該協定判斷控制器120即取得該主機400的一判定資訊。亦即,於本實施例的資料讀寫系統的讀寫方法中,於該協定判斷控制器120接收該主機400的一排線重置指令(Bus Reset) (步驟S230)之後,若該資料讀寫系統100'自該主機400依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令,則該協定判斷控制器120以該第一取得說明指令作為該判定資訊,並據此判斷該主機400使用該第一種通訊協定。接著,該資料讀寫系統100'以該第一種通訊協定與該主機400建立通訊後,該主機400以該第一種通訊協定讀寫電連接於該資料讀寫系統100'的該外部記憶卡300。另一方面,若於步驟S230之後,該資料讀寫系統100'自該主機400依序接收該設定位址指令與該第二取得說明指令,則該協定判斷控制器120以該設定位址指令作為該判定資訊並據此預設該主機400使用該第二種通訊協定。
請再同時參照圖2及圖8,於圖2中判斷該主機400使用該第一種通訊協定或該第二種通訊協定(步驟S400)的方法包括多個步驟。該些步驟如圖8所示,包括:在步驟S300之後,判斷該判定資訊是否為一第一取得說明指令(步驟S410)。若該判定資訊為該第一取得說明指令,則判斷該主機400使用該第一種通訊協定而執行步驟S511,即該微處理單元121列舉該第一通訊協定與該主機400通訊。若該判定資訊不是該第一取得說明指令,則預設該主機400使用該第二種通訊協定,執行步驟S512,即該微處理單元121列舉該第二通訊協定與該主機400通訊。
圖10顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的時序示意圖。圖11顯示根據本揭示的又一實施例中資料讀寫系統的讀寫方法的時序示意圖。圖12顯示根據本揭示的再一實施例中資料讀寫系統的讀寫方法的時序示意圖。其中,圖10是以主機400運行視窗7(Window 7)作業系統為例的時序示意圖。於此狀態下,該主機400是使用第一種通訊協定,即MSC協定。此外,圖11是以主機400使用iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等為例的時序示意圖。於此狀態下,該主機400是使用第二種通訊協定,即EAN協定。再者,圖12是以主機400運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機為例的時序示意圖。於此狀態下該主機400亦是使用第一種通訊協定,即MSC協定。
由圖10、圖11及圖12這三種不同的例子中可以看到,在供電後的初始幾個步驟是相同的。即該資料讀寫系統100'與該主機400連接後,依序接收該主機400發送的初始化指令與排線重置指令(如圖2的步驟S100、S200及圖8的步驟S220及S230)。回到圖10、圖11及圖12,在初始幾個步驟之後,應用不同的作業系統的主機400即可能會有不同的時序步驟。進一步地,比較圖10、圖11、圖12可知,圖10的主機於執行供電、初始化指令、排線重置指令,並與資料讀寫系統進行傳輸速度協商之後係接著發送第一取得說明指令。與圖10之時序示意圖不同的是,於圖11及圖12之時序示意圖中,主機於執行供電、初始化指令、排線重置指令,並與資料讀寫系統進行傳輸速度協商之後則是發送設定位址指令。因此,為有效判斷該主機所使用的通訊協定,本實施例係定義於該排線重置指令後所發送的一指令為該判定資訊。換言之,在主機發送排線重置指令之後,本實施例的協定判斷控制器120即認定該主機400於該排線重置指令後所發送的一指令為該判定資訊。
請再一併參照圖8與圖10,於本揭示其中之一實施例中,於該主機400發送該排線重置指令後,當該資料讀寫系統100'自該主機400依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令時,而該協定判斷控制器120會以該排線重置指令後的該第一取得說明指令作為該判定資訊,隨即該協定判斷控制器120依據該判定資訊判斷該主機400使用該第一種通訊協定(如圖8之步驟S410與步驟S511)。由上文可知,圖10所示的主機400使用例如是MSC協定的第一種通訊協定。換言之,本實施例的資料讀寫系統100'即可辨識本實施例的主機400係運行視窗7(Window 7)作業系統的設備。
另外,請再參照圖8、圖11及12,由上文可知,相較於圖10之時序示意圖,於圖11及圖12之時序示意圖中,主機於執行供電、初始化指令、排線重置指令,並與資料讀寫系統進行傳輸速度協商之後則是發送設定位址指令與該第二取得說明指令。亦即,圖11及12的實施例於該主機400發送該排線重置指令後,該資料讀寫系統100'係自該主機400依序接收該設定位址指令與該第二取得說明指令。因此,該協定判斷控制器120會以該排線重置指令後的該設定位址指令為該判定資訊,隨即該協定判斷控制器120依據該判定資訊預設該主機400使用該第二種通訊協定(如圖8之步驟S410與步驟S512)。亦即,在以設定位址指令為該判定資訊的判斷過程中,使用iOS作業系統的裝置、運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的裝置都會暫時被認定是使用第二種通訊協定的裝置。
進一步地說,在以該設定位址指令為該判定資訊的情況下,該主機400可能是運行iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等裝置,其與資料讀寫系統間的作業時序即如圖11所示,該些裝置係使用該第二種通訊協定。當然,該主機400亦可能是運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機,其與資料讀寫系統間的作業時序即如圖12所示,該些裝置係使用該第一種通訊協定。值得一提的是,雖資料讀寫系統以該設定位址指令為該判定資訊而暫時判斷該主機400使用該第二種通訊協定。然而,該些運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機係使用該第一種通訊協定。也就是說,圖11所繪示的作業時序與圖12所繪示的作業時序係分別屬於不同的通訊協定。關於如何進一步依據圖11所繪示的作業時序與圖12所繪示的作業時序分別判斷其使用的通訊協定,本揭示會在下文中作詳細說明。
承上所述,在本揭示中該判定資訊為該設定位址指令的情況下,主機400與資料讀寫系統100'之間會有圖11及圖12這兩類的作業時序,一類為例如是前述之使用iOS作業系統的主機400與資料讀寫系統100'間的作業時序(如圖11所示),另一類則為前述之使用視窗10(Window 10)等作業系統的主機400與資料讀寫系統100'間的的作業時序(如圖12所示)。考量主機400與資料讀寫系統100'之間會有圖11及圖12這兩類的作業時序,因此本發明的協定判斷控制器120會在此先預設該主機400使用該第二種通訊協定而列舉第二種通訊協定以嘗試與主機通訊(如步驟S512所示),而在後續再對主機400所使用的通訊協定種類作進一步地判別。在此預設該主機400使用該第二種通訊協定(EAN協定)而不是第一種通訊協定(MSC協定)的理由類似於前述說明,本文在此即不再贅述。
由圖11與圖12可知,當該協定判斷控制器120預設主機400使用第二種通訊協定而嘗試進行通訊後,基於圖11所示的主機400是定義使用iOS作業系統,而主機400於此狀態下即是使用第二種通訊協定(即EAN協定),因此該協定判斷控制器120會在接收該主機400的該第二取得說明指令後,接收一設定組態指令及一協定執行認證指令(RequestAuthenticationCertificate)。對應地,如圖12所示,若該主機400實際上並非使用該第二種通訊協定,則該主機400不會發送該協定執行認證指令。所以,本發明係利用這項差異來分辨主機使用的通訊協定。上述之分辨主機使用的通訊協定的步驟即圖8的步驟S520所示:該微處理單元121判斷是否於一預設時間內接收到該主機400發送的一協定執行認證指令。
如圖8所示,若於該預設時間內接收到該主機400發送的該協定執行認證指令,則確認該主機400使用該第二種通訊協定且執行步驟S540,即該主機400以該第二種通訊協定讀寫該外部記憶卡300。上述細節亦可參照圖11,資料讀寫系統收到該主機400發送的該協定執行認證指令後,回覆認證序號。如此即完成第二種通訊協定,即EAN協定的列舉步驟,主機可以開始在EAN協定架構下讀寫記憶卡。同樣地,於圖8亦可清楚得知,若於該預設時間內未接收到該主機400發送的該協定執行認證指令,則該主機400並非使用該第二種通訊協定,此時執行如步驟S530所示:該資料讀寫系統100'改以列舉該第一種通訊協定與該主機400進行通訊。即當該協定判斷控制器120等待該主機400的該協定執行認證指令超過一預設時間後,例如300毫秒(ms),該微處理單元121會中斷與主機400的連線,並重新連接。接著,該微處理單元121會直接改以列舉該第一種通訊協定與該主機400進行通訊。上述細節亦可由圖12得知,本文在此不再贅述。
承上所述,該資料讀寫系統100'改以列舉該第一種通訊協定與該主機400進行通訊的方式如圖9所示。詳細地說,若於該預設時間內未接收到該主機400發送的該協定執行認證指令,會如步驟S531所示:該資料讀寫系統100'中斷與該主機400的通訊。接著,該資料讀寫系統100'便重新列舉該第一種通訊協定與該主機400通訊。該資料讀寫系統100'列舉該第一種通訊協定與該主機400通訊包括多個步驟。請一併參照圖12,這些步驟包括如步驟S532所示:該協定判斷控制器120重新接收該主機400的該排線重置指令。接著如步驟S533所示:該協定判斷控制器120重新接收該主機400的設定位址指令。由於此時已確認主機是使用第一種通訊協定,即MSC協定且是運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦、或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機,因此接下來便沒有判斷的必要,而直接執行如步驟S534所示:該協定判斷控制器120重新接收該主機400的第二取得說明指令。接著,後續再執行步驟S535:該協定判斷控制器120重新接收該主機400的設定組態指令;最後,如步驟S536所示:該主機400以該第一種通訊協定讀寫該外部記憶卡300。需說明的是,圖9係省略步驟S520之前的步驟以簡化流程,所省略的步驟可參照圖2、圖8及其說明,於此不再贅述。另外,圖12所示之主機400與資料讀寫系統100'間的作業時序係說明於等待該協定執行認證指令超過一預設時間後,中斷通訊並重新改以列舉該第一種通訊協定來與該主機400進行通訊。資料讀寫系統100'列舉該第一種通訊協定與該主機400進行通訊的步驟已於上文作詳細說明,本發明在此亦不再贅述。
請參照圖13,圖13揭示本實施例中一讀卡機的讀寫方法的流程實例。其中,第一種通訊協定例如為MSC協定,第二種通訊協定例如為EAN協定。主機400可能為運行視窗7(Window 7)作業系統、視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦;或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機;亦或是使用iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等。本實施例的讀卡機的讀寫方法說明如下:首先,如步驟B10所示:主機對讀卡機供電。接著,如步驟B20所示:主機向資料讀寫系統發送初始化指令。再來,如步驟B30所示:讀卡機由接收指令的種類與順序判斷主機是否使用MSC協定。即是否依序於接到一排線重置指令後接收第一取得說明指令,若依序於接到一排線重置指令後接收到第一取得說明指令,則可判定主機是運行視窗7(Window 7)作業系統的電腦系統且使用MSC協定。若主機使用MSC協定,則進行如步驟B42所示:讀卡機以MSC協定與主機建立通訊,並接著執行如步驟B62所示:主機以MSC協定存取SD記憶卡。若主機不是使用MSC協定,則進行步驟B41,即讀卡機以EAN協定與主機建立通訊。
在此是預設主機是使用EAN協定,但就如前述說明,由於在這個步驟時仍可能存在使用不同通訊協定的主機,因此,此處先嘗試以EAN協定來建立通訊。接著讀卡機便進行確認列舉EAN協定是否成功(步驟B51)。若列舉成功,則可確定主機是使用iOS作業系統的平板電腦、手持通訊裝置、或智慧型手機,接著執行如步驟B61所示:主機以EAN協定存取SD記憶卡。若列舉失敗,則可確定主機是運行視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦;或是運行安卓(Android)作業系統的手持通訊裝置、或智慧型手機,接著執行如步驟B52所示:讀卡機中斷通訊後執行排線重置指令,並回到步驟B42,即讀卡機以MSC協定與主機建立通訊。
以上僅舉兩種通訊協定為例,本揭示不限制通訊協定的數目與種類。三種以上的通訊協定亦可依本揭示的精神進行簡單的適當修飾。
於本揭示其中之另一實施例中,電力傳送模組是可選配的模組。詳細地說,該協定判斷控制器包括一微處理單元,以於該資料讀寫系統連接該主機後,判斷該資料讀寫系統是否具有電力傳送模組。當該資料讀寫系統具有該電力傳送模組時,請參照圖3至圖6及上述說明,該微處理單元要求該電力傳送模組提供取得的產品識別資料與供應商識別資料,藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定。當該資料讀寫系統不具有該電力傳送模組時,請參照圖7至圖13及對應的說明,該微處理單元以該主機的指令種類與順序為該判定資訊,該微處理單元直接接收並判斷該主機的該判定資訊。
請參照圖14,圖14顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的部分流程示意圖,需說明的是,圖14係省略步驟S200之前的步驟、步驟S210之後的步驟以及步驟S220之後的步驟以簡化流程圖。所省略的步驟可參照圖2、圖4、圖8及圖9及說明,於此不再贅述。本實施例的資料讀寫系統的讀寫方法,與前述實施例不同的是:相較於圖2的實施方法,本實施例在使該資料讀寫系統與主機電性連接(步驟S200)之後更包括如步驟S201所示:該協定判斷控制器判斷該資料讀寫系統是否具有一電力傳送模組。其中,若判斷該資料讀寫系統具有該電力傳送模組,則執行如步驟S210所示:該電力傳送微處理單元122a向該主機400要求該判定資訊及後續步驟。若判斷該資料讀寫系統不具有該電力傳送模組,則執行如步驟S220所示:該協定判斷控制器120接收該主機400的一初始化指令及後續步驟。相關說明如前所述,於此不再贅述。
具體的,請參照圖15,圖15揭示本實施例中一讀卡機的讀寫方法的流程實例。其中第一種通訊協定例如為MSC協定,第二種通訊協定例如為EAN協定。主機400可能為運行視窗7(Window 7)作業系統、視窗10(Window 10)作業系統、或麥金塔(MacOS)作業系統的電腦;或是運行安卓(Android)作業系統的手持通訊裝置、智慧型手機;亦或是使用iOS作業系統的平板電腦、手持通訊裝置、智慧型手機等。與圖6及圖13不同的是,本實例的讀卡機包括如步驟C30所示:判斷讀卡機是否具有電力傳送模組。其他步驟則與圖6或圖13類似,若具有電力傳送模組,則執行如步驟C40所示:電力傳送模組向主機發送取得製造資訊指令等步驟,相關說明可參照圖6及其說明,於此不再贅述。若不具有電力傳送模組,則執行如步驟C62所示:讀卡機由接收指令種類與順序判斷主機是否使用MSC協定等步驟,相關說明可參照圖13及其說明,於此不再贅述。
相較於先前技術,本揭示的讀卡機、資料讀寫系統及其讀寫方法藉由該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定,並列舉該第一種通訊協定或該第二種通訊協定來與該主機通訊。如此可自動判斷通訊協定並進行通訊,不需要使用者進行選擇通訊協定的動作,亦避免使用者選擇錯誤的通訊協定。
儘管已經相對於一個或多個實現方式顯示並描述了本揭示,但是本領域技術人員基於對本說明書和附圖的閱讀和理解將會想到等價變型和修改。本揭示包括所有這樣的修改和變型,並且僅由所附發明申請專利範圍限制。特別地關於由上述元件執行的各種功能,用於描述這樣的元件的術語旨在對應於執行所述元件的指定功能(例如其在功能上是等價的)的任意元件(除非另外指示),即使在結構上與執行本文所示的本說明書的示範性實現方式中的功能的公開結構不等同。此外,儘管本說明書的特定特徵已經相對於若干實現方式中的僅一個被公開,但是這種特徵可以與如可以對給定或特定應用而言是期望和有利的其他實現方式的一個或多個其他特徵組合。而且,就術語"包括"、"具有"、"含有"或其變形被用在具體實施方式或權利要求中而言,這樣的術語旨在以與術語"包含"相似的方式包括。
以上僅是本揭示的優選實施方式,應當指出,對於本領域普通技術人員,在不脫離本揭示原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本揭示的保護範圍。
100、100’:資料讀寫系統 110:通訊介面控制器 120:協定判斷控制器 121:微處理單元 130:記憶卡控制器 140:緩衝單元 151:第一快閃儲存單元 152第二快閃儲存單元 122:電力傳送模組 122a:電力傳送微處理單元 122b:C型及雙向標記碼實體層 122c:序列周邊介面控制器 200:USB通訊介面 211:USB收發器單元介面 212:高速/全速傳輸實體層 221:超高速裝置 222:超高速傳輸實體層 300:外部記憶卡 400:主機 1000、1000’:讀卡機 S100~S540、A10~A62、B10~B62、C10~C82:步驟方塊
圖1顯示根據本揭示的一實施例中資料讀寫系統與讀卡機的結構示意圖;
圖2顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖;
圖3顯示根據本揭示的一實施例中資料讀寫系統與讀卡機的結構示意圖;
圖4顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖;
圖5顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的時序示意圖;
圖6顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖;
圖7顯示根據本揭示的一實施例的資料讀寫系統與讀卡機的結構示意圖;
圖8顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的部分流程示意圖;
圖9顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的部分流程示意圖;
圖10顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的時序示意圖;
圖11顯示根據本揭示的又一實施例中資料讀寫系統的讀寫方法的時序示意圖;
圖12顯示根據本揭示的再一實施例中資料讀寫系統的讀寫方法的時序示意圖;
圖13顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖;
圖14顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的部分流程示意圖;
圖15顯示根據本揭示的一實施例中資料讀寫系統的讀寫方法的流程示意圖。
100:資料讀寫系統
110:通訊介面控制器
120:協定判斷控制器
130:記憶卡控制器
140:緩衝單元
200:USB通訊介面
300:外部記憶卡
400:主機
1000:讀卡機

Claims (29)

  1. 一種資料讀寫系統,適於與一主機連接,以讓該主機透過該資料讀寫系統對一外部記憶卡進行資料讀寫,其中該主機使用一第一種通訊協定或一第二種通訊協定其中之一,該資料讀寫系統包括: 一協定判斷控制器; 一通訊介面控制器,電連接至該協定判斷控制器,並適於與該主機通訊;以及 一記憶卡控制器,電連接至該協定判斷控制器與該通訊介面控制器,並控制該主機對該外部記憶卡的資料讀寫; 其中該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
  2. 如申請專利範圍第1項之資料讀寫系統,其中該協定判斷控制器包括一微處理單元,該微處理單元透過該通訊介面控制器接收該判定資訊,當該主機的該判定資訊為一第一取得說明指令,則該協定判斷控制器判斷該主機使用該第一種通訊協定,該微處理單元列舉該第一通訊協定來與該主機通訊;當該主機的該判定資訊不是該第一取得說明指令,則該協定判斷控制器判斷該主機使用該第二種通訊協定,該微處理單元列舉該第二通訊協定來與該主機通訊。
  3. 如申請專利範圍第2項之資料讀寫系統,其中當該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令時,該判定資訊為該第一取得說明指令,該協定判斷控制器依據該判定資訊判斷該主機使用該第一種通訊協定;當資料讀寫系統自該主機依序接收該設定位址指令與該第二取得說明指令時,該判定資訊為該設定位址指令,該協定判斷控制器依據該判定資訊預設該主機使用該第二種通訊協定。
  4. 如申請專利範圍第3項之資料讀寫系統,其中該資料讀寫系統與該主機連接後,依序接收該主機發送的初始化指令與排線重置指令,且該協定判斷控制器認定該主機於該排線重置指令後所發送的一指令為該判定資訊。
  5. 如申請專利範圍第3項之資料讀寫系統,其中當該協定判斷控制器判斷該主機使用該第二種通訊協定進行通訊時,該協定判斷控制器預設會在接收該主機的該第二取得說明指令後,接收一設定組態指令及一協定執行認證指令,當該協定判斷控制器等待該主機的該協定執行認證指令超過一預設時間後,該微處理單元改以列舉該第一種通訊協定與該主機進行通訊。
  6. 如申請專利範圍第3項之資料讀寫系統,更包括: 一USB收發器單元介面電連接至該通訊介面控制器; 一高速/全速傳輸實體層電連接至該USB收發器單元介面; 一緩衝單元,電連接至該記憶卡控制器以及該通訊介面控制器; 一超高速傳輸實體層; 一超高速裝置,電連接於該超高速傳輸實體層及該緩衝單元;以及 一第一快閃儲存單元,電連接至該微處理單元,且儲存一用以判斷該主機通訊協定的程序, 其中該通訊介面控制器透過該USB收發器單元介面、該高速/全速傳輸實體層、該超高速裝置以及該超高速傳輸實體層來與該主機通訊; 該主機透過該微處理單元的控制來讀寫該外部記憶卡。
  7. 如申請專利範圍第1項之資料讀寫系統,其中該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元,當該資料讀寫系統連接該主機後,該電力傳送微處理單元要求該主機提供該判定資訊,該判定資訊為該主機的產品識別資料與供應商識別資料,微處理單元並藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定。
  8. 如申請專利範圍第7項之資料讀寫系統,其中當該微處理單元判斷該主機使用該第一種通訊協定時,該微處理單元控制該介面控制單元列舉該第一種通訊協定與該主機進行通訊;當該微處理單元判斷該主機使用該第二種通訊協定時,該微處理單元控制該介面控制單元列舉該第二種通訊協定與該主機進行通訊,而該主機的產品識別資料與供應商識別資料包括產品資料或作業系統資料。
  9. 如申請專利範圍第7項之資料讀寫系統,還包括一電力傳送模組,該電力傳送模組包括: 該電力傳送微處理單元; 一C型及雙向標記碼實體層;以及 一第二快閃儲存單元,儲存一用以要求該主機提供該判定資訊以決定供電電壓的程序; 其中該電力傳送微處理單元用以控制該C型及雙向標記碼實體層與該主機通訊,該資料讀寫系統更包括: 一USB收發器單元介面電連接至該通訊介面控制器; 一高速/全速傳輸實體層電連接至該USB收發器單元介面; 一緩衝單元,電連接至該記憶卡控制器以及該通訊介面控制器; 一超高速傳輸實體層; 一超高速裝置,電連接於該超高速傳輸實體層及該緩衝單元;以及 一第一快閃儲存單元電連接至該微處理單元,儲存一用以判斷該主機通訊協定的程序, 其中該通訊介面控制器透過該微處理單元的控制來與該主機通訊; 該主機透過該超高速裝置與該超高速傳輸實體層讀寫該外部記憶卡。
  10. 如申請專利範圍第1項之資料讀寫系統,其中該協定判斷控制器包括一微處理單元,以於該資料讀寫系統連接該主機後,判斷該資料讀寫系統是否具有一電力傳送模組,當該資料讀寫系統具有該電力傳送模組時,該微處理單元要求該電力傳送模組提供取得的產品識別資料與供應商識別資料,藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定;當該資料讀寫系統不具有該電力傳送模組時,該微處理單元直接接收並判斷該主機的該判定資訊。
  11. 如申請專利範圍第10項之資料讀寫系統,其中當該資料讀寫系統不具有該電力傳送模組時,該微處理單元透過該通訊介面控制器直接接收該主機的該判定資訊,當該主機的該判定資訊為一第一取得說明指令,則該微處理單元判斷該主機使用該第一種通訊協定;當該主機的該判定資訊不是該第一取得說明指令,則該微處理單元判斷該主機使用該第二種通訊協定進行通訊。
  12. 如申請專利範圍第1項之資料讀寫系統,其中該通訊介面控制器透過一USB通訊介面與該主機通訊。
  13. 一種讀卡機,適於與一主機連接,以讓該主機透過該讀卡機對一外部記憶卡進行資料讀寫,其中該主機使用一第一種通訊協定或一第二種通訊協定其中之一,該讀卡機包括: 一協定判斷控制器; 一通訊介面控制器,電連接至該協定判斷控制器,並適於與該主機通訊; 一記憶卡控制器,電連接至該協定判斷控制器與該通訊介面控制器,並控制該主機對該外部記憶卡的資料讀寫;以及 一USB通訊介面,電連接至該通訊介面控制器,其中該協定判斷控制器取得該主機的一判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
  14. 如申請專利範圍第13項之讀卡機,其中該協定判斷控制器包括一微處理單元,用以列舉該第一通訊協定或該第二通訊協定而與該主機通訊;當該主機的該判定資訊為一第一取得說明指令時,該協定判斷控制器判斷該主機使用該第一種通訊協定;當該主機的該判定資訊不是該第一取得說明指令時,則該協定判斷控制器判斷該主機使用該第二種通訊協定。
  15. 如申請專利範圍第13項之讀卡機,其中該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元,當該讀卡機連接該主機後,該電力傳送微處理單元要求該主機提供該判定資訊以決定供電電壓,該微處理單元並藉以判斷該主機是使用該第一種通訊協定或該第二種通訊協定,該判定資訊為該主機的產品識別資料與供應商識別資料至少其中之一。
  16. 一種資料讀寫系統的讀寫方法,用以對一外部記憶卡進行資料讀寫,該方法包括: 提供一資料讀寫系統,該資料讀寫系統包括一協定判斷控制器、一通訊介面控制器以及一記憶卡控制器,該通訊介面控制器電連接至該協定判斷控制器,且該記憶卡控制器電連接至該協定判斷控制器與該通訊介面控制器; 使該資料讀寫系統與一主機電性連接,並使該通訊介面控制器與該主機通訊,其中該主機使用第一種通訊協定或第二種通訊協定其中之一; 該協定判斷控制器取得該主機的一判定資訊; 該協定判斷控制器依據該判定資訊判斷該主機使用該第一種通訊協定或該第二種通訊協定;以及 該協定判斷控制器列舉該主機使用的該第一種通訊協定或該第二種通訊協定,以使該主機對該外部記憶卡進行資料讀寫。
  17. 如申請專利範圍第16項之資料讀寫系統的讀寫方法,其中該協定判斷控制器包括一微處理單元,而判斷該主機使用該第一種通訊協定或該第二種通訊協定包括多個步驟,該些步驟包括: 判斷該判定資訊是否為一第一取得說明指令; 若該判定資訊為該第一取得說明指令,則判斷該主機使用該第一種通訊協定,且該微處理單元列舉該第一通訊協定與該主機通訊;以及 若該判定資訊不是該第一取得說明指令,則判斷該主機使用該第二種通訊協定,且該微處理單元列舉該第二通訊協定與該主機通訊。
  18. 如申請專利範圍第17項之資料讀寫系統的讀寫方法,其中若該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令時,該協定判斷控制器依據所接收的該第一取得說明指令判斷該主機使用該第一種通訊協定,且該主機以該第一種通訊協定讀寫電連接於該資料讀寫系統的該外部記憶卡;若該資料讀寫系統自該主機依序接收該設定位址指令與該第二取得說明指令,該協定判斷控制器依據所接收的該設定位址指令預設該主機使用該第二種通訊協定。
  19. 如申請專利範圍第18項之資料讀寫系統的讀寫方法,其中該協定判斷控制器判斷該主機使用該第二種通訊協定後更包括多個步驟,該些步驟包括: 判斷是否於一預設時間內接收到該主機發送的一協定執行認證指令; 若於該預設時間內接收到該主機發送的該協定執行認證指令,則確認該主機使用該第二種通訊協定,該主機並以該第二種通訊協定讀寫該外部記憶卡;以及 若於該預設時間內未接收到該主機發送的該協定執行認證指令,則該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊。
  20. 如申請專利範圍第19項之資料讀寫系統的讀寫方法,其中該資料讀寫系統自該主機接收該第二取得說明指令之後,該協定判斷控制器接收該主機的一設定組態指令。
  21. 如申請專利範圍第19項之資料讀寫系統的讀寫方法,其中取得該主機的該判定資訊之前,更包括多個步驟,該些步驟包括: 該協定判斷控制器接收該主機的一初始化指令;以及 該協定判斷控制器接收該主機的一排線重置指令,其中該協定判斷控制器認定該排線重置指令後所接收的該主機的指令為該判定資訊。
  22. 如申請專利範圍第19項之資料讀寫系統的讀寫方法,其中該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊的步驟包括: 該協定判斷控制器接重新收該主機的該排線重置指令; 該協定判斷控制器接重新收該主機的設定位址指令; 該協定判斷控制器接重新收該主機的取得說明指令; 該協定判斷控制器接重新收該主機的設定組態指令;以及 該主機以該第一種通訊協定(MSC)讀寫該外部記憶卡。
  23. 如申請專利範圍第16項之資料讀寫系統的讀寫方法,其中該協定判斷控制器包括一微處理單元以及一電力傳送微處理單元,該協定判斷控制器取得該主機的該判定資訊的步驟包括: 該電力傳送微處理單元向該主機要求該判定資訊,其中該判定資訊為該主機的產品識別資料與供應商識別資料,而該主機的產品識別資料與供應商識別資料包括產品資料或是作業系統資料。
  24. 如申請專利範圍第16項之資料讀寫系統的讀寫方法,其中取得該主機的該判定資訊之前更包括:該協定判斷控制器判斷該資料讀寫系統是否具有一電力傳送模組。
  25. 如申請專利範圍第24項之資料讀寫系統的讀寫方法,其中若判斷該資料讀寫系統具有該電力傳送模組,則該協定判斷控制器透過該電力傳送模組向該主機取得該判定資訊,而該判定資訊為該主機的產品識別資料與供應商識別資料; 若判斷該資料讀寫系統不具有該電力傳送模組,則該協定判斷控制器直接取得該主機的該判定資訊,以判斷該主機使用該第一種通訊協定或該第二種通訊協定。
  26. 如申請專利範圍第25項之資料讀寫系統的讀寫方法,其中若判斷該資料讀寫系統不具有該電力傳送模組,則該協定判斷控制器執行多個步驟,該些步驟包括: 判斷該判定資訊是否為該第一取得說明指令; 若該判定資訊為一第一取得說明指令,則判斷該主機使用該第一種通訊協定,且該微處理單元列舉該第一通訊協定與該主機通訊;以及 若該判定資訊不是該第一取得說明指令,則判斷該主機使用該第二種通訊協定,且該微處理單元列舉該第二通訊協定與該主機通訊。
  27. 如申請專利範圍第26項之資料讀寫系統的讀寫方法,其中若該資料讀寫系統自該主機依序接收該第一取得說明指令、一設定位址指令與一第二取得說明指令,則該協定判斷控制器依據所接收的指令是該第一取得說明指令判斷該主機使用該第一種通訊協定,且該主機以該第一種通訊協定讀寫電連接於該資料讀寫系統的外部記憶卡;若該資料讀寫系統自該主機依序接收一設定位址指令與該第二取得說明指令,則該協定判斷控制器依據所接收的該設定位址指令預設該主機使用該第二種通訊協定。
  28. 如申請專利範圍第26項之資料讀寫系統的讀寫方法,其中若該協定判斷控制器於判斷該主機使用該第二種通訊協定後一預設時間內接收到該主機發送的該協定執行認證指令,則該主機以該第二種通訊協定讀寫該外部記憶卡; 若該協定判斷控制器於判斷該主機使用該第二種通訊協定後該預設時間內未接收到該主機發送的該協定執行認證指令,則該資料讀寫系統改以列舉該第一種通訊協定與該主機進行通訊。
  29. 如申請專利範圍第16項之資料讀寫系統的讀寫方法,其中該資料讀寫系統更包括一USB通訊介面,而該資料讀寫系統與該主機透過該通訊介面電性連接。
TW108126198A 2019-07-24 2019-07-24 讀卡機、資料讀寫系統及其讀寫方法 TWI718601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108126198A TWI718601B (zh) 2019-07-24 2019-07-24 讀卡機、資料讀寫系統及其讀寫方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108126198A TWI718601B (zh) 2019-07-24 2019-07-24 讀卡機、資料讀寫系統及其讀寫方法

Publications (2)

Publication Number Publication Date
TW202105235A true TW202105235A (zh) 2021-02-01
TWI718601B TWI718601B (zh) 2021-02-11

Family

ID=75745123

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108126198A TWI718601B (zh) 2019-07-24 2019-07-24 讀卡機、資料讀寫系統及其讀寫方法

Country Status (1)

Country Link
TW (1) TWI718601B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210038A1 (en) * 2011-02-16 2012-08-16 Skymedi Corporation External bridge system
TWI444898B (zh) * 2011-08-26 2014-07-11 Jrsys Internat Corp 資料安全認證系統及相關的多功能記憶卡和電腦程式產品
TWI456402B (zh) * 2012-08-08 2014-10-11 Acer Inc 擴充模組
TWM591654U (zh) * 2019-07-24 2020-03-01 創惟科技股份有限公司 讀卡機及資料讀寫系統

Also Published As

Publication number Publication date
TWI718601B (zh) 2021-02-11

Similar Documents

Publication Publication Date Title
JP5065297B2 (ja) Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
US8725909B2 (en) Method for identifying host operating system by universal serial bus (USB) device
JP4799417B2 (ja) ホストコントローラ
US20130007289A1 (en) Remote control system and remote control method of the same
WO2012034524A1 (zh) Usb设备识别主机windows操作系统版本类型的方法
JP2010506242A (ja) 多機能メモリカードとの通信方法
WO2009030131A1 (fr) Carte sd intelligente et procédé d'accès à celle-ci
US8850086B2 (en) SD switch box in a cellular handset
US7793004B2 (en) Computer peripheral device implemented as optic storage device or/and removable disk by software emulation and implementing method thereof
US8799542B2 (en) System and method for providing remote device driver
JP6094575B2 (ja) I/oデバイス共有システムおよびi/oデバイス共有方法
US8527667B2 (en) Apparatuses and methods for transferring data
TWI416418B (zh) 資料傳輸控制器、裝置及其方法
TWI718601B (zh) 讀卡機、資料讀寫系統及其讀寫方法
TWM591654U (zh) 讀卡機及資料讀寫系統
CN116431546B (zh) 参数配置方法、电子设备、存储介质及程序产品
US20160314086A1 (en) Secure digital host controller virtualization
JP2003281477A (ja) 電子機器、電子カード、及びカード識別方法
CN108008854B (zh) 一种避免天线载波干扰的方法、装置及终端设备
US20050144336A1 (en) Method and apparatus for data sharing
TWI525440B (zh) A data latching device for starting an electronic device and a method of starting the electronic device
KR101172298B1 (ko) 무선 통신 메모리 카드 및 sd 컨트롤러
TWI635411B (zh) 具有生物特徵辨識模組之儲存裝置
CN103186812B (zh) 智能存储卡以及访问智能存储卡的方法
JP2006350881A (ja) メモリーカード制御装置およびメモリーカード制御システム