Перейти к содержанию
    

Didro

Участник
  • Постов

    93
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Didro

  • Звание
    Частый гость
    Частый гость

Контакты

  • Сайт
    Array
  1. Добрый день, часто заказчик хочет к разработанному для него измерителю (например, многоканальному измерителю температуры\веса) иметь программу для ПК, в которой он мог бы в реальном времени видеть изменение во времени оцифровываемых сигналов и сохранять их на жесткий диск. (Разумеется заказчик может также хотеть иметь возможность масштабировать оси выводимых графиков, строить графики в зависимости от других графиков и прочее). При этом бывает, что покупной измеритель (к примеру из линейки LCard) по тем или иным причинам не подходит - соотв. ставится задача разработки собственного измерителя и возникает собственный протокол обмена данными с ПК. Поэтому требуется программа на ПК, которая должна реализовывать требуемые функции по просмотру сигналов, их сохранению в файлы и при этом должна поддерживать наш протокол (или открыто определять свой, чтоб мы могли под него подстроится). Несколько раз разрабатывали собственные программы для ПК с использованием готовых модулей вывода графиков на экран. Сейчас решил посмотреть на вариант взять что-то сторонее и использовать в этих целях. Наиболее близко подходят виртуальные инструменты из LabView, но во-первых несколько громоздко и во-вторых платно. Есть ли что-то бесплатное и открытое для таких целей ? Спасибо p.s. Из того что удалось найти быстрым гуглом: несколько готовых open-source программ pylab-works (http://code.google.com/p/pylab-works/, описание: http://mientki.ruhosting.nl/data_www/pylab...s/pw_manual.pdf) live-graph (http://www.live-graph.org/) graphite (http://graphite.wikidot.com) serialchart (http://code.google.com/p/serialchart/) ниодну из них не использовал. И две платформы для разработки ПО на которых проще чем на универсальных платформах (java\.net\delphi\...) получить нужную функциональность, хотя тоже придется повозится, чтоб добиться хотя бы функционала программ из списка выше: Processing (http://processing.org/, пример: http://www.glacialwanderer.com/hobbyrobotics/?p=261) Scilab (http://www.scilab.org/) Если вы использовали что-то из этих инстурментов, прошу поделится опытом :) или подсказать альтернативу.
  2. Добрый день, работаю с AT90CAN32. В основной программе обнаружил странную ошибку и в процессе выяснения обстоятельств получил вот такой пример, её иллюстрирующий: #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "twi_master.h" unsigned char sendbuf[2] = {0b0011011<<1, 0xB4}; int main(void) { CLKPR = 0x80; CLKPR = 0x00; DDRB = 0xFF; DDRE |= (1<<PE2); sei(); TWI_Master_Initialise(); TWI_Start_Transceiver_With_Data(sendbuf, 2); unsigned char cntr=1; while(1) { if (fint) {fint = 0; TWI_Start_Transceiver_With_Data(sendbuf, 2); } //_delay_us(30); если раскомментировать эту строку //__asm__ __volatile__ ("ldir25, 0x61" ::); //или если раскомментировать эту строку, то проблема себя не проявляет volatile unsigned char tvar2876; tvar2876 = 0x61; if (tvar2876 != 0x61) { PORTB = tvar2876; PORTE|=1<<2;_delay_us(200);PORTE&=~(1<<2);_delay_us(200); } } return 0; } Реализация функций работы с TWI взяты из AppNote315 (файлы TWI_Master.h и TWI_Master.c, приложены: TWI_Master.h.txt TWI_Master.c.txt). Проблема заключается в том, что на PORTB выводится число 0х61 - т.е. срабатывает сравнение tvar2876 != 0x61, хотя очевидно, что такого быть не должно. Имя переменной tvar2876 выбрано случайным (специально, чтоб не думалось, что эта переменная где-то объявлена как external в других модулях). Делаю следующий вывод по asm-листингу: AVR_Transmission.lss.txt регистр r24, участвующий в операции сравнения меняется где-то в TWI-функциях (побочный эффект). В чем может быть проблема ? Ранее с таким не сталкивался. Компилировал AVR Studio 4 (Winavr2010aug), AVR Studio 6. Оптимизации выключены -O0 Спасибо
  3. Добрый день, есть ряд компаний, которые обеспечивают определение местоположение мобильного устройства через Wifi. Может быть кто-то знает open-source библиотеку, которая бы позволяла делать это. Спасибо
  4. Спасибо за ответ. Проблема в том, что у нас уже есть плата (см. по ссылке выше), мы не можем выпаять не нужный резистор или о чем вы говорите ? (Плата не под рукой - не могу проверить оба ли резистора там реально впаяны)
  5. Добрый день, разбираюсь с платой - Altera Video Input Daughtercard построена на основе двух TVP5146 ADC. Не получается подключиться по i2c ко второму АЦП, к первому - без проблем. К плате идет схема в P-CAD и номенклатура компонентов (в прицепе поста). Разбираюсь по схеме и вижу, что 37ой пин АЦП подключен параллельно через подтяжку 4.7кОм на землю и через резистор не известно сопротивления (перемычка?) на 3.3В. Этот пин по идее должен задавать i2c-адрес АЦП (если подтянут на землю - один адрес, если на питание - то другой) Резисторы выделены желтым ниже. Никак не могу понять - что это за подключение такое, видимо что-то упускаю. Спасибо 508921.pcb 508920_bml_reva.pdf
  6. Добрый день, появилась такая задача - в ходе лыжного марафона (1000-1500 участников) фотограф делает снимки бегущих лыжников. После марофона лыжники обращаются к фотографу с просьбой выслать им фотографии, на которых они запечатлены. Сейчас фотограф перебирает в ручную сотни и тысячи фотографий и ищем лыжников по номеру, что не эффективно. Хотелось бы как-то помочь фотографу. Варианты: Делать так, как делают на сайте - http://www.marathon-photos.com - фиксировать время прохождения лыжником контрольных точек и затем при поиске ориентироваться по времени съемки (которое записывается в фотографию) - к сожалению время на марафонах редко фиксируют (обычно только время финиша и старта). Обработка фотографий самописным софтом, который на основе методов распознавания, ищет лыжников - сложно и не надежно. Использование Picasa 3.5, которая умеет искать людей по лицам - не подходит для задачи (лыжников лучше по номерам, а не по лицам искать) При проведении марафона повесить на лыжника что-то типа радиометки, ограниченного радиуса действия, а фотографу дать направленный радиоприемник и при фотографирование приписывать к фотографии какие метки находились в секторе фотографирования. Нанять 10 "китайцев", которые отсортируют фотографии. Из всех этих вариантов больше всего вопросов вызывает вариант радиоэлектронной реализации - с одной стороны кажется, что он может обеспечить наилучшую эффективность, с другой стороны не понятно реализуем ли он в принципе при разумных затратах. Спасибо
  7. Спасибо за ответы. Но я видимо совершенно не корректно задал вопрос. Смотрите: В даташите указано, что DRDY поднимается в +5В при обновлении АЦП своего регистра данных (и после завершения операции чтения этого регистра). Т.е. грубо говоря, если контроллер не общается с АЦП, то мы можем считать, что частота импульсов DRDY должна быть равна частоте обновления выходного регистра, т.е. тн. Output Rate - я прав ? Если я прав, то далее смотрим - в том же даташите указана формула расчета OutputRate = FCLKIN / 128 / code, где FCLKIN - тактовая частота АЦП (в моем случае 1МГц), а code = значению регистров FL, FH (Filter Low,High) в десятичном виде. По умолчанию code = 0x140 (hex) = 320. Отсюда следует, что в моем случае OutputRate должен быть равен 1 000 000 / 128 / 320 = 24,4 Гц. Я же на осциллографе вижу DRDY, который изменяется с частотой ~74 Гц. Подчеркиваю, что контроллер тут не причем - он вообще убран с платы. Значения всех регистров АЦП - значения по умолчанию. Т.е. получается, что либо DRDY не отражает реально частоту замеров АЦП (~в 3 раза чаще, чем расчетный OutputRate), либо OutputRate показывает не частоту обновления. Надеюсь в этот раз выразился конкретнее. Спасибо
  8. У меня скорее вопрос по даташиту - схема включения стандратная, подключен кварц 1 МГц, контроллер отсутствует (прошивки нет). При подаче питания на АЦП с ноги DRDY снимаю импульсы с частотой 74Гц и длительностью 130 мкс. Очевидно, что этот сигнал должен быть как-то связан с частотой оцифровки АЦП, но нигде не могу найти информации об этом.
  9. Добрый день, собрали измеритель на AD7714 и ATMega8 (для связи с ПК по UART), в ходе тестирования обнаружилась странная вещь - запись калибровочных регистров АЦП не всегда проходит успешно (после каждой записи делаю проверку считыванием текущего значения регистра - и иногда в непредсказуемые моменты - запись не проходит). Стал разбираться и наткнулся на такой непонятный для себя момент. При подаче питания на АЦП (при отключенном контроллере) оно начинает работать с дефолтными настройками - по которым частота первого среза фильтра, судя по документации, должна быть 40 Гц. Также в документации сказано, что частота среза совпадает с частотой Output Rate, а DRDY должен показывать моменты обновления регистра данных. Из всего этого сделал вывод, что DRDY должен колебаться с частотой 40 Гц. На практике по осциллографу вижу 72 Гц. В чем может быть дело ? Я не верно интерпретирую поведение DRDY ? AD7714 старый и провереный АЦП, поэтому решил написать в надежде, что кто-то сталкивался с такой ситуацией. Спасибо
  10. Понял! Всем большое спасибо за советы, пойду к конструкторам.
  11. Т.е. металл может все-таки сделать свое черное дело в этом случае ? Этот ящик будет путешествовать по конвейеру (радиопередача при этом вестись не будет) и чем меньше у него выдающихся наружу частей, тем лучше.
  12. Добрый день, опыта работы с радиоустройствами крайне мало и возникла потребность установки в устройство радиомодуля для передачи данных в ПК. Устройство будет находиться на расстоянии 1-3 метра от компьютера и при этом будет находиться в герметично закрытом металлическом корпусе (1-2 мм, нержавейка). Можно ли надеяться в этом случае на стабильный канал связи (не будет ли металлический корпус экраном) и на какие параметры приемника\передатчика следует обращать внимание в этом случае ? (диапазон частот\мощность?) Спасибо
  13. Добрый день, требуется получить малогабаритное устройство с автономным питанием. Подключены 3 терморезистора (требуемая точность 0.1 град). Время автономной работы - 4 часа. Температура окр. среды: -20...+80. Частота оцифровки резисторов: от 10 сек до 1 мин. Распространенные модули OVEN\ICPDAS не подходят (те что я видел) по условию автономности питания (при использовании, например, аккумулятора 3.6В Li-ion). Опускаться на уровень разработки собственной схемы измерения (например, на основе ADUC834) не хотелось бы. Может быть кто-то знает подходящий по требованиям измерительный модуль ? Оцифрованные значения предпологаю хранить в памяти внешнего по отношению к измерительному модулю контроллеру и\или передавать по радиоканалу. Спасибо
  14. Добрый день, Есть ли в продаже датчики движения, объема, контроля периметра (УЗ\ИК\Акустические) с питанием от 5Вольт (и ниже) ? Т.е. для примера, существует ли какой-либо аналог датчика Астра-642 с питанием не 9-12Вольт, а 5Вольт ? Спасибо.
  15. Добрый день, столкнулся с такой проблемой (опыта не много, поэтому хочу узнать как поступают на практике): есть проект - NIOS II + несколько (8-10) Verilog модулей. Модули связаны через Avalon с NIOS II. В проекте присутствует видеоАЦП (внешняя плата) - АЦП с одной стороны конфигурируется по i2c из NIOS, а с другой стороны видеопоток BT.656 разбирается одним из Verilog'овских модулей. Вопросы: 1. проект при сборке дает ~400 предупреждений - видно, что 70% предупреждений относится к NIOS II - это сильно мешает (приходиться поиском искать по именам модулей "свои" предупреждения). Аналогичный вопрос был недавно задан и фактически остался без ответа. 2. полная сборка проекта занимает 12 минут + перегенерация в SOPC Builder'e + перегенерация в NIOS II IDE - отлаживать код в таких условиях не реально. Все попытки запретить пересобирать NIOS (Design partition\LogicLock) утешения не принесли, что собственно совпадает с сообщениями на форуме по инкрементальной компиляции. Соответственно, если я правильно понимаю, Verilog код нужно отлаживать (функциональность) в ModelSim-Mentor'e, который однако и думать не думает о проблемах синтеза под конкретную ПЛИС. А QII использовать как средство сборки и анализа кода после синтеза. Нет ли такого варианта, чтоб отвечать в QII только за тот код который разработал сам - а NIOS\IP-ядра упихать куда-нибудь, чтоб не сталкиваться постоянно с тормозами их сборки и кучей их warning'ов ? Тогда бы работать было бы гораздо проще - 1-2 минуты на сборку проекта и 20-30 warnings... мечты-метчы :)
×
×
  • Создать...