"Pan, Guanguru" wrote: > さて、もう1件質問させていただきます。H8に関するものではないけれど、 > H8にも通用だと思います。 > RAMにある12bitのデータを順にポートに出したいと思いますが、MPU > には8bit以下のポートしかもっていません。そのために、2チャンネルを使って > 12bitのデータを出したいと考えていますが、一応音声のデータですので、 > 12bitのデータを遅延無く同時に出さなければなりません。これは出来ますか? > どうすればよいですか?宜しくお願い致します。 既に天池さんなどからRESされていますが、 厳密にいえば12ビットのデータを遅延やスキューが全くない状態で出力する事はでき ません。ゲートレベルの話をしてもns単位のばらつきは出るでしょう。ここは「仕様 に合わせて考える」ということになります。 一般の音声データならCD並の音声データでもサンプリングは44kHz?ですから 再生もそのくらいのタイミングの中に収まっている遅延、スキューで収束すれば いいはずです。 #特殊な音声データでしたらこの範囲から出るでしょうが。 でH8の場合ですが、H8の場合連続したポート番号でしたらアドレスが連続した位置に あります(P1とP2,P3とP4,P5とP6と言う具合。P2,P3間は連続していない。)ので mov.w 命令が使えます。ただしポートは8ビットバスで繋がっている為に 9ビット以上のデータは2回のアクセスで転送されることになります。従って 内部ポートは2ステートアクセスされるので、4クロックで16ビットまでのデータを ポートに出力させることができ、最初の8ビットと次の8ビットまでの時間差は2クロック 分と言うことになります。3052-25MHzでしたら遅延は80nsとなります。 上記の手法が下記のMPUに適応可能か否かの検証はたなかさんにお任せします。 > http://www.necel.com/nesdis/image/U15862JJ3V0UD00.pdf -- /****************************************************************************** Name: 廣田 正孝 "Hirota Masataka" E-mail address: mhirota@xxxxxxxxxxxxx ******************************************************************************/