OLD

| | コメント(0) | トラックバック(0)
[927]
FRにてリレー駆動PCBを。
ケータイACアダプタでもまあ動作する。
はじめ動かなかったのはシリアルがソフト的にONになってるのにHIにつってなかったからだろう。
まあめでたく2号機が動作したカタチ。

DACは無いが、まあFRでMIDIoutを先行実装した形。

まあ、ガワを完成させたいが、エフワン関連の事もあり保留かも。

ソフト絡みだと、PWM出力とそのリニアリティについてチェックはしたい。あと追従性とか。
ま、空きポートは反対側コネクタに死ぬほどあるからそちらでDACを好きに構成しても面白いか。
どちらにせよ、それらを駆使してアドレッシング的なセンスとSH回路を組み合わせるのは最終的には必要だ。


[918]
次はメトロ実装前にMIDIoutにトライすることにする。ま、MIDI波形の測定やらはおいおい。
UART2周辺の送信INT関数を作成する。P21がUART2出力端子。SO2という。この辺はUART0をまねて作る。

ADCは10ビットであるから、1024段階の検出が可能。
ま、コントロール変化への追従は適当に遅くてよいから、スキャンして、複数の操作子を使えるようにすることにする。
デフォルトでも10本のピンが出てるんだが。それ以上のケースを想定。
専用ピンはアナログなインプットに使うかもしれないから。

カットアンドトライでイロイロ確認していくしかないが、
UART2 0 汎用ポートとして機能します。
1 SO2 出力として機能します。

UARTの逆論理設定が出来ないようで、FRでは負論理のみしか使えない。
したがって、1015でOPENドレインやるのが通例だろうが、5Vで上をつると、3V3でoffらない。
しかたないので普通のNPNでインバータを入れる。

***1015で反転動作してたポート処理について。
これは3V3で動作している。1015のエミッタ側に抵抗を入れている。というのはOFF時にエミッタ側が5Vに上がるのを利用して
MOSFETをONさせるという苦肉の策の名残なのだ。で、3V3程度でOFFになる仕組みはよくわからないな。
一度回路図くらい起こす必要がある。

LOGICでは受信不可だったが、CubaseLEだとOKだった。RECするとPANのCTLがちゃんと40と7F分記録されていて
問題ない。送信ラインは確定とみて良い。

それで次にはADCをみてCTLを出す仕組みを作ることにする。3V3をVRで分圧して検出だが、
VRに入れる前に3V3にするか、もしくはVR後に分圧するか。
ま、VRが1Mohmなんであまり関係ないだろうけど。

ま、とりあえず1MohmでもともとのADCサンプルの動作は問題ないことを確認。
コネクタ化したいが、部材がイマイチ無い。3ピンの2.54mmピッチね。

とりあえずMIDIへの出力のテストは現状で行う。

電源コンセントは24mmx65mmの穴を開ける必要が判明。

【902】
P62,63,64,65をキーインに使う。
P34の常時ウォッチはイマイチだよね。
4つとも実装したテストバージョンを作成。
外部割込み要因Noは16171819の4つで、ここにレベル設定

ENIRが割り込みマスクで1ならOKと。
EIRRは割り込み発生を示す
ELVRはダウンエッジなどの指定を行う~なんか2ビットあるので使い方分からんけど。0~3で指定できるはずだが、、、

あとポート方向を指定したが動作しない。ベクタに関数アドレス、割り込みレベルの指定も行ったが。
て、これはコンパイルミスというしょーもないエラーだけだった。
各種レジスタシンボルは追っていけば何とかなるみたいだ。エラーの指示をよく読めば、あとはIncludeしたソースから
追える。

あと、キー入力からシリアル通信送信という実験を行ったが、キーintをレベル高くしていたので、
低レベルInt発生せずハングしていた。
同様にMIDIintからUARTint系を動作させる際にレベルを逆にしていたことが判明。

MIDIthruとしては動作がOKとなる。UART側は115200bps。
F8など、ちゃんとMIDIなコードを受信している。B0はコントロール、
あとはMIDI受信状態を検証する作業。LOGICの動作ねー

http://download.goo.ne.jp/software/category/win/util/bin/conv/
受信したMIDIHEXを読みやすいようにBIN2HEXで変換する。。。

MIDI関連シンボルをまとめたヘッダがV850用で残っていたので移動。

:820:
UART0は2102が元からついてるラインだが、ここにデバッグ情報を流し続ける。
31.25K以上のレートは欲しいので、どうせならと、57600を設定しようとトライ。
メイクのみでは変更が反映されず時間ロス。うーん。
V850でのMIDI受信設定パリティなし、LSBファースト、ストップビット1
通常下位ビットから送信するだろうから、当然の仕様か? V850は特殊用途に対応するための設定範囲が少し広い?

とりあえず31250の設定はOKみたいだ。FMシンセのソースも同じ設定になってる。
ただ、MIDI受信のたびにLEDフリップさせてるはずの設定が上手くいかない。
これから受信したモノのUART0への転送をコーディングしていく。デバッグ用。

:819:
MIDItruのPRJにサブプロジェクトにIO.prjを入れないとコンパイル出来ない。
この辺、概念から良く分からないね。一緒にメイクするライブラリ的なモノも、
PRJ的にインクルードする必要があるのか?
GPIOのprjだと別のprjをサブprjにしてるし、、、一貫性は何処にあるのか文献が欲しい。
Uart2のセッティングをする。
1MHzの32分周がMIDI速度31250である。今回は10Mhzオーダーであったり、ズバリというのは不可能な模様。
設定例がデータシートにある。設定例の19200は32分周なのだが、サンプルprjでは31になってる。
31250の場合は19を設定するようになってるが、18などに変更が必要かも。
V850はズバり設定できたような気がするなーどうだったのか、、、仕様書にズバリ設定例があってそのまま。しかし、
パリティ周りだとかちゃんと設定した記憶が無い。データ長は8bitだろうが、ストップビット、パリティの設定など。
あとV850バージョンで38400あたりでPCへログを吐く奴、作るつもりがほったらかしだったな。アリものを
コピーせずにモディファイしたので後が残ってないのだ。

ま、ソースも汚い気味なので、FRにてMIDI受信のトライを行うことにする。V850はピン配置がダメ。
MIDIのフォトカプラ1次側は56Ωという低い値。
2次側SWは240Ωがプルダウンだった。L-Hの正論理でV850後期は進めていた。
パルスが入ってもHに上がりきらないというトラブルが有った。1KではNGだった。1次のゲート電流が問題?
FRでは負論理に戻す。デフォルトね。反転受信の設定も見当たらないしね。

負論理で240オームだと、PCにiが流れすぎて、PCでの電圧降下分Lに落ちきらなかった。1.2KでL近くまで落ちる。
正論理、負論理で抵抗値が違うんだね。で、負のほうが消費電流が少なく済むんだね。ふーん。
これでIFは出来たことになる。後ソフト側の対応となる。INはP20としている。

*****

SWとしてのFETとして、電源SW用のFETをなぜか流用する。ON抵抗はかなり低い。
2599-2.9
2662-1.35 
3374-3.7
3563-1.35
3543-2.45
3757-1.9
3473-1.2
3561-0.75
3472-4.6
3566-5.6
大分バラツキがある。
3561はオン抵抗は低いがSW速度は25nsとか。3563は20ns。

備忘録z:

P12,13はUART0で、それがUSB直結されている。他に4つもUARTがある。MIDIの変換器みたいなのも楽勝かもね。
USBターゲットやって各ポートへ分ける的な動作。
P30,31,32,33をとりあえず4拍LED駆動するため使う。34はデフォでインプットで使える。

64 P30 C 汎用ポートです。
SI4 UART4 シリアル入力
TIN0 リロードタイマ 0 トリガ入力

65 P31 C 汎用ポートです。
SO4 UART4 シリアル出力
TIN1 リロードタイマ 1 トリガ入力

66 P32 C 汎用ポートです。
SCK4 UART4 クロック入出力------SCKE4で設定
TIN2 リロードタイマ 2 トリガ入力

67 P33 C 汎用ポートです。
TO0 リロードタイマ 0 出力
68 P34 C 汎用ポートです。
TO1 リロードタイマ 1 出力
69 P35 C 汎用ポートです。------TOE0を0にしてるね
TO2 リロードタイマ 2 出力

Directionが出力なら入力系機能はどうせ動作しないから設定不要なのか? ま、内部ブロックからはそうとしか。
☆ で、現状の設定類でLEDフリップは動作完了。簡単だ。NECのよりも設定が必要なレジスタが少ないような。

58 P20 C 汎用ポートです。
SI2 UART2 シリアル入力
59 P21 C 汎用ポートです。
SO2 UART2 シリアル出力

上記が割り当てからMIDIに適当なポートのようだ。
P15,16 P23,24の組み合わせはCN1に分散してるため後回しだろう。P30,31は使っちまった。

P62,63,64,65の4発も別用途に使う。こちらINTが振られているためKEYinに丁度いいのだが。
それを考えるとP70,71,72,73,74の5本はGPIO専用ピンだから丁度イイ。

****
FRにてPJを代行させる意味合いはV850が供給可能な状況なら意味合いはやや薄いが、
まあ乗りかかった船かね。実現メソッドの多様化方向。FW書き換えなどはむしろ早いし。
UARTのテストPGをもとに話を進める。ADCも使ってるし。
つうことでADC2というプロジェクト複製後、各構成をリネームする。
ワークスペースとプロジェクトとターゲットをリネーム、
io.prjちうのがワークスペースに同時に含まれている必要がある模様。要調査。
新しいターゲットmhxファイルをシリアルで焼いて動作確認済み。
これを元に話を進めることにする。MIDIthru01というPRJ名。

空いてるシリアルポートをMIDIに使い、それをUSBUARTにスルーするテストPGを作成する。
あと、GPIOのフリップのテストも必要だ。

NOTE:
V850時代のモードSW処理はHIGH->LOWでトリガかけてます。良く忘れるので。

トラックバック(0)

このブログ記事を参照しているブログ一覧: OLD

このブログ記事に対するトラックバックURL: http://www.unbalanced.jp/mt/mt-tb.cgi/8

コメントする

このブログ記事について

このページは、harshnessが2009年5月11日 17:55に書いたブログ記事です。

ひとつ前のブログ記事は「WUBQUNDJ」です。

次のブログ記事は「RECENT」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01a