ความต้องการวงจร ARM ที่น้อยที่สุด


13

ฉันได้พัฒนาบางอย่างกับ ATMega และฉันต้องการขยายขอบเขตของฉัน ฉันมีชิปซีรี่ส์ Cortex M4 สองชุดและต้องการสร้างแขนเทียบเท่ากับBreadboarduino

ฉันวางแผนที่จะกัดกระดานของตัวเองหรือใช้กระดานฝ่าวงล้อมสำหรับแขนและส่วนที่เหลือ Breadboard การอ้างอิงหรือแผนผังขององค์ประกอบขั้นต่ำจะได้รับการชื่นชมอย่างมาก

มีแหล่งข้อมูลที่ดีสำหรับการพิจารณาส่วนประกอบขั้นต่ำที่จำเป็นในการใช้งานและโปรแกรมชิป ARM หรือไม่?

UPDATE:

ฉันเปิดให้มีการแนะนำฮาร์ดแวร์ทางเลือก ด้านล่างเป็นชิปที่ฉันกำลังพยายามทำงานด้วย:


7
คุณสามารถบอกเราว่าคุณมีอุปกรณ์ใดบ้าง ลิงก์ไปยังแผ่นข้อมูลจะดีมาก
stevenvh

ฉันหวังว่ามันไม่ใช่แพ็คเกจ WLCSP ที่คุณต้องการกัด PCB ของคุณเองสำหรับ: ระยะห่าง 0.4 มม. BGA! : - /
stevenvh

@stevenvh ฉันไม่กล้าที่ มันเป็นแพ็คเกจ LQFP 144
ZnArK

1
ตรวจสอบซีรีย์ NXP LPC พวกเขา (ทั้งหมด) มีตัว bootloader อนุกรมในตัว lpc21isp เป็นเครื่องมือด้านพีซีที่ดี LPC1114 มีให้ใช้ใน DIP28! lpc1343 มีบูท - อิน usb (!) บูทโหลดเซอร์ (ซึ่งฟังดูดี แต่ค่อนข้างยุ่งยากในการใช้ IMO)
Wouter van Ooijen

1
@Wouter - ใช่ฉันยังค้นพบว่ากรมทรัพย์สินทางปัญญา (ดูคำตอบ) LPC1114 เป็น Cortex เพียงอย่างเดียวที่ไม่ว่าจะเป็นผู้ผลิตรายใดที่จดทะเบียนใน Digikey ที่มีอยู่ในกรม
stevenvh

คำตอบ:


9

ขึ้นอยู่กับชิปที่คุณใช้จริงๆ - คุณไม่ได้ระบุว่าคุณได้ชิปตัวไหน โดยทั่วไปแล้วคุณจะต้องมีคริสตัลอย่างน้อย decoupling caps และตรรกะการรีเซ็ต อินเตอร์เฟสการเขียนโปรแกรมอาจเป็นอินเตอร์เฟส JTAG แบบง่าย

แต่ทั้งหมดนี้ควรระบุไว้ในแผ่นข้อมูลชิป

อัปเดต (สำหรับ STM32F407):

ดูหน้าต่อไปนี้ในแผ่นข้อมูล

  • 23ff สำหรับแรงดันไฟฟ้าที่ต้องการ (1.8-3.6V ดังนั้นคุณต้องใช้ตัวควบคุม) และวิธีการใช้ตัวควบคุมภายใน (โดยการดึงพิน PDR_ON สูง)
  • 69ff สำหรับพิน
  • 69 + 74 สำหรับแผนการจ่ายไฟ (นี่คือหน้าเว็บที่น่าสนใจที่สุดเนื่องจากแสดงการเชื่อมต่อแหล่งจ่ายไฟและตัวเก็บประจุที่จำเป็น)

คุณไม่จำเป็นต้องใช้วงจรรีเซ็ต (รวมเข้าด้วยกัน - ดูหน้า 23) หรือออสซิลเลเตอร์ (ออสซิลเลเตอร์ในตัว 16MHz ถูกเลือกเมื่อเริ่มต้นให้ดูหน้า 22) ดังนั้นการใช้ LQFP144 breakout board (เช่นเดียวกับfuturlec (ดูที่ด้านล่างของหน้า) อาจจะเพียงพอจริง ๆ

คุณยังสามารถดูแผนผังของบอร์ด STM32F4DISCOVERY (ดูที่คู่มือผู้ใช้หน้า 33 สิ่งที่คุณเห็นมีวงจรพื้นฐาน - และยังมีผลึกภายนอก


ขอบคุณสำหรับข้อมูลของคุณ ฉันถามคำถามนี้เพราะแผ่นข้อมูลมีขนาดใหญ่และตรงไปตรงมาฉันไม่เข้าใจทุกอย่างในนั้น ฉันรู้ว่าทางออกที่แท้จริงจะได้รับปริญญา EE แต่อาชีพปัจจุบันของฉันและความรับผิดชอบอื่น ๆ ไม่ได้ทำให้ความเป็นไปได้ในขณะนี้ มีโครงการฮาร์ดแวร์แบบเปิดใด ๆ ที่จะมีวงจรของวงจร ARM ฉันมั่นใจว่าฉันสามารถแยกมันออกจากกันและสร้างโครงการที่ใช้งานได้
ZnArK

1
บอร์ดสาธิต STM ที่ลิงก์ด้านบนมาพร้อมกับแผนผังดังนั้นคุณสามารถเริ่มต้นด้วยสิ่งนี้ Olimex ไม่เช่นนั้นจะเปิดแผนงานของพวกเขาเช่นสำหรับบอร์ด M4นี้
hli

ฉันไม่ได้ตระหนักถึงสิ่งนั้น ขอบคุณสำหรับข้อมูล. มีประโยชน์มาก
ZnArK

10

คุณแน่ใจหรือว่าต้องการทำสิ่งนี้กับ Cortex-M4 มันเป็นการก้าวกระโดดครั้งใหญ่จาก AVR และฉันไม่เห็นว่าคุณจะใช้ประโยชน์จากคุณสมบัติทั้งหมดที่มีให้ได้อย่างไร เมื่อต้องการเริ่มต้นด้วย Cortex-M4 มักจะมาในแพ็คเกจขนาดใหญ่โดยทั่วไปแล้วจะมีมากกว่า 80 พินสำหรับชิ้นส่วนระดับเริ่มต้นและ 200+ ไม่ได้เป็นข้อยกเว้นคิด QFP หรือ BGA จะทำบอร์ดฝ่าวงล้อมที่มี 40 แถวสองแถวไปยังเขียงหั่นขนมหรือไม่?

Cortex-M4 ยังได้รับการออกแบบสำหรับความเร็วสูง: 120 MHz ถึง 200+ MHz ตามปกติ ตกลงคุณอาจไม่จำเป็นต้องออกแบบ PCB สำหรับความเร็วเหล่านั้นถ้าคุณใช้ on-chip PLL แต่สิ่งที่เกี่ยวกับอุปกรณ์ต่อพ่วงเช่น USB หรือ Ethernet?

แน่นอนว่าคุณสามารถรันด้วยความเร็วที่ต่ำกว่าและใช้ประโยชน์จากฟังก์ชั่นบนชิปได้มากมาย แต่ฉันสงสัยว่าการใช้ Cortex-M4 จะเริ่มต้นอย่างไร ฉันคิดว่า Cortex-M3 หรือแม้แต่ -M0 เหมาะสมกว่าที่จะเริ่มต้นด้วย ฉันไม่อยากทำให้คุณท้อแท้

หากคุณไม่ต้องการที่จะไปข้างหน้ากับ Cortex-M4 คุณสามารถทำกับฮาร์ดแวร์ภายนอกน้อยที่สุด อินสแตนซ์ของNXP LPC407xมี RC-oscillator ภายในซึ่งเป็น oscillator เริ่มต้นที่รีเซ็ตดังนั้นคุณไม่จำเป็นต้องมีคริสตัล วงจรรีเซ็ตและการแยกส่วนแหล่งจ่ายไฟที่เหมาะสมจะเป็นสิ่งที่คุณต้องการเพื่อเริ่มใช้งาน

สำหรับ Cortex-M0 NXP LPC111xอาจคุ้มค่าที่ได้ดู ได้รับมาแล้วมันไม่ได้มาพร้อมกับหน่วยความจำมากมายแต่มีให้ในแพ็คเกจ DIL-28ซึ่งหายากสำหรับ ARM หรือคุณสามารถใช้คณะกรรมการการพัฒนาเช่นLPCXpresso ,

ป้อนคำอธิบายรูปภาพที่นี่

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


ข้อเสนอแนะที่ดี ฉันไม่ได้ตั้งใจเรื่องการใช้ Cortex-M4 ฉันจะดูในรุ่น M3 / M0 ฉันจะตรวจสอบชิปและแพ็คเกจที่ฉันมีและอัปเดตคำถาม
ZnArK

1
ฉันได้ก้าวกระโดดจาก PIC18s ไปเป็น LPC2100s (นี่คือในปี 2008 โดยตอนนี้ ARM7 ถูกแทนที่โดย Cortex-M3) มันเป็นการก้าวกระโดดครั้งใหญ่ในด้านประสิทธิภาพ แต่มันก็ไม่ใช่การก้าวกระโดดครั้งใหญ่ในความซับซ้อนของฮาร์ดแวร์ในระดับบอร์ด
Nick Alexeev

1
@Nick - ฉันใช้ชิ้นส่วน LPC2000 หลายชิ้นด้วย แต่เหมือนคุณบอกว่ามันถูกแทนที่ด้วย Cortex-M3 Cortex-M4 เป็นลีกที่แตกต่าง
stevenvh

8

อย่างที่สตีเว่นกล่าวว่ามันเป็นการก้าวกระโดดครั้งใหญ่ของ ARM จากไมโคร 8 บิตดังนั้นคาดว่าการเรียนรู้ / เวลาที่ใช้ไป
ฉันจะไม่ไปหา M4 สำหรับแขนตัวแรกของคุณเพียงเพราะมันไม่ได้ออกมานานเกินไปและมีการสนับสนุน / ข้อมูลน้อยลงสำหรับมัน ฉันคิดว่า M3 หรือ M0 เป็นตัวเลือกที่ดีกว่าและจะได้รับมากมายด้วย

คุณสามารถสร้างบอร์ดของคุณเองได้ แต่มันจะดีกว่าถ้าคุณจะคว้ากระดาน dev เล็ก ๆ / ราคาถูกมาก่อน การพัฒนาอย่างชาญฉลาดมีตัวเลือกมากมายตั้งแต่ฟรี (eclipse + GCC + OpenOCD) ไปจนถึงราคาแพง (Keil, Rowley และอื่น ๆ ) โดยส่วนตัวฉันใช้ Raisonance Ride7 IDE และเครื่องมือกับซีรี่ส์ STM32 ARM M3 / M4s ซึ่งราคาถูกกว่านิดหน่อย ดีกว่า Keil / Rowely แต่ก็ดีพอ

ลองดูกระดาน dev ที่เรียบง่ายจากใครบางคนอย่าง ST, Olimex และอื่น ๆบอร์ด dev นี้มีวงจรที่ง่ายที่สุดที่ฉันสามารถหาได้สำหรับ STM32 Cortex-M3

ป้อนคำอธิบายรูปภาพที่นี่


ข้อเสนอแนะที่ดี ฉันมีบอร์ด dev อยู่ระหว่างทาง (Stellaris Launchpad) ฉันวางแผนที่จะทำความคุ้นเคยกับสิ่งนั้นก่อนทำบอร์ดของตัวเอง ฉันยังอัปเดตโพสต์ด้วยข้อมูลฮาร์ดแวร์
ZnArK

โปรดทราบว่าบอร์ดมีราคาประมาณ 3 เท่าของ ST
Chris Stratton

Launchpad ใหม่ล่าสุด @ChrisStratton ของ TI พร้อมใช้งานสำหรับ$ 5 การจัดส่ง มันอาจยังคงมีอยู่ ยากที่จะเอาชนะราคา
ZnArK

@ChrisStratton - ใช่ฉันเพิ่มมันลงในแผนผังแทนที่จะเป็นราคา (ไม่ได้ตรวจสอบด้วยซ้ำ) ฉันมีหนึ่งในบอร์ดค้นพบ STM32F4 พวกเขาราคาถูกมาก แต่ฉันคิดว่ามันอาจทำให้สับสนเล็กน้อยกับสิ่งพิเศษทั้งหมดที่อยู่ในนั้นและโปรแกรมเมอร์ STLink ออนบอร์ดที่ไม่มีการเชื่อมต่อ JTAG แบบ "มาตรฐาน" ยังน้อยกว่า $ 10 (หรืออะไรก็ตามตอนนี้) มันอาจคุ้มค่าที่จะคว้าหนึ่งในนี้เช่นกัน (อาจเป็นรุ่น M3 ดีกว่าที่กล่าวถึง)
Oli Glaser

สำหรับโครงการฝังตัวที่เรียบง่ายฉันพบ SWD 4 พินที่สะดวกกว่า jtag ในรูปแบบดั้งเดิมของผู้จำหน่ายล็อคในเครื่องมือมันอาจจะไม่ได้ แต่มีโซลูชั่นแบบเปิดสำหรับการพูดคุยกับอะแดปเตอร์ในขณะนี้
Chris Stratton

5

Arduino เนื่องจากควรจะออกค่อนข้างเร็ว ๆ นี้:

adruino ครบกำหนด

Chip เป็นCortex-M3 ของSAM3X8จาก Atmel อาจจะคุ้มค่ากับการรอคอยถ้าคุณคุ้นเคยกับบอร์ดสไตล์ Arduino และเอกสารสไตล์ Atmel แล้ว และเนื่องจากมันจะเป็นโอเพนซอร์ซเพื่อตอบสนองความต้องการของ Arduino คุณจึงสามารถใช้ประโยชน์จาก breadboard-duino ได้


ข้อเสนอแนะที่ดี ฉันรู้ว่านี่กำลังจะออกมา แต่ไม่คิดว่าจะใช้โมเดล aa นี้ ข้อเสนอแนะที่ดี
ZnArK

4

ฉันขอแนะนำให้คุณตรวจสอบMbedว่าเป็นอุปกรณ์ cortex-m3 ที่มีอุปกรณ์ต่อพ่วงที่ดีเพียงไม่กี่เครื่อง nxp มีคอมไพเลอร์และไลบรารีและไลบรารีชุมชนจำนวนมากเป็นวิธีที่ง่ายมากในการเขียนโปรแกรมและอยู่ในแพ็คเกจ ฉันคิดว่ามันจะเป็นวิธีที่ง่ายที่สุดในการเปลี่ยนจาก AVR เป็น ARM


2

ชิ้นส่วน ST จำนวนมากสามารถอย่างน้อยถ้าไม่ได้ใช้ตัวรับส่งสัญญาณ USB ให้วิ่งออกจากออสซิลเลเตอร์ความเร็วสูงภายใน

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

บอร์ดประเมินราคา 8-10 ดอลลาร์ของ ST จะเขียนโปรแกรมชิ้นส่วนที่คุณติดไว้บนบอร์ดของคุณเองบนรถบัส SWD; มีเครื่องมือโอเพ่นซอร์สสำหรับพวกเขาด้วยดังนั้นคุณสามารถทำให้การเขียนโปรแกรมดำเนินการได้ใน Makefile ของคุณ

ไปเพื่อบางสิ่งบางอย่างใน 48 PQFP อาจจะทำให้ชีวิตง่ายขึ้นเมื่อคุณพยายามกระดานแรก คุณสามารถประกอบสิ่งเหล่านี้ได้โดยไม่ต้องมีการขยาย (เพียงแค่ถักเปียแบบละเอียดเพื่อแก้ไขสะพานหรือสองอันที่คุณอาจจะสร้างต่อข้าง) แต่การมี loupe ที่พร้อมใช้งานเพื่อตรวจสอบงานของคุณจะเป็นประโยชน์


1
$ 8-10 จะไม่เป็น Cortex-M4 ฉันเดา คุณช่วยระบุส่วนไหนที่คุณคิดได้บ้าง? นอกจากนี้สำหรับแพ็คเกจ QFP-48 TIA
stevenvh

1
Cortex M3 ... พวกเขามีแนวโน้มที่จะสร้างแต่ละเวอร์ชั่นในหลาย ๆ แพ็คเกจซึ่ง QFP-48 จะเป็นวิธีที่ง่ายที่สุดในการทำงานด้วยมือ
Chris Stratton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.