PIC18F452 на больших частотах

Nov 27, 2003 17 Replies

Hi All !



Проблемка следующая: Есть программа, нормально себе работающая в PIC18F452 на кварце 18.432 МГц. Если я пытаюсь увеличит частоту, то начинаются непонятности: USART чего-то плюет в TX, пины дергаются, все это с разной периодичностью (от долей секунды до секунд), начиная от момента включения. Такое ощущение, что он пересбрасывается. Причем между хаотичными (пересбросами?) ведет себя нормально, бежит по программе и по COM-порту общается как живой.



Я уже отключил PLL и в режиме внешнего генератора подал на него частоту- эффект тот же самый. Пробовал частоты от 25.1 до 40 МГц. Смотрел на двух ПИКах- одинаково.



PIC еще из первых продаваемых в Москве партий. Может, они частоты не переносят? В ерратах я ничего не увидел. WDT у меня выключен. Что еще может быть?


WBRgrds Ruslan


Hi All !

Эспериментально получена следующая информация:

  1. Hа частоте 22.5 МГц- работает устойчиво и без проблем.

  1. Hа частотах 28.6 МГц и выше - периодически сваливается в сброс. После такого "незапланированного" сброса в регистре RCON следующие значения флагов: BOR - не изменяет состояние POR - не изменяет состояние PD - "1" TO - "1" RI - не изменяет состояние.

Судя по таблице 3-2 в даташите (ds39564A, page27), это непредусмотренная производителем комбинация битов. :-(

То, что биты не изменяют свое состояние, выяснял так: после чтения сначала обнулил все биты, дождался сброса, прочитал. Потом установил все биты в "1", дождался сброса, прочитал. Потому и говорю, что BOR,POR,RI действительно не меняют свое состояние.

И еще: Считывание регистра STKPTR после такого сброса дает 0 (т.е и переполнений стека нет, и в стеке ничего не накопилось).

Пока что надеюсь, что это проблема с имеющимися у меня экземплярами PIC18F452. Хотя, вдруг на более новых то же самое?

Люди, кто юзал эти камни, подтвердите-опровергните мысль, что PIC18F452 умеет работать на частотах выше 22 МГц. Желательно до штатных 40 МГц :)

PS Такое ощущение, что мне достались 20-мегагерцовые камни :(

WBRgrds Ruslan

Hi All !

Hаверно, старый стал. И глупый. И на пенсию пора. Или хоть в отпуск. Или напиться. Или выспаться.

Приношу извинения за наезды на любимый мною МелкийЧип.

В-общем, все решалось до обидного просто: возле питательных ног процессора не было емкостей по питанию. Когда паял макетик- не запаял. Возле 7805- запаял, возле разъема CompactFlash - запаял, а вот возле процессора- ни одного. Вот оно мне и аукнулось. Спасибо еще, что таким явным образом, как уход в сброс. Припаял две емкости по 0.1 uF - и все стало нормально работать на 40 МГц, в полном соответствии с документацией.

Мораль: делая большое, не забывайте о мелочах. Вроде конденсаторов по питанию. :)

WBRgrds Ruslan

Привет!

Thu, 27 Nov 2003 16:28:35 +0300, Ruslan Mohniuc писал:

У меня пара связанных устройств на PIC18F252 (думаю там кристалл тот же самый) в SOIC и в DIP, купленные в разное время, без проблем работают на 40 МГц (10 МГц кварц, включён синтезатор), причём именно связываются через UART (1,25 Мбод).

Может что-нибудь с питанием?

Александр Голов, Москва, snipped-for-privacy@mtu-net.ru

Hi Ruslan, hope you are having a nice day!

28 Hоя 03, Ruslan Mohniuc wrote to All:

RM> Вот оно мне и аукнулось. Спасибо еще, что таким явным образом, как RM> уход в сброс. Припаял две емкости по 0.1 uF - и все стало нормально RM> работать на 40 МГц, в полном соответствии с документацией.

Я бы уменьшил до 0,01 или даже до 1000 пФ NP0.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Пpивет, Alexey!

*** 28 Nov 03 19:30, Alexey V Bugrov wrote to Ruslan Mohniuc:

RM>> Вот оно мне и аукнулось. Спасибо еще, что таким явным образом, RM>> как уход в сброс. Припаял две емкости по 0.1 uF - и все стало RM>> нормально работать на 40 МГц, в полном соответствии с RM>> документацией.

AB> Я бы уменьшил до 0,01 или даже до 1000 пФ NP0.

А еще лучше - набор номиналов 0.1 uF, 10n, 1n0 параллельно. Такое активно практикуют на VHF/UHF (на UHF даже десятки-сотни pF добавляют), но и на современных компьютерных "матерях" в цепи питания вперемешку 0.1 uF и 10n, а, возможно, теперь и 1n0. Для 40-MHz кристалла, впрочем, 0.1 должно бы хватить. Тут уж больше топология питания критична.

с уважением Владислав

Hi Vladislav, hope you are having a nice day!

28 Hоя 03, Vladislav Baliasov wrote to Alexey V Bugrov:

RM>>> нормально работать на 40 МГц, в полном соответствии с RM>>> документацией. AB>> Я бы уменьшил до 0,01 или даже до 1000 пФ NP0. VB> А еще лучше - набор номиналов 0.1 uF, 10n, 1n0 параллельно. Такое VB> активно практикуют на VHF/UHF (на UHF даже десятки-сотни pF VB> добавляют), но и на современных компьютерных "матерях" в цепи питания VB> вперемешку 0.1 uF и 10n, а, возможно, теперь и 1n0. Для 40-MHz VB> кристалла, впрочем, 0.1 должно бы хватить. Тут уж больше топология VB> питания критична.

Угу, только если 0.1 ставить, то обязательно не хуже X7R.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Милостивый государь Ruslan!

28 Ноя 03 15:01, Вы изволили послать сюда, в частности, следующее:

RM> Припаял две емкости по 0.1 uF - и все стало нормально RM> работать на 40 МГц, в полном соответствии с документацией. RM> Мораль: делая большое, не забывайте о мелочах. Вроде конденсаторов по RM> питанию. :) Hи фига себе мелочь. У нормального инженера-электронщика постановка блокировочных конденсаторов должна выполняться рефлекторно.

Примите уверения в совершеннейшем к Вам почтении. А.П.Гуськов.

Hi Alexander !

Совсем недавно 28 Nov 03 17:36, Alexander Golov писал к Ruslan Mohniuc:

AG> Может что-нибудь с питанием? Точно. Оно. Смутило то, что граница работоспособности проходила где-то около 20 МГц. Макетка, млин. Шины питания вроде толстые, и не ожидал я, что емкость на расстоянии 50 мм от выводов ПИКа он уже за емкость не считает. Когда прямо на выводы повесил- все стало OK. Поленился - и вот оно.

Кстати, а в том девайсе на 18F252 и 40 МГц на каком расстоянии от выводов питания емкости установлены? и какие номиналы?

WBRgrds Ruslan

Hi Vladislav !

Совсем недавно 28 Nov 03 22:16, Vladislav Baliasov писал к Alexey V Bugrov:

VB> А еще лучше - набор номиналов 0.1 uF, 10n, 1n0 параллельно. Такое VB> активно практикуют на VHF/UHF (на UHF даже десятки-сотни pF VB> добавляют), но и на современных компьютерных "матерях" в цепи питания VB> вперемешку 0.1 uF и 10n, а, возможно, теперь и 1n0. Для 40-MHz VB> кристалла, впрочем, 0.1 должно бы хватить. Тут уж больше топология VB> питания критична. Вот! И у меня так. Топология. Емкость-то на макетке по питанию была (около питающего 7805, прямо на ногах стабилизатора), 0.1 мкФ SMD. Расстояние от емкости до питания ПИКа- около 50 мм по проводам. Однако это до одной пары выводов питания (у этого камня две пары выводов с разных сторон), до другой пары провода (точнее, шины на макетке) по-длиннее были.

WBRgrds Ruslan

Hi Alexey !

Совсем недавно 29 Nov 03 01:45, Alexey V Bugrov писал к Vladislav Baliasov:

AB> Угу, только если 0.1 ставить, то обязательно не хуже X7R. Почему? Что критично? Влияение емкости от температуры или частоты? Или тут больше изменение индуктивности влияет?

WBRgrds Ruslan

Hi Andrew !

Совсем недавно 30 Nov 03 00:55, Andrew Gooskov писал к Ruslan Mohniuc:

RM>> Припаял две емкости по 0.1 uF - и все стало нормально RM>> работать на 40 МГц, в полном соответствии с документацией. RM>> Мораль: делая большое, не забывайте о мелочах. Вроде RM>> конденсаторов по питанию. :) AG> Hи фига себе мелочь. У нормального инженера-электронщика AG> постановка блокировочных конденсаторов должна выполняться рефлекторно.

Hу, значит я ненормальный инженер-электронщик. :)

Если бы я эти емкости сразу припаял, прямо к выводам со стороны пайки (логичное решение для макетки и SMD- конденсатора) то оно бы сразу заработало. Hо я бы тогда не знал, что тут (на 40 МГц) единицы сантиметров так играют. И теперь, если мне из-за особенностей конструктива потребуется относить конденсатор более чем на 10 мм от выводов питания в подобном устройстве, то я наверняка буду менять конструктив, ибо мне лично уже известен факт неработоспособности при расстоянии 50 мм.

WBRgrds Ruslan

Hi Alexey !

Совсем недавно 28 Nov 03 19:30, Alexey V Bugrov писал к Ruslan Mohniuc:

RM>> Припаял две емкости по 0.1 uF - и все стало RM>> нормально работать на 40 МГц

AB> Я бы уменьшил до 0,01 или даже до 1000 пФ NP0.

Спасибо, учту.

А почему именно NP0?

WBRgrds Ruslan

Привет Ruslan!

Wednesday December 03 2003 15:43, Ruslan Mohniuc wrote to Alexey V Bugrov:

RM>

RM> Hi Alexey ! RM>

RM> Совсем недавно 29 Nov 03 01:45, Alexey V Bugrov писал к Vladislav RM> Baliasov: RM>

AB>> Угу, только если 0.1 ставить, то обязательно не хуже X7R. RM>

RM> Почему? Что критично? RM> Влияение емкости от температуры или частоты?

От температуры, и не только.

RM> Или тут больше изменение индуктивности влияет?

Тут больше влияет то, что худшие чем X7R, например Y5U - на постоянном токе лучше вообще не использовать, а если использовать - с 10-кратным запасом по напряжению и емкости - их-же от DC сжимает как асфальт под катком :)

Тут предлагали NPO в блокировочных - это уже явный перебор, X7R вполне достаточно.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Привет Ruslan!

Wednesday December 03 2003 15:50, Ruslan Mohniuc wrote to Andrew Gooskov:

RM>>> Припаял две емкости по 0.1 uF - и все стало нормально RM>>> работать на 40 МГц, в полном соответствии с документацией. RM>>> Мораль: делая большое, не забывайте о мелочах. Вроде RM>>> конденсаторов по питанию. :) AG>> Hи фига себе мелочь. У нормального инженера-электронщика AG>> постановка блокировочных конденсаторов должна выполняться AG>> рефлекторно. RM>

RM> Hу, значит я ненормальный инженер-электронщик. :)

С нормальными тоже бывает - вот вчера один вполне нормальный электронщик, спаял на макетке примитивную схему на 556-м таймере, а блокировочный - не поставил. Я потом с этой макеткой сидел - при питании 5в работает нормально, а как дал ей

9 (хотелось вообще от 12 работать) - так при некоторых парметрах импульсов на выходе там перестраиваемые по частоте и скважности генератор был собран) - на фронтах наблюдался дребезг, причем при импульсе близком к меандру (от 25 до 75% заполения), при более коротких или более длинных - все ОК.

Я сначала даже не мог понять в чем дело, потом увидел что нет блокировочного - поставил, и все отлично заработало при любом напряжении.

А ведь при VCC=5v работало нормально. При комнатной температуре....

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Привет Yurij!

Friday December 05 2003 10:50, Yurij Sysoev wrote to Alexander Torres:

AT>> А ведь пpи VCC=5v pаботало ноpмально. Пpи комнатной темпеpатуpе.... YS>

YS> Дак - скоpость пеpеключения элементов CMOS pастет линейно с напpяжением. YS> Сpань, котоpая вылезла - она была и до того, пpосто на 5V маскиpовалась YS> затянутыми фpонтами, пошло щелкать быстpее - она и стала видна.

Это понятно, я другое имел ввиду - если бы устройство и должно было от 5в питаться. то кто-то мог бы проверить что оно работает, и на этом остановиться. А потом - чуть температура ушла, и оно и при 5в зазвенело бы. Я к тому - что помнить о блокировочных конденсаторах всегда надо!

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Hello, Alexander!

AT> А ведь пpи VCC=5v pаботало ноpмально. Пpи комнатной темпеpатуpе....

Дак - скоpость пеpеключения элементов CMOS pастет линейно с напpяжением. Сpань, котоpая вылезла - она была и до того, пpосто на 5V маскиpовалась затянутыми фpонтами, пошло щелкать быстpее - она и стала видна.

Best regards, // "В лето 6750 не бысть ничтоже" Yurij. // (с) Ипатьевская летопись

Привет!

Wed, 03 Dec 2003 15:28:07 +0300, Ruslan Mohniuc писал:

...

В блоке с SOIC'ом конденсатор X7R 0,1 мкФ 0805 стоит на противоположной стороне платы прямо у внутренних торцов площадок выводов 19 и 20, присоеднинён через переходные отверстия. Вывод 8 соединяется с конденсатором поперечной линией с доп. переходным отверстием.

Александр Голов, Москва, snipped-for-privacy@mtu-net.ru

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required