Коновалов Дмитрий Александрович (ДАК)
Реализация AVR309_USB в среде Algorithm Builder
Программная реализация протокола USB.
Может работать в составе AVR-микроконтроллеров с малым объемом памяти, от 2 кбайт.
USB ATtiny2313
Исходный файл прошивки USBtiny2313.asm был построчно перенесён в среду Algorithm Builder (AB) с учётом её синтаксиса и особенностей. Перенесены также все оригинальные комментарии Игоря.
В этой прошивке реализованы функции:
- Непосредственное управление линией ввода-вывода;
- Преобразователь USB - RS232;
- Запись – чтение EEPROM.
Более подробно все описано в оригинальном документе AVR309 (имеется перевод: http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm).
Схема устройства, на которой проверялась работоспособность прошивки, представлена на рис.1.
В ATtiny2313 прошивка AVR309 занимает почти всю программную память и для дополнительных функций места практически не остаётся. Микропроцессор ATmega8A в этом смысле более интересен, так как имеет 8 Кбайт программной памяти, 512 байт EEPROM и 1 Кбайт оперативной памяти SRAM при одинаковой стоимости. Для этой микросхемы Игорь Чешко также разработал прошивку. От прошивки для ATtiny2313 она отличается увеличенным буфером FIFO RS232, порт RS232 работает в режиме Double speed (тактируется удвоенной частотой), а для дополнительных функций остаётся более 2/3 программной памяти.
Прошивка для ATmega8 была портирована в среду AB, скорректирована для тактовой частоты 16 МГц и дополнена функцией вывода на LCD. На LCD выводятся символы, посылаемые на RS232 (в функции DoRS232Send).
| AVR309 - Algorithm Builder/ AT90S2313/ | - прошивка для AT90S2313 12МГц (АВ) |
| AVR309 - Algorithm Builder/ ATtiny2313/ | - прошивка для ATtiny2313 12MГц (АВ) |
| AVR309 - Algorithm Builder/ ATtiny2313_16MHz/ | - прошивка для ATtiny2313 16МГц (АВ) |
| AVR309 - Algorithm Builder/ ATmega8_16MHz/ | - прошивка для ATmega8 16МГц (АВ) |
| AVR309 - Algorithm Builder/ ATmega8_LCD_16MHz/ | - прошивка для ATmega8 16МГц c LCD (АВ) |

