(57)【要約】【課題】無線ＬＡＮモジュールから複数の通信方式のパケットを含む受信データを受信する電子機器において、受信データを処理するプロセッサの負荷を低減して、テータの取りこぼしを抑制する。【解決手段】電子機器は、無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステムを備え、サブシステムは、無線ＬＡＮパケットのヘッダから無線ＬＡＮパケットのデータ長を取得するデータ長取得部と、無線ＬＡＮパケットに含まれるＭＡＣアドレスに基づいて、無線ＬＡＮパケットの通信方式を特定する通信方式特定部と、無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、通信方式ごとに異なる記憶領域に無線ＬＡＮパケットを転送するデータ転送部と、記憶領域に記憶された無線ＬＡＮパケットを、メインシステムに転送する転送制御部と、を有する。【選択図】図３
2022003742.tif 000002
【特許請求の範囲】
【請求項１】
無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステムと、
前記受信データを処理するプロセッサを含むメインシステムと、
を備え、
前記サブシステムは、
前記無線ＬＡＮパケットのヘッダから前記無線ＬＡＮパケットのデータ長を取得するデータ長取得部と、
前記無線ＬＡＮパケットに含まれるＭＡＣアドレスに基づいて、前記無線ＬＡＮパケットの通信方式を特定する通信方式特定部と、
前記無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、前記通信方式ごとに異なる記憶領域に前記無線ＬＡＮパケットを転送するデータ転送部と、
前記記憶領域に記憶された無線ＬＡＮパケットを、前記メインシステムに転送する転送制御部と、
を有する、電子機器。
【請求項２】
前記サブシステムは、前記無線ＬＡＮパケットの通信方式に応じて、前記無線ＬＡＮパケットを転送する前記記憶領域を選択する選択部を有する、請求項１に記載の電子機器。
【請求項３】
前記サブシステムは、前記無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、前記無線ＬＡＮパケットの転送先のアドレスを決定するアドレス制御部を有する、請求項１又は２に記載の電子機器。
【請求項４】
前記データ転送部は、前記無線ＬＡＮパケットの転送先が決定されたときに、前記無線ＬＡＮパケットを前記記憶領域に転送する、請求項３に記載の電子機器。
【請求項５】
前記転送制御部は、前記記憶領域に記憶した前記無線ＬＡＮパケットを、前記無線ＬＡＮパケットごとに前記メインシステムに転送する、請求項１乃至４のいずれか一項に記載の電子機器。
【請求項６】
フィルタリングの対象となる１つ以上のＭＡＣアドレスを記憶するレジスタと、
前記無線ＬＡＮパケットの送信元アドレスが、前記フィルタリングの対象となる１つ以上のＭＡＣアドレスに含まれる場合、前記無線ＬＡＮパケットを破棄するアドレスフィルタ部と、
有する、請求項１乃至５のいずれか一項に記載の電子機器。
【請求項７】
前記電子機器は画像形成装置であり、
前記メインシステムは、前記サブシステムから転送される前記無線ＬＡＮパケットに基づいて画像形成処理を実行する、請求項１乃至６のいずれか一項に記載の電子機器。
【請求項８】
前記データ長取得部、通信方式特定部、及びデータ転送部は、ハードウェアで構成される、請求項１乃至７のいずれか一項に記載の電子機器。
【請求項９】
無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステムと、前記受信データを処理するプロセッサを含むメインシステムと、を備える電子機器の前記サブシステムが、
前記無線ＬＡＮパケットのヘッダから前記無線ＬＡＮパケットのデータ長を取得する処理と、
前記無線ＬＡＮパケットに含まれるＭＡＣアドレスに基づいて、前記無線ＬＡＮパケットの通信方式を特定する処理と、
前記無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、前記通信方式ごとに異なる記憶領域に前記無線ＬＡＮパケットを転送する処理と、
前記記憶領域に記憶された無線ＬＡＮパケットを、前記メインシステムに転送する処理と、
を実行する、電子機器の制御方法。
【請求項１０】
無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステムと、前記受信データを処理するプロセッサを含むメインシステムと、を備える電子機器の前記サブシステムに、
前記無線ＬＡＮパケットのヘッダから前記無線ＬＡＮパケットのデータ長を取得する処理と、
前記無線ＬＡＮパケットに含まれるＭＡＣアドレスに基づいて、前記無線ＬＡＮパケットの通信方式を特定する処理と、
前記無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、前記通信方式ごとに異なる記憶領域に前記無線ＬＡＮパケットを転送する処理と、
前記記憶領域に記憶された無線ＬＡＮパケットを、前記メインシステムに転送する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、電子機器の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、画像形成装置等の電子機器において、様々な通信インタフェースを利用して処理対象となる電子データを受信することが行われている。代表的な通信インタフェースとしては、有線ＬＡＮ（Local Area Network）があるが、例えば、ＳＤＩＯ（Secure Digital Input/Output）インタフェースを有する無線ＬＡＮモジュール等を通信インタフェースとして備える電子機器もある。
【０００３】
例えば、低消費電力モード時に消費電力をより低減するために、ＳＤＩＯインタフェースを有する無線ＬＡＮモジュールを実装し、無線ＬＡＮモジュール内でパケットを解析して、メインシステムに転送する画像形成装置が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示されるような従来の技術では、ＳＤＩＯインタフェースのデータ転送レートを上げるためマルチブロックリードにてデータを読み出している。その際、複数の無線ＬＡＮパケットを１つのブロックとして転送を行うため、メインシステム側のプロセッサでデータ解析が必要となりプロセッサの負荷が高くなってしまう場合がある。
【０００５】
例えば、無線ＬＡＮモジュールが受信するパケットには、アクセスポイントから送信されるパケット、Ｗｉ−Ｆｉ Ｄｉｒｅｃｔ（登録商標）のパケット等の複数の通信方式のパケットが含まれている場合がある。このような場合、無線ＬＡＮモジュールから受信データを受け付けたプロセッサは、各パケットのヘッダ情報を読み出してパケットを分別する必要があるため、負荷が高くなり、処理が間に合わない場合にはデータを取りこぼしてしまう場合がある。
【０００６】
このように、従来の技術では、無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信する電子機器において、受信データを処理するプロセッサの負荷が高くなり、データの取りこぼしが発生する場合があるという問題がある。
【０００７】
本発明の一実施形態は上記の問題点に鑑みてなされたものであって、無線ＬＡＮモジュールから複数の通信方式のパケットを含む受信データを受信する電子機器において、受信データを処理するプロセッサの負荷を低減して、テータの取りこぼしを抑制する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の一実施形態に係る電子機器は、無線ＬＡＮモジュールから複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステムと、前記受信データを処理するプロセッサを含むメインシステムと、を備え、前記サブシステムは、前記無線ＬＡＮパケットのヘッダから前記無線ＬＡＮパケットのデータ長を取得するデータ長取得部と、前記無線ＬＡＮパケットに含まれるＭＡＣアドレスに基づいて、前記無線ＬＡＮパケットの通信方式を特定する通信方式特定部と、前記無線ＬＡＮパケットのデータ長と前記無線ＬＡＮパケットの通信方式とに基づいて、前記通信方式ごとに異なる記憶領域に前記無線ＬＡＮパケットを転送するデータ転送部と、前記記憶領域に記憶された無線ＬＡＮパケットを、前記メインシステムに転送する転送制御部と、を有する。
【発明の効果】
【０００９】
本発明の一実施形態によれば、無線ＬＡＮモジュールから複数の通信方式のパケットを含む受信データを受信する電子機器において、受信データを処理するプロセッサの負荷を低減して、テータの取りこぼしを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る画像形成装置の構成例を示す図である。
【図２】一実施形態に係るサブシステムの構成例を示す図である。
【図３】第１の実施形態に係るＳＯＩＤ Ｉ／Ｆの構成例を示す図である。
【図４】一実施形態に係る無線ＬＡＮパケットのフォーマットの例を示す図である。
【図５】一実施形態に係る受信データについて説明するための図である。
【図６】一実施形態に係る画像形成装置の機能構成の例を示す図である。
【図７】第１の実施形態に係るサブシステムの処理の例を示すフローチャートである。
【図８】第１の実施形態に係る受信データの転送処理の例を示すフローチャートである。
【図９】第２の実施形態に係るＳＯＩＤ Ｉ／Ｆの構成例を示す図である。
【図１０】第２の実施形態に係る受信データの転送処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１２】
＜画像形成装置の構成＞
図１は、一実施形態に係る画像形成装置の構成例を示す図である。画像形成装置１は、例えば、スキャン、印刷等の画像形成処理を実行するメインシステム１０と、無線ＬＡＮ（Local Area Network）モジュール１１０から無線ＬＡＮパケットを受信し、メインシステムに転送するサブシステム１００とを備える。
【００１３】
なお、画像形成装置１は、無線ＬＡＮモジュール１１０から複数の通信方式の無線ＬＡＮパケットを含む受信データを受信するサブシステム１００と、当該受信データを処理するプロセッサを含むメインシステム１０とを備える電子機器の一例である。例えば、電子機器は、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）、デジタルサイネージ、ＨＵＤ（Head Up Display）装置等であっても良い。また、電子機器は、例えば、産業機械、医療機器、ネットワーク家電、自動車（Connected Car）、車載装置等であっても良い。さらに、電子機器は、例えば、ノートＰＣ（Personal Computer）、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣまたはデスクトップＰＣ等の情報端末であっても良い。
【００１４】
無線ＬＡＮモジュール１１０は、例えば、ＳＤＩＯ（Secure Digital Input/Output）インタフェース３０等を介してサブシステム１００に接続され、複数の通信方式で無線ＬＡＮ通信を行う。例えば、無線ＬＡＮモジュール１１０は、無線ＬＡＮのアクセスポイントから第１の通信方式で無線ＬＡＮパケットを受信し、情報端末や他の電子機器等から、例えば、Ｗｉ−Ｆｉ Ｄｉｒｅｃｔ（登録商標）等の第２の通信方式で無線ＬＡＮパケットを受信する。
【００１５】
サブシステム１００は、無線ＬＡＮモジュール１１０から、複数の通信方式の無線ＬＡＮパケットを含む受信データを受信し、受信したデータをメインシステム１０に転送する。例えば、サブシステム１００は、ＳＤＩＯインタフェースのマルチブロックリードにより、無線ＬＡＮモジュール１１０から、第１の通信方式の無線ＬＡＮパケットと、第２の通信方式の無線ＬＡＮパケットとを含む受信データを受信する。
【００１６】
また、サブシステム１００は、無線ＬＡＮモジュール１１０から受信した受信データを解析して、通信方式ごとに異なる記憶領域に無線ＬＡＮパケットを格納する。
【００１７】
さらに、サブシステム１００は、通信方式ごとに異なる記憶領域に格納した受信データを、例えば、ＰＣＩ Ｅｘｐｒｅｓｓ（登録商標）等の高速シリアルインタフェース２０を介して、メインシステム１０に転送する。
【００１８】
メインシステム１０は、例えば、ＣＰＵ（Central Processing Unit）１１、メモリ１２、ＡＳＩＣ(Application Specific Integrated Circuit)１３、プリンタ１４、スキャナ１６等を有する。
【００１９】
ＣＰＵ１１は、例えば、メモリ１２等に予め記憶した所定のプログラムを実行することにより、サブシステム１００からメモリ１２に転送された受信データを処理するプロセッサ（演算装置）である。メモリ１２には、例えば、ＣＰＵ１１のワークエリアとして用いられる揮発性のメモリであるＲＡＭ（Random Access Memory）、ＣＰＵ１１の起動用のプログラム等を記憶した不揮発性のメモリであるＲＯＭ（Read Only Memory）等が含まれる。また、メモリ１２には、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等のストレージデバイスが含まれていても良い。
【００２０】
ＡＳＩＣ１３は、プリンタ１４、スキャナ１５等による画像形成処理用のハードウェア要素を有する画像形成処理用途向けのＬＳＩ（Large Scale Integrated Circuit）である。ＡＳＩＣ１３には、例えば、アービタ（調停回路）、メモリコントローラ、ＤＭＡＣ（Direct Memory Access Controller）、画像データの回転、拡大／縮小等を行うロジック回路等が含まれる。
【００２１】
プリンタ１４は、例えば、印刷を実行するプリンタエンジン、及びプリンタエンジンを制御するコントローラ等を含み、メインＣＰＵ１１からの制御に従って画像形成処理（印刷処理）を実行する。スキャナ１５は、例えば、原稿の読み取りを実行するスキャナエンジン、及びスキャナエンジンを制御するコントローラ等を含み、メインＣＰＵ１１からの制御に従ってスキャン処理を実行する。
【００２２】
上記の構成により、ＣＰＵ１１は、例えば、サブシステム１００からメモリ１２に転送された印刷データ（受信データの一例）を、ＡＳＩＣ１３、及びプリンタ１４を用いて、印刷する。
【００２３】
なお、従来の技術では、無線ＬＡＮモジュール１１０が受信した、複数の通信方式の無線ＬＡＮパケットを含む受信データを、ＣＰＵ１１が処理していた。例えば、無線ＬＡＮモジュール１１０から受信データを受信したＣＰＵ１１は、各無線ＬＡＮパケットのヘッダ情報等を解析して、パケットを通信方式ごとに分別していた。そのため、ＣＰＵ１１の負荷が高く（重く）なり、処理が間に合わない場合には、データを取りこぼしてしまう場合があった。
【００２４】
一方、本実施形態に係る画像形成装置１では、無線ＬＡＮモジュール１１０から受信した複数の通信方式の無線ＬＡＮパケットは、通信方式ごとに分別された状態で、メモリ１２に格納される。
【００２５】
従って、本実施形態によれば、無線ＬＡＮモジュール１１０から複数の通信方式のパケットを含む受信データを受信する画像形成装置１において、受信データを処理するプロセッサ（ＣＰＵ１１）の負荷を低減して、テータの取りこぼしを抑制することができる。
【００２６】
＜サブシステムの構成＞
図２は、一実施形態に係るサブシステムの構成例を示す図である。サブシステム１００は、高速シリアルＩ／Ｆ２０１、サブＣＰＵ２０２、ＲＡＭ２０３、ＳＤＩＯ Ｉ／Ｆ２０４、及びバス２０５等を有する。
【００２７】
高速シリアルＩ／Ｆ２０１は、メインシステム１０と、高速シリアル通信を行うためのＩ／Ｆである。なお、サブシステム１００が、メインシステム１０と通信するインタフェースは、任意の通信インタフェースであって良い。
【００２８】
サブＣＰＵ２０２は、所定のプログラムを実行することにより、サブシステム１００を制御するプロセッサ（演算装置）である。サブＣＰＵ２０２は、メインシステム１０のＣＰＵ１１よりも消費電力が少ない、省電力型のプロセッサであることが望ましい。ＲＡＭ２０３は、受信データを一時的に記憶するメモリの一例である。
【００２９】
ＳＤＩＯ Ｉ／Ｆ２０４は、ＳＤＩＯインタフェースを有する無線ＬＡＮモジュール１１０から、複数の通信方式の無線ＬＡＮパケットを含む受信データを受信する通信インタフェースである。
【００３０】
ここでは、ＳＤＩＯ Ｉ／Ｆ２０４が受信する受信データに、無線ＬＡＮのアクセスポイントから受信する第１の通信方式の無線ＬＡＮパケットと、Ｗｉ−Ｆｉ Ｄｉｒｅｃｔ等の第２の通信方式の無線ＬＡＮパケットとが含まれるものとして、以下の説明を行う。
【００３１】
バス２０５は、上記の各構成要素に共通に接続され、例えば、アドレス信号、データ信号、及び各種の制御信号等を伝送する。
【００３２】
［第１の実施形態］
続いて、第１の実施形態に係るＳＤＩＯ Ｉ／Ｆ２０４の構成例について説明する。
【００３３】
＜ＳＤＩＯ Ｉ／Ｆの構成例
図３は、第１の実施形態に係るＳＤＩＯ Ｉ／Ｆの構成例を示す図である。ＳＤＩＯ Ｉ／Ｆ２０４は、例えば、ＳＤＩＯ制御部３０１、データセレクタ３０２、データ長取得部３０３、通信方式特定部３０４、データ取得部３０５、ＦＩＦＯ（First In First Out）３０６、アドレス制御部Ａ３０７、アドレス制御部Ｂ３０８、選択部３０９、データ転送部３１０、及びレジスタ３１１等を有する。
【００３４】
ＳＤＩＯ制御部３０１は、ＳＤＩＯインタフェースを有する無線ＬＡＮモジュール１１０を制御する。例えば、ＳＤＩＯ制御部３０１は、無線ＬＡＮモジュール１１０から、受信割り込みを受け付けると、レジスタ３１１を介して、サブＣＰＵ２０２に通知する。また、ＳＤＩＯ制御部３０１は、無線ＬＡＮモジュール１１０から、第１の通信方式の無線ＬＡＮパケットと、第２の通信方式の無線ＬＡＮパケットとを含む受信データを受信する。
【００３５】
データセレクタ３０２は、受信データに含まれる、例えば、図４に示すような無線ＬＡＮパケット４００を順次に取得する。
【００３６】
図４は、一実施形態に係る無線ＬＡＮパケットのフォーマットの例を示す図である。無線ＬＡＮパケット４００は、ヘッダ４０１と、データ４０２とを含む。なお、無線ＬＡＮパケット４００は、無線ＬＡＮフレーム等とも呼ばれる。また、ヘッダ４０１は、物理ヘッダ等とも呼ばれる。さらに、データ４０２は、ＭＡＣ（Media Access Control）フレーム等とも呼ばれる。
【００３７】
データ長取得部３０３は、例えば、図４に示すような無線ＬＡＮパケット４００から、ヘッダ４０１に含まれるＰＬＣＰヘッダ４０３を取得する。このＰＬＣＰヘッダ４０３には、例えば、変調方式（伝送速度）、データ長等の情報が含まれる。データ長取得部３０３は、このＰＬＣＰヘッダ４０３から、無線ＬＡＮパケット４００のデータ長を取得する。
【００３８】
通信方式特定部３０４は、たとえば、図４に示す無線ＬＡＮパケット４００のＩＥＥＥ８０２．１１ヘッダ４０４から、例えば、「Ａｄｄｒｅｓｓ１」４０５、「Ａｄｄｒｅｓｓ３」４０６等を取得する。ＩＥＥＥ８０２．１１ヘッダ４０４のＡｄｄｒｅｓｓ１〜４には、ネットワーク構成によって異なる値（例えば、宛先のＭＡＣアドレス、送信元のＭＡＣアドレス、ＢＳＳＩＤ等）が設定される。
【００３９】
通信方式特定部３０４は、例えば、Ａｄｄｒｅｓｓ１とＡｄｄｒｅｓｓ３とが同じ値である場合、Ｗｉ−Ｆｉダイレクト等の第２の通信方式の無線ＬＡＮパケットであると特定する。一方、通信方式特定部３０４は、Ａｄｄｒｅｓｓ１とＡｄｄｒｅｓｓ３とが異なる値である場合、アクセスポイント等の第１の通信方式の無線ＬＡＮパケットであると特定する。また、通信方式特定部３０４は、無線ＬＡＮパケットの通信方式が、第１の通信方式であるか、第２の通信方式であるかを示す信号（又は情報）を、アドレス制御部Ａ３０７、アドレス制御部Ｂ３０８、選択部３０９等に通知する。
【００４０】
データ取得部３０５は、図４に示すような無線ＬＡＮパケット４００を、ＦＩＦＯ３０６を介して、データ転送部３１０に転送する。ＦＩＦＯ３０６は、先入れ先出し方式のバッファである。
【００４１】
アドレス制御部Ａ３０７は、データ長取得部３０３が取得したデータ長と、通信方式特定部３０４が特定した通信方式とに基づいて、第１の通信方式の無線ＬＡＮパケットを転送する記憶領域のアドレスを決定する。
【００４２】
例えば、レジスタ３１１には、第１の通信方式の無線ＬＡＮパケットを記憶する記憶領域の開始アドレス等が、例えば、サブＣＰＵ２０２によって予め設定されている。アドレス制御部Ａ３０７は、この開始アドレスと、データ長取得部３０３が取得したデータ長とに基づいて、第１の通信方式の無線ＬＡＮパケットの次の書き込み位置を示す第１のアドレスを、レジスタ３１１に記憶して管理する。
【００４３】
例えば、アドレス制御部Ａ３０７は、無線ＬＡＮパケットの通信方式が第１の通信方式である場合、レジスタ３１１から第１のアドレスを読み出して、選択部３０９に出力する。また、アドレス制御部Ａ３０７は、レジスタ３１１に記憶している第１のアドレスに、データ長取得部３０３が取得したデータ長を加算して、更新する。
【００４４】
同様にして、アドレス制御部Ｂ３０８は、データ長取得部３０３が取得したデータ長と、通信方式特定部３０４が特定した通信方式とに基づいて、第２の通信方式の無線ＬＡＮパケットを書き込む記憶領域のアドレスを決定する。
【００４５】
例えば、レジスタ３１１には、第２の通信方式の無線ＬＡＮパケットを記憶する記憶領域の開始アドレス等が、例えば、サブＣＰＵ２０２によって予め設定されている。アドレス制御部Ｂ３０８は、この開始アドレスと、データ長取得部３０３が取得したデータ長とに基づいて、第２の通信方式の無線ＬＡＮパケットの次の書き込み位置を示す第２のアドレスを、レジスタ３１１に記憶して管理する。
【００４６】
例えば、アドレス制御部Ｂ３０８は、無線ＬＡＮパケットの通信方式が第２の通信方式である場合、レジスタ３１１から第２のアドレスを読み出して、選択部３０９に出力する。また、アドレス制御部Ｂ３０８は、レジスタ３１１に記憶している第２のアドレスに、データ長取得部３０３が取得したデータ長を加算して、更新する。
【００４７】
なお、アドレス制御部Ａ３０７、及びアドレス制御部Ｂ３０８は、無線ＬＡＮパケットのデータ長と無線ＬＡＮパケットの通信方式とに基づいて、無線ＬＡＮパケットの転送先のアドレスを決定するアドレス制御部の一例である。例えば、アドレス制御部Ａ３０７とアドレス制御部Ｂ３０８は、１つのアドレス制御部に含まれていても良い。また、アドレス制御部には、３つ以上の通信方式に対応する３つ以上のアドレス制御部Ａ、Ｂ、Ｃ、・・・が含まれていても良い。
【００４８】
選択部３０９は、通信方式特定部３０４が特定した通信方式に応じて、無線ＬＡＮパケットを転送する記憶領域を選択する。例えば、通信方式特定部３０４が特定した通信方式が第１の通信方式である場合、選択部３０９は、アドレス制御部Ａ３０７が出力する第１のアドレスをデータ転送部３１０に出力する。一方、通信方式特定部３０４が特定した通信方式が第２の通信方式である場合、選択部３０９は、アドレス制御部Ｂ３０８が出力する第２のアドレスをデータ転送部３１０に出力する。
【００４９】
データ転送部３１０は、例えば、ＤＭＡコントローラの構成を有しており、データ取得部３０５から受け付けた無線ＬＡＮパケットを、選択部３０９から出力されたアドレスに転送する。
【００５０】
上記の構成により、ＳＤＩＯ Ｉ／Ｆ２０４は、例えば、図５に示すように、通信方式ごとに、異なる記憶領域５１１、５１２に、無線ＬＡＮパケット４００ａ〜４００ｄを転送することができる。
【００５１】
図５は、一実施形態に係る受信データについて説明するための図である。図５（Ａ）は、ＳＤＩＯ Ｉ／Ｆ２０４が無線ＬＡＮモジュール１１０から受信する、複数の通信方式の無線ＬＡＮパケットを含む受信データ５００の一例のイメージを示している。図５（Ａ）において、無線ＬＡＮパケット４００ａ、４００ｄは、第１の通信方式の無線ＬＡＮパケットであり、無線ＬＡＮパケット４００ｂ、４００ｃは、第２の通信方式の無線ＬＡＮパケットであるものとする。また、無線ＬＡＮパケット４００ａ〜４００ｄの「Ｈ」は、図４のヘッダ４０１であり、「ＤＡＴＡ」は、図４のデータ４０２であるものとする。
【００５２】
図５（Ａ）に示すように、無線ＬＡＮモジュールから受信する受信データには、第１の通信方式の無線ＬＡＮパケット４００ａ、４００ｄと、第２の通信方式の無線ＬＡＮパケット４００ｂ、４００ｃが混在している。
【００５３】
ＳＤＩＯ Ｉ／Ｆ２０４は、例えば、図５（Ａ）に示すような受信データ５００を受信すると、受信データ５００に含まれる第１の通信方式の無線ＬＡＮパケット４００ａ、４００ｄを、図５（Ｂ）に示すように、第１の記憶領域５１１に転送する。また、ＳＤＩＯ Ｉ／Ｆ２０４は、受信データ５００に含まれる第２の通信方式の無線ＬＡＮパケット４００ｂ、４００ｃを、図５（Ｂ）に示すように、第２の記憶領域５１２に転送する。
【００５４】
また、サブＣＰＵ２０２は、第１の記憶領域５１１、及び第２の記憶領域５１２に記憶された無線ＬＡＮパケット５１３を、例えば、受信データ５００ごとにメインシステム１０に転送する。
【００５５】
別の一例として、サブＣＰＵ２０２は、第１の記憶領域５１１、及び第２の記憶領域５１２に記憶された無線ＬＡＮパケット５１３を、無線ＬＡＮパケットごとに、メインシステム１０に転送しても良い。これにより、例えば、より優先度が高い通信方式の無線ＬＡＮパケットを、優先的にメインシステム１０に転送すること等が容易になる。
【００５６】
＜画像形成装置の機能構成＞
図６は、第１の実施形態に係る画像形成装置の機能構成の例を示す図である。
【００５７】
（サブシステムの機能構成）
サブシステム１００は、例えば、図２のサブＣＰＵ２０２で所定のプログラムを実行することにより、設定制御部６０１、転送制御部６０２、及び第１の記憶部６０３等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００５８】
設定制御部６０１は、図３で説明したＳＤＩＯ Ｉ／Ｆ２０４を制御して、例えば、図８に示すような受信データの転送処理を実行させる。
【００５９】
転送制御部６０２は、例えば、図５（Ｂ）に示すように、通信方式ごとに異なる記憶領域５１１、５１２に記憶された無線ＬＡＮパケット５１３を、メインシステム１０に転送する転送処理を実行する。
【００６０】
第１の記憶部６０３は、例えば、サブＣＰＵ２０２が実行するプログラム、及びＲＡＭ２０３等によって実現され、例えば、図５（Ｂ）に示すように、第１の記憶領域５１１、第２の記憶領域５１２等として用いられる。
【００６１】
（メインシステムの機能構成）
メインシステム１０は、例えば、図１のＣＰＵ１１で所定のプログラムを実行することにより、画像形成制御部６１１、及び第２の記憶部６１２等を実現している。
【００６２】
画像形成制御部６１１は、例えば、ＡＳＩＣ１３、プリンタ１４、スキャナ１５等を制御して、印刷処理、スキャン処理等の画像形成処理を実行する。例えば、画像形成制御部６１１は、サブシステム１００から第２の記憶部６１２に転送された無線ＬＡＮパケット５１３が印刷データである場合、当該印刷データを、プリンタ１４を用いて印刷する。
【００６３】
第２の記憶部６１２は、例えば、ＣＰＵ１１で実行されるプログラム、及びメモリ１２等によって実現され、サブシステム１００から転送される無線ＬＡＮパケット５１３等を記憶する。
【００６４】
＜処理の流れ＞
続いて、第１の実施形態に係る画像形成装置の制御方法の流れについて説明する。
【００６５】
（サブシステムの処理）
図７は、第１の実施形態に係るサブシステムの処理の例を示すフローチャートである。
【００６６】
ステップＳ７０１において、サブシステム１００の設定制御部６０１は、ＳＤＩＯ Ｉ／Ｆ２０４の初期設定を行う。例えば、設定制御部６０１は、ＳＤＩＯ Ｉ／Ｆ２０４を初期化して、レジスタ３１１に、図５の第１の記憶領域５１１の開始アドレス、第２の記憶領域５１２の開始アドレス等を設定する。
【００６７】
ステップＳ７０２において、設定制御部６０１が、ＳＤＩＯ Ｉ／Ｆ２０４から受信割り込みを受け付けると、ステップＳ７０３以降の処理が実行される。例えば、ＳＤＩＯ Ｉ／Ｆ２０４のＳＤＩＯ制御部３０１は、無線ＬＡＮモジュール１１０から受信割り込みが通知されると、レジスタ３１１に割り込みを通知する。これにより、レジスタ３１１は、サブＣＰＵ２０２に受信割り込みを通知する。
【００６８】
ステップＳ７０３において、設定制御部６０１は、ＳＤＩＯ制御部３０１経由で、無線ＬＡＮモジュール１１０のデータ転送量等の情報を取得する。
【００６９】
ステップＳ７０３において、設定制御部６０１は、取得したデータ転送量を、レジスタ３１１に設定することにより、データ転送部３１０のブロック転送サイズを設定する。
【００７０】
ステップＳ７０５において、設定制御部６０１が、レジスタ３１１に、転送開始フラグを有効に設定する（或いは、ｋｉｃｋ信号をアサートする）。これにより、ステップＳ７０６において、ＳＤＩＯ制御部３０１は、無線ＬＡＮモジュール１１０から、受信データのマルチブロックリードを実行する。これにより、無線ＬＡＮモジュール１１０から、例えば、図５（Ａ）に示すように、第１の通信方式の無線ＬＡＮパケット４００ａ、４００ｄと、第２の通信方式の無線ＬＡＮパケット４００ｂ、４００ｃとを含む受信データ５００が受信される。
【００７１】
ステップＳ７０７、Ｓ７０８において、ＳＤＩＯ Ｉ／Ｆ２０４は、例えば、図８に示すような、受信データの転送処理を、受信データに含まれる無線ＬＡＮパケットの各々に対して、順次に実行する。これにより、例えば、図５（Ｂ）に示すように、受信データ５００に含まれていた第１の通信方式の無線ＬＡＮパケット４００ａ、４００ｄは、第１の記憶領域５１１に記憶される。また、受信データ５００に含まれていた第２の通信方式の無線ＬＡＮパケット４００ｂ、４００ｃは、第２の記憶領域５１２に記憶される。
【００７２】
転送処理が終了すると、データ転送部３１０は、転送開始フラグを無効に設定する（或いは、ｋｉｃｋ信号をネゲートする）。これにより、例えば、サブＣＰＵ２０２に転送終了割り込みが通知される。
【００７３】
転送処理が終了すると、ステップＳ７０９において、サブシステム１００の転送制御部６０２は、第１の記憶領域５１１、及び第２の記憶領域５１２に記憶した無線ＬＡＮパケット５１３を、メインシステム１０の第２の記憶部６１２に転送する。例えば、転送制御部６０２は、ＤＭＡコントローラであるデータ転送部３１０を用いて、第１の記憶領域５１１、及び第２の記憶領域５１２に記憶した無線ＬＡＮパケット５１３を、第２の記憶部６１２にＤＭＡ転送する。
【００７４】
（受信データの転送処理）
図８は、第１の実施形態に係る受信データの転送処理の例を示す図である。この処理は、例えば、図７のステップＳ７０７において、サブシステム１００のＳＤＩＯ Ｉ／Ｆ２０４が実行する受信データの転送処理の例を示している。例えば、ＳＤＩＯ Ｉ／Ｆ２０４は、受信データに含まれる無線ＬＡＮパケットの各々に対して、図８に示す受信データの転送処理を順次に実行する。
【００７５】
ステップＳ８０１において、データセレクタ３０２は、ＳＤＩＯ制御部３０１から無線ＬＡＮパケットを取得する。
【００７６】
ステップＳ８０２において、データ長取得部３０３は、データセレクタ３０２から、例えば、図４に示すような無線ＬＡＮパケット４００のＰＬＣＰヘッダ４０３を取得し、取得したＰＬＣＰヘッダ４０３から無線ＬＡＮパケット４００のデータ長を取得する。
【００７７】
ステップＳ８０３において、通信方式特定部３０４は、データセレクタ３０２から、ＭＡＣアドレス、例えば、図４に示すような無線ＬＡＮパケット４００の「Ａｄｄｒｅｓｓ１」４０５と、「Ａｄｄｒｅｓｓ３」４０６とを取得する。また、通信方式特定部３０４は、取得したＡｄｄｒｅｓｓ１とＡｄｄｒｅｓｓ３とから、無線ＬＡＮパケット４００の通信方式を特定する。
【００７８】
例えば、通信方式特定部３０４は、Ａｄｄｒｅｓｓ１とＡｄｄｒｅｓｓ３とが異なる値である場合、無線ＬＡＮパケット４００が、アクセスポイント等から受信した第１の通信方式のパケットであると特定する。一方、通信方式特定部３０４は、Ａｄｄｒｅｓｓ１とＡｄｄｒｅｓｓ３とが同じ値である場合、無線ＬＡＮパケット４００が、Ｗｉ−Ｆｉダイレクト等の第２の通信方式のパケットであると特定する。
【００７９】
ステップＳ８０４において、データ取得部３０５は、データセレクタ３０２から、例えば、図４に示すような無線ＬＡＮパケット４００を取得し、ＦＩＦＯ３０６に書き込むことにより、データ転送部３１０に無線ＬＡＮパケット４００を転送する。
【００８０】
ステップＳ８０５において、ＳＤＩＯ Ｉ／Ｆ２０４は、データ長取得部３０３が取得したデータ長と、通信方式特定部３０４が特定した通信方式とに基づいて、転送先のアドレス、及び記憶領域を決定する。
【００８１】
例えば、通信方式が第１の通信方式である場合、アドレス制御部Ａ３０７は、レジスタ３１１に記憶して管理している、第１の通信方式の無線ＬＡＮパケットの次の書き込み位置を示す第１のアドレスを読み出して、選択部３０９に出力する。また、選択部３０９は、アドレス制御部Ａ３０７が出力する第１のアドレスをデータ転送部３１０に出力する。
【００８２】
一方、通信方式が第２の通信方式である場合、アドレス制御部Ｂ３０８は、レジスタ３１１に記憶して管理している、第２の通信方式の無線ＬＡＮパケットの次の書き込み位置を示す第２のアドレスを読み出して、選択部３０９に出力する。また、選択部３０９は、アドレス制御部Ｂ３０８が出力する第２のアドレスをデータ転送部３１０に出力する。
【００８３】
ステップＳ８０６において、データ転送部３１０は、データ取得部３０５から転送された無線ＬＡＮパケットを、選択部３０９から出力されたアドレスに、例えば、ＤＭＡ転送する。
【００８４】
上記の図７、８の処理により、サブシステム１００は、例えば、図５（Ａ）に示すように、複数の通信方式の無線ＬＡＮパケットを含む受信データ５００を、図５（Ｂ）に示すように、通信方式ごとに異なる記憶領域５１１、５１２に転送することができる。
【００８５】
また、サブシステム１００は、図５（Ｂ）に示すように、通信方式ごとに異なる記憶領域５１１、５１２に記憶された無線ＬＡＮパケット５１３を、メインシステム１０の第２の記憶部６１２に転送する。
【００８６】
従って、本実施形態によれば、無線ＬＡＮモジュール１１０から複数の通信方式のパケットを含む受信データを受信する画像形成装置１において、受信データを処理するプロセッサ（ＣＰＵ１１）の負荷を低減して、テータの取りこぼしを抑制することができる。
【００８７】
［第２の実施形態］
第２の実施形態では、ＳＤＩＯ Ｉ／Ｆ２０４が、アドレスフィルタ部を有している場合の例について説明する。
【００８８】
図９は、第２の実施形態に係るＳＤＩＯ Ｉ／Ｆ２０４の構成例を示す図である。第２の実施形態に係るＳＤＩＯ Ｉ／Ｆ２０４は、例えば、図３で説明した第１の実施形態に係るＳＤＩＯ Ｉ／Ｆ２０４の構成に加えて、送信元アドレス特定部９０１、及びアドレスフィルタ部９０２を有している。
【００８９】
送信元アドレス特定部９０１は、例えば、図４に示すような無線ＬＡＮパケット４００から、「Ｆｒａｍｅ Ｃｏｎｔｒｏｌ」４０７、「Ａｄｄｒｅｓｓ１」４０５、「Ａｄｄｒｅｓｓ３」４０６等を取得する。Ｆｒａｍｅ Ｃｏｎｔｒｏｌには、送信元が無線であるか有線であるかを示す情報が含まれており、この情報に基づいて、送信元アドレス特定部９０１は、Ａｄｄｒｅｓｓ１、Ａｄｄｒｅｓｓ３のいずれが送信元アドレスであるかを特定する。また、送信元アドレス特定部９０１は、特定した送信元アドレス（送信元ＭＡＣアドレス）を、アドレスフィルタ部９０２に通知する。
【００９０】
アドレスフィルタ部９０２は、レジスタ３１１から、フィルタリングの対象となる１つ以上のＭＡＣアドレスを取得する。また、送信元アドレス特定部９０１から通知された送信元アドレスが、フィルタリングの対象となる１つ以上のＭＡＣアドレスに含まれている場合、無線ＬＡＮパケットがフィルタリングの対象であることを示す通知信号を、データ転送部３１０に出力する。
【００９１】
データ転送部３１０は、アドレスフィルタ部９０２から、無線ＬＡＮパケットがフィルタリングの対象であることを示す通知信号を受け付けると、ＦＩＦＯ３０６に記憶されている無線ＬＡＮパケットを破棄して、当該無線ＬＡＮパケットの転送を中止する。
【００９２】
＜処理の流れ＞
図１０は、第２の実施形態に係る受信データの転送処理の例を示すフローチャートである。なお、図１０に示す処理のうち、ステップＳ８０１〜Ｓ８０６の処理は、図８で説明した第１の実施形態に係る受信データの転送処理と同様なので、ここでは、第１の実施形態との相違点を中心に説明する。また、図１０の処理の開始時点において、レジスタ３１１に、フィルタリングの対象とする１つ以上のＭＡＣアドレスが登録済であるものとする。
【００９３】
ステップＳ１００１において、ＳＤＩＯ Ｉ／Ｆ２０４の送信元アドレス特定部９０１は、データセレクタ３０２から、無線ＬＡＮパケットのＦｒａｍｅ Ｃｏｎｔｒｏｌ、Ａｄｄｒｅｓｓ１、Ａｄｄｒｅｓｓ３等の情報を取得する。
【００９４】
ステップＳ１００２において、送信元アドレス特定部９０１は、取得したＦｒａｍｅ Ｃｏｎｔｒｏｌ、Ａｄｄｒｅｓｓ１、Ａｄｄｒｅｓｓ３に基づいて、無線ＬＡＮパケットの送信元アドレス（送信元ＭＡＣアドレス）を特定する。例えば、送信元アドレス特定部９０１は、Ｆｒａｍｅ Ｃｏｎｔｒｏｌを参照して、無線ＬＡＮパケットの送信元が有線であるか、無線であるかを判断し、その結果に基づいて、Ａｄｄｒｅｓｓ１、Ａｄｄｒｅｓｓ３のいずれが送信元アドレスであるかを特定する。
【００９５】
ステップＳ１００３において、アドレスフィルタ部９０２は、送信元アドレス特定部９０１が特定した送信元アドレスが、フィルタリングの対象であるか否かを判断する。例えば、アドレスフィルタ部９０２は、レジスタ３１１に登録されているフィルタリングの対象となる１つ以上のＭＡＣアドレスを取得する。また、アドレスフィルタ部９０２は、送信元アドレス特定部９０１が特定した送信元アドレスが、フィルタリングの対象となる１つ以上のＭＡＣアドレスに含まれている場合、送信元アドレスがフィルタリングの対象であると判断する。一方、アドレスフィルタ部９０２は、送信元アドレス特定部９０１が特定した送信元アドレスが、フィルタリングの対象となる１つ以上のＭＡＣアドレスに含まれていない場合、送信元アドレスがフィルタリングの対象でないと判断する。
【００９６】
送信元アドレス特定部９０１が特定した送信元アドレスがフィルタリングの対象でない場合、アドレスフィルタ部９０２は、処理をステップＳ８０６に移行させる。一方、送信元アドレス特定部９０１が特定した送信元アドレスがフィルタリングの対象である場合、アドレスフィルタ部９０２は、処理をステップＳ１００４に移行させる。
【００９７】
ステップＳ１００４に移行すると、データ転送部３１０は、無線ＬＡＮパケットの転送を中止する。例えば、データ転送部３１０は、ＦＩＦＯ３０６に記憶されている無線ＬＡＮパケットを破棄（削除）する。
【００９８】
上記の処理により、例えば、不要な無線ＬＡＮパケットを破棄することにより、各システムバスを有効に解放し、データの転送効率を向上させることができる。
【００９９】
以上、本発明の各実施形態によれば、無線ＬＡＮモジュールから複数の通信方式のパケットを含む受信データを受信する電子機器において、受信データを処理するプロセッサの負荷を低減して、テータの取りこぼしを抑制することができる。
【０１００】
＜補足＞
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（digital signal processor）、ＦＰＧＡ（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【０１０１】
１          画像形成装置（電子機器の一例）
１０        メインシステム
１１        ＣＰＵ（プロセッサ）
１００      サブシステム
３０３      データ長取得部
３０４      通信方式特定部
３０７      アドレス制御部Ａ
３０８      アドレス制御部Ｂ
３０９      選択部
３１０      データ転送部
３１１      レジスタ
５１１      第１の記憶領域
５１２      第２の記憶領域
６０２      転送制御部
９０２      アドレスフィルタ部
【先行技術文献】
【特許文献】
【０１０２】
【特許文献１】特開２０１７−０１０２７２号公報
【図１】
2022003742.tif 000003
【図２】
2022003742.tif 000004
【図３】
2022003742.tif 000005
【図４】
2022003742.tif 000006
【図５】
2022003742.tif 000007
【図６】
2022003742.tif 000008
【図７】
2022003742.tif 000009
【図８】
2022003742.tif 000010
【図９】
2022003742.tif 000011
【図１０】
2022003742.tif 000012