JP2010153995A - Packet communication method - Google Patents

Packet communication method Download PDF

Info

Publication number
JP2010153995A
JP2010153995A JP2008327348A JP2008327348A JP2010153995A JP 2010153995 A JP2010153995 A JP 2010153995A JP 2008327348 A JP2008327348 A JP 2008327348A JP 2008327348 A JP2008327348 A JP 2008327348A JP 2010153995 A JP2010153995 A JP 2010153995A
Authority
JP
Japan
Prior art keywords
communication
remote device
credit
local device
data
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.)
Withdrawn
Application number
JP2008327348A
Other languages
Japanese (ja)
Inventor
Tatsukoku Kin
達国 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alps Alpine Co Ltd
Original Assignee
Alps Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alps Electric Co Ltd filed Critical Alps Electric Co Ltd
Priority to JP2008327348A priority Critical patent/JP2010153995A/en
Publication of JP2010153995A publication Critical patent/JP2010153995A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a packet communication method capable of securing sufficient reception bands for data of high priority, while permitting various communication states simultaneously. <P>SOLUTION: If a RFCOMM connection by Bluetooth (R) is completed between a local device (30) and a remote device (14) (ST50), an initial credit 7 is informed to the remote device (14). If variation of multi-profile state is detected, a local device (30) packet is transmitted from the remote device (14) until the current credit becomes 0 (ST51-ST61), and standby continues for a standby time and the number of packets is decreased to 1 (ST62-ST65). Thereby, bands relatively assigned to other communication processing can be secured, and priority can be given to communication. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、複数のデバイス間でパケットデータを送受信するためのパケット通信方法に関するものである。   The present invention relates to a packet communication method for transmitting and receiving packet data between a plurality of devices.

従来、オーディオ信号や映像信号のように連続性があり、かつ、リアルタイム性を確保する必要があるデータの送受信に適した無線通信方法が知られている(例えば、特許文献1参照。)。この先行技術は、通信装置が他のデバイスとの間でデータ通信を行う際、通信対象として複数のデバイスが検出された場合にリアルタイム性が要求されるデバイスとそれ以外のデバイスとを区別して認識しておき、先にリアルタイム性が要求されない方のデバイスとの通信を確立し、その後でリアルタイム性が要求されるデバイスとの間でオーディオ信号の伝送を行うものである。また先行技術では、通信装置においてリアルタイム性が要求されるデバイスとの間でデータ伝送が行われている間、その他のデバイスの検出や既に通信を確立したデバイスとの通信を行わないこととしている。   2. Description of the Related Art Conventionally, there is known a wireless communication method suitable for data transmission / reception that has continuity such as an audio signal and a video signal and needs to ensure real-time property (see, for example, Patent Document 1). In this prior art, when a communication apparatus performs data communication with another device, when a plurality of devices are detected as communication targets, a device that requires real-time property is distinguished from other devices. In addition, communication with a device that does not require real-time property is established first, and then an audio signal is transmitted to the device that requires real-time property. In the prior art, while data transmission is being performed with a device that requires real-time performance in a communication apparatus, detection of other devices and communication with a device that has already established communication are not performed.

上記の先行技術によれば、例えばオーディオ機器から通信機器に対してオーディオ信号等の伝送が行われている間、それ以外のデバイスである携帯電話機との通信は原則として行われない。この場合、例えば1曲分のオーディオ信号の伝送が終了するまでの間はオーディオ機器との通信が優先されるため、リアルタイム性を失うことなくオーディオの再生が可能になると考えられる。   According to the above-described prior art, for example, while an audio signal or the like is being transmitted from an audio device to a communication device, communication with a mobile phone that is another device is not performed in principle. In this case, for example, communication with the audio device is prioritized until the transmission of the audio signal for one song is completed, so that it is considered that the audio can be reproduced without losing the real time property.

さらに先行技術では、オーディオデータの再生及び転送を優先している間であっても、例えば携帯電話機に着信があると、割り込み処理によって携帯電話機との通信を実行することができる。このため、通常はリアルタイム性を優先しつつ、通話等の急を要する状況が発生した場合はそちらに通信を切り替えることができるので、ユーザの要望に応じた態様で通信を実行することができると考えられる。
特開2006−352799号公報
Further, in the prior art, even when priority is given to reproduction and transfer of audio data, for example, when there is an incoming call to the mobile phone, communication with the mobile phone can be executed by interrupt processing. For this reason, normally, priority is given to real-time, and when a situation requiring urgency such as a telephone call occurs, communication can be switched there, so that communication can be executed in a mode according to the user's request. Conceivable.
JP 2006-352799 A

しかしながら上記の先行技術は、リアルタイム性が要求されるデバイスを優先するあまり、それ以外のデバイスとの通信を大きく犠牲にしている。このため先行技術の通信方法は、ユーザにとってあまり利便性が高いとはいえない。例えば、複数のデバイスを同時並行してユーザが使用しようとしても、先行技術の手法ではリアルタイム性が要求されるデータの伝送が終了するまで他のデバイスは使用できなくなるという不便さがある。   However, the above prior art gives priority to a device that requires real-time performance, and greatly sacrifices communication with other devices. For this reason, the prior art communication method is not very convenient for the user. For example, even if a user tries to use a plurality of devices at the same time, the prior art technique has the inconvenience that other devices cannot be used until the transmission of data requiring real-time performance is completed.

そうかといって、複数のデバイスから同時並行してデータの伝送を行うことを単純に許可しただけでは、リアルタイム性を要求されるデータの受信帯域が圧迫されてしまい、オーディオ等を再生する際の品質を劣化させてしまうことになる。   However, simply allowing data transmission from multiple devices at the same time would impose pressure on the data reception bandwidth that requires real-time performance, and when playing audio, etc. The quality will be degraded.

また近年、Bluetooth(登録商標)対応製品の多様化により、1つの通信システム内で複数のデバイスが別々のアプリケーションを同時に実行するというケースが増えつつある。例えば、ダイアルアップやシリアルポートを用いたアプリケーションによるデータアクセス中に、これとは別のオーディオアプリケーションによる音楽の再生が開始されたり、さらに別のハンズフリーアプリケーションによる音声通話が開始されたりすることがある。このような場合、いずれの通信も中断させることなく、その中でオーディオ再生の音質を優先したり、音声通話の音質を優先したりすることへの要望が高まってきている。   In recent years, with the diversification of products compatible with Bluetooth (registered trademark), cases in which a plurality of devices simultaneously execute different applications in one communication system are increasing. For example, during data access by an application using a dial-up or a serial port, music playback by another audio application may be started, or a voice call by another hands-free application may be started. In such a case, there is an increasing demand for giving priority to the sound quality of audio reproduction and giving priority to the sound quality of voice calls without interrupting any communication.

そこで本発明は上記の事情に鑑み、同時に多様な通信状態を許容しつつ、その中でも優先度の高いデータに対して充分な受信帯域を確保することができるパケット通信方法を提供しようとするものである。   Therefore, in view of the above circumstances, the present invention intends to provide a packet communication method capable of ensuring a sufficient reception band for high priority data while allowing various communication states at the same time. is there.

解決手段1:本発明は、複数の通信プロファイルを用いて通信する機能を有したローカルデバイス及びリモートデバイスから構成される通信システム内で使用されるパケット通信方法である。詳細には、ローカルデバイスとリモートデバイスとの通信開始時に予めローカルデバイスが受信可能なパケット数をリモートデバイスに通知し、この通知されたパケット数分のデータをリモートデバイスからローカルデバイスに送信してローカルデバイスで受信する通信処理を繰り返しながら所望量のパケットデータを送受信するパケット通信方法である。その上で本発明のパケット通信方法は、以下の工程に特徴を有するものである。   Solution 1: The present invention is a packet communication method used in a communication system including a local device and a remote device having a function of performing communication using a plurality of communication profiles. Specifically, when the communication between the local device and the remote device is started, the remote device is notified in advance of the number of packets that can be received by the local device, and the data corresponding to the notified number of packets is transmitted from the remote device to the local device. This is a packet communication method for transmitting and receiving a desired amount of packet data while repeating the communication process received by the device. In addition, the packet communication method of the present invention is characterized by the following steps.

(1)検出工程
この工程は、ローカルデバイスがいずれかのリモートデバイスとの間で通信処理を実行する際、複数ある通信プロファイルの中でいずれの通信プロファイルを用いて通信処理が実行されているかを検出するものである。
(1) Detection process This process determines which communication profile is used for communication processing among a plurality of communication profiles when the local device executes communication processing with any remote device. It is to detect.

すなわち通信プロファイルは、それ自身が使用する通信プロトコルを特定しているため、通信処理で用いられている通信プロファイルを検出することで、その通信処理がどのような通信状態にあるのかを識別することができる。   In other words, since the communication profile specifies the communication protocol used by itself, the communication profile used in the communication process is detected to identify the communication state of the communication process. Can do.

(2)減少工程
この工程は、ローカルデバイスが特定のリモートデバイスとの間で通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の通信処理が実行されたことを検出した場合、現在実行中の通信処理の中でローカルデバイスが特定のリモートデバイスに通知する受信可能なパケット数を減少させることにより、別の通信プロファイルを用いた通信処理の中でローカルデバイスが受信可能なパケット数を相対的に増加させるものである。
(2) Decrease step This step is for another communication that is different from the current one with the same specific remote device or another remote device while the local device is performing communication processing with the specific remote device. When it is detected that another communication process has been executed using the profile, the local device can reduce the number of receivable packets notified to a specific remote device in the currently executing communication process. In the communication processing using the communication profile, the number of packets that can be received by the local device is relatively increased.

これにより、現在実行中の通信処理はパケット数の減少によって相対的に帯域が狭められるが、その一方で別の通信プロファイルを用いた通信処理に割くことができる帯域を相対的に広げることができる。このため、意図的に優先させたい通信処理のスループットをそれだけ多くしつつ、いずれの通信処理も犠牲にすることなく同時並行して通信システム内でのデータ通信を継続することができる。   As a result, the bandwidth of the currently executing communication process is relatively narrowed due to the decrease in the number of packets, while the bandwidth that can be allocated to the communication processing using another communication profile can be relatively widened. . For this reason, it is possible to continue the data communication in the communication system in parallel without sacrificing any communication processing while increasing the throughput of the communication processing that is intentionally given priority.

解決手段2:解決手段1のパケット通信方法において、さらに以下の工程を有してもよい。   Solution 2: The packet communication method of Solution 1 may further include the following steps.

(3)待機工程
この工程は、ローカルデバイスが特定のリモートデバイスとの間で通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の通信処理が実行されたことを検出した場合、現在実行中の通信処理の中に待機時間を挿入するものである。
(3) Standby process This process is a process in which a local device is performing communication processing with a specific remote device, and another communication different from the current with the same specific remote device or another remote device. When it is detected that another communication process has been executed using the profile, a waiting time is inserted into the currently executed communication process.

このような工程を追加することにより、上記(2)の減少工程による帯域の確保と合わせて、より優先させたい通信処理に対して必要な帯域を割り当てることができる。   By adding such a process, it is possible to allocate a necessary band for a communication process to be given higher priority in addition to securing a band by the reduction process of (2) above.

解決手段3:解決手段2において、待機時間を挿入する工程では、現在実行中の通信処理の中でローカルデバイスが特定のリモートデバイスに受信可能なパケット数を通知する前に待機時間を挿入することが好ましい。   Solution 3: In the solution 2, in the step of inserting a waiting time, the waiting time is inserted before the local device notifies the specific remote device of the number of packets that can be received in the currently executed communication process. Is preferred.

上記のように本パケット通信方法では、ローカルデバイスから受信可能なパケット数を通知するまでは、リモートデバイスからローカルデバイスに対してデータを送信することができない。したがって、ローカルデバイスからリモートデバイスへ受信可能なパケット数を通知する前に待機時間を挿入すれば、それだけ現在の通信処理に遅延が発生するため、相対的に別の通信処理の優先度を高めることができる。   As described above, in this packet communication method, data cannot be transmitted from the remote device to the local device until the number of packets that can be received from the local device is notified. Therefore, if a waiting time is inserted before the number of packets that can be received from the local device to the remote device is inserted, a delay occurs in the current communication process, so that the priority of another communication process is relatively increased. Can do.

解決手段4:解決手段1から3のパケット通信方法において、パケット数を相対的に増加させる工程では、現在の通信プロファイルに比較して別の通信プロファイルの方がよりリアルタイム性を要求されるものである場合に現在実行中の通信処理の中でパケット数を減少させることが好ましい。   Solution 4: In the packet communication methods of Solution 1 to 3, in the step of relatively increasing the number of packets, another communication profile is required to have more real-time characteristics than the current communication profile. In some cases, it is preferable to reduce the number of packets in the currently executing communication process.

このような態様であれば、単純に後から開始された通信処理を優先するのではなく、通信プロファイルの特性からみて優先度の高い方の通信処理を確実に優先させることができる。   With such an aspect, priority is not given simply to the communication process started later, but it is possible to reliably give priority to the communication process with the higher priority in view of the characteristics of the communication profile.

解決手段5:あるいは、解決手段1から3のパケット通信方法において、パケット数を相対的に増加させる工程では、別の通信プロファイルがオーディオデータ又は音声通話データをローカルデバイスで受信する場合に使用されるものであるか、もしくは、所定時間内にリモートデバイスからローカルデバイスへのデータ転送を完了させる必要がある場合に使用されるものであるかのいずれかである場合、現在実行中の通信処理の中でパケット数を減少させることが好ましい。   Solution 5: Alternatively, in the packet communication method of solutions 1 to 3, the step of relatively increasing the number of packets is used when another communication profile receives audio data or voice call data at the local device. Or if it is used when data transfer from the remote device to the local device needs to be completed within a predetermined time It is preferable to reduce the number of packets.

この場合も同様に、通信プロファイルの特性からみて優先度の高い方の通信処理を確実に優先させることができることに加えて、所定時間内にデータ転送を完了させる必要がある場合のように、後から意図的に優先させたい通信処理が開始されれば、そちらを確実に優先させることができる。   Similarly, in this case, in addition to being able to reliably give priority to the communication process with the higher priority in view of the characteristics of the communication profile, it is necessary to complete the data transfer within a predetermined time. If communication processing that is intentionally prioritized is started, it can be surely prioritized.

解決手段6:解決手段1から5のパケット通信方法において、ローカルデバイスとリモートデバイスとの間で行われる通信処理は、特定の短距離無線通信規格におけるRFCOMMプロトコルにより定義されたクレジットベースドフローコントロールに則り、ローカルデバイスが受信可能なパケット数をクレジット数としてローカルデバイスからリモートデバイスに通知する手順と、リモートデバイスからパケットデータをローカルデバイスに送信するごとにリモートデバイスにおいてクレジット数を減少させる手順とを含むものである。   Solution 6: In the packet communication methods of Solution 1 to 5, communication processing performed between a local device and a remote device is in accordance with credit-based flow control defined by the RFCOMM protocol in a specific short-range wireless communication standard. A procedure for notifying the remote device of the number of packets that can be received by the local device from the local device to the remote device, and a procedure for reducing the credit number at the remote device each time packet data is transmitted from the remote device to the local device. .

この場合、クレジット数がリモートデバイスにおいて残存している間はリモートデバイスからローカルデバイスに対してパケットデータの送信が可能である一方、クレジット数が残存しなくなるとリモートデバイスからローカルデバイスからリモートデバイスへのパケットデータの送信が不可となる。   In this case, while the credit amount remains in the remote device, packet data can be transmitted from the remote device to the local device. On the other hand, when the credit amount does not remain, the remote device transfers from the local device to the remote device. Packet data cannot be transmitted.

例えば、特定の短距離無線通信規格としてBluetooth(登録商標)を使用した場合、そのRFCOMMプロトコルで定義されたクレジットベースドフローコントロール(Credit Based Flow Control)を必須機能とするため、ローカルデバイスとリモートデバイスとの間での相互接続性の観点からも有利なパケット通信方法を実現することができる。   For example, when Bluetooth (registered trademark) is used as a specific short-range wireless communication standard, the credit-based flow control defined by the RFCOMM protocol is an essential function. It is possible to realize a packet communication method that is advantageous also from the viewpoint of mutual connectivity between the two.

以上のように本発明のパケット通信方法によれば、多様な通信プロファイルを用いた通信処理を同時に実行しつつ、より優先させたい通信処理に対して必要な帯域を確保することができる。これにより、リアルタイム性のあるデータ通信の品質劣化を防止してユーザの利便性を高めたり、意図的に優先させたいデータの転送を早期に完了させたりすることができる。   As described above, according to the packet communication method of the present invention, it is possible to secure a necessary band for a communication process to be given higher priority while simultaneously executing communication processes using various communication profiles. As a result, it is possible to prevent deterioration of the quality of data communication with real-time characteristics and improve user convenience, or to complete transfer of data that is intentionally prioritized at an early stage.

以下、本発明の実施形態について図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

〔通信システムの概要〕
図1は、通信システム10の構成例を概略的に示す図である。この通信システム10は、例えば自動車に搭載された車載電装ユニット12をローカルデバイスとし、車内に持ち込まれる各種の携帯機器14,16,18をそれぞれリモートデバイスとして構成されている。これら車載電装ユニット12や携帯機器14,16,18は、いずれもブルートゥース(Bluetooth:登録商標)規格に準拠した無線通信機能を有している。なお、以下の説明では、Bluetooth(登録商標)を「BT」と略称する。
[Outline of communication system]
FIG. 1 is a diagram schematically illustrating a configuration example of a communication system 10. The communication system 10 includes, for example, an in-vehicle electrical unit 12 mounted on a car as a local device, and various portable devices 14, 16, and 18 brought into the car as remote devices. Each of the in-vehicle electrical unit 12 and the portable devices 14, 16, and 18 has a wireless communication function that conforms to the Bluetooth (registered trademark) standard. In the following description, Bluetooth (registered trademark) is abbreviated as “BT”.

〔車載電装ユニット〕
車載電装ユニット12は、例えば走行経路誘導(ナビゲーション)機能を有するほか、オーディオ再生機能やビデオ再生機能、ラジオ、テレビ等の受信機能等を有する。このため車載電装ユニット12には、液晶ディプレイ等を用いた表示部20や、図示しないプッシュスイッチ、キースイッチ、回転つまみ等を有した操作部22が付属するほか、音響出力用のスピーカ24、マイク26等の周辺機器が付属している。
[In-vehicle electrical unit]
The in-vehicle electrical unit 12 has, for example, a travel route guidance (navigation) function, an audio playback function, a video playback function, a reception function such as a radio and a television, and the like. For this reason, the in-vehicle electrical unit 12 includes a display unit 20 using a liquid crystal display or the like, an operation unit 22 having a push switch, a key switch, a rotary knob, etc. (not shown), a speaker 24 for sound output, Peripheral devices such as a microphone 26 are attached.

また車載電装ユニット12は、上記の周辺機器を制御する制御部28を内蔵するほか、BTによる無線通信機能を発揮するためにBTモジュール30を内蔵している。なお制御部28は、例えば中央処理装置であるCPUやROM、RAM等のメモリデバイスを備えたマイクロコンピュータである。またBTモジュール30は、車載電装ユニット12(制御部28)をホストとしてBT通信を用いたサービス(例えば無線接続)を提供することができる。   In addition, the in-vehicle electrical unit 12 includes a control unit 28 that controls the peripheral devices, and also includes a BT module 30 in order to exhibit a wireless communication function using BT. The control unit 28 is a microcomputer including a central processing unit such as a CPU, a ROM, and a memory device such as a RAM. Further, the BT module 30 can provide a service (for example, wireless connection) using BT communication with the in-vehicle electrical unit 12 (the control unit 28) as a host.

〔携帯機器〕
携帯機器14,16,18は、例えば携帯音楽プレーヤ、携帯情報端末、携帯電話機等のユーザが携帯して使用することができる電子機器である。いずれにしても、携帯機器14,16,18にも図示しないBTモジュールが内蔵されており、このBTモジュールを用いて携帯機器14,16,18はそれぞれBTによる無線通信機能を発揮することができる。
[Portable equipment]
The portable devices 14, 16, and 18 are electronic devices that can be carried and used by a user, such as a portable music player, a portable information terminal, and a cellular phone. In any case, the BT module (not shown) is also built in the portable devices 14, 16, and 18, and the portable devices 14, 16, and 18 can each exhibit a wireless communication function using the BT by using the BT module. .

〔通信システムの特性〕
ここで挙げている通信システム10は、そのローカルデバイスとして単一の車載電装ユニット12を有しているが、ローカルデバイスが通信の対象とするリモートデバイスとして、複数の携帯機器14,16,18を含むことができる。したがって通信システム10の動作としては、例えば以下の2つの状態を挙げることができる。
[Characteristics of communication system]
The communication system 10 mentioned here has a single in-vehicle electrical unit 12 as its local device, but a plurality of portable devices 14, 16, 18 are used as remote devices to be communicated by the local device. Can be included. Accordingly, the operation of the communication system 10 can include the following two states, for example.

(1)マルチコネクション
この通信状態は、ローカルデバイスである車載ユニット12が同時に複数のリモートデバイス(携帯機器14〜18)を対象として通信(データ受信)を行う場合である。例えば、携帯機器14〜18がそれぞれにBT通信を行うアプリケーションを実行した場合、通信システム10の動作はマルチコネクションとなる。
(1) Multi-connection This communication state is a case where the in-vehicle unit 12 that is a local device simultaneously performs communication (data reception) for a plurality of remote devices (mobile devices 14 to 18). For example, when the mobile devices 14 to 18 each execute an application that performs BT communication, the operation of the communication system 10 is multi-connection.

(2)マルチプロファイル
この通信状態は、車載ユニット12が1台の携帯機器14〜18のいずれかとの間、もしくは複数台の携帯機器14〜18との間で複数の通信プロファイルを用いて同時に通信を行う場合である。例えば、携帯機器18(携帯電話機)には標準の音声通話機能だけでなく、データ通信機能が付属していたり、あるいは音楽再生機能が付属していたりする。この場合、1台の携帯機器18で複数のアプリケーションを同時並行して利用することができるため、それぞれのアプリケーションごとに通信プロファイルが異なっていれば、通信システム10の動作はマルチプロファイルになる。
(2) Multi-profile In this communication state, the in-vehicle unit 12 communicates simultaneously with any one of the portable devices 14 to 18 or with a plurality of portable devices 14 to 18 using a plurality of communication profiles. This is the case. For example, not only a standard voice call function but also a data communication function or a music playback function is attached to the mobile device 18 (mobile phone). In this case, since a plurality of applications can be used simultaneously in one portable device 18, if the communication profile is different for each application, the operation of the communication system 10 becomes a multi-profile.

あるいは、携帯機器14〜18がそれぞれ単一の通信プロファイルを用いるアプリケーションを実行していても、上記(1)のマルチコネクション状態において、携帯機器14〜18ごとに異なる通信プロファイルが使用された場合、通信システム10の動作はマルチコネクション及びマルチプロファイルとなる。   Alternatively, even if the mobile devices 14 to 18 are each executing an application that uses a single communication profile, when a different communication profile is used for each of the mobile devices 14 to 18 in the multi-connection state of (1) above, The operation of the communication system 10 is multi-connection and multi-profile.

本実施形態では、上記のように通信システム10の動作が複数の通信状態(特にマルチプロファイル)に変化することを踏まえ、通信システム10内で行われる通信処理を動的にコントロールする通信方法を採用している。以下、本実施形態で採用する通信方法の詳細について説明する。   In the present embodiment, based on the fact that the operation of the communication system 10 changes to a plurality of communication states (particularly multi-profile) as described above, a communication method that dynamically controls communication processing performed in the communication system 10 is adopted. is doing. Hereinafter, the details of the communication method employed in the present embodiment will be described.

〔BTモジュールの構成例〕
先ず、通信処理を動的にコントロールするために必要なハード構成の例について説明する。図2は、BTモジュール30のハード構成例を概略的に示すブロック図である。
[Configuration example of BT module]
First, an example of a hardware configuration necessary for dynamically controlling communication processing will be described. FIG. 2 is a block diagram schematically showing a hardware configuration example of the BT module 30.

BTモジュール30は、例えば内蔵型のBTアンテナ32及びRF回路34を有しており、これらBTアンテナ32及びRF回路34により他のBT機器(ここでは携帯機器14〜18)との間でBT規格による無線通信を行うことができる。   The BT module 30 includes, for example, a built-in BT antenna 32 and an RF circuit 34, and the BT standard between the BT antenna 32 and the RF circuit 34 with other BT devices (here, portable devices 14 to 18). Wireless communication can be performed.

またBTモジュール30は、ベースバンド部36及びプロトコルスタック38を有しており、このうちベースバンド部36は、RF回路34にて受信した信号をIF信号に変換し、復調してパケットデータ(受信パケット)を生成する。プロトコルスタック38は、例えばある程度の記憶容量を有したスタックレジスタであり、ここにはベースバンド部36で生成されたパケットデータが順次蓄積(スタック)されるものとなっている。なおプロトコルスタック38はFIFO形式である。   The BT module 30 includes a baseband unit 36 and a protocol stack 38. Among these, the baseband unit 36 converts a signal received by the RF circuit 34 into an IF signal, demodulates it, and packet data (reception) Packet). The protocol stack 38 is a stack register having a certain storage capacity, for example, and packet data generated by the baseband unit 36 is sequentially accumulated (stacked) therein. The protocol stack 38 is a FIFO format.

またプロトコルスタック38には、BTモジュール30からの送信用パケットデータ(送信フレーム)もまた順次蓄積されており、ここから取り出された送信用パケットデータは、上記のベースバンド部36で変調され、RF回路34及びBTアンテナ32を通じて携帯機器14〜18に送信される。   Further, the packet data for transmission (transmission frame) from the BT module 30 is also sequentially stored in the protocol stack 38, and the packet data for transmission extracted from this is modulated by the baseband unit 36 described above, and RF The signal is transmitted to the portable devices 14 to 18 through the circuit 34 and the BT antenna 32.

BTモジュール30はデータ送信処理部40及びデータ受信処理部42を有しており、上記の送信用パケットデータは、データ送信処理部40からプロトコルスタック38に順次転送される。一方、プロトコルスタック38に蓄積された受信済みのパケットデータは、データ受信処理部42にて順次読み出される。   The BT module 30 includes a data transmission processing unit 40 and a data reception processing unit 42, and the transmission packet data is sequentially transferred from the data transmission processing unit 40 to the protocol stack 38. On the other hand, the received packet data stored in the protocol stack 38 is sequentially read out by the data reception processing unit 42.

BTモジュール30は、データ送信処理部40による送信処理に関して複数の通信プロファイルに対応している。具体的には、BTモジュール30はDUN/SPPデータ送信処理部46及び他プロファイルデータ送信処理部50を有しており、これら複数の処理部46,50によりマルチプロファイル機能をカバーしている。このうちDUN/SPPデータ送信処理部46は、ダイヤルアップネットワークプロファイル及びシリアルポートプロファイルを用いたデータ送信処理を行う。また他プロファイルデータ送信処理部50は、上記の以外のプロファイルを用いたデータ送信処理を行うものである。   The BT module 30 supports a plurality of communication profiles with respect to transmission processing by the data transmission processing unit 40. Specifically, the BT module 30 includes a DUN / SPP data transmission processing unit 46 and another profile data transmission processing unit 50, and the plurality of processing units 46 and 50 cover the multi-profile function. Among these, the DUN / SPP data transmission processing unit 46 performs data transmission processing using a dial-up network profile and a serial port profile. The other profile data transmission processing unit 50 performs data transmission processing using a profile other than those described above.

またデータ受信処理に関して、同じくBTモジュール30はDUN/SPPデータ受信処理部52及び他プロファイルデータ受信処理部54を有している。このうちDUN/SPPデータ受信処理部52は、ダイヤルアップネットワークプロファイル及びシリアルポートプロファイルを用いたデータ受信処理を行う。また他プロファイルデータ受信処理部54は、上記の以外のプロファイルを用いたデータ受信処理を行うものである。   Further, regarding the data reception processing, the BT module 30 similarly includes a DUN / SPP data reception processing unit 52 and another profile data reception processing unit 54. Among these, the DUN / SPP data reception processing unit 52 performs data reception processing using a dial-up network profile and a serial port profile. The other profile data reception processing unit 54 performs data reception processing using a profile other than those described above.

〔クレジットベースドフローコントロール〕
上記のマルチプロファイルによるデータ送信処理及びデータ受信処理(通信処理)に関して、BTモジュール30は、RFCOMMプロトコルで定義されている必須機能のクレジットベースドフローコントロールを使用する。このためBTモジュール30はクレジット送信処理部44を有しており、このクレジット送信処理部44は、ローカルデバイス(車載ユニット12)からいずれかのリモートデバイス(携帯機器14〜18)に対してクレジット(フリークレジット)を送信する。なお、クレジットベースドフローコントロールの例についてはさらに後述する。
[Credit-based flow control]
Regarding the data transmission processing and data reception processing (communication processing) by the multi-profile described above, the BT module 30 uses the credit-based flow control of essential functions defined by the RFCOMM protocol. For this reason, the BT module 30 has a credit transmission processing unit 44. The credit transmission processing unit 44 receives credit (from the local device (vehicle unit 12) to any one of the remote devices (mobile devices 14 to 18). Free credit). An example of credit-based flow control will be described later.

またBTモジュール30はマルチプロファイル状態検知部48を有しており、このマルチプロファイル状態検知部48は、マルチプロファイル動作中にBTモジュール30による通信処理の状態の変化を検知する。具体的には、上記のダイヤルアップネットワークプロファイルやシリアルポートプロファイルに加えて、他のプロファイルとして例えば高度オーディオ配信プロファイル(A2DP)、ハンズフリープロファイル(HFP)等を用いて通信処理が実行されたことを検知したり、その通信処理が終了したことを検知したりする。   The BT module 30 has a multi-profile state detection unit 48, and this multi-profile state detection unit 48 detects a change in the state of communication processing by the BT module 30 during the multi-profile operation. Specifically, in addition to the dial-up network profile and serial port profile described above, communication processing has been executed using, for example, an advanced audio distribution profile (A2DP), a hands-free profile (HFP), etc. as another profile. Detecting or detecting that the communication process has ended.

そしてマルチプロファイル状態検知部48は、上記のようにマルチプロファイル動作中の状態の変化を検知すると、クレジット送信処理部44が送信するクレジット数を操作し、クレジットベースドフローコントロールによる通信処理を制御するためのトリガを発生する。なお、具体的な制御手法の例についてはさらに後述する。   When the multi-profile state detection unit 48 detects a change in state during the multi-profile operation as described above, the multi-profile state detection unit 48 operates the number of credits transmitted by the credit transmission processing unit 44 and controls communication processing by credit-based flow control. Generate a trigger. An example of a specific control method will be described later.

この他に、BTモジュール30はHOSTモジュール間制御部56を有しており、このHOSTモジュール間制御部56は、上記の車載ユニット12が有する制御部28をホスト(HOST)としたとき、このホストとBTモジュール30との間の通信を制御する。   In addition, the BT module 30 includes a HOST inter-module control unit 56. The HOST inter-module control unit 56 uses the host 28 as the host (HOST). And control the communication between the BT module 30.

例えば、ユーザが車載ユニット12の操作部22を通じてBT通信に関する操作を実行した場合、ホスト側の制御部28からHOSTモジュール間制御部56に動作信号が送信され、これを受けてHOSTモジュール間制御部56はDUN/SPPデータ送信処理部46や他プロファイルデータ送信処理部50の動作を制御する。またHOSTモジュール間制御部56は、DUN/SPPデータ受信処理部52や他プロファイルデータ受信処理部54により受信されたパケットデータをホスト側の制御部28に出力する。これにより、例えば携帯機器18からBT通信で受信したオーディオデータや音声通話データ等を車載ユニット12のスピーカ24から出力したり、マイク26で拾った音声を携帯機器18に転送したりすることが可能になる。   For example, when the user performs an operation relating to BT communication through the operation unit 22 of the in-vehicle unit 12, an operation signal is transmitted from the host-side control unit 28 to the HOST inter-module control unit 56, and in response thereto, the HOST inter-module control unit 56 controls the operation of the DUN / SPP data transmission processing unit 46 and the other profile data transmission processing unit 50. Further, the HOST inter-module control unit 56 outputs the packet data received by the DUN / SPP data reception processing unit 52 and the other profile data reception processing unit 54 to the control unit 28 on the host side. Thereby, for example, audio data or voice call data received from the portable device 18 by BT communication can be output from the speaker 24 of the in-vehicle unit 12, or voice picked up by the microphone 26 can be transferred to the portable device 18. become.

〔パケット通信方法〕
次に、本実施形態の通信システム10において使用されているパケット通信方法の一例について説明する。
[Packet communication method]
Next, an example of the packet communication method used in the communication system 10 of this embodiment will be described.

図3は、BTモジュール30が実行する通信処理の手順例を示したフローチャートである。この受信処理は、通信システム10内でローカルデバイスである車載ユニット12とリモートデバイスである携帯機器14〜18との間でRFCOMM接続が完了した後に開始される。なお、BT通信におけるRFCOMM接続のシーケンスについては公知のものを適用できるので、ここではその詳細を省略する。   FIG. 3 is a flowchart illustrating an example of a procedure of communication processing executed by the BT module 30. This reception process is started after the RFCOMM connection is completed between the in-vehicle unit 12 that is a local device and the mobile devices 14 to 18 that are remote devices in the communication system 10. It should be noted that since a well-known one can be applied to the RFCOMM connection sequence in BT communication, the details thereof are omitted here.

RFCOMM接続が完了すると、BTモジュール30内で上記のHOSTモジュール間制御部56をはじめクレジット送信処理部44、DUN/SPPデータ送信処理部46、他プロファイルデータ送信処理部50、DUN/SPPデータ受信処理部52、他プロファイルデータ受信処理部54等の演算処理機能を有した構成要素を用いて通信処理が実行される。   When the RFCOMM connection is completed, the credit transmission processing unit 44, the DUN / SPP data transmission processing unit 46, the other profile data transmission processing unit 50, and the DUN / SPP data reception processing in the BT module 30 as well as the inter-HOST module control unit 56 described above. The communication processing is executed using components having arithmetic processing functions such as the unit 52 and the other profile data reception processing unit 54.

この通信処理は、マルチプロファイル状態検知部48に予めトリガとなる条件を付与しておき、通信中のトリガ条件に応じてクレジット送信処理部44によるクレジット送信処理を動的に操作し、ダイアルアップネットワークやシリアルポートを用いたアプリケーションによるデータアクセス中の受信帯域を他のアプリケーションに割り当てるものである。以下、手順例に沿って説明する。   In this communication processing, a condition for triggering is given to the multi-profile state detection unit 48 in advance, and the credit transmission processing by the credit transmission processing unit 44 is dynamically operated according to the trigger condition during communication, A reception band during data access by an application using a serial port is allocated to another application. Hereinafter, it demonstrates along the example of a procedure.

ステップS10:RFCOMMプロトコルでのクレジットベースドフローコントロールにおいて、BTモジュール30は最初にクレジット送信処理部44によるフリークレジットの値を「0」に設定する。   Step S10: In credit-based flow control in the RFCOMM protocol, the BT module 30 first sets the value of the free credit by the credit transmission processing unit 44 to “0”.

ステップS12:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値をローカルデバイスにおける初期クレジットの値(例えば「7」)に設定する。   Step S12: Next, the BT module 30 sets the value of the current credit in the mobile devices 14 to 18 as remote devices to the value of the initial credit (for example, “7”) in the local device.

ステップS14:BTモジュール30は、通信処理のモードとして「モード1」を設定する。   Step S14: The BT module 30 sets “mode 1” as the communication processing mode.

ステップS16:次にBTモジュール30は、上記のマルチプロファイル状態検知部48により通信状態を確認する(検出工程)。   Step S16: Next, the BT module 30 confirms the communication state by the multi-profile state detection unit 48 (detection step).

ステップS18:そしてBTモジュール30は、上記の結果からマルチプロファイル状態検知部48においてトリガとなる条件が満たされたか否か(「コンディションC」の条件を満たすか否か)を判断する。例えば、以下に該当する場合を「コンディションC」の条件を満たすと判断することができる。   Step S18: Then, the BT module 30 determines whether or not a condition that triggers in the multi-profile state detection unit 48 is satisfied (whether or not the condition of “condition C” is satisfied) from the above result. For example, it can be determined that the condition of “condition C” is satisfied in the following cases.

〔コンディションCのトリガ条件〕
(1)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してオーディオアプリケーションの動作中に、マルチプロファイル状態検知部48がオーディオアプリケーションの状態を「停止中」から「再生中」に遷移したことを検知した場合。オーディオアプリケーションの動作中は通信処理にリアルタイム性が要求されるため、これをトリガ条件とする。
[Trigger condition for condition C]
(1) The fact that the multi-profile state detection unit 48 has changed the state of the audio application from “stopped” to “playing” while the audio application is operating concurrently with dial-up or data access using a serial port. If detected. Since real-time processing is required for communication processing during the operation of the audio application, this is set as a trigger condition.

(2)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してハンズフリーアプリケーションの動作中に、マルチプロファイル状態検知部48がハンズフリーアプリケーションの状態を「SLC接続中」から「通話中」に遷移したことを検知した場合。この場合、HFP通話の音質やHFPコントロールデータの受信処理を優先する必要があるため、これをトリガ条件とする。 (2) While the hands-free application is operating in parallel with dial-up or data access using the serial port, the multi-profile state detection unit 48 changes the state of the hands-free application from “SLC connected” to “busy”. When it is detected. In this case, since it is necessary to prioritize the sound quality of the HFP call and the reception processing of the HFP control data, this is set as a trigger condition.

(3)ダイアルアップやシリアルポートを用いたデータアクセスと同時並行してパーソナルインフォメーションマネージャアプリケーション(OPP、PBAP)の動作中に、マルチプロファイル状態検知部48がこれらアプリケーションの状態を「SLC接続中」から「データ取得中」に遷移したことを検知した場合。この場合も同様にデータの受信処理を優先する必要があるため、これをトリガ条件とする。なお、パーソナルインフォメーションマネージャアプリケーション(OPP、PBAP)の動作中にデータの受信処理を優先する必要があるのは、例えば携帯情報端末や携帯電話機である携帯機器16,18からアドレス帳等のデータを受信する際、そのデータ転送を所定時間(例えば数秒〜十数秒間)内で完了させる必要があることを考慮したものである。 (3) While the personal information manager application (OPP, PBAP) is operating simultaneously with dial-up or data access using a serial port, the multi-profile state detection unit 48 changes the status of these applications from “SLC connected” to “ When it is detected that the status has changed to “Acquiring data”. In this case as well, since it is necessary to prioritize the data reception process, this is used as a trigger condition. In addition, it is necessary to prioritize data reception processing during the operation of the personal information manager application (OPP, PBAP). For example, data such as an address book is received from portable devices 16 and 18 such as portable information terminals and cellular phones. In consideration of this, it is necessary to complete the data transfer within a predetermined time (for example, several seconds to several tens of seconds).

特に上記(1)〜(3)のトリガ条件が満たされていなければ(ステップS18:No)、BTモジュール30は次にステップS20に進む。   In particular, if the trigger conditions (1) to (3) are not satisfied (step S18: No), the BT module 30 proceeds to step S20.

ステップS20:現在は「モード1」に設定されているため(Yes)、BTモジュール30はここでステップS22を実行する。   Step S20: Since it is currently set to “mode 1” (Yes), the BT module 30 executes step S22 here.

ステップS22:この場合、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理1」を実行する。そして、この処理から復帰すると、BTモジュール30はステップS16に戻ってマルチプロファイル状態検知部48による通信状態の確認を継続する(検出工程)。   Step S22: In this case, the BT module 30 executes “RFCOMM data reception and credit transmission processing 1”. When returning from this process, the BT module 30 returns to step S16 and continues to check the communication state by the multi-profile state detection unit 48 (detection step).

これに対し、上記(1)〜(3)のいずれかのトリガ条件が満たされると(ステップS18:Yes)、BTモジュール30は次にステップS24に進む。   On the other hand, when any of the trigger conditions (1) to (3) is satisfied (step S18: Yes), the BT module 30 proceeds to step S24.

ステップS24:この場合、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理2」を実行する。   Step S24: In this case, the BT module 30 executes “RFCOMM data reception and credit transmission processing 2”.

ステップS26:次にBTモジュール30は、通信処理のモードとして「モード2」を設定する。そしてBTモジュール30は、ステップS16に戻り、マルチプロファイル状態検知部48による通信状態の確認を継続する。   Step S26: Next, the BT module 30 sets “mode 2” as the communication processing mode. Then, the BT module 30 returns to step S16 and continues to check the communication state by the multi-profile state detection unit 48.

上記(1)〜(3)のいずれかのトリガ条件が満たされなくなるまでの間(ステップS18:Yes)、BTモジュール30は引き続きステップS24に進み、「RFCOMMデータ受信及びクレジット送信処理2」を実行する(ステップS16〜ステップS26のループ)。   Until any of the trigger conditions (1) to (3) is not satisfied (step S18: Yes), the BT module 30 proceeds to step S24 and executes “RFCOMM data reception and credit transmission process 2”. (Loop from step S16 to step S26).

この後、上記(1)〜(3)のいずれかのトリガ条件が満たされなくなると(ステップS18:No)、BTモジュール30はステップS20に進み、現在のモードを確認する。   Thereafter, when any of the trigger conditions (1) to (3) is not satisfied (step S18: No), the BT module 30 proceeds to step S20 and confirms the current mode.

ステップS20:そして、この時点では「モード2」に設定されているため(No)、次にステップS28が実行されることになる。   Step S20: Since “mode 2” is set at this time (No), step S28 is executed next.

ステップS28:BTモジュール30は、「RFCOMMデータ受信及びクレジット送信補正処理」を実行する。   Step S28: The BT module 30 executes “RFCOMM data reception and credit transmission correction processing”.

〔RFCOMMデータ受信及びクレジット送信処理1〕
図4は、上記のステップS22で実行される「RFCOMMデータ受信及びクレジット送信処理1」の手順例を示すフローチャートである。以下、この処理について説明する。
[RFCOMM data reception and credit transmission processing 1]
FIG. 4 is a flowchart showing an example of the procedure of “RFCOMM data reception and credit transmission process 1” executed in step S22. Hereinafter, this process will be described.

ステップS40:BTモジュール30は、RFCOMMデータ受信を開始する。
ステップS42:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S40: The BT module 30 starts receiving RFCOMM data.
Step S42: The BT module 30 increments the value of the free credit by “1”. As a result, one previous free credit value is added.

ステップS44:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値を「1」デクリメントする。これにより、前回のカレントクレジットの値が1つ減算された状態となる。   Step S44: Next, the BT module 30 decrements the value of the current credit in the mobile devices 14 to 18 as remote devices by “1”. As a result, one previous current credit value is subtracted.

ステップS46:ここでBTモジュール30は、条件として「コンディションA」が満たされるか否かを判断する。なお「コンディションA」は、例えば以下の内容とすることができる。   Step S46: Here, the BT module 30 determines whether or not “condition A” is satisfied as a condition. “Condition A” may have the following contents, for example.

カレントクレジット≦Th1 かつ フリークレジット≧Th2
ただし、ローカルデバイスの初期クレジット=Th1+Th2である。なお、上記の例では初期クレジットの値を「7」としているので、ここではTh1=1、Th2=6とする。
Current credit ≤ Th1 and free credit ≥ Th2
However, the initial credit of the local device = Th1 + Th2. In the above example, since the value of the initial credit is “7”, Th1 = 1 and Th2 = 6 are set here.

特に「コンディションA」の条件が満たされない場合(ステップS46:No)、BTモジュール30はステップS40に戻ってRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS42)、代わりにカレントクレジットの値をデクリメントすると(ステップS44)、再びBTモジュール30は「コンディションA」の条件を満たすか否かを判断する。   In particular, when the condition of “condition A” is not satisfied (step S46: No), the BT module 30 returns to step S40 and repeats reception of RFCOMM data. Then, when the value of the free credit is incremented (step S42) and the value of the current credit is decremented instead (step S44), the BT module 30 determines again whether the condition of “condition A” is satisfied.

このように、カレントクレジットの値がTh1=「1」以下になり、かつ、フリークレジットの値がTh2=「6」以上になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。   Thus, the BT module 30 repeats the reception of RFCOMM data until the value of the current credit becomes Th1 = “1” or less and the value of the free credit becomes Th2 = “6” or more. Therefore, the remote device can transmit packet data to the local device until the current credit given by the initial credit value does not remain.

この後、カレントクレジットの値がTh1以下になり、かつ、フリークレジットの値がTh2以上になると、「コンディションA」の条件が満たされるので(ステップS46:Yes)、BTモジュール30は次にステップS48を実行する。   Thereafter, when the value of the current credit is equal to or less than Th1 and the value of the free credit is equal to or greater than Th2, the condition of “condition A” is satisfied (step S46: Yes), so the BT module 30 next executes step S48. Execute.

ステップS48:ここでBTモジュール30は、クレジットとして「フリークレジットA」をリモートデバイスに送信する。このときの「フリークレジットA」は、現在の「フリークレジット」に等しい。したがって上記の例では「6」が送信されることになる。   Step S48: Here, the BT module 30 transmits “free credit A” as a credit to the remote device. The “free credit A” at this time is equal to the current “free credit”. Therefore, in the above example, “6” is transmitted.

ステップS50:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS52:そしてBTモジュール30は、カレントクレジットの値=「1」に「フリークレジットA」=「6」を加算して、カレントクレジットの値を「7」に更新する。
Step S50: Next, the BT module 30 resets the value of the free credit to “0”.
Step S52: The BT module 30 adds “free credit A” = “6” to the current credit value = “1” and updates the current credit value to “7”.

このように、「RFCOMMデータ受信及びクレジット送信処理1」では、以上の手順を繰り返しながら通信処理が行われる。   As described above, in the “RFCOMM data reception and credit transmission process 1”, the communication process is performed while repeating the above procedure.

〔通信処理シーケンス〕
図5は、「RFCOMMデータ受信及びクレジット送信処理1」による通信処理の流れを示すシーケンス図である。図5中、左側カラムにはローカルデバイス(BTモジュール30)による処理を示し、右側カラムにはリモートデバイス(例えば携帯機器18)による処理を示す。なお以下の説明では、それぞれを単にローカルデバイス、リモートデバイスと一般化して呼称する。
[Communication processing sequence]
FIG. 5 is a sequence diagram showing a flow of communication processing by “RFCOMM data reception and credit transmission processing 1”. In FIG. 5, the left column shows processing by the local device (BT module 30), and the right column shows processing by the remote device (for example, the portable device 18). In the following description, these are simply referred to as a local device and a remote device, respectively.

ST1:シーケンス初期において、ローカルデバイスとリモートデバイスとの間でRFCOMM接続が完了する。   ST1: At the initial stage of the sequence, the RFCOMM connection is completed between the local device and the remote device.

ST2:ローカルデバイスのフリークレジットの値が「0」に設定される。
ST3:リモートデバイスにおいて、カレントクレジットの値はローカルデバイスの初期クレジットの値=「7」に設定される。この値は、これからローカルデバイスが受信可能なパケット数を指定したものである。RFCOMMプロトコルで規定されたクレジットベースドフローコントロールでは、リモートデバイスにおいてカレントクレジットの値が「0」になるまでの間、フレーム送信(パケットデータの送信)が可能である。
ST2: The free credit value of the local device is set to “0”.
ST3: In the remote device, the value of the current credit is set to the initial credit value of the local device = “7”. This value specifies the number of packets that can be received by the local device. In credit-based flow control defined by the RFCOMM protocol, frame transmission (transmission of packet data) is possible until the current credit value becomes “0” in the remote device.

ST4:このためリモートデバイスは、ローカルデバイスに対してパケットデータを送信する。   ST4: For this reason, the remote device transmits packet data to the local device.

ST5:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST6:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST5: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST6: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.

ST7:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST7: Since the current credit still remains, the remote device transmits packet data to the local device.

ST8:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST9:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST8: When receiving the RFCOMM data, the local device increments the free credit value to “2”.
ST9: On the other hand, the remote device decrements the value of the current credit to “5”.

ST10:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST10: Since the current credit still remains, the remote device transmits packet data to the local device.

ST11:以上の処理を繰り返し、ローカルデバイスのフリークレジットの値が「6」までインクリメントされる。
ST12:このときリモートデバイスは、カレントクレジットの値が「1」までデクリメントされている。
ST11: The above process is repeated, and the free credit value of the local device is incremented to “6”.
ST12: At this time, the remote device has been decremented until the value of the current credit is “1”.

ST13:ここで上記の「コンディションA」の条件が満たされるので、ローカルデバイスは「フリークレジットA」をリモートデバイスに送信する。
ST14:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST13: Since the condition of the above “condition A” is satisfied, the local device transmits “free credit A” to the remote device.
ST14: The local device resets the value of the free credit to “0”.

ST15:リモートデバイスは、カレントクレジットに「フリークレジットA」を加算し、カレントクレジットの値を「7」に更新する。   ST15: The remote device adds “free credit A” to the current credit and updates the value of the current credit to “7”.

ST16:「コンディションA」の条件は満たされなくなり、カレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信することができる。   ST16: Since the condition of “condition A” is not satisfied and the current credit remains, the remote device can transmit packet data to the local device.

ST17:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST18:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST17: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST18: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.

ST19:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST19: Since the current credit still remains, the remote device transmits packet data to the local device.

ST20:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST21:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST20: When receiving the RFCOMM data, the local device increments the value of the free credit to “2”.
ST21: On the other hand, the remote device decrements the value of the current credit to “5”.

ST22:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST22: Since the current credit still remains, the remote device transmits packet data to the local device.

ST23:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「3」にインクリメントする。
ST24:一方、リモートデバイスは、カレントクレジットの値を「4」にデクリメントする。
ST23: When receiving the RFCOMM data, the local device increments the value of the free credit to “3”.
ST24: On the other hand, the remote device decrements the value of the current credit to “4”.

以下、所望量のデータ転送が完了するまでの間、同様にして通信処理のシーケンスが実行される。BTモジュール30は、図4の「RFCOMMデータ受信及びクレジット送信処理1」の実行中、例えばタイマ割り込みを発生させて所望量のデータ転送が完了したか否かを確認している。いずれかの割り込み周期でデータ転送が完了していれば、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理1」を抜けて図3の通信処理に復帰する。   Thereafter, the communication processing sequence is executed in a similar manner until a desired amount of data transfer is completed. During the execution of “RFCOMM data reception and credit transmission process 1” in FIG. 4, the BT module 30 generates a timer interrupt, for example, and confirms whether or not a desired amount of data transfer has been completed. If the data transfer is completed in any interrupt cycle, the BT module 30 exits the “RFCOMM data reception and credit transmission process 1” and returns to the communication process of FIG.

以上の通信処理シーケンスは、マルチプロファイル状態検知部48においてトリガ条件が満たされる前の内容であるが、トリガ条件が満たされた場合は以下の処理が実行される。   The communication processing sequence described above is the content before the trigger condition is satisfied in the multi-profile state detection unit 48. When the trigger condition is satisfied, the following processing is executed.

〔RFCOMMデータ受信及びクレジット送信処理2〕
図6は、上記のステップS24で実行される「RFCOMMデータ受信及びクレジット送信処理2」の手順例を示すフローチャートである。以下、この処理について説明する。
[RFCOMM data reception and credit transmission processing 2]
FIG. 6 is a flowchart showing a procedure example of the “RFCOMM data reception and credit transmission process 2” executed in step S24. Hereinafter, this process will be described.

ステップS60:BTモジュール30は、ダイヤルアップやシリアルポートのデータアクセスに関する通信処理中に待機時間(例えば500msec)を挿入して待機する(待機工程)。   Step S60: The BT module 30 inserts a standby time (for example, 500 msec) during a communication process related to dial-up or serial port data access and waits (standby step).

ステップS62:待機時間が経過すると、BTモジュール30はRFCOMMデータ受信を開始する。
ステップS64:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S62: When the standby time elapses, the BT module 30 starts receiving RFCOMM data.
Step S64: The BT module 30 increments the value of the free credit by “1”. As a result, one previous free credit value is added.

ステップS66:次にBTモジュール30は、リモートデバイスである携帯機器14〜18でのカレントクレジットの値を「1」デクリメントする。これにより、前回のカレントクレジットの値が1つ減算された状態となる。   Step S66: Next, the BT module 30 decrements the value of the current credit in the mobile devices 14 to 18 as remote devices by “1”. As a result, one previous current credit value is subtracted.

ステップS68:ここでBTモジュール30は、条件として「コンディションB」が満たされるか否かを判断する。ここでいう「コンディションB」は、例えば以下の内容とすることができる。   Step S68: Here, the BT module 30 determines whether or not “condition B” is satisfied as a condition. “Condition B” here may have the following contents, for example.

カレントクレジット≦Th3 かつ フリークレジット≧Th4
ただし、Th3はTh1より小さく、またTh4はTh2より小さい値とする。ここでは例えば、Th3=0、Th4=1とする。
Current credit ≤ Th3 and free credit ≥ Th4
However, Th3 is smaller than Th1, and Th4 is smaller than Th2. Here, for example, Th3 = 0 and Th4 = 1.

特に「コンディションB」の条件が満たされない場合(ステップS68:No)、BTモジュール30はステップS60に戻って待機時間だけ待機した後、ステップS62に進んでRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS64)、代わりにカレントクレジットの値をデクリメントすると(ステップS66)、再びBTモジュール30は「コンディションB」の条件を満たすか否かを判断する。   In particular, when the condition of “condition B” is not satisfied (step S68: No), the BT module 30 returns to step S60 and waits for the standby time, and then proceeds to step S62 to repeat reception of RFCOMM data. Then, when the value of the free credit is incremented (step S64) and the value of the current credit is decremented instead (step S66), the BT module 30 determines again whether or not the condition “condition B” is satisfied.

このように、カレントクレジットの値がTh3=「0」以下になり、かつ、フリークレジットの値がTh4=「1」以上になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。   As described above, the BT module 30 repeats the RFCOMM data reception until the current credit value becomes Th3 = “0” or less and the free credit value becomes Th4 = “1” or more. Therefore, the remote device can transmit packet data to the local device until the current credit given by the initial credit value does not remain.

この後、カレントクレジットの値がTh3以下(=0)になり、かつ、フリークレジットの値がTh4以上(=1)になると、「コンディションB」の条件が満たされるので(ステップS68:Yes)、BTモジュール30は次にステップS70を実行する。   Thereafter, when the value of the current credit is equal to or less than Th3 (= 0) and the value of the free credit is equal to or greater than Th4 (= 1), the condition of “condition B” is satisfied (step S68: Yes). The BT module 30 next executes step S70.

ステップS70:ここでBTモジュール30は、クレジットとして「フリークレジットB」をリモートデバイスに送信する。このときの「フリークレジットB」は、Th4=「1」と同値である。したがって上記の例では「1」が送信されることになる。   Step S70: Here, the BT module 30 transmits “free credit B” as a credit to the remote device. “Free credit B” at this time is equivalent to Th4 = “1”. Therefore, “1” is transmitted in the above example.

ステップS72:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS74:そしてBTモジュール30は、カレントクレジットの値=「0」に「フリークレジットB」=「1」を加算して、カレントクレジットの値を「1」に更新する。
Step S72: Next, the BT module 30 resets the value of the free credit to “0”.
Step S74: The BT module 30 adds “free credit B” = “1” to the current credit value = “0” and updates the current credit value to “1”.

次にBTモジュール30がステップS62でRFCOMMデータ受信を行うと、ステップS64でフリークレジットの値が「1」となるが、ステップS66でカレントクレジットの値は1度のRFCOMMデータ受信で「0」になる。このためリモートデバイスは、ローカルデバイスに対してパケットデータを送信することができなくなり、ステップS70〜ステップS74を経てステップS60に戻ることになる。そして、ステップS60で待機時間を待機し、次のRFCOMMデータ受信を行う。   Next, when the BT module 30 receives the RFCOMM data in step S62, the free credit value becomes “1” in step S64, but the current credit value becomes “0” in one reception of the RFCOMM data in step S66. Become. For this reason, the remote device cannot transmit packet data to the local device, and returns to step S60 through steps S70 to S74. In step S60, the standby time is waited, and the next RFCOMM data is received.

このように、「RFCOMMデータ受信及びクレジット送信処理2」では、以上の手順を繰り返しながら通信処理が行われるが、この間、カレントクレジットの値は最大で「1」にしかならないので、ローカルデバイスが受信可能なパケット数が減少する(減少工程)。また、RFCOMMデータ受信を1度行うごとに待機時間が挿入されるため、それだけ通信処理にかかる時間が遅延する(待機工程)。   As described above, in the “RFCOMM data reception and credit transmission process 2”, the communication process is performed while repeating the above procedure. During this time, the current credit value is only “1” at the maximum, so that the local device receives it. The number of possible packets is reduced (decreasing process). In addition, since the standby time is inserted every time RFCOMM data reception is performed, the time required for communication processing is delayed accordingly (standby step).

〔通信処理シーケンス〕
図7は、「RFCOMMデータ受信及びクレジット送信処理2」による通信処理の流れを示すシーケンス図である。
[Communication processing sequence]
FIG. 7 is a sequence diagram showing a flow of communication processing by “RFCOMM data reception and credit transmission processing 2”.

ST50:シーケンス初期において、ローカルデバイスとリモートデバイスとの間でRFCOMM接続が完了する。   ST50: At the beginning of the sequence, the RFCOMM connection is completed between the local device and the remote device.

ST51:ローカルデバイスのフリークレジットの値が「0」に設定される。
ST52:リモートデバイスにおいて、カレントクレジットの値はローカルデバイスの初期クレジットの値=「7」に設定される。この値は、上記と同様にこれからローカルデバイスが受信可能なパケット数を指定したものである。
ST51: The free credit value of the local device is set to “0”.
ST52: In the remote device, the value of the current credit is set to the initial credit value of the local device = “7”. This value specifies the number of packets that can be received from the local device in the same manner as described above.

ST53:リモートデバイスは、ローカルデバイスに対してパケットデータを送信する。   ST53: The remote device transmits packet data to the local device.

ST54:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST55:一方、リモートデバイスは、カレントクレジットの値を「7」から「6」にデクリメントする。
ST54: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST55: On the other hand, the remote device decrements the value of the current credit from “7” to “6”.

ST56:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST56: Since the current credit still remains, the remote device transmits packet data to the local device.

ST57:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「2」にインクリメントする。
ST58:一方、リモートデバイスは、カレントクレジットの値を「5」にデクリメントする。
ST57: When receiving RFCOMM data, the local device increments the value of the free credit to “2”.
ST58: On the other hand, the remote device decrements the value of the current credit to “5”.

ST59:未だカレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信する。   ST59: Since the current credit still remains, the remote device transmits packet data to the local device.

ST60:以上の処理を繰り返し、ローカルデバイスのフリークレジットの値が「7」までインクリメントされる。
ST61:このときリモートデバイスは、カレントクレジットの値が「0」までデクリメントされている。したがって、リモートデバイスはこれ以上、パケットデータを送信することができない。
ST60: The above processing is repeated, and the free credit value of the local device is incremented to “7”.
ST61: At this time, the remote device has been decremented until the value of the current credit is “0”. Therefore, the remote device cannot transmit packet data any more.

ST62:ここでローカルデバイスは、設定した待機時間を待機する。
ST63:上記の「コンディションB」の条件が満たされるので、ローカルデバイスは「フリークレジットB」をリモートデバイスに送信する。
ST64:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST62: Here, the local device waits for the set standby time.
ST63: Since the condition of “condition B” is satisfied, the local device transmits “free credit B” to the remote device.
ST64: The local device resets the value of the free credit to “0”.

ST65:リモートデバイスは、カレントクレジットに「フリークレジットB」を加算し、カレントクレジットの値を「1」に更新する。   ST65: The remote device adds “free credit B” to the current credit and updates the value of the current credit to “1”.

ST66:「コンディションB」の条件は満たされなくなり、カレントクレジットが残存しているので、リモートデバイスはパケットデータをローカルデバイスに対して送信することができる。   ST66: Since the condition of “condition B” is not satisfied and the current credit remains, the remote device can transmit packet data to the local device.

ST67:RFCOMMデータ受信を行うと、ローカルデバイスはフリークレジットの値を「1」にインクリメントする。
ST68:一方、リモートデバイスは、カレントクレジットの値を「1」から「0」にデクリメントする。これにより、リモートデバイスはこれ以上、パケットデータを送信することができなくなる。
ST67: When receiving the RFCOMM data, the local device increments the value of the free credit to “1”.
ST68: On the other hand, the remote device decrements the value of the current credit from “1” to “0”. As a result, the remote device can no longer transmit packet data.

ST69:ここでローカルデバイスは、また設定した待機時間を待機する。
ST70:上記の「コンディションB」の条件が満たされるので、ローカルデバイスは「フリークレジットB」をリモートデバイスに送信する。
ST69: Here, the local device waits for the set waiting time.
ST70: Since the condition of “condition B” is satisfied, the local device transmits “free credit B” to the remote device.

ST71:そしてローカルデバイスは、フリークレジットの値を「0」にリセットする。
ST72:リモートデバイスは、カレントクレジットに「フリークレジットB」を加算し、カレントクレジットの値を「1」に更新する。これにより、リモートデバイスは1パケット分だけデータを送信することが可能になる。
ST71: The local device resets the value of the free credit to “0”.
ST72: The remote device adds “free credit B” to the current credit and updates the value of the current credit to “1”. As a result, the remote device can transmit data for one packet.

以下、所望量のデータ転送が完了するまでの間、同様にして通信処理のシーケンスが実行される。BTモジュール30は、図6の「RFCOMMデータ受信及びクレジット送信処理2」の実行中、例えばタイマ割り込みを発生させて所望量のデータ転送が完了したか否かを確認している。いずれかの割り込み周期でデータ転送が完了していれば、BTモジュール30は「RFCOMMデータ受信及びクレジット送信処理2」を抜けて図3の通信処理に復帰する。   Thereafter, the communication processing sequence is executed in a similar manner until a desired amount of data transfer is completed. During the execution of “RFCOMM data reception and credit transmission process 2” in FIG. 6, the BT module 30 generates a timer interrupt, for example, and confirms whether or not a desired amount of data transfer has been completed. If the data transfer is completed in any interrupt cycle, the BT module 30 exits the “RFCOMM data reception and credit transmission process 2” and returns to the communication process of FIG.

ただし、「RFCOMMデータ受信及びクレジット送信処理2」の実行中は1回のRFCOMMデータ受信ごとに待機時間が挿入されるので、相対的に別の通信プロファイルを用いた通信処理に割り当てられる時間が長くなる。また、1回のRFCOMMデータ受信が可能なパケット数が減少するため、別の通信プロファイルを用いた通信処理(特に図示していない)について相対的にパケット数が増加し、それだけデータ受信帯域が広げられることとなる。   However, during the execution of “RFCOMM data reception and credit transmission process 2”, a standby time is inserted for each reception of RFCOMM data, so that a relatively long time is allocated to a communication process using a different communication profile. Become. In addition, since the number of packets that can be received by one RFCOMM data is decreased, the number of packets is relatively increased for communication processing using another communication profile (not shown in particular), and the data reception band is widened accordingly. Will be.

〔RFCOMMデータ受信及びクレジット送信補正処理〕
次に図8は、「RFCOMMデータ受信及びクレジット送信補正処理」の手順例を示すフローチャートである。この処理は、図3の通信処理において「コンディションC」のトリガ条件が満たされた後、この条件が満たされなくなった場合に実行される。
[RFCOMM data reception and credit transmission correction processing]
Next, FIG. 8 is a flowchart showing an example of the procedure of “RFCOMM data reception and credit transmission correction processing”. This process is executed when this condition is not satisfied after the trigger condition of “condition C” is satisfied in the communication process of FIG. 3.

ステップS80:ここでもBTモジュール30は、RFCOMMデータ受信を実行する。
ステップS82:またBTモジュール30は、フリークレジットの値を「1」インクリメントする。これにより、前回のフリークレジットの値が1つ加算された状態となる。
Step S80: Again, the BT module 30 performs RFCOMM data reception.
Step S82: The BT module 30 increments the value of the free credit by “1”. As a result, one previous free credit value is added.

ステップS84:次にBTモジュール30は、リモートデバイスでのカレントクレジットの値を「1」デクリメントする。   Step S84: Next, the BT module 30 decrements the value of the current credit at the remote device by “1”.

ステップS86:ここでBTモジュール30は、条件として「コンディションD」が満たされるか否かを判断する。なお「コンディションD」は、例えば以下の内容とすることができる。   Step S86: Here, the BT module 30 determines whether or not “condition D” is satisfied as a condition. “Condition D” may have the following content, for example.

カレントクレジット=「0」   Current credit = “0”

特に「コンディションD」の条件(つまりカレントクレジット=0)が満たされない場合(ステップS86:No)、BTモジュール30はステップS80に戻ってRFCOMMデータ受信を繰り返す。そして、フリークレジットの値をインクリメントし(ステップS82)、代わりにカレントクレジットの値をデクリメントすると(ステップS84)、再びBTモジュール30は「コンディションD」の条件を満たすか否かを判断する。   In particular, when the condition of “condition D” (that is, current credit = 0) is not satisfied (step S86: No), the BT module 30 returns to step S80 and repeats reception of RFCOMM data. Then, when the value of the free credit is incremented (step S82) and the value of the current credit is decremented instead (step S84), the BT module 30 determines again whether or not the condition “condition D” is satisfied.

このように、カレントクレジットの値が「0」になるまでの間、BTモジュール30はRFCOMMデータ受信を繰り返す。したがってリモートデバイスは、初期クレジットの値で与えられたカレントクレジットが残存しなくなるまでの間、ローカルデバイスに対してパケットデータを送信することができる。   Thus, the BT module 30 repeats the RFCOMM data reception until the current credit value becomes “0”. Therefore, the remote device can transmit packet data to the local device until the current credit given by the initial credit value does not remain.

この後、カレントクレジットの値が「0」になると、「コンディションD」の条件が満たされるので(ステップS86:Yes)、BTモジュール30は次にステップS88を実行する。   Thereafter, when the value of the current credit becomes “0”, the condition of “condition D” is satisfied (step S86: Yes), so the BT module 30 next executes step S88.

ステップS88:ここでBTモジュール30は、クレジットとして「フリークレジットD」をリモートデバイスに送信する。このときの「フリークレジットD」は、ローカルデバイスの初期クレジットに等しい。したがって上記の例では「7」が送信されることになる。   Step S88: Here, the BT module 30 transmits “free credit D” as a credit to the remote device. The “free credit D” at this time is equal to the initial credit of the local device. Therefore, “7” is transmitted in the above example.

ステップS90:次にBTモジュール30は、フリークレジットの値を「0」にリセットする。
ステップS92:そしてBTモジュール30は、カレントクレジットの値=「0」に「フリークレジットD」=「7」を加算して、カレントクレジットの値を「7」に更新する。
Step S90: Next, the BT module 30 resets the value of the free credit to “0”.
Step S92: The BT module 30 adds “free credit D” = “7” to the current credit value = “0” and updates the current credit value to “7”.

ステップS94:BTモジュール30は「モード1」を設定し、図3の通信処理に復帰する。   Step S94: The BT module 30 sets “mode 1” and returns to the communication process of FIG.

この後、「モード1」が設定されているので、次にトリガ条件が満たされるまでの間(図3のステップS18:No、ステップS20:Yes)、「RFCOMMデータ受信及びクレジット送信処理1」が実行されることになる。   Thereafter, since “mode 1” is set, “RFCOMM data reception and credit transmission processing 1” is performed until the next trigger condition is satisfied (step S18: No, step S20: Yes in FIG. 3). Will be executed.

以上のように本実施形態では、マルチプロファイル状態検知部48にトリガとなる条件を付与し、通信状態が変化するごとに「RFCOMMデータ受信及びクレジット送信処理1」と「RFCOMMデータ受信及びクレジット送信処理2」とを動的に切り替えることにより、ダイアルアップやシリアルポートを用いたアプリケーションによるデータアクセス中の受信帯域を他のアプリケーションに割り当てることが可能となる。   As described above, in the present embodiment, a trigger condition is given to the multi-profile state detection unit 48, and “RFCOMM data reception and credit transmission processing 1” and “RFCOMM data reception and credit transmission processing” are performed each time the communication state changes. By dynamically switching to “2”, it becomes possible to allocate a reception band during data access by an application using dial-up or a serial port to another application.

また、「RFCOMMデータ受信及びクレジット送信処理2」の実行中にマルチプロファイル状態検知部48がオーディオアプリケーションの状態を「再生中」から「停止中」に遷移したことを検知した場合、あるいは、「RFCOMMデータ受信及びクレジット送信処理2」の実行中にマルチプロファイル状態検知部48がハンズフリーアプリケーションの状態を「通話中」から「SLC接続中」に遷移したことを検知した場合、図8の「補正処理」を経て「RFCOMMデータ受信及びクレジット送信処理1」に切り替え、できるだけデータ受信のスループットを優先することができる。   Further, when the multi-profile state detection unit 48 detects that the state of the audio application has changed from “playing” to “stopped” during the execution of “RFCOMM data reception and credit transmission process 2”, or “RFCOMM When the multi-profile state detection unit 48 detects that the state of the hands-free application has changed from “busy” to “SLC connected” during the execution of “data reception and credit transmission process 2”, the “correction process” of FIG. ”To switch to“ RFCOMM data reception and credit transmission processing 1 ”, giving priority to data reception throughput as much as possible.

〔製品市場での有用性〕
特に近年のBT通信のユーザーシナリオにおいては、マルチコネクションやマルチプロファイルでの動作及び品質の向上が製品市場から求められている。その中で個々のプロファイル(アプリケーション)によっては、音声通話やオーディオ伝送等、リアルタイム性や音質を厳しく問われる要素と、ダイアルアップ(DUN/SPP)のように、ベストエフォート型データ通信の要素に大別することができるが、これらを最大限に共存させるため、送信/受信帯域の制御が課題となっている。
[Usefulness in the product market]
Particularly in recent user scenarios of BT communication, improvement of operation and quality by multi-connection and multi-profile is required from the product market. Depending on the individual profiles (applications), there are roughly divided into elements that require strict real-time performance and sound quality, such as voice calls and audio transmission, and elements of best-effort data communication such as dial-up (DUN / SPP). However, in order to allow these to coexist as much as possible, control of the transmission / reception bandwidth is an issue.

本実施形態の通信方法では、リアルタイム性や品質が求められる要素とベストエフォート型データ通信の要素が同時並行して通信を実行中に、前者が通話中又はオーディオ再生中の状態になったことを検出した場合、後者の要素に関してクレジット数及びその送信条件、送信方法を適応的に変更することができ、それにより受信可能なパケット数を制限し、結果として後者の要素に関して受信帯域を相対的に減少させ、逆に前者のリアルタイム性及び音質を可能な限り改善する効果がある。   In the communication method of this embodiment, the former is in a call or audio playback state while an element for which real-time property and quality are required and an element for best effort data communication are being executed in parallel. If detected, the number of credits, the transmission conditions, and the transmission method can be adaptively changed with respect to the latter element, thereby limiting the number of receivable packets, and as a result, the reception band is relatively set with respect to the latter element. On the contrary, it has the effect of improving the former real-time property and sound quality as much as possible.

また、前者の通信において終話又はオーディオ停止の状態を検出した場合、本来の通信処理に復帰させることによって受信帯域を可能な限り増加させ、データ受信のスループットを確保することができる。   Further, when the end of communication or the state of audio stop is detected in the former communication, the reception bandwidth can be increased as much as possible by returning to the original communication processing, and the data reception throughput can be ensured.

本発明は上述した実施形態に制約されることなく、各種の変形を伴って実施することができる。一実施形態で挙げたBTモジュール30の構成はあくまで機能的なブロック要素の例示であり、これらの機能をマイクロコンピュータ(CPU)のリソースで全て賄い、それぞれの機能をアプリケーションで実現してもよい。   The present invention can be implemented with various modifications without being limited to the above-described embodiments. The configuration of the BT module 30 described in the embodiment is merely an example of functional block elements, and these functions may be covered by resources of a microcomputer (CPU), and each function may be realized by an application.

また、一実施形態では通信処理を優先するものとしてオーディオデータや音声通話データ等を例に挙げているが、映像データを転送する際にも本発明の通信方法を適用することができる。   In the embodiment, audio data, voice call data, and the like are given as an example for giving priority to communication processing. However, the communication method of the present invention can also be applied when transferring video data.

通信システムの構成例を概略的に示す図である。1 is a diagram schematically illustrating a configuration example of a communication system. BTモジュールのハード構成例を概略的に示すブロック図である。It is a block diagram which shows roughly the hardware structural example of BT module. BTモジュール30が実行する通信処理の手順例を示したフローチャートである。5 is a flowchart illustrating an exemplary procedure of communication processing executed by the BT module 30. 「RFCOMMデータ受信及びクレジット送信処理1」の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of "RFCOMM data reception and credit transmission process 1". 「RFCOMMデータ受信及びクレジット送信処理1」による通信処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the communication process by "RFCOMM data reception and credit transmission process 1". 「RFCOMMデータ受信及びクレジット送信処理2」の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of "RFCOMM data reception and credit transmission process 2". 「RFCOMMデータ受信及びクレジット送信処理2」による通信処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the communication process by "RFCOMM data reception and credit transmission process 2". 「RFCOMMデータ受信及びクレジット送信補正処理」の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of "RFCOMM data reception and a credit transmission correction process."

符号の説明Explanation of symbols

10 通信システム
12 車載ユニット
14,16,18 携帯機器
30 BTモジュール
44 クレジット送信処理部
46 DUN/SPPデータ送信処理部
48 マルチプロファイル状態検知部
50 他プロファイルデータ送信処理部
52 DUN/SPPデータ受信処理部
54 他プロファイルデータ受信処理部
DESCRIPTION OF SYMBOLS 10 Communication system 12 Car unit 14, 16, 18 Portable apparatus 30 BT module 44 Credit transmission process part 46 DUN / SPP data transmission process part 48 Multi-profile state detection part 50 Other profile data transmission process part 52 DUN / SPP data reception process part 54 Other Profile Data Reception Processing Unit

Claims (6)

複数の通信プロファイルを用いて通信する機能を有したローカルデバイス及びリモートデバイスから構成される通信システム内で、ローカルデバイスとリモートデバイスとの通信開始時に予めローカルデバイスが受信可能なパケット数をリモートデバイスに通知し、この通知されたパケット数分のデータをリモートデバイスからローカルデバイスに送信してローカルデバイスで受信する通信処理を繰り返しながら所望量のパケットデータを送受信するパケット通信方法において、
ローカルデバイスがいずれかのリモートデバイスとの間で前記通信処理を実行する際、複数ある通信プロファイルの中でいずれの通信プロファイルを用いて前記通信処理が実行されているかを検出する工程と、
ローカルデバイスが特定のリモートデバイスとの間で前記通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の前記通信処理が実行されたことを検出した場合、現在実行中の前記通信処理の中でローカルデバイスが前記特定のリモートデバイスに通知する受信可能なパケット数を減少させることにより、別の通信プロファイルを用いた前記通信処理の中でローカルデバイスが受信可能なパケット数を相対的に増加させる工程と
を有するパケット通信方法。
In a communication system composed of a local device and a remote device having a function of communicating using a plurality of communication profiles, the number of packets that can be received in advance by the local device at the start of communication between the local device and the remote device is stored in the remote device. In the packet communication method of transmitting and receiving a desired amount of packet data while repeating the communication process of transmitting and receiving data for the notified number of packets from the remote device to the local device and receiving at the local device,
When the local device executes the communication processing with any remote device, detecting which communication profile is used to perform the communication processing among a plurality of communication profiles;
While the local device is performing the communication process with a specific remote device, another communication profile with a different communication profile that is different from the current one with the same specific remote device or another remote device is used. When it is detected that a process has been executed, another communication profile is used by reducing the number of receivable packets that the local device notifies to the specific remote device in the currently executing communication process. And a step of relatively increasing the number of packets that can be received by the local device during the communication process.
請求項1に記載のパケット通信方法において、
ローカルデバイスが特定のリモートデバイスとの間で前記通信処理を実行中に、同じ特定のリモートデバイスか、もしくは別のリモートデバイスとの間で現在とは異なる別の通信プロファイルを用いて別の前記通信処理が実行されたことを検出した場合、現在実行中の前記通信処理の中に待機時間を挿入する工程をさらに有するパケット通信方法。
The packet communication method according to claim 1,
While the local device is performing the communication process with a specific remote device, another communication profile with a different communication profile that is different from the current one with the same specific remote device or another remote device is used. A packet communication method further comprising a step of inserting a waiting time into the currently executed communication process when it is detected that the process has been executed.
請求項2に記載のパケット通信方法において、
前記待機時間を挿入する工程では、
現在実行中の前記通信処理の中でローカルデバイスが前記特定のリモートデバイスに受信可能なパケット数を通知する前に待機時間を挿入することを特徴とするパケット通信方法。
The packet communication method according to claim 2,
In the step of inserting the waiting time,
A packet communication method, wherein a waiting time is inserted before a local device notifies the specific remote device of the number of receivable packets in the communication process currently being executed.
請求項1から3のいずれかに記載のパケット通信方法において、
前記パケット数を相対的に増加させる工程では、
現在の通信プロファイルに比較して別の通信プロファイルの方がよりリアルタイム性を要求されるものである場合に現在実行中の前記通信処理の中でパケット数を減少させることを特徴とするパケット通信方法。
In the packet communication method according to any one of claims 1 to 3,
In the step of relatively increasing the number of packets,
A packet communication method characterized by reducing the number of packets in the currently executed communication process when another communication profile requires more real-time characteristics than the current communication profile. .
請求項1から3のいずれかに記載のパケット通信方法において、
前記パケット数を相対的に増加させる工程では、
別の通信プロファイルがオーディオデータ又は音声通話データをローカルデバイスで受信する場合に使用されるものであるか、もしくは、所定時間内にリモートデバイスからローカルデバイスへのデータ転送を完了させる必要がある場合に使用されるものであるかのいずれかである場合、現在実行中の前記通信処理の中でパケット数を減少させることを特徴とするパケット通信方法。
In the packet communication method according to any one of claims 1 to 3,
In the step of relatively increasing the number of packets,
Another communication profile is used when receiving audio data or voice call data at the local device, or when it is necessary to complete the data transfer from the remote device to the local device within a predetermined time A packet communication method characterized by reducing the number of packets in the currently executed communication process if any of them is used.
請求項1から5のいずれかに記載のパケット通信方法において、
前記通信処理は、
特定の短距離無線通信規格におけるRFCOMMプロトコルにより定義されたクレジットベースドフローコントロールに則り、ローカルデバイスが受信可能なパケット数をクレジット数としてローカルデバイスからリモートデバイスに通知する手順と、
リモートデバイスからパケットデータをローカルデバイスに送信するごとにリモートデバイスにおいてクレジット数を減少させる手順とを含み、
前記クレジット数がリモートデバイスにおいて残存している間はリモートデバイスからローカルデバイスに対してパケットデータの送信が可能である一方、前記クレジット数が残存しなくなるとリモートデバイスからローカルデバイスからリモートデバイスへのパケットデータの送信が不可となることを特徴とするパケット通信方法。
In the packet communication method according to any one of claims 1 to 5,
The communication process includes
In accordance with credit-based flow control defined by the RFCOMM protocol in a specific short-range wireless communication standard, a procedure for notifying the remote device from the local device as the number of packets that the local device can receive;
Reducing the number of credits at the remote device each time packet data is sent from the remote device to the local device,
While the credit amount remains in the remote device, packet data can be transmitted from the remote device to the local device. On the other hand, when the credit amount does not remain, the packet from the remote device to the remote device is transmitted from the remote device. A packet communication method, wherein data transmission is disabled.
JP2008327348A 2008-12-24 2008-12-24 Packet communication method Withdrawn JP2010153995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008327348A JP2010153995A (en) 2008-12-24 2008-12-24 Packet communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008327348A JP2010153995A (en) 2008-12-24 2008-12-24 Packet communication method

Publications (1)

Publication Number Publication Date
JP2010153995A true JP2010153995A (en) 2010-07-08

Family

ID=42572608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008327348A Withdrawn JP2010153995A (en) 2008-12-24 2008-12-24 Packet communication method

Country Status (1)

Country Link
JP (1) JP2010153995A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112291A (en) * 2012-12-05 2014-06-19 Alpine Electronics Inc Emergency call system and emergency call device
JP5531161B2 (en) * 2011-05-25 2014-06-25 トヨタ自動車株式会社 Vehicle communication device
WO2014174893A1 (en) * 2013-04-26 2014-10-30 クラリオン株式会社 Communication device and bluetooth communication system
JP2018007142A (en) * 2016-07-06 2018-01-11 アルプス電気株式会社 Communication device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5531161B2 (en) * 2011-05-25 2014-06-25 トヨタ自動車株式会社 Vehicle communication device
JP2014112291A (en) * 2012-12-05 2014-06-19 Alpine Electronics Inc Emergency call system and emergency call device
WO2014174893A1 (en) * 2013-04-26 2014-10-30 クラリオン株式会社 Communication device and bluetooth communication system
JPWO2014174893A1 (en) * 2013-04-26 2017-02-23 クラリオン株式会社 Communication device and Bluetooth communication system
JP2018007142A (en) * 2016-07-06 2018-01-11 アルプス電気株式会社 Communication device

Similar Documents

Publication Publication Date Title
CN102420640B (en) In-vehicle apparatus
US10674002B2 (en) Apparatus and method for controlling built-in microphone of portable terminal
CN101263688B (en) Methods, electronic devices, and computer program products for coordinating bluetooth and wireless local area network communication
US10477474B2 (en) Arbitrating a low power mode for multiple applications running on a device
US7792490B2 (en) Hiding a device
EP2294872B1 (en) System and method for automatically switching connection of a wireless interface
US8620217B2 (en) Short range wireless communication apparatus
EP2266215A2 (en) Wireless communicator for laptop computers
JP4645318B2 (en) Wireless communication apparatus and method
CN101785341A (en) controlling handover
EP2737739A1 (en) Methods and apparatuses for providing profile information in a bluetooth communication system
JP2010153995A (en) Packet communication method
US20090186607A1 (en) Multi-standby mobile terminal and method of performing conference call using the same
US8238827B2 (en) Information processing apparatus
US9300778B2 (en) Bluetooth headset for mobile phone
EP1805940B1 (en) Portable electronic devices including attaching circuits and methods of operating the same
US20070110011A1 (en) Mobile communication apparatus for operation in a wireless local area network
KR100562363B1 (en) Usb audio dongle having a bluetooth function for use of the voip messenger service
JP2000069557A (en) Mobile communication system and its transmitter and receiver
JP2003299152A (en) Communication equipment and base station selecting method
JP2003218769A (en) Radio communication apparatus, method for controlling radio communication apparatus, program for controlling radio control apparatus, and storage medium
JP2019220865A (en) Communication device and communication method
WO2004086805A1 (en) Mobile terminal and cdma communication method
JP2009253552A (en) Radio communication terminal and radio communication method
JP2008042561A (en) Mobile communication terminal, and terminal control method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120306