H8_SH__ルネサスマイコン総合スレ4__M32_R8C_Tiny
1つのユニットでやろうとせずに
2つ表示ユニットで、交互に表示ON/OFF
するんだろうか・・・
しかしそれだと機能が限定される気が・・・
なんかマイ日記ページになって申し訳ないんですが、
解決しました。
VRAMアドレスレジスタは書き換えた後に
レジスタ転送レジスタに1を書き込まないと
反映されなかったようです。
(画像が乱れないようvblank期間自動転送される)
937 :
774ワット発電中さん:2010/06/22(火) 22:09:57 ID:kUKqikHC
コンテスト、MP3再生、動画再生、JPEG再生+タッチパネル以外の
作品出てくるかなぁ???
938 :
質問。:2010/06/24(木) 21:41:18 ID:Q0wQDW17
うぜえ、あちこち書くなボケ!
FSBとコアが等速のCPUってどんだけあるよ
>>938 あんた 70MHz でちゃんと動くバスの設計できるの?
70MHz
―――――――v―――――――――――――――
―――――――――――――.、
./.  ̄ ̄ ̄//. ̄ ̄| ||| ̄ ̄ ̄ | ̄ ̄||
/. ∧// ∧ ∧| || ∧,,∧ ||∧,,∧||
[/____(゚_//[ ].゚Д゚,,) || (・∀・) ||・∀・.||
||_. ***_|_| ̄ ̄ ∪|.|. *** **|****||
lO|o―o|O゜.|二二二 |.|双葉ようちえん| ..
| ∈口∋ ̄_l__l⌒l_|_____|_l⌒l__..|| ≡))
 ̄ ̄`ー' ̄ `ー' `ー' `ー'
付録基板本体はなかなかよかったと思うけど、
タッチパネル液晶基板が3万円近くするというのは
ちょっとどうかしてると思う。
トラ技のh8用タッチパネル液晶も同じような規格なので
値段の差が・・・
教えてください。
H8マイコン基板 H8←→LVDS変換3対[コネクタA]---------(3線SPIをLVDSで3対, 2mくらい)-------[コネクタB]LVDS変換3対←→ADコンバータ基板
という感じで、2m程度離れたAD変換値を取り込んでいます。
clockは500kHzくらいで、変換出来次第に連続して、データをドンドン取り込んでいます。
以下のような問題があり困っています。
解決に向けて何かヒントがあれば、教えて欲しいです。
1. ケーブル長でデータ化けしてしまう
AD変換clock(SPI clock)は、H8→ADに送信。すると、H8←AD方向でデータが届きます。
変換データの帰り遅れ時間を見込んで、clockの反転エッジでH8は読み込んでいます。
ところが、ケーブルが長くなると、ケーブル長により、返信遅れが変化して
データ1bit分ズレてしまいます。
2. ケーブル挿抜時に、データ化ける
上記コネクタA, B部分で、挿抜をしていますが、常時転送をしていますので、
1フレーム途中など、ケーブルを抜くタイミングによって、H8は変なデータを取り込んでしまいます。
これまで考えた対策は、
1.については、
・clockもdataもAD基板側が発生し、H8は、AD側から届いたclock, dataを取り込む
線の数が決まっているので、信号線を増やせない。
・ケーブル長を限定する。
・clock周波数を下げる
2. これは困りました。思いつきません。
抜かれては困るデータを送っているのに、勝手に線を抜かれては、
手の打ちようがないように思います。
すみません、知恵を貸してください。
>>944 1.
結論としてはSPIのような短距離用プロトコルを使うのが間違いです。
RS485のような上りと下りでクロックが異なるプロトコルを用いるべきです。
2.
・フレームの開始を示すデータをいれて、それが検出されるまでのデータを捨てる
・最後にチェックサムをつけて妥当か検証する
XMODEMのような実装をしてみてください
>>945 さっそくありがとうございました。
>SPIのような短距離用プロトコルを使うのが間違いです。
そうですか。ありがとうございます。
ADが信号を吐いてくれるので、相手基板にはマイコン等は何も入れずに、
単に相手(今回AD)の信号が、こちらにキチッと届けば良いとしか
考えていなかったので、失敗でした。
H8側から送り込むclockをやめて、相手基板上にclock生成回路を追加で載せ、
そのclockで送り出すようにできないか検討しています。
>それが検出されるまでのデータを捨てる
>最後にチェックサムをつけて妥当か検証する
ありがとうございます。
送信側での前処理ができる素子を乗せていないので、ちょっと困りました。
う〜ん、ちょっと考えてみます。
どうもありがとうございました。
LVDSって距離が限られる分超速いんだろ
SPIはせいぜい基板上とかMPUからROMまでとかの規格だろ
外に出すなら外付けコネクタが定義されてるような規格にしなよ
いっそFMにでもしちゃえば?
クロック同期で距離があるなら、化けてもしょうがないでしょ
素晴らしいチャレンジ精神だな
前提知識があって尻込みして何もやらないよりはスキルが身に付きそうだな
その無謀さ見習いたい
趣味ならいいけど仕事だったら会社潰さないように気をつけてね
>>947 >LVDSって距離が限られる分超速いんだろ
インピーダンス整合がちゃんとしてあれば、2mくらいは楽勝です。
ノイズ少ないし、高速だし、言うこと無しです。
H8の信号程度の速度では「余裕のよっちゃん」です。
>SPIはせいぜい基板上とかMPUからROMまでとかの規格だろ
SPIそのものは、高速なI2Cというイメージで、基板内部で終わるものですが、
いったん他の規格の信号に変換すれば、特に問題はないと思います。
ただ、今回は僕がアホでした。プログラムを修正の予定です。
>>948 そうなんです。今考えてみると、おバカでした。
H8送出clock→→→ケーブル(LV)→→→→clock→AD
H8 IRQ←←←←← ケーブル(LV)←←←←clock←AD
H8 I/O←←←←← ケーブル(LV)←←←←data←AD
に、できないか検討中です。
ありがとうございました。
それだとH8の処理速度が厳しくないですか?
次スレは78K0SとかV850とかも入れるの?
A/D側もインテリジェント化しないと
DVIってLVDSだっけ
そうだよ
78K0Sって78K0のtiny版って程度のもので、
命令セットとしては78K0と同等だよな。
スレタイではH8やSHについて、tiny版は非tinyのと同列に扱ってる(もしくは省略)から、
スレタイに入れるなら78K0Sじゃなく78K0だな。
これが、78K0Rとかなら、78K0とはコアアーキテクチャが違うし命令セットも違うから、
78K0とは別物として扱っても問題はないんだろうけど。
全部一緒くたでいいんじゃないかな。
どうせ旧 NEC エレのマイコンのスレ過疎ってるし。
2スレ目俺が立てたんだけどね。 (´;ω;`)
開発環境はフリーだったしデバッガはやっすいんだけどねえ、78K0
いかんせん、いろんな意味で使いにくすぎる
同等じゃないよ(w
0Sはかなり抜かれている。
>961
え?
周辺機能だけじゃなくて命令セットも減ってるの?
乗除算とかないよ。
今度SH-2を使う事になって開発ツールを何にしようかと考えてたら
昔誰かに日立超LSIのCコンパイラがいいって聞いた事あるんだけど
具体的に何がいいのか知ってたら教えてください。
>>964 普通に日立のHEWとか、お客に買ってもらえば?
966 :
964:2010/06/30(水) 18:28:31 ID:3CuHL+yo
>>965 ゴメン。書き方が悪かった。
HEW使うならルネサスのC/C++コンパイラより日立超LSIのコンパイラの方がいいって聞いた。
コンパイラだからコンパイルした結果の事を言ってるのかと思うんだけどね。
しかし今時そんな違いが出るのかってのも疑問だし、何が違うんだろう?
ちなみに客がいない開発品なので、買うのは自腹ね。
いわゆるルネサスの純正コンパイラが日立超LSIなんだけど
968 :
964:2010/06/30(水) 19:03:34 ID:3CuHL+yo
>>967 え〜どっちも同じ物なの?
かなり前に商社にH8関連で問い合わせた時も日立超LSIのがいいって言ってたんだけど何なんだ?w
昔からの流れで内容はともかく決まり文句になってるのかな?
アセンブラで書け。www
実際、HEWが吐いたコードを見ると、
SHのパイプラインを理解してないように思える
ケースが少なくないんだが。
メモリにロードした値を直後にレジスタ間演算で使おうとしたり。
(それやるとパイプラインストールが発生して遅くなる)
そんなん、今時のキャッシュついてるCPUでは当たり前だけど、
差し込める命令あるのに、
殆どのコンパイラでいきなり使うの当たり前。
てか、まともにやってる奴見たことない。
x86しかり、Mips、PowerPC等々。
単にコンパイラがそこまで考えられるほど
進化してないだけ。
もっとも解析したの数年前なんで、今はマシになってるんかね。
>>968 コンパイラーそのものは同じ
バンドルされるライセンスや価格 または その商社にとっての利幅 なんかが
違うだけでしょう
赤星は吉見や岩瀬は走りやすいと言ってたねえ
973 :
968:2010/07/02(金) 15:49:47 ID:SJpuF/pw
>>971 問い合わせしたら、どっちも同じって回答が来た。
最近はPCアプリばっかりだったからリハビリだと思って評価版で遊んでみるよ。
ルネサス、4000人削減のリストラ効果期待で株価上がるが、NECはルネサスに対する投資損益として118億円の赤字計上
H8S/2368がモード4で動作していて、CS2(400000〜)にSRAMが接続されています。
CS2なのでPFCR0で0x04を書き込みCS2を有効にすれば、SRAMにアクセス可になるのが
普通かと思うのですが、なぜかPFCR0に0x02(CS1有効bit)を書き込むとSRAMにアクセスできる
ようになります。
しかもCS1ビットなのに(CS1は200000番地〜)デバッガでメモリを確認すると400000(CS2領域)番地にアクセスできる
ようになっています。
何か変だと思うのですが、原因は何が考えられるでしょうか?
>>975 アセンブルソースを読んでみる
ビットテーブルで操作してみる
ここでソースを晒してみる
CSをあたってみる
>>975 バグ取りの鉄則は、一に自分のしたことを疑い、二に自分のしたことを疑い、
三、四も自分のしたことを疑い、五にも自分のしたことを疑う、です。
>>977 それができないやつがほとんどだけどね。
複数テスト機がありゃちょっとラクなんだよな・・・
975ですがBSCの部分の設定さらしてみます
OUTPORT(ABWCR, 0xfd);
OUTPORT(ASTCR, 0xFB);
OUTPORT(WTCRBH, 0x77);
OUTPORT(WTCRBL, 0x77);
OUTPORT(BCR, 0x0C04);
OUTPORT(PFCR0, 0x04);
OUTPORT(PFCR1, 0x07);
OUTPORT(PFCR2, 0x04);
CS1は16bitフラッシュ
CS2は8bitSRAMに使用しています。
PFCR0に0x02を書き込むとSRAMにアクセスできると書きましたが、
実際このときCS2信号が全く出ていませんでした(0x02ではCS1信号なの
で当然なのですが・・・)ので読み書きできるのはおかしいのですが・・・
PFCR0に0x04を書き込むとCS2がリードライトに合わせてCS信号がでるのですが、
デバッガ上では全く読み書きできず全部0xFFとなってしまいます。
>980
CS出力を有効にするには、その端子があるポートのデータディレクションレジスタの設定が必要
>>複数人で開発してるとな……
でも大抵、真っ先に他人のせいだと言い出したヤツが真犯人なんだぜ。
事実は小説よりも単純だな。