ทำไม AVR จึงถูกใช้งานใน Arduino?


41

ทำไม Arduino ใช้ AVR? ฉันเข้าใจว่าพวกเขาเป็นโปรเซสเซอร์อย่างเป็นทางการ แต่ไม่มีเหตุผลที่รหัสไม่สามารถย้ายไปยัง ARM หรือสถาปัตยกรรม Freescale นอกเหนือจากราคาใช่ไหม? ตราบใดที่มีหน่วยความจำออนบอร์ดอยู่ฉันก็นึกได้ว่าอาจมีการโยกย้ายเข้าสู่ส่วนเหล่านั้นได้ง่าย

ฉันเห็น ARM จำนวนมากในอุตสาหกรรม (ดูเหมือนว่าผู้ค้าทุกรายกำลังผลักดันหนึ่งในการออกแบบของพวกเขา) และสงสัยว่าทำไมไม่มีการบริโภคมากขึ้นในโลกของนักพัฒนา Arduino


4
ตลาดของคุณคือใคร หากคุณพยายามขายสินค้าที่มีขนาดใหญ่ในอุตสาหกรรมคุณจะต้องการ ARM เพราะถ้า Atmel ตกต่ำลงคุณจะไม่เหลืออะไรเลยถ้าคุณใช้ AVR ด้วย ARM มีผู้จำหน่ายรายอื่นมากมายที่เสนอการเปลี่ยนแบบดรอปดาวน์ ความซับซ้อนที่เพิ่มขึ้นของ ARM นั้นมีปัญหาน้อยกว่ากับวิศวกรที่ดีกว่ากับมือสมัครเล่นที่ไม่รู้พื้นฐาน หากคุณกำลังขายให้กับมือสมัครเล่นเส้นโค้งการเรียนรู้จะสูงเกินไปกำลังของโปรเซสเซอร์จะไม่ถูกนำมาใช้และ SMT จะเป็นกำแพงอิฐที่จินตนาการ คุณเป็นกังวลเรื่องลูกค้างานอดิเรกหรือนายจ้างที่มีศักยภาพ pls อธิบาย
Kevin Vermeer

9
ฉันไม่ได้พยายามที่จะล่วงละเมิด แต่คำถามจะถาม Atmel อายุมากกว่า 25 ปีมีตลาดที่ประสบความสำเร็จอย่างมากนอกเหนือจาก ARM AVR ในตัวมันเองเป็นแพลตฟอร์มที่ประสบความสำเร็จอย่างมาก โอกาสของ บริษัท ดังกล่าวจะลดลง ดูเหมือนว่า "ไม่ใช้ windows จะเกิดอะไรขึ้นถ้า MicroSoft ล่ม"
Rick_2047

ฉันเห็นด้วยกับประเด็นอีกสองข้อของคุณนั่นคือถ้าคุณมีตลาดงานอดิเรกโอกาสที่หายากที่จะใช้ประโยชน์จากพลังของ ARM อย่างเต็มที่และ SMT เป็นกำแพงอิฐ
Rick_2047

2
Arduino ไม่มีกับ SAM3XE (ARM 32 บิต) uC หรือเปล่า? เพราะฉันมีหนึ่งในมือของฉันตอนนี้ ...
Doombot

1
ฉันต้องการที่จะทราบว่า "ทุกวันนี้" มีบอร์ด ARM ที่สามารถตั้งโปรแกรมได้โดยใช้ Arduino (ไลบรารีและ IDE) Teensy 3.2 เป็นตัวอย่างที่ยอดเยี่ยมของเรื่องนี้ sparkfun.com/products/13736
Paul

คำตอบ:


32

ไม่มีใครสนใจสิ่งที่คุณพัฒนาอยู่หรือไม่?

ใช่และไม่. ฉันได้พัฒนาบน AVR32 สำหรับโครงการเฉพาะและสภาพแวดล้อมการพัฒนา (โดยเฉพาะอย่างยิ่งการคอมไพล์ / โปรแกรม / รอบการดีบัก) นั้นน่ากลัวมากเมื่อเทียบกับ PIC32

ลูกค้าไม่สนใจยกเว้นค่าใช้จ่ายและการบำรุงรักษาและในกรณีของระบบที่คล้ายกับ arduino โปรแกรมเมอร์ไม่สนใจเพราะสภาพแวดล้อมของ arduino และวงจรการพัฒนานั้นดีกว่าการติดตั้ง AVR32 ปัจจุบัน

ฉันแค่สงสัยเพราะมีภาระผูกพันที่แข็งแกร่งสำหรับ AVR ในตระกูล Arduino ฉันเข้าใจว่าพวกเขาเป็นโปรเซสเซอร์อย่างเป็นทางการ แต่ไม่มีเหตุผลที่รหัสไม่สามารถย้ายไปยัง ARM หรือสถาปัตยกรรม Freescale นอกเหนือจากราคาใช่ไหม? ตราบใดที่มีหน่วยความจำออนบอร์ดอยู่ฉันก็นึกได้ว่าอาจมีการโยกย้ายเข้าสู่ส่วนเหล่านั้นได้ง่าย

ไม่มีเหตุผลที่ไม่สามารถใช้โปรเซสเซอร์อื่นได้แต่มีเหตุผลที่ดีมากที่พวกเขาเลือกอุปกรณ์ 8 บิตต่ำสุดแทนที่จะเป็น ARM, MIPS, PowerPC และอุปกรณ์อื่น ๆ : ใช้งานง่าย

หากคุณดูการตั้งค่าสำหรับแขนต่ำสุดมันเป็นลำดับความสำคัญที่ซับซ้อนกว่า (การแมปหน่วยความจำการแคช ฯลฯ ) กว่าตัวประมวลผล 8 บิต แต่ที่สำคัญยิ่งกว่า - ในขณะนั้นยังไม่มีโปรเซสเซอร์ ARM และสิ่งเหล่านี้ถูกใช้เพื่อสร้างและสร้างสรรค์โดยศิลปินและแฮ็กเกอร์ไม่จำเป็นต้องเป็นช่างเทคนิคและวิศวกรอิเล็กทรอนิกส์ที่รู้สึกสบายใจแม้แต่กับ 48 pin TQFP

เหตุผลที่เลือก AVR สำหรับ PIC คือ PIC ไม่ได้ใช้กันอย่างแพร่หลายโอเพ่นซอร์สคอมไพเลอร์ C ฟรีและเหนือสิ่งอื่นใด (พอร์ต SDCC ยังไม่สุก)

ฉันเห็น ARM จำนวนมากในอุตสาหกรรม (ดูเหมือนว่าผู้ค้าทุกรายกำลังผลักดันหนึ่งในการออกแบบของพวกเขา) และสงสัยว่าทำไมไม่มีการบริโภคมากขึ้นในโลกของนักพัฒนา Arduino คิด?

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

แม้แต่ ARMS คอร์เทกซ์ต่ำสุดที่ออกมาใน 28 แพ็คเกจยังคงเป็น SOIC ไม่ใช่ DIP

ดังนั้น AVR จึงมีคุณสมบัติที่เหมาะสมทั้งหมด:

  • ง่ายต่อการประสาน
  • ง่ายต่อการรับทางไปรษณีย์ทั่วโลก
  • คอมไพเลอร์ GCC C ฟรี
  • ง่ายต่อการเข้าใจโปรเซสเซอร์และการตั้งค่าและการใช้งานอุปกรณ์ต่อพ่วง
  • ถูก
  • แพร่หลาย - ผู้คนจำนวนมากและประสบการณ์โดยรอบตระกูล AVR

ส่วนใหญ่เรื่องนี้ยังคงเป็นจริง - ฉันไม่รู้ ARM ในรูปแบบจุ่มและอะแดปเตอร์ทำให้ราคาแพงกว่า AVR อย่างเห็นได้ชัด ผู้ผลิตส่วนใหญ่ไม่คิดว่า DIP processor ขนาด 32 บิตที่บรรจุอยู่นั้นจะทำกำไรได้มาก


มีอยู่อย่างหนึ่งคือ Parallax Propeller มันมีซีพียู 32 บิตแปดตัวบนชิปและมาในแพ็คเกจ DIL, QFP และ QFN
Leon Heller

5
นี่คือจุดที่ AVR over PIC เนื่องจากการให้สิทธิ์ใช้งานและ AVR over ARM เนื่องจากความง่ายของซอฟต์แวร์และเครื่องมือและความสามารถในการบัดกรี สำหรับโครงการของคุณเองสิ่งนี้อาจใช้ไม่ได้ อย่างไรก็ตามหากคุณต้องการพัฒนา ARM-duino ลองดูโครงการอื่นที่คล้ายคลึงกัน พวกมันไม่ติดเหมือนที่ AVR มี นี่อาจเป็นเพราะสภาพแวดล้อม Arduino dev
Kevin Vermeer

คุณกำลังใช้เครื่องมือ AVR32 ใด - ฉันใช้ IAR ทั้ง AVR32 และ MSP และพบว่าสภาพแวดล้อมนี้มีความสามารถสูง ค่าใช้จ่ายไม่ใช่ปัญหาในสภาพแวดล้อมแบบมืออาชีพซึ่งเท่ากับค่าใช้จ่ายในการจ้างวิศวกรน้อยกว่าหนึ่งสัปดาห์
คุณ

การเรียกร้องเกี่ยวกับเครื่องมือสามารถเอาชนะได้ - Arduino ใช้ gcc ซึ่งมีพอร์ต AVR32 ให้ใช้งาน
Chris Stratton

1
ตอนนี้ NXP มี Cortex-M0 ARM จำนวนหนึ่งในแพ็คเกจ DIP ฉันคิดว่ามาจากตระกูล LPC11xx ฉันคิดว่าตลาดเป้าหมายของพวกเขามีราคาถูกมากคุณภาพต่ำ PCB ด้านเดียวในเครื่องใช้
Marko


16

เนื่องจากคุณดูเหมือนจะสำรวจความคิดเห็นนี่คือ $ .02 ของฉัน ไม่ว่าฉันจะทำงานกับ ARM หรือ AVR ก็ตาม (และฉันก็เป็นห่วงด้วย) ส่วนใหญ่ขึ้นอยู่กับว่าฉันพยายามทำอะไร มีกรณีการใช้งานที่ AVR เหมาะสมและมีหลายกรณีที่ ARM ทำ โดยทั่วไปแล้วยังมีข้อเสียอีกอย่างที่พูดกันคือ AVR และ PIC

ก่อนอื่นในขณะที่ฉันอาจจะมีปัญหาในการพูดสิ่งนี้ "สิ่งที่เกิดขึ้นโดยบังเอิญในตระกูล Arduino" เป็นสิ่งที่มีน้อย ชาวบ้านอาร์ดิโนส่วนใหญ่ (ผู้ใช้) ฉันเคยเจอเป็นคนที่ค่อนข้างจะปฏิบัติต่อฮาร์ดแวร์ของพวกเขาในลักษณะเดียวกับที่พวกเขาทำสคริปต์งูหลามเพื่อทำสิ่งที่น่าขบขันบ่อยครั้งที่มีระดับความเข้าใจที่ซับซ้อนน้อยกว่า จะเกิดขึ้นเมื่อพวกเขาต้องการ "จากการนำเข้า fump ที่มีจำนวนมาก" แม้ว่าจะมีข้อดีอยู่บ้างในวิธีการทำสิ่งต่าง ๆ ของ Arduino แต่ก็มีขอบเขตสำหรับการวิจารณ์อย่างมากมาย

ฉันคิดว่ามันคุ้มค่าที่จะดู AVR นอกเหนือไปจากระบบนิเวศ Arduino ภาระผูกพันของ Arduino ยังได้รับประโยชน์อย่างมากจากเหตุผลที่ทำให้ AVR เป็นมาตรฐานสำหรับสิ่งที่เป็นงานอดิเรก - สิ่งปกคลุมที่ถูกยึดครองมากขึ้นจาก PIC แม้กระทั่งก่อนที่อาร์ดิโนจะปรากฏตัว คู่แข่งโดยตรงของ AVR คือ PIC และปริญญา MSP430 ซึ่งได้รับแรงฉุดเนื่องจากการตลาดที่หนักหน่วงของ TI รวมกับเครื่องมือช่วยเหลือของมัน

ระบบนิเวศ

ดังที่ได้กล่าวไว้ในคำตอบอื่น ๆ AVR เป็นตระกูลหนึ่งที่มีวิธีการที่สะอาดและเป็นมาตรฐานที่จะได้รับจากศูนย์ถึงสวัสดีโลกโดยใช้เครื่องมือฟรี พอร์ต avr-gcc, ชิ้นส่วนที่ทำ winavr toolchain, แผนงานโปรแกรมเมอร์จำนวนมากที่มีความซับซ้อนและคุณสมบัติที่แตกต่างกัน แต่ยังคงถูกผูกมัดโดยหน่วยงานที่ได้รับการสนับสนุนจาก avrdude ทำให้ง่ายกว่าการจัดการกับ toolchain

ระบบนิเวศของ PIC เป็นฝันร้ายที่มีคอมไพเลอร์เครื่องมือการเขียนโปรแกรมผู้ประกอบสิ่งที่มีอยู่มากมาย หลายคนเข้ากันไม่ได้ ส่วนใหญ่ได้รับเงิน ไม่ใช่ทุกคนที่ดี ที่สำคัญไม่มีมาตรฐาน defacto ทางเลือกฟรี / โอเพนซอร์ส (เช่น SDCC) ปล่อยให้เป็นที่ต้องการมากมาย แต่ยิ่งไปกว่านั้นไม่สามารถรับสถานะมาตรฐาน defacto เช่น avr-gcc และ บริษัท ได้ แม้จะมี toolchain ของซอฟต์แวร์ที่ได้ผล แต่อย่างน้อยคุณก็ต้องลงทุนในโปรแกรมเมอร์บางประเภท PICkit อาจมีราคาเพียง 20 $ หรือมากกว่านั้น แต่เมื่อคุณต้องหาวิธีการซื้อทางออนไลน์ (บัตรเครดิตการจัดส่งระหว่างประเทศการเพิ่มอัตราแลกเปลี่ยน) อาจเป็นตัวแบ่งข้อตกลงสำหรับผู้ที่ชื่นชอบงานอดิเรก มีไม่ดี

MSP430 นั้นดีกว่าเล็กน้อยส่วนใหญ่เป็นเพราะรุ่นใหม่ (อย่างน้อยก็ในแง่ของความนิยม) - มีเสียงรบกวนน้อยกว่าเมื่อเทียบกับ TI จัดส่งตัวอย่าง IC ให้กับคุณอย่างมีประสิทธิภาพฉันไม่เคยเห็นที่ไหนเลย mspgcc อยู่ในรูปแบบที่ตกลงและมีแม้แต่ซอฟต์แวร์ดีบั๊กโอเพ่นซอร์สที่หาหรือตั้งค่าได้ยาก อย่างไรก็ตามปัญหาก็คือมันไม่ได้เป็นงานอดิเรกที่เป็นมิตรเหมือน AVR เป็น คุณยังคงมีปัญหาของโปรแกรมเมอร์ซึ่งมีราคาแพงกว่าสิ่งที่คุณต้องซื้อสำหรับ PIC การทำงานของการจ่ายไฟขนาด 3.3 โวลต์สร้างอุปสรรคต่อการรับรู้ถึงผู้ที่คุ้นเคยกับ 5v ลอจิก และมันไม่ได้ปรับขนาดในแบบจุ่มลง - มีจุดต่ำสุดที่ใช้ได้ แต่ไม่ใช่เมื่อคุณเข้าถึงชิปที่มีเนื้อมากขึ้น

สะดวกในการใช้

ผมคิดว่ากรมทรัพย์สินทางปัญญากับ SMD เป็นความแตกต่างที่สำคัญกว่าที่มักจะให้เครดิต กรมทรัพย์สินทางปัญญาสามารถนำมาใช้กับเขียงหั่นขนมกระดานวัตถุประสงค์ทั่วไปสิ่งที่พวกเขาเรียกว่าที่คุณอาศัยอยู่และอื่น ๆ SMD IC นั้นจำเป็นต้องมีการดำเนินการประดิษฐ์หรือการซื้อแผ่นอะแดปเตอร์ซึ่งอาจไม่สะดวกในขนาดหรือรูปร่างที่คุณต้องการ

คุณภาพแผ่นข้อมูลบันทึกย่อของแอปพลิเคชันและความสามารถในการอ่านของแผ่นข้อมูลนั้นสร้างความแตกต่างได้เช่นกัน Atmel ดูเหมือนว่าจะทำงานได้ดีขึ้นเล็กน้อย แน่นอนว่าเป็นการประเมินอัตวิสัยสูง

AVR สามารถใช้ RC ภายในได้ในขณะที่ PIC ไม่สามารถทำได้ พวกเขาต้องการคริสตัลซึ่งจะทำให้เป็นลูกเต๋าเล็กน้อยเมื่อรวมกับความมั่นใจในความยากจน

AVR ก็ดูเป็นมิตรมากขึ้นด้วยการเขียนโปรแกรมในระบบเมื่อเทียบกับ PIC เมื่อไม่กี่ปีที่ผ่านมาแม้ว่าฉันจะผิดพลาดได้ง่ายมาก

AVR กับ ARM

อย่างไรก็ตามคำถามของคุณเกี่ยวข้องกับ AVR vs ARM อย่างที่ฉันบอกไปตอนต้น AVR และ ARM ใช้ช่องว่างที่แตกต่างกันในสเปกตรัม หากคุณมีบางสิ่งที่คุณสามารถทำกับ AVR ได้แล้วทำไมคุณถึงต้องการทำ ARM ด้วย? ARM มีราคาแพงกว่าต้องใช้ชิ้นส่วนที่สูงกว่ากินพลังงานมากขึ้นสร้างรหัสที่ซับซ้อนขึ้นต้องการกระบวนการผลิตที่มีราคาแพงกว่า การบัดกรี TQFP ขนาด 100 พินมีราคาแพงกว่าการบัดกรีแบบ 40 พิน / SOIC ขึ้นอยู่กับว่าคุณวัดต้นทุนอย่างไร สิ่งนี้อาจไม่ถือหากคุณผลิตในปริมาณมากและใช้เทคนิคการผลิตที่เป็นมิตรกับสิ่งนั้น แต่ถ้าคุณทำอย่างนั้นผลต่างของราคาจะยิ่งน่าสนใจยิ่งขึ้นเมื่อใช้โซลูชันราคาถูก

ในฐานะผู้ควบคุมระบบแฮ็คทั่วๆไปในบ้านหรืออะไรที่มีอยู่ฉันพูดได้ว่า AVR ใช้งานง่ายกว่าเพราะ: - มาตรฐานมากขึ้นจากมุมมองของผู้ทำงานอดิเรกรหัสมากขึ้นที่ฉันสามารถนำกลับมาใช้จากอินเทอร์เน็ตได้เพราะมีไม่มาก ความหลากหลายของคอมไพเลอร์และรูปแบบระหว่างชื่อลงทะเบียนและ API ระหว่างสมาชิกในครอบครัว (ลองย้ายรหัส LPC ARM ไปที่ฮาร์ดแวร์ ATMEL ARM คุณจะเห็นว่าฉันหมายถึงอะไร) - รหัสนั้นซับซ้อนกว่าเดิมมาก - Toolchain ใช้งานเพิ่มเติมในการตั้งค่า - ทำให้การเชื่อมต่อง่ายขึ้นเล็กน้อย โดยทั่วไป ARM จะปล่อยคุณลงไปที่ 3v3 หรือ 1v8 Logic ทำให้การเชื่อมต่อกับของเล่นอื่น ๆ มีปัญหาเล็กน้อย - ถูกกว่า - รับชิป ARM ที่ร้านฮาร์ดแวร์ในพื้นที่ไม่ใช่ตัวเลือกสำหรับฉันที่ฉันอาศัยอยู่การได้รับ AVR คือ


1
ฉันไม่จำ PIC ใด ๆ นอกเหนือจาก OTP บางส่วนที่มีฟิวส์บิตตั้งโปรแกรมไว้ล่วงหน้าเป็นส่วนหนึ่งของการทดสอบจากโรงงาน (วิธีเดียวที่จะยืนยันว่าโหมด LP, XT หรือ HS ทำงานเพื่อกำหนดค่าชิปสำหรับโหมดนั้น) จำเป็นต้องมีคริสตัล บางคนต้องการตัวต้านทานภายนอกและฝาปิดเพื่อใช้โหมด RC และมีรายละเอียดคร่าวๆเกี่ยวกับความถี่ที่มันจะผลิต แต่ฉันไม่จำ PIC ใด ๆ หากไม่มีตัวเลือกการออกแบบสำหรับ RC ภายในหรือภายนอก ฉันลืมไปบ้างไหม?
supercat

ในความเป็นจริงค่าใช้จ่าย ARM / AVR ค่อนข้างใกล้เคียงกับการซักสำหรับทรัพยากรที่เทียบเคียงกัน และแพ็คเกจที่จะถูกนำมาใช้ในการตั้งค่าการผลิตนั้นไม่จำเป็นว่าจะแตกต่างกันไป วงจรรองรับที่ต้องการนั้นค่อนข้างจะเทียบได้เช่นกัน
Chris Stratton

@Chris: เมื่อคุณคำนึงถึงทรัพยากรในแต่ละชิปที่มีให้ฉันจะบอกว่า ARM จะออกมาถูกกว่าทุกครั้ง ดังที่กล่าวมาประเด็นก็คือในสถานการณ์ที่ AVR ใช้ความรู้สึกในสภาพแวดล้อมการผลิตเป็นที่ที่คุณไม่ต้องการแรงม้าและ / หรือเสียงระฆังและเสียงนกหวีดที่ ARM นำมาสู่ตาราง เมื่อถ่วงน้ำหนักกับทรัพยากรที่ใช้แทนที่จะเป็นทรัพยากรที่มีอยู่ AVR จะออกมาถูกกว่า ฉันไม่คิดว่าวงจรสนับสนุนนั้นเปรียบได้ (ตัวเก็บประจุแทนทาลัม 1 ตัวเทียบกับ 4 และวงวนอื่น ๆ ที่คล้ายกัน) ARM ไม่ได้เป็นสัตว์ที่มีราคาแพงมากเท่าที่จะสามารถ overkill
Chintalagiri Shashank

@supercat: อาจจะ ฉันต้องตรวจสอบ ฉันไม่เคยเห็นมันชัดเจนเลยสักครั้งที่ฉันดูมัน ฉันรู้ว่าอย่างน้อย dsPIC บางตัวสามารถถอยกลับไปสู่ภายในได้แม้ว่าคุณจะตั้งค่าถูกต้อง แต่ถึงอย่างนั้นก็ใช้การคาดเดาและหลอกไปค้นพบ เอกสารข้อมูลทางเทคนิคของ Microchip ได้รับความต้องการเป็นอย่างมาก IMO แต่ขึ้นอยู่กับว่าคุณกำลังดูตลาดใด
Chintalagiri Shashank

@ChintalagiriShashank - ละเว้นอุปกรณ์ต่อพ่วงอื่น ๆ และเพียงแค่ดูขนาดแฟลชและหน่วยความจำมีข้อเสนอ ARM ที่มีการแข่งขันอย่างเป็นธรรมด้วยเช่น ATMEGA328p และอย่าสับสนกับบายพาสตัวพิมพ์ใหญ่ สำหรับหนึ่งแทนทาลัมสามารถทำให้รู้สึกเป็นตัวกรองอุปทาน แต่หมวกบายพาสที่เกิดขึ้นจริงมีค่าต่ำกว่าแหล่งอ่างเก็บน้ำในท้องถิ่นสำหรับความต้องการเปลี่ยนความถี่สูงและเพื่อให้สามารถเซรามิกส์ SMT ราคาถูก นอกจากนี้สิ่งที่ผลักดันความต้องการคือสัญญาณนาฬิกาและความถี่ในการสลับ I / O - ด้วยอัตราสัญญาณนาฬิกาที่เทียบเท่ากัน ARM จะไม่จำเป็นต้องใช้ตัวกรองบายพาสที่แนะนำทั้งหมด
Chris Stratton

12

เหตุผลส่วนหนึ่งที่ทำให้ชุมชนสนใจขนาดใหญ่ใน Arduino นั้นเป็นมาตรฐานทางกายภาพ เนื่องจากรูปแบบทางกายภาพมีความสับสนโดยรวมถึงตัวเลือกการขยายที่ได้มาตรฐานผู้พัฒนา Arduino อนุญาตให้ผู้ใช้สร้างโซลูชันของตนเองขึ้นมา หากคุณต้องการแทนที่บอร์ด Arduino พื้นฐานด้วยบอร์ดอื่นที่ใช้ไมโครคอนโทรลเลอร์ตัวอื่นคุณสามารถทำได้ IIRC มีบางคนสร้างบอร์ดแบบ PIC ที่ใช้ Arduino form-factor แล้ว ( บอร์ด PIC Ardunioไม่มีรูปแบบเดียวกัน แต่มีความคล้ายคลึงกัน)

อีกเหตุผลหนึ่งที่ทำให้ Arduino ประสบความสำเร็จก็คือการเปิดกว้างส่วนใหญ่ของไมโครคอนโทรลเลอร์ PIC ที่ใช้ปิดตัวลง พวกเขาใช้การปรับใช้ฮาร์ดแวร์ที่เป็นกรรมสิทธิ์ดังนั้นหากคุณต้องการออกแบบบอร์ดให้เหมาะกับพื้นที่เฉพาะคุณดีกว่า พวกเขาใช้เฟิร์มแวร์ที่กำหนดเองและเครื่องมือในการพัฒนาที่เป็นกรรมสิทธิ์ดังนั้นถ้าคุณมีข้อบกพร่องหรือต้องการขยายขีดความสามารถคุณก็โชคไม่ดี ด้วย Arduino ทุกชิ้นส่วนของปริศนาจะเปิดขึ้น: คุณสามารถซื้อชิ้นส่วนได้ทุกที่จัดเรียงใหม่ตามที่คุณต้องการปรับปรุงหรือแก้ไขเฟิร์มแวร์และเครื่องมือในการพัฒนา คุณสามารถเริ่มต้นง่ายๆด้วย Arduino IDE แต่คุณยังสามารถเปลี่ยนเป็น C หรือแอสเซมบลีเมื่อใดก็ได้ที่คุณต้องการ

โดยส่วนตัวแล้วฉันชอบ Arduino เพราะมันได้รับสิ่งต่าง ๆ มากมาย 'ถูกต้อง': มันไม่แพงเกินไปมันไม่ได้ถูกล็อคไว้ในเครื่องมือที่เป็นกรรมสิทธิ์มันเริ่มต้นได้ง่ายมีความสามารถมากมายและมีชุมชนผู้ใช้ขนาดใหญ่ ซึ่งยังคงขยายและทำสิ่งต่าง ๆ ให้เรียบร้อย


1
คุณแสดงเหตุผลที่ดีมากที่ผู้ควบคุมงานไมโครคอนโทรลเลอร์เช่น Arduino แต่คำถามคือเกี่ยวกับ ARM vs AVR Arduino ถูกกล่าวถึงเนื่องจากการตัดสินใจเลือกซีรีย์ AVR ของ MCUs สำหรับการนำไปใช้งาน ฉันคิดว่าคำตอบที่เกี่ยวข้องเพิ่มเติมอยู่ด้านล่างโพสต์ของคุณ ตัวอย่างเช่นความจริงที่ว่า Atmel รองรับชุด AVR กับคอมไพเลอร์ C อย่างไรก็ตามข้อมูลที่ดีสำหรับคนที่ไม่คุ้นเคยกับ Arduino อย่างไรก็ตาม
ozmo

7

ข้อได้เปรียบที่สำคัญของ ATmel uCs คือมีคอมไพเลอร์ฟรีสำหรับ Linux, PC และ Mac เพิ่มไปที่ GUI ข้ามแพลตฟอร์มที่เรียบง่ายและคุณมีระบบการพัฒนาฟรีที่ทำงานบนแพลตฟอร์มทั้งหมด

ค่าใช้จ่ายเป็นปัจจัยสำคัญสำหรับบอร์ดงานอดิเรก เนื่องจากคุณต้องการมีราคาเริ่มต้นในช่วง $ 30 คุณจำเป็นต้องมีต้นทุน uC ที่ไม่เกินสองดอลลาร์

ARM จะเป็นตัวเลือกที่ยอดเยี่ยมสำหรับบอร์ดระดับสูง บริษัท หลายแห่งอนุญาตให้ใช้งาน ARM core และเพิ่มอุปกรณ์ต่อพ่วง ฉันเชื่อว่ามีคอมไพเลอร์ฟรีสำหรับ Linux, PC และ MAC

ฉันชอบ Freescale Coldfire สำหรับกระดานระดับสูง ฉันทำงานบนกระดานเพื่อทดสอบอุปกรณ์ที่ใช้ 5206e เราได้เพิ่มตัวแปลง DRAM และตัวแปลง A / D และ D / A ที่มีความแม่นยำสูง มันเป็นโซลูชันที่คุ้มค่า ฉันไม่ได้เปรียบเทียบ Coldfire กับแขนที่หลากหลายของเมื่อเร็ว ๆ นี้

uCs Freescale 8 บิตบางตัวดี แต่ฉันไม่แน่ใจว่าพวกเขามีเครื่องมือฟรีหรือไม่


4
ขอขอบคุณสำหรับความคิดเห็นที่เป็นประโยชน์ แต่ 'ลายเซ็น' 8 บรรทัดนั้นค่อนข้างสุดเหวี่ยงเว็บไซต์ที่ใช้สแต็คโอเวอร์โฟลว์เหล่านี้มีแนวโน้มที่จะดูโฆษณาของคุณเองในคำตอบของคุณ
davr

5
@jluciani หากคุณต้องการโฆษณาเว็บไซต์อื่น ๆ ของคุณให้ใส่ลิงค์ในโปรไฟล์ของคุณไม่ใช่คำตอบของคุณ หลังจากที่ทุกบล็อกของคุณไม่ได้เป็นคำตอบนี้คำถาม ...
เครกซื้อขาย

5

ฉันเห็นด้วยกับแพคเกจจุ่มไม่เห็นด้วยว่าแขนนั้นยากที่จะกำหนดค่า lpcs เป็น แต่พวกเขาไม่ใช่เด็กคนเดียวในบล็อคแขน (atmel ตัวเองสำหรับเรื่องนั้น) จากสิ่งที่ฉันจำได้และมีประสบการณ์ Atmel เคยเป็นและอาจจะยังคงเป็นมิตรกับนักพัฒนามากกว่า AVR ผีเสื้อช่วยให้ผู้ใช้สามารถเพิ่มฐานผู้ใช้ที่มีขนาดเหมาะสมและมีความสุขได้อย่างมาก PIC นั้นเจ็บปวดในหลาย ๆ วิธีเครื่องมือ avr อยู่ที่นั่นการเขียนโปรแกรมเป็นเรื่องง่ายและไม่เสียค่าใช้จ่ายใด ๆ กับคุณมากกว่าสายไฟและตัวเชื่อมต่อจากกระท่อมวิทยุ เครื่องมือมีและฟรี แต่ไม่ง่ายเหมือน gcc ฉีดที่คุณพบแขนและนิ้วหัวแม่มือแก้ปัญหา นานก่อนที่อาร์ดิโนจะออกมา AVR เป็นชิปตัวเลือกสำหรับโครงการงานอดิเรก

ไม่มีอะไรสามารถแข่งขันกับ ARM ได้ในตอนนี้ สำหรับตัวประมวลผลอื่น ๆ ที่คุณสัมผัสในหนึ่งวันคุณต้องแตะแขนสองสามตัวเป็นอย่างน้อย สำหรับเกือบทุกอย่างที่คุณสัมผัสใช้ ARM มันเป็นแบบธรรมชาติในฐานะนักฆ่า 8 บิตสามารถรับประสิทธิภาพที่ดีกว่า 8 บิตสำหรับขนาดราคาและอื่น ๆ เครื่องมือดีกว่ามากชุดคำสั่งนั้นสะอาดกว่าคู่แข่งส่วนใหญ่ดังนั้นโค้ดเดียวกันจึงรัน เร็วกว่ามาก ฯลฯ เพราะทุกคนและพี่ชายของพวกเขาสามารถฝัง ARM ได้และมันไม่ได้ถูกล็อคเข้ากับ บริษัท อย่าง pic, avr, msp430 มีวิธีแก้ปัญหาที่หลากหลายและหลากหลายวิธีในการจัดการกับไมโครคอนโทรลเลอร์ rom / ram ผสม และตารางเวกเตอร์ขัดจังหวะ น่าเศร้าที่วิธีแก้ปัญหาที่นิยมมากที่สุดคือความเจ็บปวด ลอง sam7 หรืออะไรทำนองนั้นหรือ stellaris

มันไม่ได้เป็นตัวประมวลผลที่เป็นปัญหาเสมอไป, ชิปบางตัวได้รู้จักกันดีว่าปัญหาบางตัวมีปัญหาอื่น ๆ ที่รู้จัก บางคนอาจไม่ได้เปิดตัว pin สะสม io ที่มีแรงดึงขึ้นต่ำและคุณจะต้องใส่ฮาร์ดแวร์นอกชิพเพื่อเชื่อมต่อกับบางสิ่งบางอย่างที่อื่นอาจมีที่มีอยู่ในหมุดหนึ่งหรือทั้งหมด ฉันแนะนำให้สุ่มตัวอย่างฟิลด์ลองใช้ บริษัท และวิธีแก้ไขปัญหาต่าง ๆ เพื่อที่ว่าเมื่อคุณต้องการพลังงานต่ำคุณสามารถใช้ msp430 ได้อย่างง่ายดายคุณต้องการพลังการประมวลผลในชิปขนาดเล็กที่คุณใช้งานด้วยแขนหรือถ้าคุณต้องการทำโครงการเปิดที่คุณหวัง คนอื่น ๆ จะสร้างในโรงรถของพวกเขาคุณต้องอยู่บนพื้นฐานของอาร์ดิโนถ้าคุณทำได้

บรรทัดล่างสำหรับคำถามของคุณนั้นขึ้นอยู่กับแอปพลิเคชันของคุณและวิธีที่คุณเขียนและประสิทธิภาพและทรัพยากรที่คุณสนใจเช่นเดียวกับที่ gcc หรือ firefox จะทำงานบนแพลตฟอร์มและโปรเซสเซอร์ที่แตกต่างกัน เขียนแอปพลิเคชัน C ของคุณเพื่อทำงานบนไมโครคอนโทรลเลอร์หลากหลายรูปแบบ ... IF... คุณมีเลเยอร์นามธรรมเฉพาะของไมโครคอนโทรลเลอร์ซึ่งมีค่าใช้จ่าย หากตัวควบคุมขนาดเล็กมีคุณสมบัติที่คล้ายกันมากพอและมีคุณสมบัติที่คุณต้องการและคุณวางแผนล่วงหน้าและนำมารวมเข้าด้วยกัน หากแพลตฟอร์มถัดไปมีหน่วยความจำ / ทรัพยากรเพียงพอ คุณมีความสนใจในการพกพามากกว่าประสิทธิภาพ ฯลฯ คุณต้องวางแผนล่วงหน้าก่อน หรืออย่างน้อยในสวิตช์แรกจาก A ถึง B คุณออกแบบซอฟต์แวร์ใหม่หาก / เมื่อมีสวิตช์ที่สามจาก B ถึง C มันจะเจ็บปวดน้อยกว่า


ไม่มีอะไรสามารถแข่งขันกับ ARM ได้ในตอนนี้ <- ในอุตสาหกรรม ในโลกของงานอดิเรก AVR ยังคงแข็งแกร่งอยู่และจะใช้เวลานาน
Kevin Vermeer

ตกลงอย่างแน่นอนว่าโลกหนึ่ง avr นั้นเป็นที่นิยมอย่างบ้าคลั่งและอีกโลกหนึ่งซึ่งเป็นผลิตภัณฑ์ที่เราซื้อการสัมผัสและการใช้งานซึ่งเงินอยู่ที่ไหนมันเป็นอย่างอื่น ดังนั้นเพื่อความสนุกที่บ้านเรียนรู้เรื่องหนึ่งสำหรับงานประจำวันของคุณเรียนรู้เรื่องอื่นและได้เล่นทั้งวันและตลอดทั้งคืน
old_timer

4

ฉันรู้ว่าคุณพูดว่า "นอกเหนือจากราคา" แต่จริงๆแล้วนั่นเป็นสิ่งที่สำคัญที่สุดสำหรับมือสมัครเล่น คุณไม่จำเป็นต้องมีมากกว่าหนึ่ง UART หรือมากกว่าหนึ่ง SPI ในสิ่งที่หมายถึงเป็นแพลตฟอร์มทั่วไปราคาถูก เมื่อคุณเริ่มต้องการความเร็ว> 20mhz คุณควรดูการตั้งค่าแบบกำหนดเอง (แน่นอน ymmv)


3

สองประเด็นเล็ก ๆ ที่ไม่ได้กล่าวถึงในความคิดเห็นอื่น ๆ :

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

  • ด้วยการกำหนดเป้าหมายกรณีการใช้ขนาดเล็กนี้ทุกสิ่งจะง่ายขึ้นไม่ว่าจะเป็นจำนวนพินส่วนประกอบสนับสนุนการใช้พลังงานเป็นต้น

ที่กล่าวว่าสำหรับกรณีการใช้งานเป้าหมายของ Arduino มันไม่เหมือนที่คุณกำลังกระแทกมัน โปรเซสเซอร์ 16MHz นั้นน่ากลัวมากสำหรับนาฬิกาปลุกของคุณพร้อมไฟ LED ในล่า (หรืออะไรก็ตาม :)


2

Arduino มีให้ในโปรเซสเซอร์อื่น ลองดู ChipKit จาก Microchip ที่ใช้ PIC 32


ขออภัย Olin ชื่อเป็นความพยายามที่ไม่ถูกต้องในการแก้ไขคำถามที่ทำจากเนื้อหา มันควรจะถูกต้องมากขึ้นในขณะนี้
clabacchio

1

ลองครั้งที่สอง (ชื่อโพสต์ดั้งเดิมและคำถามจาก +3 ปีที่ผ่านมาเปลี่ยนไปตั้งแต่คำตอบเดิม):

ไก่และไข่ แต่โดยเฉพาะอย่างยิ่งในช่วงไม่กี่ปีที่ผ่านมา (2007 ARM เปิดตัวสถาปัตยกรรม Cortex-M) MCU แบบ 32 บิตได้รับความนิยมเพิ่มขึ้นและผู้ขายได้รับความนิยมมากขึ้นในการเข้าถึงชุมชน EE ได้เร็วขึ้นและง่ายขึ้น บิตไมโคร (เครื่องมือ sw ที่ดีกว่าเครื่องมือฟรีตัวอย่างเพิ่มเติม ... )

ในฐานะที่เป็น Atmel พร้อมด้วยอุปกรณ์อื่น 100 ข้อเสนออุปกรณ์ Cortex-M เช่นกันและได้อัพเกรด toolchain เพื่อรองรับ AVR เป็น ARM รวมถึงความสัมพันธ์ที่ยาวนานทำให้เส้นทางการอัพเกรด Arduino ได้รับ (?) แต่ทางเลือกที่ปรากฏขึ้นและดูเหมือนจะเกี่ยวข้องกับความพยายามทางเลือกเพื่อให้ได้ส่วนแบ่งของเค้ก "hobbyyist": เช่น mbed โดย NXP / ARM และเมื่อเร็ว ๆ นี้ "CoAction Hero": บอร์ด ARM Cortex-M3 ARM Cortex-M3 32 บิตบน KickStarter .

ความคิดสุดท้าย, 3 ปีหลังจากคำถามเริ่มต้น: เมื่อผู้ขายทุกรายเสนอคอร์เท็กซ์ Cortex-M แบบ 32 บิต - ตอนนี้ Arduino สามารถกลายเป็นไม่ใช่แอทเมลได้หรือไม่?

คำตอบเดิม: Alf-Egil Bogen หนึ่งในผู้ร่วมก่อตั้ง Atmel AVR ดูที่พื้นหลังบางส่วนสำหรับการย้ายของอุตสาหกรรมจากแกน ARM 8 บิตเป็น 32 บิตในบล็อกวิดีโอของเขาที่นี่http: //blog.energymicro co.th / 2013 / 24/04 / avr2arm /

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.