![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Пришелец
Участник-
Постов
186 -
Зарегистрирован
-
Посещение
Весь контент Пришелец
-
ага - спасибо за совет! попробую
-
Хотел делать новую тему - но видимо мой вопрос из той же оперы. устройство работает с DS1990A. Всё было нормально, отлаживается обычно на стенде там запаян один тестовый ключ. Сегодня на ключи реакции сначала не было причём не у одгого устройства а у нескольких. Если потрогать плюсовой контакт ключа пальцами, то он начинает считываться. Подключение конденсатора 1 нФ помогает - ключ считывается. Могу отметить, что сегодня видимо повышенная влажность и чуть более холодно. Подключение другого ключа не тестового - работает и без конденсатора. (морозил в морозилке - всё равно работает). Что может быть с тестовым ключом :blink: ??? Подтяжка к +5 4,7К и последовательно 100 ом.
-
TheMad :a14: Большое спасибо за помощь. Помогло следующее: всё что делал ранее по отдельности сделал всё вместе т.е.: 1. взял землю для ЦАП и выходного делителя с микрофонной земли модуля. 2. взял другое питание для ЦАП 5 вольт прямо со стабилизатора до ответвления на цифровые микросхемы. 3. последовательный резистор выходного делителя напаял непосредственно на ногу ЦАПА. результат удволетворительный
-
разъём антенны на плате к нему подключается штырьковая антенна. Пробовал и выносную на достаточном растоянии ситуация та же. Да осцилографом видно на выходе ЦАПА приличные помехи соответствующие излучению передатчика. На земле и питании ЦАПА помех нет. Заметил что при касании выхода цапа иголкой - фон усиливается многократно, видимо наводка пролезает через излучение. или трансформатор звуковой или диф. усилитель на ОУ. были такие мысли но хочется обойтись без них и видимо это то же не поможет т.к. помеха формируется на выходе ЦАПА
-
Попробовал - наводок совсем неслышно. Номиналы сейчас 470 Ом и 22 КОм Пробовал питание ЦАПа брать с другого источника не от того от которого питается модуль. Землю ЦАПа соединял толстым проводом со входом земли - не помогает ничего.
-
Помогло - но не полностью :( всё-равно остаётся фон. (Причём зависит от мощности излучения когда GSMсигнал хороший мощность излучается низкая - и фона нет) И ещё вопрос "Все работало замечательно." - качество звука было по громкости и по чистоте такое же как например у служб оператора. фона от передатчика совсем небыло слышно?
-
:) Спасибо - сегодня попробую (такой же совет получил от босса :) ) о результате напишу
-
подключение аудио к GSM модулю ?
Пришелец опубликовал тема в Цифровые схемы, высокоскоростные ЦС
Посоветуйте пожалуйста: нужно подключить выход ЦАПа DAC7512 к микрофонному входу GSM модуля Motorolla G20 микрофонный вход имеет свою землю которую нельзя соединять с остальной землёй. если просто подключить через RC то проходит сильный шум от GSM. Спасибо всем кто ответит :) -
Неужели никто не подключал к GSM модемам ничего кроме микрофонов?
-
подключение аудио к GSM модулю ?
Пришелец опубликовал тема в Вопросы аналоговой техники
Посоветуйте пожалуйста: нужно подключить выход ЦАПа DAC7512 к микрофонному входу GSM модуля Motorolla G20 микрофонный вход имеет свою землю которую нельзя соединять с остальной землёй. если просто подключить через RC то проходит сильный шум от GSM. Спасибо всем кто ответит. :) -
Большое спасибо! с примером всё понятно - очень удобно (у нас одна проблема - программа имеет больший размер чер половина флэша) а насчёт загрузчика если он линкуется не с нуля то как на него осущ переход при вкл питания или он изменяет на себя вектор сброса после загрузки приложения? В АВР есть fuses для изменения адреса старта (перехода на загрузчик) а в арме по-моему нет (или я не в курсе)
-
Пусть bootloader тогда вопрос: он компилируется отдельной программой или является частью приложения? может есть ссылочка на пример загрузчика из внешнего датафлэша всё-равно заманчивой остаётся идея биоса - инкапсуляция ф-ций железа, обспечение разделения программы на аппаратнозависимую часть и аппаратнонезависимую
-
В основном для того чтобы обеспечить дистанционную загрузку приложения. Во флэш должен всегда оставаться гарантированно рабочий загрузчик (т.е. он не должен перезаписываться). Размер программы превышает размер половины флэша.
-
Добрый день! Всем. Хочу попросить совета у профессионалов. Задача такая: построить программу для АРМ (среда разработки ИАР), чтобы она состояла из двух частей: 1 часть BIOS - постоянно находится во FLASH 2 часть APPLICATION - загружается BIOSом во FLASH и запускается им же и при этом для взаимодействия с железом использует ф-ции BIOS У меня пока на уме такое решение: BIOS компилируется как обычная программа но расположенная в верхних адресах памяти и использующая верхние адреса RAM. Приложение компилируется с обычным расположением сегментов ограниченных сверху размером под BIOS и загружается BIOSом в нижние адреса (как обычно) после загрузки (или во время загрузки) первая инструкция подменяется на команду перехода на BIOS. Взаимодействие приложения с биосом через прерывание софтовое. Или может есть другой способ (правильный :unsure: ) ? Заранее спасибо за советы. Приложение включает в себя FreeRTOS. Или может лучше отнести её к BIOS ?
-
я не про 25 а про 26
-
Да что-то я не углядел сначала серию AT26DF она по описанию получше - а по деньгам то же самое как и 45. :w00t: надо место на плате и под неё зарезервировать параллельно 45-ой
-
Спасибо. За столь развернутые ответы. :a14: Т.е. как я понял в принципе можно использовать для хранения некоего исполняемого кода. Стоит ли проверять его на правильность??? В котором содержатся так же некоторые настройки которые могут находиться в произвольном месте и иногда изменяться. Т.е. в одной странице может находиться и код и эти настройки. Настораживает только одно - пропадание питания во время записи или стирания страницы. Тогда и код будет попорчен. Наверное всё-таки лучше их разделять по разным страницам. И рефреш тогда уж наверное лучше не делать?? Ограничить ресурс перезаписей настроек 10000 (и хватит) а то во время рефреша пропадание питания если
-
Ресурс микросхем AT45DB081b
Пришелец опубликовал тема в Все остальные микроконтроллеры
Кто-нибудь подскажет максимальное количество циклов перепрограммирования этой микросхемы. В интернете нашёл 50тыс (но источник информации непроверенный) так же интересует вообще надёжность хранения информации ;) (из практики может кто поделится). и напоследок непонятно зачем так реализована аппаратная защита от записи - только первые 256 страниц мне кажется логичнее защищать весь массив Заранее всем ответившим спасибо :) -
Спасибо Petka!!! Ты побудил меня прочитать ещё раз инструкцию на avreal там можно задавать lpt порт не только номером но и адресом поставил адрес и всё пошло!!! пришлось добавить ещё правда задержечки -3 и усё РАБОТАЕТ теберь буду под XP (а то начальник хотел уже новый комп покупать :) )
-
Поставил WinXP на комп на котором до этого был WinME встроенный LPT давно сдох использовалась плата PCI на ней LPT и два COMа программировал AVR досовским AVREAL-ом сейчас поставил DLPortIO и хотел использовать avreal32 но он не может управлять этим LPT портом :unsure: , наверное из-за того что у него нестандартные адреса 0xD200 и 0xD300 и эти адреса никак похоже не изменяются не перемычками ни в настройках устройства Может кто сталкивался с такой проблемой. ?
-
Всем большое спасибо!!! Ура !!! всё понятно!!! дело было вот в чём: проект состоит из файлов на C и на ассемблере, я как-то давно повелось, не задумываясь в ассемблерных файлах данные определял в сегмент NEAR_I. Отсюда у меня и получались разные размеры сегментов NEAR_I и NEAR_ID - терялось их соответствие данные копировались из flash в ram со сдвигом. Поменял сегменты для данных в ассемблерных файлах на NEAR_Z и всё заработало!!! РАЗМРЫ СЕГМЕНТОВ NEAR_I и NEAR_ID ДОЛЖНЫ БЫТЬ РАВНЫ ! ! !
-
создал новый проект :( :( :( :( :( :( :( :( :( :( :( :( не помогло. __x_z void __flashcpy(DstPtr_Type dst, SrcPtr_Type src, Counter_Type size) { do { *dst++ = *src++; } while(--size != 0); } эта ф-ция в файле segment_init.c она неправильно работает - если поменять *dst++ = *src++; на *dst++ = 1; то все статические переменные инициализируются единицами т.е. видимо src не на нужную область указывает в файле кода смотрел структуры SegmentInitBlock (их всего две для near_i и near_z)сформированы правильно с нужными адресами инициализаторов. т.е. всё вроде правильно написано и должно работать - но не работает. только размер сегментов Near_i и near_id не совпадает первый больше и цикл копирования из flash в RAM выполняется по длине near_i __________но это наверное не страшно :blink:
-
подключил оба файла avr\src\lib\low_level_init.c avr\src\lib\segment_init.c хоть ф-ции эти и не переопределяются. используются по умолчанию попробовал иаровским debugerom значение переменной не присваивается но вместо ff начальное значение = 0 В near_id я имел в виду записывается значение инициализатора. поставил галки как Вы сказали - то же самое :( ______________ что дальше делать? самому писать segment_init :) ???
-
Во вкладке CODE пробовал все комбинации - не помогает Напишите пожалуйста как стоят галки в след опциях у кого всё работает: Place string literals and constants in initialized RAM ? Place aggregate initializers in flash memory ? Force generation of all global and static variables ? avr\src\lib\low_level_init.c попробую сегодня включить переменные вроде попадают в нужные сегменты Near_i и Near_id отладчиком не пользуюсь - прямо на железке.