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

ksv198

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

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

  • Посещение

Весь контент ksv198


  1. СС2500

    раз уж вы на практике сей кристалл (в смысле чип:) ) познали, то не разъясните как пользоваться и не для этих ли целей в СС2500 встроена функция калибровки? Что вы подразумеваете под понятием пользоваться? Основные процедурки для Меги48 на асме я тут в посте другом выкладывал. Если что-то конкретное - я готов по мере сил ответить на вопросы. К сожалению пока проект не завершен, я не имею достаточно времени для подробного описания. Как только чуть-чуть освобожусь - обязательно все опубликую в деталях, со всеми граблями и вариантами :) Тем более Chipcon порадовал недавно второй версией (тоесть 1.1) даташита. А там есть очень полезные вещи не описанные в первой версии, до которых приходилось доходить самостоятельно ценой "замученных" микросхем. Что касается калибровки - я думаю она нужна как и в любом синтезаторе, так как параметры любого электронного изделия плывут по времени. Подстройка частоты несущей потребовалась по причине того, что отдельные кварцы в партии довольно значительно отличались по частоте, а мне нужна была узкая полоса на приеме (кварцы noname; фирменные, наприер Jauch, очень дорогие - до 7 евриков за штуку при партии 100 штук; вообще с SMD кварцами на частоты от 26 до 27 МГц какой-то проблем, очень трудно найти)
  2. СС2500

    30 ppm это отклонение частоты конкретного экземпляра кварца, включающее в себя дрейф частоты в процессе работы (кажется уход за час, точно не помню) плюс температурная нестабильность, плюс еще что-то. А маркировка кварца 26.208 подразумевает, что в партии могут быть кристаллы с любой частотой в пределах от 26.208000 до 26.208999. Тогда имеем по максимуму (наихудший результат): (30*26.208000)+999=1785 и если это перенести на 2.4 ГГц то получим 163 кГц, что хорошо согласуется с экспериментом - для аналогичного кварца 27.000 пришлось подстроить частоту ~ на 100 кГц для нормальной связи. При отсутствии подстройки и полосе пропускания приемника 250 кГц только обнаруживалась несущая (что тоже было удачей), а связи не было. СС2500 если считает, что качество принятого сигнала ниже установленного LQI, то обнуляет буфер, связи нет. Реально для устойчивой связи приходилось немного подстраивать даже с кварцами 26.601712.
  3. Mega48+HPS16A

    Спасибо, в противофазе это мысль! А с индуктивностью я так понимаю, надо в резонанс попробовать загнать (ну или близко к нему)?
  4. Mega48+HPS16A

    Доброго времени суток всем! Имеем подключенную на ногу Меги48 пьезопищалку HPS16A. Пищалка подключена между плюсом питания и выводом порта D Меги. Напряжение питания 3 Вольта. Подаю на ногу меандр 4000 Гц, как в даташите на пищалку рекомендовано. В результате имею весьма слабый звук. Уменьшение частоты до 1000 Гц улучшает результат (по громкости) раза в два, но все равно не то.... Вот вопрос - можно ли заставить пищалку орать по-громче при указанном питании (3 вольта) ? Когда-то встречал решение по включению пьезика через индуктивность, но детально схему не помню, да и опасаюсь в этом случае попалить Мегу выбросами самоиндукции. Может кто подскажет мысль?
  5. Вот тут в прицепе есть статейка на эту тему. Немного (и по-английски), но простым языком, довольно понятно. А главное в конце статьи есть ссылки на ресурсы по теме.AN_014_Frequency_Hopping_Systems_1_0.pdf
  6. Вопрос собственно вот в чем: какой-нибудь программатор кроме JTAGICE mkII может шить АВР-ки через debugWIRE? Если кто-то встречал такую возможность, киньте ссылкой плз...
  7. Уж помоему лучьше взять EM2420. И строить ZigBee. Благо Ember стэк бесплатно раздаёт. И стэк для Atmega128 написан. А моторолла всё за деньги даёт. И стэк у неё под её процы заточен. :) Я тут повыше прицеплял к сообщению архив с примерами от Chipcona, там как раз С, только проц другой, х51. Однако вся разница будет в переопределении ног для меги8.
  8. Sorry, мы уже заказали, ждем теперь когда приедет. Обещают после 10 декабря.
  9. SPI я организовывал программно, в посте повыше есть тексты на ASM и прикрепленный файл, в нем все подпрограммки для софтового SPI. Выводы можно использовать любые, так как все программно переопределяется. Проект у меня был для частоты кварца (Атмела) 1 Мгц, для нее 1 пустой цикл (nop) около 1 мкс, исходя из Вашей частоты кварца надо соответственно задержки делать где есть ссылки типа delay_5ms - это 5 мс задержка.
  10. Самое главное - вам нужны не просто индуктивности 1.2 нГ, а являющимися таковыми на частоте 2.4 ГГц. Если глянете графики зависимости свойств от частоты основных продаваемых серий SMD-дросселей - настроение резко ухудшится. Переходите на рисованные индуктивности. Кое-какие фотографии модулей и антенн есть на www.zigbee.boom.ru . А вообще, чипкон - не лучший выбор, гораздо перспективнее прикладывать усилия к освоению MC13192 с переходом на MC1321x. Сам Chipcon рекомендует многослойные индуктивности Murata : ------ In the CC2500EM reference design LQG-15 series inductors from Murata have been used. Measurements have been performed with multi-layer inductors from other manufacturers (e.g. Würth) and the measurement results were the same as when using the Murata part. ------ Найти их мелкими партиями (меньше 1000 штук) практически нереально - поставщики их предлагают катушками (5000 - 10000 штук) по цене ~8-10 руб за штучку, соответственно для крупных проектов это пройдет, а для малых - дороговато. Можно попытаться найти аналогичные индуктивности Bourns, в каталогах они есть, но тоже большими партиями. А вот например фирма "Дэрикон" предложила мне следующее: ------ HPL1005-1N2 INDUCTOR 1.2NH +/-0.2NH 0402 Цена с НДС--0.12$ (для 150шт) \\ 0.08$ (для 1000-2000шт) Срок поставки--2-3 недели ------ Попробую, что получится расскажу. Что касается рисованных индуктивностей - насколько повторяемы будут их параметры на текстолите FR-4? Мне почему-то кажется, что не очень. Особенно если этот FR-4 не очень дорогой :) Впрочем если кто-нибудь посчитает такую для FR-4 толщиной 0.8 и 1 мм, я думаю общество будет весьма благодарно :cheers: А вся прелесть использования СС2500-СС2550 в их малой цене. Если нужно что-то серьезное мутить - то и микросхемы надо выбирать другие - у того же Chipcon'a есть например СС2400-СС2420, но дороже :)
  11. Если я правильно понял Даташит :) то WHITE_DATA это приведение (аппаратное) сигнала к виду без постоянной составляющей - облегчает режим работы передатчика, должно быть включено с обоих сторон (и на приеме и на передаче), APPEND_STATUS - включает в принятый пакет два байта дополнительно в конце - уровень сигнала RSSI, и качество сигнала (насколько легко аппаратно декодировать) LQI. CRC_AUTOFLUSH - автоматическое опустошение буфера при неправильной контрольной сумме пакета (считается аппаратно). Все фичи на мой взгляд очень полезные.
  12. Прошу прощения за долгое молчание, Инет только на работе, да и тут электричества цельный день небыло. Рад, что у Вас все получилось. Во второй версии Даташита Chipcon немного исправился, чуть подробнее и понятнее написали, но уже поздно, мы их и так поняли :) Вот на всякий случай архив с примерами, если кто не нашел на их сайтеSmartRF04DK_Examples_Libraries_1_1.zip. По ним реально легко алгоритм инициализации и работы прочитать, все по-порядку и совпадает с опытом. ----- На сегодня - чип работает на скорости 500к , на расстоянии 20 метров через ЖБ стены ----- Хотелось бы узнать на какую антенну? У меня на диполь (в виде петли периметром ~12см) при максимальной мощности (+1 дБм) в кирпичном здании не более 10 м. На улице ~20, но нужно ориентировать точно антенны.
  13. Как показывает практика понять Datasheet's можно практически не зная английского. Достаточно знать чего в принципе хочешь от микросхемы. Отладочная плата - хороший вариант, если есть много денег, у Чипкона они дороговаты, на мой вкус :) . Советую собрать простой стенд на каком-либо хорошо знакомом контроллере и целевой микросхеме (СС1020) и спокойно отработать все необходимые режимы. Мне нравится использовать Атмеловские Меги - имеется последовательный порт, через который можно вести всю отладку не отцепляя программатор от SPI, да и свободных ног всегда достаточно, плюс широкий диапазон питания. Удачи!
  14. Вот последовательность инициализации СС2500 : ;инициализация СС2500 rcall init_spi rcall por_cc2500 rcall delay_5ms rcall write_settings rcall delay_5ms rcall write_patable rcall delay_5ms ; ldi temp,SFRX mov spi_out,temp rcall write_strob nop ; ldi temp,SFTX mov spi_out,temp rcall write_strob nop ; ldi temp,SIDLE mov spi_out,temp rcall write_strob ;IDLE Подпрограммки и описание регистров в прикрепленном файлеCC2500.ZIP Переключение в режим приема осуществляю при нажатии на кнопку: sw2: ; sw2_lp: ldi temp,SFRX mov spi_out,temp rcall write_strob nop rcall delay_1ms ; ldi temp,SCAL mov spi_out,temp rcall write_strob nop rcall delay_1ms ; ldi temp,SRX mov spi_out,temp rcall write_strob nop rcall delay_1ms ; cbi PORTD,4 sw2_loop: sbic PINB,gd2 sbi PORTD,5 sbis PINB,gd2 cbi PORTD,5 ; sbic PINB,gd0 rjmp sw2_recive ; rjmp sw2_loop sw2_recive: sbi PORTD,4 sbic PINB,gd0 rjmp sw2_recive rcall read_fifo rcall delay_5ms ; rjmp sw2_lp ; ret Немного пояснений к последнему блоку. На одну ногу микроконтроллера привязан вывод GDO0, на другую - GDO2 (SPI само собой на другие 3). После включения режима приема жду 1 на ноге GDO2, проинициализированной в режим индикации обнаружения несущей, после чего жду 1 на ноге GDO0, проинициализированной в режим индикации приема слова синхронизации. После снития 1 на этой ноге читаю ФИФОшку. Все это из примеров использования микросхемы, которые Chipcon выложил у себя на сайте. Там правда на С все и для другого контроллера, но разобраться реально можно. На передачу практически то же самое: main_loop: ; rcall write_txfifo nop ldi temp,STX mov spi_out,temp rcall write_strob mn1_loop: sbis PINA,gd0 rjmp mn1_loop mn2_loop: sbic PINA,gd0 rjmp mn2_loop rcall delay_250ms rjmp main_loop В передатчике в начале пишу в фифо то, что хочу передать, потом включаю режим передачи и жду 1 на GDO0, что означает успешную передачу слова синхронизации, а кода появляется 0 - пакет передан, можно следующий пихать. Как показал опыт - основная проблема при настройке это совпадение частот приемника и передатчика. У меня кварцы с 6-ю цифрами, но пришлось подстраивать на ~200 кГц путем изменения значения регистров FSCTRL1, 0. Сейчас мучаюсь с печатной антенной (F-антенна). С петлей (folded dipole) работает прекрасно, а тут в схеме согласования очень противные индуктивности 1,2нГн - достать трудно. А у Вас какая антенна? Так ведь у СС2500 все есть уже для решения проблемы! Работать нужно пакетами, при этом микросхемы сами умеют определять кому какой пакет полагается, потому как там можно адресовать до 254 устройств на одном канале (путем определения адреса). Включаем проверку адреса в регистре PKTCTRL1, а сам адрес в регистре ADDR. Причем поддерживается и широковещание или по адресу 0, или по адресу 255.
  15. Резистор в ключе

    Если хотите предсказуемого поведения транзистора - всегда. Нас в свое время в институте лишали зачета по полупроводниковым приборам если забывали резюк. Причем номинал его желательно не с потолка брать, а посчитать исходя из возможного обратного тока коллектора в рабочем диапазоне температур, чтобы этот злобный ток транзистор не вовремя не открыл.
  16. Один конец F-антенны, который заземлен, соединен с полигоном на слое TOP, а уже этот полигон через переходные отверстия заземлен на слой BOTTOM, на котором кроме земли ничего нет (почти :) ). Проблема была в том, что на слое TOP заземленный конец антенны коннектился с термальным барьером, совет поставить у падстека на слое TOP галку "Flood planes/pours" полностью помог.
  17. Подсчет СRC

    Вот еще подпрограммка, использовал для подсчета CRC карточек RFID типа EM-Marine: --------------------------------------------------------------------------------------------------------- ;Программы вычисления CRC8 блока памяти начиная с указателя Z ;длиной 7 байт; использует регистры Z, R0 ;на выходе CRC8 в temp CRC8calc: clr temp ldi dly3,7 ;счетчик байт ldi dly1, 0x0C CRC8_l1: ld R0, Z+ ldi dly2,8 ;счетчик бит CRC8_l2: ror R0 ror temp brcc CRC8_l3 subi temp, 0x80 CRC8_l3: brpl CRC8_l4 eor temp, dly1 CRC8_l4: dec dly2 brne CRC8_l2 dec dly3 brne CRC8_l1 ret За основу был взят код найденный на просторах Инета, точно уже не помню откуда.
  18. Да там не vias - pad, отверстий на этом футпринте нет. Спасибо! Сам не додумал... торможу. :)
  19. PCB антенна в Orcad Layout

    Доброго времени суток всем! Вот встала такая проблемка: как правильно нарисовать печатную F-антенну в виде футпринта? Я сделал так: определил две контактные площадки (без отверстий), потом нарисовал полигон и прицепил его к одной из них (библиотечку прилагаю файлом). В принципе меня почти устраивает, но есть проблемка - так как один из концов антенны должен быть соединен с землей, Лэйаут делает это с тепловым барьером, потому приходится потом это место закрывать полигоном дополнительно. Чувствую интуитивно, что можно сделать по-человечески и более правильно, но как... :( F_ANT.ZIP
  20. Mega48 и Tiny26 работают прекрасно при питании 3 Вольта, поэтому напрямую, конечно :) Что касаемо Microchip, то или тот же принцип - питать от 3 В, или использовать преобразователи уровней. На сайте Chipcon'a есть примеры (правда для СС1000, но принципы те же) в файлах AN_021_Voltage_Level_Conversion_1_1.pdf и AN_009_CC1000_MCU_Interfacing_3_0.pdf. Однако, думаю, что идеологически правильнее все же питать контроллер и СС2500 одним напряжением в 3В (или 3,3В, у СС2500 максимально 3,6 В). Как показал эксперимент данная микруха плохо переносит ошибки с уровнями - горит :(
  21. Спасибо всем, понял, что программно на АВР-ках решать эту задачу малореально (слишком велики затраты времени исполнения программы). Буду делать аппаратно, на стабилитроне или сдвиговом регистре и мерить "белый шум" АЦП.
  22. Доброго времени суток всем! Собственно интересует сабж, есть ли реализация именно на ASM? И насколько это имеет смысл (как велик будет код для Меги8 например)?
  23. Наиболее простой способ - использовать 3 малогабаритных герконовых реле (вместо переключателей в вашей схеме). Ими (реле) очень просто управлять прямо ногами Меги, или через ключики простейшие. Если места маловато - тогда действительно лучше делитель постоянный, но при этом снизится точность при малых напряжениях.
  24. Доброго времени суток всем! Ищу однострочный ЖКИ типа SC1601 с большими символами. Все предлагаемые имеют максимальную высоту символа ~15мм, а хотелось хотя-бы 30-35мм. Если кто знает, плз подскажите, такие бывают вообще (именно со встроенным контроллером типа SC1601), и где взять можно?
  25. Проблемка с mega16L

    При каком напряжении питания пытаетесь прошивать 16L? У меня были случаи, когда контроллеры с индексом L нормально шились при 3-х вольтах и ни в какую не хотели при 5. Использовал байт-бластер (с доработками для AVReal, с выводом XTAL) и AVReal.
×
×
  • Создать...