Забыл сказать, помимо чтения примерно 300 линий надо еще и в обратную сторону примерно 50-60 линий управлять (выдавать земельку). Тогда и правда может ModBus использовать (USART)?! А по SPI я буду с Ethernet-модулем общаться.
Забыл сказать, помимо чтения примерно 300 линий надо еще и в обратную сторону примерно 50-60 линий управлять (выдавать земельку).
Ну я тоже управляю. И что? Какая разница, в какую сторону информация передается?
Димаn писал(а):
Тогда и правда может ModBus использовать (USART)?!
А при чем здесь ModBus? У меня обмен с подчиненными процессорами выглядит просто:
Цитата:
Протокол обмена: Параметры настройки UART следующие: длина слова - 9 бит четность - нет скорость обмена - 115200 бод Пакет имеет следующий вид: 1. Адрес подчиненного процессора 2. Код команды для выполнения 3. Количество байт данных в пакете 4. Собственно байты данных Адрес подчиненного процессора передается с единичным 9-м битом, остальная часть пакета передается с нулевым 9-м битом. Количество байт данных в пакете может быть нулевым. Ответ передается с нулевым 9-м битом и имеет следующий вид: 1. Количество байт данных в пакете 2. Собственно байты данных
Леонид Иванович Спасибо большое! Опередили меня - я следующим вопросом хотел спросить про протокол как раз. А про ModBus я просто в личке с Jack_A разговаривал....
ModBus - очень древний, можно сказать, устаревший протокол. Держится лишь за счет того, что на нем работает куча промышленного оборудования. Сам по себе в настоящее время он абсурден. Когда в собственных задачах стала задача сделать замену ModBus, я сделал Wake: http://digit-el.com/files/open/wake/wake.html
"Че-то мне твое лицо знакомо - ну прямо как мое!" (С) "Свадьба в Малиновке"
Это я к тому, что мой протокол был очень похож 1. Длина пакета ( включая его самого и CRC ) = 5...255 2. Адрес ( обычный, 8-битный ) . (1...127) "Всехный" адрес - 0 3. Команда 4. Данные 5. CRC
Поскольку количество элементов ( кроме данных ) фиксировано, выделять длину блока данных не стал - она определяется вычитанием - 5. В ответе 7-й бит = 1 ( 80h ... FFh ) - чтобы сидящие на шине слейвы знали, что это ответ и не реагировали. Команда = переданной команде + 80h , если ошибка. Без затей - просто, надежно, и никаких терок со Шнайдер Электрик за лицензию Про Б.Гейтса - отдельная песня
Заголовок сообщения: Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 24, 2012 12:06:30
Держит паяльник хвостом
Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24 Сообщений: 906 Откуда: ВО
Рейтинг сообщения:0
Да похоже все идут похожим путём. Правда у меня команд на 255 не тянуло и процессоров 8 в подчинении , поэтому я "слил" адрес и команду вместе. Правда был префекс перед началом основной посылки и ответ проца , если он префекс правильно получил. Это как бы занят не занят.
Привет всем котам. Обращаюсь с таким вопросом: Прошивал микросхемы 24C64W6 и 24C64WP всё проходит вроде неплохо- код записывается и считывается, но при установке в стиральную машинку чипа начинает без конца выполнять программу. Подскажите в чём тут может быть дело микросхемы в корпусе soic, прошивались через колодку- переходник. Программатор вот этот http://www.5v.ru/extrapic.htm
Правда у меня команд на 255 не тянуло и процессоров 8 в подчинении , поэтому я "слил" адрес и команду вместе.
Был у меня такой печальный опыт. Я тогда работал в паре с одним молодым программером, делавшим верхний уровень. Исходя из здравого смысла : короче пакет - быстрее передача - меньше вероятность ошибки, я тоже слил. Но молодой коллега заявил : расцепи, а то я не могу применить в проге верх. уровня оператор case . На мое недоумение : у тебя могучий Селерон, тебе проще приспособиться к ресурсам маленького 8535 - он ответил : Я ЗДЕСЬ ГЛАВНЫЙ. И я понял, что ему уже бесполезно доказывать, что 99% выпущенных нами дивайсов работают ( и будут работать ) в автономе вообще без всякого сетевого интерфейса, поэтому главным ты не можешь быть по определению . Трудно было работать, когда как минимум 3 сверху_стоящих точно знали, как я должен проектировать интерфейсный протокол, хотя никто из них в жизни не написал и строчки кода
Леонид Иванович Пните пожайлуйста, где почитать про мультипроцессорный режим работы USART микроконтроллеров. А то у Евстифеева что то мало написано... Я раньше только комп с Meg'ой соединял. Или кусочек программы где посмотреть.... Пожалуйста!
Да похоже все идут похожим путём. Правда у меня команд на 255 не тянуло и процессоров 8
Команд то получается тоже 127 как я понял.в команде первый бит ведь ноликом должен быть, чтобы отличать от адреса, если адрес не передается.
Цитата:
Но молодой коллега заявил : расцепи, а то я не могу применить в проге верх. уровня оператор case .
Печально когда коллега нуб. Решается вопрос с case добавлением всего одной строчки перед каждым switch. Не знаю конечно как там точно, но предполагаю что все равно адрес и команда отдельно рассматриваются в программе.
Если применить RS-485, то там 2 линии А и Б с терминаторами на концах, а на них через преобразователь вешаются TxD,RxD , и каждый может быть как передатчиком, так и приемником , и кто в конкретный момент будет передатчиком - определяется протоколом сети.
Здраствуйте, уважаемые форумчане! Кто-нибуть работал с Atmega16u4? Есть ли какие-то подводные камни, о которых не написано в даташите? И правда, что в нем зашит бутлоадер, позволяющий запрограмировать его без программатора?
Заголовок сообщения: Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб авг 25, 2012 23:39:30
Держит паяльник хвостом
Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24 Сообщений: 906 Откуда: ВО
Рейтинг сообщения:0
DrHlus писал(а):
Здраствуйте, уважаемые форумчане! Кто-нибуть работал с Atmega16u4? Есть ли какие-то подводные камни, о которых не написано в даташите?
Всегда есть
DrHlus писал(а):
И правда, что в нем зашит бутлоадер, позволяющий запрограмировать его без программатора?
The 8 bits mega AVR with USB interface devices are factory configured with a USB bootloader located in the on-chip flash boot section of the controller..
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения