ไมโครโปรเซสเซอร์ตัวใดสำหรับการทดลอง?


33

ฉันปิดบังจินตนาการลับ (อุ๊ปส์ไม่เป็นความลับอีกต่อไป) เพื่อสร้างคอมพิวเตอร์ง่าย ๆ ตั้งแต่เริ่มต้น ฉันกำลังมองหาไมโครโปรเซสเซอร์ที่ใช้งานง่ายเริ่มต้นด้วย ฉันรู้เกี่ยวกับผู้ต้องสงสัยตามปกติเช่น 6502, 68000, 8086, Z80 เป็นต้น แต่ฉันสงสัยว่ามีอะไรที่ดีกว่าอยู่ที่นั่น นี่คือรายการความปรารถนาของฉัน:

จำเป็นต้องมี:

  • อัตราสัญญาณนาฬิกาต่ำ (4-25 MHz)
  • ไม่เกิน 40-60 พินโดยเฉพาะอย่างยิ่งในการกำหนดค่า DIP
  • ความสามารถในการระบุที่อยู่รอบ ๆ หน่วยความจำ 64KB แต่สูงถึง 1MB หรือมากกว่านั้นจะดี
  • สถาปัตยกรรมโปรแกรมที่เก็บไว้ (ไม่ใช่พื้นที่การเรียนการสอนแบบอ่านอย่างเดียว) (แก้ไข: กฎนี้ใช้ไมโครคอนโทรลเลอร์ระดับต่ำสุดส่วนใหญ่เช่น PIC และ AVR)
  • หน่วยความจำแบบแบนไม่ใช่แบงกิ้งหรือแบ่งส่วนเช่น 8086

ต้องการ แต่ไม่จำเป็นต้องมี:

  • ชุดคำสั่ง RISCy (โหลดสโตร์)
  • ลงทะเบียนวัตถุประสงค์ทั่วไป
  • การแบ่งประเภทของหมุด I / O ของ TTL
  • แฟลชในตัว ROM

ไมโครโปรเซสเซอร์หรือไมโครคอนโทรลเลอร์ตัวไหนที่คุณอยากแนะนำซึ่งค่อนข้างง่ายต่อการต่อเชื่อมและรับรูทีน ROM แรกที่เขียนขึ้น

เป้าหมายของฉันคือการทำให้ระบบ Forth (หรือคล้ายกัน) ง่ายขึ้น เพียงเพื่อบอกว่าฉันทำมัน

แก้ไข: หลังจากทำวิจัยเล็กน้อยฉันคิดว่าบางอย่างเช่น ARM7 จะเหมาะกับฉัน มาพร้อมกับแฟลชและ SRAM ในปริมาณที่ไม่น่าเล่น - บางครั้งมากถึง 256K แฟลชและ 64K SRAM - พร้อมด้วย I / O ดิจิตอล ADC, ADC อนุกรม, I / O และอื่น ๆ

นี่คือหนึ่งที่: สำนักงานคณะกรรมการพัฒนาการ STR711 ARM


ไม่เกี่ยวข้องกับการเขียนโปรแกรมจริงๆ ฟังดูคล้ายกับคำถามฮาร์ดแวร์ (เช่นวัสดุ superuser.com)

3
ใช่ แต่เพียงผู้ชมโปรแกรมเมอร์สามารถตอบได้อย่างถูกต้อง
สเตฟาโนโอบอรินี่

คุณต้องการให้อุปกรณ์จัดการกับแป้นพิมพ์เมาส์และจอแสดงผลด้วยตัวเองหรือคุณจะเชื่อมต่อผ่านอนุกรมเท่านั้น

อนุกรมจะไม่เป็นไรสำหรับฉัน

STR711 ARM ไม่ได้จุ่มจริงๆ

คำตอบ:


15

ฉันยอมรับว่า ARM เป็นหนทางที่จะไปหาไมโครคอนโทรลเลอร์ขนาด 32 บิต ARM เป็นที่แพร่หลายและภาษาแอสเซมบลีสามารถใช้งานได้หลากหลายตระกูลตระกูลไมโครคอนโทรลเลอร์ ARM ยังได้รับการสนับสนุนที่ดีจากห่วงโซ่เครื่องมือ GCC สถาปัตยกรรมชิป ARM7TDMI ครองพื้นที่ 32- บิต mcu ในช่วง 5 ปีที่ผ่านมาและARM Cortex-M3เป็นสิ่งทดแทนที่เกิดขึ้นใหม่ Cortex-M3 มีสถาปัตยกรรมฮาร์วาร์ด (คำสั่งแยกต่างหากและช่องว่างข้อมูลที่อยู่) แต่ฉันไม่รู้สึกว่าเป็นข้อ จำกัด

Micromint มีชื่อเสียงที่แข็งแกร่งและพวกเขามีบอร์ด Cortex-M3พร้อมตัวเลือกที่กำหนดค่าได้ในราคาที่เหมาะสม อย่างไรก็ตามหากคุณต้องการกำหนดค่า DIP จริงๆฉันได้ประสบความสำเร็จกับmbed

ตอนนี้สิ่งต่อไปคือภาษา คุณพูดถึง FORTH ฉันยังแนะนำPython-on-a-ChipและeLuaเป็นภาษาที่ทรงพลังและง่ายต่อการเรียนรู้ที่ทำงานบนแพลตฟอร์มเป้าหมายขนาดนี้ eLua ได้รับการพัฒนาอย่างเต็มที่ แต่มีข้อกำหนดด้านทรัพยากรที่ใหญ่กว่า Python-on-a-Chip การเปิดเผยอย่างสมบูรณ์: ฉันเป็นผู้เขียน PyMite VM ที่ใช้ใน Python-on-a-Chip ดังนั้นหากเป้าหมายของคุณคือการทำให้ภาษาของคุณเองฉันเข้าใจความสุขของการออกกำลังกายนั้นอย่างเต็มที่


1
ARM มีแยกต่างหากเรียนการสอนและข้อมูลรถโดยสารที่พื้นที่ที่อยู่เป็นปึกแผ่น (เช่นคุณสามารถอ่านคำแนะนำและดำเนินการข้อมูลหากคุณต้องการ) ฉันขอแนะนำให้ดูที่ชิป Cortex-Mx ระดับล่างสุดจาก NXP - ลองดู LPCXpresso
Igor Skochinsky

7

สำหรับสิ่งเล็ก ๆ uC Arduinoราคาถูกสนุกชุมชนดี

สำหรับเครื่องในระดับ ARM ราคาถูกที่สุดอาจเป็นปลั๊กเชวาที่น่าตื่นตาตื่นใจพวกเขาสร้างเครื่องจักรที่สมบูรณ์ที่น่าทึ่งซึ่งสร้างขึ้นในแหล่งจ่ายไฟติดผนังและเครื่องบอร์ดเดี่ยวขนาดใหญ่กว่าเล็กน้อยที่มี i / o มากขึ้น

หรือมีบอร์ดบีเกิ้ลซึ่งมุ่งเน้นที่ประสิทธิภาพเสียง / วิดีโอ

พวกเขาทั้งหมดใช้ linux ดังนั้นคุณจึงมีซอฟต์แวร์การพัฒนาที่หลากหลาย


โดยสิ้นเชิง รับชุด Fuzebox รวบรวมเข้าด้วยกันและแฮ็คเกมเล็ก ๆ (พวกเขาทั้งหมดเป็นซอฟต์แวร์ฟรีจนถึงตอนนี้ฉันคิดว่า) สำหรับทีวีของคุณ

5

MSP430 จาก Texas Instruments มีการใช้พลังงานต่ำมากชุดคำสั่งขนาดเล็ก แต่มีสติมาก (ไม่เหมือน PIC) เครื่องมือโอเพ่นซอร์สและรูปแบบ DIP ในบรรทัดค่าของพวกเขา พวกเขาเพิ่งเปิดตัวชุดเริ่มต้น $ 4.30 (ใช่นั่นคือสี่ bucks สามสิบเซ็นต์, จัดส่งฟรี) ชุดเริ่มต้นที่มีอินเตอร์เฟซ USB สำหรับการเขียนโปรแกรมและการดีบักและชิป DIP สองตัวเพื่อเล่นกับ ลองดูสิ


มันเจ๋งมาก! ฉันบุ๊คมาร์คไซต์นั้นแล้ว :)

4

คุณสามารถรับ FPGA และเยาะเย้ยเรื่องทั้งหมด - ไม่ต้องใช้โปรเซสเซอร์

ฉันเคยลองทำคอมพิวเตอร์ MIPS ง่าย ๆ มาก่อน ฉันมีการออกแบบซีพียูพื้นฐาน แต่ก็ยากที่จะพูดให้น้อยที่สุดกับการพันสายไฟหรือต้นแบบอื่น


นั่นเป็นแนวคิดที่น่าสนใจ มีแหล่งที่มาสำหรับการออกแบบตัวประมวลผลอ้างอิงที่สามารถโปรแกรมเป็น FPGA ได้หรือไม่

FPGA devkits ส่วนใหญ่มาพร้อมกับการออกแบบ CPU ฟรีหรือลิขสิทธิ์ บางครั้งถึงกับ RTOS ประกอบ

PDP-1 จะเป็นไปได้ มันสร้างจากส่วนประกอบแบบแยกส่วน แผนภาพลอจิกสำหรับแต่ละองค์ประกอบมีการเผยแพร่ใน Digital Logic Handbook, 1969 (ของฉันเพิ่งมาทางไปรษณีย์วันนี้!)
luser droog

2

ตรวจสอบไมโครคอนโทรลเลอร์ ATmega ของ Atmel พวกเขามีทุกอย่างที่คุณต้องการยกเว้นความสามารถในการเรียกใช้โค้ดจาก RAM และตั้งค่าได้ง่าย

ตัวประมวลผล ARM ขนาดเล็ก 32 บิตเช่น ARM7TDMI อาจเป็นทางเลือก แต่สิ่งเหล่านี้ไม่ได้มาในแพ็คเกจ DIP เช่นเดียวกับไมโครคอนโทรลเลอร์ของ Renesas R8C / M16C



AVRs ทั้งหมดใช้พื้นที่คำสั่งแบบอ่านอย่างเดียวไม่ใช่เหรอ? ฉันต้องสามารถใช้งานแรมได้ดังนั้นโปรแกรมของฉันจึงสามารถเขียนโปรแกรมได้

ใช่ดูเหมือนว่าคุณจะถูก แม้ว่าเมื่อฉันเล่นกับ Forth 25 ปีที่แล้วฉันใช้การติดตั้งโค้ดแบบเธรดซึ่งเป็นไปได้ด้วย AVR
starblue

ARM Cortex M0 ในแพ็คเกจ DIP 28 พินถูกมองเห็นแล้ว: nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/ …
starblue

2

ฟังดูเหมือนเป็นโครงการที่ยอดเยี่ยม! ฉันย้อนกลับไปในยุค 70 ด้วยชิป 8008 และ RAM และ ROM เล็กน้อย ฉันตั้งโปรแกรมให้เล่นเพลงเล็กน้อยที่มีลำโพงเชื่อมต่อกับพอร์ต I / O ส่วนหนึ่งของวงจรหน่วยความจำที่เกี่ยวข้องกับชิปจับเวลาที่ควบคุมโดยตัวเก็บประจุ ฉันบัดกรีตัวเก็บประจุพิเศษที่เมื่อผลักเข้ามาทำให้สิ่งต่าง ๆ ช้าลง 1,000 หน่วยจากนั้นฉันใช้ในห้องเรียนเป็นผู้สาธิต ก่อนอื่นฉันจะทำให้มันช้าลงและนักเรียนจะได้ยินเสียงลำโพงกำลังคลิกคลิก จากนั้นฉันก็ปลดตะขอตัวเก็บประจุและพวกเขาได้ยินเสียงเพลง ฉันพยายามสร้างความประทับใจให้กับพวกเขาว่าคอมพิวเตอร์ทำเสร็จสิ้นการเรียนการสอนก่อนที่จะเริ่มต้นต่อไป


1

ลองดูOLIMEXพวกเขามีบอร์ดพัฒนาสำหรับไมโครคอนโทรลเลอร์ที่ทันสมัยที่สุดและถ้าคุณต้องการ DIP จริงๆพวกเขามีโปรเซสเซอร์ ARM บนบอร์ดในรูปแบบ DIP ( 1 ) พวกเขายังขาย JTAG และมีรหัสตัวอย่างบางส่วนสำหรับบอร์ดส่วนใหญ่ (gcc) ดังนั้นพวกเขาจึงง่ายต่อการเริ่มต้นและทำงานด้วย ที่สุดของโต๊ะของพวกเขาสามารถใช้ได้ผ่านทางSparkfun ฉันชอบ micros ที่ใช้ Phillips LPC ARM แต่สิ่งใดจาก Olimex นั้นดี

AVR32 จะทำงานให้คุณเช่นกัน (ไม่ใช่ havard) ฉันเพิ่งเริ่มใช้งานพวกเขาเมื่อเร็ว ๆ นี้และรู้สึกประหลาดใจอย่างมากกับความสามารถและใช้งานง่าย

การสร้างตั้งแต่เริ่มต้นไม่ใช่ตัวเลือกวันนี้เว้นแต่คุณจะใช้ไมโครจิ้ม 8 บิตหรือมีการตั้งค่าเพื่อบัดกรีบอร์ดเมาท์พื้นผิวและดีบักบอร์ดพีซีดิจิตอลที่ซับซ้อน


1

ขึ้นอยู่กับเป้าหมายของคุณคุณอาจต้องการสร้าง CPU ของคุณเองด้วยคุณสมบัติที่คุณต้องการแทนที่จะใช้ CPU ที่มีอยู่ ตรวจสอบHomebuilt CPU WebRing มีแม้กระทั่งคนที่คลั่งไคล้ที่สร้างซีพียูจากรีเลย์!


1
ว้าว! มันน่าขนลุก! และเขาดูภูมิใจในมัน ....
asp316

มันเป็นโครงการที่ดี Alan Turing ทำงานร่วมกับฮาร์ดแวร์ที่ใช้รีเลย์ สิ่งที่ถ่ายทอดของพวกนี้ดูเรียบร้อยและประกอบขึ้นมาในตู้ที่สวยงาม เยี่ยมมาก!
Kaz

1

ใบพัด Parallax

หน่วยประมวลผลเพียง 32 บิตในปัจจุบันมีการผลิตในแพคเกจที่กรมทรัพย์สินทางปัญญาเป็นParallax ใบพัด (ชิปตัวเดียวกันยังมีอยู่ในแพ็คเกจ 44-Pin QFP และ 44-Pin QFN ที่เล็กกว่ามากทั้งหมดมี 32 ขา I / O สำหรับวัตถุประสงค์ทั่วไป) นอกจากนี้ยังมีของ Windows IDE, นอกจากนี้ยังมีไม่กี่เครื่องมือในการพัฒนาสำหรับมันที่ทำงานภายใต้ลินุกซ์

ดูเหมือนว่าจะตอบสนองความต้องการของคุณทั้งหมดยกเว้น "แฟลชในตัว ROM" แทน Propeller bootloads จาก EEPROM 8 พินภายนอก (นั่นเป็นอีกวิธีหนึ่งในการวางสาย แต่ง่ายกว่าในการต่อสายชิป 8 พินกว่าชิปหน่วยเก็บข้อมูลโปรแกรมภายนอกส่วนใหญ่)


0

+1 สำหรับไมโคร ATmega คุณจะได้รับตัวโหลดบูทสำหรับการเขียนโปรแกรมผ่าน USB ทำให้การทำงานบอร์ดครั้งแรกง่ายขึ้นโดยไม่จำเป็นต้องมีโปรแกรมเมอร์เฉพาะ คุณจะพลาดในสิ่งที่ ICE ถ้าคุณไปเส้นทางนี้


0

การลงคะแนนเสียงครั้งที่สองสำหรับ Amtel ฉันชอบteensy ++สำหรับต้นแบบและการทดลองเป็นพิเศษ กำลังไฟของอุปกรณ์ USB ให้อินเทอร์เฟซการเขียนโปรแกรมและแสดงผลลัพธ์การดีบัก เครื่องมือ GNU dev ตันของความสนุกประมาณ $ 30


0

Atmel นั้นกำลังได้รับความนิยมค่อนข้างมาก arduinos (ฉันชอบรุ่นมืออาชีพที่ sparkfun) นั้นเป็นที่นิยม คุณจะพบว่ามีมือสมัครเล่นมากมายที่คุ้นเคยและสามารถตอบคำถามส่วนใหญ่เกี่ยวกับการใช้ AVR ได้

ฉันชอบคำสั่ง msp430 ที่ตั้งค่าไว้ที่ avr และชุดคำสั่ง arm นั้นตั้งอยู่เหนือคำสั่งอื่น Olimex จัดทำบอร์ด "ส่วนหัว" จำนวนหนึ่งซึ่งเหมาะสำหรับการทดลอง Luminary micro มีบางตัวที่ดี แต่หมุดจำนวนมากถูกใช้งานโดยบนชิปอวดอุปกรณ์ต่อพ่วงของชิปเหมาะสำหรับการเรียนรู้ชิปและคุณสมบัติ แต่ในที่สุดคุณก็ต้องการที่จะตัดพวกเขาออกเพื่อรับที่ I / O อย่างไรก็ตาม olimex นั้นดีลองhttp://www.sparkfun.comและเรียกดูผ่านบอร์ดพัฒนาบางอันมาจาก olimex บางอันมาจาก sparkfun มีให้เลือกมากมายและต่ำกว่า $ 40 หรือ $ 50 ดังนั้นคุณสามารถลองดูสิ่งที่คุณต้องการ ชอบ. ฉันกำลังจะสั่งซื้อ Armmite ซึ่งถ้ามันอยู่ในรายการคุณสมบัติน่าจะเป็นบอร์ดควบคุมที่ดีที่สุดสำหรับวัตถุประสงค์ของฉัน


0

ฉันมีความฝันเดียวกันที่จริงไม่เคยมีมัน

คำแนะนำส่วนใหญ่ข้างต้นใช้สำหรับบอร์ด dev เนื่องจากคุณพูดว่า "ตั้งแต่เริ่มต้น" ฉันคิดว่าคุณต้องการเริ่มต้นด้วยชิปประมวลผล DIP เดียวและไม่ซื้อบอร์ด dev ในกรณีนี้ฉันขอแนะนำอย่างยิ่งให้คุณยึดติดกับสิ่งที่เหมือนกับผู้ต้องสงสัยตามปกติที่คุณระบุไว้ในโพสต์ของคุณ พวกเขาเป็นที่นิยมเพราะทำงานได้ดีสำหรับงานดังกล่าว คุณสามารถเอาชนะความต้องการสาย I / O มากขึ้นด้วยมัลติเพล็กเซอร์และดีมัลติเพล็กเซอร์

สมมติว่าคุณพบว่า CPU "สมบูรณ์แบบ" ที่ทำทุกอย่างที่คุณต้องการและมีจำนวนบรรทัด IO ที่คุณต้องการ คุณจะไม่พบที่ใดก็ได้ใกล้กับ smidgen ของการสนับสนุนที่คุณจะพบกับโปรเซสเซอร์ยอดนิยม คุณควรจะสามารถหาหนังสือเก่าที่ใช้แล้วได้อย่างง่ายดายบน 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.