vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Доброго времени суток.Задали задание создать тестовую систему на основе микроконтроллера и компа.Суть состоит в том что на компе допустим есть какая то программа,которая связана с базой данных и т.д.Она выводит вопросы и варианты ответов(планируется подключить проэктор),а в аудитории сидят студенты и держат в руках пульты.Пульт состоит из телефонной клавиатуры и дисплея.На дисплее отображается различная информация,допустим время до окончания тестирования,или введеный вариант ответа.Для пульта думаю использовать ATtiny2313, знаковый LCD 2*16.Но проблема состоит не в разработке пульта, а в том как соединить допустим 30 пультов с компьютером.Тоесть прошу помощи в выборе интерефейса и как соеденить это все с компом. I2C к сожалению не подходит- длина максимум 1 метр.Заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Курить по ключевому слову RS485 ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет. Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hunter_2007 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313? Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол Почему не хватит tiny2313 - ресурсов маловато Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол Почему не хватит tiny2313 - ресурсов маловато та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serj78 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь? о количестве флеша. возьмите мегу8 и не парьтесь, по цене рублей 15 максимум разница Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hunter_2007 0 20 января, 2009 Опубликовано 20 января, 2009 (изменено) · Жалоба та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь? У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... можно взять мк помощнее и не парится mega48 например... на чем программировать собрался, на асме? PS. пока сочинял ответ - уже ответили) Изменено 20 января, 2009 пользователем Hunter07 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... можно взять мк помощнее и не парится mega48 например... на чем программировать собрался, на асме? PS. пока сочинял ответ - уже ответили) На С. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hunter_2007 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба На С. тогда стоит посмотреть на мегу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба тогда стоит посмотреть на мегу. Я не совсем понял.Мне стои взять поцепить преобразователь RS232/RS485 на КОМ порт?а потом плясать по этим двум проводкам? Не подскажите где взять программу на МК работы с RS485?Или так же само как и с RS232? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба для 485 еще нужно дергать направление прием/передача. Можно программно, можно соорудить примитивную схему на диоде, кондере, резаке и ключе, которая сама переключит как надо. И работать как по 232 не забывая о полудуплексе. Протокол типа - мастер шлет С0 05 00 LRC, слейв отвечает C0 05 00 01 LRC. C0 - маркер начала, 05 - адрес для примера, 01 - код нажатой кнопки, LRC - понятно. Прога постоянно сканирует сеть и обрабатывает принятные данные. Я бы не напрягался особо взял m168. Приятно, когда не надо о ресурсах заботиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет. Все это будет весьма неудобно с точки зрения разводки (если пульты именно в руках, а не к столам прикручены намертво). Хотя можно попробовать развести магистраль витой парой и использовать стандартные телефонные коробки, четырех линий как раз хватит, но не очень это правильно - минимум полутораметровые ответвления. Я бы такое делал в беспроводном варианте - mega8+CC1100 (CC2500) и LCD без подсветки, чтобы по энергопотреблению не усердствовать. Но, конечно, заметно сложнее, чем RS-485... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... Хмм... Не совсем корректно сравнивать AVR с 51, но для прикидки можно. Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил. Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся... Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло). Писал на ASM. Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет... :) По RS-485... строго говоря, нужно ещё соблюдать т.н. "time gap" между приёмом и передачей, они оговариваются в ДШ на драйвера RS-485. В случае C функцию putchar во избежание проблем лучше переписать - дёргать DE и RE перед передачей символа и после её, в паузах стоять на приёме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vlad555 0 20 января, 2009 Опубликовано 20 января, 2009 · Жалоба Хмм... Не совсем корректно сравнивать AVR с 51, но для прикидки можно. Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил. Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся... Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло). Писал на ASM. Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет... :) Интересно,если не в тягость,могли бы Вы поделиться своими наработками,обещаю сохранить авторские права,все равно на асме не пишу и даже его не знаю,хочу вобщем посмотреть,и может что то полезное взять?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться