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

Polaris

Свой
  • Постов

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

  • Посещение

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


  1. LPC4088+NOR Flash

    Ну, задержки - это уже рабочий момент, справлюсь :) Но документация у них определенно странная, если не быть в курсе - по ней невозможно добиться результата, не потратив кучу времени на опыты. А еще и CMSIS тоже небезгрешен, вроде хочется все красиво сделать, но сразу не выходит :) Спасибо за советы еще раз!!! :)
  2. LPC4088+TFT

    Причина оказалась банальна, если кому интересно - тайминги синхронизации строк. Не проверил основательно соответствие предложенного примера и данных по дисплею, и вот что вышло в итоге. Даже подумать не мог, что такой непонятный эффект получится!
  3. LPC4088+NOR Flash

    Рассмотрел лучше, CS четырежды опускается вниз, все правильно, прололжительность около 500 нс. OE опускается один раз - тоже все верно. WE никак не показывает активность. Я даже не знаю, что сказать... Заработало! Причем прочитал еще раз про Byte Lane еще раз - ну не очевидно же совершенно! Какое отношение он имеет к WE, если я не использую BLS? Спасибо Вам огромное за решение и проявленное терпение!!!! Вы реально смогли по моим куцым фразам все это понять!!!
  4. LPC4088+NOR Flash

    30 МГц на нем указано, а минимальное разрешение - 0.5 мкс. И четкой картины нет, вроде бы OE есть в районе 500 нс, CE тоже есть, но там сложный сигнал, поймать четко не могу, а вот WE не вижу в упор. Хм...
  5. LPC4088+NOR Flash

    Осциллограф никак не помог :( Частоты не те, 30 МГц - не тянет, ничего толком не видно. Вот схема подключения: Шину данных не стал приводить, там все один к одному. Инициализация осталась такой же, как была в начальном посте, разве что сдвиг поставил в адрес для чтения Id.
  6. LPC4088+NOR Flash

    Ну да, включен, конечно
  7. LPC4088+NOR Flash

    Ага, уже поотключал это. А что конкретно наиболее характерно посмотреть осциллографом? Возможно, что где-то смог отковырнуть лак на дорожках.
  8. LPC4088+NOR Flash

    P4.25, как и полагается
  9. LPC4088+NOR Flash

    Частота 60 МГц, 120 поделена на 2. Тайминги выставлены на максимум. Осциллографом тут довольно затруднительно подцепиться, к сожалению.
  10. LPC4088+NOR Flash

    Какое-то там описание очень противоречивое, в CMSIS вообще другое написано как обычно. Но эффекта нет и при EMCSC = 0, как я уже и говорил.
  11. LPC4088+TFT

    Между процом и модулем. Как раз шлейф между контроллером дисплея и матрицей мог бы дать, наверное, такой эффект, но доступа к нему нет, да и сомнительно, что на двух разных дисплеях эффект был бы столь одинаковым.
  12. LPC4088+TFT

    Доброго всем дня! Подключил к LPC4088 TFT-панель 800 на 480, вроде бы все работает, не дергается, но - наблюдается очень странный эффект, не могу понять и объяснить причины. По сути дела, начиная с 58 столбца и до половины экрана (столбец 400) все содержимое строк копирует содержимое первой строки. Чтобы было нагляднее, присоединяю фото: На данной фотографии я заполнил верхнюю половину экрана четырьмя цветами, нижняя половина оставалась черной, но, как видно, цвет для столбцов (58-400) оказался затерт цветом первой строки С памятью все в порядке - содержимое четко соответствует тому, что я туда пишу, проверено и тестами, и в отладчике. Изменение содержимого памяти в отладчике дает изменение цвета пикселя, но только в самом начале (до 58 столбца) и во второй половине экрана, в противном случае цвет затирается цветом первой строки. Проблемами с организацией памяти это объяснить нельзя - размер экрана не кратен степени двойки, следовательно, такого ровного эффекта быть не могло. Более того, я изменил в инициализации панели размер на 700 - все предсказуемо сдвинулось, дав кашу, но в этом проблемном участке ничего не изменилось, цвет там никак не выставляется. Это уже не первая панель, которую я подсоединяю, уже работал и с 320 на 240, и с 480 на 272 и с 640 на 480 на LPC2488, LPC1788, нигде ничего подобного не наблюдалось. Грешил на механическое повреждение панели. Вчера прислали новые - эффект абсолютно такой же. Да, может быть проблема со шлейфом, но шлейф же не несет никакой информации по адресации, заполнение происходит последовательно, вряд ли проблемы со шлейфом могли вызвать подобную картину. Как-то я даже не знаю, в какую сторону смотреть, не может же две панели иметь одинаковое повреждение?
  13. LPC4088+NOR Flash

    Нет, не помогло. EMCSC = 1, адрес сдвигаю, эффекта ноль: M16(MX29_BASE_ADDRESS + (0x555<<1)) = 0xAA; Дело в чем-то системном.
  14. LPC4088+NOR Flash

    Ок, спасибо, что-то я совсем торможу. Завтра попробую вычитать, но я вроде бы пробовал уже и сдвигать, эффекта это не дало. Но в любом случае попробую еще, других вариантов пока нет. Спасибо!
  15. LPC4088+NOR Flash

    Так получается, что при EMCSC = 1 A0 в режиме доступа по словам не используется вообще, все линии адреса смещаются вправо на один. А при EMCSC = 0 линии все-таки не смещаются, происходит следующее: static memory addresses are shifted to match the lowest address bit needed for bus width. Но как по мне, это значит, что адрес автоматически сдвигается влево на разряд, или я что-то не понимаю?
  16. LPC4088+NOR Flash

    Ага, понял, то есть, как раз без отсутствия смещения нужно смещать адрес. Уже запутался со всем этим. Но вряд ли это поможет, потому что пробовал уже всевозможные комбинации, в том числе и сдвигал адрес на бит влево.
  17. LPC4088+NOR Flash

    Да нет, вроде бы. Когда смещения на шине нет, то нужно как раз взводить бит, чтобы A0 на EMC соответствовал A0 микросхемы памяти.
  18. LPC4088+NOR Flash

    Нет, к сожалению :( Я уже взвел этот бит сдвига, ничего это не изменило в общей картине.
  19. LPC4088+NOR Flash

    Хотя нет, знаете, я поспешил. Смещение для 16 бит можно скомпенсировать в SCS, там все настроено верно, так что вопрос остается открытым!
  20. LPC4088+NOR Flash

    Нет, не приходит. Все соединено строго один к одному: A0 LPC -> A0 NOR, A1 LPC -> A1 NOR, ... , A24 LPC -> A24 NOR. Все, теперь понял :( Разработчик накосячил с соединением... Спасибо огромное за решение! Так бы и ходил-бродил вокруг да около :)
  21. LPC4088+NOR Flash

    Это вроде бы как раз в байтовом режиме, а у нас вордовый, DQ15 - вывод шины данных. Плюс шифт в SCS я отключил. Схемотехника верна, если бы она не была верна - думаю, что не читался бы идентификатор чипа в режиме ручного управления выводами. Или я что-то не понимаю?
  22. LPC4088+NOR Flash

    А что конкретно с адресацией? Вроде бы в ручном режиме идентификатор читается успешно, ноги практически все прозвонил - проблем не нашел. Или Вы не про железо?
  23. LPC4088+NOR Flash

    Доброго всем времени суток! Поднимаю постепенно проект на LPC4088, теперь столкнулся с проблемой реализации работы с NOR-Flash в связке с LPC4088. NOR - MX29GL512, это полный аналог S29GL512. На EMC висит кроме того еще SDRAM, она работает без вопросов, на данный момент я ее отключил, чтобы добиться хоть какой-то работоспособности флэшки. Со стороны железа все в полном порядке. После безуспешных попыток поднять статическую память на EMC написал функции чтения-записи тупо ногодрыганьем - ID памяти читается без ошибок. Вод код инициализации: config.CSn = 1; config.AddressMirror = 0; config.ByteLane = 0; config.DataWidth = 16; config.ExtendedWait = 0; config.PageMode = 0; config.WaitWEn = 0x1f;//0x3; config.WaitOEn = 0x1f;//0x3; config.WaitWr = 0x1f;//0xA; config.WaitPage = 0x1f;//0x8; config.WaitRd = 0x1f;//0x5; config.WaitTurn = 0x1f;//0x7; StaticMem_Init(&config); // pause TIM_ConfigStruct.PrescaleOption = TIM_PRESCALE_USVAL; TIM_ConfigStruct.PrescaleValue = 1; TIM_Init(LPC_TIM0, TIM_TIMER_MODE,&TIM_ConfigStruct); TIM_Waitms(1000); Задержки выставил максимальные, чтобы никаких вопросов не было. В соответствии со своим соединением изменил lpc_emc.c: for(i = 0; i < 32; i++) { if (i<=15) PINSEL_ConfigPin(3,i,1); if ((i<=25)||(i==31)) PINSEL_ConfigPin(4,i,1); } PINSEL_ConfigPin(5,0,1); Отдадчик показывает по адресам с 0x90000000 всякий бред, чаще всего 0xff. ID чипа памяти тоже, естественно, не читается, только 0xff: #define M16(adr) (*((volatile unsigned short *) (adr))) M16(MX29_BASE_ADDRESS + 0x555) = 0xAA; M16(MX29_BASE_ADDRESS + 0x2AA) = 0x55; M16(MX29_BASE_ADDRESS + 0x555) = 0x90; SST_id1 = M16(MX29_BASE_ADDRESS + 0x00); Поиск подобных проблем в инете дал следующий результат: http://www.lpcware.com/content/forum/lpc17...flash-s29gl128p Проблема совершенно аналогична, только на lpc1788. Может быть, кто-то сталкивался именно с проблемой использования EMC и CS1? Я уже во что угодно готов поверить после того, как пару дней назад обнаружил, что на LPC4088 второй порт USB ничего не пишет и не читает, если буфер обмена не расположен в памяти USB, про которую в даташите вообще ничего толком не сказано. Причем вроде бы подобная проблема была на LPC2478 и только на чтение, но, видимо, ошибки у них при использовании режимов работы чуть отличающихся от стандартных не проверяет никто. Если я не прав в этом - ткните меня, пожалуйста, в документацию, где про это написано. Очень рассчитываю на чей-то опыт в данном вопросе, не хотелось бы работать с внешней памятью ручками. Не очень, правда, понимаю, зачем разработчик платы выбрал именно CS1, но сейчас ничего не могу изменить. Заранее спасибо!
  24. LPCUSBlib+LPC4088

    По документации USB2 - только Host или Device, USB1 - Device(OTG), Host(OTG), Host. В исходном коде USB1 настраивается именно как Host(OTG), в USBHostLite смена порта сохранила работоспособность.
  25. LPCUSBlib+LPC4088

    Тогда мало поможет, все-таки инициализация совершенно другая, к сожалению :(
×
×
  • Создать...