AndreyVN
Свой-
Постов
812 -
Зарегистрирован
-
Посещение
Весь контент AndreyVN
-
Во первых, в рекламе про издевательства ничего не говорилось. Во вторых, 100$ в России по-прежнему приличная сумма, а риски что "что-то не пойдет" так же присутствуют. В третьих, лет 10 назад спорил с американцем. Я тогда научился делать самодельные катоды для масс-спектрометра, ну и похвалился об этом, а он мне и говорит: "это здорово, но твои катоды хуже фирменных и возиться с ними долго, это неэффективно!" А я ему отвечаю, у меня нет задач, я сам их себе выдумываю, сам же решаю, моя эффективность никому не интересна.
-
ОК, но это на потом, нужно с протоколом разбираться, наверняка там присутствует CRC которое генерить руками особенно приятно. :) Нашел описание на китайском. :-) Рекомендуют студию 4.18, JTAG вроде-как V3. Может, кому-то полезно будет (хоть и не работает, но 10$ стоит):AVR_USB_JTAG.pdf
-
У меня и есть четвертая студия, пока не удалось разглядеть JTAG, ни в режиме Auto, ни в режиме явного указания виртуального COM порта.
-
http://www.ebay.com/itm/AVR-USB-Emulator-d...=item3a7a75a2ac Вчера нашел на сайте продавца драйвер, удалось установить виртуальный COM-порт. Искать нужно "OT-827" к стати, на самом устройстве такой маркировке нет. Теперь, при втыкании USB JTAG в системе появляется виртуальный COM порт. Однако, AVR студия по прежнему JTAG не видит, попробую установить более позднюю версию студии.
-
Как бы узнать, какой JTAG у меня? (Купил-то я его недавно, но уверенности в версии 2/3 все равно нет.) Помимо AVR, нет программных средств доступа к самому JTAG?
-
Всем привет! Как протестировать JTAG ICE (Китай)? Понятно, что никаких бумаг в комплекте не было. Пока нашел в AVR Studio меню ICE Selftetst, результат такой: Может есть какие-то более расширенные средства диагностики? И вообще, должен JTAG видется, когда он не подключен к отлаживаемому девайсу?
-
Широкополосный трансформатор
AndreyVN опубликовал тема в Вопросы аналоговой техники
Всем привет! Народ, как думаете, можно-ли использовать широкополосный трансформатор на входе анализатора импульсов ФЭУ? Импульсы (длительность ~10 мкс.) поступают через коаксиал с выхода предусилителя, смонтированного в блоке ФЭУ. Трансформатор хочется поставить, чтобы решить сразу 4 задачи: 1) Согласовать вход анализатора с волновым сопротивлением кабеля; 2) Перевернуть амплитуду входных импульсов; 3) Обеспечить заданный коэффициент деления (12В поделить до 5В) 4) Транс будет красиво смотрться на плате :-) . Однако, гложут сомнения по поводу точности преобразования амплитуды импульсов, можно рассчитывать на ошибку, ну например, в пределах 10%? -
что нельзя мыть в ультразвуавой бане?
AndreyVN ответил AndreyVN тема в Пайка и монтаж
Всем большое Спасибо! Расклад приблизительно понятен. -
что нельзя мыть в ультразвуавой бане?
AndreyVN опубликовал тема в Пайка и монтаж
Что нельзя мыть в ультразвуковой бане? Кварцы, электролиты - можно? -
"Слепить две в одну"- я добавил от себя, а код внизу и совет по поводу отключения оптимизации попался в документах Atmel, где именно уже не вспомню. //FuseBits: WDTON=1 MC103=1 void WatchDogStart() { StringPrepare("WDT On"); Scroll(); ScrollUpdate(); #asm("wdr") //сбросить сторожевой таймер #pragma optsize- WDTCR=0x1F; WDTCR=0x0F; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif }
-
Лазил по документам Atmel, советуют перед последовательностью присвоений WDTCR=0x1F; WDTCR=0x0F; запретить оптимизацию кода, иначе компилятор может две команды в одну слепить. Однако, пока ничего не получилось, не заводится WDT. Работает только вариант включения WDT через Fusebits WDTON=0. Тут все работает на ура, собачий таймер стартует по включению питания экран моргает как бешеный. Но меня этот режим не устраивает, мне надо включать таймер, только в том случае, если регистратор запущен на длительный режим сбора данных. В остальное время услуги собаки не требуются. У меня в CodeVision библиотеки wdt.h нет. Можно её где-то скачать? Эта фраза не понятна, в Fusebits можно выбрать разные режимы безопасности, но во всех режимах можно включить WDT командой или последовательностью команд. Может помимо WDTON и MC103 есть еще какой-то Fusebits, влияющий на работу WD-таймера, который я не заметил?
-
Насколько я понял из описания, бит WDCE=1 разрешает изменение состояния "собаки" и сбрасывается аппаратно через 4 цикла. То есть, мой вариант манипуляции с WDTCR, вроде должен быть работоспособен. Попробую как Вы советуете... Fusebits активируются нулевым уровнем. Единичка соответствует значению Unprogrammed.
-
В коде программы команд сброса сторожевого таймера нет вообще, инициилизирую WD-таймер, хочу увидеть, как каждые 2 секунды будет моргать экран и инициализироваться меню, однако, после инициализации WD-таймера ничего не происходит. Что я упустил? Процессор Atmega64 Fusebits: WDTON=1 MC103=1 void WatchDogStart() { #asm("wdr") //на всякий случай сбросить сторожевой таймер WDTCR=0x1F; //WDCE=1, WDE=1, делитель 2 сек. WDTCR=0x0F; //WDCE=0, WDE=1, } void WatchDogStop() { #asm("wdr") //сбросить сторожевой таймер WDTCR = 0x1F; //выключить сторожевой таймер WDTCR = 0x00; }
-
Чтение блока с SD карты
AndreyVN ответил Citizen777 тема в AVR
Читаю сектора вот так: // Прочитать содержимое буфера в переменную Sector из MMC карты // N-номер сектора //----------------------------------------------------------------------------- void SDReadSector(unsigned long int N) { char rsp,rsp1; short int crc; SPCR = 0x50; //0x50 fclk/4; 0x51 fclk/16; 0x52 fclk/64 SPSR = 0x00; // //for(i=0; i<512; i++) Sector[i]=0xEE; if(!BlockAdressMode) Adr = N*512; //Адрес начала сектора, побайтная адресация else Adr=N; //Блочная адресация rsp = MMC_cmd(CMD17, (unsigned int)(Adr>>16),(unsigned int)(Adr&0x0000ffff), 0xFF); //CMD17 Read a block from specify addr if(rsp){ SD_init(); //Если rsp!=0x00 будим карту снова rsp = MMC_cmd(CMD17, (unsigned int)(Adr>>16),(unsigned int)(Adr&0x0000ffff), 0xFF); } if(!rsp) rsp1 = MMC_read(512); //Заполним массив Sector[] if(!rsp1){ StringPrepare("Block read Err."); Scroll(); ScrollUpdate(); } PORTB |= MMC_CE_PIN; //MMC-disable //StringPrepare("CMD17 "); HexToStr(rsp, 7); Scroll(); crc = MMC_crc16(&Sector[0], 512); if(crc1!=(unsigned char)(crc >> 8) || crc2!=(unsigned char)(crc & 0xff) ){ StringPrepare("CRC Err "); HexToStr(crc1, 5); HexToStr(crc2, 8); Scroll(); ScrollUpdate(); } } PS: Код писал около года назад, помню, что многие проблемы решились после того, как добавил расчет CRC по спецификации CRC является обязательной только для команд иницилизации, потом может быть отключена. -
Извините, если повторюсь, всю тему не дочитал... Что мешает сделать резистивный делитель из 10-20 резисторов 1%, на каждом будет падать 1/10-1/20 высокого напряжения и измерять операционником без гальванической развязки? Я такое видел для измерения потенциала 3 кВ.
-
Где в Datasheet ссылка на условия пайки?
AndreyVN ответил AndreyVN тема в Пайка и монтаж
Конкретно интересует Atmega 64, под корпусом осталась паяльная паста, которая немного ползала туда сюда при деформации платы и подкорачивала то одну группу выводов, то другую. Снаружи ничего не видно. Забавный дефект, не сразу понял что происходит. Собствено, проблему решил, прогрел корпус феном с насадкой для TQFP 64 при 280С в течении 60 секунд. Но хотелось бы видеть что-то вроде Absolute Maximum Rating для условий пайки. -
Где в Datasheet ссылка на условия пайки?
AndreyVN опубликовал тема в Пайка и монтаж
Раньше как-то не задавался этим вопросом, кто знает где в datasheet увидеть какие условия пайки рекомендует производиттель? Это однозначно связано с типом корпуса и каким-нибудь стандартом JEDEC? Вот, например, вижу в Datasheet storage temperature -85...150 C, а насчет пайки - ничего. -
Какую УЗ ванну купить?
AndreyVN ответил olegg тема в Пайка и монтаж
Раз уж про ванны заговорили, подскажите, pls, какие растворители используете? -
внешний фотоэффект
AndreyVN ответил sifadin тема в Математика и Физика
Проще всего, бросить в лист камень. Вы бы пояснили, 1) почему до вашего листа нельзя добраться приборами; 2) какого рода дефекты необходимо контролировать. Акустический метод потребует построить мат модель распространения волны в решетке с дефектами именно для вашего листа. Честно говоря, не знаю, реализован такой метод в коммерческих приборах или нет (2 AndrewN: это не УЗИ, это "звон колокола с трещиной и без"). -
Анализ данных
AndreyVN ответил sifadin тема в Математика и Физика
Найти дифур по известной временной реализации? Задача очень интересная, но к методам многомерной статистики отношения не имеет. Общих подходов к восстановлению дифуров, думаю, нет. Я бы мыслил в сторону сравнения фазовых портретов неизвестного процесса и известных уравнений. -
внешний фотоэффект
AndreyVN ответил sifadin тема в Математика и Физика
Значит, это не ваша задача. Могу посоветовать акустические методы, распространение звука в металле зависит от наличия неоднородностей. Возбудить волну можно дистанционно, а вот измерить отклик скорее всего только контактно. -
внешний фотоэффект
AndreyVN ответил sifadin тема в Математика и Физика
Скорее возрастать, в местах дефектов кристаллических решеток возникают очень сильные поля молекулярных масштабов. Помимо неоднородностей, фотоэфект сильно будет зависеть от химической чистоты поверхности, причем непредсказуемым образом. Я не специалист в этой области, но видел дефектоскопы (поверхность и скрытые дефекты) основанные на измерении неоднородности намагниченности. -
Анализ данных
AndreyVN ответил sifadin тема в Математика и Физика
1) В такого рода задачах нужно определиться с пространством описания - набором переменных, описывающих ваши объекты (интервалы запаздывания, спектральный состав ЭКГ и т.п.) Пространство описания выбирается исходя из догадок о физике неизвестного вам объекта. 2) Если возможны обучающие выборки, то есть, сопоставление известного свойства объекта (например, ЭКГ сотни потомственных дебилов) и измеренного отклика, то пользуются методами распознавания образов (кластерный анализ, дискриминантный анализ и т.п.). В результате обучающей выборки вырабатывается решающее правило, позволяющее классивфицировать неизвестный объект. Все это называют многомерной статистикой. Пространство описания за вами, остальное описано в книгах и алгоритмизовано, например пакет StatGraph. Со 100% вероятностью так говорят те, кто писал-писал, да так и не дописал. В рамках работ по многомерной статистике были проанализированы тысячи химических соединений для поиска закономерности "структура- биологическая активность" и разработаны новые лекарства и ... сами догадайтесь, что еще. -
Ну для проверки - прокатило, только пришлось добавить обращение к dummy[]: static eeprom char dummy[100]={0,0,0,0,0,0.....,0); ... dummy[01]=0x01; Только после всего этого две ошибки (ловятся compare EEPROM) переехали на другие адреса... Фигня какая-то... Пытаюсь разобраться...
-
Всем привет! Попался процессор Atmega64 в котором не прошиваются 2 адреса EEPROM 9h и 30h. Процессор менять не хочется, как бы сдвинуть все адреса в EEPROM и перекомпилить исходник? Вижу вариант сделать фиктивный массивчик (программа на 'C' в CodeVision) типа char eeprom dummy[100]; в надежде, что компилятор поместит его вначале EEPROM. Есть другие варианты?