|
прерывания по фронту(edge sensitive) |
|
|
|
Oct 20 2012, 13:50
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Прошу прощения за терминологию: русскую или забыл или не знал. Работаю с LPC1768. Пишу HAL- hardware abstraction layer (не знаю перевод). К своему ужасу обнаружил, что UART(перевод?) генерирует прерывания по фронту: если "Пустои передающий буфер", например, было замаскировано, то после снятия маски прерывание потеряно, даже если условие - буфер, по прежнему, пустой сохранилось. Сильно подозреваю, что то же ждет меня с другой переферией. Хочу услышать ваши советы. 1. Зачем Phillips так делает? В чем преимущества? Чем просто маски недостаточно? 2. Способы борьбы. Вдруг узнаю что-то, чего еще не знаю. Учтите, у меня за плечами более 30 лет опыта работы в СССР и США 3. Другой М3, например, Atmel SAM3... или что-то подобное. Предварительный обзор, сделаный до меня, рекомендавал NXP за лучший интерфейс с периферией. Кстати, на М3 мы переключились после провала использовать NIOS-II в среде ALTIUM TASKING. Их порт ни в какие ворота не лезит: все дырявое и корявое, хотя на бумаге все прекрасно...
Спасибо.
Сообщение отредактировал pitt - Oct 20 2012, 13:54
--------------------
|
|
|
|
|
 |
Ответов
|
Oct 21 2012, 18:29
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(pitt @ Oct 20 2012, 15:50)  Прошу прощения за терминологию: русскую или забыл или не знал. Работаю с LPC1768. Пишу HAL- hardware abstraction laye ... Другой М3, например, Atmel SAM3... или что-то подобное. С LPC1xxx не работал, есть опыт с STM32F, SAM3 и EFM32. У них прерывания работают "по уровню": если разрешить прерывание по, например, TX для UART еще ДО передачи, то, обнаружив флаг TX, система вызовет прерывание. Если LPC1xxx действительно ведет себя по-другому, - это большая проблема для... NXP, поскольку лучше выбирать процессоры, которые ведут себя в таком вопросе как большинство.
|
|
|
|
|
Oct 21 2012, 20:34
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(KnightIgor @ Oct 21 2012, 14:29)  С LPC1xxx не работал, есть опыт с STM32F, SAM3 и EFM32. У них прерывания работают "по уровню": если разрешить прерывание по, например, TX для UART еще ДО передачи, то, обнаружив флаг TX, система вызовет прерывание. Если LPC1xxx действительно ведет себя по-другому, - это большая проблема для... NXP, поскольку лучше выбирать процессоры, которые ведут себя в таком вопросе как большинство. Поделитесь пожалуйста, проблемами SAM3. Про STM32F известно, что I2C кривой Спасибо Цитата(_Артём_ @ Oct 21 2012, 15:05)  Ну не знаю, Cortex-M, как и все ... В настоящий момент УТВЕРЖДАЮ, что LPC1768 UART THRE interrupt is edge sensitive, т.е по фронту. На основаниии предыдущего опыта ожидаю аналогичного поведения с CAN. Пожалуйста укажите процитированный документ иначе... Спасибо
--------------------
|
|
|
|
|
Oct 21 2012, 21:55
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(pitt @ Oct 21 2012, 22:34)  Поделитесь пожалуйста, проблемами SAM3. Принципиальных, кроме начальных проблем с поставками и старыми библиотеками, не вижу. Мне нравится концепция периферии SAM3, особенно PDA. А I2C там вообще делает все сам; SPI|I2S очень гибкий. SAM3U - пока единственный Cortex-M3 с High-Speed USB PHY. Цитата Про STM32F известно, что I2C кривой Верно лишь частично: интерфейс стабилен и работоспособен, если разобраться, на что нужно время. Он не кривой, он по-просту перемудренный (из-за двойной буферизации и особых случаев выдачи ACK/NACK) и не очень быстрый (1MHz появился лишь у F2xx|F4xx). STM еще не успел выдать "на гора" свою кривую синхронную библиотеку, как I2C уже летал у меня с использованием прерываний и DMA. В STM подкупает отличный "drop in replacement" по всей семье Cortex-Mx, доступность и цены: на правильно разведеную плату можно поставить как 1xx, так и вплоть до 4xx, хорошо скалируя производительность.
|
|
|
|
|
Oct 21 2012, 22:28
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(KnightIgor @ Oct 21 2012, 17:55)  Принципиальных, кроме начальных проблем с поставками и старыми библиотеками, не вижу. Мне нравится концепция периферии SAM3, особенно PDA. А I2C там вообще делает все сам; SPI|I2S очень гибкий. SAM3U - пока единственный Cortex-M3 с High-Speed USB PHY.
Верно лишь частично: интерфейс стабилен и работоспособен, если разобраться, на что нужно время. Он не кривой, он по-просту перемудренный (из-за двойной буферизации и особых случаев выдачи ACK/NACK) и не очень быстрый (1MHz появился лишь у F2xx|F4xx). STM еще не успел выдать "на гора" свою кривую синхронную библиотеку, как I2C уже летал у меня с использованием прерываний и DMA.
В STM подкупает отличный "drop in replacement" по всей семье Cortex-Mx, доступность и цены: на правильно разведеную плату можно поставить как 1xx, так и вплоть до 4xx, хорошо скалируя производительность. Спасибо. Атмел знаю по AVR а от STM получил discovery board и ... примеры кода написаны электриками, а не software professionals и поэтому наши электрики "забраковали".
--------------------
|
|
|
|
|
Oct 21 2012, 23:03
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(pitt @ Oct 22 2012, 01:28)  Атмел знаю по AVR Про АВР мы ту, наверное все знаем. Но АВР уже устарело. Цитата(pitt @ Oct 22 2012, 01:28)  а от STM получил discovery board и А мне не прислали...Ну и что? Цитата(pitt @ Oct 22 2012, 01:28)  ... примеры кода написаны электриками, а не software professionals и поэтому наши электрики "забраковали". А кто ж тогда писал примеры для LPC11? Индусские "электрики"? Или у STM ещё хуже?
|
|
|
|
|
Oct 21 2012, 23:16
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(_Артём_ @ Oct 21 2012, 19:03)  Про АВР мы ту, наверное все знаем. Но АВР уже устарело.
А мне не прислали...Ну и что?
А кто ж тогда писал примеры для LPC11? Индусские "электрики"? Или у STM ещё хуже? Старый конь борозды не потит: каждый наш продукт содержит несколько AVR8 и продолжаем под него писать! Мне неважно откуда электрики: их код видно издалека... <<Индусские "электрики">> не думают, а делают как им сказали.
--------------------
|
|
|
|
Сообщений в этой теме
pitt прерывания по фронту(edge sensitive) Oct 20 2012, 13:50 _Артём_ Цитата(pitt @ Oct 20 2012, 16:50) К своем... Oct 20 2012, 14:37 pitt Меня UART НЕ интересует. Это просто удобный и поня... Oct 20 2012, 15:51  _Артём_ Цитата(pitt @ Oct 20 2012, 18:51) Мой пер... Oct 20 2012, 16:23   pitt Если речь идет о внешнем прерывании, то я двумя ру... Oct 20 2012, 16:41    ar__systems Цитата(pitt @ Oct 20 2012, 12:41) Если ма... Oct 20 2012, 18:47     pitt Цитата(ar__systems @ Oct 20 2012, 14:47) ... Oct 20 2012, 19:00   AHTOXA Цитата(_Артём_ @ Oct 20 2012, 22:23) Поче... Oct 20 2012, 18:46    _Артём_ Цитата(AHTOXA @ Oct 20 2012, 21:46) Наско... Oct 20 2012, 19:27     pitt Цитата(_Артём_ @ Oct 20 2012, 15:27) Неле... Oct 20 2012, 19:29      _Артём_ Цитата(pitt @ Oct 20 2012, 22:29) Особенн... Oct 20 2012, 20:45       pitt Цитата(_Артём_ @ Oct 20 2012, 16:45) Ну, ... Oct 20 2012, 20:53  Allregia Цитата(pitt @ Oct 20 2012, 17:51) Не знаю... Oct 24 2012, 06:05 pitt Цитата(pitt @ Oct 20 2012, 09:50) Прошу п... Oct 21 2012, 13:32 jcxz Цитата(pitt @ Oct 21 2012, 19:32) Должен ... Oct 22 2012, 04:56  KnightIgor Цитата(jcxz @ Oct 22 2012, 06:56) По-моем... Oct 22 2012, 06:54   gladov Цитата(KnightIgor @ Oct 22 2012, 10:54) N... Oct 22 2012, 07:57    KnightIgor Цитата(gladov @ Oct 22 2012, 09:57) Дело ... Oct 23 2012, 19:22  pitt Цитата(jcxz @ Oct 22 2012, 00:56)
http:/... Oct 22 2012, 23:50 _Артём_ Цитата(KnightIgor @ Oct 21 2012, 21:29) С... Oct 21 2012, 19:05 IgorKossak Хватит оффтопа, давайте вернёмся к обсуждению темы... Oct 24 2012, 08:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|