Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.08.2016, 14:46  
idov
Прохожий
 
Регистрация: 16.08.2016
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
idov на пути к лучшему
По умолчанию Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

На приборе под управлением LPC2388 несколько светодиодов включаются-выключаются от портов 0, 1, 3.
Те светодиоды, что от порта 3 - включаются/выключаются по FIO3CLR, FIO3SET как часы - а вот для нулевого и первого портов - все выключено, IO0CLR, IO0SET не работают (равно как и IO1CLR, IO1SET) - при этом, если идти по шагам в отладчике, видно - IO0SET, IO1SET - устанавливаются и сбрасываются как надо, битики то добавляются, то сбрасываются в слове состояния.
Как ими управиться? Или в процессоре что-то где-то установлено, чтобы на выход подавался потенциал?
Реклама:
idov вне форума  
Непрочитано 16.08.2016, 14:51  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Сообщение от idov Посмотреть сообщение
На приборе под управлением LPC2388
Это прибор промышленного изготовления, или ваша разработка?
Если промышленного, значит изначально он был исправен, и эти светодиоды светились?
Если да, то после какого события они перестали светиться? Скачок напряжения в сети, пролитое кофе, падение на пол?
Alex9797 вне форума  
Непрочитано 16.08.2016, 15:03  
индюк
Заблокирован
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,715
Сказал спасибо: 189
Сказали Спасибо 3,199 раз(а) в 2,074 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Наверно порт на выход надо настроить. Не?
Листинг где?
индюк вне форума  
Непрочитано 16.08.2016, 15:15  
idov
Прохожий
 
Регистрация: 16.08.2016
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
idov на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Сообщение от Alex9797 Посмотреть сообщение
Это прибор промышленного изготовления, или ваша разработка?
Если промышленного, значит изначально он был исправен, и эти светодиоды светились?
Если да, то после какого события они перестали светиться? Скачок напряжения в сети, пролитое кофе, падение на пол?
Прибор "наш".
Светодиоды светились. На предыдущей версии.
А на новой версии у такого же самого LPC2388 не сбрасывается потенциал на пинах 0го и 1го портов.
Проверили тестером, на порту 3 (от него тоже на 1 светодиод идет сигнал) все как положено, ставится и сбрасывается.
А на нескольких пинах 0 и 1 портов - остается потенциал, хоть ты его IO0SET, хоть ты его IO0CLR, хотя отладчиком видно, что в значении IO0SET нужные биты поднимаются и нулятся.
Если бы тестером не видел, что фигня творится уже на выходе из LPC2388 - грешил бы на возможно новую разводку (она старая, но кто их знает). А так - только остается понять, почему из микросхемы выходит не то. И возможно ли это из-за каких-то внутренних установок LPC2388.
idov вне форума  
Непрочитано 16.08.2016, 15:19  
idov
Прохожий
 
Регистрация: 16.08.2016
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
idov на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Сообщение от индюк Посмотреть сообщение
Наверно порт на выход надо настроить. Не?
Листинг где?
Порт на выход настроен.
Вот кусочками листинг.
Вот установка на вход/выход
// kbd keys input
IO0DIR &= ~BIT(31);
FIO3DIR &= ~BIT(26);
FIO2DIR &= ~BIT(5);
// leds output
IO0DIR |= BIT(14);
IO1DIR |= BIT(1| BIT(20)|BIT(21)|BIT(23)|BIT(24);
FIO3DIR |= BIT(23)|BIT(24)|BIT(25);
Вот последующее управление
void emb_led( unsigned char led, unsigned char on )
{
switch( led ) {
case 1: if(on)IO1CLR=BIT(1; else IO1SET=BIT(1; break; // loopback 1
case 2: if(on)IO0CLR=BIT(14); else IO0SET=BIT(14); break; // loopback 2
case 3: if(on)IO1CLR=BIT(20); else IO1SET=BIT(20); break; // loopback 3
case 4: if(on)IO1CLR=BIT(23); else IO1SET=BIT(23); break; // loopback 4
case 5: if(on)IO1CLR=BIT(24); else IO1SET=BIT(24); break; // speed 10
case 6: if(on)FIO3CLR=BIT(25); else FIO3SET=BIT(25); break; // speed 100
case 7: if(on)IO1CLR=BIT(21); else IO1SET=BIT(21); break; // speed 1000
case 8: if(on)FIO3CLR=BIT(23); else FIO3SET=BIT(23); break; // link
case 9: if(on)FIO3CLR=BIT(24); else FIO3SET=BIT(24); break; // full duplex
default: break;
}
}
При этом - можно отладчиком посмотреть IO0SET или IO1SET, они четырехбайтовые числа, в них отражается сброс или установка пина порта - но на выходе из LPC2388 это не отражается, там на этих пинах постоянный потенциал.
idov вне форума  
Непрочитано 16.08.2016, 15:48  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Ой как грязненько сделано. Надо срочно изучать указатели.
Easyrider83 вне форума  
Непрочитано 16.08.2016, 22:07  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Ну, если старая версия работала, а новая нет, то логично было бы сравнить листинги обеих версий, особо уделяя внимание участкам, которые могут влиять на конфигурацию пинов. Прямо каждую строку сравнивать. Их не так уж много, и различия быстро найдутся.

Кстати, используемые пины менялись в новой версии, относительно старой? В любом случае надо обратить внимание на то, выходят ли на проблемные пины выходы или входы альтернативных функций? Возможно, что они как раз на эти функции и сконфигурированы, поэтому на их состояние и не влияют команды установки пинов порта.

Кроме того, чтобы ускорить поиск, надо написать кусочек тестовой проги, в которой сразу же после начальной конфигурации проблемный пин программно установить в ноль, или в единицу, повесив предварительно на этот пин светодиод. А лучше два последовательно, зеленый и красный. Светодиоды включить последовательно, между землей и плюсом питания, а к точке их соединения - подключить интересующий пин, через резистор 2...3 килоома. Если пин будет в невесомости - оба светодиода погашены. Если пин будет сконфигурирован на выход, то один из светодиодов обязательно будет светиться. Если светятся оба - значит на этом выходе молотят импульсы, о скважности которых можно судить по соотношению яркостей светодиодов. Очень информативная штука.

Так вот, чтобы не таращить глаза, в поисках места в программе, в котором может несанкционированно измениться конфигурация этих пинов, надо сначала убедиться, что они в принципе могут работать нормально. Как я уже начал выше, пишем кусочек тестовой проги, в которой сразу же после установки конфигурации устанавливаем интересующий пин в ноль, запускаем задержку 100...300мс, затем устанавливаем пин в единицу, снова задержка - и возврат в начало бесконечного цикла, на установку пина снова в ноль. Ну, это так, как вариант. Этот тест даст возможность убедиться, что компилятор еще в норме, что проц еще нормальный, что пин тоже способен. И что искать причину надо в глубине проги. Особенно в обработке прерываний.

Кстати, перед этим тестом обязательно надо запретить нахрен все прерывания.
Ну, и подобный тест применить поочередно ко всем глючным пинам. Это даст полезную информацию к размышлению.
Alex9797 вне форума  
Сказали "Спасибо" Alex9797
idov (07.09.2016)
Непрочитано 17.08.2016, 15:11  
idov
Прохожий
 
Регистрация: 16.08.2016
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
idov на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Листинги сравнивать - оно верно...
Вот только в приборе поменялась микросхема ПЛИС, а процессор и его софт - не менялись.
Однако я уже проверял - старый прибор (со старой ПЛИС) - работает ОК, я туда вставил отладочные установки битов типа
IO0CLR(x) - чтобы бит х засветился,
IO0SET(x) - чтобы бит х погас
И на старом приборе - и гаснут и светятся, я дебаггером в пошаговом режиме вижу. Где надо - засветился, где надо погас.
И на новом в IO0DIR биты нужные в 1 - т.е. эти пины - порты вывода.
Нет ли где в установка LPC2388 какой-нибудь побитовой маски для портов? При этом PINSEL'ы я уже проверил - там все ОК, стоят одни нули - значит эти пины портов 0 и 1 принимаются за GPIO, а не за что-то другое.
idov вне форума  
Непрочитано 17.08.2016, 15:23  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Сообщение от idov Посмотреть сообщение
А на нескольких пинах 0 и 1 портов - остается потенциал
"Остается потенциал" - это надо как понимать? Наверное, это означает, что на них логическая единица?

А как при этом себя чувствует процессор? Можно ли сказать, что он при этом греется сильнее обычного?
Куда эти пины подсоединены?
Сообщение от idov Посмотреть сообщение
в приборе поменялась микросхема ПЛИС
Если эти пины подключены к ПЛИС, которая отличается от предыдущей версии, то можно предположить, что некоторые ее пины теперь сконфигурированы на выход, и эти выходы оказались подключенными к пинам процессора, которые тоже пытаются что-то выдавать из себя. Ну, например проц пытается выставить ноль на выход. А навстречу ему из ПЛИС приходит единица. И в этой схватке ПЛИС побеждает. А проц пыжится, но это приводит только к его повышенному нагреву.

В общем, я бы попробовал отрезать дорожку от проблемного пина, и посмотреть, что из этого получится.
Alex9797 вне форума  
Непрочитано 17.08.2016, 16:17  
idov
Прохожий
 
Регистрация: 16.08.2016
Сообщений: 7
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
idov на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Кажется, я нащупал кончик ниточки - в старом приборе регистр IO0PIN, IO1PIN живо реагируют на любую работу с пинчиками - поднимаются, падают - видно в отладчике.
А на новой версии оба регистра втупую чистые нули - и никак туда ничего не записать, хоть впрямую попытался IO1PIN=BIT(20); - ни-че-го.
Не знает ли кто - кто управляет регистрами IO0PIN, IO1PIN?
Кто их может задать неписабельными (RO)?
Или это просто бракованный процессор мне попался?
idov вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по LPC2388 lacoder Микроконтроллеры, АЦП, память и т.д 8 07.11.2010 14:20


Часовой пояс GMT +4, время: 02:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot