Atmega8 & LV

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Atmega8 & LV

Сообщение EvgenIg »

Вечер добрый!!

Стоит задача подсоединить мегу8 к компу
через COM или USB (что лучше?) и снимать инфу из него с последующей обработкой в LV
1. как правильно соединить МК к COM или USB чтоб LV c ним работал
2. инфа из МК сливается путем нажатия кнопки на собранной плате
3.МК выдает инфу через последовательный порт SPI
Последний раз редактировалось EvgenIg 23 авг 2008, 12:43, всего редактировалось 1 раз.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 vs LV

Сообщение Eugen Graf »

Я думаю лучше через последовательный интерфейс RS232, с USB будут заморочки.

1. Как соединить? Кабелем конечно. Настройки не так важны, можно выбрать например 115200 Baud и всё ок
2. Ну и что? Пускай будет так. Ты можешь в режиме ожидания данных потихоньку проверять пришло ли что нибудь на порт
3. SPI? Ага, так обычного дравера для последователного интерфейса МК не имеет? Как ты хочешь присобачить SPI для этого дела? Я думаю тебе лучше брать SPI сигналы, обрабатывать их в МК, т.е. собирать в пакеты, а потом отправлять на порт. А иначе тебе надо отдельно покупать SPI-USB и подключать к компу, в этом случае можно напрямую выдавать SPI сигналы и считывать их компом.

А о каком количестве данных идёт речь?
И почему такое странное название у темы? Atmega8 не может быть против/сравниваться с LabVIEW. Это как конфета и хлеб. :crazy:
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 vs LV

Сообщение EvgenIg »

1. имелось ввиду к каким контактам СОМ-порта подсоединять (их же там 9штук)
2. получается SPI и COM несовместимы, тогда как реализовать последовательный интерфейс?
3. передается примерно 1800 байт
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 vs LV

Сообщение Eugen Graf »

EvgenIg писал(а): 1. имелось ввиду к каким контактам СОМ-порта подсоединять (их же там 9штук)
Обычно пины 2, 3 и 5 - соответственно RX, TX и Ground
EvgenIg писал(а): 2. получается SPI и COM несовместимы, тогда как реализовать последовательный интерфейс?
Это как бы разные протоколы, хотя и оба последовательные
EvgenIg писал(а): 3. передается примерно 1800 байт
За какое время? Или неважно?
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 vs LV

Сообщение EvgenIg »

eg писал(а):
EvgenIg писал(а): 3. передается примерно 1800 байт
За какое время? Или неважно?
время не важно
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 vs LV

Сообщение Eugen Graf »

Тогда, если нет средств я бы посоветовал преобразовывать SPI в пакеты данных и отправлять эти данные на последовательный порт RS232.
А если есть средства, то купить например вот этот адаптер
http://sine.ni.com/nips/cds/view/p/lang/en/nid/202368

Хотя он будет стоить дороже чем весь твой Atmega :cool:

ЗЫ ведь как ты наверное понимаешь обычные компы не имеют SPI интерфейса, а LabVIEW работает на обычных компах, поэтому надо покупать адаптер.

Может быть есть какая то возможность симулировать RS232 в микроконтроллере с помощью SPI, но это наверняка такой головняк :cantbe:
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 & LV

Сообщение EvgenIg »

Получилось соединить МК через COM-порт
и получить данные (только ввиде строки), с этим разобрался.

теперь полученные числа надо записывать в таблицу как показано ниже
при этом последние два числа (здесь это 94 и 1) это одно, только двухбайтное (число 350)
т.е нужно сложить два байта и получить двух байтное число

подскажите как это сделать :thank:
наверно непонятно написал, так что извините :crazy:
Вложения
1.jpg
2.jpg
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 & LV

Сообщение Eugen Graf »

Я так понимаю 5 байт это один пакет? Или микроконтроллер посылает всегда по 15 байт в одном пакете?

И вообще я не понимаю как ты из 2 байт 94 и 1 получил 350. У меня выходит либо 24122, либо 14942, в зависимости от интерпретации.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 & LV

Сообщение Eugen Graf »

Ну вот тебе для начала пример, как бы сделал это я. Конечно это надо ещё вставить в цикл вместе с VISA Read.
Вложения
Format.png
Format.png (5.02 КБ) 6742 просмотра
Format.vi
LV 8.0
(8.99 КБ) 214 скачиваний
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 & LV

Сообщение EvgenIg »

минимальный пакет который посылает МК = 15 байт

350 в двоичной форме это 0000000101011110
мк его разделяет и хранит как 00000001= 1(первый байт) и 01011110= 94 (второй байт)
вот
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 & LV

Сообщение EvgenIg »

eg писал(а):Ну вот тебе для начала пример, как бы сделал это я. Конечно это надо ещё вставить в цикл вместе с VISA Read.
чета я не понял как это должно работать!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 & LV

Сообщение Eugen Graf »

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

А что именно ты непонял в этой диаграмме?
Ты пробовал её старовать?
Аватара пользователя
EvgenIg
beginner
beginner
Сообщения: 40
Зарегистрирован: 22 авг 2008, 21:34
Версия LabVIEW: 8.5,2009
Откуда: Санкт-Петербург

Re: Atmega8 & LV

Сообщение EvgenIg »

я только понял что твоя диграма чтото записывает в текстовый файл,
а мне нужно что числа выводились в таблицу на лицевой панели
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 & LV

Сообщение Eugen Graf »

Да, да. Я сначала понял что ты хочешь это всё записать в табличный файл, а ты просто хочешь вывести в таблицу.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Atmega8 & LV

Сообщение Eugen Graf »

Ну тогда пускай будет так. Насчёт 350, да, я просто третье число забыл.
Вложения
LV 8.0
LV 8.0
Format.png (11.39 КБ) 6703 просмотра
Format.vi
(11.48 КБ) 218 скачиваний
Ответить

Вернуться в «Коммуникация с приборами»