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

Polaris

Свой
  • Постов

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

  • Посещение

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


  1. CAN для LPC23xx

    Вот такой процесс инициализации я использую, нашел в исходниках кайла, что-то менял, но что - не особо помню уже. void CAN_setup (uint32_t ctrl) { CAN_TypeDef *pCAN = (ctrl == 1) ? CAN1 : CAN2; /* select CAN controller */ if (ctrl == 1) { PCONP |= 1 << 13; /* Enable clock for CAN1 */ PINSEL0 &= 0xFFFFFFF0; /* Reset CAN1 bits */ PINSEL0 |= 0x00000005; /* Set CAN1 bits to b0101 */ *(&VICVectAddr23) = (unsigned long) CAN_ISR; /* Set interrupt vector for CAN */ *(&VICVectCntl23) = 1; VICIntEnable = (1 << 23); /* Enable CAN Interrupt */ } else { PCONP |= 1 << 14; /* Enable clock for CAN2 */ PINSEL0 &= 0xFFFFF0FF; /* Reset CAN2 bits */ PINSEL0 |= 0x00000A00; /* Set CAN2 bits to b1010 */ *(&VICVectAddr23) = (unsigned long) CAN_ISR; /* Set interrupt vector for CAN */ *(&VICVectCntl23) = 1; VICIntEnable = (1 << 23); /* Enable CAN Interrupt */ } CANAF->AFMR = 2; /* By default filter is not used */ pCAN->MOD = 1; /* Enter reset mode */ pCAN->IER = 0; /* Disable all interrupts */ pCAN->GSR = 0; /* Clear status register */ CAN_cfgBaudrate(ctrl, 250000); /* Set bit timing */ pCAN->IER = 0x0003; /* Enable Tx and Rx interrupt */ }
  2. CAN для LPC23xx

    У меня все заработало, завтра посмотрю и отпишу работающую конфигурацию.
  3. Почему бы все-таки не снять осциллограммы включения? Осциллограммы выключения показывают только то, что никакого режима засыпания там нет, больше они к решению проблемы ничего не добавят. А вот посмотреть, как растет напряжение в первом и втором случае, было бы полезно. В противном случае это все гадание на кофейной гуще получается, ничего информативного.
  4. Все-таки осциллограммы напряжения при включении хотелось бы увидеть. Возможно, время от момента включения до момента превышения порога на компараторе существенно зависит от времени отсутствия питания. Невнимательно прочитал вводную, а по ходу топика сложилось впечатление, что момент сохранения - самый важный ;) Теперь вижу, что самое главное - надежное детектирования времени отсутствия питания
  5. Даст то, что текущий режим сохранить можно, уже что-то :) Думаю, стоит посмотреть графики питания при включении
  6. А может, все-таки используется хранение в EEPROM? Тут же совсем не обязательно хранить что-то конкретное, важен сам факт попытки что-то туда записать (или стереть). А режим можно задавать не конкретной величиной, а адресом ячейки. И при старте восстанавливать содержимое. В AN103 пишут, что стирание/запись происходит побитно. Думаю, что 1,8 мс указаны для всего байта. Может быть, за 200 мкс один бит он успевает стереть? То есть, при возникновении прерывания от компаратора он выбирает ячейку и просто начинает стирание. И неважно, успеет стереть всю или нет, одного бита достаточно. А при следующем старте проверяет содержимое ячеек режима, та, что повреждена, дает предыдущий режим и восстанавливается. Может, так?
  7. Br.Misha Флэш у АВР стирается/пишется только постранично. Для Mega128 размер страницы - 256 байт, писать туда номер устройства - не самый лучший способ. Мало ли что случится, можно и бутлоадер убить. Самый оптимальный способ хранения номера устройства - EEPROM, по фиксированному адресу где-нибудь в самом конце, установив на всякий случай фуз сохранения содержимого EEPROM при полном стирании чипа.
  8. CAN для LPC23xx

    Спасибо за ответ! После вдумчивого чтения документации (не только по LPC), чего-то подобного я и ожидал. Выделились :)
  9. CAN для LPC23xx

    Добрый день! Хотел бы использовать аппаратный CAN у LPC2368. Возникнет также необходимость эскплуатировать его в одной сети с MCP2515. Но при изучении документации возникла непонятная ситуация с настройкой тайминга. В стандарте CAN и у MCP2515 в бите упоминается четыре сегмента - Synchronization Segment, Propagation Segment, Phase Segment 1, Phase Segment 2. В документации же к LPC23xx Propagation Segment отсутствует, что создает неоднозначность в тактировании. Как быть? Заранее спасибо
  10. По-моему, все-таки аналог Ulink
  11. Присоединяюсь. С таблицей прерывания, расположенной в начале устройства, и бут-областью в конце (а из другого места писать флэш еще более для AVR затруднительно), с прерываниями лучше не связываться. Я лично их не использую (смысл?), делаю таким же циклическим опросом. Для контроллеров с таблицей прерываний в конце памяти может и есть смысл. У Атмела есть документ по поводу такого загрузчика с исходниками всего, включая PC-часть: http://www.atmel.com/dyn/resources/prod_do...nts/doc2589.pdf. Шифрование по AES. Думаю, вполне хватит для данной задачи.
  12. А разве там контроллер такое позволяет? Я вроде бы не видел таких команд
  13. Нашел ответ на свой вопрос вот тут: http://electronix.ru/forum/index.php?showt...st&p=655606 Всем спасибо, предположительно все будет работать. Как только проверю в железе - отпишу! :)
  14. Программатор SkyLink

    Доброго всем времени суток! Не так давно купил себе SkyLink для работы с LPC23xx. Все работает, претензий особых нет. Теперь же возникло желание перейти на более перспективное семейство LPC17xx, конкретно - LPC1768. С платой проблем нет - совместимость по ногам присутствует. А вот с отладчиком вопрос. Пока что процессоры не купили, поэтому проверить вживую не могу. В местах, где его продают, пишут разное. Пишут, что ARM7/ARM9, но при этом включают в поддерживаемые модели STM32, то есть Cortex-M3. В одном месте нашел такую таблицу: ARM7 - ДА ARM9 - ДА Cortex-M1 - НЕТ Cortex-M3 - ДА Но при этом нигде в моделях не нашел LPC17xx. Как это оценивать? Просто забыли включить ввиду новизны? Или есть какие-то подводные камни? Вопрос не в том, что он лучше или хуже JetLink или какого-то другого отладчика, вопрос именно в том, совместим ли он с LPC1768 или нет, так что, пожалуйста, без оффтопика :) Заранее спасибо за ответ!
  15. ucOS на 128 меге

    До нас прогресс еще не дошел :) И вряд ли дойдет... К нам еще ничего из LPC17xx кроме LPC1751 и LPC1758 не довезли.
  16. ucOS на 128 меге

    LPC175x - 4 уарта, 8 каналов 12-битного АЦП, флэш от 32 до 512 кб, память от 8 до 64 кб, корпус не сильно больше - TQFP80. Стоят уже сейчас от 4,5 долларов (LPC1751) до 8,5 долларов (LPC1758 - 512 кб, USB-OTG, Ethernet) - вполне сравнимо, мега128 стоит 5$.
  17. Хорошо смотрел. Думаете, 100 ног и 208 - это сопоставимые модели?
  18. Тема снова актуальна. К сожалению, выбор RMII разработчиками NXP - крайне неразумное решение. Для тех же аналогов от Atmel (AT91SAM7X) есть возможность выбора MII/RMII, с таким корпусом добавить пару-тройку ног на интерфейс на так критично. Пусть там и DMA не настоящий - мне мощность особая не нужна, нужен сам интерфейс. К сожалению, атмеловские АРМы не укомплектованы достаточным количеством UARTов. Вроде бы думал, что вопрос закрыт, KSZ8041TL можно купить за 5 долларов (NL не слишком подходит по причине безвыводности), начали уже составлять смету, и выяснилось, что генераторы на 50 МГц стоят 3$! Итого стоимость сетевого решения становится равной 8$, что в свете возможности покупки W5100 (куда ставится копеечный кварц на 25МГц) за 8,5 долларов выглядит слегка неадекватной. Какой смысл вообще в Ethernet-интерфейсе, если его полноценная обвязка обойдется во столько же, сколько стоит сам контроллер? Кстати, с учетом обвязки (PHY+50МГц) будет примерно столько же стоить :) Жаль только, что не все там есть, что нужно. Да и возят его похуже.
  19. Вот их сайт: http://www.mcuzone.com:8080/dokuwiki/doku....glish_home_page Они продают на ebay еще, там есть ссылка. Мы заказывали через китайских друзей. Но перед этим общались с ними по поводу прямой пересылки, озвучивалась цифра в 30$.
  20. Нет, просто так обновляться нельзя, но у них есть свои прошивки, пишут, что будут обновлять в течение нескольких дней после выхода новой студии
  21. Если заплатить 30$ сверху - это переплачивать, то что тогда делают те, которые покупают оригинальный отладчик за 400$? Я ничего против AVRDragon не имею, но реально поработав с ним над одним устройством, отложил его в сторону - он реально неудобен в эксплуатации. Не хуже, не медленнее, просто неудобен. Постоянно норовит куда-то въехать, что-то замкнуть. Точно так же неудобен и JTAG-ICEII, провод тонкий, корпус несуразный, а вот то, что купил я, выглядит надежно и гораздо профессиональнее. Почему Atmel не думает про юзабельность своих отладчиков? Не знаю. Но я реально решил купить китайца за приличный и надежный внешний вид, о чем честно и откровенно говорю.
  22. По поводу переплачивать - это не мощный аргумент, если заказывать напрямую с китайского сайта, то стоит 70$, плюс пересылка 30$. По-моему, разница несущественная для того, чтобы о ней упоминать. В чем плюсы клона? Я не особо охотно использую AVRDragon из-за внешнего вида. Плата громоздкая, ничем не защищена от замыкания, а клон в красивом металлическом корпусе, выглядит очень солидно, в дорогу взять (в командировку, к примеру) не страшно - точно доедет, не потеряв что-то по дороге из-за небрежности грузчиков в аэропорту. Как говорил герой одного фильма: "Тяжесть - это хорошо, тяжесть - это надежно..." :) Ну и сама конфигурация очень удобная - с одной стороны воткнул USB-кабель, с другой - шлейф в BH10. Мне лично нравится.
  23. Пришел наш клон, в целом мы довольны, даже просто заменить старый JTAGICE есть смысл - работает гораздо быстрее!
  24. Пишу сюда о полученном опыте, может, кому-то поможет в работе с VNC1L. Сегодня столкнулся с проблемой полного зависания VNC1L после первой же отправленной в него строки командой DSD. Все перепроверил, перевернул, причины найти не смог, умирает так, что и ресет не помогает, только полное отключение питания. Уже и письмо в поддержку написал. Совершенно случайно обнаружил, что все это время принтер (OKI 14ex) стоял с зажевенной бумагой (paper jam), после устранения этой проблемы все заработало как часы. А тут и ответ от службы поддержки пришел: No previous experience of this. We only ever tested with one printer HP deskjet 460 The VNC1L does nto have a watchdog for timeouts, however the second generation device VNC2L due next year will have this feature. То есть, функция печати у них отработана на уровне as is. Радует появление другого поколения микросхем, скорее всего, этому уже никакие подтяжки в прошивке не помогут. Свою проблему собираюсь решить перебросом ресета с его оригинального пина на все питание. Спасибо за внимание!
  25. Наметился вроде бы путь к устранению проблемы, в соответствии с документацией для режима FIFO ACBus5 подтянули к 3.3В, а ACBus6 - к земле. Но там в документации очень вскользь упоминаются выводы DATAREQ и DATAACK, связанные с ногами ACBus4 и ACBus5 соответственно. В итоге при неподключенном ACBus4 все это и происходило, видимо. Непонятно только, почему не на всех платах. Притянули к 3.3В - вроде бы работает.
×
×
  • Создать...