JP2023549354A - データ伝送方法及び電子デバイス - Google Patents
データ伝送方法及び電子デバイス Download PDFInfo
- Publication number
- JP2023549354A JP2023549354A JP2023528212A JP2023528212A JP2023549354A JP 2023549354 A JP2023549354 A JP 2023549354A JP 2023528212 A JP2023528212 A JP 2023528212A JP 2023528212 A JP2023528212 A JP 2023528212A JP 2023549354 A JP2023549354 A JP 2023549354A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data packet
- transmission unit
- packet
- transmission
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 529
- 238000000034 method Methods 0.000 title claims abstract description 222
- 238000003860 storage Methods 0.000 claims abstract description 109
- 238000012856 packing Methods 0.000 claims abstract description 36
- 239000000872 buffer Substances 0.000 claims description 106
- 230000015654 memory Effects 0.000 claims description 63
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 125000004122 cyclic group Chemical group 0.000 claims description 12
- 230000001174 ascending effect Effects 0.000 claims description 8
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims 3
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims 3
- 238000012790 confirmation Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 117
- 230000008569 process Effects 0.000 description 69
- 238000010586 diagram Methods 0.000 description 52
- 238000012937 correction Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 31
- 230000007246 mechanism Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 27
- 230000006854 communication Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 238000009826 distribution Methods 0.000 description 18
- 230000002457 bidirectional effect Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 10
- 230000008439 repair process Effects 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 4
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010079 rubber tapping Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 3
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 3
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 210000002816 gill Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1671—Details of the supervisory signal the supervisory signal being transmitted together with control information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本願はデータ伝送方法及び電子デバイスを提供し、端末技術の分野に関係があり、プロトコル標準を統一し、モジュール間データ伝送プロセスを簡単にし、かつ回路面積を削減することができる。方法は、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することを含む。データパケットはデータタイプ情報を含み、データタイプ情報はデータパケットのアプリケーションシナリオを示し、アプリケーションシナリオはカメラシナリオ、ディスプレイシナリオ、及びストレージシナリオのうちのいずれか1つを含む。第1伝送ユニットは、データパケットを第1伝送ユニットの物理レイヤへ第1伝送ユニットのプロトコルレイヤを通じて送信する。第1伝送ユニットは、データパケットを第2伝送ユニットへ第1伝送ユニットの物理レイヤを通じて送信する。
Description
本願の実施形態は、端末技術の分野に、特に、データ伝送方法及び電子デバイスに関係がある。
現在、プロセッサ、ディスプレイ、カメラ、及びメモリなどの複数のモジュールが電子デバイス(例えば、携帯電話又はタブレットコンピュータ)に組み込まれており、移動体通信、エンターテイメント、及び旅行などの複数のシナリオにおける電子デバイスの応用を満たしている。
しかし、プロセッサとディスプレイ、カメラ、及びメモリなどのモジュールとの間には複数のインタラクションインターフェースが存在し、異なるモジュール間のインターフェース標準は異なるため、設計者は、機能システムを設計する過程で複数の抵触する専用物理レイヤインターフェースを処理する必要がある。これは困難である。
これを鑑み、MIPIアライアンスは、インターフェース標準の衝突を回避するために、コンシューマ電子製品のためのインターフェース標準を提案している。ただし、MIPIアライアンスは、異なるカメラインターフェース、ディスプレイインターフェース、ストレージインターフェース、などのために異なる標準及びプロトコル仕様を策定している。このため、プロトコル標準は複雑であり、機能実装に必要な回路面積は大きい。しかし、現在、ユーザは、より軽くより薄いモバイル電子デバイスを購入している。電子デバイスの内部空間エリアによって制限されるので、電子デバイスの機能実装は課題を抱えている。
本願の実施形態で提供されるデータ伝送方法及び電子デバイスに従って、プロトコル標準は統一され得、モジュール間データ伝送プロセスは簡単になり、回路面積は削減され得る。
上記の目的を達成するために、以下の技術的解決法が本願の実施形態では使用される。
第1の態様に従って、本願に実施形態はデータ伝送方法を提供する。方法は、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することを含んでよい。データパケットはデータタイプ情報を含み、データタイプ情報はデータパケットのアプリケーションシナリオを示し、アプリケーションシナリオはカメラシナリオ、ディスプレイシナリオ、及びストレージシナリオのうちのいずれか1つを含む。第1伝送ユニットは、データパケットを第1伝送ユニットの物理レイヤへ第1伝送ユニットのプロトコルレイヤを通じて送信する。第1伝送ユニットは、データパケットを第2伝送ユニットへ第1伝送ユニットの物理レイヤを通じて送信する。
例えば、カメラシナリオでは、第1伝送ユニットは、例えば、カメラモジュールであり、第2伝送ユニットは、例えば、SOCである。ディスプレイシナリオでは、第1伝送ユニットは、例えば、SOCであり、第2伝送ユニットは、例えば、DDICである。ストレージシナリオでは、第1伝送ユニットは、例えば、ストレージモジュールであり、第2伝送ユニットは、例えば、SOCである。代替的に、第1伝送ユニットは、例えば、SOCであり、第2伝送ユニットは、例えば、ストレージモジュールである。
このようにして、第1伝送ユニット及び第2伝送ユニットは、同じデータパケット構造を使用することによって、同じデータ伝送プロトコルに基づいてデータ伝送を実行することができる。更には、データパケットに含まれるデータタイプ情報は、データパケットの現在のアプリケーションシナリオを示し、それによって、データ伝送効率を改善する。更に、カメラモジュール、ディスプレイモジュール、及びストレージモジュールは、リンク多重化を実装して回路面積を削減するように、同じデータ伝送プロトコルに基づいてSOCと通信し得る。
可能な実施において、データパケットのデータパケットタイプはロングパケット及びショートパケットを含み、ロングパケットはデータパケットヘッダサブパケット、ペイロードデータサブパケット、及びデータパケットフッタサブパケットを含み、ショートパケットはデータパケットヘッダサブパケット及びデータパケットフッタサブパケットを含む。
いくつかの実施形態で、データパケットは、異なる搬送データに基づいて、ロングデータパケットとショートデータパケットとに分類される。ロングデータパケットはロングパケットとも記述されることがあり、ショートデータパケットはショートパケットとも記述されることがある。本願のこの実施形態では、ロングデータパケット及びショートデータパケットは、データパケットによって占有されるビットの長さによっては区別されない。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第1の値は、アプリケーションシナリオがディスプレイシナリオであること、及びデータパケットがショートデータパケット又はロングデータパケットであることを示す。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第2の値は、アプリケーションシナリオがカメラシナリオであること、及びデータパケットがショート制御パケット又はロングデータパケットであることを示す。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第3の値は、アプリケーションシナリオがストレージシナリオであること、及びデータパケットがショート確認応答ACKパケット、ショート否定応答NACKパケット、ロングデータパケット、及びロング制御パケットのうちの1つであることを示す。
いくつかの実施形態で、特定の情報又は特定の数を有する、データパケットの部分は、データパケットのサブパケットと呼ばれる。本願のこの実施形態で提供されるデータパケット構造は、カメラシナリオ、ディスプレイシナリオ、及びストレージシナリオに適用され得る。フィールドの値は、送信中のデータパケットが適用されるシナリオを示す。
従って、同じプロトコルアーキテクチャに基づいて、カメラシナリオ、ディスプレイシナリオ、及びストレージシナリオに適用可能な一般的なデータパケット構造が構成され、データパケット内のデータタイプフィールドは、データパケットのアプリケーションシナリオを識別するために使用される。異なるシナリオが異なるプロトコルアーキテクチャに対応し、異なるデータパケット構造のデータが送信される従来技術と比較して、本願の実施形態は、回路複雑性及び回路面積が有効に低減され、それによって、回路電力消費量を削減しかつ伝送効率を向上させるように、プロトコルアーキテクチャ及び一般的なデータパケット構造を提供する。
可能な実施において、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することは、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤによって送信された伝送されるべきデータを受信することを含む。第1伝送ユニットは、第1伝送ユニットのプロトコルレイヤで、伝送されるべきデータをセグメント化して、ペイロードデータを生成し、かつ、データパケットヘッダ、巡回冗長検査CRCコード、及びデータパケットフッタを生成し、そして、ペイロードデータ、データパケットヘッダ、及びデータパケットフッタをパッキングした後でデータパケットを生成し、このとき、データパケットフッタは、CRCコードを示すCRCフィールドを含む。
いくつかの実施形態で、第1伝送ユニットのアプリケーションレイヤは、データをプロトコルレイヤへ送信する。プロトコルレイヤは、セグメント化されたデータを組み立て、必要なパケットヘッダ及び必要なパケットフッタをデータパケットに加え、次いで、物理レイヤによりデータパケットを第2伝送ユニットの物理レイヤへ送信する必要がある。第2伝送ユニットの物理レイヤは、受信されたデータパケットをプロトコルレイヤへ送信し、プロトコルレイヤは、データパケットをアンパッキングして、セグメント化されたデータを生成し、アプリケーションレイヤへ送信されるべきデータを組み立て直して、第1伝送ユニットから第2伝送ユニットへのデータ伝送を完了する。
このようにして、上記のステップでは、第1伝送ユニット及び第2伝送ユニットは、同じプロトコルアーキテクチャに基づいて一般的なデータパケットのパケットパッキング及びアンパッキングを完了し、それによって、高速なデータ伝送を実装する。
第2の態様に従って、本願の実施形態はデータ伝送方法を提供する。方法は、第1伝送ユニットが、送信されるべき第1データパケットを第1伝送ユニットのバッファ(buffer)に格納することを含んでよい。第1伝送ユニットは、第1データパケットを第2伝送ユニットへ送信し、タイマを起動する。タイマが満了しておらず、第1伝送ユニットのバッファ内の残りの自由空間のサイズが、送信されるべき第2データパケットのサイズ以上である場合に、第1伝送ユニットは、第2データパケットを第2伝送ユニットへ送信し、タイマを再起動する。
いくつかの実施形態で、第1伝送ユニットのバッファ内の残りの自由空間のサイズが次に送信されるべきデータパケットをバッファリングするために使用され得る場合に、データパケットは引き続き送信される。更に、タイマが、第1伝送ユニットのデータリンクレイヤで設定される。データパケットが送信されるたびに、タイマは、全てのデータパケットが送信されるまで、計時を再開するようリフレッシュされる。例えば、第1伝送ユニットのバッファ内の残りの自由空間が、次に送信されるべきデータパケットによって占有される必要がある空間のサイズ以上である場合に、送信されるべきデータパケットは第1伝送ユニットのバッファに格納され、送信されるべきデータパケットは送信され、タイマは再起動される。他の例として、データ伝送プロセスにおいて、送信される必要があるデータパケットのサイズは全て同じである。従って、第1伝送ユニットのバッファのバッファ空間のサイズは、データパケットのサイズの整数倍であるよう構成されてよい。この場合に、データ伝送プロセスにおいて、第1伝送ユニットは、次のデータパケットを引き続き送信するために、第1伝送ユニットのバッファがいっぱいでないことを決定しさえすればよい(つまり、第1伝送ユニットのバッファ内の残りの自由空間のサイズは、データパケットのサイズの整数倍である)。
このようにして、第1伝送ユニットは、第2伝送ユニットが応答信号をフィードバックすることを待たずに、後続のデータパケットを送信するためにバッファ(buffer)メカニズムを使用する。
可能な実施において、第1伝送ユニットが第1データパケットを第2伝送ユニットへ送信し、タイマを起動した後、方法は、第1伝送ユニットが、第2伝送ユニットによって送信された第1確認応答ACK信号を受信し、第1伝送ユニットのバッファから第1データパケットを削除し、タイマを再起動することを更に含み、ここで、第1ACK信号は、第1データパケットに対応するフィードバック信号である。
例えば、正しいデータパケットを受信した後、第2伝送ユニットは、ACKパケットにパラメータとしてデータパケットのフレーム番号を置き、フレーム番号を第1伝送ユニットへフィードバックする。代替的に、データパケットのグループを受信した後、第2伝送ユニットのデータリンクレイヤは、相応して、データパケットのグループのパケットフッタのフレーム番号を含む1つのACKパケットを返して、そのフレーム番号より前の全てのデータパケットが正確に受信されたことを示す。
相応して、第1伝送ユニットは、フレーム番号順に基づいて、対応するACKパケットを受信し、ACKを受信した後に、対応するデータパケットを第1伝送ユニットのバッファから削除して、後続のデータパケットを送信するための更なるバッファ空間を得る。
可能な実施において、方法は、第1データパケットのバッファ内の残りの自由空間のサイズが、送信されるべき第2データパケットのサイズに満たない場合に、第1伝送ユニットがデータパケットを送信することを止めることを更に含む。タイマが満了し、第1伝送ユニットが第2ACK信号を未だ受信していない場合に、第1伝送ユニットは、第1伝送ユニットのバッファにバッファリングされている1つ以上の第3データパケット中で最も小さいフレーム番号を有する第4データパケットを取得する。第1伝送ユニットは、第4データパケットを第2伝送ユニットへ再送し、タイマを再起動する。
可能な実施において、第1伝送ユニットが第4データパケットを第2伝送ユニットへ再送した後、方法は、第1伝送ユニットが1つ以上の第3データパケットをフレーム番号の昇順で第2伝送ユニットへ再送し、第3データパケットが送信されるたびにタイマを再起動することを更に含む。
例えば、データ伝送プロセスにおいて、データパケット伝送エラーが起こり、データ伝送が実行される必要がある場合に、データ伝送メカニズムはタイムアウト再送を含む。具体的に、第1伝送ユニットがACKを受信しない場合に、第1伝送ユニットはデータパケットを削除することができない。その結果、第1伝送ユニットのバッファは、データで完全に満たされる場合がある。第1伝送ユニットのバッファがデータで完全に満たされた後、データパケット送信は停止され、タイマは、データパケットが送信されない場合にリフレッシュされない。従って、計時は、前もってセットされた時間を越えるまで累積される。第1伝送ユニットは、データ伝送が異常であり、再送が必要であると決定し、第1伝送ユニットのバッファから削除されていないデータパケットのフレーム番号に基づいて、最小のフレーム番号から始まるデータ再送を実行する。
可能な実施において、方法は、第1伝送ユニットが、第2伝送ユニットによって送信された第1否定応答NACK信号を受信し、データパケットを送信することを止めることを更に含む。第1伝送ユニットは、第1NACK信号に対応する第5データパケットを決定する。第1伝送ユニットは、第5データパケットを第2伝送ユニットへ再送し、タイマを再起動する。
可能な実施において、第1伝送ユニットが第5データパケットを第2伝送ユニットへ再送した後、方法は、第1伝送ユニットが、第1伝送ユニットのバッファにバッファリングされている1つ以上の第6データパケットを、1つ以上の第6データパケットのフレーム番号の昇順で第2伝送ユニットへ再送し、第6データパケットが送信されるたびにタイマを再起動することを更に含み、ここで、第5データパケットのフレーム番号は、1つ以上の第6データパケットのフレーム番号よりも小さい。
例えば、データ再送メカニズムはNACK再送を更に含む。具体的に、NACKを受信した後、第1伝送ユニットは、NACKのフレーム番号に対応するデータパケットの伝送が異常であると決定し、データパケットを送信することを止め、タイマの計時を停止する。次いで、NACKのフレーム番号に対応するデータパケットが再送される。第1伝送ユニットのバッファが他のバッファリングされたデータパケットを更に含む場合には、これらのバッファリングされたデータパケットは、第1伝送ユニットのバッファ内のバッファリングされたデータパケットのフレーム番号の昇順で再送される。その後に、全てのパケットの送信が完了される。
第3の態様に従って、本願の実施形態は、プロセッサ及びメモリを含む電子デバイスを提供する。メモリはプロセッサへ結合され、メモリは、コンピュータプログラムコードを記憶するよう構成され、コンピュータプログラムコードはコンピュータ命令を含む。プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を実行することができる。第1伝送ユニットは、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成し、このとき、データパケットはデータタイプ情報を含み、データタイプ情報はデータパケットのアプリケーションシナリオを示し、アプリケーションシナリオはカメラシナリオ、ディスプレイシナリオ、及びストレージシナリオのうちのいずれか1つを含む。第1伝送ユニットは、データパケットを第1伝送ユニットの物理レイヤへ第1伝送ユニットのプロトコルレイヤを通じて送信する。第1伝送ユニットは、データパケットを第2伝送ユニットへ第1伝送ユニットの物理レイヤを通じて送信する。
可能な実施において、データパケットのデータパケットタイプはロングパケット及びショートパケットを含み、ロングパケットはデータパケットヘッダサブパケット、ペイロードデータサブパケット、及びデータパケットフッタサブパケットを含み、ショートパケットはデータパケットヘッダサブパケット及びデータパケットフッタサブパケットを含む。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第1の値は、アプリケーションシナリオがディスプレイシナリオであること、及びデータパケットがショートデータパケット又はロングデータパケットであることを示す。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第2の値は、アプリケーションシナリオがカメラシナリオであること、及びデータパケットがショート制御パケット又はロングデータパケットであることを示す。
可能な実施において、データタイプ情報は、データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、データタイプフィールドの第3の値は、アプリケーションシナリオがストレージシナリオであること、及びデータパケットがショート確認応答ACKパケット、ショート否定応答NACKパケット、ロングデータパケット、及びロング制御パケットのうちの1つであることを示す。
可能な実施において、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することは、第1伝送ユニットが、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤによって送信された伝送されるべきデータを受信することを含む。第1伝送ユニットは、第1伝送ユニットのプロトコルレイヤで、伝送されるべきデータをセグメント化して、ペイロードデータを生成し、かつ、データパケットヘッダ、巡回冗長検査CRCコード、及びデータパケットフッタを生成し、そして、ペイロードデータ、データパケットヘッダ、及びデータパケットフッタをパッキングした後でデータパケットを生成し、このとき、データパケットフッタは、CRCコードを示すCRCフィールドを含む。
更には、第3の態様に係る電子デバイスの技術的効果については、第1の態様に係るデータ伝送方法の技術的効果を参照されたい。詳細はここで再び記載されない。
第4の態様に従って、本願の実施形態は、プロセッサ及びメモリを含む電子デバイスを提供する。メモリはプロセッサへ結合され、メモリは、コンピュータプログラムコードを記憶するよう構成され、コンピュータプログラムコードはコンピュータ命令を含む。プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を実行することができる。第1伝送ユニットは、送信されるべき第1データパケットを第1伝送ユニットのバッファ(buffer)に格納する。第1伝送ユニットは、第1データパケットを第2伝送ユニットへ送信し、タイマを起動する。タイマが満了しておらず、第1伝送ユニットのバッファ内の残りの自由空間のサイズが、送信されるべき第2データパケットのサイズ以上である場合に、第1伝送ユニットは、第2データパケットを第2伝送ユニットへ送信し、タイマを再起動する。
可能な実施において、プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を更に実行することができる。第1伝送ユニットは、第2伝送ユニットによって送信された第1確認応答ACK信号を受信し、第1伝送ユニットのバッファから第1データパケットを削除し、タイマを再起動することを更に含み、ここで、第1ACK信号は、第1データパケットに対応するフィードバック信号である。
可能な実施において、プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を更に実行することができる。第1データパケットのバッファ内の残りの自由空間のサイズが、送信されるべき第2データパケットのサイズに満たない場合に、第1伝送ユニットは、データパケットを送信することを止める。タイマが満了し、第1伝送ユニットが第2ACK信号を未だ受信していない場合に、第1伝送ユニットは、第1伝送ユニットのバッファにバッファリングされている1つ以上の第3データパケット中で最も小さいフレーム番号を有する第4データパケットを取得する。第1伝送ユニットは、第4データパケットを第2伝送ユニットへ再送し、タイマを再起動する。
可能な実施において、プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を更に実行することができる。第1伝送ユニットは、1つ以上の第3データパケットをフレーム番号の昇順で第2伝送ユニットへ再送し、第3データパケットが送信されるたびにタイマを再起動する。
可能な実施において、プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を更に実行することができる。第1伝送ユニットは、第2伝送ユニットによって送信された第1否定応答NACK信号を受信し、データパケットを送信することを止める。第1伝送ユニットは、第1NACK信号に対応する第5データパケットを決定する。第1伝送ユニットは、第5データパケットを第2伝送ユニットへ再送し、タイマを再起動する。
可能な実施において、プロセッサがメモリからコンピュータ命令を読み出すと、電子デバイスは、次の動作を更に実行することができる。第1伝送ユニットは、第1伝送ユニットのバッファにバッファリングされている1つ以上の第6データパケットを、1つ以上の第6データパケットのフレーム番号の昇順で第2伝送ユニットへ再送し、第6データパケットが送信されるたびにタイマを再起動し、ここで、第5データパケットのフレーム番号は、1つ以上の第6データパケットのフレーム番号よりも小さい。
更には、第4の態様に係る電子デバイスの技術的効果については、第2の態様に係るデータ伝送方法の技術的効果を参照されたい。詳細はここで再び記載されない。
第5の態様に従って、本願の実施形態は電子デバイスを提供する。電子デバイスは、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実施する機能を備えているか、あるいは、電子デバイスは、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実施する機能を備えている。機能は、ハードウェアによって実施されてよく、あるいは、ハードウェアが対応するソフトウェアを実行することによって実施されてもよい。ハードウェア又はソフトウェアは、機能に対応する1つ以上のモジュールを含む。
第6の態様に従って、本願の実施形態はチップを提供する。チップはプロセッサを含み、プロセッサはメモリへ結合され、メモリはプログラム命令を記憶している。メモリに記憶されているプログラム命令がプロセッサによって実行されると、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法の機能が実施される。代替的に、メモリに記憶されているプログラム命令がプロセッサによって実行されると、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法の機能が実施される。
第7の態様に従って、本願の実施形態は、コンピュータ命令を含むコンピュータ可読記憶媒体を提供する。コンピュータ命令が電子デバイスで実行されると、電子デバイスは、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行することができ、あるいは、電子デバイスは、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行することができる。
第8の態様に従って、本願の実施形態はコンピュータプログラム製品を提供する。コンピュータプログラム製品が電子デバイスで実行されると、電子デバイスは、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行することができ、あるいは、電子デバイスは、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行することができる。
第9の態様に従って、回路システムが提供される。回路システムはプロセッシング回路を含み、プロセッシング回路は、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行するよう構成されるか、あるいは、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行するよう構成される。
第10の態様に従って、本願の実施形態は、少なくとも1つのプロセッサ及び少なくとも1つのインターフェース回路を含むチップシステムを提供する。少なくとも1つのインターフェース回路は、トランシーバ機能を実行し、命令を少なくとも1つのプロセッサへ送るよう構成される。少なくとも1つのプロセッサが命令を実行すると、少なくとも1つのプロセッサは、第1の態様及び第1の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行し、あるいは、少なくとも1つのプロセッサは、第2の態様及び第2の態様の可能な実施のうちのいずれか1つに係るデータ伝送方法を実行する。
以下は、添付の図面を参照して、本願の実施形態で提供されるデータ伝送方法及び電子デバイスについて詳細に記載する。
本願の実施形態の説明で述べられている用語「含む」、「有する」、及びそれらの任意の変形は、非排他的な包含をカバーするよう意図される。例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品、又はデバイスは、挙げられているステップ又はユニットに制限されず、任意に、挙げられていない他のステップ又はユニットを更に含み、あるいは、任意に、プロセス、方法、製品、又はデバイスの他の固有のステップ又はユニットを更に含んでもよい。
本願の実施形態で、「例」又は「例えば」などの語は、例、実例、又は記載を与えることを表すために使用される、ことが留意されるべきである。本願の実施形態で「例」として又は「例えば」記載されている如何なる実施形態又は設計ソリューションも、他の実施形態又は設計ソリューションよりも好ましいものとして又はより多くの利点を有するものとして説明されるべきではない。確かに、「例」又は「例えば」などの語の使用は、関連する概念を具体的な様態で提示するよう意図される。
本願の実施形態の記載では、別なふうに述べられない限りは、「複数の」は2つ又は2つよりも多いことを意味する。用語「及び/又は」は、関連するオブジェクトどうしの関連付け関係のみを示し、3つの関係が存在する可能性があることを示す。例えば、A及び/又はBは、次の3つの場合:Aのみ存在、AとBの両方が存在、及びBのみ存在、を表し得る。
本願の実施形態で提供されるデータ伝送方法は、電子デバイスに適用されてよい。例えば、図1に示されるように、電子デバイスは、具体的に、写真撮影機能、記憶機能、及び表示機能の1つ以上の機能を備えている端末デバイス、例えば、携帯電話11、ノートブックコンピュータ12、タブレットコンピュータ13、大画面表示デバイス14、拡張現実(augmented reality,AR)/仮想現実(virtual reality,VR)デバイス15、ウェアラブルデバイス(例えば、スマートウォッチ16、スマートグラス17、及びイヤホン18)、車載デバイス、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer,UMPC)、ネットブック、パーソナルデジタルアシスタント(personal digital assistant,PDA)、人工知能(artificial intelligence)デバイス、又は専用カメラ(例えば、一眼レフカメラ又はカードカメラ)であってよい。電子デバイスの具体的なタイプは、本願の実施形態で制限されない。
例えば、図2は、電子デバイス100の構造の模式図である。電子デバイス100は、プロセッサ110、外部メモリインターフェース120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus,USB)インターフェース130、充電管理モジュール140,電力管理モジュール141、バッテリ142、アンテナ1、アンテナ2、移動体通信モジュール150、無線通信モジュール160、オーディオモジュール170、センサモジュール180、ボタン190、モータ191、インジケータ192、カメラ193、ディスプレイ194、加入者識別モジュール(subscriber identification module,SIM)カードインターフェース195、などを含んでよい。
本願のこの実施形態で示されている構造は、電子デバイス100に対する具体的な制限を構成しない、ことが理解され得る。本願のいくつかの他の実施形態では、電子デバイス100は、図示されているよりも多い又は少ないコンポーネントを含んでもよく、あるいは、いくつかのコンポーネントは結合されてもよく、あるいは、いくつかのコンポーネントは分割されてもよく、あるいは、異なるコンポーネントレイアウトが存在してもよい。図示されているコンポーネントは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの組み合わせによって実施されてもよい。
プロセッサ110は、1つ以上のプロセッシングユニットを含んでもよい。例えば、プロセッサ110は、アプリケーションプロセッサ(application processor,AP)、モデムプロセッサ、グラフィクス処理ユニット(graphics processing unit,GPU)、画像信号プロセッサ(image signal processor,ISP)、コントローラ、ビデオコーデック、デジタル信号プロセッサ(digital signal processor,DSP)、ベースバンドプロセッサ、ニューラルネットワークプロセッシングユニット(neural-network processing unit,NPU)、及び/又は同様のものを含んでよい。異なるプロセッシングユニットは独立したコンポーネントであってよく、あるいは、1つ以上のプロセッサに一体化されてもよい。
コントローラは、命令操作コード及び時系列信号に基づいて操作制御信号を生成して、命令読み出し及び命令実行の制御を完了し得る。
メモリが更に、プロセッサ110に配置されてもよく、命令及びデータを記憶するよう構成される。いくつかの実施形態で、プロセッサ110内のメモリはキャッシュである。メモリは、プロセッサ110によってまさに使用されているか又は周期的に使用される命令又はデータを記憶し得る。プロセッサ110が命令又はデータを再び使用する必要がある場合に、プロセッサ110は、メモリから命令又はデータを直接呼び出し得る。これは、繰り返しのアクセスを回避し、プロセッサ110の待ち時間を減らし、システム効率を改善する。
いくつかの実施形態で、プロセッサ110は1つ以上のインターフェースを含んでもよい。インターフェースは、インター集積回路(inter-integrated circuit,I2C)インターフェース、インター集積回路サウンド(inter-integrated circuit sound,I2S)インターフェース、パルスコード変調(pulse code modulation,PCM)インターフェース、ユニバーサル非同期受信器/送信器(universal asynchronous receiver/transmitter,UART)インターフェース、モバイル産業プロセッサインターフェース(mobile industry processor interface,MIPI)、汎用入力/出力(general-purpose input/output,GPIO)インターフェース、加入者識別モジュール(subscriber identity module,SIM)インターフェース、ユニバーサルシリアルバス(universal serial bus,USB)インターフェース、及び/又は同様のものを含んでもよい。
I2Cインターフェースは、双方向の同期シリアルバスであり、1つのシリアルデータライン(serial data line,SDA)及び1つのシリアルクロックライン(serial clock line,SCL)を含む。いくつかの実施形態で、プロセッサ110は、I2Cバスの複数のグループを含んでもよい。プロセッサ110は、カメラ193、センサモジュール180、充電器、フラッシュ、などへ異なるI2Cバスインターフェースにより別々に結合されてよい。例えば、プロセッサ110は、カメラ193へI2Cインターフェースにより結合されてよく、それにより、プロセッサ110は、電子デバイス100の写真撮影機能を実施するように、I2Cバスインターフェースによりカメラ193と通信する。
MIPIインターフェースは、プロセッサ110を周辺コンポーネント、例えば、ディスプレイ194又はカメラ193へ接続するよう構成される。MIPIインターフェースは、カメラシリアルインターフェース(camera serial interface,CSI)、ディスプレイシリアルインターフェース(display serial interface,DSI)、などを含む。いくつかの実施形態で、プロセッサ110は、電子デバイス100の写真撮影機能を実施するように、CSIインターフェースによりカメラ193と通信する。プロセッサ110は、電子デバイス100の表示機能を実施するように、DSIインターフェースによりディスプレイ194と通信する。
GPIOインターフェースは、ソフトウェアにより構成されてもよい。GPIOインターフェースは、制御信号として構成されてもよく、あるいは、データ信号として構成されてもよい。いくつかの実施形態で、GPIOインターフェースは、プロセッサ110をカメラ193、ディスプレイ194、無線通信モジュール160、オーディオモジュール170、センサモジュール180、などへ接続するよう構成されてよい。GPIOインターフェースは、代替的に、I2Cインターフェース、I2Sインターフェース、UARTインターフェース、MIPIインターフェース、などとして構成されてもよい。
USBインターフェース130は、USB標準仕様に従うインターフェースであり、具体的には、ミニUSBインターフェース、マイクロUSBインターフェース、USB type-Cインターフェース、などであってよい。USBインターフェース130は、電子デバイス100を充電するために充電器へ接続するよう構成されてよく、あるいは、電子デバイス100と周辺機器との間でデータを伝送するよう構成されてもよく、あるいは、ヘッドセットでオーディオを再生するためにヘッドセットへ接続するよう構成されてもよい。代替的に、インターフェースは、他の電子デバイス、例えば、ARデバイスへ接続するよう構成されてもよい。
本願のこの実施形態で示されているモジュール間のインターフェース接続関係は、記載のための一例にすぎず、電子デバイス100の構造に対する限定を構成するものではない、ことが理解され得る。本願のいくつかの他の実施形態では、電子デバイス100は、代替的に、上記の実施形態でのそれとは異なるインターフェース接続方式を使用するか、あるいは、複数のインターフェース接続方式の組み合わせを使用してもよい。
充電管理モジュール140は、充電器から充電入力を受けるよう構成される。充電器は無線充電器又は有線充電器であってよい。充電管理モジュール140は、バッテリ142を充電しながら電力管理モジュール141を使用することによって電子デバイスへ電力を供給する。
電力管理モジュール141は、バッテリ142及び充電管理モジュール140をプロセッサ110へ接続するよう構成される。電力管理モジュール141は、バッテリ142の入力及び/又は充電管理モジュール140の入力を受け取り、電力をプロセッサ110、内部メモリ121、ディスプレイ194、カメラ193、無線通信モジュール160、などへ供給する。いくつかの他の実施形態では、電力管理モジュール141及び充電管理モジュール140は、代替的に、同じデバイスに配置されてもよい。
電子デバイス100の無線通信機能は、アンテナ1、アンテナ2、移動体通信モジュール150、無線通信モジュール160、モデムプロセッサ、ベースバンドプロセッサ、などにより実施され得る。
アンテナ1及びアンテナ2は、電磁波信号を送信及び受信するよう構成される。電子デバイス100の各アンテナは、1つ以上の通信周波数帯域をカバーするよう構成されてよい。異なるアンテナは更に、アンテナ利用を改善するよう多重されてもよい。例えば、アンテナ1は、無線ローカルエリアネットワークでのダイバーシティアンテナとして多重化されてよい。いくつかの他の実施形態では、アンテナは、チューニングスイッチと組み合わせて使用されてもよい。
移動体通信モジュール150は、電子デバイス100に適用される、2G、3G、4G及び5Gなどの無線通信技術を含むソリューションを提供し得る。移動体通信モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、低雑音増幅器(low noise amplifier,LNA)、などを含み得る。移動体通信モジュール150は、アンテナ1により電磁波を受信し、受信した電磁波に対してフィルタリング又は増幅などの処理を実行し、処理した電磁波を復調のためにモデムプロセッサへ送り得る。移動体通信モジュール150は更に、モデムプロセッサによって変調された信号を増幅し、増幅した信号をアンテナ1による放射のために電磁波に変換し得る。いくつかの実施形態で、移動体通信モジュール150の少なくとも一部の機能モジュールは、プロセッサ110に配置されてもよい。いくつかの実施形態で、移動体通信モジュール150の少なくとも一部の機能モジュール及びプロセッサ110の少なくとも一部のモジュールは、同じデバイスに配置されてもよい。
無線通信モジュール160は、電子デバイス100に適用され、無線ローカルエリアネットワーク(wireless local area network,WLAN)(例えば、ワイヤレス・フィデリティ(wireless fidelity,Wi-Fi)ネットワーク)、ブルートゥース(Bluetooth,BT)、全地球航法衛星システム(global navigation satellite system,GNSS)、周波数変調(frequency modulation,FM)、近距離通信(near field communication,NFC)技術、赤外線(infrared,IR)技術、などを含む無線通信ソリューションを提供し得る。無線通信モジュール160は、少なくとも1つの通信処理モジュールを組み込み1つ以上のコンポーネントであってよい。無線通信モジュール160は、アンテナ2により電磁波を受信し、電磁波信号に対して周波数変調及びフィルタリング処理を実行し、処理した信号をプロセッサ110へ送る。無線通信モジュール160は更に、送信されるべき信号をプロセッサ110から受信し、信号に対して周波数変調及び増幅を実行し、処理した信号をアンテナ2による放射のために電磁波に変換し得る。
いくつかの実施形態で、電子デバイス100において、アンテナ1及び移動体通信モジュール150は結合され、アンテナ2及び無線通信モジュール160は結合され、それにより、電子デバイス100は、無線通信技術を使用することによってネットワーク及び他のデバイスと通信することができる。無線通信技術は、グローバル・システム・フォー・モバイル・コミュニケーションズ(global system for mobile communications,GSM)、汎用パケット無線サービス(general packet radio service,GPRS)、符号分割多重アクセス(code division multiple access,CDMA)、広帯域符号分割多重アクセス(wideband code division multiple access,WCDMA)、時分割符号分割多重アクセス(time-division code division multiple access,TD-SCDMA)、ロングタームエボリューション(long term evolution,LTE)、BT、GNSS、WLAN、NFC、FM、IR技術、及び/又は同様のものを含み得る。GNSSは、グローバルポジショニングシステム(global positioning system,GPS)、全地球航法衛星システム(global navigation satellite system,GLONASS)、北斗衛星導航系統(BeiDou navigation satellite system,BDS)、準天頂衛星システム(quasi-zenith satellite system,QZSS)、及び/又は衛星航法補強システム(satellite based augmentation system,SBAS)を含み得る。
電子デバイス100は、GPU、ディスプレイ194、アプリケーションプロセッサ、などを使用することによって表示機能を実施する。GPUは、画像処理のためのマイクロプロセッサであり、ディスプレイ194をアプリケーションプロセッサへ接続する。GPUは、数学及び幾何学計算を実行し、画像をレンダリングするよう構成される。プロセッサ110は、表示情報を生成及び変更するようプログラム機能を実行する1つ以上のGPUを含んでよい。
ディスプレイ194は、画像、ビデオなどを表示するよう構成される。ディスプレイ194は表示パネルを含む。表示パネルは液晶ディスプレイ(liquid crystal display,LCD)、有機発光ダイオード(organic light-emitting diode,OLED)、アクティブマトリクス有機発光ダイオード(active-matrix organic light-emitting diode,AMOLED)、フレキシブル発光ダイオード(flexible light-emitting diode,FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light-emitting diodes,QLED)、などであってよい。
いくつかの実施形態で、電子デバイス100は、1つ又はN個のディスプレイ194を含んでよく、ここで、Nは、1よりも大きい正の整数である。本願のこの実施形態では、データ伝送プロセスでの表示のために構成されているディスプレイ194の位置及び数は、具体的に制限されない。
例えば、図3Aの(a)に示されるように、電子デバイス100は1つのディスプレイ194を含む。図3Aの(b)に示されるように、電子デバイス100は、複数のディスプレイ194を含む画面折り畳み型電子デバイスである(換言すれば、ディスプレイ194が折り曲げることができる)。図3Aの(b)に示されている画面折り畳み型電子デバイス100は、ユーザの操作に応答して折り曲げ縁に沿ってディスプレイを内側(又は外側)に折り曲がり、それにより、ディスプレイは少なくとも2つの画面(例えば、画面A及び画面B)を形成する。図3Aの(c)に示されるように、ディスプレイが折り畳まれた状態にあるときには外面にディスプレイ(例えば、画面C)がある。
センサモジュール180は、圧力センサ、ジャイロスコープセンサ、気圧センサ、磁気センサ、加速度センサ、測距センサ、光学近接センサ、指紋センサ、温度センサ、タッチセンサ、周囲光センサ、骨伝導センサ、などを含み得る。
タッチセンサは「タッチコンポーネント」とも呼ばれる。タッチセンサはディスプレイ194に配置されてよく、タッチセンサ及びディスプレイ194はタッチスクリーンを形成し、「タッチスクリーン」とも呼ばれる。タッチセンサは、タッチセンサ又はその近くで行われたタッチ操作を検出するよう構成される。タッチセンサは、検出したタッチ操作を、タッチイベントのタイプを検出するためにアプリケーションプロセッサへ転送し得る。タッチ操作に関連した視覚出力が、ディスプレイ194で提供されてもよい。いくつかの他の実施形態では、タッチセンサは、代替的に、電子デバイス100の表面に配置されてもよく、ディスプレイ194の位置とは異なる位置にある。
電子デバイス100は、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ194、アプリケーションプロセッサ、などにより写真撮影機能を実施し得る。
ISPは、カメラ193によってフィードバックされたデータを処理するよう構成される。例えば、写真撮影中、シャッターが押され、光がレンズを通ってカメラの感光素子へ伝えられる。光信号は電気信号に変換され、カメラの感光素子は、電気信号を視覚画像に変換する処理のために、電気信号をISPへ送る。ISPは更に、画像のノイズ、輝度、及び外観に対するアルゴリズム最適化を実行してもよい。ISPは更に、カメラシナリオの露出及び色温度などのパラメータを最適化してもよい。いくつかの実施形態で、ISPはカメラ193に配置されてよい。
カメラ193は、静止画像又はビデオを捕捉するよう構成される。対象物の光学画像がレンズを通して生成され、感光素子上に投影される。感光素子は電荷結合素子(charge coupled device,CCD)又は相補型金属酸化膜半導体(complementary meta-oxide-semiconductor,CMOS)フォトトランジスタであってよい。半導体素子は、光信号を電気信号に変換し、それから、電気信号をデジタル画像信号に変換するために電気信号をISPへ送る。ISPは、デジタル画像信号を処理のためにDSPに出力する。DSPは、デジタル画像信号を、RGBフォーマット又はYUVフォーマットなどの標準フォーマットで画像信号に変換する。
いくつかの実施形態で、電子デバイス100は1又はNこのカメラ193を含んでよく、ここで、Nは1よりも大きい正の整数である。本願のこの実施形態では、データ伝送プロセスでの写真撮影のために構成されたカメラ193の位置及び数は、具体的に制限されない。
カメラ193は、電子デバイス100のエッジエリアに位置してよく、オフスクリーンカメラであってよく、あるいは、ポップアップカメラであってもよい。カメラ193は、背面カメラを含んでよく、正面カメラを更に含んでもよい。カメラ193の特定の位置及び形式は、本願の実施形態で制限されない。
例えば、電子デバイス100でのカメラのレイアウトについては、図3Bを参照されたい。電子デバイス100のフロント面は、ディスプレイ194が位置している面である。図3Bの(a)に示されるように、カメラ1931は電子デバイス100のフロント面に位置し、カメラは正面カメラである。図3Bの(b)に示されるように、カメラ1932は電子デバイス100のリア面に位置し、カメラは背面カメラである。
デジタル信号プロセッサは、デジタル信号を処理するよう構成され、デジタル画像信号に加えて他のデジタル信号を処理してもよい。例えば、電子デバイス100が周波数を選択するとき、デジタル信号プロセッサは、周波数エネルギに対するフーリエ変換をなどを実行するよう構成される。
ビデオコーデックは、デジタルビデオを圧縮又は圧縮解除するよう構成される。電子デバイス100は、1つ以上のビデオコーデックに対応し得る。このようにして、電子デバイス100は、複数のコーディングフォーマット、例えば、動画専門家グループ(moving picture experts group,MPET)-1、MPEG-2、MPEG-3、及びMPEG-4でビデオを再生又は記録し得る。
NPUはニューラルネットワーク(neural-network,NN)コンピューティングプロセッサである。NPUは、生物学的ニューラルネットワークの構造を参照することによって、例えば、人間の脳のニューロン間の伝送のモードを参照することによって、入力情報を即時に処理し、そして、更には、自己学習を継続的に行うことができる。電子デバイス100の知的認知などのアプリケーション、例えば、画像認識、顔認識、音声認識、及びテキスト理解は、NPUを通じて実施され得る。
外部メモリインターフェース120は、電子デバイス100の記憶能力を拡張するように、外部記憶カード、例えば、マイクロSDカードへ接続するよう構成されてよい。外部記憶カードは、データ記憶機能を実施するように、外部メモリインターフェース120を通じてプロセッサ110と通信する。例えば、音楽及び映像などのファイルが外部記憶カードには記憶されている。
内部メモリ121は、コンピュータ実行可能プログラムコードを記憶するよう構成されてよく、実行可能プログラムコードは命令を含む。内部メモリ121は、プログラム記憶エリア及びデータ記憶エリアを含み得る。プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能(例えば、音響再生機能又は画像再生機能)によって必要とされるアプリケーション、などを記憶し得る。データ記憶エリアは、電子デバイス100のプロセスなどで生成されたデータ(例えば、オーディオデータ、写真ブック、など)を記憶し得る。更には、内部メモリ121は、高速ランダムアクセスメモリを含んでもよく、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又はユニバーサルフラッシュストレージ(universal flash storage,UFS)を更に含んでもよい。プロセッサ110は、内部メモリ121に記憶されている命令及び/又はプロセッサに配置されているメモリに記憶されている命令を実行して、電子デバイス100の様々な機能アプリケーション及びデータ処理を実行する。
オーディオモジュール170は、スピーカ、受信器、マイクロホン、ヘッドセットジャック、などを含み、デジタルオーディオ情報を出力のためにアナログオーディオ信号に変換するよう構成され、また、アナログオーディオ入力をデジタルオーディオ信号に変換するよう構成される。オーディオモジュール170は更に、オーディオ信号を符号化及び復号化するよう構成されてもよい。いくつかの実施形態で、オーディオモジュール170はプロセッサ110に配置されてよく、あるいは、オーディオモジュール170の一部の機能モジュールがプロセッサ110に配置されてもよい。電子デバイス100は、オーディオモジュール、スピーカ、受信器、マイクロホン、ヘッドセットジャック、アプリケーションプロセッサ、などによりオーディオ機能、例えば、音楽再生及び録音を実施し得る。
ボタン190は、電源ボタン、ボリュームボタン、などを含む。ボタン190は、機械的なボタン又はタッチボタンであってよい。電子デバイス100は、ボタン入力を受け取り、電子デバイス100の機能制御及びユーザ設定に関するボタン信号入力を生成し得る。
モータ191は振動プロンプトを生成し得る。モータ191は、着呼振動プロンプト及びタッチ振動フィードバックを供給するよう構成されてよい。例えば、異なるアプリケーション(例えば、撮影及びオーディオ再生)に対して行われた操作は、異なる振動フィードバック効果に対応してよい。モータ191はまた、ディスプレイ194の異なるエリアで行われたタッチ操作について異なる振動フィードバック効果に対応してもよい。異なるアプリケーションシナリオ(例えば、時間リマインダ、情報受け取り、アラーム時計、ゲーム)も異なる振動フィードバック効果に対応してよい。タッチ振動フィードバック効果は更にカスタマイズされてもよい。
インジケータ192は、インジケータ灯であってよく、充電状態及び電力変化を示すよう構成されてよく、あるいは、メッセージ、不在着信、通知、などを示すよう構成されてもよい。
SIMカードインターフェース195は、SIMカードを接続するよう構成される。SIMカードは、電子デバイス100との着脱を実施するように、SIMカードインターフェース195に差し込まれても、又はSIMカードインターフェース195から取り外れてもよい。電子デバイス100は、1つ又はN個のSIMカードインターフェースに対応してよく、Nは、1よりも大きい正の整数である。
以下は、電子デバイスが図2に示されている構造を備えた携帯電話である例を使用することによって、本願の実施形態で提供されるデータ伝送方法について記載する。
いくつかの実施形態で、ユーザは、タッチ操作、ボタン操作、空中ジェスチャ操作、音声操作などを使用することによって、携帯電話に、カメラを起動して写真撮影プレビューインターフェースを表示するよう指示してよい。例えば、図4A(a)に示されるホーム画面401で、ユーザによるカメラアイコン41をタップする操作に応答して、携帯電話はカメラを起動し、図4A(a)に示される写真撮影プレビューインターフェース401を表示する。代替的に、ユーザによるカメラを開く音声命令操作に応答して、携帯電話はカメラを起動し、図4(b)に示される写真撮影プレビューインターフェース402を表示する。ユーザによる写真撮影コントロール42をタップする操作に応答して、携帯電話は、画像を撮影するようカメラを呼び出し、撮影された原画像データを処理のためにプロセッサへ送る。原画像データを処理した後、プロセッサは、ユーザが見ることができる画像を生成し、その画像をメモリに保存する。携帯電話は、図4A(c)に示されるインターフェース403を表示し、前に撮影された画像のサムネイル43を表示する。
代替的に、図4A(a)に示されるホーム画面401で、ユーザによるギャラリーアイコン44をタップする操作に応答して、携帯電話は、ジャラリーを起動し、図4B(a)に示されるギャラリーインターフェース404を表示する。撮影された画像又はメモリに保存されているビデオプレビュー画像がギャラリーインターフェース404で表示される。ユーザによるプレビュー画像45をタップする操作に応答して、携帯電話は、プロセッサを使用することによって、メモリに保存されている対応する画像データを呼び出し、画像データを、表示ユニットを使用することによって表示する。図4B(b)に示されるインターフェース405が表示される。
上記の画像撮影、画像保存、及び画像表示プロセスには、処理ユニットと、写真撮影ユニットと、表示ユニットと、記憶ユニットとの間の少なくともインタラクションが含まれる、こと分かる。異なるユニット間のデータ伝送が異なるプロトコル標準に基づく場合に、データ伝送プロセスは複雑であり、エラーが起こりやすい。処理ユニットは、例えば、CPU又はシステム・オン・チップ(system on chip,SOC)を含む。写真撮影ユニットは、例えば、カメラを含む。表示ユニットは、例えば、ディスプレイを含む。記憶ユニットは、例えば、メモリを含む。
いくつかの実施形態で、MIPIアライアンスは、インターフェース衝突問題を解消し且つ機能システムの設計困難性を低減するために、異なるアプリケーションシナリオに基づいた異なるプロトコル仕様を策定している。例えば、ストレージインターフェース、カメラインターフェース、ディスプレイインターフェース、及び他の側面のための標準及びプロトコル仕様が策定されている。
ストレージシナリオに基づいて、MIPIアライアンスはUnipro技術仕様を策定している。Uniproプロトコルは、アプリケーションレイヤ、トランスポートレイヤ、ネットワークレイヤ、データリンクレイヤ、物理レイヤアダプタレイヤ、及び物理レイヤを含む6+1レイヤデータ伝送構造を定義している。主要な機能には、メッセージセグメンテーション及び再組み立て、パケットヘッダフォーマット生成及びパーシング、エラー処理、巡回冗長検査(cyclic redundancy check,CRC)コード生成及びチェック、制御パケット生成及びパーシング、データバッファリング、データ再送、トラフィック制御、並びにリンク管理及び設定がある。任意に、デバイス管理エンティティ(device management entity,DME)は、Uniproを制御及び設定するよう、例えば、電源オン、電源オフ、及びUniProのリセット、下位レイヤリンクのスタートアップ、並びに電力消費モードの変更を制御するよう構成される。
例えば、図5は、本願の実施形態に係るUniPro構造の模式図である。図5に示されるように、ホスト(Host)は、例えば、CPU又はSoCなどのプロセッシングユニットを含む。例えば、デバイス(Device)は、ユニバーサルフラッシュストレージ(universal flash storage,UFS)又は埋め込みマルチメディアカード(embedded multimedia card,eMMC)などの記憶ユニットを含む。ホスト及びデバイスは、UniProプロトコルに基づいてデータ伝送を行う。ホスト及びデバイスは双方向伝送を行う。換言すれば、ホスト及びデバイスは送信器又は受信器のどちらであってもよい。
L1レイヤは物理レイヤ、例えば、M-PHYである。L1レイヤは、特にモバイルデバイスのために開発されたシリアルインターフェース技術を使用し、たった2つの差動信号ラインしか各リンクに必要とされず、L1レイヤは複数の節電モードを有している。L1レイヤで伝送されるデータユニットは物理シンボル(PHY symbol)である。
L1.5レイヤは物理アダプタ(PHY adapter)レイヤであり、多数の双方向リンクを検出するよう構成され、ピアエンドのステータス及び制御パラメータへのアクセスを可能にすることができ、電力モードを変更することができる。L1.5レイヤで伝送されるデータユニットは、長さが17ビット(bits)であるシンボル(symbol)である。最初のビットはシンボルタイプを示す。例えば、最初のビットの値が0であるならば、伝送中のシンボルはデータシンボルであることを示し、残りのビットは伝送データ(data)を示す。最初のビットの値が1であるならば、伝送中のシンボルは制御シンボルであることを示し、続く8ビットは制御命令を示し、最後の8ビットは制御パラメータを示す。更に、制御パラメータは制御命令に基づいて変化する。
L2レイヤはデータリンク(data link)レイヤであり、通信プロセスでのデータ伝送の有効性及びロバスト性を確保するよう構成される。L2レイヤの主要の機能には、フレーミング及びデフレーミング、PHY初期化、トラフィック制御、プライオリティ分割、CRC生成、データ再送、などがある。L2レイヤで伝送されるデータユニットはフレーム(frame)である。L1.5レイヤに基づいて、独立したシンボルがパッキングされ、各フレームは最大144個のシンボルで、288バイトを占有してパッキングされ得る。ヘッダ(header)フィールドがフレームのフレームヘッダに加えられ、トレイラ(trailer)フィールドがフレームトレイラに加えられる。更に、CRCフィールドがフレーム構造に更に含まれ、16ビットを占有する。相応して、L2レイヤでのフレームもデータフレーム及び制御フレームを含む。制御フレームは、確認応答及びフロー制御フレーム(acknowledgement and flow control frame,AFC)と、否定応答フレーム(negative acknowledgement frame,NAC)とを含む。具体的に、受信器はAFC又はNACを送信器へ送信し、このとき、AFCは、受信が正確であることを示し、L2レイヤでのバッファ(buffer)の利用可能な空間を示す。NACは受信エラーを示す。
L3レイヤはネットワーク(network)レイヤであり、正確な目標デバイスへデータをルーティングするよう構成される。L3レイヤで伝送されるデータユニットはデータパケットである。より短いヘッダ(shorter header)フィールドが、L2レイヤでのフレームに基づいて加えられ、7ビットを占有し、データルーティングのあて先アドレスを識別するために使用される。
L4レイヤはトランスポート(transport)レイヤであり、主要の機能には、アドレッシング、分解及び再組み立て、エラー処理、パケット構成及び分解、フォーマット式別、及びエンド間フロー制御がある。L4レイヤで伝送されるデータユニットはデータセグメント(segment)である。ポート(port)識別コードフィールドが、L3レイヤでのパッケージに基づいて加えられ、5ビットを占有し、異なるポートを識別するために使用される。
更に、図6に示されるように、レイヤ管理(layer management,LM)サービスアクセスポイント(service access point,SAP)インターフェースが、DMEとレイヤの夫々との間に構成される。SAP設計は、レイヤが独立して実装されることを可能にし、機能性が確保される場合には、レイヤが結合又は分離されることを可能にする。SAPに基づいて、DMEは、各レイヤのステータスパラメータ及び制御パラメータにアクセスし、各レイヤの電力(power)消費モードを管理し、電源オン、電源オフ、及びUniproのリセット、エンドポイントリセット(end point reset)、下位レイヤリンクのスタートアップ、並びにスリープモード切替を制御し、各レイヤの属性を設定し得る。更に、DMEは、ピアデバイスのUniproモジュールにアクセスし制御し得る。
UniProプロトコル標準で定められているデータ伝送構造は複雑である、ことが分かる。ポイント・ツー・ポイントのストレージシナリオでは、各レイヤでの多くの機能、例えば、マルチポートシナリオに適用されるポート(port)管理機能、は冗長である。UniProには複数のレイヤが存在し、各レイヤが論理インターフェースを必要都市、DMEへ接続される必要があり、DMEはリンク全体を管理する。その結果、回路は大きい面積を専有する。更に、リンク管理プロセスは複雑であり時間がかかる。更に、複雑な構造により、発生する可能性がある多数のエラータイプがもたらされ、これにより、エラー処理の困難性は高まる。更に、UniProでのデータコーディング方法は8B10Bであり、コーディング効率が低く、それによって、データ伝送レートに影響が出る。
カメラシナリオに基づいて、MIPIアライアンスは、カメラシリアルインターフェース2(camera serial interface 2,CSI-2)プロトコルを策定している。CSI-2プロトコルは、プロセッサとカメラモジュールとの間の高速シリアルインターフェースを定義している。図7に示されるように、CSI-2プロトコルが適用される通信システムでは、送信器はカメラ(camera)モジュールであり、受信器は無線アクセスポイント(access point,AP)エンド(例えば、CPU)である。CSI-2プロトコルアーキテクチャは、3つのレイヤ、つまり、アプリケーションレイヤ(application layer)、プロトコルレイヤ(protocol layer)、及び物理レイヤ(PHY layer)に分けられる。プロトコルレイヤは、ピクセル・ツー・バイトパッキングフォーマットレイヤ(pixel to byte packing formats layer)、ローレベルプロトコルレイヤ(low level protocol layer)、及びレーン管理レイヤ(lane management layer)を含む。物理レイヤはC-PHY又はD-PHYであってよい。
ディスプレイシナリオに基づいて、MIPIアライアンスは、ディスプレイシリアルインターフェース2(display serial interface 2,DSI-2)プロトコルを策定し、プロトコルは、プロセッサとディスプレイモジュールとの間の高速シリアルインターフェースを定義している。図8に示されるように、DSI-2プロトコルが適用される通信システムでは、送信器はAPエンド(例えば、CPU)であり、受信器はディスプレイ(display)モジュールである。CSI-2プロトコルアーキテクチャと同様に、DSI-2プロトコルアーキテクチャも3つのレイヤ、つまり、アプリケーションレイヤ、プロトコルレイヤ、及び物理レイヤを含む。プロトコルレイヤは、ピクセル・ツー・バイトパッキングフォーマットレイヤ、ローレベルプロトコルレイヤ、及びレーン管理レイヤを含む。物理レイヤはC-PHY又はD-PHYであってよい。
Uniproプロトコル、CSI-2プロトコル、及びDSI-2プロトコルの記載に基づいて、現在、電子デバイスでは、カメラ(camera)モジュール、ディスプレイ(display)モジュール、及びストレージ(storage)モジュールによって使用されるプロトコルアーキテクチャは異なる、ことが分かる。更に、様々な物理インターフェースは互いに異なり、その結果、部分ごとに回路構造が全く異なっている。図9に示される回路リンクの模式図では、3つの部分、つまり、カメラモジュール、ディスプレイモジュール、及びストレージモジュールが、SOCと通信するために異なるリンクレーンを別々に使用する必要がある。結果として、回路構造は複雑であり、相互接続面積は増大し、伝送レートは低い。更に、エラー処理は複雑であり、リンク伝送は複雑であり、様々なインターフェース問題が発生しやすい。カメラモジュールは、例えば、カメラセンサ(camera sensor)チップを含む。ディスプレイモジュールは、例えば、ディスプレイドライバIC(display driver IC,DDIC)を含む。ストレージモジュールは、例えば、ストレージセンサ(storage sensor)チップを含む。
従って、本願の実施形態は、ポイント・ツー・ポイント伝送シナリオのためのデータ伝送プロトコルアーキテクチャを提供する。プロトコルアーキテクチャは、ストレージシナリオ、カメラシナリオ、及びディスプレイシナリオに適用されてよい。アーキテクチャは簡単であり、回路構造を有効に簡潔にし且つ伝送効率を向上させることができる。
例えば、図10に示されるように、一般的なデータ伝送プロトコルアーキテクチャは、アプリケーションレイヤ(application layer,PA)、プロトコルレイヤ(protocol layer,PL)、及び物理レイヤ(physical layer,PL)を含む。アプリケーションレイヤは、例えば、デバイスに対するホストのパラメータセットを含むアプリケーションレイヤのアプリケーション機能を実施するように、プロトコルレイヤの基本伝送能力を呼び出すよう構成される。プロトコルレイヤは、信頼できるデータ伝送サービスをアプリケーションレイヤに提供するように、送信器と受信器との間にデータ伝送レーン、例えば、トランスペアレントデータ伝送レートを提供するよう構成される。任意に、プロトコルレイヤは更に、物理レイヤより上でのセグメンテーション/再組み立て及びエラー制御を通じてデータ伝送の信頼性を確保し得る。物理レイヤは、データ伝送に必要な物理レーンを生成、保持、及び分解するための機械特性、電子特性、機能特性、及び仕様特性を提供するよう構成される。
任意に、図10で示される本願の実施形態で提供される一般的なプロトコルアーキテクチャは、図4A(a)から図4A(c)並びに図4B(a)及び図4B(b)に示されるシナリオや他のデータ伝送シナリオに適用され得る。図31に示されるように、カメラモジュール、ディスプレイモジュール、及びストレージモジュールは全て、本願の実施形態で提供されるプロトコルアーキテクチャに基づいたデータ伝送を実行する。同じプロトコルアーキテクチャはモジュールの伝送プロセスで適用されるので、伝送インターフェースは同じである。従って、モジュールは、図9に示されるようにSOCに別々接続される必要がなく、同じ伝送インターフェースに基づいてSCOへ接続され得、それによって、リンク多重化を実装し、ラインレイアウトを低減し、且つ回路面積を削減する。
いくつかの実施形態で、図10に示されるプロトコルアーキテクチャは、異なるアプリケーションシナリオごとに異なった具体的な実施を有している。
例えば、図10に示されるプロトコルアーキテクチャに基づいて、図11に示されるように、カメラシナリオでは、プロトコルアーキテクチャのデータ伝送検出はカメラエンドからAPエンドまでである。カメラがデータを取得した後、制御バスは、カメラエンドで、プロトコルレイヤ1002へ送信されるべきピクセルデータ又は埋め込みデータを生成するようにアプリケーションレイヤ1001を制御する。プロトコルレイヤ1002は、ピクセルバイトパッキングフォーマット(pixel byte packing formats)機能1101、パケットヘッダ及び誤り訂正コード生成(packet header & ECC generation)機能1102、並びにペイロードCRC及びパケットフッタ生成(payload CRC & packet footer generation)機能1103を使用することによってデータをパッキングすることができる。具体的な実施は、データパケットヘッダ及び誤り訂正コード(error correction code,ECC)の生成と、巡回冗長検査(cyclic redundancy check,CRC)コード及びデータパケットフッタの生成とを含む。機能の実施順序は、本願のこの実施形態で制限されない。次いで、データパケットは、カメラエンドの物理レイヤ1003によって、処理のためにAPの物理レイヤ1006へ送られ、次いで、プロトコルレイヤ1005へ送信される。プロトコルレイヤ1005は、パケットヘッダ訂正及び報告機能1110、ペイロード誤りチェック及び報告機能1111、並びにバイト・ツー・ピクセルアンパッキングフォーマット機能1112を使用することによってデータパケットをアンパッキングすることができる。具体的な実施は、データパケットヘッダ及びECCのチェック及び報告と、CRC及びデータパケットフッタのチェック及び報告とを含む。プロトコルレイヤ1005は、生成されたピクセルデータ又は埋め込みデータをアプリケーションレイヤ1004へ送信する。カメラエンドのプロトコルレイヤ1002及びAPのプロトコルレイヤ1005の機能の実施順序は、本願のこの実施形態で制限されない。カメラシナリオにおけるデータ伝送の具体的なステップについては、以下図35で示されるプロシージャの関連する内容を参照されたい。詳細はここで再び記載されない。
例えば、図10に示されるプロトコルアーキテクチャに基づいて、図12に示されるように、ディスプレイシナリオでは、プロトコルアーキテクチャのデータ伝送検出はAPエンドからDDICエンドまでである。APエンドがデータを取得した後、制御バスは、APエンドで、データパッキングのためにプロトコルレイヤ1002へ送信されるべきピクセルデータ又は埋め込みデータを生成するようにアプリケーションレイヤ1001を制御する。次いで、データパケットが、物理レイヤ1003によってDDICの物理レイヤ1006へ、データパケットアンパッキングのためにプロトコルレイヤ1005への伝送のために送信され、そして、アプリケーションレイヤ1004へ送信される。APエンド及びDDICエンドのプロトコルレイヤの主要な機能には、ピクセルデータのパッキング及びアンパッキングと、データパケットヘッダ及びECCの生成、チェック及び報告と、CRC及びデータパケットフッタの生成、チェック及び報告とがある。APエンドのプロトコルレイヤ1002及びDDCIエンドのプロトコルレイヤ1005の機能の実施順序は、本願のこの実施形態で制限されない。ディスプレイシナリオにおけるデータ伝送の具体的なステップについては、以下図37で示されるプロシージャの関連する内容を参照されたい。詳細はここで再び記載されない。
例えば、図10に示されるプロトコルアーキテクチャに基づいて、図13に示されるように、ストレージシナリオでは、プロトコルアーキテクチャのデータ伝送検出は双方向伝送であり、2つのデバイス間のアプリケーションデータは、データ保存を実施するために、相互に伝送され得る。プロトコルレイヤは主に2つの部分に分けられる。一方の部分はデータ伝送部分であり、主な機能には、メッセージセグメンテーション及び再組み立て機能、パケットヘッダフォーマット生成及びパーシング機能、CRC生成及びチェック機能、制御データパケット生成、パーシング及びデータバッファリング機能、並びにデータ伝送及びトラフィック制御機能がある。他方の部分はリンク管理及び設定部分であり、主な機能には、命令伝送及び制御機能、誤り検出及びテストモード機能、レジスタアクセス及び設定機能がある。プロトコルレイヤは主に、データパッキング及びアンパッキングプロセスを実施するよう構成される。機能の実施順序は、本願のこの実施形態で特に制限されない。ストレージシナリオにおけるデータ伝送の具体的なステップについては、以下図38で示されるプロシージャの関連する内容を参照されたい。詳細はここで再び記載されない。
更に、以下の記載を簡単にするために、異なるシナリオでのインターフェースのプロトコルは、消費電子デバイスインターフェース(consuming electronic device interface,CEDI)標準プロトコルとして定義される。具体的に、標準プロトコルは、2つの部分、つまり、物理レイヤプロトコル及びプロトコルレイヤプロトコルに分けられ得る。物理レイヤ(physical,PHY)プロトコルはC-PHY、D-PHY、及びM-PHYを含む。プロトコルレイヤプロトコルは、カメラ用のCEDIプロトコル(CEDI protocol for camera,PRL-C)などの、カメラのために策定された専用プロトコル、ディスプレイ用のCEDIプロトコル(CEDI protocol for display,PRL-D)などの、ディスプレイのために策定された専用プロトコル、及びストレージ用のCEDIプロトコル(CEDI protocol for storage,PRL-S)などの、メモリ用に策定された専用プロトコルを含む。CEDI標準プロトコルは、インターフェース伝送を標準化するために使用されるプロトコル標準であり、電子デバイスインターフェース標準、インターフェース標準プロトコル、などとしても記述され得る。これは、本願のこの実施形態で特に制限されない。
MIPIプロトコルアーキテクチャでのそれと比較して、本願の実施形態で提供されるプロトコルアーキテクチャでは、ポイント・ツー・ポイントの伝送シナリオの場合に、物理アダプタレイヤ、データリンクレイヤ、トランスポートレイヤ、及びネットワークレイヤは区別されない、ことが分かる。一般的なプロトコルアーキテクチャに基づいて、データパッキング及びアンパッキングプロセスは、データ伝送を完了するために、各データ伝送シナリオにおいてプロトコルレイヤで実施され得る。換言すれば、PRL-C、PRL-D、及びPRL-Sは、同じリンク構造において3つのモードで伝送を実施するよう直接結合されてよい。
koreを考慮して、本願の実施形態で提供されるプロトコルアーキテクチャでは、必要な機能は、プロトコルレイヤを使用することによって直接実装され、それによって、プロトコルアーキテクチャを簡単にし且つ冗長な機能を削除する。更に、回路構造及び機能の簡単化は、約18.7%だけロジックリソースを低減し、約9.6%だけ電力消費を削減することができる。
更に、本願のこの実施形態では、データコーディングは、128B/132Bコーディング方法で実行され得、コーディング効率は96.97%に達する。なお、MIPIプロトコルアーキテクチャで使用されるコーディング方法は8B10Bであり、コーディング効率が80%と低い。従って、MIPIプロトコルアーキテクチャと比較して、本願の実施形態で提供されるプロトコルアーキテクチャは、17%だけコーディング効率を改善することができる。更に、高いコーディング効率に基づいて、データ伝送効率は更に改善され得る。
いくつかの実施形態で、本願の実施形態で提供されるプロトコルアーキテクチャにおけるプロトコルレイヤは、様々な物理レイヤに基づいて確立され得、異なる物理レイヤは、対応する物理レイヤ整合インターフェースを有する。物理レイヤの主な機能には、例えば、レーン分配及び結合機能、並びに前方誤り訂正(forward error correction,FEC)機能がある。例えば、図31及び図32に示されるように、全てのモジュールのポートは、同じ物理レイヤに基づいてデータ伝送を行うことができる。この場合に、4つのピンを含むただ1つのポートAしかSOCで構成される必要がなく、カメラモジュール、ディスプレイモジュール、及びストレージモジュールによるデータ伝送は、物理レイヤ多重化により実施されてよい。このようにして、物理レイヤでのコストは低減され、物理レイヤでのリンクは低減される。
例えば、図11、図12、及び図13に示されるプロトコルアーキテクチャに基づいて、異なるシナリオで、プロトコルアーキテクチャにおける物理レイヤが統合される、ことが分かる。更に、物理レイヤは、レーン分配及び結合機能を備えている。図11に示されるように、送信側の物理レイヤ1003は、論理的な物理レイヤレーン分配及びコーディング機能1104を備え、受信側の物理レイヤ1006は、論理的な物理レイヤレーン分配及びコーディング機能1109を備える。更に、物理レイヤは前方誤り訂正機能に対応する。図11に示されるように、送信側の物理レイヤ1003は、前方誤り訂正コード符号化機能1105に対応し、受信側の物理レイヤ1006は、前方誤り訂正コード復号化機能1108に対応する。
任意に、例えば、本願の実施形態で提供されるプロトコルアーキテクチャにおける物理レイヤは、シリアライザ-デシリアライザ(serializer-deserializer,Serdes)アーキテクチャとして実装される。シリアライザ(serializer)は、Serdesアーキテクチャで送信器(transmitter,Tx)とも呼ばれ、デシリアライザ(desirializer)は、Serdesアーキテクチャで受信器(receiver,Rx)とも呼ばれる。
Serdesアーキテクチャに基づいて本願の実施形態で提供されるプロトコルアーキテクチャのシングルレーン(lane)レートは16Gbpsであり、MIPIプロトコルアーキテクチャのシングルレーンレートは11.6Gbpsである。比較すると、シングルレーンレートは37%だけ改善される。更に、Serdesは、時分割多重化(time-division multiplexing,TDM)及びポイント・ツー・ポイント通信技術である。具体的に言えば、送信器は、複数の低速パラレル信号を送信のために高速シリアル信号に変換し、そして、信号を伝送媒体(例えば、光ケーブル又は銅配線)を通じて送信する。最後に、受信器は、信号を受信した後に、高速シリアル信号を低速パラレル信号に変換する。従って、MIPIプロトコルアーキテクチャと比較して、本願の実施形態で提供されるプロトコルアーキテクチャでは、シングルエンド信号ではなく差動信号が伝送のために使用され、それによって、リンクの耐干渉能力を向上させる。クロック及びデータ回復技術が、データ及びクロックの同時の伝送を置き換えるために使用され、それによって、データ伝送レートを制限する信号クロックオフセットの問題を取り除く。コーディング技術は、信号ひずみを低減し且つ信号の耐干渉能力を改善するために使用される。プリエンファシス及びイコライゼーション技術は、信号の高周波損失を補償するために使用され、それにより、信号の伝送回復能力を向上させる。
従って、統合された物理レイヤが、PRL-C、PRL-D、及びPRL-Sのために使用される。物理レイヤインターフェースは別々に設定される必要がなく、統合された物理レイヤインターフェースが構成される。従って、物理レイヤでのコストは低減され得、物理レイヤでの回路構造は削減され得る。回路設計の物理実装では、たった4つのピン(pins)しかカメラモジュール、ディスプレイモジュール、ストレージモジュール、及びSOCへ別々に接続される必要がなく、複数のデバイスは直列に接続されてもよい。MIPIプロトコルアーキテクチャと比較して、本願の実施形態で提供されるプロトコルアーキテクチャは、低い電力消費及び低い電磁干渉(electro-magnetic interference,EMI)という特性を有し、高速な起動及び最小限の回路設計を実装することができる。例えば、PRL-Sは、Uniproと比較して回路面積が20%削減される。
例えば、図10、図11、図12及び図13の記載を参照して、本願のこの実施形態で提供されるプロトコルアーキテクチャは、簡単な3層アーキテクチャを有する。図14に示されるように、ポイント・ツー・ポイント伝送シナリオでは、プロトコルアーキテクチャは、如何なる一方向又は双方向高速データ伝送にも対応することができ、写真撮影、表示、及び記憶などのシナリオに適用可能である。複数の異なる機能が同じプロトコルアーキテクチャで実施され、回路構造は簡単化され、一部の電子デバイスの軽量薄型設計の要件は満たされる。
図14は、モジュールとSOCとの間の伝送シナリオの模式図であり、SOCは同じSOCでなければならい、ことが留意されるべきである。図14は、カメラモジュール、ディスプレイモジュール、及びストレージモジュールがSOCとの高速データ伝送を実行し得ることを示すために使用され、モジュールとSOCとの間の回路接続関係を制限するためには使用されない。
いくつかの実施形態で、データ伝送プロセスにおいて、伝送リンクは管理される必要がある。一般的に、リンク管理には2つのシナリオがある。1つのシナリオは、モジュール内のデータ伝送であり、物理レイヤリンクが管理される必要がある。例えば、図15の(a)に示されるように、リンクマネージャは、対応する命令を物理レイヤへ送り、次いで、物理レイヤは、対応する結果を返す。もう1つのリンク管理シナリオは、2つのモジュール間のデータ伝送であり、ピアモジュールのデータリンクレイヤとのインタラクションが必要とされる。例えば、図15の(b)に示されるように、リンクマネージャは、データ制御パケットを物理レイヤへ送信するためにローカルエンド(デバイスA)のデータリンクレイヤを制御し、応答データパケットを得るためにピアエンド(デバイスB)のリンクマネージャと相互作用する。データリンクレイヤは、本願の実施形態で提供されるプロトコルアーキテクチャにおけるプロトコルレイヤであるか、あるいは、リンクレイヤとして記載されてもよい。これは以下で記載されない。
従って、本願のこの実施形態で提供されるリンク管理プロセスでは、簡単なプロトコルアーキテクチャに基づいて、図13に示されるように、リンクマネージャはプロトコルレイヤにあるモジュールである。従って、リンクマネージャは、データリンクレイヤ及び物理レイヤを管理し、データリンクレイヤとアプリケーションレイヤとの間の論理インターフェースによりアプリケーションレイヤと通信する。リンク管理がDMEを使用することによって行われ、DMEが各レイヤと通信するために6つの論理インターフェースが加えられる必要があるUniproプロトコルアーキテクチャと比較して、本願のこの実施形態で提供されるリンク管理方法は、新たに加えられる論理インターフェースが不要である。更に、リンク管理プロセスにおいて、データリンクレイヤ及び物理レイヤのみが管理されさえすればよく、リンク管理プロセスは単純であり、それによって、リンク管理時間が長くかつ応答がマルチレイヤインタラクションによってタイムリーに引き起こされないという問題は回避される。
上記は、本願の実施形態で提供されるプロトコルアーキテクチャ及びリンク管理に関連した内容について記載してきた。以下は、プロトコルアーキテクチャに基づいたデータ伝送方法について記載する。
最初に、データ伝送プロセスにおけるデータパケットの構造が、データ伝送の効率及び信頼性を確保するよう導入される。
いくつかの実施形態で、図11、図12及び図13に示されるプロトコルアーキテクチャ図に基づいて、送信側のアプリケーションレイヤ1001は、データをプロトコルレイヤ1002へ送信し、プロトコルレイヤ1002は、セグメント化されたデータをフレーミングする必要がある。必要とされるパケットヘッダ及びパケットフッタがデータパケットに加えられ、それから、データパケットは、物理レイヤ1003を通じて受信側の物理レイヤ1006へ送られる。受信側の物理レイヤ1006は、受信したデータパケットをプロトコルレイヤ1005へ送り、プロトコルレイヤ1005は、データパケットをアンパッキングして、アプリケーションレイヤ1004へ伝送されるべきセグメント化された組み立て直されたデータを生成し、送信器から受信器へのデータ伝送を完了する。例えば、図11に示されるように、APのアプリケーションレイヤ1001は、プロトコルレイヤ1002へ送られるべきピクセルデータ又は埋め込みデータを生成し、プロトコルレイヤ1002は、ピクセルバイトパッキングフォーマット機能1101を使用することによって、データをパッキングする。パケットヘッダ及び誤り訂正コード生成機能1102を使用することによって、パケットヘッダが生成され、データパケットに加えられ、また、ペイロードCRC及びパケットフッタ生成機能1103を使用することによって、パケットフッタが生成され、データパケットに加えられ、伝送されるべきデータパケットが生成される。次いで、伝送が物理レイヤ1003及び物理レイヤ1006を通じて行われた後、DDICプロトコルレイヤ1005はデータパケットを受信し、パケットヘッダ訂正及び報告機能1110並びにペイロード誤りチェック及び報告機能1111を使用することによってデータパケットをチェック及び訂正する。データパケットは、バイト・ツー・ピクセルアンパッキングフォーマット機能1112を使用することによってアンパッキングされ、アンパッキングされたピクセルデータ又は埋め込みデータはアプリケーションレイヤ1004へ送られる。このようにして、カメラがピクセルデータ又は埋め込みデータをAPへ送信するデータ伝送プロセスは完了する。
いくつかの実施形態で、本願の実施形態で提供されるプロトコルアーキテクチャに基づいて、データパケットは、インターフェースでのシグナリングの異なる機能、つまり、システムコマンド又はペイロードデータが伝送されるかどうか、に基づいて、異なる「データパケットタイプ」に分類される。例えば、制御パケットは、システムコマンドを伝送するために使用され、データパケットは、ペイロードデータを伝送するために使用される。各データパケットタイプは、所与のデータパケットに使用される事前定義されたデータパケット構造を表す。更に、データパケットの各タイプは異なる機能を有しているので、データパケットは、事前定義された長さ又は動的に変化する長さを有し得る。任意に、データパケット内のサブパケット又はフィールドは、8ビット、16ビット、又は他のビット数の符号無し整数により構成されたバイト値を使用することによって構成される。インターフェースの柔軟な拡張性に基づいて、新しいパケット構造が加えられてもよく、あるいは、データパケットフィールド値の定義は実際の要件に基づいて変更されてもよい。
いくつかの実施形態で、データパケットは、異なる搬送データに基づいて、ロングデータパケット及びショートデータパケットに分類され、特定の情報又は特定の番号を有する、データパケットの部分は、データパケットのサブパケットと呼ばれる。例えば、図16の(a)に示されるように、ロングデータパケットは、データパケットヘッダ(packet header)サブパケット、ペイロードデータ(payload data)サブパケット、及びデータパケットフッタ(packet footer)サブパケットを含む。図16の(b)に示されるように、ショートデータパケットは、データパケットヘッダ(packet header)サブパケット及びデータパケットフッタ(packet footer)サブパケットを含む。具体的に、データパケットの効率的な信頼できる伝送を確かにするために、各データパケットの伝送は、データパケットヘッダサブパケットを使用することによって始まり、データパケットの伝送は、データパケットフッタサブパケットを使用することによって終わる。任意に、データパケットヘッダサブパケットは48ビットを占有する。ペイロードデータサブパケットは、ペイロードデータの数に基づいて、異なるビット数を占有する。データパケットフッタサブパケットは16ビットを占有する。現在のデータパケットの長さ並びに現在のデータパケット内の各サブパケット及び各フィールドの長さは全て、本願のこの実施形態では記載のための例であることが理解され得、詳細は以下で再び記載されない。本願のこの実施形態では、ロングデータパケット及びショートデータパケットは、データパケットによって占有されるビットの長さによって区別されない。
図17に示されるように、ペイロードサブパケットは、有効データのフィールド組み合わせであり、送信器と受信器との間で伝送される必要がある一部又は全てのデータを含む。データ転送フォーマットはデータタイプに基づいて変化する。
データパケットフッタサブパケットはCRCフィールドを含む。CRCフィールドは16ビットを占有し、データパケット全体のインテグリティ及び信頼性を確保するために、CRCを除いたデータパケットの全ての内容に対して送信器が誤り検出を行った後に取得された巡回冗長性検査結果を示す。CRCフィールドに基づいて、受信器は、CRCを通じて検出された誤りビットの数及びデータパケットのインテグリティを決定することができる。一般的に、CRCフィールドは、CCITT-16アルゴリズムを使用することによって決定される。具体的なアルゴリズムについては、従来技術を参照されたい。詳細は、本願のこの実施形態で再び記載されない。
いくつかの実施形態で、本願のこの実施形態で提供されるデータパケット構造は、カメラシナリオ、ディスプレイシナリオ、及びストレージシナリオに適用され得る。フィールドの値は、伝送中であるデータパケットが適用されるシナリオを示す。例えば、図17に示されるように、データパケットヘッダサブパケットは、データタイプ(data type)フィールド、データ数(WORD COUNT)フィールド、及びフリービット(Ctrl-bits)フィールドを含む。データタイプフィールドは8ビット占有し、データパケットが伝送されるシナリオを示す。Ctrl-bitsフィールドは24ビットを占有し、異なるシナリオによって必要とされる機能を実施するために異なる写真撮影、ディスプレイ、及びストレージシナリオに基づいて異なるデータパケットヘッダフォーマットを形成するために使用される。データ数フィールドは16ビットを占有し、バイト(byte)値形式を基本単位とした情報である。情報は、データパケットにおいてペイロードサブパケットによって占有されているバイトの数を示す。
例えば、表2は、伝送されるデータパケットのアプリケーションシナリオと、データパケットタイプと、タイプフィールドが異なる値を有する場合にデータパケットによって表される意味とを示す。データタイプフィールドの値が0x01~0x1F(つまり、01h~1Fb)であることは、伝送されるデータパケットがディスプレイプロトコルパケットであることを示す。データタイプフィールドの値が0x20~0x4F(つまり、20h~4Fh)であることは、伝送されるデータパケットがカメラプロトコルパケットであることを示す。データタイプフィールドの値が0x50~0x7F(つまり、50h~7Fh)であることは、伝送されるデータパケットがストレージプロトコルパケットであることを示す。データタイプフィールドの値が0x80~0x8F(つまり、80h~8Fh)、0x90~0x9F(つまり、90H~9Fh)、及び0xA0~0xAF(つまり、A0h~AFh)であることは夫々、ユーザにより定義されたカメラ、ストレージ、及びディスプレイデータパケットに対応する。データタイプフィールドの値が0xB0~0xFFF(つまり、B0h~FFh)であることは、伝送されるデータパケットがリザーブされたデータフォーマットにあることを示す。
更に、データパケットを伝送する過程で、フィールドの下位データビットが最初に送信される必要があり、次いで、フィールドの上位データビットが送信される。加えて、同じデータサブパケットにおいて、データビットは、フィールド順に基づいて順次送信される。本願の実施形態で提供されるプロトコルアーキテクチャのインターフェースは、柔軟な拡張性を有する。従って、フィールド及び対応するデータビットの伝送規則は、実際の要件に基づいて変更されてもよい。
例えば、表2に基づいて、以下は、データタイプフィールドが異なる値を有する場合の異なるシナリオでのデータパケットの構造について記載する。
例1:データタイプフィールドの値は50hであり、伝送中のデータパケットは、ストレージシナリオで使用されるロングデータパケットである。
図18に示されるように、データパケットのデータパケットペイロードサブパケット内のデータは、送信器によって受信器で送信された有効なストレージデータである。データパケットヘッダサブパケットは、共通の構造又は最低限のフィールドを有する組み合わせである。最低限のフィールドは、データタイプフィールド、データ数フィールド、メッセージ終了(end of message,EOM)指示フィールド、フレーム番号(frame number)フィールド、及びリザーブ(reserved)フィールドを少なくとも含む。
メッセージ終了指示フィールドは1ビットを占有し、データストリーム伝送が終わることを示し、例えば、伝送中のデータパケットが伝送中のデータストリーム内の最後のデータパケットであることをアプリケーションレイヤに示す。
フレーム番号フィールドは7ビットを占有し、データパケットのフレーム番号を示す。このようにして、送信器及び受信器は、データパケットの損失を防ぐように、データパケットのフレーム番号を記録することができる。一般的に、フレーム番号フィールドの値は1から始まり、値が127に達するまで順に1ずつ増える。それから、値は0から始まる。
例2:データタイプフィールドの値は51h又は52はであり、伝送中のデータパケットは、ストレージシナリオで使用され、データパケットタイプは、ショート制御パケットにおけるショート確認応答(acknowledgement,ACK)パケットであり、データパケットが正しく受信されたことを示す。
例えば、図19に示されるように、データパケット内のデータパケットヘッダサブパケットは、データタイプフィールド、クレジット要求(credit request,CReq)フィールド、フレーム番号(frame number)フィールド、クレジット値(credit value)フィールド、リザーブ(reserved)フィールド、CRC上位8ビット(CRC-16H)フィールド、及びCRC下位8ビット(CRC-16L)フィールドを含む。
CReqフィールドは1ビットを占有し、伝送データに対してトラフィック制御を行うために使用される。
フレーム番号フィールドは7ビットを占有する。フレーム番号フィールドの機能については、例1の関連する記載を参照されたい。詳細は、ここで再び記載されない。
クレジット値フィールドは16ビットを占有し、データパケットのクレジット値を示す。
CRC-16Hフィールドは8ビットを占有し、巡回冗長検査コードの8つの上位ビットの値を示す。
CRC-16Lフィールドは8ビットを占有し、巡回冗長検査コードの8つの下位ビットの値を示す。
例3:データタイプフィールドの値は53hであり、伝送中のデータパケットはストレージシナリオで使用され、データパケットタイプは、ショート制御パケットにおけるショート否定応答(negative acknowledgement,NACK)パケットであり、データパケットの受信に異常があったことを示す。
例えば、図20に示されるように、データパケット内のデータパケットヘッダサブパケットは、データタイプフィールド、リセット要求(reset request,RReq)フィールド、リザーブ(reserved)フィールド、CRC上位8ビット(CRC-16H)フィールド、及びCRC下位8ビット(CRC-16L)フィールドを含む。
RReqフィールドは1ビットを占有する。RReqフィールドの機能については、例2のCReqフィールドの関連する記載を参照されたい。詳細はここで再び記載されない。
例4:データタイプフィールドの値は10Hから1Fhであり、伝送中のデータパケットは、ディスプレイシナリオで使用されるロングデータパケットである。代替的に、データタイプフィールドの値は30hから4Fhであり、伝送中のデータパケットは、カメラシナリオで使用されるロングデータパケットである。ディスプレイシナリオにおけるロングデータパケットのデータパケット構造は、カメラシナリオにおけるそれと同じである。
例えば、図21に示されるように、データパケット内のデータパケットヘッダサブパケットは、データタイプフィールド、データ数フィールド、フレーム開始(start of frame,SOF)フィールド、フレーム終了(end of frame,EOF)フィールド、ライン開始(start of line,SOL)フィールド、ライン終了(end of line,EOL)フィールド、仮想チャネル(virtual channel,VC)番号フィールド、巡回実行インデックス(cyclic running index,CRI)フィールド、リザーブ(reserved,RSV)フィールド、パケットヘッダ(packet header,PH)誤り訂正コード(error correction code,ECC)フィールドを含む。
SOFフィールドは1ビットを占有し、フレームデータの開始フラグを示す。
EOFフィールドは1ビットを占有し、データのフレームの終了フラグを示す。
SOLフィールドは1ビットを占有し、データのラインの開始フラグを示す。
EOLフィールドは1ビットを占有し、データのラインの終了フラグを示す。
VCフィールドは4ビットを占有し、伝送データパケットが属するレーンを示す。
CRIフィールドは2ビットを占有し、データパケットのサイクル数を示す。
パケットヘッダ誤り訂正コードフィールドは7ビットを占有し、パケットヘッダデータの誤り検出及び訂正に使用され、1ビットの誤り訂正及び2ビットの誤り検出を同時に実装することができる。
例5:データタイプフィールドの値は01hから0Fhであり、伝送中のデータパケットは、ディスプレイシナリオで使用されるショートデータパケットである。代替的に、データタイプフィールドの値は20hから2Fhであり、伝送中のデータパケットは、カメラシナリオで使用されるショートデータパケットである。ディスプレイシナリオにおけるショートデータパケットのデータパケット構造は、カメラシナリオにおけるそれと同じである。
例えば、図22に示されるように、データパケット内のデータパケットヘッダサブパケットは、データタイプフィールド、ショートパケットデータ(short packet data)フィールド、リザーブフィールド、仮想チャネル番号(VC番号)フィールド、CRIフィールド、及びショートパケットの誤り訂正コード(ショートパケットのECC)フィールドを含む。
ショートパケットデータフィールドは16ビットを占有し、ショートパケットの有効データである。
ショートパケットの誤り訂正コードフィールドは7ビットを占有し、ショートデータパケットにおけるデータの誤り検出及び訂正に使用される。
仮想チャネル番号フィールド及びCRIフィールドの機能については、例4の関連する記載を参照されたい。詳細はここで再び記載されない。
従って、同じプロトコルアーキテクチャに基づいて、カメラシナリオ、ディスプレイシナリオ、及びストレージシナリオに適用可能な一般的なデータパケット構造は構成され、データパケット内のデータタイプフィールドは、データパケットのアプリケーションシナリオを識別するために使用される。異なるシナリオが異なるプロトコルアーキテクチャに対応し、異なるデータパケット構造のデータが伝送される従来技術と比較して、本願のこの実施形態は、回路複雑性及び回路面積が有効に低減され、それによって、回路電力消費を削減し且つ伝送効率を向上させることができるように、プロトコルアーキテクチャ及び一般的なデータパケット構造を提供する。
例えば、図13に示されるプロトコルアーキテクチャに基づいて、ストレージシナリオにおけるロングデータパケットの伝送プロセスが記載される。送信側のアプリケーションレイヤ1001はアプリケーションデータをプロトコルレイヤ1002へ送信する。プロトコルレイヤ1002は、メッセージセグメンテーション及び再組み立て機能1301を使用することによってアプリケーションをパッキングし、パケットヘッダ生成及びパーシング機能1302を使用することによってデータパケットのパケットヘッダにデータタイプフィールド、フレーム番号フィールド、メッセージ終了指示フィールド、及びデータ数フィールドを加え、CRC生成及びチェック機能1303を使用することによってデータパケットのパケットフッタに巡回冗長検査フィールドを加える。プロトコルレイヤ1002は、完全なデータパケットを形成するようデータパケットをフレーミングし、それから、データパケットを物理レイヤ1003により受信側の物理レイヤ1006へ送信する。
相応して、物理レイヤ1006によって送信されたデータパケットを受信した後、受信側のプロトコルレイヤ1005は、パケットヘッダ生成及びパーシング機能1310を使用することによって、パケットヘッダ内のデータタイプフィールドに基づいて、データパケットがデータパケット又は制御パケットであるかどうかを区別する。データパケットがデータパケットである場合には、パケットフォーマットパーシングが、パケットヘッダ生成及びパーシング機能1310を使用することによってパケットヘッダに対して実行される。代替的に、データパケットが制御パケットである場合には、操作及び応答は、制御パケットの具体的な内容に基づいて行われる。現在のシナリオでは、伝送データパケットはロングデータパケットである。従って、パケットフォーマットパーシングは、パケットヘッダ生成及びパーシング機能1310を使用することによってパケットヘッダに対して行われる。プロトコルレイヤ1005は、CRC生成及びチェック機能1311を使用することによって巡回冗長検査フィールドに基づいてリンク管理部にエラーを報告し、メッセージセグメンテーション及び再組み立て機能1309を使用することによってデータパケットを組み立て直す。このようにして、プロトコルレイヤ1005は、データパケットアンパッキングプロセスを完了し、アンパッキング後に生成されたアプリケーションデータをアプリケーションレイヤ1004へ送信して、ストレージシナリオにおけるロングデータパケットの伝送を完了する。
上記の一般的アンデータパケット構造では、データはレイヤ間で伝送され、128B/132Bコーディングがサポートされる。データパケット構造で伝送され、各レイヤに対応するデータ関係が存在し、機能フォーマットが複雑であるデータの各レイヤが異なる従来技術でのプロトコルアーキテクチャと比較して、本願のこの実施形態で提供されるプロトコルアーキテクチャ及び一般的なデータパケット構造はインタラクションを容易にし、伝送効率を向上させ且つ伝送エラーを減らすことができる。
更には、送信器は、送信器の最大限の伝送能力を超えずに、実際の使用要件に基づいてデータパケット伝送レートを動的に選択及び変更し得る。
いくつかの場合に、送信器は、正確な復号化のために受信器に引き起こされる不都合を回避するために、各プロトコルリンクのデータ伝送レートを保つよう又はクロック同期を確保するようパディングデータパケットを送信する。更に、各データパケットはデータパケットヘッダサブパケットから送信されるので、パディングデータパケットは、ペイロードデータサブパケット又はデータパケットフッタサブパケットの後に挿入され得る。
上記は、本願の実施形態で提供されるプロトコルアーキテクチャに基づいて送信されるデータパケットの構図と、伝送プロセスでのデータパケットのフレーミング及びデフレーミングプロセスについて記載してきた。以下は、データ伝送プロセスでの起こり得るエラータイプ及び再送メカニズムについて記載する。
いくつかの実施形態で、プロトコルアーキテクチャの上記の記載から、プロトコルアーキテクチャはPRL-C、PRL-D、及びPRL-Sプロトコルアーキテクチャを組み合わせることができる、ことが分かる。相応して、プロトコルアーキテクチャのエラータイプも組み合わせられ得る。従って、エラータイプは減る。更に、プロトコルアーキテクチャは簡単な構造を有し、エラー処理の複雑さ及び困難さは減るので、エラー処理効率は改善され得、より良いエラー処理結果が取得され得る。
例えば、表3は、本願の実施形態で提供されるプロトコルアーキテクチャで生成され得るエラーのタイプを示す。高速データ状態に入るエラー(enter hs request,EHR)はデバイスの物理レイヤによって検出され、他のエラーはデバイスのデータリンクレイヤによって検出される。表3に示されるエラーが起きた後、デバイスは制御インターフェースアドレス空間が0x0001であるレジスタにエラー状態を格納する。異なるビット値に対応するエラータイプが表3に示されている。エラーが報告された後、エラー状態はクリアされる。
ビット値及び対応するエラータイプは記載のために例に過ぎず、レジスタ内の値の設定及び更新は実際の状況に基づき変更され得る、ことが留意されるべきである。更に、えらが起きて報告された後、デバイスは、実際の状況に基づいて解決法をとることができる。これは、本願のこの実施形態で特に制限されない。
表3に示されるように、EHRエラーは、エラーがEHRのシーケンスで起こり、物理レイヤによって検出される場合に、エラーが1ビットのデータ又は複数ビットのデータで起きているかどうかにかかわらず、EHRエラーが記録及び報告される必要があることを意味する。例えば、表示デバイスは、APがエラー状態をクエリする場合にEHRエラーを報告する必要がある。たとえエラーがEHRで起きるとしても、EHRにおけるエラービットの後続ビット(例えば、動機コード又はトレーニングコード)及び後続データパケットは正しいかもしれないが、データパケットインテグリティへの信頼は下がる。
ECCエラー(1ビット)は、1ビットエラーがデータパケットヘッダ内のECCフィールドで見つけられ、訂正される場合に、ECCエラー(1ビット)が記録及び報告されることを意味する。換言すれば、ECCエラー(1ビット)が起こる場合に、たとえパケットヘッダ内の情報が訂正されるとしても、ECCエラー(1ビット)は依然として、例えば、表示デバイスのアプリケーションレイヤ及びAPに報告される。
ECCエラー(複数ビット)は、マルチビットエラーがデータパケットヘッダ内のECCフィールドで見つけられる場合に、ECCエラー(複数ビット)が記録及び報告されることを意味する。ECCエラー(複数ビット)が起こる場合に、データパケットヘッダ内の情報は破損する。更に、そのようなエラーは通常はCRCエラーが伴うので、送信器のデータリンクレイヤは通知される必要がある。
CRCエラーは、デバイスによって計算されたCRCが受信されたCRCと一致しない場合に、CRCエラーが報告されることを意味する。CRCエラーが起こる場合に、データリンクレイヤは、ペイロードデータが破損していることを通知される必要がある。
データタイプ識別エラーは、デバイスによって受信されたデータタイプが予期したデータタイプと一致しない場合に、データタイプ識別エラーが記録及び報告されることを意味する。
仮想チャネルID識別エラーは、デバイスによって受信された仮想チャネルIDが予期した仮想チャネルIDと一致しない場合に、データタイプ識別エラーが報告されることを意味する。
伝送長さエラーは、デバイスによって受信されたデータペイロード長さが、パケットヘッダ内のデータ数フィールドによって指示されている長さと一致しない場合に、伝送長さエラーが記録及び報告されることを意味する。
フレーム同期エラーは、フレーム同期終了がフレーム同期開始と対にされ得ないことをデバイスが検出する場合に、デバイスがフレーム同期エラーを記録及び報告することを意味する。
フレームデータエラーは、フレーム同期が終了した後、エラーがデータのフレームで起きる場合に、フレームデータエラーが記録及び報告される必要があることを意味する。
受信側タイムアウトエラーは、受信器が前もってセットされた時間内にデータを受信しない場合に、受信側タイムアウトエラーが記録されることを意味する。
フレーム番号エラーは、記憶されたデータに記録されているフレーム番号が実際のフレーム番号と一致しない場合に、フレーム番号エラーが報告されることを意味する。
カウントエラーは、データ記録フィールドによって示されるデータ数が実際のデータ数と一致しない場合に、カウントエラーが記録及び報告されることを意味する。
いくつかのシナリオで、エラーがデータ伝送で起こる場合に、データ再送が行われる必要がある。従って、データ再送メカニズムは、本願の実施形態で提供されるプロトコルアーキテクチャに基づいて記載される。
いくつかの実施形態で、本願のこの実施形態で提供されるシステムアーキテクチャにおいて、データリンクレイヤはデータ再送をサポートする必要がある。この場合に、十分なバッファ(buffer)が、伝送中であるデータパケットをバッファリングするためにデータリンクレイヤに設けられる必要がある。バッファのサイズは、レジスタによって定義される。例えば、バッファのサイズは4096バイト(bytes)である。
例えば、送信器(つまり、ローカルエンドデバイス)がデータパケットを送信するたびに、送信器(つまり、ローカルエンドデバイス)はバッファにデータを格納する。更に、送信されたデータパケットは、フレーム番号に基づいて厳密にソートされる。更に、送信器がフレーム番号に対応するACKパケットを受信するたびに、送信器は、フレーム番号に対応するバッファリングされたデータをバッファからフェッチする。図23に示されるように、送信器がN個のデータパケット(つまり、N個のデータフレーム)を送信し、M個の対応するACKパケットを受信する場合に、バッファには(N-M)個のデータパケットがある。N及びMは正の整数であり、M≦Nである。
相応して、受信器(つまり、ピアエンドデバイス)については、送信器によって送信されたデータパケットが受信されるたびに、受信器は最初に、フレーム番号が厳密に配置されているかどうかを決定する。フレーム番号が正確であり、厳密に配置されている場合に、フレーム番号は受信器のバッファにバッファリングされ、フレーム番号に対応するACKパケットが送信器へフィードバックされる。受信されたフレーム番号が誤っている場合には、データフレーム受信は中止され、NACKパケットが送信器へフィードバックされる。更に、受信器がフレーム番号に対応するACKパケットをフィードバックするたびに、受信器は、対応するバッファリングされたデータパケットをバッファからフェッチする。図24に示されるように、受信器がN個のデータパケット(つまり、N個のデータフレーム)を受信し、M個の対応するACKパケットを送信する場合に、バッファには(N-M)個のデータパケットがある。
いくつかの実施形態で、データパケットを受信した後、受信器のデータリンクレイヤは最初に、データパケットをバッファに格納する。受信されたデータパケットがエラー(例えば、CRCエラー又は長さエラー)を有さない場合に、受信器のデータリンクレイヤはACKパケットを送信器へフィードバックし、データパケットをバッファからフェッチする。
例えば、図25に示されるように、正しいデータパケットを受信した後、受信器は、データパケットのフレーム番号をACKパケットにパラメータとして置き、フレーム番号を送信器へフィードバックする。代替的に、データパケットのグループを受信した後、受信器のデータリンクレイヤは相応して、データパケットのグループのパケットフッタのフレーム番号を示す1つのACKパケットを返して、そのフレーム番号より前の全てのデータパケットが正しく受信されたことを示す。データパケット受信がグループを使用することによって決定される場合に、グループの全てのデータパケットが正常に受信されることが確かにされるときにのみ、ACKパケットはフィードバックされ得る。更に、最大値が予めセットされる。続くグルーピング及び決定プロセスで、グループ内のデータパケットの数は、予めセットされた最大値を超えることができない。例えば、予めセットされた最大値が16である場合に、グループにまとめられて同時に決定されるデータパケットの最大数は16である。前もってセットされた最大値は、具体的な実施に基づいて変更されてもよい。グルーピング及び決定プロセスで、エラーが起こる場合に、受信器は、正しく受信された最後のデータパケットのフレーム番号を返し、NACKパケットを送信する。このようにして、送信器は、異常なデータパケットのフレーム番号を決定することができ、そのフレーム番号からデータパケットを再送する。
いくつかの実施形態で、受信器のデータリンクレイヤがデータパケットを受信する過程で例外が起こり、データパケットが正しく受信されないと決定される場合に、データリンクレイヤはNACKパケットを送信側デバイスへフィードバックし、そのデータパケットを破棄する。例えば、表4は、データ受信エラーのいくつかの起こり得る原因を示す。データパケットが異常な物理レイヤ状態に起因して正しく受信されない場合に、図20に示されるように、リセット要求(RReq)フィールドは1にセットされる。データパケットが他のエラー原因により正しく受信されない場合に、RReqフィールドは0にセットされる。
相応して、図26に示されるように、送信器が受信器によってフィードバックされたNACKを受信する場合に、再送メカニズムがトリガされる。最初に、Reset Req(つまり、リセット要求フィールド)の値が決定される。Reset Req=1である場合に、リンク修復が直接実行され、次いで、データ再送が実行される。Reset Req=0である場合に、物理レイヤ状態が最初に取得される必要がある。物理レイヤ状態が正常である場合に、データは直接再送される。フィードバックされた物理レイヤ状態にエラーがある場合には、リンク修復が最初に実行され、それからデータが再送される。
いくつかの実施形態で、送信器及び受信器は、伝送されるデータパケットのフレーム番号を管理する。データパケット構造の上記の説明で記載されるように、データパケットヘッダサブパケットに含まれているフレーム番号(frame number)指示フィールドは7ビットを占有し、伝送されるデータパケットのフレーム番号を示す。フレーム番号の値範囲は0から31である。各データパケットを送信するとき、送信器は、データパケットヘッダにフレーム番号をパッキングする必要がある。相応して、データパケットを受信した後、受信器は、データパケットで示されている一連のフレーム番号が、ローカルで記録されている一連のフレーム番号と一致することを決定する。ACKパケットがフィードバックされる場合に、フレーム番号は1ずつ増やされ、次いでACKパケットにパッキングされ、送信器へ送信される。フレーム番号が31であるデータパケットを送信器が送信した後、フレーム番号値は、0から31内の循環メカニズムを使用することによって設定され、フレーム番号は0にリセットされ、つまり、次に送信されるデータパケットのフレーム番号は0に設定される。同様に、受信器も、循環メカニズムを使用することによってACKパケットのフレームを設定して、両方のエンドでのフレーム番号が揃えられることを確かにする。
いくつかの実施形態で、再送メカニズムは、タイムアウト再送及びNACK再送を含む。タイムアウト再送は、送信器が、データパケットを送信した後、前もってセットされた時間内に応答信号を受信しない場合に、送信器が、データパケットの送信に失敗したと見なし、データ再送メカニズムを開始してデータパケットを再送することを意味する。NACK再送は、送信器が受信器によってフィードバックされたNACKを受信し、NACKによって示されているデータパケットの送信が異常であったことを確かめ、データ再送メカニズムを開始してそのデータパケットを再送することを意味する。
タイムアウト再送及びNACK再送におけるACK/NACKフィードバック方式は単一データパケットフィードバックであってよい、ことが留意されるべきである。具体的に言えば、受信器は、データパケットが受信されるたびに、ACK/NACKをフィードバックする。ACK/NACKフィードバック方式は、代替的に、データパケットグルーピングフィードバックであってもよい。具体的に言えば、データパケットは上記の方法でグループ化され、受信器は、データパケットのグループが受信されるたびに、ACK/NACKをフィードバックする。
いくつかのシナリオで、図27A及び図27Bは、タイムアウト再送メカニズムに基づいたデータ伝送プロシージャの模式図である。図27A及び図27Bに示されるように、ステップ1-1からステップ1-10が含まれる。
ステップ1-1:送信器は、送信されるべきデータパケットに番号付けし、データパケットをバッファに格納する。
いくつかの実施形態で、レジスタは、送信器のポート及び受信器のポートの夫々についてセットされ、フレーム番号が正しいことを確かめるために、送信又は受信されたデータパケットのフレーム番号をカウントするよう構成される。
例えば、図28に示されるように、送信器は、フレーム番号の順にデータパケットを送信し、例えば、フレーム1、そしてフレーム2を送信する。
ステップ1-2:送信器はデータパケットを送信し、タイマを起動し、ここで、タイマは,データパケットが送信されるたびに再起動される。
いくつかの実施形態で、送信器のバッファがデータで完全に満たされている場合に、データは送信されない。送信器のバッファ内の残りの空間のサイズが、次に送信されるべきデータパケットをバッファリングするために使用され得る場合に、データパケットは引き続き送信される。更に、タイマは、送信器のデータリンクレイヤで設定される。データパケットが送信されるたびに、タイマは、全てのデータパケットが送信されるまで、計時を再開するようリフレッシュされる。換言すれば、送信器は、受信器が応答信号をフィードバックするのを待たずに後続のデータパケットを送信してよく、それによって、データ伝送効率を向上させる。例えば、送信器のバッファ内の残りの自由空間が、次に送信されるべきデータパケットによって占有される必要がある空間のサイズ以上である場合に、送信されるべきデータパケットはバッファに格納され、送信されるべきデータパケットは送信され、タイマは再起動される。他の例として、データ伝送プロセスにおいて、送信される必要があるデータパケットのサイズは全て同じである。従って、バッファのバッファ空間のサイズは、データパケットのサイズの整数倍であるよう構成されてよい。この場合に、データ伝送プロセスにおいて、送信器は、次のデータパケットを引き続き送信するために、送信器がいっぱいでないことを決定しさえすればよい(つまり、バッファ内の残りの自由空間のサイズは、データパケットのサイズの整数倍である)。
例えば、図28に示される装置に、送信器は、データの送信を開始し、送信されるべきデータパケットを1として番号付けし、データパケット1(つまり、フレーム1)をバッファに格納した後、タイマを起動して計時を開始する。次いで、次に送信されるべきデータパケットは2として番号付けされ、データパケット2(つまり、フレーム2)がバッファに格納された後、データパケット2は送信され、タイマはリフレッシュされ、計時は再開される。
ステップ1-3:受信器は、受信したデータパケットをバッファに格納する。
ステップ1-4:受信器は、フレーム番号に対応するACKパケットを送信器へフィードバックし、そのフレーム番号に対応するデータパケットをバッファから削除する。
例えば、図28に示されるように、データパケットを受信した後、受信器は、対応するフレーム番号のACKをフィードバックする。例えば、フレーム1が受信された後、データは正常であることが決定され、ACK1が送信器へフィードバックされる。
ステップ1-5:送信器は、前もってセットされた時間内にACKパケットを受信する。そうである場合に、ステップ1-6が実行される。そうでない場合には、ステップ1-7が実行される。
ステップ1-6:ACKパケットに対応するフレーム番号を決定し、フレーム番号に対応するデータパケットをバッファから削除する。
ステップ1-7:送信器は、データパケットを送信することを止め、物理レイヤ状態を取得する。
いくつかの実施形態で、送信器は、フレーム番号の順に、対応するACKパケットを受信する。図28に示されるように、送信器はACK1及びACK2を順に受信する。ACKを受信した後、送信器は、対応するデータパケットをバッファから削除して、後続のデータパケットを送信するための更なるバッファ空間を得る。図28に示されるように、ACK1が受信された後、フレームが1がバッファから削除され、タイマはリフレッシュされる。ACK2が受信された後、フレームが2がバッファから削除され、タイマはリフレッシュされる。バッファがデータで完全に満たされていない場合に、送信器は引き続きデータパケットを順に送信し得る。しかし、送信器がACKを受信しない場合には、送信器は、データパケットを削除することができない。その結果、バッファはデータで完全に満たされる場合がある。バッファがデータで完全に満たされた後、データパケット送信は停止され、タイマは、データパケットが送信されない場合にリフレッシュされない。従って、計時は、前もってセットされた時間を越えるまで累積される。送信器は、データ伝送が異常であり、再送が必要であると決定し、バッファから削除されていないデータパケットのフレーム番号に基づいて、最小のフレーム番号から始まるデータ再送を実行する。ステップ1-2に対応して、送信器のバッファがデータで完全に満たされていないことは、送信器のバッファ内の残りの自由空間が、次に送信されるべきデータパケットよりも大きいか又はそれに等しいことを含む。代替的に、送信されるべきデータは、同じサイズのデータパケットに分割され、バッファのバッファ空間のサイズは、データパケットのサイズの整数倍である。この場合に、送信器のバッファがデータで完全に満たされていないことは、送信器のバッファがいっぱいでないことを含む。
例えば、図28に示されるように、送信器はACK1、ACK2、・・・及びACKMを順次受信し、最初のM個のデータパケットの伝送が正常であることを決定する。相応して、最初のM個のデータパケットは、対応するACKが受信された後にバッファから削除される。送信器は引き続きフレームNを送信するが、ACKMの後で如何なるACKも受信しない。送信されたデータパケットの数が増えるにつれ、バッファは徐々にデータパケットによって満たされ、送信器はデータパケットを送信せず、タイマが満了するのを待つ。この場合に、バッファ内で最も小さいフレーム番号を有するデータパケットはフレームM+1であることが決定される。更に、リンク修復が実行される必要があるかどうかを決定するために、物理レイヤ状態が決定される。M及びNは、2よりも大きい正の整数であり、N>Mである。
いくつかの他の実施形態では、複数のタイマが設定される。データが送信されるたびに、1つのタイマが起動され、計時は、データパケットに対応するACKが受信された後に停止される。タイマがリフレッシュされた後、タイマは、他の送信されるべきデータパケットのために動作するために使用される。従って、1つのタイマによるタイムアウト再送シナリオと比較して、複数のタイマは別々に動作し、データは、バッファが完全に満たされること及びタイマがタイムアウトすることを待たずに再送され得る。代わりに、データ伝送は、タイマが満了した後に直接停止されてもよい。その場合に、タイムアウトしたタイマに対応する異常なデータパケットが決定され、全てのタイマがリフレッシュされた後で、データ再送が実行される。このようにして、待機遅延は小さくされ、伝送効率は更に向上する。
ステップ1-8:送信器は、物理レイヤ状態が正常であることを決定する。そうである場合に、ステップ1-9が実行される。そうでない場合には、ステップ1-10が実行される。
ステップ1-9:送信器は、正常に送信されなかったデータパケットを再送する。
ペイロードサブパケット及び再送されたデータパケットのデータパケットヘッダサブパケット内のフレーム番号フィールドの内容は、元のデータパケット内のそれらと一致する、つまり、送信器のバッファに格納されているそれらと一致する。
いくつかの実施形態で、異常なデータパケットが再送された後、ステップ1-1に戻り、つまり、伝送が完了していないデータパケットの伝送が継続され、上記のステップが循環的に実行される。
ステップ1-10:送信器は、リンクを修復するためにリンク修復命令を物理レイヤへ送信する。リンクが修復された後、ステップ1-9が実行される。
例えば、図28に示されるように、リンク修復が完了した後、バッファ内のデータパケットのフレーム番号に基づいて、異常なデータパケットをフレームM+1から再送し、伝送が完了していないデータパケットを引き続き送信することが決定される。
送信器及び受信器は夫々バッファを備えて構成される、ことが留意されるべきである。
いくつかの他の実施形態では、図29A及び図29Bは、NACK再送メカニズムに基づいたデータ伝送プロシージャの模式図である。図29A及び図29Bに示されるように、ステップ2-1からステップ2-11が含まれる。
ステップ2-1:送信器は、送信されるべきデータパケットを番号付けし、データパケットをバッファに格納する。
ステップ2-2:送信器は、データパケットを送信し、タイマを起動し、ここで、タイマは、データパケットが送信されるたびに再起動される。
いくつかの実施形態で、送信器のデータリンクレイヤは、データフレーム番号が0、1、2、・・・Nであるデータパケットを送信器のバッファに格納し、同時にデータパケットをピアエンドへ送信する。データバッファがデータで完全に満たされる場合に、データパケットは送信されない。タイマは、データ伝送中有効にされており、タイマは、データパケットが送信されるたびに再起動される。
例えば、図30に示されるように、送信器はデータの送信を開始し、送信されるべきデータパケットに1として番号付けし、データパケット1(つまり、フレーム1)をバッファに格納した後、データパケット1を送信し、タイマを起動して計時を開始する。次いで、次に送信されるべきデータパケットは2として番号付けされ、データパケット2(つまり、フレーム2)がバッファに格納された後、データパケット2は送信され、タイマはリフレッシュされ、計時は再開される。
ステップ2-3:受信器は、受信したデータパケットをバッファに格納する。
ステップ2-4:受信器は、データパケット伝送が正常であることを決定する。そうである場合に、ステップ2-5が実行される。そうでない場合には、ステップ2-7が実行される。
ステップ2-5:受信器は、フレーム番号に対応するACKパケットを送信器へフィードバックし、フレーム番号に対応するデータパケットをバッファから削除する。
ステップ2-6:送信器はACKパケットを受信し、ACKパケットに基づいて、対応するデータパケットをバッファから削除し、タイマをリフレッシュする。次いで、ステップ2-1が実行される。
いくつかの実施形態で、受信器がデータパケットを受信するたびに、受信器はデータパケットを受信器のバッファに格納し、データパケットが正常であることを決定し、次いで、フレーム番号に対応するACKパケットを返す。送信器がACKパケットを受信するたびに、送信器は、対応するパケットをバッファから削除する。データバッファがデータで完全に満たされていない場合に、送信器は、全てのデータパケットが伝送されるまで、データパケットを送信し続ける。いくつかの実施形態で、送信器は、送信されるべきデータパケットを引き続きバッファに格納し、上記のステップは、全てのデータパケットが送信されるまで繰り返される。
ステップ2-7:受信器はNACKパケットをフィードバックし、対応するフレーム番号を示す。
ステップ2-8:送信器はNACKパケットを受信し、タイマを停止する。
いくつかの実施形態で、NACKを受信した後、送信器は、NACKのフレーム番号に対応するデータパケットの伝送が異常であったことを決定し、データパケットを送信することを止め、タイマの計時を停止する。
例えば、図30に示されるように、NACKを受信した後、送信器はデータ伝送を中止し、タイマを停止し、データ再送メカニズムを開始する。
ステップ2-9:送信器はエラー原因を決定する。Reset Req=1である場合に、ステップ2-10が実行される。Reset Req=0である場合に、ステップ2-11が実行される。
ステップ2-10:送信器は、リンクを修復するためにリンク修復命令を物理レイヤへ送信する。
ステップ2-11:送信器は、正常に送信されなかったデータパケットを再送する。次いで、ステップ2-1が実行される。
いくつかの実施形態で、送信器は、送信されるべきデータパケットを引き続きバッファに格納し、上記のステップは、全てのデータパケットが送信されるまで繰り返される。
いくつかの実施形態で、Reset Req=1である場合に、リンク修復は直接実行され、次いで、データ再送が実行される。Reset Req=0である場合に、物理レイヤ状態は最初に取得される必要がある。物理レイヤ状態が正常である場合には、データは直接再送される。フィードバックされた物理レイヤ状態にエラーがある場合には、リンク修復が最初に実行され、それからデータが再送される。
例えば、図30に示されるように、NACKに対応するフレーム番号を決定した後、送信器は、異常なデータパケットを再送し始め、バッファ内のバッファリングされたデータパケットを、バッファリングされたデータパケットのフレーム番号の昇順に再送する。その後、全てのパケットの伝送は完了する。
他の内容については、ステップ1-1からステップ1-10を参照されたく、詳細はここで再び記載されない。
図27A及び図27Bに示されるタイムアウト再送プロシージャ並びに図29A及び図29Bに示されるNACK再送プロシージャの内容の上記の記載中、送信器はカメラモジュールであり、対応する受信器はSOCであり、あるいは、送信器はSOCであり、対応する受信器はDDICである、ことが留意されるべきである。代替的に、双方向伝送がストレージモジュールとSOCとの間で実行され、送信器又は受信器はストレージモジュール又はSOCである。更に、2つの再送メカニズム、つまり、タイムアウト再送及びNACK再送は、本願のこの実施形態で提供されるプロトコルで使用されてよく、あるいは、他のデータ伝送プロトコルで使用されてもよい。
いくつかの実施形態で、Uniproプロトコルにおいて、データ再送機能もL2レイヤに組み込まれる。以下は、Uniproプロトコルで規定されるデータ再送メカニズムについて簡潔に記載する。
Uniproプロトコルにおいて、送信器が各プロトコルデータユニット(protocol data unit,PDU)(つまり、データパケット又はデータパケットグループ)を送信した後、受信器は、受信されたデータパケットを別々に又はグループ単位で決定する。上述されたように、Uniproの送信器もフレーム番号に基づいてデータパケットを送信し、このとき、フレーム番号の値は0から31の範囲をとる。更に、循環メカニズムが使用される。データパケットが決定のためにグループ化される場合に、グループは最大16個のデータパケットを含む。
受信器は、グループごとにデータパケットを決定し、各グループは16個のデータパケットを含む、と仮定される。送信器が第1グループの16個のデータパケットを送信した後、第1グループに対応するタイマはリセットされ、計時を開始し、送信器は、受信器によってフィードバックされるAFCを待つ。受信器がフレーム終了フィールド又はCRCフィールドを検出しない場合に、AFCは送信されない。タイマが満了する前に送信器がAFCを受信しない場合に、送信器は、物理アダプタレイヤに要求を送信し、命令を受信するのを待つ。命令が受信された後、NACが送信される。次いで、送信器は、高優先度のAFC及び低優先度のAFCを送信し、再送される必要があるデータパケットを決定し、再送を開始する。
Uniproプロトコルにおいて、送信器は、後続のデータパケットを送信する前に、受信器によって送信された確認応答信号を待つ必要がある、ことが分かる。比較によって、本願のこの実施形態で提供される再送メカニズムによれば、データパケットが送信された後、確認応答信号を待たずに、データは引き続きバッファに格納され、送信される。バッファメカニズムが使用されるので、データ伝送効率は有効に改善される。更に、データ伝送が異常であるとき、正しいデータパケットは、再送のためにバッファから直接取得され得るので、データが失われないことを確かにすることができ、データパケットの伝送順序は不変なままである。
上記は、本願の実施形態で提供されるプロトコルアーキテクチャに基づいてデータを伝送するためのデータパケット構造及び再送メカニズムなどの内容について記載してきた。以下は、システムアーキテクチャを使用することによるカメラシナリオ、ディスプレイシナリオ、及びストレージシナリオでのデータ伝送方法について記載する。
いくつかの実施形態で、本願の実施形態提供されるプロトコルアーキテクチャは、カメラシナリオ、ディスプレイシナリオ、及びストレージシナリオで適用され得る。従って、データ伝送プロセスにおいて、リンク多重化が実装され得、回路面積を更に削減し、データ伝送効率を向上させる。
例えば、図31に示されるリンク構造では、カメラモジュール、ディスプレイモジュール、及びストレージモジュールはスイッチ(switch)へ別々に接続され、スイッチを通じて、SOCへデータを送信し及び/又はSOCによって送信されたデータを受信する。カメラモジュールは、例えば、カメラセンサ(camera sensor)チップを含む。ディスプレイモジュールは、例えば、ディスプレイドライバIC(DDIC)を含む。ストレージモジュールは、例えば、ストレージセンサ(storage sensor)チップを含む。シリアルインターフェース技術がモジュール間で使用され、少なくとも2つの伝送レーン、例えば、図31に示される0及びレーン1が含まれる。更に、モジュール間の伝送レーンの少なくとも1つは、双方向伝送レーンである。物理レイヤについて上述されたように、差動信号ラインが、モジュール間の伝送レーンに使用される(例えば、レーン0+及びレーン0-は一対の差動信号ラインであり、レーン1+及びレーン1-は一対の差動信号ラインである)。差動信号が、シングルエンド信号の代わりに、伝送に使用され、それによって、リンクの耐干渉能力を高める。更に、差動信号伝送技術については、従来技術を参照されたく、詳細はここで再び記載されない。
図32に示されるように、モジュール間の伝送ポート(例えば、ポートA、ポートB、ポートC、及びポートD)は、本願の実施形態で提供されるプロトコルアーキテクチャを含む。
いくつかの実施形態で、図31に示されるように、データパケットを受信した後、スイッチは、データパケット内のデータタイプフィールドの値に基づいて、データパケットに対応するアプリケーションシナリオを区別し、対応するモジュールへデータパケットを送信することができる。任意に、スイッチは、代替的に、各モジュールの物理アドレスを参照して、対応するモジュールへデータパケットを送信してもよい。
カメラシナリオのデータ伝送検出は、カメラモジュールからSOCまでであり、ディスプレイシナリオのデータ伝送検出は、SOCからディスプレイモジュールまでであり、ストレージシナリオのデータ伝送検出は、ストレージモジュールとSOCとの間の双方向伝送である、ことが留意されるべきである。
いくつかの実施形態で、カメラモジュール、ディスプレイモジュール、及びストレージモジュールのうちの少なくとも1つは、伝送されるべきデータパケットを有する。例えば、写真が携帯電話で撮影される場合に、写真は同時に表示されて記憶される。この場合に、図31に示されるように、SOCとスイッチとの間のレーンは、リンク多重化機能を有する必要がある。
いくつかのシナリオで、SOCとスイッチとの間の多重化されたリンクの最大帯域幅は、カメラモジュール、ディスプレイモジュール、及びストレージモジュールのデータ伝送のための総帯域幅要件を満足することができる。データパケットを受信した後、スイッチは、データパケット内のデータタイプフィールドの値に基づいて、対応するモジュールのレーンへデータパケットを直接送信する。
いくつかの他の実施形態では、SOCとスイッチとの間の多重化されたリンクの最大帯域幅は、カメラモジュール、ディスプレイモジュール、及びストレージモジュールのデータ伝送のための総帯域幅要件を満足することができない。この場合に、SOCとスイッチとの間は、前もってセットされた優先度に基づいてデータパケットを順にスイッチへ送信する。次いで、スイッチは、データパケット内のデータタイプフィールドの値に基づいて、対応するモジュールのレーンへデータパケットを送信する。異なるアプリケーションにおけるカメラモジュール、ディスプレイモジュール、及びストレージモジュールの前もってセットされた優先度は異なってよい。前もってセットされた優先度は、アプリケーションプログラム開発者によってアプリケーションにおいて事前設定される。これは、本願のこの実施形態で特に制限されない。例えば、カメラアプリケーションが画像を撮影した後、捕捉された画像は最初に表示され、それから、ユーザが後で見るために保存される必要がある。従って、ディスプレイモジュールによってデータを伝送する優先度は、ストレージモジュールによってデータを伝送する優先度よりも高く前もってセットされてよい。
例えば、図33は、本願の実施形態に係るデータ伝送方法の略フローチャートである。図33を参照されたい。方法はS101からS105を含む。
S101:総伝送帯域幅及び多重化されたリンクの最大帯域幅を取得する。
いくつかの実施形態で、カメラモジュール、ディスプレイモジュール、及びストレージモジュールの伝送されるべきデータ用であって、この場合にSOCによって取得される総帯域幅は、S0である。カメラモジュール、ディスプレイモジュール、及びストレージモジュールのうちの少なくとも1つは、伝送されるべきデータパケットを有する。
いくつかの実施形態で、SOCは、多重化されたリンクの最大帯域幅をS1として取得する。多重化されたリンクの最大帯域幅は、多重化されたリンクによって引き起こされる可能性がある最大帯域幅である。
総伝送帯域幅及び多重化されたリンクの最大帯域幅が取得される前に、電子デバイスにおける伝送されるべきデータのモジュールのパラメータの設定が完了しており、データ伝送が実施可能であることが決定される必要がある、ことが留意されるべきである。例えば、SOCは、カメラモジュール、ディスプレイモジュール、及びストレージモジュールのパラメータを設定する。
S102:総帯域幅は最大帯域幅以下である。そうである場合に、ステップS103が実行される。そうでない場合には、ステップS105が実行される。
いくつかの実施形態で、SOC内の比較モジュール(例えば、レジスタ)は、S0の値をS1の値と比較し、伝送方式を決定する。S0≦S1である場合に、全ての伝送されるべきデータパケットは同時に伝送され、スイッチはデータパケットを対応するモジュールへルーティングし、つまり、ステップS104が実行される。S0>S1である場合に、伝送されるべきデータパケットは、前もってセットされた優先度の順に送信され、つまり、ステップS105が実行される。このようにして、伝送帯域幅が多重化されたリンクの最大帯域幅より大きい場合に、データ伝送が失敗する可能性があること、又はデータ伝送効率が影響を及ぼされる可能性があることは回避される。
S104:スイッチは、データタイプフィールドの値に基づいて、対応する受信器へデータを送信する。
いくつかの実施形態で、データパケットを受信した後、スイッチは、データタイプフィールドの値を取得するようデータパケットのデータパケットヘッダサブパケットをパースし、表2に示されるデータタイプフィールドの異なる値によって示されている異なるシナリオに基づいて、対応するモジュールへデータパケットをルーティングする。
例えば、図34A及び図34Bに示されるように、ステップS104は、具体的に、ステップS1041からステップS10410として実施されてよい。
S1041:スイッチは、データタイプフィールドの値が(01h~4Fh)内にあることを決定する。そうである場合に、ステップS1042が実行される。そうでない場合に、ステップS1405が実行される。
いくつかの実施形態で、データタイプフィールドの値を取得した後、スイッチは、表2に基づいて、値が値範囲(01h~4Fh)内にあり、対応するアプリケーションシナリオがディスプレイシナリオ又はカメラシナリオであることを決定する。
S1042:スイッチは、データタイプフィールドの値が(01h~1Fh)内にあることを決定する。そうである場合に、ステップS1043が実行される。そうでない場合には、ステップS1044が実行される。
S1043:スイッチは、SOCからディスプレイモジュールへデータを送信する。
S1044:スイッチは、カメラモジュールからSOCへデータを送信する。
いくつかの実施形態で、ステップS1042からステップS1044で、データタイプフィールドの値が値範囲(01h~4Fh)内にあることを決定した後、スイッチは更に、値の具体的な範囲を決定する。データタイプフィールドの値が値範囲(01h~1Fh)内であることが決定される場合に、データパケットに対応するシナリオはディスプレイモジュールであることが決定され、データはSOCからディスプレイモジュールへ送信される。データタイプフィールドの値が値範囲(01h~1Fh)内にない、つまり、値範囲(20h~4Fh)にある場合には、データパケットに対応するシナリオはカメラシナリオであることが決定され、データはカメラモジュールからSOCへ送信される。
S1045:スイッチは、データタイプフィールドの値が(50h~7Fh)内にあることを決定する。そうである場合に、ステップS1046が実行される。そうでない場合には、ステップS1047が実行される。
S1046:スイッチはデータをSOCからストレージモジュールへ送信するか、あるいは、データをストレージモジュールからSOCへ送信する。
いくつかの実施形態で、ステップS1045及びステップS1046で、データタイプフィールドの値が値範囲(01h~4Fh)内にないことが決定された後、スイッチは、データタイプフィールドの値が値範囲(50h~7Fh)内にあるかどうかを決定する。そうである場合に、データパケットに対応するシナリオはストレージシナリオであり、双方向データ伝送がストレージモジュールとSOCとの間で実行されることが決定される。
S1047:スイッチは、データタイプフィールドの値が(80h~8Fh)内にあることを決定する。そうである場合に、ステップS1044が実行される。そうでない場合には、ステップS1048が実行される。
いくつかの実施形態で、データタイプフィールドの値が値範囲(01h~4Fh)内になく且つ値範囲(50h~7Fh)内にないことを決定した後、スイッチは、データタイプフィールドの値が値範囲(80h~8Fh)内にあるかどうかを決定する。そうである場合に、データはカメラモジュールからSOCへ送信される。
S1048:スイッチは、データタイプフィールドの値が(90h~9Fh)内にあることを決定する。そうである場合に、ステップS1046が実行される。そうでない場合には、ステップS1049が実行される。
いくつかの実施形態で、データタイプフィールドの値が値範囲(01h~4Fh)内になく、値範囲(50h~7Fh)内になく、且つ値範囲(80h~8Fh)内にないことを決定した後、スイッチは、データタイプフィールドの値が値範囲(90h~9Fh)内にあるかどうかを決定する。そうである場合に、双方向データ伝送がストレージモジュールとSOCとの間で実行される。
S1049:スイッチは、データタイプフィールドの値が(A0h~AFh)内にあることを決定する。そうである場合に、ステップS1043が実行される。そうでない場合には、ステップS10410が実行される。
S10410:スイッチは、データパケットがリザーブされたデータパケットであり、前もってセットされた方式でデータを送信する。
いくつかの実施形態で、データタイプフィールドの値が値範囲(01h~4Fh)内になく、値範囲(50h~7Fh)内になく、値範囲(80h~8Fh)内になく、且つ値範囲(90h~9Fh)内にないことを決定した後、スイッチは、データタイプフィールドの値が値範囲(A0h~AFh)内にあるかどうかを決定する。そうである場合に、データはSOCからディスプレイモジュールへ送信される。そうでない場合には、データパケットはリザーブされたデータパケット(reserved packet)であることが決定され、データは、前もってセットされた方式で送信され得る。前もってセットされた方式は、開発者によって事前定義された伝送方式である。例えば、データタイプフィールドのいくつかの値は、スイッチに、データをディスプレイモジュールへ送ることを指示することが事前定義される。
S105:送信器は、前もってセットされた優先度に基づいて、データをスイッチへ順次送信する。次いで、ステップS104が実行される。
例えば、前もってセットされた優先度は、カメラモジュール、ストレージモジュール、及びディスプレイモジュールの降順である、と仮定される。比較モジュールは、S0の値とS1の値とを比較する。S0>S1である場合に、全てのデータパケットは同時に伝送することができず、各モジュールのデータは、前もってセットされた優先度に基づいて順次伝送される必要がある。
例えば、前もってセットされた優先度に基づいて、SOCは最初に、カメラシステムが、伝送される必要があるデータを有するかどうかを決定し、カメラシステムが、伝送される必要があるデータを有する場合に、カメラモジュールのデータをSOCへ伝送する。カメラシステムが、伝送される必要があるデータを有さない場合には、SOCは引き続き、ストレージシステムが、伝送される必要があるデータを有するかどうかを決定する。ストレージシステムが、伝送される必要があるデータを有する場合に、要件に基づいて、データはSOCからストレージモジュールへ伝送されるか、あるいは、データはストレージモジュールからSOCへ伝送される。ストレージシステムが、伝送される必要があるデータを有さない場合には、SOCは引き続き、ディスプレイシステムが、伝送される必要があるデータを有するかどうかを決定する。ディスプレイシステムが、伝送される必要があるデータを有する場合に、データはSOCからディスプレイモジュールへ伝送される。
以下は、ステップS103からステップS105の具体的な実施、つまり、送信が異なるシナリオにおいてデータを受信器へ送信する過程での具体的なデータ伝送方法について記載する。
いくつかのシナリオの中で、本願のこの実施形態で提供されるデータ伝送方法はカメラシナリオに適用され得る。例えば、図35は、本願の実施形態に従って、カメラシナリオに適用されるデータ伝送方法を示す。図11に示されるプロトコルアーキテクチャに基づいて、図35に示されるように、方法はS201からS211を含む。
S201:カメラモジュールのパラメータを設定し、PRL-C状態機械イコライゼーショントレーニングを実行する。
カメラモジュールは、例えば、図11に示されるカメラであり、あるいは、画像処理ユニットして記載されてもよい。
いくつかの実施形態で、CPUは、カメラモジュールのパラメータ設定を完了し、PRL-C状態機械をトレーニングして、PRL-Cパラメータが安定しており且つレーン環境及びシステム環境が安定していることを確かにする。これは、データ伝送がその後の実行プロセスで安定して実行可能であって、ビットエラー率が前もってセットされた閾内にあることを確かにすることができる。具体的な状態機械イコライゼーショントレーニングプロセスについては、従来技術を参照されたい。詳細はここで再び記載されない。
S202:カメラモジュールのプロトコルレイヤは、カメラモジュールのアプリケーションレイヤによって送信されたピクセルデータを受信し、ピクセルデータをバイトフォーマットのペイロードデータにセグメント化する。
例えば、図11に示されるように、カメラモジュールのアプリケーションレイヤ1001は、画像データストリーム、つまり、ピクセルデータを取得し、ピクセルデータをプロトコルレイヤ1002へ送る。プロトコルレイヤ1002は、ピクセルバイトパッキングフォーマット(pixel byte packing formats)機能1101を使用することによってピクセルデータをセグメント化し、例えば、ピクセルデータを8ビットフィールドのペイロード(payload)データにセグメント化して、ピクセルバイトパッキングプロセスを完了する。
S203:カメラモジュールのプロトコルレイヤは、データパケットヘッダ及び誤り訂正コードを生成する。
例えば、図11に示されるように、パケットヘッダ及び誤り訂正コード生成(packet header & ECC generation)機能1102を使用することによって、図16から図22に示されるデータパケット構造に基づいて、カメラモジュールのプロトコルレイヤ1002は、データパケットヘッダ及び誤り訂正コードを生成し、データパケットヘッダサブパケットをペイロードデータサブパケットに加える。例えば、図21に示されるように、プロトコルレイヤ1002は、データタイプフィールド、データ数フィールド、SOFフィールド、EOFフィールド、SOLフィールド、VC番号フィールド、及びCRIフィールドをペイロードデータに加える。更に、フィールドは、ECC誤り訂正フィールドを形成するようECCアルゴリズムを使用することによって符号化され、ECC誤り訂正フィールド(PHのECCフィールド)は、データパケットヘッダサブパケットを生成するようフィールドの後に加えられる。ECCアルゴリズムは、例えば、拡張ハミングコードアルゴリズムを含む。フィールドは、7ビットECC誤り訂正フィールドを形成するよう7ビット拡張ハミングコードアルゴリズムを使用することによって符号化される。
S204:カメラモジュールのプロトコルレイヤは、ペイロードデータに基づいてCRC及びデータパケットフッタを生成する。
例えば、図11に示されるように、カメラモジュールのプロトコルレイヤ1002は、ペイロードCRC及びパケットフッタ生成(payload CRC & packet footer generation)機能1103を使用することによってペイロードデータを符号化して、例えば、16ビットCRCフィールドを生成し、データパケットフッタサブパケットを形成する。例えば、符号化は、CRCフィールド生成する多項式としてX16+X12+X5+X0を使用することによって実行される。CRCを生成するプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
ステップS202からステップS204における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットパッキングプロセスは、プロトコルレイヤ1002でステップS202からステップS204を使用することによって完了される、ことが留意されるべきである。
S205:カメラモジュールのプロトコルレイヤは、生成されたデータパケットをカメラモジュールの物理レイヤへ送信する。
例えば、図11に示されるように、カメラモジュールのプロトコルレイヤ1002は、生成されたデータパケットを物理レイヤ1003へ送信する。
S206:カメラモジュールの物理レイヤは、データパケットに対してレーン分配を実行し、データパケットをAPエンドの物理レイヤへ送信する。
例えば、図11に示されるように、物理レイヤ1003は、論理物理レイヤレーン分配及びコーディング(logical PHY lane distribution & coding)機能1104を使用することによって、必要に応じて、受信されたデータパケットの伝送レーンの割り当てを完了し、データパケットを受信器の物理レイヤ1006へ送信する。例えば、図11におけるカメラ側の論理物理レイヤレーン分配及びコーディング機能1104並びにAP側の論理物理レイヤレーン分配及びコーディング機能1109が実装される場合に、図11に示される対応するレーン管理により、各データパケット内のデータの伝送レーンはネゴシエーションを通じて割り当てられる。例えば、レーン0はバイト1を伝送するために使用され、レーン1はバイト2を伝送するために使用される。具体的なレーン割り当てプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
S207:APエンドの物理レイヤは、データパケットを取得するようレーン結合を実行し、データパケットをAPエンドのプロトコルレイヤへ送信する。
例えば、図11に示されるように、データパケットを受信した後、受信器(つまり、AP側)の物理レイヤは、論理物理レイヤレーン分配及びコーディング(logical PHY lane distribution & coding)機能1109を使用することによって、必要に応じて、複数のレーンのデータを結合し、それから、取得されたデータパケットをプロトコルレイヤ1005へ送信する。
S208:APエンドのプロトコルレイヤは、データパケットヘッダに対してCRC検証を実行する。
例えば、図11に示されるように、APのプロトコルレイヤ1005は、パケットヘッダ訂正及び報告(packet header correction & report)機能1110を使用することによって、データパケットヘッダサブパケット情報でエラーが起きているかどうかを決定する。例えば、データタイプフィールド、データ数フィールド、SOFフィールド、EOFフィールド、SOLフィールド、VC番号フィールド、及びCRIフィールドが、ECC復号化によりペイロードに加えられる。更に、フィールドは、7ビットECC´誤り訂正フィールドを形成するよう、送信器でのそれと同じ符号化規則を使用することによって符号化され、それから、排他的OR演算がECC及びECC´に対して実行される。結果が0である場合に、それは、パケットヘッダ情報が正しいことを示し、次いで、データパケットヘッダフィールドはアンパッキングされる。結果が0ではなく、XOR結果が、1ビットエラーが存在することを示す場合には、誤り訂正が、XOR結果によって示されたエラービットに対して実行されてよく、次いで、パケットヘッダサブパケットはアンパッキングされる。更に、他のXOR結果は、訂正不能のエラー(例えば、エラービットの数が2ビット以上である)がデータパケットのパケットヘッダで起こることを示す。この場合に、前もってセットされたエラー処理ソリューションが、誤ったデータパケットに対して実行される。例えば、誤ったデータパケットは破棄されるか、誤ったデータパケットはスキップされるか、あるいは、誤ったデータパケットは再送される。具体的な解決法は、システムにおいて研究者及び開発者によって事前設定されてよい。
S209:APエンドのプロトコルレイヤは、データパケットのパケットヘッダを取り除く。
例えば、図11に示されるように、APのプロトコルレイヤ1005が、パケットヘッダ訂正及び報告機能1110を使用することによって、データパケットのパケットヘッダにエラーがないと、又はエラーが除去されていると決定する場合に、プロトコルレイヤは、データパケットのパケットヘッダを取り除く。
S210:APエンドのプロトコルレイヤは、データパケットのペイロードデータをチェックし、パケットフッタを取り除く。
例えば、図11に示されるように、APのプロトコルレイヤ1005は、ペイロードデータが正しく伝送されるかどうかを決定するために、データパケット内のCRCフィールドを使用することによってペイロードエラーチェック及び報告(payload error check & report)機能1111に基づいてペイロードデータをチェックする。例えば、ペイロードエラーチェック及び報告機能1111に基づいて、データパケット内のCRCフィールドは、2を法とする多項式X16+X12+X15+X0によって除される。余りが0である場合には、それは、受信されたペイロードデータが正しいデータであることを示す。余りが0でない場合には、受信されたペイロードデータは誤ったデータである。この場合に、前もってセットされたエラー処理ソリューションが、誤ったデータパケットに対して実行される。例えば、誤ったデータパケットは破棄されるか、誤ったデータパケットはスキップされるか、あるいは、誤ったデータパケットは再送される。具体的な解決法は、システムにおいて研究者及び開発者によって事前設定されてよい。
更に、図11に示されるように、ペイロードエラーチェック及び報告機能1111を使用することによってペイロードデータが正常であることが決定された後、データパケットのパケットフッタが取り除かれる。
S211:APエンドのプロトコルレイヤは、バイトフォーマットのペイロードデータをピクセルデータに変換し、ピクセルデータをアプリケーションレイヤへ送信する。
例えば、図11に示されるように、プロトコルレイヤ1005は、8ビットフィールドの単位でのペイロードデータを、バイト・ツー・ピクセルアンパッキングフォーマット(byte to pixel unpacking formats)機能1112を使用することによってピクセルデータに変換し、ピクセルデータをAPのアプリケーションレイヤ1004へ送って、データ伝送プロセスを完了する。
送信器及び受信器の物理レイヤは、16Gbps/lane以上の伝送レートに対応し、128B/132Bコーデックに対応し、レーン(lane)分配及び結合機能をサポートする、ことが留意されるべきである。ステップS208からステップS211における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットアンパッキングプロセスは、プロトコルレイヤ1005でステップS208からステップS211を使用することによって完了される。
例えば、図14に示されるように、データ伝送方法を使用することによって、カメラモジュールはデータを高速伝送インターフェースによりSOCへ送信することができる。図36に示されるPRL-C画像伝送システムの構造では、データレーン及びクロックレーンが、データを伝送するために、カメラモジュールにおいてPRL-C送信器モジュール及びPRL-C受信器モジュールの間で確立されている。更に、シリアルクロックライン(serial clock line,SDA)及びシリアルデータライン(serial data line,SDA)は、カメラモジュールのパラメータを設定するために、一次デバイス(例えば、SOC)の制御インターフェースと二次デバイス(例えば、カメラモジュール)の制御インターフェースとの間に確立される。
従って、本願のこの実施形態で提供されるデータ伝送方法は、カメラシナリオに適用され、撮影された画像に対するユーザの品質要求を満足し、伝送効率を確保することができる。更に、回路のラインレイアウトは増えず、軽量薄型電子デバイスに対するユーザの要求、例えば、携帯電話の軽量薄型設計の傾向が満足される。例えば、カメラシナリオは、Vlog、ショートビデオ、大規模な試合のライブ放送、及びARなどの、イメージング品質に対する厳しい要求を有するシナリオを含む。
いくつかの他のシナリオの中で、本願のこの実施形態で提供されるデータ伝送方法はディスプレイシナリオに適用され得る。例えば、図37は、本願の実施形態に従って、ディスプレイシナリオに適用されるデータ伝送方法を示す。図12に示されるプロトコルアーキテクチャに基づいて、図37に示されるように、方法はS301からS311を含む。
S301:ディスプレイモジュールのパラメータを設定し、PRL-D状態機械イコライゼーショントレーニングを実行する。
ディスプレイモジュールは、例えば、図12に示されるDDICであり、あるいは、画像表示ユニットとして記載されてもよい。
いくつかの実施形態で、CPUは、ディスプレイモジュールのパラメータ設定を完了し、PRL-D状態機械をトレーニングして、PRL-Dパラメータが安定していることを確かにする。これは、データ伝送がその後の実行プロセスで安定して実行可能であることを確かにすることができる。具体的な状態機械イコライゼーショントレーニングプロセスについては、従来技術を参照されたい。詳細はここで再び記載されない。
S302:APエンドのプロトコルレイヤは、APエンドのアプリケーションレイヤによって送信されたピクセルデータを受信し、ピクセルデータをバイトフォーマットのペイロードデータにセグメント化する。
例えば、図12に示されるように、APエンドのアプリケーションレイヤ1001は、画像データストリーム、つまり、ピクセルデータを取得し、ピクセルデータをプロトコルレイヤ1002へ送る。プロトコルレイヤ1002は、ピクセルバイトパッキングフォーマット機能1101を使用することによってピクセルデータをセグメント化し、例えば、ピクセルデータを8ビットフィールドのペイロード(payload)データにセグメント化して、ピクセルバイトパッキングプロセスを完了する。
S303:APエンドのプロトコルレイヤは、データパケットヘッダ及び誤り訂正コードを生成する。
例えば、図12に示されるように、パケットヘッダ及び誤り訂正コード生成機能1102を使用することによって、図16から図22に示されるデータパケット構造に基づいて、APエンドのプロトコルレイヤ1002は、データパケットヘッダ及び誤り訂正コードを生成し、データパケットヘッダサブパケットをペイロードデータサブパケットに加える。例えば、図21に示されるように、プロトコルレイヤ1002は、データタイプフィールド、データ数フィールド、SOFフィールド、EOFフィールド、SOLフィールド、VC番号フィールド、及びCRIフィールドをペイロードデータに加える。更に、フィールドは、7ビットECC誤り訂正フィールドを形成するよう7ビット拡張ハミングコードを使用することによって符号化され、7ビットECC誤り訂正フィールド(PHのECCフィールド)は、データパケットヘッダサブパケットを生成するよう最後に加えられる。
S304:APエンドのプロトコルレイヤは、ペイロードデータに基づいてCRC及びデータパケットフッタを生成する。
例えば、図12に示されるように、APエンドのプロトコルレイヤ1002は、ペイロードCRC及びパケットフッタ生成機能1103を使用することによってペイロードデータを符号化して、例えば、16ビットCRCフィールドを生成し、データパケットフッタサブパケットを形成する。例えば、符号化は、CRCフィールド生成するよう多項式としてX16+X12+X5+X0を使用することによって実行される。CRCを生成するプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
次いで、データパケット生成プロセスは、プロトコルレイヤにある3つのモジュールを使用することによって完了する。
ステップS302からステップS304における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットパッキングプロセスは、プロトコルレイヤ1002でステップS302からステップS304を使用することによって完了される、ことが留意されるべきである。
S305:APエンドのプロトコルレイヤは、生成されたデータパケットをAPエンドの物理レイヤへ送信する。
例えば、図12に示されるように、APエンドのプロトコルレイヤ1002は、生成されたデータパケットを物理レイヤ1003へ送信する。
S306:APエンドの物理レイヤは、データパケットに対してレーン分配を実行し、データパケットをディスプレイモジュールの物理レイヤへ送信する。
例えば、図12に示されるように、データパケットを受信した後、APサイドの物理レイヤ1003は、論理物理レイヤレーン分配及びコーディング機能1104を使用することによって、必要に応じて、データパケットの伝送レーンの割り当てを完了し、データパケットをDDIC側の物理レイヤ1006へ送信する。具体的なレーン割り当てプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
S307:ディスプレイモジュールの物理レイヤは、データパケットを取得するようレーン結合を実行し、データパケットをディスプレイモジュールのプロトコルレイヤへ送信する。
例えば、図12に示されるように、論理物理レイヤレーン分配及びコーディング機能1109によってデータパケットを受信した後、ディスプレイモジュール(つまり、DDIC)の物理レイヤ1006は、必要に応じて、複数のレーンのデータを結合し、それから、取得されたデータパケットをプロトコルレイヤ1005へ送信する。
S308:ディスプレイモジュールのプロトコルレイヤは、データパケットヘッダに対してCRC検証を実行する。
例えば、図12に示されるように、ディスプレイモジュールのプロトコルレイヤ1005は、パケットヘッダ訂正及び報告(packet header correction & report)機能1110を使用することによって、データパケットヘッダサブパケット情報でエラーが起きているかどうかを決定する。例えば、データタイプフィールド、データ数フィールド、SOFフィールド、EOFフィールド、SOLフィールド、VC番号フィールド、及びCRIフィールドが、ECC復号化によりペイロードに加えられる。更に、フィールドは、7ビットECC´誤り訂正フィールドを形成するよう、送信器でのそれと同じ符号化規則を使用することによって符号化され、それから、排他的OR演算がECC及びECC´に対して実行される。結果が0である場合に、それは、パケットヘッダ情報が正しいことを示し、次いで、データパケットヘッダフィールドはアンパッキングされる。結果が0ではなく、XOR結果が、1ビットエラーが存在することを示す場合には、誤り訂正が、XOR結果によって示されたエラービットに対して実行されてよく、次いで、パケットヘッダサブパケットはアンパッキングされる。更に、他のXOR結果は、訂正不能のエラー(例えば、エラービットの数が2ビット以上である)がデータパケットのパケットヘッダで起こることを示す。この場合に、前もってセットされたエラー処理ソリューションが、誤ったデータパケットに対して実行される。例えば、誤ったデータパケットは破棄されるか、誤ったデータパケットはスキップされるか、あるいは、誤ったデータパケットは再送される。具体的な解決法は、システムにおいて研究者及び開発者によって事前設定されてよい。
S309:ディスプレイモジュールのプロトコルレイヤは、データパケットのパケットヘッダを取り除く。
例えば、図12に示されるように、ディスプレイモジュールのプロトコルレイヤ1005が、パケットヘッダ訂正及び報告機能1110を使用することによって、データパケットのパケットヘッダにエラーがないと、又はエラーが除去されていると決定する場合に、プロトコルレイヤは、データパケットのパケットヘッダを取り除く。
S310:ディスプレイモジュールのプロトコルレイヤは、データパケットのペイロードデータをチェックし、パケットフッタを取り除く。
例えば、ディスプレイモジュールのプロトコルレイヤ1005は、ペイロードデータが正しく伝送されるかどうかを決定するために、ペイロードエラーチェック及び報告(payload error check & report)機能1111及びデータパケット内のCRCフィールドを使用することによってペイロードデータをチェックする。例えば、ペイロードエラーチェック及び報告機能1111は、データパケット内のCRCフィールドを、2を法とする多項式X16+X12+X15+X0で除すために使用される。余りが0である場合には、それは、受信されたペイロードデータが正しいデータであることを示す。余りが0でない場合には、受信されたペイロードデータは誤ったデータである。この場合に、前もってセットされたエラー処理ソリューションが、誤ったデータパケットに対して実行される。例えば、誤ったデータパケットは破棄されるか、誤ったデータパケットはスキップされるか、あるいは、誤ったデータパケットは再送される。具体的な解決法は、システムにおいて研究者及び開発者によって事前設定されてよい。
更に、図12に示されるように、ペイロードエラーチェック及び報告機能1111を使用することによってペイロードデータが正常であることが決定された後、データパケットのパケットフッタが取り除かれる。
S311:ディスプレイモジュールのプロトコルレイヤは、バイトフォーマットのペイロードデータをピクセルデータに変換し、ピクセルデータをアプリケーションレイヤへ送信する。
例えば、図12に示されるように、ディスプレイモジュールのプロトコルレイヤ1005は、8ビットフィールドの単位でのペイロードデータを、バイト・ツー・ピクセルアンパッキングフォーマット(byte to pixel unpacking formats)機能1112を使用することによってピクセルデータに変換し、ピクセルデータをディスプレイモジュールのアプリケーションレイヤ1004へ送って、データ伝送プロセスを完了する。
ステップS308からステップS311における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットアンパッキングプロセスは、プロトコルレイヤ1005でステップS308からステップS311を使用することによって完了される、ことが留意されるべきである。
例えば、図14に示されるように、データ伝送方法を使用することによって、SOCはデータを高速伝送インターフェースによりディスプレイモジュールCへ送信することができる。
従って、本願のこの実施形態で提供されるデータ伝送方法は、ディスプレイシナリオに適用され、ディスプレイシステムの高速データ伝送要件を満足し、それによって、高精細及び超高精細表示を実装することができる。
いくつかの他のシナリオの中で、本願のこの実施形態で提供されるデータ伝送方法はストレージシナリオに適用され得る。例えば、図38は、本願の実施形態に従って、ストレージシナリオに適用されるデータ伝送方法を示す。図13に示されるプロトコルアーキテクチャに基づいて、図38に示されるように、方法はS401からS411を含む。
S401:デバイスBのパラメータを設定し、PRL-S状態機械イコライゼーショントレーニングを実行する。
デバイスA及びデバイスBは、例えば、図13に示されるデバイスA及びデバイスBであり、あるいは、ストレージモジュール及びSOCとして記載されてもよい。双方向データ伝送は、デバイスAとデバイスBとの間で実装され得る。
いくつかの実施形態で、デバイスAはデータをデバイスBへ送信し、デバイスAはデバイスBのパラメータ設定を完了する。例えば、デバイスAは、パラメータ設定要件に基づいてパラメータ設定制御パケットを生成し、パラメータ設定制御パケットをデバイスBへリンク管理(link management)を通じて送信する。デバイスBは、パラメータ設定制御パケットに基づいて、対応するパラメータをセットし、設定を完了し、設定結果をデバイスAへフィードバックし、それによって設定プロセスを完了する。パラメータ設定プロセスで、デバイスAがデータをデバイスBへ送信する例が記載のために使用される、ことが留意されるべきである。従って、デバイスAはデバイスBのパラメータを設定する。従って、相応して、パラメータ設定プロセスは、デバイスBがデータをデバイスAへ送信するシナリオにも適用可能である。この場合に、デバイスBは、デバイスAのパラメータを設定する必要がある。
更に、PRL-S状態機械は更に、PRL-S状態機械のパラメータが安定していることを確かにするよう訓練される必要がある。これは、データ伝送がその後の実行プロセスで安定して実行可能であることを確かにすることができる。具体的な状態機械イコライゼーショントレーニングプロセスについては、従来技術を参照されたい。詳細はここで再び記載されない。
S402:デバイスAのプロトコルレイヤは、デバイスAのアプリケーションレイヤによって送信されたメッセージを受信し、メッセージをセグメント化してペイロードデータを生成する。
例えば、図13に示されるように、デバイスAのアプリケーションレイヤ1001は、アプリケーションデータ(データメッセージとも記載され得る)を取得し、データメッセージをプロトコルレイヤ1002へ送る。プロトコルレイヤ1002は、メッセージセグメンテーション及び再組み立て(message segmentation and reassembly)機能1301を使用することによってデータメッセージをセグメント化する。具体的に、データメッセージは、異なる長さに基づいて1つ以上のデータパケットに分解され、分解されたデータパケットの長さは、指定された最大値を超えることができない。最大値は、実験的に取得されても又はプロトコルで指定されてもよく、あるいは、実験に基づいた値であってよい。
S403:デバイスAのプロトコルレイヤはデータパケットヘッダを生成する。
例えば、図13に示されるように、パケットヘッダ生成及びパーシング(packet header generation and parsing)機能1302を使用することによって、図16から図22に示されるデータパケット構造に基づいて、デバイスAのプロトコルレイヤ1002は、データパケットヘッダを生成し、データパケットヘッダサブパケットをペイロードデータサブパケットに加える。例えば、図18に示されるように、プロトコルレイヤは、データタイプフィールド、データ数フィールド、EOMフィールド、フレーム番号フィールド、及びリザーブフィールドをペイロードデータに加え、データパケットヘッダサブパケットを生成する。
S404:デバイスAのプロトコルレイヤは、ペイロードデータに基づいてCRC及びデータパケットフッタを生成して、データパケットを生成する。
例えば、図13に示されるように、デバイスAのプロトコルレイヤ1002は、CRC生成及びチェック(CRC generation & check)機能1303を使用することによってペイロードデータを符号化して、16ビットCRCフィールドを生成し、データパケットフッタサブパケットを形成する。例えば、符号化は、CRCフィールド生成するよう多項式としてX16+X12+X5+X0を使用することによって実行される。CRCを生成するプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
ステップS402からステップS404における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットパッキングプロセスは、プロトコルレイヤ1002でステップS402からステップS404を使用することによって完了される、ことが留意されるべきである。
S405:デバイスAのプロトコルレイヤは、双方向伝送状態に基づいてデータ再送及びフロー制御を行う。
例えば、図13に示されるように、デバイスAのプロトコルレイヤ1002は、双方向伝送状態に基づいてデータ再送及びトラフィック制御(retransmission & traffic control)機能1305を使用することによってデータ再送及びトラフィック制御を行う。
S406:デバイスAの物理レイヤは、デバイスAのプロトコルレイヤによって送信されたデータパケットを受信し、データパケットに対してレーン分配を実行し、データパケットをデバイスBの物理レイヤへ送信する。
例えば、図13に示されるように、論理物理レイヤレーン分配及びコーディング(logical PHY lane distribution & coding)機能1105を使用することによって、プロトコルレイヤ1002によって送信されたデータパケットを受信した後、プロトコルレイヤ1003は、必要に応じてデータパケットの伝送レーンの割り当てを完了し、データパケットをデバイスBの物理レイヤ1006へ送信する。具体的なレーン割り当てプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
S407:デバイスBの物理レイヤは、データパケットを取得するようレーン結合を実行し、データパケットをデバイスBのプロトコルレイヤへ送信する。
例えば、図13に示されるように、論理物理レイヤレーン分配及びコーディング(logical PHY lane distribution & coding)機能1109を使用することによってデータパケットを受信した後、デバイスBの物理レイヤ1006は、必要に応じて複数のレーンのデータを結合し、それから、取得されたデータパケットをプロトコルレイヤ1005へ送信する。
S408:デバイスBのプロトコルレイヤは、データパケットヘッダをパース及び分解し、パケットヘッダを取り除く。
例えば、図13に示されるように、デバイスBのプロトコルレイヤ1005は、パケットヘッダ生成及びパーシング(packet header generation & parsing)機能1310を使用することによってデータパケットヘッダをパース及び分解し、データパケットを取り除く。
S409:デバイスBのプロトコルレイヤは、データパケットのペイロードデータをチェックし、パケットフッタを取り除く。
例えば、デバイスBのプロトコルレイヤ1005は、ペイロードデータが正しく伝送されるかどうかを決定するために、データパケット内のCRCフィールドを使用することによってCRC生成及びチェック(CRC generation & check)機能1311に基づいてペイロードデータをチェックする。例えば、CRC生成及びチェック機能1311に基づいて、データパケット内のCRCフィールドは、2を法とする多項式X16+X12+X15+X0によって除される。余りが0である場合には、それは、受信されたペイロードデータが正しいデータであることを示す。余りが0でない場合には、受信されたペイロードデータは誤ったデータである。この場合に、前もってセットされたエラー処理ソリューションが、誤ったデータパケットに対して実行される。例えば、誤ったデータパケットは破棄されるか、誤ったデータパケットはスキップされるか、あるいは、誤ったデータパケットは再送される。具体的な解決法は、システムにおいて研究者及び開発者によって事前設定されてよい。
S410:デバイスBのプロトコルレイヤは、双方向伝送状態に基づいてデータ再送及びトラフィック制御を行い、対応するデータパケットを返す。
例えば、図13に示されるように、デバイスBのプロトコルレイヤは、双方向伝送状態に基づいてデータ再送及びトラフィック制御(retransmission & traffic control)機能1313を使用することによってデータ再送及びトラフィック制御を行う。
S411:デバイスBのプロトコルレイヤは、受信されたデータを結合し、結合されたデータをデバイスBのアプリケーションレイヤへ送信する。
更に、図13に示されるように、デバイスBのプロトコルレイヤ1005は、メッセージセグメンテーション及び再組み立て(message segmentation and reassembly)機能1309を使用することによって、受信されたペイロードでターを結合して、受信されたペイロードデータを、物理レイヤによって受信され得るビッグデータメッセージにまとめ、データメッセージをアプリケーションレイヤ1004へ送って、データ伝送プロセスを完了する。
ステップS408からステップS411における機能の実行順序は、本願のこの実施形態で特に制限されず、データパケットアンパッキングプロセスは、プロトコルレイヤ1005でステップS408からステップS411を使用することによって完了される、ことが留意されるべきである。
例えば、図14に示されるように、データ伝送方法を使用することによって、双方向データ伝送は、高速伝送インターフェースを通じてストレージモジュールとSOCとの間で実施され得る。
従って、本願のこの実施形態で提供されるデータ伝送方法は、高速ストレージシナリオに適用され、信号レーン上の16Gbit/sの高速データ伝送をサポートすることができる。より高速でのデータ記憶は、電子デバイスの有限な空間で実施される。更に、対応する物理レイヤ適応回路は、高速データ記憶を実施するために、他のSerDesベース物理レイヤ回路で追加及び配置されてもよい。このようにして、本願の実施形態で提供されるプロトコルアーキテクチャは、高速データ収集、ビデオ画像処理、モデム通信、衛星リモートセンシング測定、及び実時間のデータ計算などの分野に適用され、高速且つ大容量のデータ伝送及び記憶のために上記のシナリオの要件を満足することができる。
いくつかのシナリオの中で、電子デバイスは、伝送帯域幅に対して低い要件を有する。例えば、スマートウォッチは、伝送帯域幅に対して低い要件を有する。代替的に、電子デバイスの内部空間は、電子デバイス内のコンポーネント間で多数の相互接続インターフェースラインを可能にするほど十分に大きい。Huawei Visionが一例として使用される。高い帯域幅が表示のために必要とされるが、広い内部空間により、シングルレーン低速インターフェース技術が使用されてもよい。この場合に、多数のケーブルが存在するが、高速インターフェースによって生じるコストは削減され得る。換言すれば、任意に、電子デバイスが低い帯域幅要件又は広い内部空間を有する場合に、相対的に低速のPHYレイヤ技術が、伝送コストを削減するために、物理レイヤに適用されてもよい。相対的に低速の物理レイヤは、低帯域幅が提供されることを確かにすることができるが、物理レイヤは依然として、本願の実施形態で提供されるプロトコルアーキテクチャにおいて物理レイヤによって実装される機能を実施することができる、ことが留意されるべきである。更に、低速物理レイヤに基づいているアプリケーションレイヤ及びプロトコルレイヤの機能も、本願の実施形態で提供されるプロトコルアーキテクチャにおいてアプリケーションレイヤ及びプロトコルレイヤによって実装される機能と同じである。
例えば、図39は、本願の実施形態に係るデータ伝送方法を示す。図39に示されるように、方法はS501からS507を含む。
S501:デバイスBのパラメータを設定する。
いくつかの実施形態で、デバイスAは、デバイスBのパラメータを、リンク管理(link management)を通じて設定する。具体的な設定方法及び補足説明については、ステップS401の関連する記載を参照されたい。詳細はここで再び記載されない。
S502:PRL-C、PRL-D、又はPRL-S状態機械イコライゼーショントレーニングを実行する。
S503:デバイスAのプロトコルレイヤは、PRL-C、PRL-D、又はPRL-Sに対応するデータパケットを生成する。
S504:デバイスAの物理レイヤは、デバイスAのプロトコルレイヤによって送信されたデータパケットを受信し、データパケットに対してレーン分配を実行し、データパケットをデバイスBの物理レイヤへ送信する。
S505:デバイスBの物理レイヤは、データパケットを取得するようレーン結合を実行する。
S506:データパケットヘッダは、PRL-C、PRL-D、又はPRL-Sを使用することによってアンパッキングされる。
S507:デバイスBは、処理されたデータをデバイスBのアプリケーションレイヤへ送信する。
ステップS502からステップS507の具体的な実施については、異なるアプリケーションシナリオに基づいてステップS201からステップS211、ステップS301からステップS311、又はステップS401からステップS411の関連する内容を参照されたい。詳細はここで再び記載されない。
例えば、図40は、本願の実施形態に係るデータ伝送方法の模式図である。図40に示されるように、方法はS4001からS4004を含む。
S4001:第1伝送ユニットは、第1伝送ユニットのプロトコルレイヤで、第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成する。
例えば、カメラシナリオでは、第1伝送ユニットは、例えば、カメラモジュールであり、第2伝送ユニットは、例えば、SOCである。ディスプレイシナリオでは、第1伝送ユニットは、例えば、SOCであり、第2伝送ユニットは、例えば、DDICである。ストレージシナリオでは、第1伝送ユニットは、例えば、ストレージモジュールであり、第2伝送ユニットは、例えば、SOCである。代替的に、第1伝送ユニットは、例えば、SOCであり、第2伝送ユニットは、例えば、ストレージモジュールである。
いくつかの実施形態で、パッキングプロセスにおいて、第1伝送ユニットは、現在伝送されているデータパケットのアプリケーションシナリオを示すために、データパケットヘッダサブパケットに含まれるデータタイプフィールドを使用する。例えば、アプリケーションシナリオは、例えば、カメラシナリオ、ディスプレイシナリオ、又はストレージシナリオを含む。
任意に、データパケット構造については、図16から図20に示される関連する内容を参照されたい。パッキングプロセスについては、図35に示されるステップS202からステップS204で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図37に示されるステップS302からステップS304で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図38に示されるステップS402からステップS405で記載される関連する内容を参照されたい。代替的にパッキングプロセスについては、図39に示されるステップS503で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
S4002:第1伝送ユニットは、データパケットを第1伝送ユニットの物理レイヤへ第1伝送ユニットのプロトコルレイヤを通じて送信する。
任意に、送信器のプロトコルレイヤが、物理レイヤに対して、パッキングにより生成されたデータパケットを送信するプロセスについては、図35に示されるステップS205で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図37に示されるステップ305で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図38に示されるステップS406で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図39に示されるステップS505で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
S4003:第1伝送ユニットは、データパケットを第2伝送ユニットへ第1伝送ユニットの物理レイヤを通じて送信する。
任意に、データ伝送プロセスの具体的な実施方法については、図33並びに図34A及び図34Bに示される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図35に示されるステップ206及びステップS207で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図37に示されるステップ306及びステップS307で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図38に示されるステップ406及びステップS407で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図39に示されるステップ504及びステップS505で記載される関連する内容を参照されたい。データ伝送プロセスにおけるデータ伝送方法については、図23から図30に示される関連する内容を参照されたい。詳細はここで再び記載されない。
S4004:第2伝送ユニットは、第2伝送ユニットのプロトコルレイヤで、第2伝送ユニットの物理レイヤによって受信されたデータパケットをアンパッキングし、取得されたデータを第2伝送ユニットのアプリケーションレイヤへ送る。
任意に、アンパッキングプロセスについては、図35に示されるステップS211で記載される関連する内容を参照されたい。代替的に、アンパッキングプロセスについては、図37に示されるステップS308からステップS311で記載される関連する内容を参照されたい。代替的に、アンパッキングプロセスについては、図38に示されるステップS408からステップS411で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図39に示されるステップS506及びステップS507で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
従って、本願のこの実施形態で提供されるデータ伝送方法によれば、電子デバイス内の伝送ユニットは、同じデータ伝送プロトコル及び同じデータパケット構造を使用することによってデータ伝送を実行することができる。更に、データパケットに含まれるデータタイプ情報は、データパケットの現在のアプリケーションシナリオを示し、それによってデータ伝送効率を改善する。
例えば、図41は、本願の実施形態に係る他のデータ伝送方法の模式図である。図40に示されるように、方法はS4101からS4105を含む。
S4101:第1伝送ユニットは、送信されるべきデータパケットを第1伝送ユニットのバッファに格納する。
任意に、ステップS401について、図27A及び図28に示されるステップ1-1で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-1で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
S4102:第1伝送ユニットは、第1データパケットを第2伝送ユニットへ送信し、タイマを起動する。
任意に、ステップS402について、図27A及び図28に示されるステップ1-2で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-2で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
S4103:第2伝送ユニットは第1データパケットを受信し、第1データパケットを第2伝送ユニットのバッファに格納する。
任意に、ステップS402について、図27A及び図28に示されるステップ1-3で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-3で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
バッファは、第1伝送ユニット及び第2伝送ユニットの夫々で構成され、データパケットがバッファリングされる必要があるとき、データパケットは各々のバッファにバッファリングされる。
S4104:タイマが満了しておらず、第1伝送ユニットのバッファ内の残りの自由空間のサイズが、送信されるべき第2データパケットのサイズ以上である場合に、第1伝送ユニットは、第2データパケットを第2伝送ユニットへ送信し、タイマを再起動する。
S4105:第2伝送ユニットは第2データパケットを受信し、第2データパケットを第2伝送ユニットのバッファに格納する。
いくつかの実施形態で、ステップS4104及びステップS4105で、第1伝送ユニットのバッファ内の残り空間のサイズが、次に送信されるべきデータパケットをバッファリングするために使用され得る場合に、データパケットは引き続き送信される。更に、タイマは、第1伝送ユニットのデータリンクレイヤで構成される。データパケットが送信されるたびに、タイマは、全てのデータパケットが送信されるまで、計時を再開するようリフレッシュされる。
任意に、第1伝送ユニットは、図27Aから図30で送信器によって実行されるステップを実行するよう更に構成され、第2伝送ユニットは、図27Aから図30で受信によって実行されるステップを実行するよう更に構成される。詳細はここで再び記載されない。
このようにして、第1伝送ユニットは、第2伝送ユニットが応答信号フィードバックすることを待たずに、後続のデータパケットを送信するためにバッファ(buffer)メカニズムを使用し、それによってデータ伝送効率を改善する。
ステップS4103及びステップS4104を実行する順序は、本願のこの実施形態で特に制限されない、ことが留意されるべきである。例えば、ステップS4104が最初に実行され、次いでステップS4103が実行される。具体的に言えば、第2伝送ユニットが第1データパケットを受信しないとき、第1伝送ユニットは次のデータパケットを送信してよい。
上記は、本願の実施形態で提供されるデータ伝送方法について詳細に記載してきた。以下は、図42を参照して、本願の実施形態で提供されるデータ伝送装置について詳細に記載する。
可能な設計において、図42は、本願のこの実施形態に係るデータ伝送装置の構造の模式図である。データ伝送装置は、上記の方法の実施形態で記録された方法を実装するよう構成されてよい。例えば、図14に示されるように、データ伝送装置4200は処理モジュール4201及びトランシーバモジュール4202を含む。
任意に、処理モジュール4201は、データ伝送装置4200が図40のステップS4001及びステップS4002を実行するのを助けるよう、並びに/又はデータ伝送装置4200が図41のステップS4101及び/若しくはここで記載される技術の他のプロセスを実行するのを助けるよう構成される。
任意に、トランシーバモジュール4202は、データ伝送装置4200が図40のステップS4003を実行するのを助けるよう、並びに/又は図41のステップS4102及びステップS4104及び/又はここで記載される技術の他のプロセスを実行するのを助けるよう構成される。
方法の実施形態におけるステップの全ての関連する内容は、対応する機能モジュールの機能の説明で引用されてよい。詳細はここで再び記載されない。
任意に、図42に示されるデータ伝送装置4200は、記憶ユニット(図42に図示せず)を更に含んでもよく、記憶ユニットはプログラム又は命令を記憶する。処理モジュール4201及びトランシーバモジュール4202がプログラム又は命令を実行すると、図42に示されるデータ伝送装置4200は、方法の実施形態におけるデータ伝送方法を実行することができる。
任意に、トランシーバモジュールは、受信モジュール及び送信モジュールを含んでもよい。受信モジュールは、第2伝送ユニットによって送信されたフィードバック信号を受信するよう構成される。送信モジュールは、データを第2伝送ユニットへ送信するよう構成される。トランシーバモジュールの具体的な実施は、本願のこの実施形態で特に制限されない。
図42に示されるデータ伝送装置4200の技術的効果については、方法の実施形態におけるデータ伝送方法の技術的効果を参照されたい。詳細はここで再び記載されない。
本願の実施形態は、プロセッサを含むチップシステムを更に提供する。プロセッサはメモリへ結合され、メモリはプログラム又は命令を記憶するよう構成され、プログラム又は命令がプロセッサによって実行されると、チップシステムは、上記の方法の実施形態のいずれか1つにおける方法を実施することができる。
任意に、チップシステムには1つ以上のプロセッサが存在してもよい。プロセッサは、ハードウェア又はソフトウェアによって実施されてもよい。ハードウェアによって実施される場合に、プロセッサはロジック回路、集積回路、などであってよい。ソフトウェアによって実施される場合に、プロセッサは汎用プロセッサであってよく、メモリに記憶されているソフトウェアコードを読み出すことによって実施される。
任意に、チップシステムには1つ以上のメモリも存在してよい。メモリはプロセッサと一体化されてよく、あるいは、プロセッサとは別に配置されてもよい。これは、本願の実施形態で制限されない。例えば,メモリは非一時的なプロセッサ、リードオンリーメモリROMであってよい。メモリ及びプロセッサは、同じチップ上に集積されてよく、あるいは、異なるチップ上に別々に配置されてもよい。メモリのタイプ並びにメモリ及びプロセッサをセットする方法は、本願の実施形態で特に制限されない。
例えば、チップシステムは、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array,FPGA)、特定用途向け集積回路(application-specific integrated circuit,ASIC)、システム・オン・チップ(system on chip,SoC)、中央演算処理装置(central processing unit,CPU)、ネットワークプロセッサ(network processor,NP)、デジタル信号プロセッサ(digital signal processor,DSP)、マイクロコントローラユニット(micro controller unit、MCU)、若しくはプログラム可能ロジックデバイス(programmable logic device,PLD)、又は他の集積チップであってよい。
上記の方法の実施形態におけるステップは、プロセッサ内のハードウェア集積論理回路を使用することによって、又はソフトウェアの形をとる命令を使用することによって、実施されてよい、ことが理解されるべきである。本願の実施形態を参照して開示されている方法のステップは、ハードウェアプロセッサによって直接実行されてよく、あるいは、プロセッサにおけるハードウェアとソフトウェアモジュールとの組み合わせによって実行されてもよい。
本願の実施形態は、上記の通信装置によって使用される命令を記憶するよう構成された記憶媒体を更に提供する。
本願の実施形態は、コンピュータ可読記憶媒体を更に提供する。コンピュータ可読記憶媒体はコンピュータ命令を記憶する。コンピュータ命令がサーバで実行されると、サーバは、上記の関連する方法ステップを実行して、上記の実施形態におけるデータ伝送方法を実施することができる。
本願の実施形態は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品がコンピュータで実行されると、コンピュータは、上記の関連するステップを実行して、上記の実施形態におけるデータ伝送方法を実施することができる。
更に、本願の実施形態は、装置を更に提供する。装置は、具体的に、コンポーネント又はモジュールであってよく、装置は、互いに接続されている1つ以上のプロセッサ及びメモリを含んでよい。メモリはコンピュータプログラムを記憶するよう構成され、1つ以上のコンピュータプログラムは命令を含む。命令が1つ以上のプロセッサによって実行されると、装置は、上記の方法の実施形態におけるデータ伝送方法を実行することができる。
本願の実施形態で提供される装置、コンピュータ可読記憶媒体、コンピュータプログラム製品、又はチップは、上記で提供された対応する方法を実行するよう構成される。従って、達成することができる有利な効果については、上記で提供された対応する方法における有利な効果を参照されたい。詳細はここで再び記載されない。
本願で開示される内容と組み合わせて記載される方法及びアルゴリズムステップは、ハードウェアによって実施されてよく、あるいは、ソフトウェア命令を実行することによってプロセッサによって実施されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含んでよい。ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory,RAM)、フラッシュメモリ、リードオンリーメモリ(read-only memory,ROM)、消去可能なプログラム可能リードオンリーメモリ(erasable programmable ROM,EPROM)、電気的消去可能なプログラム可能リードオンリーメモリ(electrically EPROM,EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、コンパクトディスク型リードオンリーメモリ(CD-ROM)、又は当該技術でよく知られている任意の他の形式の記憶媒体に記憶されてもよい。例えば、記憶媒体はプロセッサへ結合され、それにより、プロセッサは記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができる。確かに、記憶媒体は、代替的に、プロセッサのコンポーネントであってもよい。プロセッサ及び記憶媒体は、特定用途向け集積回路(application-specific integrated circuit,ASIC)に置かれてもよい。
実施の記載に基づいて、当業者には当然に、便宜上、且つ簡潔な記載のために、上記の機能モジュールへの分割は、単に、記載のための例として使用されている。実際のアプリケーション中では、機能は、要件に基づいて実施のために異なる機能モジュールに割り当てられてもよい。換言すれば、装置の内部構造は、上述されている機能の全部又は一部を実施するよう異なる機能モジュールに分けられる。上記のシステム、装置、及びユニットの詳細な作動プロセスについては、上記の方法の実施形態における対応するプロセスを参照されたく、詳細はここで再び記載されない。
本願で提供されるいくつかの実施形態で、開示されている方法は他の様態で実施されてもよい、ことが理解されるべきである。例えば、上記の装置の実施形態は例に過ぎない。例えば、モジュール又はユニット分割は、論理的な機能分割に過ぎない。実際の実施中、他の分割方式が使用されてもよい。例えば、複数のユニット又はコンポーネントは、他のシステム2結合又は一体化されてもよく、あるいは、いくつかの特徴は無視されても又は実行されなくてもよい。更に、表示又は議論されている相互結合又は直接の結合若しくは通信接続は、いくつかのインターフェースにより実施されてもよい。モジュール又はユニット間の間接的な結合又は通信接続は、電気形式、機械形式、又は他の形式で実施されてよい。
別個の部分として記載されているユニットは、物理的に分離していてもいなくてもよく、ユニットとして表示されている部分は、物理ユニットであってもなくてもよく、1つの場所に位置してよく、又は複数のネットワークユニットに分布してもよい。一部又は全部のユニットは、実施形態の解決法の目的を達成するよう実際の要件に基づいて選択されてよい。
更に、本願の実施形態における機能ユニットは、1つの処理ユニットに一体化されてよく、あるいは、ユニットの夫々は物理的に単独で存在してよく、あるいは、2つ以上のユニットは1つのユニットに一体化されてもよい。一体化されたユニットは、ハードウェアの形で実施されてよく、あるいは、ソフトウェア機能ユニットの形で実施されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形で実施され、独立した製品として販売又は使用される場合に、一体化されたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づき、本願の技術的解決法は本質的に、あるいは、従来技術に寄与する部分、又は技術的解決法の全部若しくは一部は、ソフトウェア製品の形で実施されてよい。コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってよい)又はプロセッサ(processor)に、本願の実施形態で記載される方法のステップの全部又は一部を実行するように指示するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ(read-only memory,ROM)、ランダムアクセスメモリ(random access memory,RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
上記の説明は、本願の具体的な実施に過ぎず、本願の実施形態の保護範囲を制限する意図はない。本願の実施形態で開示されている技術的範囲内にある如何なる変形又は置換も、本願の実施形態の保護範囲内にあるべきである。従って、本願の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
本願は、2020年11月12日付けで中国国家知識産権局に出願された、発明の名称が「NEW STORAGE DATA TRANSMISSION STRUCTURE」である中国特許出願第202011263644.1号、及び2020年12月17日付けで中国国家知識産権局に出願された、発明の名称が「DATA TRANSMISSION METHOD AND ELECTRONIC DEVICE」である中国特許出願第202011496824.4号に対する優先権を主張するものである。これらの中国出願は、それらの全文を参照により本願に援用される。
例えば、図10に示されるように、一般的なデータ伝送プロトコルアーキテクチャは、アプリケーションレイヤ(application layer,LA)、プロトコルレイヤ(protocol layer,PL)、及び物理レイヤ(physical layer,PL)を含む。アプリケーションレイヤは、例えば、デバイスに対するホストのパラメータセットを含むアプリケーションレイヤのアプリケーション機能を実施するように、プロトコルレイヤの基本伝送能力を呼び出すよう構成される。プロトコルレイヤは、信頼できるデータ伝送サービスをアプリケーションレイヤに提供するように、送信器と受信器との間にデータ伝送レーン、例えば、トランスペアレントデータ伝送レートを提供するよう構成される。任意に、プロトコルレイヤは更に、物理レイヤより上でのセグメンテーション/再組み立て及びエラー制御を通じてデータ伝送の信頼性を確保し得る。物理レイヤは、データ伝送に必要な物理レーンを生成、保持、及び分解するための機械特性、電子特性、機能特性、及び仕様特性を提供するよう構成される。
例えば、図13に示されるように、論理物理レイヤレーン分配及びコーディング(logical PHY lane distribution & coding)機能1104を使用することによって、プロトコルレイヤ1002によって送信されたデータパケットを受信した後、物理レイヤ1003は、必要に応じてデータパケットの伝送レーンの割り当てを完了し、データパケットをデバイスBの物理レイヤ1006へ送信する。具体的なレーン割り当てプロセスについては、従来技術を参照されたく、詳細はここで再び記載されない。
任意に、送信器のプロトコルレイヤが、物理レイヤに対して、パッキングにより生成されたデータパケットを送信するプロセスについては、図35に示されるステップS205で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図37に示されるステップS305で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図38に示されるステップS406で記載される関連する内容を参照されたい。代替的に、パッキングプロセスについては、図39に示されるステップS505で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
任意に、データ伝送プロセスの具体的な実施方法については、図33並びに図34A及び図34Bに示される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図35に示されるステップS206及びステップS207で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図37に示されるステップS306及びステップS307で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図38に示されるステップS406及びステップS407で記載される関連する内容を参照されたい。代替的に、データ伝送プロセスについては、図39に示されるステップS504及びステップS505で記載される関連する内容を参照されたい。データ伝送プロセスにおけるデータ伝送方法については、図23から図30に示される関連する内容を参照されたい。詳細はここで再び記載されない。
例えば、図41は、本願の実施形態に係る他のデータ伝送方法の模式図である。図41に示されるように、方法はS4101からS4105を含む。
任意に、ステップS4101について、図27A及び図28に示されるステップ1-1で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-1で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
任意に、ステップS4102について、図27A及び図28に示されるステップ1-2で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-2で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
任意に、ステップS4103について、図27A及び図28に示されるステップ1-3で記載される関連する内容を参照されたく、あるいは、図29A及び図30に示されるステップ2-3で記載される関連する内容を参照されたい。詳細はここで再び記載されない。
可能な設計において、図42は、本願のこの実施形態に係るデータ伝送装置の構造の模式図である。データ伝送装置は、上記の方法の実施形態で記録された方法を実装するよう構成されてよい。例えば、図42に示されるように、データ伝送装置4200は処理モジュール4201及びトランシーバモジュール4202を含む。
Claims (16)
- データ伝送方法であって、
第1伝送ユニットによって、前記第1伝送ユニットのプロトコルレイヤで、前記第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することであり、前記データパケットはデータタイプ情報を含み、前記データタイプ情報は前記データパケットのアプリケーションシナリオを示し、前記アプリケーションシナリオはカメラシナリオ、ディスプレイシナリオ、及びストレージシナリオのうちのいずれか1つを含む、ことと、
前記第1伝送ユニットによって、前記データパケットを前記第1伝送ユニットの物理レイヤへ前記第1伝送ユニットの前記プロトコルレイヤを通じて送信することと、
前記第1伝送ユニットによって、前記データパケットを第2伝送ユニットへ前記第1伝送ユニットの前記物理レイヤを通じて送信することと
を有する方法。 - 前記データパケットのデータパケットタイプはロングパケット及びショートパケットを含み、前記ロングパケットはデータパケットヘッダサブパケット、ペイロードデータサブパケット、及びデータパケットフッタサブパケットを含み、前記ショートパケットは前記データパケットヘッダサブパケット及び前記データパケットフッタサブパケットを含む、
請求項1に記載の方法。 - 前記データタイプ情報は、前記データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、前記データタイプフィールドの第1の値は、前記アプリケーションシナリオが前記ディスプレイシナリオであること、及び前記データパケットがショートデータパケット又はロングデータパケットであることを示す、
請求項2に記載の方法。 - 前記データタイプ情報は、前記データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、前記データタイプフィールドの第2の値は、前記アプリケーションシナリオが前記カメラシナリオであること、及び前記データパケットがショート制御パケット又はロングデータパケットであることを示す、
請求項2に記載の方法。 - 前記データタイプ情報は、前記データパケットヘッダサブパケット内のデータタイプフィールドで運ばれ、前記データタイプフィールドの第3の値は、前記アプリケーションシナリオが前記ストレージシナリオであること、及び前記データパケットがショート確認応答ACKパケット、ショート否定応答NACKパケット、ロングデータパケット、及びロング制御パケットのうちの1つであることを示す、
請求項2に記載の方法。 - 前記した、第1伝送ユニットによって、前記第1伝送ユニットのプロトコルレイヤで、前記第1伝送ユニットのアプリケーションレイヤの伝送されるべきデータをパッキングして、データパケットを生成することは、
前記第1伝送ユニットによって、前記第1伝送ユニットの前記プロトコルレイヤで、前記第1伝送ユニットの前記アプリケーションレイヤによって送信された前記伝送されるべきデータを受信することと、
前記第1伝送ユニットによって、前記第1伝送ユニットの前記プロトコルレイヤで前記伝送されるべきデータをセグメント化して、ペイロードデータを生成し、かつ、データパケットヘッダ、巡回冗長検査CRCコード、及びデータパケットフッタを生成し、そして、前記ペイロードデータ、前記データパケットヘッダ、及び前記データパケットフッタをパッキングした後で前記データパケットを生成することと
を有し、
前記データパケットフッタは、前記CRCコードを示すCRCフィールドを含む、
請求項1乃至5のうちいずれか一項に記載の方法。 - データ伝送方法であって、
第1伝送ユニットによって、送信されるべき第1データパケットを前記第1伝送ユニットのバッファ(buffer)に格納することと、
前記第1伝送ユニットによって、前記第1データパケットを第2伝送ユニットへ送信し、タイマを起動することと、
前記タイマが満了しておらず、前記第1伝送ユニットの前記バッファ内の残りの自由空間のサイズが送信されるべき第2データパケットのサイズ以上である場合に、前記第1伝送ユニットによって、前記第2データパケットを前記第2伝送ユニットへ送信し、前記タイマを再起動することと
を有する方法。 - 前記した、前記第1伝送ユニットによって、前記第1データパケットを第2伝送ユニットへ送信し、タイマを起動することの後で、当該方法は、
前記第1伝送ユニットによって、前記第2伝送ユニットによって送信された第1確認応答ACK信号を受信し、前記第1伝送ユニットの前記バッファから前記第1データパケットを削除し、前記タイマを再起動することを更に有し、
前記第1ACK信号は、前記第1データパケットに対応するフィードバック信号である、
請求項7に記載の方法。 - 当該方法は、
前記第1データパケットの前記バッファ内の前記残りの自由空間のサイズが前記送信されるべき第2データパケットのサイズに満たない場合に、前記第1伝送ユニットによって、データパケットを送信することを止めることと、
前記タイマが満了し、前記第1伝送ユニットが第2ACK信号を未だ受信していない場合に、前記第1伝送ユニットの前記バッファにバッファリングされている1つ以上の第3データパケット中で最も小さいフレーム番号を有する第4データパケットを取得することと、
前記第1伝送ユニットによって、前記第4データパケットを前記第2伝送ユニットへ再送し、前記タイマを再起動することと
を更に有する、
請求項7又は8に記載の方法。 - 前記した、前記第1伝送ユニットによって、前記第4データパケットを前記第2伝送ユニットへ再送することの後で、当該方法は、
前記第1伝送ユニットによって、前記1つ以上の第3データパケットをフレーム番号の昇順で前記第2伝送ユニットへ再送し、第3データパケットが送信されるたびに前記タイマを再起動することを更に有する、
請求項9に記載の方法。 - 当該方法は、
前記第1伝送ユニットによって、前記第2伝送ユニットによって送信された第1否定応答NACK信号を受信し、データパケットを送信することを止めることと、
前記第1伝送ユニットによって、前記第1NACK信号に対応する第5データパケットを決定することと、
前記第1伝送ユニットによって、前記第5データパケットを前記第2伝送ユニットへ再送し、前記タイマを再起動することと
を更に有する、
請求項7又は8に記載の方法。 - 前記した、前記第1伝送ユニットによって、前記第5データパケットを前記第2伝送ユニットへ再送することの後で、当該方法は、
前記第1伝送ユニットによって、前記第1伝送ユニットの前記バッファにバッファリングされている1つ以上の第6データパケットを該1つ以上の第6データパケットのフレーム番号の昇順で前記第2伝送ユニットへ再送し、第6データパケットが送信されるたびに前記タイマを再起動することを更に有し、
前記第5データパケットのフレーム番号は、前記1つ以上の第6データパケットのフレーム番号よりも小さい、
請求項11に記載の方法。 - プロセッサ及びメモリを有する電子デバイスであって、
前記メモリは前記プロセッサへ結合され、
前記メモリは、コンピュータプログラムコードを記憶するよう構成され、前記コンピュータプログラムコードはコンピュータ命令を含み、
前記プロセッサが前記メモリから前記コンピュータ命令を読み出すと、当該電子デバイスは、請求項1乃至6のうちいずれか一項に記載のデータ伝送方法を実行することができ、あるいは、当該電子デバイスは、請求項7乃至12のうちいずれか一項に記載のデータ伝送方法を実行することができる、
電子デバイス。 - プロセッサを有するチップであって、
前記プロセッサはメモリへ結合され、前記メモリはプログラム命令を記憶し、
前記メモリに記憶されている前記プログラム命令が前記プロセッサによって実行されると、請求項1乃至6のうちいずれか一項に記載のデータ伝送方法が実施され、あるいは、前記メモリに記憶されている前記プログラム命令が前記プロセッサによって実行されると、請求項7乃至12のうちいずれか一項に記載のデータ伝送方法が実施される、
チップ。 - プログラム又は命令を有し、
前記プログラム又は前記命令が実行されると、請求項1乃至6のうちいずれか一項に記載のデータ伝送方法が実施され、あるいは、請求項7乃至12のうちいずれか一項に記載のデータ伝送方法が実施される、
コンピュータ可読記憶媒体。 - 命令を有するコンピュータプログラム製品であって、
当該コンピュータプログラム製品が電子デバイスで実行されると、前記電子デバイスは、請求項1乃至6のうちいずれか一項に記載のデータ伝送方法を実行することができ、あるいは、前記電子デバイスは、請求項7乃至12のうちいずれか一項に記載のデータ伝送方法を実行することができる、
コンピュータプログラム製品。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263644.1 | 2020-11-12 | ||
CN202011263644 | 2020-11-12 | ||
CN202011496824.4A CN114499772A (zh) | 2020-11-12 | 2020-12-17 | 数据传输方法及电子设备 |
CN202011496824.4 | 2020-12-17 | ||
PCT/CN2021/128820 WO2022100515A1 (zh) | 2020-11-12 | 2021-11-04 | 数据传输方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023549354A true JP2023549354A (ja) | 2023-11-24 |
Family
ID=81489826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023528212A Pending JP2023549354A (ja) | 2020-11-12 | 2021-11-04 | データ伝送方法及び電子デバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230291688A1 (ja) |
EP (1) | EP4228181A4 (ja) |
JP (1) | JP2023549354A (ja) |
CN (1) | CN114499772A (ja) |
WO (1) | WO2022100515A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001541B (zh) * | 2022-06-21 | 2023-05-05 | 美的集团股份有限公司 | 数据传输方法、装置、电子设备、存储介质和产品 |
CN115396469B (zh) * | 2022-07-29 | 2023-11-21 | 北京津发科技股份有限公司 | 传感器数据传输方法和装置 |
CN115695591A (zh) * | 2022-10-27 | 2023-02-03 | 天津津航计算技术研究所 | 一种基于fpga的多路gps报文上报系统 |
CN115866156B (zh) * | 2023-03-01 | 2023-05-26 | 上海励驰半导体有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN117294751B (zh) * | 2023-11-24 | 2024-02-06 | 浙江大学 | 兼容sip架构的jesd204c接口的传输系统、传输方法、通信设备及介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100477513B1 (ko) * | 2002-11-25 | 2005-03-17 | 전자부품연구원 | 이기종 프로토콜간 상호 데이터 전송을 위한 공통프로토콜 계층 구조 및 방법과 공통 프로토콜 패킷 |
US9749252B2 (en) * | 2013-09-30 | 2017-08-29 | Qualcomm Incorporated | Short packet communication in a powerline communication network |
US9762496B2 (en) * | 2014-02-25 | 2017-09-12 | Qualcomm Incorporated | Slotted message access protocol for powerline communication networks |
KR102268699B1 (ko) * | 2015-06-29 | 2021-06-28 | 삼성전자주식회사 | 저장 장치의 동작 방법, 호스트 장치의 동작 방법, 그리고 저장 장치 및 호스트 장치를 포함하는 사용자 시스템의 동작 방법 |
CN106851183B (zh) * | 2015-12-04 | 2020-08-21 | 宁波舜宇光电信息有限公司 | 基于fpga的多路视频处理系统及其方法 |
US10437498B2 (en) * | 2016-09-28 | 2019-10-08 | Samsung Electronics Co., Ltd. | Electronic device configured to reset storage device non-directly connected to application processor among storage devices serially connected to one another and method of operating the same |
CN110769377B (zh) * | 2018-07-25 | 2021-10-01 | 华为技术有限公司 | 一种通信方法及装置 |
JPWO2020166378A1 (ja) * | 2019-02-15 | 2021-12-09 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置および通信方法、並びにプログラム |
US10860503B2 (en) * | 2019-05-02 | 2020-12-08 | Keyssa Systems, Inc. | Virtual pipe for connecting devices |
CN111308708B (zh) * | 2020-02-24 | 2023-02-17 | Oppo广东移动通信有限公司 | 头戴式设备 |
CN111491072B (zh) * | 2020-04-20 | 2022-05-10 | 维沃移动通信有限公司 | 一种像素时钟频率调整方法、装置及电子设备 |
-
2020
- 2020-12-17 CN CN202011496824.4A patent/CN114499772A/zh active Pending
-
2021
- 2021-11-04 EP EP21891041.2A patent/EP4228181A4/en active Pending
- 2021-11-04 WO PCT/CN2021/128820 patent/WO2022100515A1/zh active Application Filing
- 2021-11-04 JP JP2023528212A patent/JP2023549354A/ja active Pending
-
2023
- 2023-05-11 US US18/315,746 patent/US20230291688A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230291688A1 (en) | 2023-09-14 |
WO2022100515A1 (zh) | 2022-05-19 |
EP4228181A1 (en) | 2023-08-16 |
EP4228181A4 (en) | 2024-04-10 |
CN114499772A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023549354A (ja) | データ伝送方法及び電子デバイス | |
KR101497001B1 (ko) | 그래픽스 멀티미디어 ic 및 그것의 동작 방법 | |
ES2395434T3 (es) | Sistemas y procedimientos para el control de la tasa de transmisión de datos digitales | |
US20060171414A1 (en) | Systems and methods for digital data transmission rate control | |
US20150312476A1 (en) | Image sensor, data transmission method thereof, information processing apparatus, information processing method, electronic device, and program | |
US9575863B2 (en) | Apparatus of wireless gigabit display extension (WDE) device | |
WO2022156472A1 (zh) | 拼接屏同步显示方法、电子设备和拼接屏系统 | |
CN115543906B (zh) | 一种基于i2c总线的数据读写方法和装置 | |
CN105227850A (zh) | 使能元数据存储子系统 | |
US10033916B2 (en) | Transmission of image data and camera management commands | |
US11831739B2 (en) | Communication apparatus and communication system | |
CN113556497A (zh) | 一种传输多摄像头数据的方法 | |
JPWO2020158589A1 (ja) | 送信装置、送信方法、受信装置、受信方法、および送受信装置 | |
WO2022170866A1 (zh) | 数据传输方法、装置及存储介质 | |
US9485333B2 (en) | Method and apparatus for network streaming | |
WO2022011574A1 (zh) | 数据传输方法、发送设备及接收设备 | |
EP3671720B1 (en) | Real-time on-chip data transfer system | |
JP2014222466A (ja) | 情報処理装置、情報処理システムおよび情報処理システムの通信方法 | |
WO2022068486A1 (zh) | 数据发送方法、电子设备、芯片系统及存储介质 | |
EP4195625A1 (en) | Image transmission method and apparatus | |
WO2023011329A1 (zh) | 一种北斗通信系统中数据传输控制方法、系统及相关装置 | |
WO2024027674A1 (zh) | 通信方法、设备及存储介质 | |
EP2736220B1 (en) | Method and apparatus for network streaming | |
WO2024066521A1 (zh) | 内存刷新方法和装置 | |
US20220385971A1 (en) | Data Processing Method and Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230607 |