実験用のマイクロプロセッサは何ですか?


33

私は、単純なコンピューターをゼロから構築するための秘密のファンタジー(もう、それほど秘密ではない)を抱いています。手始めに使いやすいマイクロプロセッサを探しています。6502、68000、8086、Z80などの通常の容疑者については知っています。しかし、もっと良いものがあるかどうか疑問に思っています。これが私のウィッシュリストです。

持つ必要があります:

  • 低クロックレート(4-25 MHz)
  • 40〜60ピン以下、できればDIP構成で
  • 約64KBのメモリをアドレス指定できますが、最大1MB程度で十分です
  • ストアドプログラムアーキテクチャ(読み取り専用命令スペースではない)(編集:これは、PICやAVRなどのほとんどのローエンドマイクロコントローラーを除外します)
  • 8086のようにバンクまたはセグメント化されていないフラットメモリモデル

欲しいが、持っている必要はない:

  • RISCy命令セット(ロード-ストア)
  • 汎用レジスタ
  • TTL I / Oピンの品揃え
  • 内蔵フラッシュROM

比較的簡単に配線して最初のROMルーチンを作成できるマイクロプロセッサまたはマイクロコントローラをどのように提案しますか?

私の目標は、単純なForth(または同様の)システムを稼働させることです。言っただけです

編集:少し調査した後、ARM7のようなものが私に合っていると思います。それは、デジタルI / O、ADC、シリアルI / Oなどとともに、時には256Kのフラッシュと64KのSRAMと同じくらい重要なフラッシュとSRAMを備えています。

1つは、STR711 ARM開発ボードです。


プログラミング関連ではありません。ハードウェアの質問(superuser.comの資料)のように聞こえます。

3
はい、ただしプログラマーの聴衆のみが適切に答えることができます
Stefano Borini

デバイスでキーボード、マウス、ディスプレイを単独で処理したいですか、それともシリアルでのみ接続しますか?

シリアルは私にとっては問題ないでしょう。

STR711 ARMは本当に低下していません

回答:


15

私は、ARMが32ビットマイクロコントローラーの道であることに同意します。ARMはどこにでもあり、そのアセンブリ言語は幅広いマイクロコントローラファミリで使用できます。ARMは、GCCツールチェーンからの優れたサポートも備えています。ARM7TDMIチップアーキテクチャは、過去5年間で32ビットmcuスペースを支配しており、ARM Cortex-M3は新しい代替品です。Cortex-M3にはハーバードアーキテクチャ(命令とデータの個別のアドレススペース)がありますが、それが制限だとは思いません。

Micromintは定評があり、適切な価格で構成可能なオプションを備えたCortex-M3ボード提供しています。ただし、本当にDIP設定が必要な場合は、mbedで成功しました。

さて、次は言語です。FORTHに言及しました。また、Python-on-a-ChipeLuaは、このサイズのターゲットプラットフォームで動作する強力で習得しやすい言語としてお勧めします。eLuaはより完全に開発されていますが、Python-on-a-Chipよりも大きなリソース要件があります。完全な開示:私はPython-on-a-Chipで使用されるPyMite VMの著者です。それで、あなたの目標があなた自身の言語を作ることであるなら、私はその運動の喜びを完全に理解しています。


1
ARMには個別の命令バスとデータバスがあり、アドレス空間は統一されています(つまり、命令を読んで、必要に応じてデータを実行できます)。また、NXPの低価格のCortex-Mxチップをご覧になることをお勧めします-LPCXpressoをご覧ください。
イゴールスコチンスキー

7

小さなuCのもの Arduinoのために、安くて、楽しくて、良いコミュニティ

ARMクラスのマシンの場合、最も安いのはおそらくsheevaプラグで、ウォールワート電源に組み込まれた驚くほど完全なマシンと、より多くのI / Oを備えたわずかに大きいシングルボードマシンです。

または、オーディオ/ビデオパフォーマンスをより重視したビーグルボードがあります。

それらはすべてLinuxを実行しているため、開発ソフトウェアの種類は膨大です。


まったく。Fuzeboxキットを入手して組み立て、テレビ用の小さなゲーム(これまでのところはすべてフリーソフトウェアです)をハックします。

5

テキサス・インスツルメンツのMSP430の消費電力は非常に低く、小さくても非常に健全な命令セット(PICとは異なります)、オープンソースのツール、およびDIP形式が価値ラインにあります。彼らは最近、プログラミングとデバッグ用のUSBインターフェイスと2つのDIPチップを含む4.30ドル(はい、4ドル30セント、送料無料)のスターターキットをリリースしました。それをチェックしてください


それはいいね!そのサイトをブックマークしました。:)

4

FPGAを入手して、そのすべてをモックアップできます。プロセッサは不要です。

私は以前に簡単なMIPSコンピューターを作ってみたくなりました。私は基本的なCPU設計を持っていますが、ワイヤラップするか、そうでなければプロトタイプを作成することを控えめに言っても難しいでしょう。


それは面白いアイデアです。FPGAにプログラム可能なリファレンスプロセッサデザインのソースはありますか?

ほとんどのFPGA開発キットには、無料またはライセンス付きのCPUデザインが付属しています。RTOSが付属している場合もあります。

PDP-1が実現可能です。モジュラーコンポーネントから構築されています。各コンポーネントの論理図は、1969年のDigital Logic Handbookで公開されています(今日、私にメールが届きました!)。
luser droog

2

AtmelのATmegaマイクロコントローラーをご覧ください。RAMからコードを実行する機能を除いて、必要なものはすべて揃っています。セットアップは非常に簡単です。

ARM7TDMIなどのいくつかの小さな32ビットARMプロセッサが代替手段になりますが、これらはDIPパッケージには含まれていません。同じことがRenesas R8C / M16Cマイクロコントローラにも当てはまります。



すべてのAVRは読み取り専用の命令スペースを使用しますか?私のプログラムがプログラムを書き込めるように、RAMから実行できる必要があります。

はい、あなたは正しいようです。25年前にForthで遊んだとき、スレッドコードの実装を使用していましたが、これはAVRで可能です。
スターブルー09

28ピンDIPパッケージのアンARMのCortex M0が目撃されていますnxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/...を
starblue

2

素晴らしいプロジェクトのようですね!70年代に8008チップと少しのRAMとROMを使って1つをやりました。I / Oポートに接続されたスピーカーで少しチューニングするようにプログラムしました。メモリ回路の一部には、コンデンサによって制御されるタイマーチップが含まれていました。私は余分なコンデンサーにはんだ付けし、それを接触させると、全体が1000遅くなりました。その後、クラスでデモンストレーターとして使用しました。最初にゆっくりと実行し、生徒たちがクリック音が聞こえる音を聞きました。それから私はコンデンサーを外し、彼らは曲を聞いた。私は、コンピューターが次の命令を開始する前に1つの命令を終了する方法を印象づけようとしていました。


1

ほとんどの最新のマイクロコントローラー用の開発ボードがあるOLIMEXを確認してください。DIPが本当に必要な場合は、フォーマット(1)のようなボード上にARMプロセッサーがあります。また、JTAGを販売しており、ほとんどのボード(gcc)でデモコードを利用できるため、簡単に起動して実行できます。それらのボードのほとんどは、Sparkfunを介して利用できます。個人的にはPhillips LPC ARMベースのマイクロが好きですが、Olimexのものは何でも良いです。

AVR32もあなたのために動作します(非havard)。私は最近それらの使用を開始しましたが、それらがどれほど機能的で使いやすいかに非常に驚きました。

8ビットディップマイクロを使用するか、表面実装ボードをはんだ付けし、複雑なデジタルPCボードをデバッグするためのセットアップがない限り、今日ゼロから構築することは実際には選択肢ではありません。


1

目標に応じて、既存のCPUを使用する代わりに、必要な機能を備えた独自のCPUを構築することを検討できます。チェックアウト自作CPUのウェブリングを。でもあります狂人愛好家のリレーからCPUを内蔵し!


1
うわー!それは不気味です!そして彼は....誇りに思って、それの見える
asp316

それは素晴らしいプロジェクトです。Alan Turingは、リレーベースのハードウェアを使用しました。この男たちのリレーはきれいに組み立てられ、素敵なキャビネットに組み込まれているように見えます。よくやった!
カズ

1

視差プロペラ

現在DIPパッケージで製造されている唯一の32ビットプロセッサは、Parallax Propellerです。(同じチップがはるかに小さい44ピンQFPおよび44ピンQFNパッケージでも利用可能で、すべて32の汎用I / Oピンを備えています)。Windows IDEに加えて、Linuxで実行するいくつかの開発ツールもあります。

「内蔵フラッシュROM」を除くすべての要件を満たしているようです。代わりに、Propellerは外部8ピンEEPROMからブートロードします。(これはもう1つ接続する必要がありますが、ほとんどの外部プログラムストレージチップよりも8ピンチップを接続する方がはるかに簡単です)。


0

+1 ATmegaマイクロの場合。USBを介したプログラミング用のブートローダーでそれらを取得します-専用プログラマーを取得する必要なく、その最初のボードを実行することがさらに簡単になります。ただし、このルートを使用すると、ICEを逃すことになります。


0

アムテルの2回目の投票。特にプロトタイプと実験用のteensy ++が気に入っています。USBは電力を供給し、プログラミングインターフェイスを提供し、デバッグ出力を表示します。GNU開発ツール。約30ドルでお楽しみいただけます。


0

Atmelは非常に人気があり、arduinos(私はsparkfunのプロモデルが好きです)自体が人気があります。AVRの使用に関するほとんどの質問に答えることができる多くの愛好家がいます。

私は、avrに設定されたmsp430命令と、他の命令セットの上にあるarm命令セットを好みます。Olimexは、実験に最適な「ヘッダー」ボードを数多く製造しています。Luminary microにはいくつかの優れたものがありますが、多くのピンはオンチップで消費され、チップの周辺機器を見せびらかします。チップと機能の学習には適していますが、最終的にそれらを切り離してI / Oを取得します。とにかくolimexは良いです。http://www.sparkfun.comを試して開発ボードをブラウズしてください一部はolimexからのもの、sparkfunからのもの、幅広い選択、40ドル以下または50ドル以下のものがあります。のような。私はアーミートを注文しようとしています。それが機能リストに沿っている場合、おそらく私の目的にとって最高のコントローラーボードです。


0

私は同じ夢を持っていたが、実際には決して夢中にならなかった。

上記の推奨事項のほとんどは、開発ボード用です。「ゼロから」と言ったので、開発ボードを購入せずに、単一のDIPプロセッサチップから始めたいと思います。その場合、投稿にリストした通常の容疑者のようなものに固執することを非常に強くお勧めします。彼らはそのような仕事のためにうまく働くので人気があります。マルチプレクサとデマルチプレクサを使用して、より多くのI / Oラインの必要性を克服できます。

必要なすべてを実行し、必要なIOラインの正確な数を備えた「完璧な」CPUを見つけたとします。あなたは、人気のあるプロセッサーのためにあなたが見つけるであろうサポートのわずかな近くのどこにも見つけるつもりはありません。これらのプロセッサを使用して完全なシステムを設計する方法を示すわずかな金額で、E-BayやAmazonなどで古い中古本を簡単に見つけることができるはずです。ウェブサイト、コンパイラ、および同じことをしている他の人々は言うまでもありません。

他に何かをするなら、深く後悔するだろうと思います。これらのプロセッサで発生する技術的な問題を克服するよりも、サポートが不足していることに不満を感じるでしょう。さらに、人々はすでにこれらのチップを使用してコンピューター全体を設計しているので、それができることを知っています。何か他のものがあると、レンガの壁にぶつかる可能性が常にあります。


さらに、すでにハッキングされたC64などの既存のアーキテクチャをコピーするオプションを検討することもできます。

0

Atmel AVRを選択します。以下にいくつかのゲームプラットフォームを示します。

http://belogic.com/uzebox/index.asp
http://avga.prometheus4.com/
http://www.innovativedevice.com/console/GameStation.asp
http://www.lucidscience.com/pro-lazarus-64%20prototype-1.aspx
http://www.lucidscience.com/pro-vga%20video%20generator-1.aspx

0

私は、avrに設定されたmsp430命令と、他の命令の上にあるarm命令セットを好みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.