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

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

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

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

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

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

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

 
Опции темы

Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Непрочитано 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.RUN
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Сообщение от idov Посмотреть сообщение
На приборе под управлением LPC2388
Это прибор промышленного изготовления, или ваша разработка?
Если промышленного, значит изначально он был исправен, и эти светодиоды светились?
Если да, то после какого события они перестали светиться? Скачок напряжения в сети, пролитое кофе, падение на пол?
Alex9797 вне форума  
Непрочитано 16.08.2016, 15:03  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,134
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вопрос по LPC2388. Странная реакция битов портов 0 и 1.

Ой как грязненько сделано. Надо срочно изучать указатели.
Easyrider83 вне форума  
Непрочитано 16.08.2016, 22:07  
Alex9797
Почётный гражданин KAZUS.RUN
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
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.RUN
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
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, время: 12:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.