• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:/PSENとは?プログラム書き込みされる部品の話)

/PSENとは?プログラム書き込みされる部品の話

このQ&Aのポイント
  • PSENピンについての説明とは?
  • strobeとは何を意味するのか?
  • PG書き込み時の/PSENの状態について

質問者が選んだベストアンサー

  • ベストアンサー
noname#65902
noname#65902
回答No.1

このICはよく知りませんが。 Program Strobe Enable: プログラムストローブイネーブル The read strobe to external program memory. 外部プログラムメモリからのリードストローブ. When executing code from the external program memory, 外部プログラムメモリからのコード(≒命令)を実行する時、 PSEN is activated twice each machine cycle, except PSEN は(以下の場合を除いて)2回のマシンサイクルに亘ってアクティブになる。 that two PSEN activations are skipped during each access to external data memory. 外部データメモリアクセスの間は「2回のPSENアクティベート」をスキップする. PSEN is not activated during fetches from internal program memory. PSEN は内部プログラムメモリからのフェッチ(命令取り込み)時にはアクティベートしない. どうやらメモリは「プログラム用」と「データ用」が別々で、更に「内部」「外部」が あるようですね。/PSEN は、「外部プログラム用メモリから読み出すマシンサイクル中」を 示す信号です。 > strobeって何でしょうか? 正確に説明できませんが、「パルス」と考えるとわかりやすいと思います。 アクティブ状態が済むと必ず元の非アクティブ状態に戻るタイプの信号で、 例えば「リードストローブ」というと High で非アクティブ、Low で読み出す意思を スレーブデバイスに伝え、取り込むと 非アクティブである High に戻ります。 > この部品はPG書き込みされる時、 データシート P.5 では /PSEN pin がどうなる、とは書かれていません。 ちょっと探してみました、 型番が違いますが、同じメーカ、pinもよく似てるので参考まで。 http://cxem.net/doc/mc/at89c51.pdf のp.6 からプログラミングについて書かれてます。 この図では /PSEN pin は GND につないでます。 書き込み時は、どう出力されるのかを心配するのは無意味で、 こう繋ぐ必要があるようです。 AT80C51 も同様かも知れません。 尚、書き込み中は、pin をこのように使うので、 もしオンボード書き込みを期待されてるなら、不向きなので かなり気を使った設計が必要です。

fg5_sinnyo
質問者

補足

大変分かりやすいご説明をありがとうございます。不良基板の修理の仕事をしています。 回路的には/PSENはnpnトランジスタのコレクタにつながっています。 基板上にProgram⇔Normalの切り替えスイッチが付いていて、 ProgramにするとベースがHighになってコレクタからエミッタ(GNDへつながっている)へ電流が流れる仕組みになっています。 このスイッチをProgram側にした状態でRS232C経由でPCから基板へProgram書き込みする構造になっています。 で、不良基板はトランジスタのコレクタと/PSENが半田不良でつながっていませんでした。 この基板はProgram、Normalどちらにセットしても/PSENがLowの状態でした。で、半田不良がなかった場合、 ProgramとNormalでどちらの時に/PSENがHighになるのかよく思い出せなくて質問したのです。 使用しているトランジスタはhttp://www.google.co.jp/search?num=100&hl=ja&q=BC847B+datasheet&btnG=%E6%A4%9C%E7%B4%A2&lr=です。 通常トランジスタのコレクタ-エミッタ間の電圧降下は0.5V程度だったはずなので、 Program側にしたら/PSENがLowで、Normal側はHighな気がするのですが、実際には逆だった記憶があるんですよ。 確かに/PSENとコレクタの間には抵抗も何もつながっていないので、コレクタ-エミッタ間で5Vの電圧降下が起これば、 /PSENはProgramでHighで、NormalでLowになることも有り得るんですが・・・。 トランジスタのデーターシートを見てもよく分からなかったです。火曜日に会社行ったらきちんと確認してみます。

その他の回答 (1)

noname#65902
noname#65902
回答No.2

> このスイッチをProgram側にした状態でRS232C経由でPCから > 基板へProgram書き込みする構造になっています。 オンボードで書込みするのですね。 > Program側にしたら/PSENがLowで、Normal側はHighな気がするのですが、 正常な状態はそうでしょうね。 > 実際には逆だった記憶があるんですよ。 ナルホド. マイコンはリセットで初期化され、正しいクロックを与えられて きちんと動作するので、 どちらかが異常だと思わぬ動きをすることがあります。 また、信号の与え方が異常だと、非公開のモードに移行してしまうことも あります。 (信号の状態がたまたまモード移行に一致すれば、ですが) 他にもハンダ付け等の不良があって信号がきちんと与えられてない かも知れませんね。

fg5_sinnyo
質問者

補足

今日、会社で基板を見たら、トランジスタと/PSENの間に2.2kの抵抗があり、その抵抗と/PSENとの間にプルアップ抵抗みたいな形で+5Vにプルアップされた(?)タンタルコンデンサ(10μF/10V)が付いていることが分かりました。回路図も改正されたものがありました。今日は時間がなかったので、この不良基板しか見れなかったのですが、/PSENはNormalで4.99V、Programで4.86Vくらいでした。金曜日に測ったときはQ7と2.2kの抵抗をテスターできちんと押してつなげてやった時には/PSENはNormalで0V、Programで5Vくらいでした。そうでない時は両者とも0Vでした。明日は正常な基板で試してみます。ともかくありがとうございました。だいぶ助かりました。

関連するQ&A