Перейти к содержанию
    

Доброго времени суток.Задали задание создать тестовую систему на основе микроконтроллера и компа.Суть состоит в том что на компе допустим есть какая то программа,которая связана с базой данных и т.д.Она выводит вопросы и варианты ответов(планируется подключить проэктор),а в аудитории сидят студенты и держат в руках пульты.Пульт состоит из телефонной клавиатуры и дисплея.На дисплее отображается различная информация,допустим время до окончания тестирования,или введеный вариант ответа.Для пульта думаю использовать ATtiny2313, знаковый LCD 2*16.Но проблема состоит не в разработке пульта, а в том как соединить допустим 30 пультов с компьютером.Тоесть прошу помощи в выборе интерефейса и как соеденить это все с компом. I2C к сожалению не подходит- длина максимум 1 метр.Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет.

Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313?

Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол

Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол

Почему не хватит tiny2313 - ресурсов маловато

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол

Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол

Почему не хватит tiny2313 - ресурсов маловато

та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь?

 

о количестве флеша. возьмите мегу8 и не парьтесь, по цене рублей 15

максимум разница

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь?

У данного МК 2Кб флэш и 128 байт ОЗУ...

Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно.

+ драйвер дисплея

+ какая то логика работы

посчитай сколько чего займет памяти и увидишь - уложишься или нет...

можно взять мк помощнее и не парится mega48 например...

 

на чем программировать собрался, на асме?

 

PS. пока сочинял ответ - уже ответили)

Изменено пользователем Hunter07

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У данного МК 2Кб флэш и 128 байт ОЗУ...

Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно.

+ драйвер дисплея

+ какая то логика работы

посчитай сколько чего займет памяти и увидишь - уложишься или нет...

можно взять мк помощнее и не парится mega48 например...

 

на чем программировать собрался, на асме?

 

PS. пока сочинял ответ - уже ответили)

На С.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тогда стоит посмотреть на мегу.

Я не совсем понял.Мне стои взять поцепить преобразователь RS232/RS485 на КОМ порт?а потом плясать по этим двум проводкам?

Не подскажите где взять программу на МК работы с RS485?Или так же само как и с RS232?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для 485 еще нужно дергать направление прием/передача. Можно программно, можно соорудить примитивную схему на диоде, кондере, резаке и ключе, которая сама переключит как надо. И работать как по 232 не забывая о полудуплексе. Протокол типа - мастер шлет С0 05 00 LRC, слейв отвечает C0 05 00 01 LRC. C0 - маркер начала, 05 - адрес для примера, 01 - код нажатой кнопки, LRC - понятно. Прога постоянно сканирует сеть и обрабатывает принятные данные. Я бы не напрягался особо взял m168. Приятно, когда не надо о ресурсах заботиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет.

Все это будет весьма неудобно с точки зрения разводки (если пульты именно в руках, а не к столам прикручены намертво). Хотя можно попробовать развести магистраль витой парой и использовать стандартные телефонные коробки, четырех линий как раз хватит, но не очень это правильно - минимум полутораметровые ответвления. Я бы такое делал в беспроводном варианте - mega8+CC1100 (CC2500) и LCD без подсветки, чтобы по энергопотреблению не усердствовать. Но, конечно, заметно сложнее, чем RS-485...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У данного МК 2Кб флэш и 128 байт ОЗУ...

Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно.

+ драйвер дисплея

+ какая то логика работы

посчитай сколько чего займет памяти и увидишь - уложишься или нет...

Хмм...

Не совсем корректно сравнивать AVR с 51, но для прикидки можно.

Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил.

Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся...

Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло).

Писал на ASM.

Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет... :)

По RS-485... строго говоря, нужно ещё соблюдать т.н. "time gap" между приёмом и передачей, они оговариваются в ДШ на драйвера RS-485. В случае C функцию putchar во избежание проблем лучше переписать - дёргать DE и RE перед передачей символа и после её, в паузах стоять на приёме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хмм...

Не совсем корректно сравнивать AVR с 51, но для прикидки можно.

Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил.

Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся...

Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло).

Писал на ASM.

Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет... :)

Интересно,если не в тягость,могли бы Вы поделиться своими наработками,обещаю сохранить авторские права,все равно на асме не пишу и даже его не знаю,хочу вобщем посмотреть,и может что то полезное взять?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...