|
Тестовая система |
|
|
|
Jan 20 2009, 16:20
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Доброго времени суток.Задали задание создать тестовую систему на основе микроконтроллера и компа.Суть состоит в том что на компе допустим есть какая то программа,которая связана с базой данных и т.д.Она выводит вопросы и варианты ответов(планируется подключить проэктор),а в аудитории сидят студенты и держат в руках пульты.Пульт состоит из телефонной клавиатуры и дисплея.На дисплее отображается различная информация,допустим время до окончания тестирования,или введеный вариант ответа.Для пульта думаю использовать ATtiny2313, знаковый LCD 2*16.Но проблема состоит не в разработке пульта, а в том как соединить допустим 30 пультов с компьютером.Тоесть прошу помощи в выборе интерефейса и как соеденить это все с компом. I2C к сожалению не подходит- длина максимум 1 метр.Заранее благодарен.
|
|
|
|
|
Jan 20 2009, 16:40
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Цитата(vesago @ Jan 20 2009, 19:32)  RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет. Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313?
|
|
|
|
|
Jan 20 2009, 17:12
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 26-07-07
Из: Samara
Пользователь №: 29 388

|
Цитата(vlad555 @ Jan 20 2009, 20:40)  Не знаю как реализовать в мк?И не знаю как прицепить к компу?А почему не хватит тини2313? Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол Почему не хватит tiny2313 - ресурсов маловато
--------------------
|
|
|
|
|
Jan 20 2009, 17:23
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Цитата(Hunter07 @ Jan 20 2009, 20:12)  Реализация в пульте - м/c преобразователь уровней + UART МК + твой протокол Подключение к ПК - через преобразователь Usb-rs485 или rs232-rs485 есть готовые в продаже или сам делаешь + опять же твой протокол Почему не хватит tiny2313 - ресурсов маловато та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь?
|
|
|
|
|
Jan 20 2009, 17:42
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 26-07-07
Из: Samara
Пользователь №: 29 388

|
Цитата(vlad555 @ Jan 20 2009, 21:23)  та мне там всего лишь выводить информацию на дисплей и отправлять в минуту какой то байт информации,типа ответ.Надеялся что хватит тиньки.Можете уточнить о каких ресурсах ишла речь? У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... можно взять мк помощнее и не парится mega48 например... на чем программировать собрался, на асме? PS. пока сочинял ответ - уже ответили)
Сообщение отредактировал Hunter07 - Jan 20 2009, 17:44
--------------------
|
|
|
|
|
Jan 20 2009, 17:45
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Цитата(Hunter07 @ Jan 20 2009, 20:42)  У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... можно взять мк помощнее и не парится mega48 например...
на чем программировать собрался, на асме?
PS. пока сочинял ответ - уже ответили) На С.
|
|
|
|
|
Jan 20 2009, 17:51
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 26-07-07
Из: Samara
Пользователь №: 29 388

|
Цитата(vlad555 @ Jan 20 2009, 21:45)  На С. тогда стоит посмотреть на мегу.
--------------------
|
|
|
|
|
Jan 20 2009, 18:12
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Цитата(Hunter07 @ Jan 20 2009, 20:51)  тогда стоит посмотреть на мегу. Я не совсем понял.Мне стои взять поцепить преобразователь RS232/RS485 на КОМ порт?а потом плясать по этим двум проводкам? Не подскажите где взять программу на МК работы с RS485?Или так же само как и с RS232?
|
|
|
|
|
Jan 20 2009, 18:40
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
для 485 еще нужно дергать направление прием/передача. Можно программно, можно соорудить примитивную схему на диоде, кондере, резаке и ключе, которая сама переключит как надо. И работать как по 232 не забывая о полудуплексе. Протокол типа - мастер шлет С0 05 00 LRC, слейв отвечает C0 05 00 01 LRC. C0 - маркер начала, 05 - адрес для примера, 01 - код нажатой кнопки, LRC - понятно. Прога постоянно сканирует сеть и обрабатывает принятные данные. Я бы не напрягался особо взял m168. Приятно, когда не надо о ресурсах заботиться.
|
|
|
|
|
Jan 20 2009, 19:12
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(vesago @ Jan 20 2009, 19:32)  RS-485. Компьютер последовательно опрашивает пульты. У каждого пульта свой адрес. Протокол WAKE. 2313 наверное маловато будет. Все это будет весьма неудобно с точки зрения разводки (если пульты именно в руках, а не к столам прикручены намертво). Хотя можно попробовать развести магистраль витой парой и использовать стандартные телефонные коробки, четырех линий как раз хватит, но не очень это правильно - минимум полутораметровые ответвления. Я бы такое делал в беспроводном варианте - mega8+CC1100 (CC2500) и LCD без подсветки, чтобы по энергопотреблению не усердствовать. Но, конечно, заметно сложнее, чем RS-485...
|
|
|
|
|
Jan 20 2009, 19:35
|

старший лаборант
     
Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097

|
Цитата(Hunter07 @ Jan 20 2009, 19:42)  У данного МК 2Кб флэш и 128 байт ОЗУ... Тебе нужно поднять какой либо протокол обмена между ПК и устройством. Причем с адресацией и проверкой ошибок желательно. + драйвер дисплея + какая то логика работы посчитай сколько чего займет памяти и увидишь - уложишься или нет... Хмм... Не совсем корректно сравнивать AVR с 51, но для прикидки можно. Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил. Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся... Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло). Писал на ASM. Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет...  По RS-485... строго говоря, нужно ещё соблюдать т.н. "time gap" между приёмом и передачей, они оговариваются в ДШ на драйвера RS-485. В случае C функцию putchar во избежание проблем лучше переписать - дёргать DE и RE перед передачей символа и после её, в паузах стоять на приёме.
--------------------
Китайская комплектация - европейское качество! ;)
|
|
|
|
|
Jan 20 2009, 19:43
|
Группа: Новичок
Сообщений: 9
Регистрация: 1-10-08
Пользователь №: 40 629

|
Цитата(Harbinger @ Jan 20 2009, 22:35)  Хмм... Не совсем корректно сравнивать AVR с 51, но для прикидки можно. Недавно решил подобную задачку. Дисплей, к счастью, был нужен только на первом этапе, для отладки, в конце всё выбросил. Уместился в 2 килобайта флеши и 256 байт ОЗУ, из них "нижние" 128 заняты полностью под служебные переменные, "наверху" - стек и некий буфер, к RS-485 не относящийся... Некоторые короткие подпрограммы пришлось впихивать по адресам, обычно используемым для векторов прерываний (не все использовались, это спасло). Писал на ASM. Имхо, для данной задачи Мега8 - оптимум, тем более что его цена отличается от 2313 на сущие копейки. В том случае, кроме цены, был критичен размер корпуса МК, доступность средств разработки и технологичность сборки, потому такой напрягающий выбор получился; здесь - вроде ж нет...  Интересно,если не в тягость,могли бы Вы поделиться своими наработками,обещаю сохранить авторские права,все равно на асме не пишу и даже его не знаю,хочу вобщем посмотреть,и может что то полезное взять?!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|