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

    

GeorgyBey

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Местный
  • День рождения 13.03.1954

Контакты

  • Сайт
    http://https://www.facebook.com/ggukalov
  • ICQ
    0

Информация

  • Город
    Киев

Старые поля

  • Facebook
    https://www.facebook.com/ggukalov
  1. ATmega32-16AU "последние" поставки

    Спасибо, понятно. Наверняка это закупка отбракованной партии (части) по бросовой цене. Куда-нибудь применю. Главное - 4 порта ножек, хотя надо еще убедиться, что все работают :biggrin:
  2. ATmega32-16AU "последние" поставки

    Этим летом (2018) приобрел с рук (по объявлению) несколько Mega32-16AU в 44х выводном smd-шном корпусе по цене раза в два ниже магазинной. Развел платку с разъемом под ISP, выводами для кварца/емкостей, reset подтянул (75ком) к плюсу и начал изгаляться с выставлением фузов в Студии 4.19. На частотах до 4х МГц все удачно. На 8ми от внутреннего генератора - потеря входа в режим программирования. С кварцами (4 и 12 МГц) запустить не удалось, с часовым кварцем 32768 Гц - работает. Впечатление - бракованная по частотным свойствам партия закуплена предприимчивым продавцом и продается с дисконтом. Или ? ПыСы : "раскирпичивать" удается при подключении внешнего генератора 1МГц на XTAL1 и выбора режима "внешняя частота". Данное явление кем-то наблюдалось? Никакой беды нет - у меня "поликлиника для опытов", производство не пострадает, "решать проблему" не надо, но любопытно, однако.
  3. Возможно вопрос очень наивный, но я уже многое забыл.. Если суммируем две частоты - в спектре имеем две "палки" F1 и F2. Если перемножим две частоты - в спектре появятся частоты F1+F2 и F1-F2. Если одна из частот промодулирована Fm - модулирующая будет присутствовать и в суммарной и в разностной частоте. (вроде не наврал) А если из ОДНОЙ частоты сделать ДВЕ физически независимых (через буфера), одну из них промодулировать и потом перемножить? Получим ли 0Гц +/- Fm и 2F +/- Fm ? А если одна из частот СТРОГО противофазна? В разумном ответе есть реальная потребность
  4. использование USI Atiny24 как SPI

    Цитата(ILYAUL @ Jul 3 2016, 21:39) ( если я отгадал , что он работает в студии и у него тинька - записывайте меня в телепаты))) С одной стороны ты больше чем телеПат, ты телеМат - таки Студия. А с другой стороны - в заголовке Atiny24 - угадать не трудно. В любом случае - спасибо за внимание. В Хелпе про SPI только то, что двойная скорость не поддерживается. У меня не может быть мудреной заморочки. Я, как всегда, где-то недочитал всем-гуру-известную хрень, про которую и спрашиваю. В USIDR значение записывается, но на симуляцию внешнего USCK/SCL тыканьем мышкой в РinА,4 биты не сдвигаются , USICNT не реагирует, при его установке и обнулении флаг переполнения не выставляется ... Явно что-то где-то не включил.... Добавлено : Все-таки ты помог! Я обратил внимание, что Хелп все больше про Симулятор2, а у меня в Студии просто Симулятор, а он сцука SPI не симулирует. Симулятор2 сработал нормально! Не попадайтесь!
  5. использование USI Atiny24 как SPI

    И все-таки (уж извините за тупость) как в реале обстоят дела? PA6(вход) предполагается входом данных PA7(вход) используется как приемник ~SS, при появлении 0 по прерыванию проводит инициализацию по даташиту: ldi TM,(1<<USIWM0)|(1<<USICS1) out USICR,TM Остальные биты порта А = выходы. Далее написанная херня исполняется прилежно: ldi TM,(1<<USIOIF) out USISR,TM Установили флаг SlaveSPITransfer_loop: in TM,USISR Его же тут же считали sbrs TM,USIOIF Сравнили с самим собой rjmp SlaveSPITransfer_loop И вышли из цикла В симуляторе никаких флагов не появляется, чтоб его обнулять, тыканье в PinA,4 (сформирован на выход, используется как slave-CLK ) изменений 4х разрядного счетчика (USICNT) не вызывает, ручная установка-обнуление счетчика флагов не вызывает ... И где тут сАбака зарылась?! Симулятор вообще симулирует в этом случае что-то?
  6. В связи с желанием освоить нечто более перспективное чем ATMEL, накупил две отладочные платы : Discovery - STM8S MB867A (с чипом STM8S105) и STM8L MB915B (с чипом STM8L152 и дисплеем). Пришел, однако, к выводу, что будущее за FRAM, и потому хочу сменять их на одну плату MSP-EXP430FR5739. Территориально Украина, Киев. Условия обмена обсуждаемы. 0038 095 639 0568 Георгий Владимирович.
  7. Есть желание применить в приборе генератор AD9957. Судя по нашему форуму микросхема весьма капризная в плане конструктива и процесса включения. По этому хотелось бы обратиться к лицу (физическому-юридическому) которое УЖЕ УСПЕШНО работало с этой микросхемой. Буде таковое лицо найдется в пределах Украины - обсудим аспекты взаимодействия. Российские фирмы не подходят. Частные лица - ХЗ, но можно обсудить по Виберу, или лучше Вотсапу (WhatsApp). Скайп=икающий отстой. 0038 095 639 0568 Георгий Владимирович.
  8. .DEF Cell_1=r1 ;| .DEF Cell_2=r2 ;| .DEF Cell_3=r3 ;|Напряжение Ячейки .DEF Cell_4=r4 ;| .DEF Cell_5=r5 ;| .DEF Cell_6=r6 ;| .DEF Cell_7=r7 ;| .DEF Cell_8=r8 ;| ;------------------------------------------------- .DEF Midl=r9 ;|Среднее напряжение ячеек ;------------------------------------------------- ;------------------------------------------------- .DEF TM=r16 :В разных местах удобней пользоваться разными именами .DEF TMB=r17 .DEF TMC=r18 .DEF TM2=r17 .DEF TM3=r18 .DEF MinB=r19 .DEF MinC=r20 .DEF TM4=r19 .DEF TM5=r20 .DEF MaxB=r21 .DEF MaxC=r22 .DEF TM6=r21 .DEF TM7=r22 Больше .DEF-ов нет. По 48й меге вопросов больше не будет - была сделана идеологическая ошибка, буду ВСЕ переделывать, теперь уже KITовым (модульным) Аурдинообразным образом на общей системной плате. И мегу возьму 16ю или 8535 и хрен с ней - избыточностью. Ужимать буду потом. Хотя по сдвигу нумерации регистров вопрос открыт. https://www.youtube.com/watch?v=TIIEZ2HarRw
  9. НЕ! Меня зовут Георгий Владимирович. Когда-то турки в Стамбуле, где работал лет 5 дали кликуху, пользуемую как ник. Я везде и давно уже GBey, только тут у вас "старым" остался. Какой там "код"!? 1. rcall CCell_1 - подпрограмма выставляющая порты (2) для подключения к ячейке внешнего "силового" мультиплексора. 2. rcall Time - подпрограмма временной задержки для устаканивания (IDLE сон, счетчик считает до переполнения, забыл выключать сон и получил предыдущий идиотизм ) 3. rcall IzM - измерение значения ( IzM: clr r27 сон для АЦП ldi TM,$03 ldi r26,0x53 ST X,TM ldi r26,$7A ВКЛ АЦП ldi TM,$CC ST X,TM Sleep nop ret ) Результат в TM7 (r22. Он же используется И под другим именем в других местах) Меряет правильно, но дифф. усилитель нелинеен, поэтому Корректирую измеренный inc TM7 inc TM7 inc TM7 inc TM7 inc TM7 inc TM7 mov Cell_1,TM7 Результат оказывается в r2. В самом начале : .DEF Cell_1=r1 ;| .DEF Cell_2=r2 ;| .DEF Cell_3=r3 ;|Напряжение Ячейки .DEF Cell_4=r4 ;| .DEF Cell_5=r5 ;| .DEF Cell_6=r6 ;| .DEF Cell_7=r7 ;| .DEF Cell_8=r8 ;| ОТАКЭ
  10. Спасибо за внимание, НО, я еще и удовольствие и понимание получаю (в смысле ассемблера), а план "не жмет". Кстати. текущий идиотизм был побежден и достоин записи в анналы. Формулирую : Вызвав режим SLEEP, нужно не забывать его выключать в возникшем прерывании Теперь прошу помощи в следующем (идиотизме ) : Поскольку работаю с батареей, присвоил регистрам r1...r8 имена "Cell_1", "Cell_2" .. и т.п. Просканировал-обмерил ячейки, записал в соответствующие регистры, полез Dragon-ом через Debag-wire посмотрел - - померяно правильно (величина), но вот записано в регистры на единицу бОльшие! Т.е. Cell_1 в r2, Cell_2 в r3 ... Cell_7 в r8? а Cell_8 х.з. куда... ЧТО не так?! Кто знает? PS результат (8-бит) считываю во временный регистр (r22), корректирую "по факту" (inc... или dec...) и копирую "mov r1,r22", а пишет в r2 вместо r1.
  11. Убрал все кроме таймера (в спящем режиме), при переполнении меняющего, в конце концов, включение одного из линейки светодиодов (все оставшееся - порты работают нормально). Меняю предделитель таймера, заливаю - меняется скорость переключения светодиодов. Отключаю питание, включаю питание - задержки НЕТ (писал выше). Вписал очистку старшего байта Х-пары, проблема ушла! Откуда и восторженный вопль (выше). Как оказалось -рановато Начинаю включать АЦП по окончании задержки - срыв установок таймера, как и при перетыке питания ! Доизгалялся с установками АЦП - выяснилось, что установка маски прерывания АЦП (ADIE) кошмарит таймер! Идиотизм. Заменил контроллер - идиотизм исчез. Выходит кристалл подпорченный был! Это, плюс моё нубство прилично напрягают. Хотя способствуют углубленному изучению предмета Сейчас вот пытаюсь заставить работать АЦП - даташит Меги в соседнем окне, с английским практически без проблем, а проблема опять на уровне идиотизма - либо не запускается, либо виснет. И с ручным запуском (ADSC), и с переполнением счетчика (ADATE+ADTS) ...
  12. Цитата(Сергей Борщ @ Feb 1 2016, 04:04) Использование в программе неинициализированных переменных? Господин Борщ - респект и уважуха! Это надо крупными буквами где-то в началах AVR-ов писать! Я "попался", судя по всему, на новых технологиях микропитания контроллеров (суффикс "Р" после номера модели). Раньше получалось присвоить r26 значение, а потом сделать посылку регистру ST X,..... забыв про старший байт этого Х-са. Теперь не проходит - при микропотреблениях на него ловится неизвестно какая хрень и посылка "ST X" посылает данные ХЗ куда. Причем, если Студия чистит забытые пользователем старшие байты, то после пропадания питания фокус вылазит, причем непрогнозируемо и не обязательно! СПАСИБО.
  13. Спасибо за ответ! Потому и пишу, что не могу "разоблачить чудо" Уже третий день... Содержимое флэша сверил - соответствует. Можете сформулировать - чем отличается состояние контроллера сразу после программирования, от включенного потом? Ресет на ситуацию НЕ влияет - сразу после заливки перезапуск восстанавливает правильную работу. После выкл-вкл питания восстанавливает НЕправильную работу. Похоже "собака зарылась" где-то "сбоку" и не связана ни с программой ни с её заливкой, а влияет на работу при снятии/подаче напряжения на какие-то выводы. Осталось перепаять эту TQFP-32...
  14. Устройство ВНЕШНИМ дифференциальным мультиплексором опрашивает цепочку ячеек, циклически. Мега48 выдает на порты В и С нужные сочетания сигналов. Для устаканивания процесса переключения делается задержка на счетчике (любом). Программируем через ISP - все исправно моргает. RESET срабатывает штатно. Отключаю питание, через несколько секунд включаю - моргание учащается раз в 10! Счетчик ВХОДИТ в сон (IDLE) {если убрать команду Sleep моргает еще быстрее}. Предделитель - пофигу, как и счетчик 0й, 1й или 2й. Впечатление, что счетчик входит в процесс, по Sleep-у останавливается счетчик команд, потом нечто прерывает задержку и цикл опроса продолжается.... Все, что не относится к данному процессу (АЦП и его предустановки, подпрограммы обслуживания других цепей) закомментировано. Попутно : Знает ли история факты "порчи" контроллера ИЗНУТРИ? В смысле НЕ сожженый Порт, а, к примеру, ячейки FLASH умершие до состояния ОЗУ ? А то получается, что ЧАСТЬ ПРАВИЛЬНО распиханного по регистрам, после снятия питания пропадает. Или, "где сАбака зарылась"?
  15. Mega48PA TQFP32

    ESN спасибо! Ужо победил с помощью параллельного программирования.