- ベストアンサー
CPUは最初に何をしますか?
電子回路の修理でまた設計的なことが分からないと修理できない基板が出ました。 どうにもこうにもならないので教えて下さい。 CPUはTOSHIBAのTMP68303ってやつです。 不良内容は電源を入れてもテストプログラムがロードされずCPUが休止状態になってしまうというものです。 通常は/HALTがInputでHになるようですが、不良基板は電源を入れると一瞬(100msくらい)Hになったあと、/HALTがLを出力しているのです。 データシートの「a double bus err exception」が起こってLを出力している状態です。 CPUにはROMやらRAMやらFLASHやらいろいろつながっているみたいなのですが、最初にPG書き込みされた2個のEPROM(27C020)からデータをダウンロードすると思ったのですが、EPROMの/CEも/OEも電源投入後ずっとHっぱなしでまったく選択されてないみたいなんです。 だとすると、「a double bus err exception」ってどういう時に起こるんでしょう? この後どうやって回路を追いかけていったらいいか分からなくて困っています。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
データシートをざっと見ました。 リセット後のスタートアドレスは0番地ですね、 最初に/ASがLOWになり、アドレスもすべてLOWになるはずです。 今の状況だと、リセット後の一瞬です。 これが、出ていないのなら、リセット回路を疑って下さい。 結構、リセットのトラブルは多いですよ、 単にLOWに落ちているというだけでなく、LOWに落ちるべき基準時間を満たしているか、チャタリング(リセットの終了間際に細かいタイミングでLOW/HIGHを繰り返す現象)がおこっていないかの検証が必要です。リセット回路を取り替える方が早いかも知れません。 コンデンサあたりの劣化の可能性は高いですよ結構。 出ているのなら、最初にプログラムを読み込むメモリの 周辺を疑ってください。 まず、 ○メモリに読み込みのための制御ライン、アドレスラインを疑う。 つぎに、 ○メモリから出てくるデータを疑う。 このように、動作に従って追うしかないですね。
その他の回答 (4)
- tadys
- ベストアンサー率40% (856/2135)
「double bus err」というのは bus err が原因で割り込みが発生したときに 割り込みのステータスをスタックに退避しようとした時に再び bus err が 発生したときに起こります。 この状態になると正常な動作を続けられないのでCPUはHALTになってしまいます。 データシートの4.1.5.1、4.2.4、4.2.4.4 辺りを見てください。 bus err はアクセスしてはいけないアドレスにアクセスした場合に発生します。 アクセスしてはいけないアドレスはどのように設計したかで決まるので 設計資料がないと判断できません。 bus err はCPU内部、及び外部で発生します。 外部に bus err の発生回路がある場合にはその回路をチェックしましょう。 外部に無いのであればCPUの不良でしょう。
補足
最初に言い忘れたのですが、一番最初にCPUは交換していますがエラーが直りませんでした。なので、他の部品だと判断しています。なお、半田不良、極性ミス、実装ミスなどがないか十分な目視検査をしましたが、不良箇所はありませんでした。 予想通り、設計資料がないとこの後は追いかけられないですよね~。 う~ん、、、どうするか、、、回路図を見てもうちょっと考えてみます。
No.1さんのおっしゃている書籍はメーカーが発行しているハンドブックです。ハードマニュアルとか、ソフトマニュアルとか分厚いやつをメーカーから出しています。 企業の人間だたっら、無償でもらえますけど、一般人だと有償かもしれません。東芝に連絡してください。 ネット上で簡単なデートシートがあるかと思いましたが、 みつかりません。 それで、ご質問のCPUが最初に何をするかですが、 CPU指定のアドレスのメモリのデータを読みにいきます。 例えば、0000HEXとか8000HEXとか、それはCPUによって違いますし、設定で変わる場合もあります。 だから、まず、CPUからメモリ読み出し信号が(例えばCEとかREとかです。この機種は何かわかりませんが。)出ているかを見ないと駄目です。 その上で、本来最初に読まれるメモリに、CEが行っているかを見てください。多分、アドレスデコード回路が誤っているか、配線がなされていないかだと思います。それともCPUの初期読み出しアドレスの設定が誤っているか。
補足
英語のデーターシートなら http://www.datasheet4u.com/html/T/M/P/TMP68303F-16_Toshiba.pdf.html の中央右側のDataSheet Viewをクリックすれば見れます。 No.2さんの補足になっちゃいますが、 設計者は海外の取引先でソースコード類は一切開示してくれないので、 困っています。これまでに何百枚も製作していて基板としては完成しています。 CPUの信号は良品と不良品でデータとアドレスライン以外全部オシロであたって比較しました。今、手元に回路図がないので月曜になっちゃいますけど、クロックはきちんと来ていてリセットも良品と同じくHでした。そのほかのピンは良品なら波形が出るはずのところが不良品は一切波形が出ておらず、すべて常にHからL状態でした。これは/HALTがLを出力していることによってCPUが休止状態に入っているためと思われます。この/HALTがLを出力する原因をつかまないといけないのですが、それが分からず困っています。
- miran_2006
- ベストアンサー率25% (29/116)
そのCPUを知らないので、一般論として、一番最初に飛ぶアドレスは常に固定されています。 そのアドレス以降に、メインのプログラムをロードする等のプログラムが書かれていると思います。 さて、質問者さんの不具合ですが、リセットタイミングが上手くないような感じにとれます。 リセットタイミングの不具合はリセット回路自体の不具合や電源供給の不具合などの原因が多いです。 貴殿が設計者で、試作基板の修理なのならば回路もファームも未完成の可能性があり、回路修正やプログラム修正の必要があると思いますが、既に市販された(ある程度完成された)物の修理なのであれば、ハンドブックを見ても構造や構成的な概念が判る意味では有効ですが修理そのものについてはあまり約に立たないかもしれません。 もし、後者であるのなら設計者に問い合わせるのが無難かと思います。 あまり、参考になりませんが・・・
- Sompob
- ベストアンサー率21% (110/516)
なあ、何でハンドブック持ってないの? それに関してバイブルだぜよ。 それ見て、載ってない事柄は「修理が効かない」って意味 だから載せないだけ。 触る連中なら誰でも持ってるけど。 ここに質問するより、それの入手が先だろ。
補足
誠にご尤もで。たとえば、http://www.shuwasystem.co.jp/products/7980html/0858.html でいいんでしょうか?
補足
/ASは常にHでした(良品は常にL)。電源を入れた瞬間にどうなるか月曜日に見てみようと思います。 リセット関係も可能性ありますか? 私は薄いと思っているのですが。。。 >単にLOWに落ちているというだけでなく、LOWに落ちるべき基準時間を満たしているか、チャタリング(リセットの終了間際に細かいタイミングでLOW/HIGHを繰り返す現象)がおこっていないかの検証が必要です。これはどのラインの話ですか?/RESETですよね? あまりそこまで詳しく見たことがなかったのでオシロでsec/divをいろいろ変えて試してみます。