실험을위한 마이크로 프로세서는 무엇입니까?


33

나는 단순한 컴퓨터를 처음부터 구축하기 위해 비밀 판타지 (더 이상 비밀이 아닌)를가집니다. 사용하기 쉬운 마이크로 프로세서를 찾고 있습니다. 나는 6502, 68000, 8086, Z80 등과 같은 일반적인 용의자에 대해 알고 있습니다. 그러나 더 나은 것이 있는지 궁금합니다. 위시리스트는 다음과 같습니다.

있어야합니다 :

  • 낮은 클럭 속도 (4-25MHz)
  • 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이 거의 없습니다.

다음은 STR711 ARM 개발 보드 입니다.


실제로 프로그래밍 관련이 아닙니다. 하드웨어 질문 (예 : superuser.com 자료)과 비슷합니다.

3
네,하지만 프로그래머 청중이 제대로 대답 할 수
스테파노 Borini

장치가 키보드, 마우스 및 디스플레이를 자체적으로 처리하도록 하시겠습니까, 아니면 직렬을 통해서만 연결 하시겠습니까?

시리얼은 나에게 좋을 것입니다.

STR711 ARM은 실제로 담그지 않습니다

답변:


15

ARM이 32 비트 마이크로 컨트롤러를 사용하는 방법이라는 데 동의합니다. ARM은 어디에나 있으며 어셈블리 언어는 광범위한 마이크로 컨트롤러 제품군에서 사용할 수 있습니다. ARM은 또한 GCC 툴체인의 훌륭한 지원을받습니다. ARM7TDMI 칩 아키텍처는 지난 5 년 동안 32 비트 MCU 공간을 지배했으며 ARM Cortex-M3 은 새로운 대체품입니다. Cortex-M3에는 Harvard 아키텍처 (별도의 명령 및 데이터 주소 공간)가 있지만 이것이 한계라고 생각하지 않습니다.

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를 확인하십시오.
Igor Skochinsky

7

작은 uC 물건 Arduino , 저렴하고 재미 있고 좋은 커뮤니티

ARM 클래스 기계의 경우 가장 저렴한 sheeva 플러그 는 벽면 전원 공급 장치에 내장 된 놀라운 완전한 기계와 훨씬 더 많은 I / O를 가진 약간 큰 단일 보드 기계를 만듭니다.

또는 오디오 / 비디오 성능을 목표로하는 비글 보드 가 있습니다.

그들 모두는 리눅스를 실행하므로 거대한 범위의 개발 소프트웨어가 있습니다.


전적으로. Fuzebox 키트를 가져와 함께 모아 TV 용 작은 게임 (지금까지는 모든 무료 소프트웨어라고 생각합니다)을 해킹하십시오.

5

Texas Instruments의 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에서 가능한 스레드 코드 구현을 사용했습니다.
starblue

28 핀 DIP 패키지의 ARM Cortex M0이 발견되었습니다. nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/…
starblue

2

훌륭한 프로젝트처럼 들립니다! 나는 70 년대에 8008 칩과 약간의 RAM과 ROM으로 돌아 왔습니다. 스피커를 I / O 포트에 연결하여 약간의 튜닝을하도록 프로그램했습니다. 메모리 회로의 일부는 커패시터에 의해 제어되는 타이머 칩과 관련이있다. 접점에 닿을 때 모든 것을 1000으로 늦추는 여분의 커패시터를 납땜했습니다. 먼저 느리게 뛰면 학생들은 스피커에서 딸깍하는 소리가 들립니다. 그런 다음 커패시터를 풀고 튜닝을 들었습니다. 나는 컴퓨터가 다음 명령을 시작하기 전에 하나의 명령을 끝내는 방법에 그들에게 깊은 인상을 주려고 노력했습니다.


1

대부분의 최신 마이크로 컨트롤러 용 개발 보드가있는 OLIMEX 를 확인 하고 DIP를 원한다면 DIP와 같은 보드에 ARM 프로세서가 있습니다 ( 1 ). 또한 JTAG를 판매하고 대부분의 보드 (gcc)에 사용할 수있는 데모 코드를 가지고 있으므로 쉽게 사용할 수 있습니다. 그들의 보드의 대부분은 Sparkfun을 통해 이용할 수 있습니다 . 필립스 LPC ARM 기반 마이크로를 개인적으로 좋아하지만 Olimex의 모든 것이 좋습니다.

AVR32도 당신을 위해 일할 것입니다 (비 행동). 나는 최근에 그것들을 사용하기 시작했고 그들이 얼마나 유능하고 사용하기 쉬운 지 매우 놀랐습니다.

8 비트 딥 마이크로를 사용하거나 표면 실장 보드를 납땜하고 복잡한 디지털 PC 보드를 디버깅하기위한 설정이없는 한, 처음부터 새로 구축하는 것은 실제로 오늘날의 옵션이 아닙니다.


1

목표에 따라 기존 CPU를 사용하는 대신 원하는 기능으로 자체 CPU를 구축하는 것이 좋습니다. Homebuilt CPU 웹링을 확인하십시오 . 릴레이에서 CPU를 만든 미친 매니아 조차 있습니다 !


1
와우! 소름 끼치 네요! 그리고 그는 그것을 자랑스럽게 생각합니다 ....
asp316

좋은 프로젝트입니다. Alan Turing은 릴레이 기반 하드웨어로 작업했습니다. 이 녀석의 릴레이 물건은 깔끔한 캐비닛으로 깔끔하게 조립되어 보입니다. 잘 했어!
Kaz

1

시차 프로펠러

현재 DIP 패키지로 제조되는 유일한 32 비트 프로세서는 시차 프로펠러 입니다. (동일 칩은 32 개의 범용 I / O 핀이있는 훨씬 작은 44 핀 QFP 및 44 핀 QFN 패키지로도 제공됩니다). Windows IDE 외에도 Linux에서 실행되는 개발 도구 가 몇 가지 있습니다.

"내장 플래시 ROM"을 제외한 모든 요구 사항을 충족하는 것으로 보입니다. 대신 프로펠러가 외부 8 핀 EEPROM에서 부트로드됩니다. (배선하는 것이 하나 더 있지만 대부분의 외부 프로그램 저장 칩보다 8 핀 칩을 배선하는 것이 훨씬 쉽습니다.)


0

ATmega 마이크로의 경우 +1 USB를 통해 프로그래밍 할 수있는 부트 로더가 제공되므로 전용 프로그래머가 없어도 첫 보드를보다 쉽게 ​​실행할 수 있습니다. 이 경로를 사용하면 ICE 관련 자료를 놓치게됩니다.


0

Amtel에 대한 두 번째 투표. 나는 특히 프로토 타입과 실험을 위해 teensy ++ 를 좋아 한다 . USB는 전원을 공급하고 프로그래밍 인터페이스를 제공하며 디버그 출력을 표시합니다. GNU 개발 도구. 약 30 달러의 재미 톤.


0

Atmel은 꽤 인기가 있고 arduinos (나는 sparkfun의 프로 모델을 좋아합니다) 자체가 인기가 있습니다. AVR 사용에 익숙하고 대부분의 질문에 대답 할 수있는 많은 애호가들이 있습니다.

msp430 명령을 avr로 설정하고 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

msp430 명령을 avr로 설정하고 arm 명령을 다른 명령보다 선호합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.