我已经在ATMega上进行了一些开发,并且希望拓宽我的视野。我有几个Cortex M4系列芯片,想要使ARM等效于Breadboarduino
我计划蚀刻自己的电路板,或者将分线板用于ARM,其余部分用于面包板。最少组件的参考或示意图将不胜感激。
是否有足够的资源来确定运行ARM芯片所需的最少组件,最好是对它们进行编程?
更新:
我愿意接受其他硬件建议。以下是我目前正在尝试使用的芯片:
我已经在ATMega上进行了一些开发,并且希望拓宽我的视野。我有几个Cortex M4系列芯片,想要使ARM等效于Breadboarduino
我计划蚀刻自己的电路板,或者将分线板用于ARM,其余部分用于面包板。最少组件的参考或示意图将不胜感激。
是否有足够的资源来确定运行ARM芯片所需的最少组件,最好是对它们进行编程?
更新:
我愿意接受其他硬件建议。以下是我目前正在尝试使用的芯片:
Answers:
这实际上取决于您使用的芯片-您未指定要购买的芯片。通常,您至少需要一个晶振,去耦电容和复位逻辑。编程接口可以是简单的JTAG接口。
但是所有这些都应在芯片数据表中说明。
更新(针对STM32F407):
查看数据表中的以下页面
您将不需要复位电路(已集成-参见第23页)或振荡器(启动时已选择集成的16MHz振荡器,请参见第22页)。所以使用LQFP144接口板(就像从一个futurlec(参见下页)可能真的是不够的。
您还可以查看STM32F4DISCOVERY电路板的原理图(请参见其用户手册,第33页。所看到的是基本电路-甚至包含外部晶体。
您确定要对Cortex-M4这样做吗?与AVR相比,这是一个巨大的飞跃,我看不到您将如何利用其提供的所有功能。要开始使用Cortex-M4,通常要采用大包装,入门级部件通常需要80多个引脚,并且200+也不例外,请考虑使用QFP或BGA。是否要制作一个带有两排40针的面包板?
Cortex-M4还设计用于高速:通常为120 MHz至200+ MHz。好的,如果您使用片上PLL,则可能不需要为这些速度设计PCB。但是,诸如USB或以太网之类的外围设备呢?
当然,您可以以较低的速度运行它,而忽略了许多片上功能,但是我想知道开始使用Cortex-M4有什么用。我认为Cortex-M3甚至-M0更适合作为开始。我不想让你灰心,我想保持现实。
如果您确实想继续使用Cortex-M4,则可以使用最少的外部硬件。例如,NXP LPC407x具有一个内部RC振荡器,它是复位时的默认振荡器,因此您甚至不需要晶体。复位电路和正确的电源去耦将是您启动和运行它所需要的。
对于Cortex-M0,NXP LPC111x可能值得一看。当然,它没有很多内存,但是它以DIL-28软件包提供,这对于ARM来说是很少的。另外,您也可以使用LPCXpresso之类的开发板,
其中右半部分是应用板,可以与LPC-link分开。如您所见,应用程序几乎不需要任何外部硬件。而且,如果您在其上焊接一组接头,则可以将其插入面包板上。
正如史蒂文(Steven)所说,从8位微控制器向ARM迈出了很大的一步,因此,期望在此过程中花费大量的学习时间。
我也不会为您的第一个ARM选择M4,只是因为它的推出时间不长,并且那里的支持/信息较少。我认为M3或M0是更好的选择,并且将继续发展下去。
您当然可以制作自己的开发板,但最好先抢购一个小型/廉价的开发板。从开发的角度来看,有很多选择,从免费的(Eclipse + GCC + OpenOCD)到昂贵的(Keil,Rowley等),我个人使用Raisonance Ride7 IDE和STM32系列ARM M3 / M4s的工具,价格便宜一些比Keil / Rowely还要好。
看一下ST,Olimex等人提供的简单开发板之一。该开发板包含了我能找到的STM32 Cortex-M3 最简单的原理图。
该阿尔杜伊诺由于应该很快就会出来:
芯片是Atmel 的SAM3X8 Cortex-M3。如果您已经熟悉Arduino样式板和Atmel样式文档,则可能值得等待。而且由于它将是满足Arduino要求的开放源代码,因此您当然可以在面包板上双重使用它。
许多ST部件至少在不使用USB收发器的情况下也可以利用其内部高速振荡器运行。
基本上,这意味着您的“电路”由旁路帽和一些电阻组成,如复位和SWD接口上的终端。
ST的$ 8-10评估板将对您通过SWD总线放置在自己板上的零件进行编程;也有针对它们的开源工具,因此您可以将编程操作直接放在Makefile中。
在48 PQFP中使用某些东西可能会使您第一次尝试董事会生活变得更轻松。您可以在不放大的情况下组装它们(只需用细编织物固定桥,您可能会在每侧创建一个或两个),但是要用放大镜检查您的工作会有所帮助。