特許第6036719号(P6036719)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニカミノルタ株式会社の特許一覧

特許6036719プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法
<>
  • 特許6036719-プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法 図000002
  • 特許6036719-プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法 図000003
  • 特許6036719-プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法 図000004
  • 特許6036719-プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法 図000005
  • 特許6036719-プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6036719
(24)【登録日】2016年11月11日
(45)【発行日】2016年11月30日
(54)【発明の名称】プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法
(51)【国際特許分類】
   H03K 19/173 20060101AFI20161121BHJP
【FI】
   H03K19/173 101
【請求項の数】23
【全頁数】18
(21)【出願番号】特願2014-16114(P2014-16114)
(22)【出願日】2014年1月30日
(65)【公開番号】特開2015-142361(P2015-142361A)
(43)【公開日】2015年8月3日
【審査請求日】2015年4月20日
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000671
【氏名又は名称】八田国際特許業務法人
(72)【発明者】
【氏名】小野 寿浩
【審査官】 白井 孝治
(56)【参考文献】
【文献】 特開2005−258996(JP,A)
【文献】 特開2003−044303(JP,A)
【文献】 特開2001−290758(JP,A)
【文献】 特開2012−118904(JP,A)
【文献】 特開2010−066843(JP,A)
【文献】 米国特許出願公開第2011/0109931(US,A1)
【文献】 特開2008−123147(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03K19/173〜19/177
(57)【特許請求の範囲】
【請求項1】
マイクロプロセッサーと、
前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御する制御信号を生成して出力することによって、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御するプログラム可能な論理回路デバイスと、
前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換えている間、前記プログラム可能な論理回路デバイスから出力される前記制御信号を遮断する信号遮断部と、を有する、電子装置。
【請求項2】
前記プログラム可能な論理回路デバイスは、
書き換え可能な不揮発メモリを内蔵し、当該書き換え可能な不揮発メモリに前記回路構成データを格納することを特徴とする請求項1に記載の電子装置。
【請求項3】
前記マイクロプロセッサーは、
前記プログラム可能な論理回路デバイスの回路構成データの書き換えが完了した後、前記信号遮断部を、前記制御信号の遮断を解除するよう制御し、
前記信号遮断部が前記制御信号の遮断を解除した後、前記電子装置全体を初期化することを特徴とする請求項1または2に記載の電子装置。
【請求項4】
前記マイクロプロセッサーは、
通常動作モードおよびPLD書き換え動作モードの2つの動作モードを備え、
前記動作モードがPLD書き換え動作モードのとき、前記プログラム可能な論理回路デバイスの回路構成データを書き換える一方で、
前記動作モードが通常動作モードのとき、前記プログラム可能な論理回路デバイス以外の他のデバイスに対してリード/ライトを実行することを特徴とする請求項1〜3のいずれか1項に記載の電子装置。
【請求項5】
前記他のデバイスとしての記憶部と、
前記動作モードに応じて前記プログラム可能な論理回路デバイスおよび前記記憶部のうちのいずれかを選択する選択部と、をさらに有することを特徴とする請求項4に記載の電子装置。
【請求項6】
前記信号遮断部は、
前記制御信号を入力し、前記マイクロプロセッサーに出力するトライステートバッファを備え、
前記動作モードがPLD書き換え動作モードのとき、前記トライステートバッファがハイインピーダンス状態となるため、前記制御信号は、前記マイクロプロセッサーから遮断され、
前記動作モードが通常動作モードのとき、前記トライステートバッファが導通状態となるため、前記制御信号は、前記マイクロプロセッサーに入力されることを特徴とする請求項4または5に記載の電子装置。
【請求項7】
前記トライステートバッファには、前記プログラム可能な論理回路デバイスに電力を供給する電源と同じ電源から電力が供給されることを特徴とする請求項6に記載の電子装置。
【請求項8】
前記トライステートバッファの出力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記トライステートバッファがハイインピーダンス状態である場合、前記マイクロプロセッサーの動作が継続されるように、前記出力端子がプルアップまたはプルダウンされることを特徴とする請求項6または7に記載の電子装置。
【請求項9】
前記トライステートバッファの入力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記制御信号が不安定である場合に前記マイクロプロセッサーの動作が開始されないように、前記入力端子がプルアップまたはプルダウンされることを特徴とする請求項6〜8のいずれか1項に記載の電子装置。
【請求項10】
前記トライステートバッファのイネーブル端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記トライステートバッファがイネーブル状態となるように、前記イネーブル端子がプルアップまたはプルダウンされることを特徴とする請求項6〜9のいずれか1項に記載の電子装置。
【請求項11】
前記信号遮断部は、
前記制御信号を入力し、前記マイクロプロセッサーに出力するアナログスイッチを備え、
前記動作モードがPLD書き換え動作モードのとき、前記アナログスイッチがハイインピーダンス状態となるため、前記制御信号は、前記マイクロプロセッサーから遮断され、
前記動作モードが通常動作モードのとき、前記アナログスイッチが導通状態となるため、前記制御信号は、前記マイクロプロセッサーに入力されることを特徴とする請求項4または5に記載の電子装置。
【請求項12】
前記アナログスイッチには、前記プログラム可能な論理回路デバイスに電力を供給する電源と同じ電源から電力が供給されることを特徴とする請求項11に記載の電子装置。
【請求項13】
前記アナログスイッチの出力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記アナログスイッチがハイインピーダンス状態である場合、前記マイクロプロセッサーの動作が継続されるように、前記出力端子がプルアップまたはプルダウンされることを特徴とする請求項11または12に記載の電子装置。
【請求項14】
前記アナログスイッチの入力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記制御信号が不安定である場合に前記マイクロプロセッサーの動作が開始されないように、前記入力端子がプルアップまたはプルダウンされることを特徴とする請求項13に記載の電子装置。
【請求項15】
前記アナログスイッチのイネーブル端子には、プルアップ抵抗またはプルダウン抵抗が接続され、
前記アナログスイッチがイネーブル状態となるように、前記イネーブル端子がプルアップまたはプルダウンされることを特徴とする請求項14に記載の電子装置。
【請求項16】
前記制御信号が不安定である場合であって、前記プログラム可能な論理回路デバイスが前記マイクロプロセッサーの電源を制御する場合、
前記アナログスイッチの前記入力端子のプルアップ抵抗および前記出力端子のプルダウン抵抗、または、前記アナログスイッチの入力端子のプルダウン抵抗および前記出力端子のプルアップ抵抗とは、前記プログラム可能な論理可能デバイスによって前記マイクロプロセッサーの動作が開始されない論理レベルに前記制御信号が出力されるように決定されることを特徴とする請求項14または15に記載の電子装置。
【請求項17】
前記制御信号は、LVTTLのハイレベルまたはローレベル出力、あるいはオープンコレクターによるハイインピーダンス出力のいずれかであることを特徴とする請求項14〜16のいずれか1項に記載の電子装置。
【請求項18】
マイクロプロセッサーと、
前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御する制御信号を生成して出力することによって、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御するプログラム可能な論理回路デバイスと、を備えた電子装置の前記プログラム可能な論理回路デバイスの回路構成データを書き換える方法であって、
前記プログラム可能な論理回路デバイスの書き換え用の回路構成データを取得する段階と、
前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階と、
前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換えている間、前記制御信号を遮断する段階と、を有する、書き換え方法。
【請求項19】
前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階の後に、
前記制御信号が遮断された状態で、書き換えられた回路構成データを読み出して検証する段階をさらに有することを特徴とする請求項18に記載の書き換え方法。
【請求項20】
前記検証する段階の後に、
前記制御信号の遮断を解除する段階と、
前記電子装置全体を初期化する段階と、
をさらに有することを特徴とする請求項19に記載の書き換え方法。
【請求項21】
前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階の後、かつ前記制御信号の遮断を解除する段階の前において、
前記プログラム可能な論理回路デバイスをリセットする段階と、
前記プログラム可能な論理回路デバイスのリセットを解除する段階と、
前記制御信号の挙動を確認する段階と、をさらに有することを特徴とする請求項20に記載の書き換え方法。
【請求項22】
前記マイクロプロセッサーに請求項18〜21のいずれか1項に記載の書き換え方法を実行させるように構成される、書き換えプログラム。
【請求項23】
請求項22に記載の書き換えプログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法に関する。
【背景技術】
【0002】
プログラム可能な論理回路デバイス(以下、PLDとも称する)は、たとえばASIC(Application Specific Integrated Circuit)のように、一旦、デバイス内部の論理回路を決定すると変更できない論理回路デバイスとは異なり、デバイス内部の論理回路を繰り返し変更できる論理回路デバイスである。
【0003】
近年のPLD(Programmable Logic Device)では、ユーザーが所望の論理回路の構成をパーソナルコンピューターなどの端末上で編集し、当該論理回路の構成に関する情報をコンフィグレーションデータとして読み込んでデバイス内部に論理回路を構成することができるようになってきている。
【0004】
たとえば、特許文献1には、PLDとマイクロプロセッサー(以下、MPUとも称する)とを備え、遠隔のコントロール・センターによりコンフィグレーションデータを書き換えるオンボード書き換えシステムが開示されている。
【0005】
ところが、フラッシュメモリ内蔵型のPLDを備えるオンボード書き換えシステムにおいて、MPU(Micro−Processing Unit)がPLDを書き換えている間は、PLDの出力端子の状態が一般に不定となる。したがって、PLDがMPUの電源やリセットを制御する構成である場合、コンフィグレーションデータをMPUから書き換えることができないか、あるいは正常に書き換えることができないおそれがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−123147号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記問題に鑑みてなされたものである。したがって、本発明の目的は、PLDがMPUの電源やリセットを制御する構成である場合に、PLDのコンフィグレーションデータをMPUから正常に書き換えられる、PLDを備えた電子装置および書き換え方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の上記目的は、下記によって達成される。
【0009】
(1)マイクロプロセッサーと、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御する制御信号を生成して出力することによって、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御するプログラム可能な論理回路デバイスと、前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換えている間、前記プログラム可能な論理回路デバイスから出力される前記制御信号を遮断する信号遮断部と、を有する、電子装置。
【0010】
(2)前記プログラム可能な論理回路デバイスは、書き換え可能な不揮発メモリを内蔵し、当該書き換え可能な不揮発メモリに前記回路構成データを格納することを特徴とする上記(1)に記載の電子装置。
【0011】
(3)前記マイクロプロセッサーは、前記プログラム可能な論理回路デバイスの回路構成データの書き換えが完了した後、前記信号遮断部を、前記制御信号の遮断を解除するよう制御し、記信号遮断部が前記制御信号の遮断を解除した後、前記電子装置全体を初期化することを特徴とする上記(1)または(2)に記載の電子装置。
【0013】
)前記マイクロプロセッサーは、通常動作モードおよびPLD書き換え動作モードの2つの動作モードを備え、前記動作モードがPLD書き換え動作モードのとき、前記プログラム可能な論理回路デバイスの回路構成データを書き換える一方で、前記動作モードが通常動作モードのとき、前記プログラム可能な論理回路デバイス以外の他のデバイスに対してリード/ライトを実行することを特徴とする上記(1)〜()のいずれか1つに記載の電子装置。
【0014】
)前記他のデバイスとしての記憶部と、前記動作モードに応じて前記プログラム可能な論理回路デバイスおよび前記記憶部のうちのいずれかを選択する選択部と、をさらに有することを特徴とする上記()に記載の電子装置。
【0015】
(6)前記信号遮断部は、前記制御信号を入力し、前記マイクロプロセッサーに出力するトライステートバッファを備え、前記動作モードがPLD書き換え動作モードのとき、前記トライステートバッファがハイインピーダンス状態となるため、前記制御信号は、前記マイクロプロセッサーから遮断され、前記動作モードが通常動作モードのとき、前記トライステートバッファが導通状態となるため、前記制御信号は、前記マイクロプロセッサーに入力されることを特徴とする上記(4)または(5)に記載の電子装置。
【0016】
)前記トライステートバッファには、前記プログラム可能な論理回路デバイスに電力を供給する電源と同じ電源から電力が供給されることを特徴とする上記()に記載の電子装置。
【0017】
)前記トライステートバッファの出力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記トライステートバッファがハイインピーダンス状態である場合、前記マイクロプロセッサーの動作が継続されるように、前記出力端子がプルアップまたはプルダウンされることを特徴とする上記()または()に記載の電子装置。
【0018】
)前記トライステートバッファの入力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記制御信号が不安定である場合に前記マイクロプロセッサーの動作が開始されないように、前記入力端子がプルアップまたはプルダウンされることを特徴とする上記()〜()のいずれか1つに記載の電子装置。
【0019】
10)前記トライステートバッファのイネーブル端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記トライステートバッファがイネーブル状態となるように、前記イネーブル端子がプルアップまたはプルダウンされることを特徴とする上記()〜()のいずれか1つに記載の電子装置。
【0020】
(11)前記信号遮断部は、前記制御信号を入力し、前記マイクロプロセッサーに出力するアナログスイッチを備え、前記動作モードがPLD書き換え動作モードのとき、前記アナログスイッチがハイインピーダンス状態となるため、前記制御信号は、前記マイクロプロセッサーから遮断され、前記動作モードが通常動作モードのとき、前記アナログスイッチが導通状態となるため、前記制御信号は、前記マイクロプロセッサーに入力されることを特徴とする上記(4)または(5)に記載の電子装置。
【0021】
12)前記アナログスイッチには、前記プログラム可能な論理回路デバイスに電力を供給する電源と同じ電源から電力が供給されることを特徴とする上記(11)に記載の電子装置。
【0022】
13)前記アナログスイッチの出力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記アナログスイッチがハイインピーダンス状態である場合、前記マイクロプロセッサーの動作が継続されるように、前記出力端子がプルアップまたはプルダウンされることを特徴とする上記(11)または(12)に記載の電子装置。
【0023】
14)前記アナログスイッチの入力端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記制御信号が不安定である場合に前記マイクロプロセッサーの動作が開始されないように、前記入力端子がプルアップまたはプルダウンされることを特徴とする上記(13)に記載の電子装置。
【0024】
15)前記アナログスイッチのイネーブル端子には、プルアップ抵抗またはプルダウン抵抗が接続され、前記アナログスイッチがイネーブル状態となるように、前記イネーブル端子がプルアップまたはプルダウンされることを特徴とする上記(14)に記載の電子装置。
【0025】
16前記制御信号が不安定である場合であって、前記プログラム可能な論理回路デバイスが前記マイクロプロセッサーの電源を制御する場合、前記アナログスイッチの前記入力端子のプルアップ抵抗および前記出力端子のプルダウン抵抗、または、前記アナログスイッチの入力端子のプルダウン抵抗および前記出力端子のプルアップ抵抗とは、前記プログラム可能な論理可能デバイスによって前記マイクロプロセッサーの動作が開始されない論理レベルに前記制御信号が出力されるように決定されることを特徴とする上記(14)または(15)に記載の電子装置。
【0026】
17)前記制御信号は、LVTTLのハイレベルまたはローレベル出力、あるいはオープンコレクターによるハイインピーダンス出力のいずれかであることを特徴とする上記(14)〜(16)のいずれか1つに記載の電子装置。
【0027】
(18)マイクロプロセッサーと、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御する制御信号を生成して出力することによって、前記マイクロプロセッサーの電源およびリセットの少なくともいずれかを制御するプログラム可能な論理回路デバイスと、を備えた電子装置の前記プログラム可能な論理回路デバイスの回路構成データを書き換える方法であって、前記プログラム可能な論理回路デバイスの書き換え用の回路構成データを取得する段階と、前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階と、前記マイクロプロセッサーが前記プログラム可能な論理回路デバイスの回路構成データを書き換えている間、前記制御信号を遮断する段階と、を有する、書き換え方法。
【0028】
(19)前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階の後に、前記制御信号が遮断された状態で、書き換えられた回路構成データを読み出して検証する段階をさらに有することを特徴とする上記(18)に記載の書き換え方法。
【0029】
(20)前記検証する段階の後に、前記制御信号の遮断を解除する段階と、前記電子装置全体を初期化する段階と、をさらに有することを特徴とする上記(19)に記載の書き換え方法。
【0030】
(21)前記プログラム可能な論理回路デバイスの回路構成データを書き換える段階の後、かつ前記制御信号の遮断を解除する段階の前において、前記プログラム可能な論理回路デバイスをリセットする段階と、前記プログラム可能な論理回路デバイスのリセットを解除する段階と、前記制御信号の挙動を確認する段階と、をさらに有することを特徴とする上記(20)に記載の書き換え方法。
【0031】
22)前記マイクロプロセッサーに上記(18)〜(21)のいずれか1つに記載の書き換え方法を実行させるように構成される、書き換えプログラム。
【0032】
23)上記(22)に記載の書き換えプログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の効果】
【0033】
本発明によれば、MPUは、PLDのコンフィグレーションデータを書き換えている間、MPUの電源およびリセットを制御するMPU制御信号を遮断するので、PLDのコンフィグレーションデータをMPUから正常に書き換えられる。
【図面の簡単な説明】
【0034】
図1】本発明の第1の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。
図2】本発明の第1の実施形態におけるPLDを備えた電子装置の動作の概略を説明するためのフローチャートである。
図3】本発明の第1の実施形態におけるコンフィグレーションデータの書き換え手順について説明するフローチャートである。
図4】本発明の第2の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。
図5】本発明の第3の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【0035】
以下、添付した図面を参照して本発明のPLDを備えた電子装置の実施形態を説明する。なお、図中、同一の部材には同一の符号を用いた。
【0036】
(第1の実施形態)
図1は本発明の第1の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。図1に示すように、本実施形態の電子装置100は、PLD10、PLDクロック生成部20、リセットIC30、MPU40、MPUクロック生成部50、バッファー回路60および電源IC(Integrated Circuit)70を有する。これらの構成要素は、配線80〜89により電気的に接続されている。
【0037】
PLD10は、MPU40の電源のオン/オフおよびリセットを制御するプログラム可能な論理回路デバイスである。PLD10は、コンフィグレーションデータ(回路構成データ)を格納するフラッシュメモリ(書き換え可能な不揮発メモリ)を内蔵し、ポート1、ポート2、ポート5、JTAGポート、第1および第2リセットポートの各端子を有する。
【0038】
ポート1およびポート2の各端子は、バッファー回路60の入力1端子および入力2端子に各々配線81,82を介してそれぞれ接続され、ポート5端子は電源IC70の電源監視端子に配線88を介して接続される。また、JTAG(Joint Test Action Group)ポート端子は、MPU40の汎用I/Oポート端子に配線80を介して接続される。また、第1リセットポート端子はリセットIC30に配線87を介して接続され、第2リセットポート端子はMPU40のポート4端子に配線89を介して接続される。
【0039】
なお、本実施形態のJTAGポートは、テストアクセスポートの標準IEEE1149.1に準拠している。JTAGは、当初、集積回路や基板の検査に用いられていた規格であるが、近年は検査目的のみならず、コンフィグレーションデータの書き換えなどCPLDやFPGAにアクセスする手段としても使用されている。
【0040】
本実施形態の電子装置100には、当該電子装置100の外部の図示しない電源(たとえば電源電圧3.3V)によって電力が供給される。当該電源は、PLD10および当該PLD10にPLD用クロック信号を供給するPLDクロック生成部20に電力を供給する。
【0041】
本実施形態のPLD10は、電源IC70のイネーブルを制御するための電源制御信号を生成し、ポート1端子から出力する。電源制御信号は、バッファー回路60の入力1端子に入力される。
【0042】
また、PLD10は、ポート5端子に入力される電源IC70の電源監視信号に基づいて、電源IC70の電源出力端子から配線85に出力される電源電圧が適切な電圧となっていることを確認する。また、PLD10は、MPU40のリセットを制御するためのリセット制御信号を生成し、ポート2端子から出力する。リセット制御信号は、バッファー回路60の入力2端子に入力される。
【0043】
PLDクロック生成部20は、発振器または振動子を備え、PLD用クロック信号を生成する。PLDクロック生成部20のクロック出力端子は、PLD10のクロック入力端子に接続されている。なお、図1において、PLDクロック生成部20のクロック出力端子、PLD10のクロック入力端子、およびPLDクロック生成部20とPLD10との間の配線の図示を省略している。
【0044】
リセットIC30は、上記電源からPLD10に電力の供給が開始された後に、上記PLD用クロック信号の波形が安定するまで所定時間PLD10をリセットする。
【0045】
MPU40は、PLD10のコンフィグレーションデータの書き換えデータを取得し、PLD10のフラッシュメモリに格納された既存のコンフィグレーションデータを上記書き換えデータに書き換える。MPU40は、汎用マイクロプロセッサーであり、電源入力、リセットポート、汎用I/Oポート、ポート3およびポート4の各端子を有する。電源入力端子は配線85を介して電源IC70の電源出力端子に接続され、リセットポート端子はバッファー回路60の出力2端子に配線84を介して接続される。また、汎用I/Oポート端子は、PLD10のJTAGポート端子に配線80を介して接続される。また、ポート3端子はバッファー回路60のイネーブル端子に配線86を介して接続され、ポート4端子はPLD10の第2リセットポート端子に配線89を介して接続される。
【0046】
本実施形態では、MPU40は、取得したコンフィグレーションデータの書き換えデータを汎用I/Oポート端子から出力し、JTAGプロトコルでPLD10のJTAGポート端子に送信する。
【0047】
MPU40には、MPUクロック生成部50が接続されている。MPUクロック生成部50は、発振器または振動子を備え、MPU用クロック信号を生成する。上記発振器は、MPU40と同じ電源で動作する。また、上記振動子の場合は、MPU40の端子から電圧が印加されることで上記振動子が発振を開始する。PLD10は、MPU40への各電源投入タイミングとMPUクロック生成部50のクロック安定出力を待ち合わせてからリセットを解除する。なお、図1において、MPUクロック生成部50のクロック出力端子、MPU40のクロック入力端子、およびMPUクロック生成部50とPLD10との間の配線の図示を省略している。
【0048】
MPU40には各デバイスのインタフェース用の複数の電源(IO電源)が接続される。上記電源の電源電圧は、たとえば3.3V、1.8V、1.5V、1.2Vである。したがって、PLD10は、上記電源ごとにオン/オフの制御信号を出力することが望ましい。しかしながら、MPU40に電源投入シーケンスが無い場合は、すべての電源を同時にオン/オフ制御してもよい。
【0049】
また、MPU40が起動する前(リセット状態)では、MPU40のポート3端子はハイインピーダンス(以下、HiZと称する)状態で電気的にはフローティング状態である。そのため、たとえばバッファー回路60のイネーブルが負論理の場合、プルダウン抵抗(不図示)によってMPU40のポート3端子が論理固定される。
【0050】
バッファー回路60は、信号遮断部として機能し、PLD10によってMPU40を制御するMPU制御信号を遮断する。本実施形態では、当該MPU制御信号は、MPU40の電源を制御する電源制御信号およびリセットを制御するリセット制御信号を含む。MPU制御信号は、LVTTLなどの「ハイレベル(high level)」または「ローレベル(low level)」出力またはオープンコレクターによるHiZ出力のいずれかであることが好ましい。
【0051】
バッファー回路60は、イネーブル/ディセーブル制御可能な1入力1出力のスイッチング素子を2つ備え、イネーブル、入力1、入力2、出力1および出力2の各端子を有する。上記スイッチング素子は、たとえばトライステートバッファ、アナログスイッチなどである。バッファー回路60がイネーブル状態である場合、出力1端子には入力1端子に入力された電源制御信号が出力され、出力2端子には入力2端子に入力されたリセット制御信号が出力される。
【0052】
一方、バッファー回路60がイネーブル状態ではない場合、すなわちディセーブル状態の場合、出力1端子および出力2端子は、HiZ状態となり電気的にフローティング状態となる。本実施形態では、バッファー回路60のイネーブルは負論理であり、バッファー回路60のイネーブル端子に「ローレベル」のバッファーイネーブル信号が入力された場合にイネーブル状態となる。一方、イネーブル端子に「ハイレベル」のバッファーイネーブル信号が入力された場合にディセーブル状態となる。
【0053】
出力1端子は、電源IC70のイネーブル端子に接続され、配線83に電源制御信号を出力する。また、出力2端子は、MPU40のリセットポート端子に接続され、配線84にリセット制御信号を出力する。
【0054】
本実施形態では、上記出力1端子および出力2端子がHiZ状態となったときでも電源IC70がイネーブル状態を維持し、MPU40にリセットがからないようにするため、出力1端子および出力2端子が「ローレベル」または「ハイレベル」に論理固定される。たとえば、本実施形態のように電源IC70のイネーブルが正論理であり、MPU40のリセットが負論理である場合、プルアップ抵抗(不図示)によって上記出力1端子および出力2端子が論理固定される。なお、上記プルアップ抵抗には、電源IC70の電源電圧と同じ電圧が印加されることが好ましい。
【0055】
また、バッファー回路60の入力1端子および入力2端子には、プルアップ抵抗またはプルダウン抵抗が接続されていてもよい。たとえばPLD10に初めてリセットがかかったときなどMPU制御信号が不安定である場合、電源を投入しないか、あるいはリセットがかかるように入力1端子および入力2端子をプルアップまたはプルダウンしてMPU40の動作を開始させないことが好ましい。
【0056】
なお、バッファー回路60がスイッチング素子としてアナログスイッチを備える場合、バッファー回路60がイネーブル状態のとき入力側と出力側が導通するので、入力側および出力側のプルアップ抵抗/プルダウン抵抗が信号線上で接続されることになる。したがって、アナログスイッチの入力端子のプルアップ抵抗/プルダウン抵抗と、出力端子のプルアップ抵抗/プルダウン抵抗とは、それぞれの抵抗値で定まる抵抗比によって、MPU制御信号が、MPU40の動作が開始されない論理レベルになるように決定される。
【0057】
電源IC70は、MPU40に電力を供給するためのICであり、イネーブル、電源監視、および電源出力の各端子を有する。上記イネーブル端子に入力される電源制御信号がアクティブであり電源IC70がイネーブル状態であるとき、電源出力端子を通じてMPU40に必要な電力が供給される一方で、イネーブル状態ではないとき、MPU40には電力は供給されない。
【0058】
本実施形態では、電源監視端子は、電源出力端子の端子電圧が所定電圧になっている旨を出力し、PLD10のポート5端子に供給する。上述のように、出力1端子および出力2端子がHiZ状態となったときでも電源IC70がイネーブル状態を維持し、MPU40にリセットがからないようにするため、出力1端子および出力2端子はプルアップされている。
【0059】
次に、図2を参照して、以上のとおり構成される本実施形態の電子装置100の動作の概略について説明する。図2は本発明の第1の実施形態におけるPLDを備えた電子装置の動作の概略を説明するためのフローチャートである。
【0060】
図2に示すように、まず、PLD10を起動する(ステップS101)。具体的には、PLD10に電子装置100の外部の電源から電力が供給される。本実施形態では、PLD10に供給される電源電圧は、たとえば3.3Vである。また、本実施形態では、PLD10にクロック信号を供給するためのPLDクロック生成部20にも上記電源から電力が供給される。
【0061】
PLD10に電力およびPLDクロック信号の供給が開始されると、PLD100は動作を開始する。ところが、PLDクロック生成部20へ電力の供給が開始された直後は、生成されるPLDクロック信号の波形が安定しないことが予想されるので、PLD10はリセットIC30によってPLDクロック信号が安定するまでリセットされる。そして、PLDクロック信号が安定する所定時間が経過した後、リセットが解除されてPLD10の起動が完了する。
【0062】
次に、MPUを起動する(ステップS102)。具体的には、PLD10の起動が完了すると、PLD10はポート1端子から電源制御信号を配線81に出力する。電源IC70は、バッファー回路60を介して上記電源制御信号をイネーブル端子に入力する。そして、電源IC70は、上記電源制御信号が入力されるとMPU40に対して電力の供給を開始する。
【0063】
また、電源IC70は、上記電源制御信号が入力され、電源出力端子が所定電圧になると、電源監視端子から電源監視信号を出力する。PLD10は、ポート5端子に上記電源監視信号を入力し、電源IC70から配線85に出力された電圧が所定電圧となっていることを確認する。
【0064】
さらに、PLD10は、ポート2端子からリセット制御信号を配線82に出力する。MPU40は、リセットポート端子からリセット制御信号を入力し、リセット状態となる。
【0065】
PLD10は、上記電源監視信号を入力してから内蔵タイマーにより計時を開始し、所定時間が経過した後、リセット制御信号をインアクティブにしてMPU40のリセットを解除する。そして、MPU40は、図示しないROM(Read Only Memory)に格納されているソフトウェアプログラムを読み込んで所定の動作を開始する。以下のPLDコンフィグレーションデータを書き換える手順は、上記ROMに格納されている書き換えプログラムをMPU40が実行することによって実現される。
【0066】
次に、PLDコンフィグレーションデータを書き換える(ステップS103)。MPU40は、PLD10のフラッシュメモリに格納されているコンフィグレーションデータを書き換える。以下、図3を参照して、本実施形態においてコンフィグレーションデータを書き換える手順についてより具体的に説明する。図3は、本実施形態におけるコンフィグレーションデータの書き換え手順について説明するフローチャートである。
【0067】
図3に示すように、まず、PLDコンフィグレーションデータを受信する(ステップS201)。MPU40は、図示しないLAN、USBなどの外部インタフェースからPLD10の書き換え用コンフィグレーションデータを受信する。
【0068】
次に、PLD書き換え動作モードに移行する(ステップS202)。MPU40は、アプリケーションソフトの実行を停止して、動作モードを通常動作モードからPLD書き換え動作モードに切り替える。
【0069】
次に、MPU制御信号を電気的に遮断する(ステップS203)。MPU40は、ポート3端子から配線86に出力するバッファーイネーブル信号をインアクティブにしてバッファー回路60の出力1端子および出力2端子をHiZ状態にする。これにより、PLD10からバッファー回路60を介して電源IC70に出力される電源制御信号と、バッファー回路60を介してMPU40に出力されるリセット制御信号とがPLD10の制御下から切り離される。
【0070】
このように、バッファーイネーブル信号がインアクティブになると、バッファー回路60の出力1端子および出力2端子は、HiZ状態となる。本実施形態では、バッファー回路60の出力1端子および出力2端子は、たとえば外付けのプルアップ抵抗によって「ハイレベル」に論理固定されている。電源IC70のイネーブルは正論理であり、電源制御信号が「ハイレベル」に論理固定されるので、MPU40への電源供給が継続される。同様に、本実施形態では、MPU40のリセットは、負論理であり、MPUリセット信号が「ハイレベル」に論理固定されるので、MPU40にはリセットがかからず、MPU40は動作を継続する。
【0071】
次に、PLDのコンフィグレーションデータを書き換える(ステップS204)。MPU40は、上記書き換え用コンフィグレーションデータを汎用I/Oポート端子からJTAGプロトコルでPLD10のJTAGポート端子に送信する。PLD10は、内蔵のフラッシュメモリに格納されたコンフィグレーションデータを上記書き換え用コンフィグレーションデータに書き換える。
【0072】
次に、PLDのコンフィグレーションデータを検証する(ステップS205)。PLD10は、書き換えられたコンフィグレーションデータをJTAGポート端子からMPU40の汎用I/Oポート端子にJTAGプロトコルで送信する。MPU40は、汎用I/Oポート端子で受信したPLD10のコンフィグレーションデータを上記書き換え用コンフィグレーションデータと比較することにより検証する。検証の結果、PLD10のコンフィグレーションデータに誤りがある場合は、ステップS204の処理を再度実行するか、あるいはエラーコードを出力したり、MPU40に対して割り込みを発生させたりすることができる。
【0073】
PLD10は、コンフィグレーションデータが書き換えられた後、すぐに動作を開始することができる。あるいは、コンフィグレーションデータが書き換えられた後にMPU40のポート4端子から配線89に出力されるPLDリセット信号がインアクティブになった直後から動作を開始するように構成することもできる。
【0074】
そして、PLD10は上記ステップS102のMPU40の起動処理を実行する。ここで、上述のとおりバッファー回路60がインアクティブ状態であるので、PLD10からのMPU制御信号は電気的に切り離されているものの、出力1端子および出力2端子はプルアップ抵抗により「ハイレベル」に論理固定されている。したがって、電源IC70はイネーブル状態を維持し、電源IC70の電源出力端子は所定の電源電圧を出力する。その結果、PLD10は、電源IC70の電源監視端子から出力される電源監視信号によってMPU40の起動処理が通常通り実施されていると判断する。
【0075】
なお、PLD10で実行されるMPU40の起動シーケンスでは、MPU40のリセット制御も行なわれている。したがって、上記起動シーケンスが完了する前にMPU40のポート3端子から「ローレベル」を出力にして、バッファー回路60をイネーブルにすると、MPU40自身にリセットがかかってしまう。その場合は、PLD10にはリセットがかからず、MPU40のみがリセットにより初期化されるため、PLD10とMPU40の初期化が適切に同期できないため、好ましくない。
【0076】
次に、MPU制御信号の遮断を解除する(ステップS206)。MPU40は、PLD10によるシーケンスが完了するまでの時間を待ち合わせたのち、ポート3端子から出力するバッファーイネーブル信号をアクティブにしてバッファー回路60をイネーブル状態に戻す。
【0077】
次に、通常動作モードに移行する(ステップS207)。MPU40は、PLD10の動作モードをPLD書き換え動作モードから通常動作モードに切り替える。
【0078】
次に、システム全体を初期化する(ステップS208)。MPU40は、ポート4端子から出力するPLD10のPLDリセット信号をアクティブにすることで電子装置100全体を初期化する。
【0079】
このように、図3に示す本実施形態のPLDのコンフィグレーションデータを書き換える方法では、まず、PLD10の書き換え用のコンフィグレーションデータを取得する。そして、バッファー回路60がMPU40の電源およびリセットを制御するMPU制御信号を遮断した上で、MPU40は、PLD10のコンフィグレーションデータを書き換える。
【0080】
以上のとおり、本実施形態の電子装置100および書き換え方法は下記の効果を奏する。
【0081】
MPU40は、PLD10のコンフィグレーションデータを書き換えている間、MPU40の電源およびリセットを制御するMPU制御信号を遮断するので、PLD10のコンフィグレーションデータをMPU40から正常に書き換えられる。
【0082】
(第2の実施形態)
第2の実施形態の電子装置は、第1の実施形態の電子装置の構成に加えて、通常動作モード時にMPUがリード/ライトするメモリを有する。以下では、第1の実施形態と同一の構成については説明を省略する。
【0083】
図4は、第2の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。図4に示すように、本実施形態の電子装置100は、セレクター90およびメモリ95を有する。なお、図4において、PLDクロック生成部、リセットICおよびMPUクロック生成部の図示を省略している。
【0084】
セレクター90は、MPU40の汎用I/Oポートからのデータを入力し、PLD10のJTAGポートまたはメモリ95のデータI/Oポートに対して出力する。セレクター90は、ポートA、ポートB、ポートCおよびセレクトの各端子を有する。ポートA端子はMPU40の汎用I/Oポート端子に接続され、ポートB端子はPLD10のJTAGポート端子に接続され、ポートC端子はメモリ95のデータI/Oポート端子に接続され、セレクト端子はMPU40のポート3端子に接続される。
【0085】
メモリ95は、図示しないROM(Read Only Memory)やRAMなどの記憶デバイスを備える。通常動作モードでは、セレクター90によってMPU40の汎用I/Oポート端子とメモリ95のデータI/Oポート端子との間が接続される。MPU40は、メモリ95へソフトウェアプログラムやデータを書き込んだり、メモリ95からソフトウェアプログラムやデータを読み出したりする。
【0086】
一方、PLD書き換え動作モードでは、MPU40は、バッファー回路60をディセーブルにするとともに、セレクター90によってMPU40の汎用I/Oポート端子とPLD10のJTAGポート端子との間を接続する。MPU40は、第1の実施形態におけるPLDコンフィグレーションデータの書き換えの手順と同様に、PLD10のコンフィグレーションデータの書き換えおよび電子装置100全体の初期化を実行する。
【0087】
MPU40の汎用IOポートは、通常動作モード時はメモリ95とのインタフェースをエミュレートしてリード/ライトを実行し、PLD書き換え動作モード時はJTAGプロトコルをエミュレートしてPLD10のコンフィグレーションデータを書き換える。
【0088】
このように、本実施形態では、通常動作モードにおいて、MPU40がメモリ95に対してリード/ライトを実行できるように、MPU40の汎用I/Oポート端子とメモリ95のデータI/Oポート端子との間が接続される。一方、PLD書き換え動作モードでは、MPU40がPLD10のコンフィグレーションデータを書き換えられるように、バッファー回路60がディセーブルされるとともに、MPU40の汎用I/Oポート端子とPLD10のJTAGポート端子との間が接続される。
【0089】
以上のとおり、本実施形態の電子装置100および書き換え方法は、第1の実施形態の効果に加えて下記の効果を奏する。
【0090】
MPU40は、動作モードに応じてPLD10とメモリ95とのいずれかに汎用I/Oポートのアクセス先を変更できるので、汎用I/Oポートを増設する必要はない。
【0091】
(第3の実施形態)
第3の実施形態では、第1の実施形態の電子装置の構成に加えて、MPUがPLDのポート1端子およびポート2端子の出力を確認する構成を有する。以下では、第1の実施形態と同一の構成については説明を省略する。
【0092】
図5は、第3の実施形態におけるPLDを備えた電子装置の概略構成を示すブロック図である。図5に示すように、本実施形態では、MPU40はポート6端子およびポート7端子を有し、それぞれPLD10のポート1端子およびポート2端子に接続されている。
【0093】
本実施形態では、第1の実施形態と同様の手順でMPU40の汎用ポートからPLD10のJTAGポートにJTAGプロトコルでコンフィグレーションデータの書き換えデータを送信する。MPU40は、PLD10のコンフィグレーションデータを書き換えた後に当該データを検証する。そして、MPU40は、ポート4端子からPLDリセット信号を出力してPLD10をリセットし、PLD10のリセットに十分な時間が経過した後、リセットを解除する。
【0094】
MPU40は、リセットを解除してからPLD10のポート1端子およびポート2端子から出力される信号の論理とそれらのタイミングとが適切か否かを確認することにより、PLD10のコンフィグレーションデータの書き換えが適切に実行さたか否かを確認する。
【0095】
このように、本実施形態では、MPU40の起動に関わる電源およびリセットシーケンスをポート6端子およびポート7端子を通じて直接的に確認する。
【0096】
以上のとおり、本実施形態の電子装置100および書き換え方法は、第1および第2の実施形態の効果に加えて下記の効果を奏する。
【0097】
MPU40の起動に関わる電源およびリセットシーケンスをポート6端子およびポート7端子を通じて直接的に確認し、MPU40が起動できなくなる場合を事前に検出して再度PLD10の書き換えを実施できる。したがって、MPU40がPLD10のコンフィグレーションデータの書き換えに失敗しても、MPU40が起動できなくなる事態を回避することが可能となる。
【0098】
以上のとおり、実施形態において、本発明のPLDを備えた電子装置について説明した。しかしながら、本発明は、その技術思想の範囲内において当業者が適宜に追加、変形、および省略することができることはいうまでもない。
【0099】
たとえば、上述の第1〜第3の実施形態では、PLDがMPUの電源およびリセットを制御する場合について説明した。しかしながら、本発明はPLDがMPUの電源およびリセットを制御する場合に限定されず、PLDが種々のデバイスの電源およびリセットを制御する場合に適用できる。
【0100】
また、上述の第1〜第3の実施形態では、PLDがMPUの電源およびリセットの両方を制御する場合について説明した。しかしながら、本発明は、PLDがMPUの電源およびリセットの両方を制御する場合に限定されず、PLDがMPUの電源およびリセットの少なくともいずれかを制御する場合にも適用できる。
【0101】
また、上述の第2の実施形態では、通常動作モードにおいてMPUの汎用I/Oポートのアクセス先がメモリである場合について説明した。しかしながら、本発明は、通常動作モードにおいてMPUの汎用I/Oポートのアクセス先がメモリである場合に限定されず、通常動作モードにおいてMPUの汎用I/Oポートのアクセス先が他のデバイスである場合にも適用できる。
【符号の説明】
【0102】
10 PLD、
20 PLDクロック生成部、
30 リセットIC、
40 MPU、
50 MPUクロック生成部、
60 バッファー回路、
70 電源IC、
80〜89 配線、
90 セレクター、
95 メモリ。
図1
図2
図3
図4
図5