Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глюки PIC. Кто хочет посмеяться? глююююююююююююки! 
:(
    Опции темы
rcdimon
Дата 4.1.2005, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Не один Micro$oft богат глюками! У Microchip (у них даже в названии что то общее есть smile)

Это конечно смешно, но не для меня. Я делаю частотомер. Проверяю не работает. Проверяю выходы пика осциллографом и что я вижу! А что я выижу, можете посмотреть тут, я специально выложил http://www.artem131.narod.ru/doc1.htm (грузится долго, так что подожлите минуты 2-3)

И скажите В ЧЕМ ДЕЛО? Мне это совсем не нравится! У меня работа стоит! smile

ЧТо это за сигналы? Пик просто физически не может их давать! Они амлитудой вольт в 6, а питание только 5! и они Аналоговые! Но как?

Это сообщение отредактировал(а) rcdimon - 4.1.2005, 15:36
PM MAIL ICQ   Вверх
Guest
Дата 4.1.2005, 19:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сайт твой не могу посмотреть, пришли картинки на [email protected]
На народ.ру хостинг плохой.
Смотрел ли пульсации питания? Пробовал ли другой кристалл?
Кварц заводится на нужной для него частоте? Попробуй тест со светодиодом с частотой 0,5 Гц - он моргает нормально? Какие в этом случае импульсы? Без схемки трудно что либо сказать, я понимаю что это коммерческая тайна, но не перегружены ли порты?
  Вверх
Гость_Alex
Дата 4.1.2005, 21:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Питание отличное, блок питание от компа. Но что меня больше всего убивает - иногда прога работает нормально, иногда неправильно, иногда вообще не работает, а иногда вообще генерации нет! Может быть я что нибудь у него не инициализирую?
  Вверх
cardinal
Дата 4.1.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



А кристалл какой? Это может быть очень важно!
Цитата
Но что меня больше всего убивает - иногда прога работает нормально, иногда неправильно, иногда вообще не работает, а иногда вообще генерации нет!

Где-нибудь не контачит?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Guest
Дата 4.1.2005, 21:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кристалл PIC16F74-I/P. Качество пайки проверял - все нормально. В этом пике есть АЦП, так вот про него сказано, что по умолчанию его выводы инициализированы как аналоговые.
Код

movlw     .255
movwf     adcon1

Этими командами я ставлю все выводы как цифровые.
  Вверх
cardinal
Дата 4.1.2005, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



А что с кварцем?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Гость_Alex
Дата 4.1.2005, 22:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кварц на 5 МГц, прошивал IC-PROG и там выставлял тип кварца как HS. Варианты - XT, LP, HS и RC. Как я понял LP -низкочастотный, XT - средне и HS высокочастотный. Завтра попробую взять другой пик - может брак
  Вверх
cardinal
Дата 4.1.2005, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Осцилографом посмотри какая у тебя частота, но думаю с 5Мгц проблем быть не должно...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Гость_jimmi
Дата 5.1.2005, 10:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Инициализацию портов делаю так


; ОЧИСТИМ ПОРТЫ ВВОДА ВЫВОДА
BANKSEL PORTA
CLRF PORTA
CLRF PORTB
CLRF PORTC


; НАСТРОИМ ПОРТЫ ВВОДА ВЫВОДА
BANKSEL TRISC
; ПОРТ С
BCF TRISC,0 ; ПОРТ С ВЕСЬ НА ВЫВОД.
BCF TRISC,1
BCF TRISC,2
BCF TRISC,3
BCF TRISC,4
BCF TRISC,5
BCF TRISC,6
BCF TRISC,7

; ПОРТ А
; ПОРТ А ВЕСЬ НА ВВОД
BSF TRISA,0
BSF TRISA,1
BSF TRISA,2
BSF TRISA,3
BSF TRISA,4
BSF TRISA,5
BSF TRISA,6
BSF TRISA,7
; ПОРТ В
; ПОРТ В ВЕСЬ НА ВВОД
BSF TRISB,0
BSF TRISB,1
BSF TRISB,2
BSF TRISB,3
BSF TRISB,4
BSF TRISB,5
BSF TRISB,6
BSF TRISB,7
Засылка всего регистра за одну команду mov почему-то приводит к странным результатам (в отладчике).

Регистр adcon1 относится к АЦП, он порты не инициализирует.

Осциллятор наверное на 5 МГц нужно все-таки XT.
На сайте микрочипа есть методика подбора емкостей около кварца по минимальному току потребления кристалла для получения стабильной генерации.
Вообще у меня с ПИКом особых проблем не было - даташит на русском, комманд мало.
  Вверх
Alexei
Дата 5.1.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: 4
Всего: 4



Цитата
Питание отличное, блок питание от компа.

Такое питание может быть отличным только в худшую сторону: помех немерено!
PM MAIL   Вверх
rcdimon
Дата 5.1.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Питание пробовали не только от компа, пробовали с двумя разными (импульсным и линейным).
Не мне эти пики очень нравятся! Это что за полиморфные ошибки? Всегда по разному работает! Подносишь палец на растояние ближе чем 4 См так он вообще такие фичи выдавал! Он что чуствителен к наводкам? И все же, что вы мне посоветуете делать? Может и правда на атмелы переходить? У них хоть асм нормальный. Все видели фотки? Фотки этих крассивых аналоговых сигналов? Я и не думаль, что в пике есть такие недокументированные возможности как ЦАП, и как это я с ним работаю, не зная про ниго ничего smile))))))) Круто! Люблю я пики! Что б их черти драли! smile smile
PM MAIL ICQ   Вверх
cardinal
Дата 5.1.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(rcdimon @ 5.1.2005, 09:20)
Может и правда на атмелы переходить? У них хоть асм нормальный.

Ага... И компилятор сишный под них тоже есть. Называется sdcc, поищи в инете...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Guest
Дата 5.1.2005, 16:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот выдержки форума по ПИКам
1
2
3
4
5
6
7
8
9

Может найдешь решение своей проблемы
  Вверх
Alexei
Дата 6.1.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: 4
Всего: 4



Цитата(rcdimon @ 5.1.2005, 11:20)
Может и правда на атмелы переходить?

Попробуй Алгоритм Билдер для АВР - совсем напрягаться не надо!
А по конкретному вопросу: попробуй внешний тактовый генератор.
PM MAIL   Вверх
PILOT
Дата 7.1.2005, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



ошибка 99.9999999999999999999999999% в программе.
скорее всего переход на команду выше чем размер программы... симптомы именно эти.
(может стек портится, может jmp куда-то не туда).
Я бы порекомендовал по шагам...

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
quarz
Дата 8.1.2005, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: нет
Всего: 3



Может быть и стек, причем у 3 пиков одновременно..!
PM MAIL   Вверх
PILOT
Дата 8.1.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



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

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
quarz
Дата 10.1.2005, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: нет
Всего: 3



Все верно, ошибка была именно в программе. Очень помог пример jimmi, мы инициализировали порты без BANKSEL. Кстати, что это значит? Насколько я помню у пиков такой команды нет. Сейчас прога заработала, но на это ушло 2 ночи. Сейчас будем разбиратся с протоколом передачи данных в комп через последовательный порт. И есть еще один вопрос: даже не знаю задавать его здесь или в новой теме.
Короче, для получения определенного интервала времени - 1 сек мы используем модуль 2-х байтный модуль TMR1 все в том же 74 пике. На С0-С1 повесили часовой кварц (32768Гц) и к таймеру прикрепили прерывание по переполнению. По логике, при частоте импульсов 2^15 Гц 16-разрядный таймер должен переполняться каждые 2 секунды. Но мало того, для получения интервала в 1 сек нам пришлось еще и предделитель к нему поставить 1:2 ! Только так получилось что он сбрасывается примерно каждую секунду. 'Примерно' - если сверять его с часами то он за минуту уходит на 10-15 секунд. Как такое может быть? Ведь часы с этим кварцев работали нормально. Или я считать в двоичной системе разучился. Но 2^15=32768, а именно столько кварц дает импульсов в 1 секунду и от такой частоты 15-разрядный счетчик должен переполняться. Но у нас 16-разрядный,-->он должен сбрасываться в 2 раза реже. Он жн сбрасывается в 2 раза чаще... Что касается программы, ни в один из байтов таймера мы ничего не записываем, только считываем. По переполнению переходим в подпрограмму обработки прерывания и там делаем все что нам нужно.
PM MAIL   Вверх
PILOT
Дата 11.1.2005, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



А вы померить осциллографом частоту кварца можете? (через усилок например)
Может гармонику ловите 4х?

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 11.1.2005, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



Да, я тоже с такой ситуацией столкнулся, кварц генерит на своей частоте, посчитал константу для таймера, запустил устройство. Частота импульсов на выходе почти в два раза ниже. Просто подстроил по осциллографу константу таймера и все. Загадка какая-то.
Комманда BANKSEL переключает банки в ПИКе. Регистры лежат в разных банках, и могло такое быть, что ты писал в совершенно другой регистр. В отладчике это можно увидеть.
PM MAIL   Вверх
PILOT
Дата 11.1.2005, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



а я как-то раз столкулся именно с гармониками (правда частоты повыше)... особенно часто это бывает на поделках, где не всегда получается все красиво соединить проводниками.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Kaskad
Дата 13.1.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 24.9.2004

Репутация: нет
Всего: 3



Цитата(quarz @ 10.1.2005, 22:31)
Насколько я помню у пиков такой команды нет.

Нету.
Цитата(quarz @ 10.1.2005, 22:31)
определенного интервала времени - 1 сек мы используем модуль 2-х байтный модуль TMR1 все в том же 74 пике. На С0-С1 повесили часовой кварц (32768Гц) и к таймеру прикрепили прерывание по переполнению. По логике, при частоте импульсов 2^15 Гц 16-разрядный таймер должен переполняться

Ничего не понял smile

У меня один раз так было, сижу смотрю мульты с антимульт.ру и бац экран гаснит, опять появляется изображение, а там куча элементов предыдуших кадров с новыми и всё хаотично движется, какие то звуки(наложение). короче ужас шо было smile


--------------------
Well come to America!
PM MAIL   Вверх
jimmi
Дата 13.1.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



Комманда BANKSEL у ПИКа есть, так как транслятор ассемблера не ругается, банки переключаются нормально, устанавливается тот банк памяти, в котором находится регистр, указанный операндом в этой комманде.
Ну я же не сам эту комманду придумал, а нашел в интернете в прошивке реально работающего устройства.
В книге "Микроконтроллеры PIC16X7XX" автор В.А.Ульрих такой комманды действительно нет, но есть примеры с инициализацией портов. Например на странице 55
clrf PORTA
bsf STATUS,RPO ;Явно указываем банк 1
movlw 0xCF
movf TRISA

PM MAIL   Вверх
quarz
Дата 15.1.2005, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: нет
Всего: 3



jimmi то что такой команды нет - только что проверил. В доке с microchip.com где расписывались двоичные коды АЛУ и мнемоника команды, banksel не было. Скорее всего это макрокоманда MPASM'a , который сам подставляет нужный регистр переключая RPx в зависимости от конкретного пика.
PM MAIL   Вверх
rcdimon
Дата 15.1.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



А мне очень интересно то, что такие команды как BANKSEL не написаны в книге по пикам от микрочипа. И там листинги программ без этого. А у нас без этого не работает. В чем же дело?
PM MAIL ICQ   Вверх
PILOT
Дата 15.1.2005, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



BANKSEL - не команда видимо, а директива.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.