|
выбор мк с usb, uart и can |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Jul 29 2015, 09:49
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(Kabdim @ Jul 29 2015, 11:18)  nxp lpc 17XX|182(3,5)X Но NXP в новых чипах держит только 1 уарт с полным фукнционалом, а остальные обрезки. В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. lpc1820 хорош, но корпуса монстрообразные.
|
|
|
|
|
Jul 29 2015, 11:28
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(_3m @ Jul 29 2015, 15:49)  В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Странно.. У нас кучка устройств на LPC1768/LPC1778, во всех 1-2 RS-485, везде FIFO включен, ни один не находится на UART1, везде используется операционка, среди прочих протоколов используется и Modbus. Проблем не замечал. Управление направлением передачи внешнего драйвера - GPIO. Обнаружение конца передачи - прерывание buffer empty, затем - поллинг в прерываниях сис.таймера с ожиданием shifter empty (при желании можно и точно рассчитать стоповый бит, взведя таймер по buffer empty, но оно имхо - не нужна такая точность). Цитата(_3m @ Jul 29 2015, 15:49)  Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Точно так же как и без FIFO - оно не влияет никак на таймауты. Цитата(_3m @ Jul 29 2015, 15:49)  Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. PL2303/CP2102/FT232 ? Цитата(Kabdim @ Jul 29 2015, 14:18)  Но NXP в новых чипах держит только 1 уарт с полным фукнционалом, а остальные обрезки. Интересно - в чём урезанность остальных UART???? CTS/RTS нету? Так оно для RS-485 и не нужно. Если так подходить, то STM32 вообще UART полных не содержит - ни в одном нету FIFO  PS: Любой из LPC17xx удовлетворяет всем Вашим требованиям. Ну с прерыванием опустошения сдвигового регистра там конечно туго, но можно обойтись и без него.
|
|
|
|
|
Jul 29 2015, 11:38
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (_3m @ Jul 29 2015, 12:49)  В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Это все по тому, что Вы писать не умеете ни для чего, кроме AVR:(. Минимальный NXP UART это чистой воды 80550 - именно на этом и 8050 чипе не одно поколение RS485 писателей, включая больных на всю голову авторов MODBUS-RTU реализовывали свои все. QUOTE Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. А мне, как полагаю и прдавляющему большинству, ни нафиг не нужен ни один из заводских загрузчиков, если, как минимум не выполняется условие загрузки шифрованного образа.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2015, 13:53
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(jcxz @ Jul 29 2015, 14:28)  Странно.. У нас кучка устройств на LPC1768/LPC1778, во всех 1-2 RS-485, везде FIFO включен, ни один не находится на UART1, везде используется операционка, среди прочих протоколов используется и Modbus. Проблем не замечал. Управление направлением передачи внешнего драйвера - GPIO. Обнаружение конца передачи - прерывание buffer empty, затем - поллинг в прерываниях сис.таймера с ожиданием shifter empty (при желании можно и точно рассчитать стоповый бит, взведя таймер по buffer empty, но оно имхо - не нужна такая точность). С поллингом уарт идите в лес а мк которые по другому не позволяют работать фтопку! Кроме rs485 есть и другие задачи критичные в времянкам. Цитата Точно так же как и без FIFO - оно не влияет никак на таймауты. Простой вопрос: какой алгоритм определения таймаутов 1,5T и 3,5T при фифо размером 16 байт ? Цитата Интересно - в чём урезанность остальных UART???? CTS/RTS нету? Так оно для RS-485 и не нужно. Если так подходить, то STM32 вообще UART полных не содержит - ни в одном нету FIFO  stm32 не обсуждается потому что он не поддерживает формат 7 бит данных 1 стоп без четности. Цитата PS: Любой из LPC17xx удовлетворяет всем Вашим требованиям. Ну с прерыванием опустошения сдвигового регистра там конечно туго, но можно обойтись и без него. Не удовлетворяет нифга. Загрузки по усб нету. Я в Пакистан раскирпичивать девайс не поеду. LPC15** удовлетворяет но маловто озу. В 15-й серии уарт немного другой.
|
|
|
|
|
Jul 29 2015, 14:41
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (_3m @ Jul 29 2015, 16:53)  Я в Пакистан раскирпичивать девайс не поеду. А не писать кирпичные девайсы не судьба? Ну откуда в этом "пакистане" USB  может их там нет  . Нафига вообще USB, если он НЕ нужен для работы, зато по Вашим словам сей девайс есть конвертор интрефейсов у которого по определению разных интерфейсрв с которыми работает заказчик таки есть и без USB. Посему НОРМАЛЬНЫЙ подход к делу, это ВТОРИЧНЫЙ загрузчик работающий по одному или вообще по всем рабочим интерфейсам и загружающий шифрованные образы, которые уже можно хоть в Пакистан, хоть в Китай с Индией посылать - не жалко.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2015, 18:05
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(zltigo @ Jul 29 2015, 17:41)  А не писать кирпичные девайсы не судьба? Ну откуда в этом "пакистане" USB  может их там нет  . Нафига вообще USB, если он НЕ нужен для работы, зато по Вашим словам сей девайс есть конвертор интрефейсов у которого по определению разных интерфейсрв с которыми работает заказчик таки есть и без USB. Посему НОРМАЛЬНЫЙ подход к делу, это ВТОРИЧНЫЙ загрузчик работающий по одному или вообще по всем рабочим интерфейсам и загружающий шифрованные образы, которые уже можно хоть в Пакистан, хоть в Китай с Индией посылать - не жалко. Программ без ошибок не бывает. Во время обновления могут вырубить электричество. Юзер может быть идиоттом и не дождавшить завершения процесса нажмет ресет / выдернет шнурок / отключит питание. Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. usb есть в составе нашего аппаратного коплекса. В разрабатываемом конверторе интерфейсов первичным вяляется интерфейс usb. С шифрованными образами идите к Сноудену. Как показала многолетняя практика голый бинарник прошивки он как неуловимый Джо : нафиг никому не нужен. Секретить имеет смысл репозитарий исходников + багтрекер. Основную ценность имеет история коммитов с обоснованием принятых решений. вообще мы отвелекаемся. Не надо обсуждать загрузку по усб. Это обязательное требование. мне понравились rom-less lpc18xx. Если бы не ужасные копуса применил бы. Даже цена устраивает.
|
|
|
|
|
Jul 29 2015, 18:27
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. Нормальный подход к делу это решать, а не придумывать проблемы. С какого, такого бадуна Цитата включая полностью чистую флэш как пользователь этого добился Цитата без применения специального оборудования Теперь как это решается. 1. делаете маленькую программу - загрузчик расположенную в первых адресах. Ее задача загрузиться первой из флешки, проверить целостность основной прошивки, дать механизм ее изменения, и если все нормально перейти на рабочую программу. 2. делаете рабочую программу работающую во из флеш, можете сделать в ней ключи которые проверяет загрузчик, вплоть до шифрации прошивки. Программа загрузчик позволяет стирать и записывать любые адреса флеш кроме тех в которых она лежит, тем самым она всегда останется с пользователем, что бы он ни сделал. У программы загрузчика есть механизм задержки в ней без перехода, в вашем случае например воткнутая усб флешка с программой прошивки или подключенный компьютер на который можно послать запрос. Переходы между версиями рабочая прошивка - загрузчик через ресет проца. И всех делов. Уже давно выпускаем серийно устройство с обновлениями прошивки по езернет, в нашем формате, и пользователь что бы не сделал всегда может восстановить продукт без применения спец оборудования. Работает все на lpc1768, у которого нет заводского загрузчика езернет....
|
|
|
|
|
Jul 29 2015, 18:31
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (_3m @ Jul 29 2015, 21:05)  Программ без ошибок не бывает. Во время обновления могут вырубить электричество. Юзер может быть идиоттом и не дождавшить завершения процесса нажмет ресет / выдернет шнурок / отключит питание. Никаких проблем - вторичный бутлоадер обязан остаться живым. QUOTE Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. Про восстановление - написал выше. Про "полностью чистую флешь" - дикакя глупость. Почему - тоже уже писал. QUOTE Как показала многолетняя практика голый бинарник прошивки он как неуловимый Джо : нафиг никому не нужен. Вообще-то ни о чем кроме нулевой ценности Ваших программных работ это не говорит. QUOTE Не надо обсуждать загрузку по усб. Это обязательное требование. А чего ее обсуждать? Надо - взял и написал, хоть по USB, хоть по всем интерфейсам сразу. Проблема ровно нулевая и это Вы ее чего-то вдруг поминать как какую-то проблему стали.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2015, 18:45
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(Golikov A. @ Jul 29 2015, 21:27)  Нормальный подход к делу это решать, а не придумывать проблемы. С какого, такого бадуна как пользователь этого добился Легко добился: рубим питание во время обновления прошивки. На N-й раз (или у N-го юзера) получаем слетевший загрузчик. Цитата Теперь как это решается. Без проблем решается. Производтся большое количество процессоров с usb загрузчиком в заводской Rom. Шифрование прошивки не требуется, более того для данного изделия был бы удобен rom-less контроллер.
|
|
|
|
|
Jul 29 2015, 18:56
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (_3m @ Jul 29 2015, 21:45)  Легко добился: рубим питание во время обновления прошивки. На N-й раз (или у N-го юзера) получаем слетевший загрузчик. Фантазии ничерта не знающего, неумеющего и посему боящегося нечистых сил и тому подобного, чайника  во всей красе. Нет никаих причин хоть у сколь-нибудь грамотного загрузчика "слетать" куда-либо хотя-бы по простой причине, что он в свой собственный сектор не лезет никогда. QUOTE с usb загрузчиком в заводской Rom. Нету "заводского ROM" совсем нет. Заводские загрузчики тоже во Flash. Сюрприз!
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2015, 19:54
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата Легко добился: рубим питание во время обновления прошивки. На N-й раз (или у N-го юзера) получаем слетевший загрузчик. Такого рода повреждения равносильно сгоревшему процу. То есть если у вас у клиента от его игр с питанием стирается программа во флэш при чтении, то у него и процессор сгорит на N+1 раз. Осознайте концепцию 2 ступенчатой программы. Первая ступень изменяет вторую, и защищает от изменения себя. Доступ к первой ступени только чтение. При любых повреждениях второй ступени ее всегда можно заново залить из первой. Первая ступень всегда грузиться первой. Единственный способ уничтожения, это написать программу второй ступени которая сотрет первую. Но если его рассматривать, то как защититься от того что кто-то напишет программу которая повредит проц или его периферию... Цитата Вообще-то ни о чем кроме нулевой ценности Ваших программных работ это не говорит. тут не совсем согласен, реверсить бинарь для системы с прерываниями, и стеками типа ТСР/IP та еще задача, пока будут реверсить, уже куча новых продуктов выйдет. А забрать бинарь и себе залить тоже иногда не имеет смысл, когда система сложная и имеет в составе сложную механику и другие связи. Часто ценность системы время и сама она, а не бинарь, так что тут есть варианты...
|
|
|
|
|
Jul 29 2015, 20:18
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Golikov A. @ Jul 29 2015, 22:54)  тут не совсем согласен, реверсить бинарь для системы с прерываниями, и стеками типа ТСР/IP та еще задача, пока будут реверсить, уже куча новых продуктов выйдет. Реверсить полностью в 99.9% просто незачем, ибо это или просто копирование не требущее вообще ничего, либо активизация некоторых функций, либо куочек с мелкими ноухау, типа контрольных сумм протокола. QUOTE А забрать бинарь и себе залить тоже иногда не имеет смысл, когда система сложная и имеет в составе сложную механику и другие связи. Ага, космический корабль  . На AVR. QUOTE Часто ценность системы время и сама она, а не бинарь, так что тут есть варианты... Варианты всегда есть. Но вообще-то в реальной жизни разрабатывается далеко не одно изделие на каой-либо линейке контролеров а несклько. И даже если какие-то из них никому не нужны для копирования, то если все-же НАПИСАН загрузчик, то он может быть использован ВО ВСЕХ изделиях. Просто для унификации. Кроме того используя свой "шифрованный" загрузчик сразу имеем контроль целостностьи образа, чего нет у 99% заводских (заливка битого бинарника, другого бинарника и вообще хрен знает чего вместо прошивки это есть ошибка номер один  ). И что так-же жизеннно важно НЕЗАВИСИМОСТЬ от заводских утилит, кторые не покрвывют всего спектра операционых систем и вообще завтра откажутся работать на каком-нибудь WIN10 после того, как пользователь обновиться. Вот у меня заводской програматор для Jennic писаный кем-то с бодуна на питоне вообще падает с дебильной диагностикой на ВСЕХ машинах на котрых его запускал. Правда есть альтернативный и работает, но исключительно WIN7 (какого черта консольной утилите потребовался WIN7, я уверен, не знает даже автор  )- на других ругается на DLL. Правда протокол как-бы описан, но давно - к предыдущему семейству и уже набежали отличия. Ну и нафига мне такие "подарки"?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|