(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022120919
(43)【公開日】2022-08-19
(54)【発明の名称】ソフトウエア無線機およびその制御方法
(51)【国際特許分類】
G06F 21/76 20130101AFI20220812BHJP
H04B 1/00 20060101ALI20220812BHJP
G06F 8/60 20180101ALI20220812BHJP
G06F 21/64 20130101ALI20220812BHJP
【FI】
G06F21/76
H04B1/00 103
G06F8/60
G06F21/64
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021017977
(22)【出願日】2021-02-08
(71)【出願人】
【識別番号】000001122
【氏名又は名称】株式会社日立国際電気
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】吉田 大希
(72)【発明者】
【氏名】庄司 智也
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB47
(57)【要約】 (修正有)
【課題】誤ったソフトウエアがメモリに書き込まれることを防止するソフトウエア無線機及びその制御方法を提供する。
【解決手段】ソフトウエア無線機100は、リコンフィギュラブルモジュール(RM)が構成されるFPGA5を備える。FPGAに構成される制御回路13は、電源起動時または無線通信における通信方式を追加する場合、RMと、RMに対応するハッシュ値9と、RMで使用する制御情報11とを上位装置1から受け取る。そして、受け取ったRMからハッシュ関数を用いてハッシュ値を算出し、受け取ったハッシュ値と算出されたハッシュ値とを比較し、ハッシュ値が一致する場合、RMをハッシュ値に対応した揮発性メモリ6のアドレスへ書き込むと共に、受け取った制御情報を揮発性メモリへ書き込み、ハッシュ値が一致しない場合、RMを破棄する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
電源起動時または無線通信における通信方式を追加する制御方法であって、
メモリに記憶されたスタティックモジュールをスタティック領域においてコンフィグし、
運用で使用するリコンフィギュラブルモジュールに対応するハッシュ値を制御回路へ送り、前記ハッシュ値に基づいて前記制御回路内のハッシュ値テーブルを更新し、
前記リコンフィギュラブルモジュールを前記制御回路へ送り、
前記リコンフィギュラブルモジュールで使用する制御情報を前記制御回路に送り、
前記制御回路は、
受け取った前記リコンフィギュラブルモジュールからハッシュ関数を用いてハッシュ値を算出し、
更新された前記ハッシュ値テーブルと算出された前記ハッシュ値を比較し、
ハッシュ値が一致する場合、前記リコンフィギュラブルモジュールをハッシュ値に対応したメモリのアドレスへ書き込みと共に、受け取った前記制御情報を当該メモリへ書き込み、
ハッシュ値が一致しない場合、前記リコンフィギュラブルモジュールを破棄する制御方法。
【請求項2】
請求項1の制御方法において、
前記制御回路は、リコンフィグするリコンフィギュラブルモジュールを前記メモリから読み出すと共に、リコンフィグする前記リコンフィギュラブルモジュールと対応している制御情報を前記メモリから読み出し、パーシャルリコンフィグ領域へ設定する制御方法。
【請求項3】
請求項1の制御方法において、
電源OFF時に、前記メモリに保存されている前記リコンフィギュラブルモジュール及び前記制御情報を削除する制御方法。
【請求項4】
スタティックモジュールを格納する不揮発性メモリと、
リコンフィギュラブルモジュールを格納する揮発性メモリと、
前記スタティックモジュールが構成されるスタティック領域と前記リコンフィギュラブルモジュールが構成されるパーシャルリコンフィグ領域とを有するFPGAと、
を備え、
前記FPGAは前記スタティック領域に構成される制御回路を備え、
前記制御回路は、電源起動時または無線通信における通信方式を追加する場合、
リコンフィギュラブルモジュールを上位装置から受け取り、
前記リコンフィギュラブルモジュールに対応するハッシュ値を前記上位装置から受け取り、
前記リコンフィギュラブルモジュールで使用する制御情報を前記上位装置から受け取り、
受け取った前記リコンフィギュラブルモジュールからハッシュ関数を用いてハッシュ値を算出し、
受け取った前記ハッシュ値と算出された前記ハッシュ値を比較し、
ハッシュ値が一致する場合、前記リコンフィギュラブルモジュールをハッシュ値に対応した前記揮発性メモリのアドレスへ書き込むと共に、受け取った前記制御情報を前記揮発性メモリへ書き込み、
ハッシュ値が一致しない場合、前記リコンフィギュラブルモジュールを破棄するよう構成されるソフトウエア無線機。
【請求項5】
請求項4のソフトウエア無線機において、
前記制御回路は、リコンフィギュラブルモジュールを前記揮発性メモリから読み出すと共に、前記リコンフィギュラブルモジュールと対応している制御情報を前記揮発性メモリから読み出し、前記パーシャルリコンフィグ領域へ設定するよう構成されるソフトウエア無線機。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はソフトウエア無線機およびその制御方法に関する。
【背景技術】
【0002】
ソフトウエア無線(SDR;Software-defined Radio)は、電気的な設定情報により無線通信機能を変更し、複数の通信方式に対応する無線通信装置を実現するための無線通信技術である。ここで、電気的な設定情報とは、DSP(Digital Signal Processor)やCPU(Central Processing Unit)のプログラム、FPGA(Field Programmable Gate Array)やリコンフィギュアラブルロジックのコンフィギュレーションデータ、特性を変更可能なアナログ回路を制御するための制御情報、を含む。以下、この電気的な設定情報をソフトウエアと呼ぶ。
【0003】
ソフトウエア無線機においては、メモリに上位装置から受け取った通信方式ごとのソフトウエアを保存しておき、利用する通信方式のソフトウエアを上述のデバイス(DSP、CPU、FPGA等)にロードすることにより複数の通信方式に対応する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上位装置とソフトウエア無線機との間において、リコンフィギュラブルモジュール等のソフトウエアの伝送中、ソフトウエアの改竄や通信回線の異常によるデータ破損の可能性が有る。誤ったソフトウエアがメモリに書き込まれ、異常なソフトウエアでコンフィグ(設定)されてしまう可能性が有る。
【0006】
本開示の課題は、誤ったソフトウエアがメモリに書き込まれることを防止する技術を提供することにある。
【課題を解決するための手段】
【0007】
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、ソフトウエア無線機は、リコンフィギュラブルモジュール(RM)が構成されるFPGAを備える。FPGAに構成される制御回路は、電源起動時または無線通信における通信方式を追加する場合、RMを上位装置から受け取り、RMに対応するハッシュ値を上位装置から受け取り、RMで使用する制御情報を上位装置から受け取り、受け取ったRMからハッシュ関数を用いてハッシュ値を算出し、受け取ったハッシュ値と算出されたハッシュ値を比較し、ハッシュ値が一致する場合、RMをハッシュ値に対応した揮発性メモリのアドレスへ書き込むと共に、受け取った制御情報を揮発性メモリへ書き込み、ハッシュ値が一致しない場合、RMを破棄するよう構成される。
【発明の効果】
【0008】
本開示によれば、誤ったソフトウエアがメモリに書き込まれることを防止することができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態におけるソフトウエア無線機の概要を説明する図である。
【
図2】
図1に示すソフトウエア無線機の装置構成を説明する図である。
【
図3】
図2に示す制御回路内におけるハッシュ値テーブルを説明する図である。
【
図4】
図2に示す揮発性メモリのメモリマップを説明する図である。
【
図5】比較例におけるソフトウエア無線機の装置構成を説明する図である。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【0011】
実施形態におけるソフトウエア無線機の概要について
図1を用いて説明する。
図1は実施形態におけるソフトウエア無線機の概要を説明するためのブロック図である。
【0012】
ソフトウエア無線機100のハードウェアモジュールとしては、アンテナ101、高周波部102、A/D・D/A部103、デジタル信号処理部104および制御部105がある。
【0013】
アンテナ101は無線周波数信号の送受信を行う。高周波部102は、アンテナ101で受信した無線周波数帯の受信信号を低周波数帯の受信信号に変換する、または低周波数帯の送信信号を無線周波数帯の送信信号に変換する。A/D・D/A部103は、受信したアナログ信号をデジタル信号に変換する、または、送信するデジタル信号をアナログ信号に変換する。デジタル信号処理部104は、送信信号の符号化、受信信号の復号等の処理を行う。制御部105は、例えばソフトウエアを格納するメモリとそのメモリに格納されたソフトウエアを実行するCPUとを備え、ネットワーク106を介して制御端末107からの制御を受けるとともに、ソフトウエア無線機のハードウェアモジュールの制御を行う。
【0014】
ソフトウエア無線機100の特徴として、フィルタ、変復調、等化、同期機能などの無線機能をプログラブル化し、ソフトウエアの書き換えにより変調方式、送受信周波数、帯域幅、伝送速度などのシステム固有の無線機能を変更可能としている。
【0015】
ここで、本開示におけるソフトウエア無線機をより明確にするため本開示者らが検討した技術(比較例)の問題点について
図5を用いて説明する。
図5は比較例におけるソフトウエア無線機の装置構成を示すブロック図である。
【0016】
比較例におけるソフトウエア無線機100においては、運用中に通信方式を切り替える手段として通信方式のみをパーシャルリコンフィグ(部分再構成)する。パーシャルリコンフィグでは、FPGAの一部を、残りのFPGAデザインを停止することなく引き続き機能させながら、動的に再構成する。
【0017】
比較例におけるソフトウエア無線機100においては、元データ15がベースバンドモジュール2を経由し変調データ16となりRFモジュール3を経由し、アンテナ4を通り空中に流れる。ここで、ベースバンドモジュール2は、
図1に示すA/D・D/A部103、デジタル信号処理部104および制御部105に対応し、RFモジュール3は高周波部102に対応し、上位装置1は制御端末107に対応する。
【0018】
ベースバンドモジュール2は、書き換え可能な不揮発性メモリ7およびFPGA5により構成される。FPGA5内で使用するソフトウエアは2種類あり、スタティックモジュール(以下、SMと略す。)とリコンフィギュラブルモジュール(以下、RMと略す。)がある。
【0019】
スタティックモジュールはFPGA5の汎用メモリと論理回路でハードウェア構成や結線などもソフトウエアによって設定は可能であるが動的に変更しないモジュールである。リコンフィギュラブルモジュールはハードウェア構成や結線などもソフトウエアによって動的に変更可能(再構成可能)なモジュールである。SMには、主に制御インタフェースが含まれ、RMには通信方式が含まれ、共に不揮発性メモリ7に格納される。
図5においては、通信方式AのRMであるRMAおよび通信方式BのRMであるRMBが不揮発性メモリ7に格納されている。
【0020】
ソフトウエア無線機100の電源投入時、不揮発性メモリ7内のSMがFPGA5内のスタティック領域12に書き込まれる。RMを新たに、更新する際は、上位装置1から更新したいRMをCPUが含まれる制御回路13へダウンロードし、不揮発性メモリ7の元々書き込まれていたRMの領域に上書きされる。通信方式Aが使用される場合、RMA10が不揮発性メモリ7に書き込まれる。パーシャルリコンフィグする際は、上位装置1の指示により、制御回路13が不揮発性メモリ7内のRMを読み出し、FPGA5のパーシャルリコンフィグ領域14へRMを書き込む。その後、RMの通信方式に適した制御情報(CI)を、上位装置1から設定する。通信方式Aが使用される場合、RMAの制御情報11が制御レジスタ19に書き込まれる。
【0021】
比較例におけるソフトウエア無線機100においては、下記の問題点がある。
一つ目は、上位装置1とベースバンドモジュール2との間において、RMの伝送中、RMの改竄や通信回線の異常によるデータ破損の可能性が有る。誤ったRMがダウンロードされ、不揮発性メモリ7に書き込まれ、異常なRMでパーシャルリコンフィグしてしまう可能性が有る。
【0022】
二つ目は、装置が悪意ある他者に渡り、不揮発性メモリ7に書かれた通信方式が読み出され、通信方式が解析される可能性が有る。
【0023】
三つ目は、パーシャルリコンフィグ後、新たな通信方式に対応した制御情報を制御レジスタ19へ上位装置1から設定する必要がある為、再設定の運用開始時間を要する。
【0024】
実施形態におけるソフトウエア無線機は、上記の一つまたは複数の問題点を下記の一つまたは複数により解決するものである。
【0025】
(1)ハッシュ値による認証を行う。これにより、改竄やデータが破損したRMがダウンロードされなくなり、信頼性の高いRMでパーシャルリコンフィグされる。
【0026】
(2)RMをソフトウエア無線機の電源遮断時(電源OFF時)に削除する。例えば、RMを揮発性メモリに格納する。これにより、電源OFF時にRMが削除される。または、RMを不揮発性メモリに格納し、電源OFF時においてRMを消去または任意のデータに書き換えするようにしてもよい。運用終了後、装置が悪意ある他者に渡った場合においても、通信方式が削除された状態である為、通信方式の解読を防ぐことが可能となり、通信方式の漏洩を防ぐことが可能となる。
【0027】
(3)制御情報をメモリに格納しておき、パーシャルリコンフィグと同タイミングで、メモリから制御情報も読み出す。これにより、上位装置から設定する時間に比べ、メモリから読み出す時間の方が短い為、運用開始時間が短縮される。
【0028】
(4)制御情報も電源OFF時に削除する。例えば、制御情報も揮発性メモリに格納する。これにより、運用周波数や送信出力値といった秘匿すべき制御情報も電源OFF時に削除され、秘匿性を保ったまま運用が可能となる。または、制御情報を不揮発性メモリに格納し、電源OFF時においてRMを消去または任意のデータに書き換えするようにしてもよい。
【0029】
以下、具体的に実施形態におけるソフトウエア無線機について説明する。
まず、実施形態におけるソフトウエア無線機のモジュール構成について
図2を用いて説明する。
図2は
図1に示すソフトウエア無線機の装置構成を示すブロック図である。
【0030】
実施形態におけるソフトウエア無線機100は、ベースバンドモジュール2、RFモジュール3およびアンテナ4を備える。上位装置1は、RM、RMのハッシュ値、RMに対応した制御情報をベースバンドモジュール2へ伝送する。ここで、通信方式AのRMをRMA、通信方式BのRMをRMBとする。
【0031】
ベースバンドモジュール2は主に、揮発性メモリ6と不揮発性メモリ7、FPGA5で構成される。揮発性メモリ6は、例えば、DDR-SDRAM等のDRAMまたはSRAM等の高速に書き込みおよび読み出しが可能なメモリである。不揮発性メモリ7は、例えば、フラッシュメモリ等の読み出しおよび電気的に書き換え可能なメモリである。揮発性メモリ6の各々のアドレスにRMA、RMB、RMAの制御情報およびRMBの制御情報等が割り振られている。揮発性メモリ6のアドレスマップの詳細については後述する。
【0032】
不揮発性メモリ7には、SMが格納されている。SMは主に制御インタフェースが含まれており、不揮発性メモリ7には秘匿すべき情報は含まれない。ソフトウエア無線機100の電源OFF後もSMは不揮発性メモリ7に保持される。
【0033】
FPGA5はスタティック領域12とパーシャルリコンフィグ領域14とを備える。スタティック領域12にはCPUを含む制御回路13と制御レジスタ(CR)19とが含まれる。制御回路13は主にダウンロード機能17とパーシャルリコンフィグ機能18とを有する。
【0034】
ダウンロード機能17は、ハッシュ関数を用いて上位装置1から伝送されたRMのハッシュ値を算出するハッシュ算出部17aと、ハッシュ比較部17bと、上位装置1から伝送されたRMを揮発性メモリ6に書き込む書込部17cと、を有する。ハッシュ比較部17bは、ハッシュ算出部17aにより算出されたハッシュ値と、ハッシュ値テーブル20(
図3参照)にあるハッシュ値と、を比較する。ハッシュ値テーブル20は制御回路13内にあり、上位装置1から伝送されたハッシュ値(HV)が格納される。
【0035】
パーシャルリコンフィグ機能18は、揮発性メモリ6からRMを読み出すRM読出部18aと、パーシャルリコンフィグ領域14にRMを書き込むリコンフィグ制御部18bと、読出書込部18cと、を有する。読出書込部18cは上位装置1から伝送された制御情報(CI)を揮発性メモリ6に書き込み、揮発性メモリ6から制御情報を読み出し、制御レジスタ19に制御情報を書き込む。
【0036】
パーシャルリコンフィグ領域14には、リコンフィグ制御部18bによりRMが書き込まれる。ソフトウエア無線機100が信号を送信する場合、ベースバンドモジュール2において変調する前の元データ15は、パーシャルリコンフィグによって変更された通信方式により変調データ16となり、RFモジュール3およびアンテナ4を経由し空中に流れる。受信する場合、アンテナ4およびRFモジュール3を経由した受信した変調データはベースバンドモジュール2においてパーシャルリコンフィグによって変更された通信方式により復調される。
【0037】
次に、ソフトウエア無線機100の電源投入(電源起動)から終了までの流れを以下に示す。
【0038】
(ステップS1)
ソフトウエア無線機100の電源起動時、不揮発性メモリ7のSMがFPGA5のスタティック領域12にコンフィグ(構成、設定)される。
【0039】
(ステップS2)
上位装置1は通信方式に対応するハッシュ値を制御回路13へ送る。制御回路13は上位装置1から送られてきたハッシュ値に基づいてハッシュ値テーブル20を更新する。例えば、通信方式AのRMであるRMAを使用する場合、上位装置1はRMAのハッシュ値9を制御回路13に送る。
【0040】
(ステップS3)
上位装置1は運用で使用するRMA10を制御回路13へ送る。
【0041】
(ステップS4)
制御回路13は受け取ったRMA10を、ハッシュ関数を用いてハッシュ値を算出する。
【0042】
(ステップS5)
制御回路13は、ステップS2において作成したハッシュ値テーブル20とステップS4において算出したハッシュ値を比較し、ハッシュ値テーブル20のハッシュ値に対応した揮発性メモリ6のアドレスに、RMA10を書き込む。制御回路13は、ハッシュ値が一致しない場合、受け取ったRMA10を破棄する。
【0043】
(ステップS6)
制御回路13は、上位装置1からRMA10で使用する制御情報(周波数、出力レベル等)11を受け取り、揮発性メモリ6へ書き込む。
【0044】
なお、制御回路13は、複数のRMを揮発性メモリ6に書き込む場合は、ステップS2~S5を繰り返す。
図3においては、揮発性メモリ6には、RMA、RMAの制御情報、RMBおよびRMBの制御情報が書き込まれている。
【0045】
(ステップS7)
制御回路13は運用する通信方式に応じてパーシャルリコンフィグを実施するため、リコンフィグするRMとそれに対応する制御情報を揮発性メモリ6から読み出す。
【0046】
(ステップS8)
制御回路13は、パーシャルリコンフィグ領域14へRMを書き込むと共に、制御情報レジスタ19へ制御情報を書き込む。
【0047】
(ステップS9)
運用終了後、ソフトウエア無線機100の電源がOFFされる。電源OFFのタイミングで、揮発性メモリ6に格納されていた通信方式や制御情報は削除される。
【0048】
次に、ハッシュ値テーブル20について
図3を用いて説明する。
図3は
図2に示す制御回路内におけるハッシュ値テーブルの一例を示す図である。
【0049】
ハッシュ値テーブル20は、ハッシュ値21と揮発性メモリ6のアドレス22とを有する。ハッシュ値テーブル20内のハッシュ値21は、上位装置1から更新される。揮発性メモリ6のアドレス22は固定値であり、ハッシュ値21によって揮発性メモリ6のアドレス22が指定される。ハッシュ値21が上位装置1から更新(設定)された値でない場合、揮発性メモリ6のアドレス22が指定されず、受け取ったRMを破棄するよう指示される。
【0050】
次に、揮発性メモリ6のメモリマップについて
図4を用いて説明する。
図4は
図2に示す揮発性メモリのメモリマップの一例を示す図である。
【0051】
揮発性メモリ6は、RMを格納する領域と、RMに対応した制御情報を格納する領域を有する。例えば、通信方式AのRMであるRMAはアドレスAの領域24aに格納され、RMAの制御情報はアドレスBの領域25aに格納される。通信方式BのRMであるRMBはアドレスCの領域24bに格納され、RMAの制御情報はアドレスDの領域25bに格納される。通信方式CのRMであるRMCはアドレスEの領域24cに格納され、RMCの制御情報はアドレスFの領域25cに格納される。
【0052】
運用中に、揮発性メモリ6にRMと制御情報を各々格納しておき、パーシャルリコンフィグ時にRMと制御情報が読み出される。揮発性メモリ6内の制御情報には運用周波数や送信出力値といった秘匿すべき制御情報があるが、ソフトウエア無線機100の電源OFF時に削除される。
【0053】
以上、本開示者らによってなされた開示を実施形態に基づき具体的に説明したが、本開示は、上記実施形態に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【0054】
1・・・上位装置
2・・・ベースバンドモジュール
3・・・RFモジュール
4・・・アンテナ
5・・・FPGA
6・・・揮発性メモリ
7・・・不揮発性メモリ
9・・・ハッシュ値
10・・・RMA
11・・・制御情報
12・・・スタティック領域
13・・・制御回路
14・・・パーシャルリコンフィグ領域
15・・・元データ
16・・・変調データ
17・・・ダウンロード機能
18・・・パーシャルリコンフィグ機能
19・・・制御レジスタ
20・・・ハッシュ値テーブル
100・・・ソフトウエア無線機