Fubarino-Contogy:1980年代のCDプレーヤー
[ロナルド]が彼の提出を受けるためにスクランブルしなければならなかったが、私たちは喜んでいた。彼のデモビデオは、1980年代のCDプレーヤーの画面をMusic Playerデーモンで操作します。それは本当に正しい画面自体だけですが、仕事はまだ終了していません。ただし、トラックが22:00のマークに達すると、URLを表示するのに十分です。
スクリーンは、MPDを実行しているコンピュータからのコマンドを取得するためにUSB接続を利用するATmega32チップによって駆動されます。 [ロナルド] USB上でint値を送信する方法を正確に把握したので、バスを介して行われる各バイトのLSBを利用するだけで彼自身のプロトコルをハッキングしました。壊れた後は、ビデオを見ることができます、そして彼が彼の投稿に含まれている説明をチェックしました。ここに提供されているコードバンドルも同様にあります。
これは、マイクロチップが賞品として印刷した20のFubarino SDボードの一つの可能性についてのFubarinoコンテストのエントリーです。
最終目標は、1980年代のCDプレーヤーボックス(WORKING)内のMPD(Music Player Daemon)ベースのプレーヤーを、オリジナルのLCD(Working)を利用して、DVDを再生できるようにします。 (進行中の作業)、そのようなもの。
私の計画は、それらのUSBドライバを利用するための新しい方法であると思います。私はまだPC側のソフトウェアを確立しているので、まだ終わっていませんでした。私は昨日フバリノコンテストのことを聞いただけでなく、私はそれが私のプロジェクトを修正することができると信じていたので、私はそれをやった。
まず、スキーマを記憶できませんでした。彼らはかなり簡単です:それは一般的なatmega32(atmega8なしで、私は主にそれを中断したものをそれを下回ったもの)HID Bootloader Packed Deviceを利用しています。ポートの2つのピンがバックプレーンを駆動するために利用されています。 5つの1.1k 1%の抵抗器がプルアップ/ダウン抵抗として使用され、2つのバックプレーンLCD構成に必要な2.5Vレベルが生成されます。
少しの背景。 2つのバックプレーンを有する一般的なLCDを駆動するためには、セグメントの正方形の波とともに、中間値を持つ2つの正方形の波が必要です(例:http://www.freescale.com/webapp/sps/site/overview.jsp? CODE = 784_LPB_LCDTIPS)。タイミングを劣化させるためのLCDセグメントを停止するために、タイミングを正確にする必要があります。あらゆる種類のDCバランスが十分に倒れることがあります…
Porta、Portb、Portcはすべてセグメントにリンクされています。 Portdの1つの余分なピンは ‘Play’セクションにリンクされています(単一のバックプレーンのようです)、1つのセクションはすべての ‘Off’セグメントにリンクされています(すべてのセグメントを駆動するのに十分なピンがありません)。
USBを使用して0x00文字を送信する方法を正確に理解していないため、2×3データバイトのLSBITを最初の3つのデータバイトの最初の3つとして送信することで、ATMEGAコードの文字を使用して自分のプロトコルを作成しました。 。最初の3つのデータバイトはすべてLSBとして ‘1’があります。
私の仕事のスタイルでは、私はPC側のロジックを多くすると、ATmegaをフレームバッファとして多かれ少なかれ利用することを決定しました。それは私がイースターエッグトリガーを実行するだけでなく、いくつかのテキストを表示するようにそれを修正するのを難しくしました。
テキストを表示する(完全なhttp://hackaday.comはこのLCDでは不可能だったので、私は最寄りにしました。)それからそれらをAtmegaのソースにコピーした後、それがよく見えたまでLSBをカスタマイズしました。
そして、それは私が締め切り前にできることすべてです…私は本当にこのすべてのコードで紙を紙に紙を述べたが、ああ..。あなたが理解するのに十分かもしれません。
イースターエッグは1:06のビデオにあります。
敬具、
ロナルド