电子说
步骤1:功能和零件
*来自usbtiny isp的编程逻辑,成熟的avr-dude支持
*小占用空间
*最少的组件
*为目标设备供电
请注意,目标mcus的io线不受保护。您可以根据框架http://www.v-usb上的工作,在SCK和MOSI上添加1k-2k电阻,以防止可能的错误连接
引用
.obdev.at/vusb/
usbtiny isp http://www.xs4all.nl/~dicks/avr/usbtiny/
零件清单
* attiny45/85(85 )更容易实现)
* 3.6v齐纳二极管(1n747,BZX79,。.避免使用1W类型)
* 68ohm电阻x 2
* 1.5K电阻
*迷你面包板170结点
* usb电缆(美元商店的usb打印机电缆很好)
* 1k/2k电阻,用于io线路保护(可选)
需要工具
*一个工作的AVR编程器(是的,这是一个陷阱22,我们需要一个来实现)
*正常工作的avr编程环境
步骤2:面包板布局,原理图和构造
构造
*遵循面包板布局,可能没有组件,3个电阻器,2个二极管,1个盖帽和一个8针的单片机。
*得到一个美元lar shop usb打印机电缆切断了打印机的一端,将有4条裸露的电线,固定并使其成为4针公接头,我们将用它来连接面包板。请查阅原理图以了解布局和引脚分配(J1)。
*注意二极管的极性。
构建并刷新项目
该项目是内置有带有avr-gcc工具链的linux ubuntu透明框。假设您已经有这样的环境,或者您可以从互联网上找到如何进行设置的方法。源代码是从继承许可的gnu gpl v2。
源代码遵循v-usb推荐的约定,您可以下载源软件包vusbtiny.tgz并解压缩到项目目录中。在您的源目录中,有一个main.c,这是我修改过的usbtiny程序员的版本。还有一个usbdrv子目录,其中包含v-usb层。在构建时,请遵守上述两个项目的许可条款。我关于程序员逻辑的资料是基于Dick Streefland版本而不是ladyada版本(尽管它们几乎相同)。
对于那些没有构建太链的人,可以使用以下代码二进制
单击下载vusbtiny.hex
并使用avrdude来刷新固件
avrdude -c usbtiny -p t45 -e -V -U flash:w :usbtiny.hex
(如果您的设备是tiny85,请在此处下载-p t45 w/-p t85)
源文件
点击下载vusbtiny.tgz
将源程序包保存到工作目录中
tar -zxvf vusbtiny.tgz
*做cd vsubtiny,更改为vusbtiny工作目录
*根据要使用的芯片为目标设备调整makefile。即PROGRAMMER_MCU = t45或t85
*做make
*附加您喜欢的ISP程序员
*修改makefile并在需要时更改您的avrdude参数。当时的股票是USBTiny程序员。即AVRDUDE_PROGRAMMERID = usbtiny
*通过make install刷新固件
刷新固件后,我们需要正确设置保险丝,在此项目中将引脚1重置为io
* v-usb层要求用于USB定时的ppl时钟
*禁用复位引脚,因为我们需要将其用作io
avrdude -c usbtiny -p t45 -V -U lfuse:w :0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m
此设置禁用了通过5V SPI的进一步编程,因为我们需要IO的RESET引脚(pin1)。您将需要联系HVSP程序员来恢复保险丝。
步骤3:用法和应用
直接在面包板上闪烁
如果您正在使用vusbtiny闪烁8针AVR设备,则只需将目标设备按在编程器顶部即可设备。编程器的设计使编程引脚与目标引脚匹配。虽然有一个技巧,但是您需要隔离编程器mcu上的引脚2和3,因为它们是连接到PC的USB D +和D-引脚。我使用透明胶带切割以实现此目的,您可以在照片上看到它。下面显示的是在tiny45上的tiny13v“骑乘”,准备接收固件。
ISP通过跳线闪烁
以通过ISP编程目标电路(系统内编程),则需要ISP电缆。在这里,我没有使用标准的2x3或2x5排针。取而代之的是,我使用的1x6跳线对面包板更友好,您可以通过将它们映射到J2来制作2x3或2x5引脚接头,如面包板布局和示意图所示。下图显示了一个tiny2313准备通过ISP进行刷新。
故障排除
*无法刷新固件?检查您的原始程序员,可能需要通过avrdude中的-B标志来调整时间。尝试读取芯片1st,可能是保险丝坏了,可能是您的芯片需要外部时钟信号。您可能需要将芯片重新设置为默认的第1个。
*如果使用不同的io引脚,检查代码和连接,请检查连接
**您可以用500mw,400mw类型的齐纳二极管替换
*您可以尝试将R3值减小到1.2K或更小
*您更有可能遇到avrdude的计时问题,请尝试-v标志avrdude,使用较短的USB电缆都有帮助
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !