_3m 9 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба подбираю мк для преобразователя интерфейсов. требования к процессору: Ядро C-m0 ... C-m4. Частота 48-100МГц (больше не нужно). Флэш 64-128Кб Озу 16-64 Кб (16 это совсем край, лучше 32-64). интерфейсы: usb fs (device) - 1 uart - 1 или 2. Работа с rs485. Обязательна поддержка 7, 8 и 9 битных форматов в том числе 7N1. uart должен быть удобен для честной реализации modbus rtu с его дурацкими таймингами (есть мк где не предусмотрено прерывание по окончанию передачи) can - 1 Перечисленные интерфейсы используются одновременно. Таймеры: по 1 аппаратному таймеру на каждый uart + 2 системных. Дополнительные требования: Встроенный rom загрузчик через usb. Необходима возможность через usb прошивать флэш, заливать код в озу и запускать его. Пока нашел только lpc15xx как условно подходящее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба STM32CubeMX говорит, что есть 175 типов STM32F, удовлетворяющих Вашим требованиям. Upd: Хм, а что такое 7N1 ? не, такое оно не может. может только 7N1.5 да и то ручками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба К1986ВЕ1QI от Миландра http://milandr.ru/index.php?mact=Products,...nt01returnid=68 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 29 июля, 2015 Опубликовано 29 июля, 2015 (изменено) · Жалоба nxp lpc 17XX|182(3,5)X Но NXP в новых чипах держит только 1 уарт с полным фукнционалом, а остальные обрезки. Изменено 29 июля, 2015 пользователем Kabdim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба nxp lpc 17XX|182(3,5)X Но NXP в новых чипах держит только 1 уарт с полным фукнционалом, а остальные обрезки. В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. lpc1820 хорош, но корпуса монстрообразные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба С модбасом не работал, возможно прерывание Character Time-out indication подойдет? Оно на 3.5 символа насколько я помню. Бутлоадер можно и свой вставить, апноут насколько я помню есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Странно.. У нас кучка устройств на LPC1768/LPC1778, во всех 1-2 RS-485, везде FIFO включен, ни один не находится на UART1, везде используется операционка, среди прочих протоколов используется и Modbus. Проблем не замечал. Управление направлением передачи внешнего драйвера - GPIO. Обнаружение конца передачи - прерывание buffer empty, затем - поллинг в прерываниях сис.таймера с ожиданием shifter empty (при желании можно и точно рассчитать стоповый бит, взведя таймер по buffer empty, но оно имхо - не нужна такая точность). Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Точно так же как и без FIFO - оно не влияет никак на таймауты. Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. PL2303/CP2102/FT232 ? Но NXP в новых чипах держит только 1 уарт с полным фукнционалом, а остальные обрезки. Интересно - в чём урезанность остальных UART???? CTS/RTS нету? Так оно для RS-485 и не нужно. Если так подходить, то STM32 вообще UART полных не содержит - ни в одном нету FIFO :rolleyes: PS: Любой из LPC17xx удовлетворяет всем Вашим требованиям. Ну с прерыванием опустошения сдвигового регистра там конечно туго, но можно обойтись и без него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба В LPC17XX для rs485 пригоден только uart1, в других нет управления направлением rs485 и не предусмотрено прерывание по флагу статуса Transmitter Empty, без этого прерывания в многозадачной системе не сделать программное управление трансивером rs485. Также я не представляю как в этих уарт ловить таймауты модбас-рту не отключая фифо. Это все по тому, что Вы писать не умеете ни для чего, кроме AVR:(. Минимальный NXP UART это чистой воды 80550 - именно на этом и 8050 чипе не одно поколение RS485 писателей, включая больных на всю голову авторов MODBUS-RTU реализовывали свои все. Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. А мне, как полагаю и прдавляющему большинству, ни нафиг не нужен ни один из заводских загрузчиков, если, как минимум не выполняется условие загрузки шифрованного образа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Интересно - в чём урезанность остальных UART? Ну как еще сказать что один уарт немного ровнее других? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Странно.. У нас кучка устройств на 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 :rolleyes: stm32 не обсуждается потому что он не поддерживает формат 7 бит данных 1 стоп без четности. PS: Любой из LPC17xx удовлетворяет всем Вашим требованиям. Ну с прерыванием опустошения сдвигового регистра там конечно туго, но можно обойтись и без него. Не удовлетворяет нифга. Загрузки по усб нету. Я в Пакистан раскирпичивать девайс не поеду. LPC15** удовлетворяет но маловто озу. В 15-й серии уарт немного другой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Я в Пакистан раскирпичивать девайс не поеду. А не писать кирпичные девайсы не судьба? Ну откуда в этом "пакистане" USB :) может их там нет :). Нафига вообще USB, если он НЕ нужен для работы, зато по Вашим словам сей девайс есть конвертор интрефейсов у которого по определению разных интерфейсрв с которыми работает заказчик таки есть и без USB. Посему НОРМАЛЬНЫЙ подход к делу, это ВТОРИЧНЫЙ загрузчик работающий по одному или вообще по всем рабочим интерфейсам и загружающий шифрованные образы, которые уже можно хоть в Пакистан, хоть в Китай с Индией посылать - не жалко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Кроме того в lpc17 boot loader работает с уарт а мне обязательно нужна загрузка прошивки по усб. Возьмите любой мк с усб-хостом, поднимите в бутлодыре масссторадж и обновляйте прошивку с усб-флешки, очень удобно и не надо вообще комп подключать! Клиенты скажут спасибо :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба А не писать кирпичные девайсы не судьба? Ну откуда в этом "пакистане" USB :) может их там нет :). Нафига вообще USB, если он НЕ нужен для работы, зато по Вашим словам сей девайс есть конвертор интрефейсов у которого по определению разных интерфейсрв с которыми работает заказчик таки есть и без USB. Посему НОРМАЛЬНЫЙ подход к делу, это ВТОРИЧНЫЙ загрузчик работающий по одному или вообще по всем рабочим интерфейсам и загружающий шифрованные образы, которые уже можно хоть в Пакистан, хоть в Китай с Индией посылать - не жалко. Программ без ошибок не бывает. Во время обновления могут вырубить электричество. Юзер может быть идиоттом и не дождавшить завершения процесса нажмет ресет / выдернет шнурок / отключит питание. Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. usb есть в составе нашего аппаратного коплекса. В разрабатываемом конверторе интерфейсов первичным вяляется интерфейс usb. С шифрованными образами идите к Сноудену. Как показала многолетняя практика голый бинарник прошивки он как неуловимый Джо : нафиг никому не нужен. Секретить имеет смысл репозитарий исходников + багтрекер. Основную ценность имеет история коммитов с обоснованием принятых решений. вообще мы отвелекаемся. Не надо обсуждать загрузку по усб. Это обязательное требование. мне понравились rom-less lpc18xx. Если бы не ужасные копуса применил бы. Даже цена устраивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. Нормальный подход к делу это решать, а не придумывать проблемы. С какого, такого бадуна включая полностью чистую флэш как пользователь этого добился без применения специального оборудования Теперь как это решается. 1. делаете маленькую программу - загрузчик расположенную в первых адресах. Ее задача загрузиться первой из флешки, проверить целостность основной прошивки, дать механизм ее изменения, и если все нормально перейти на рабочую программу. 2. делаете рабочую программу работающую во из флеш, можете сделать в ней ключи которые проверяет загрузчик, вплоть до шифрации прошивки. Программа загрузчик позволяет стирать и записывать любые адреса флеш кроме тех в которых она лежит, тем самым она всегда останется с пользователем, что бы он ни сделал. У программы загрузчика есть механизм задержки в ней без перехода, в вашем случае например воткнутая усб флешка с программой прошивки или подключенный компьютер на который можно послать запрос. Переходы между версиями рабочая прошивка - загрузчик через ресет проца. И всех делов. Уже давно выпускаем серийно устройство с обновлениями прошивки по езернет, в нашем формате, и пользователь что бы не сделал всегда может восстановить продукт без применения спец оборудования. Работает все на lpc1768, у которого нет заводского загрузчика езернет.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 29 июля, 2015 Опубликовано 29 июля, 2015 · Жалоба Программ без ошибок не бывает. Во время обновления могут вырубить электричество. Юзер может быть идиоттом и не дождавшить завершения процесса нажмет ресет / выдернет шнурок / отключит питание. Никаких проблем - вторичный бутлоадер обязан остаться живым. Нормальный подход к делу - это гарантировать восстановление физически исправного изделия из любых состояний включая полностью чистую флэш силами пользователя без применения специального оборудования. Про восстановление - написал выше. Про "полностью чистую флешь" - дикакя глупость. Почему - тоже уже писал. Как показала многолетняя практика голый бинарник прошивки он как неуловимый Джо : нафиг никому не нужен. Вообще-то ни о чем кроме нулевой ценности Ваших программных работ это не говорит. Не надо обсуждать загрузку по усб. Это обязательное требование. А чего ее обсуждать? Надо - взял и написал, хоть по USB, хоть по всем интерфейсам сразу. Проблема ровно нулевая и это Вы ее чего-то вдруг поминать как какую-то проблему стали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться