Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Програмирование на Си микроконтроллера ATtiny 2313


Автор: Корабль 21.3.2007, 00:44
Всем привет!Хочу создать на форуме полноценный проект по программированию на Си микроконтроллера ATtiny2313. От проектирования и написания логики программы до программной реализации. Приглашаю как новичков (кем и являюсь сам  smile), так и опытных програмистов (для ещё большого углубления своих знаний). Задача стоит следующая, микроконтроллер от коленвал (механизм от которого к микроконтроллеру будет через порт поступать число оборотов/мин) принимает входной импульс, один на оборот коленвала, затем контроллер определяет частоту (период) входного сигнала и фиксирует момент появления сигнала как точку отсчета 0° или число оборотов в минуту, здесь я ещё не разобрался, потом сравнивает полученное значение об./мин. со значением в таблице которое будет хранится в EEPROM (http://www.tech-faq.com/lang/ru/eeprom.shtml) - Electrically Erasable Programmable Read-Only Memory (ещё незнаю в каком формате, массив или будет подгружаться их Exel'я). Таблица будет устроена следующем образом, одна колоночка об./мин. вторая угол (так называемый угол опережения зажигания), далее каждая из колонок разбивается для начала на 6-8 интервалов. Полученное значение угла передаётся через порт на устройство зажигания искры и через UART (http://www.providerz.ru/articles/rumodem/q3.html) - Universal Asynchronous Receiver/Transmitter (асинхронный передатчик данных) в форме user posted image (пока не знаю как такое реализовать) на интерфейс пользователя. Ну вроде в общих чертах обрисоавл задачу. 

Программа будет реализовываться на программном пакете AVR Studio 4 (http://www.rtcs.ru/comp/html/txt/soft/avr/astudio.htm), а компилятор для Atmel'овских МК будет WinAvR (http://myrobot.ru/downloads/winavr-20060421.php). Для внутрисхемного программирования (ISP) используется стандартный протокол SPI (MOSI, MISO, SCK). Протокол автоматически поддерживается программатором и никаких дополнительных средств от прикладной программы не требует.  

Для ознакомления с устройством микроконтроллера книга Шпака. Программирование на языке С для AVR и PIC микроконтроллеров (http://www.mirknig.com/2006/10/30/) 
Даташит на английском для ATity2313 (http://www.atmel.ru) 

Обозначения которые буду использоваться для написанияя псевдокода и самого исходника.

Входные параметры:
speed – скорость вращения коленчатого вала
Выходные сигналы:
ignithion – включение искрообразующего импульса, длительностью в один машинный цикл (возможен вариант многоискрового режима работы), цифровой выход (I/O общего назначения)

Обозначения (вводятся по мере необходимости): 
МК - микроконтроллер
об./мин. - оборотов в минуту
EEPROM -  электрически перезаписываемая энергонезависимая память
UART - асинхронный передатчик данных
SPI - (Serial Peripheral Interface) - это полнодуплексный скоростной синхронный трёхпроводной интерфейс (http://ntlib.chat.ru/avr/spi.htm)
MOSI - MOSI (Master Out, Slave In - вход ведомого, выход ведущего) (http://myrobot.ru/stepbystep/mc_programmer.php)
MISO - с аналогичного сайта
SCK - с аналогичного сайта

P.S. Таблица значений об./мин и угла. Схема данной задачи http://img48.imageshack.us/my.php?image=12wg2.png.
P.S.S. Кому интересно и у кого возникнут какие то вопросы с удовольствием на них отвечу (или по крайней мере постараюсь ответить, так как сам тока начинаю разбираться) моя почта kosunix.@gmail.com или пишите в аську 237160094. Откомпиленные советы, варианты и т.д. будут немедленно выложены в форуме.

Окей. Думаю для первого захода хватит!Жду вашей критики, советов, пожеланий!

Автор: UniBomb 21.3.2007, 00:54
Э-э-э-э.... А к чему это всё? Не вижу ничего сложного и причин кидаться на решение этой задачи толпой. Если будут вопросы, то всегда пожалуйста))

Автор: cardinal 7.4.2007, 01:58
UniBomb, не подскажешь схемку стандартного подключения attiny2313 на 20 MHz? Ну то есть питание, кварц и еще что-нибудь стандартное...
Просто я нашел пару примеров, но что-то везде немного по разному. Можешь знаешь проверенный надежный вариант?

Добавлено @ 01:58
А ну и на Си пример бы файла типа main.c.

Заранее спасибо!

Автор: cardinal 7.4.2007, 02:29
Нашел smile 
http://myrobot.ru/stepbystep/mc_first_project.php

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)