パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

1500円でBASICが動くミニボードPC」記事へのコメント

  • by Anonymous Coward on 2015年03月17日 13時59分 (#2779100)

    モニタへの出力はVGA端子かHDMIにして欲しかった。
    # 今さらビデオ端子ってきつい

    • by Anonymous Coward on 2015年03月17日 14時04分 (#2779103)

      にじみカラーを再現するにはコンポジット出力が欠かせません。

      親コメント
      • by Anonymous Coward

        今回は白黒なので問題ないのでしょうけれど、
        カラーNTSC は CPUのI/Oで生成しようとするとタイミング合わせで結構全力投球

        一方 BASICごときは画面出力の片手間でよさげ
        カラー出力と音声同時ってなるとマイコン選定から考慮が必要なのかな。

        # BEEP と PLAY はあるのね

    • キーボードもPS/2だし、出た瞬間に既に古いのがなんとも。USB3一ポートのみにして、そこからキーボードもビデオも出せば良かったのに。
      --
      -- 哀れな日本人専用(sorry Japanese only) --
      親コメント
      • by Anonymous Coward

        ワンチップマイコンにとってUSBはロースピードでさえ専用回路内蔵でもしない限りその処理で大半のリソース使いかねないんです。
        これの場合コンポジット映像の生成まで走ってるんで余力は殆ど無い筈です。

        ましてやUSBホスト機能となると対応すべきデバイス処理のバリエでプログラムメモリをガッツリ圧迫しますし、USB3.0/3.1だともうどこから手を付けるかレベルですよ!電源ネゴシエーションは電源ラインでやれるらしいからなんとかなるかもしれないけど、給電とUSBキーボードをワンポートで提供するにはハブが必須なんじゃないですか?USBハブのホストドライバとかワンチップマイコンでやることじゃないですよ!

        専用の二股ケーブルで給電とUSBに分岐してなんちゃってワンポートでお茶を濁すくらいじゃないと格安ワンチップでは無理です。

        • by Anonymous Coward

          頭の悪い人は「できない理由」を一生懸命考えるけど何故なんだろう??

          • by Anonymous Coward

            ちゃんと考えてる人が出来るかどうか考えたら、
            「出来る理由」か「出来ない理由」しか出てこないよ。
            「僕の考えた最強の解決法」を否定してほしくないならちゃんと考えてから物言ってください。

            出来る理由を考える人→頭が良い人
            出来ない理由を考える人→頭の悪い人
            ならば…
            出来るかどうかも考えない人→頭の無い人?

            • by Anonymous Coward

              ちゃんと考えてる人が

              「ワンチップマイコンにとってUSBはロースピードでさえ専用回路内蔵でもしない限りその処理で大半のリソース使いかねないんです」なんてのっけからおかしい物言いにどうしろとw

              • by Anonymous Coward

                モノクロNTSC ならば、出力に SPI等のシリアルインターフェースを流用できる場合があるので、
                USB に処理時間を食われてもものによってはワンチップマイコンCPU処理で対応できるかもしれん。
                たぶんメモリ容量が問題になって、マイコンのコストが上がるので結局 USB I/F内蔵マイコンが検討範囲に入ってくるんじゃ - ココで思考停止

                どっちかというと PIO でのUSB は安定動作するかどうかのほうが問題。

          • by Anonymous Coward

            できるというならどうぞあなたが実証して見せてください。

            • by Anonymous Coward

              キーボードくらいUSBホスト機能あるマイコン使やいいじゃん。実証して見せろ?wなんで??

              • by Anonymous Coward

                それで1500円という値段を実現できるという主張ですね。
                できるというならどうぞあなたが実証して見せてください。

              • by Anonymous Coward

                USBホスト機能なんて

                PICマイコン PIC32MX220F032B-I/SP
                http://akizukidenshi.com/catalog/g/gI-05852/ [akizukidenshi.com]

                とか'使やいいんじゃないかなあ?
                「少しぐらい高くなってもいいから」という流れで1500円に拘る意図も解らんが。
                で、繰り返し聞くけど

                できるというならどうぞあなたが実証して見せてください。

                なんで??

              • by Anonymous Coward

                こっちのほう↓が安かったわ。

                PICマイコン PIC32MX210F016B-I/SP
                http://akizukidenshi.com/catalog/g/gI-05851/ [akizukidenshi.com]

                で、繰り返し聞くけど

                できるというならどうぞあなたが実証して見せてください。

                できないという主張をされたいなら論拠を述べたら?

              • by Anonymous Coward

                実証できないと言うことですね。
                頭の悪い人は「できない理由」を一生懸命考えるけど何故なんだろう??

              • by Anonymous Coward

                実証する必要性を説明できないと言うことですね。
                (以下略

              • by Anonymous Coward

                頭の悪い人 [srad.jp]がいちゃもんつけて粘着してるだけみたいですね。

    • 実装可能だけど、RGB端子やSyncOnGreenなコンポーネント端子にされてもさらに困るでしょ。ワンチップマイコンの価格的にHDMIやUSBホスト乗ってないのは仕方がない。
      親コメント
    • by Anonymous Coward

      スクラッチから作るなら、アナログビデオ信号を作るほうが面倒なような気もしますが、
      デバイスに入ってるんでしょうねぇ。

      #低解像度のHDMI信号って市販のテレビで認識するんだろうか・・・・・

      • デバイスに入ってるんでしょうねぇ。

        入ってないと思います。これのすごいところは、ワンチップマイコンでビデオ信号を作成してしまったところです。ビデオ出力なんてものはハード的にありません。ソフト的に輝度情報のみ、NTSC信号を作り出しているのです。おそらく5V振幅で出して抵抗で分圧してるのだと思います。なので濃淡もないと思われますが…R-2R使えばそれも克服できそうではありますが作るの大変ですな。輝度情報のみなので、色はありません。ご参考までにLPC1114の特徴 [nxp-lpc.com]をどうぞ。

        キーボードがPS/2なのも、USBペリフェラルのないワンチップならではです。多分シリアルペリフェラル使ってると思います(が、ソフト的に頑張ってる可能性もある…)。

        HDMIにすれば…というのは気持ち的にはわかるのですが、現実問題としては、一番安いHDMI出力コンピュータは、ラズベリーパイでしょうねぇ。

        --
        ほえほえ
        親コメント
        • 今回のIchigoJamの回路図はこんな感じ [fukuno.jig.jp]です。非常にシンプルというか、マイコンチップだけで周辺回路は何もなし。ビデオ信号は2本の汎用デジタルI/Oピンを使って信号生成しています。
          (基準0Vに対して、通常の輝度信号(+0.7V)と、同期信号(-0.3V)の2種類の信号が出せれば、アナログモノクロビデオ信号が作れます)

          ビデオ出力機能なんて影も形も無いワンチップマイコンを使って、NTSC コンポジットビデオ信号を根性でソフトウェア生成すること自体は、実は20年近く前からあったり [hirosaki-u.ac.jp]します。当時「8ピンのPICでPONGが動く」というのはかなり衝撃でした。
          14MHz駆動の8ビットマイコンでも、カラーバー表示 [hirosaki-u.ac.jp]ぐらいならカラーのコンポジットビデオ信号が生成可能。

          今回のマイコン LPC1114は ARM Cortex M0 の 50MHzと、8bitマイコンとは桁違いのCPUパワーが結構ありますので、モノクロ表示なら、BASICインタプリタ動作の片手間でもビデオ信号生成可能、って感じでしょう。

          PS/2キーボードも、たぶん純粋ソフト処理。ピン26(クロック)とピン28(データ)の2本を使ってますがこの2ピンはどっちも通信機能のないただの汎用I/Oです。

          親コメント
          • おぉ、回路図あるんですね。

            ビデオ信号は2本の汎用デジタルI/Oピンを使って信号生成しています。

            ほえー。そういうことですか。なるほど、470Ωと100Ωで、か。

            ビデオ出力機能なんて影も形も無い~カラーのコンポジットビデオ信号が生成可能。

            どちらも強烈ですね。はー、カラーもできるのかぁ。一部守れてないところもあるそうですけど。いやいや。

            PS/2キーボードも、たぶん純粋ソフト処理。~ただの汎用I/Oです。

            見事にソフト処理ですね。

            基本、信号系優先で処理して、隙間でBASICインタープリタなんでしょうね。で、この値段でやってしまったと。よー考えるもんですねぇ。感心します。

            --
            ほえほえ
            親コメント
          • すみません、ちょっと勘違いがあったので訂正。

            > 今回のマイコン LPC1114は ARM Cortex M0 の 50MHz

            LPC1114自体は最高50MHzで動作させられますが、外部からのクロック供給が必要です。内蔵発振回路は12MHzしかありません。 IchigoJamにはそういった周辺回路がありませんので、12MHzで動いているということになります。

            NTSCビデオ信号は、水平同期信号が15.734kHz(63.6μ秒)ですので、12MHzだと水平表示が632クロックになります。 [elm-chan.org]
            IchigoJamの表示解像度は288x216 [fukuno.jig.jp]だそうですので、画面の中央部分576クロック分を使って、1ドットを2クロックかけて表示しているのでしょう。
            はっきりいって、この画面表示期間中は表示につきっきりで他にはまったく何もできない、ということになります。

            あとは、
            水平帰線期間+非表示部分が174クロック(14.5μ秒)
            垂直基線期間+非表示部分が、46.5ライン(=262.5ライン-216ライン)×63.6μ秒/ライン = 2.95m秒で35400クロック
            以上の期間は表示処理が比較的暇になるので、CPUがそれなりに使えるということになります

            まとめると、
            CPU能力の60%以上は表示につきっきりになる。
            垂直帰線期間中に、35,400クロックの処理を、1秒間に60回実行可能(CPU能力の18%)
            水平帰線期間中に、170クロックの処理を、1秒間に12900回実行可能(CPU能力の23%)
            ということになります。

            水平帰線期間中は細切れ過ぎてあまり複雑な処理はしにくいのと、PS/2キーボードの通信は水平期間周期がちょうど良いタイミングなので、
            ・BASICインタプリタの処理は垂直基線期間中に処理
            ・PS/2キー入出力は、水平期間中に処理
            しているのだと思います。

            (PS/2のシリアル通信は10kbps~20kbps、ホスト側からクロックを供給するので、正確なタイミングを測る必要がなくホスト側の都合の良い時にデータ送受信ができます。15.7kHzの水平帰線期間に1ビット分処理する、というのはほどよい処理周期になります。)

            …つまり、画面表示をオフにすると、BASICインタプリタの動作が5倍高速になる、という古のPC-8001みたいなことができるかも…

            親コメント
            • by Anonymous Coward

              内蔵発振回路は12MHzしかありません。 IchigoJamにはそういった周辺回路がありませんので、12MHzで動いているということになります。

              System PLL てのが内蔵されてるよ

              • > System PLL てのが内蔵されてるよ
                ああ、本当ですね。見逃してました。

                となると、4倍の48MHzとすると、1ドットあたり8クロックですね。
                さすがにこれでも表示以外のことは何もできなさそうです。それでも、
                > CPU能力の60%以上は表示につきっきりになる。
                > 垂直帰線期間中に、3ms、140,000クロックの処理を、1秒間に60回実行可能(CPU能力の18%)
                > 水平帰線期間中に、15μs、750クロックの処理を、1秒間に12900回実行可能(CPU能力の23%)
                といった感じで、振り分けられる能力比率は変わりませんが、
                水平帰線期間中は750クロックあれば、PS/2キーボード処理以外にもいろいろできそうです。

                親コメント
          • by Anonymous Coward

            シンクレアZX80とかと同じですね、50MhzのRISCチップならNTSCは楽勝じゃないですかね(それなりに重たいですけど)

        • by Anonymous Coward

          ソフト的にTV信号もどきを作ってたのはAppleIIとかもうそうだったかと思います。
          USBはV-USBが存在しますので実装可能だったと思うんですけどね。

          • NTSC を SCI0/1 で叩いているのでそこで時間を取られていそうで、USB のソフト実装をしたら多分 50MHz 程度だと間に合わないです。PS/2のハンドシェイクもしないといけないですし。

            #メモリが4KBしかないうえ、VRAM で1KB程度持っていかれるので、この関係で VGA 解像度にして 2KB VRAM が困難なのではないかと。プログラムの方はバッファリングしながらフラッシュに書いているんだと思うけど。

            親コメント
          • by Anonymous Coward

            ソフト的にTV信号もどきを作ってたのはAppleIIとかもうそうだったかと思います。

            そんな実装されてねーよアホか。1MHzの6502に夢見杉。

            • by Anonymous Coward

              1.79MHzのファミコンで、水平同期中に描画情報変えてスキャンラインごとに違う描画をするゲームとか、特定の演出時には同期信号からのクロック数を計算してラインのスキャン中にビデオモードを切り替えて光が差すような映像を作るゲームとか有ったそうですよ。
              1MHzも馬鹿には出来ない。

              # AppleIIのことは知りません

              • by Anonymous Coward

                15kHzの水平タイミングレベルの話と、TV信号生成と、何の関係が??

                # マジ投稿意図がわからん

              • by Anonymous Coward

                それはVDPががんばって表示しているから6502がたまに効果を演出できるだけですよね

              • by Anonymous Coward

                TV信号を特別に考えすぎてない?
                元コメの言う「AppleIIでのソフト的作られたTV信号もどき」ってのが何なのかは知らないが、NTSC(モノクロ)は短いフロントポーチでも1.5usの長さがあるから1MHz(1us)なら十分追いかけられる範囲って話だよ。
                他の処理をする余裕はあまりないけどそんなことは知らん。

              • by Anonymous Coward

                NTSC(モノクロ)は短いフロントポーチでも1.5usの長さがあるから1MHz(1us)なら十分追いかけられる範囲って話だよ。

                6502は1命令の実行に最低2クロック掛かるけど1.5μsの信号を1MHzの動作速度でどうにかできるという主張ですか?

        • by Anonymous Coward

          もしソフトでビデオ信号まで作っているなら、ビデオ表示をやめて計算力UPという古のノウハウ(?)がそのまま使えそう。

      • by Anonymous Coward

        VGAのアナログRGB信号ならともかくHDMI(DVI-I)のTMDS差動信号4ペアを20MHz以上で吐けとかワンチップマイコンになに要求してるんスか。
        NTSCはカラーであっても3 579 545Hzを必要な分解能で位相差つけて吐ける程度の能力があればば十分です。
        モノクロならもっと遅くて十分で、AVRやPICなどの8ビットマイコンでのNTSC出力例は結構あります。パワーはギリですがカラー工作例もあります。

        今回のコレはARMコアなのでもうちょい余力はあるんでしょうけど、それにしたってDVI/HDMIは専用ハード無しではキツイと思いますよ。.

        あとNTSCは信号線の数が圧倒的に少なくて済みます。

    • by Anonymous Coward

      仕方ないからRFコンバーターを付属品で出して貰おう。

    • by Anonymous Coward

      いやそこはRGB端子で・・・

    • by Anonymous Coward

      モノクロでいいなら 輝度 + VSyinc + HSync の信号3本でいいので現状とそう変わらん実装で VGA 出力も対応できるんじゃないですかね、水平同期とドットクロックのタイミングは約倍になるのでそのへんどうかですが。

      # つーかソース非公開だからそういう「弄くる」楽しみはないんだよなあ。

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...