|
выбор мк с usb, uart и can |
|
|
|
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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|