使用带Arduino IDE & WIZ820io的ATmega1284P

使用带Arduino IDE & WIZ820io的ATmega1284P

2013/07/04 | Filed under:   IO模块 and tagged with:   arduino,   Arduino IDE,   atmega1284p,   RAM问题,   W5200,   WIZ820io 1 Views

atmega1284p_wiz820io1-300x174

当你在标准的Arduino上使用ATmega328时发现,如果你的项目资源用尽了,或许是IO,RAM再或者是flash,你可能会想升级到足够好的ATmega2560P。但是maniacbug中指出,有另一个选择:在很多情况下,使用ATmega1284P会更好!

与329P相比,1284P多了9个数字IO引脚,多了2个模拟引脚,一个额外的中断,一个额外的UART,还多了3K的EPROM,但真正的闪光点是128K的flash(328P是32Kflash),巨大的16K RAM,328P仅有可怜的2K,甚至击败了2560P的8K。而且它并不比328P贵很多,还比2560P便宜一点。

自从maniacbug发布之后,我就得知了这些。特别是建立基于网页的Nanode进行红外线远程控制时,我遇到了RAM的问题,尽管我考虑使用另一个W5100以太网插板但还没有时间做。然而最近WIZnet WIZ820io SPI以太网模块(基于W5200)突然出现,看到 @andrewdlindsay and @stuartpoulton提到他们在1284P上使用了WIZ820io,我就想试一下。在英国买到她们并不容易,但我足够幸运,发现有人在eBay上以19.95英镑的价格在出售,果断抢购了一个。

让它运行非常容易。

首先,弄到Arduino的 maniacbug’s mighty-1284p core ,解压到名为~/sketchbook/hardware/mighty-1284p/位置中。

启动Arduino IDE,你会发现在Tools>Board菜单下有一些新的条目。我们关心的是 “Mighty 1284p 16MHz using Optiboot

Bootloader(引导装载程序)

接下来我们需要在1284P上得到一个bootloader,我用一个Arduino 作为ISP编译器,就像用ATtiny,连接如下:

ArduinoATmega1284P
5V Pin 10
GND Pin 11
D10 Pin 9
D11 Pin 6
D12 Pin 7
D13 Pin 8

你也需要在引脚12&13之间放一个16MHz的晶振,并且通过一个22pF的陶瓷电容将其接地。

下载ArduinoISP样码(Arduino1.0.1提供的例子好像就可以工作)到你的Arduino上,然后进入Tools>Board菜单,设置板子为“Mighty 1284p 16MHz using Optiboot”,然后使用Tools > Burn Bootloader将bootloader稍写到1284P上。

你可以断开连接Arduino,但保持水晶头连接。

下载样码

现在我们需要一个FTDI连接器来将样码下载到芯片,连接一个6引脚的接头,如下:

FTDIATmega1284P
DTR Pin 9 via 0.1uF capacitor
& a 10K pull up between
the capacitor and pin 9
RXI Pin 15
TXO Pin 14
VCC Pin 10 & Pin 30
CTS Not used
GND Pin 11 & Pin 31

同时在VCC和GND之间接一个0.1pF的电容。如果你有什么不清楚的地方,可以参考maniacbug’s schematic.我注意到FTDI CTS引脚也接地了,但是我没发现任何FTDI的连接是必要的,所以我让它断开了。

连接一个FTDI的引线/适配器,你可以用正常的方式上传样码。注意用于IO引脚的绘图已经在 maniacbugs blog post上有了。

你可能会发现在我的图片中,在FTDI连接上有一些不同,实际上我用了一个小板子,那是我为之前的项目做的,它有一个3V3的调节器,滤波电容,用于复位线的上拉电阻。我只用了它因为它就在手边,且无论怎样我都需要一个3V3的用在WIZ820io上。如果你想做一个,就是this stripboard layout中左面的那个小板子(注意输出的引脚更改顺序),很多时候用于快速圆形开发都很有用~

WIZ820io SPI 以太网模块

这就是我们需要3V3的地方,WIZ820io模块的IO可以承受5V电压,但是需要3.3V供电,所以你还需要一个3V3的FTDI引线,某种调节器的设置像我用的一样,用一个调节器给820io模块供电。

除此之外,都很容易,连接如下:

WIZ820io ATmega1284P
GND GND
VIN 3.3 3V3
nSS Pin 5
MOSI Pin 6
MISO Pin 7
SCKJ Pin 8

820io

你可以使用标准的Arduino以太网库来交换一些文件,但对于我来说有点乱,最好使用修改版本。就这样!很简单吧!

原文翻译自:

http://nathan.chantrell.net/20120811/using-the-atmega1284p-with-the-arduino-ide-wiz820io/

——————————————————————————————————————————————–

WIZ820io可以说是WIZnet推出的一款革新产品,通过高速SPI接口连接WIZ820io和主板上的MCU,结合MAG-JACK (RJ45 with X’FMR)-即内含变压器的RJ-45,采用了 “胶连逻辑”单元构成了高集成度的设计方案。

直插的小巧网络模块设计,W5200位于MAG-JACK下面,采用隐藏式设计,了解W5200的都知道,采用全硬件TCP/IP协议栈,减轻IP层,网络层负担,易移植、高集成、高效率、低功耗、高质量的特点能够让W5200得到更多的工程师及企业认识、进而认可。

by Katrina

感谢您的阅读!欢迎与我更多交流:katrina@wiznet.co.kr

 

posted @ 2013-07-04 19:29  爱生活,爱编程  阅读(755)  评论(0编辑  收藏  举报