BTC068の外部RAMって活性がデフォルト?
すいません m(_ _)m、本記事はブログ引越時に書式が崩れました。順次修正中です。
えーっと、さんざん悩んだ、ARM7 vs ATmega128ですが、今回は、やってみたいことがあるのでATmega128にすることにしました。あのすごいARM7を振り切っての選択、頼むぞATmega128!(いやいや、性能はソフト次第…)
というわけでベストテクノロジーのBTC068のマニュアルを読んでみたんですが、はたと思ったのが、
外部RAMって活性状態?不活性状態?
というのも、BTC068の製品説明をWEBで読むと、「…外部SRAMはJP2、…の各々の半田ジャンパをリリースする事で無効にできます。なお出荷時には全ての半田ジャンパがショートされています。」と書いてあるんですが、マニュアル(PDF)を読むと、3ページの上にある「注意」のところで、「出荷時にJP2はジャンパされていませんので、外部RAMは不活性状態です。外部RAMを使用する場合はJP2を半田ジャンパし、適宜アプリケーション側でレジスタを設定する必要があります。」と書いてあります。
「アプリケーション側でレジスタを設定する必要があります」というはその通りとして、ジャンパの状態はどっちが正しいのかよくわかりません。
そんなわけで基板をじっくり見てみると…
ちなみに「JP2」という文字の高さが1mmです。
なんとなくつながっている気がします。こういうところって、テスター当ててみてもいいもんでしょうか?なんとなく電源の入っていないチップに通電チェックするのは怖いような気がするので…。あ、そうだ、A15につながっているわけですので、まずはA15をHIGHにするプログラムを書いて、ジャンパのそれぞれの側で電圧を測ってみればよさそうです。
ところで、回路図をみてて気づいたんですが、ATmega128のPC7/A15が外部メモリの-CS端子につながっています。これは、32kByteエリア以下をアクセスした時に有効になるという仕組みになっているようです。
ATmega128は64kByteまでの外部RAMを接続できるので、プログラムが誤って、32kByteメモリが接続されているにも関わらず32kByteを超えた領域に書き込みに行くような場合でも保護される、という安全設計なのかな?
でも、外部メモリの/CSをGNDに接続したら外部メモリは活性化されて、しかもPC7/A15もI/Oとして使えることになりますね。もしI/Oが足りなくなったら考える事にします。
さらに考えると、JP2をショートして外部RAMを活性化した状態でも、PC7/A15をHIGHにしてやると、メモリを切り離したのと同じ状態になりそうです。これは手軽でよさそうです。一時的に外部RAMを切り離した状態のアプリケーションを作りたいんだけど…って時には、ちょい!と。あ、できなかったらごめんなさい。
2006/09/10追記…なんとなく活性っぽいです。
どもども。
私も最近BTC068使ったんですが、JPは全部つながってますよね?パターンで。
で、私は外部に512KBのSRAMを付けたかったので、カッターでパターン切りました。
取説間違ってると思う。
(もしくは、基板CADのデータがおかしい)