реклама на сайте
подробности

 
 
> Как бы выкрутится из такого поожения?
Pyku_He_oTTyda
сообщение Jun 12 2007, 18:30
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Постораюсь ясно изложить мысль:
МК (мега8) занимается управлением камерой по LANCпротоколу (тот же самый UART со стороны камеры, но с открытым коллектором ), со стороны МК отслеживаем старт-биты и подаем команды притягиванием линии к земле. Передается фреймами по 8 байт, во время передачи команды (одно и то же повторяем несколько фреймов - может затянутся на насколько секунд) нельзя пропускать фреймы.
То есть МК занят, на остальную работу остается порядка 9милисек (промежуток между фреймами)
Все бы ничего, но параллельно надо принимать другую команду, длительностью порядка 44 милис.
Есть идея по фронту внешней команды запускать capture timer на время 45 мс и после оценивать состояние регистра ICR.
Покритикуйте идею.


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Pyku_He_oTTyda
сообщение Jun 13 2007, 12:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



В первом посте неправильно выразился, "другая команда" это не УАРТ, там свой протокол. Минимальная длительность импульса 1мс, максимальная - 6мс. Вот на 44мили и набегает.


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 13 2007, 12:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Pyku_He_oTTyda @ Jun 13 2007, 15:09) *
В первом посте неправильно выразился, "другая команда" это не УАРТ, там свой протокол. Минимальная длительность импульса 1мс, максимальная - 6мс. Вот на 44мили и набегает.

Ну неважно, обработка вряд ли принципиально отличается от программного УАРТа - поймать первый фронт (по прерыванию от порта) а потом с привязкой по времени (прерывания от таймера) считывать состояние входа (или менять при передаче).
Я программными УАРТами измерял ресурсы. Как попугаями - удава smile.gif

1ms - это вагон времени. У меня фоновое прерывание таймера, в котором клавиатура и прочие сервисы, работает с периодом 1 мс.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Pyku_He_oTTyda   Как бы выкрутится из такого поожения?   Jun 12 2007, 18:30
- - bodja74   Непонятно ,а что мешает МК принимать данные по УС...   Jun 12 2007, 18:55
- - Pyku_He_oTTyda   Прерывание УСАРТ возникает при окончании приема, а...   Jun 12 2007, 18:58
- - bodja74   Тогда старт бит ловим по INT и в обработчике преры...   Jun 12 2007, 19:15
- - Dog Pawlowa   Цитата(Pyku_He_oTTyda @ Jun 12 2007, 21:3...   Jun 12 2007, 19:59
- - Pyku_He_oTTyda   то есть вы предлагаете вплотную занятся приемом ...   Jun 13 2007, 03:38
|- - Dog Pawlowa   Цитата(Pyku_He_oTTyda @ Jun 13 2007, 06:3...   Jun 13 2007, 06:21
- - oran-be   Если добавить примерно 1$ можно мегу 8 замени...   Jun 13 2007, 05:45
- - Pyku_He_oTTyda   а зачем мне вообще 2 нардварных УАРТА?   Jun 13 2007, 06:09
- - arttab   можно попробовать делать опрос что на линии по пре...   Jun 13 2007, 08:17
- - =GM=   Цитата(Pyku_He_oTTyda @ Jun 12 2007, 17:3...   Jun 13 2007, 13:39
- - Pyku_He_oTTyda   После посылки байта остается спать 250мкс (LANC та...   Jun 16 2007, 07:36
- - ReAl   Цитата(Pyku_He_oTTyda @ Jun 16 2007, 09:3...   Jun 16 2007, 08:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 02:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016