Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа ПК с Address-Bit Multiprocessor Format
Шарага > Soft - НЕ железо > Программирование МК
drvlas
Некоторые МК умеют работать по УАРТу с 9-м битом в посылке - этот режим называется по-разному, я выбрал название от Texas Instruments. У Атмела он зовется Multi-processor Communication Mode.
Работать с компъютера с таким форматом данных трудно. А у меня появляются иногда девайсы (с нестандартным 9-битовым протоколом), которые было бы удобно осблуживать из-под компа.
Таким образом, стоит задача достучаться из ПК до 9-битового RS-485.

Предполагаемое решение: USB-устройство (мне удобно назвать его шлюзом), которое преобразует и физику, и формат посылки, и протокол. По физике - это будет RS-485, по формату - вот те самые 9-битовые посылки, по протоколу - мне проще преобразовать нестандартный протокол в МК, чем в ПК (по моей квалификации).

Решение хочется получить из подручных средств. Не догма, но все же...
Ходим, отгребаем ногами, ищем, из чего слепить.
Переход USB - UART кагбэ и не фокус. Вон, лежит красивая платка на FT232. Но где-то надо втулить МК. И такой, чтобы было 2 УАРТа - на обе стороны... Хм...
Есть у меня ненужный eZ430 (от техасских часиков Chronos). Там классическая для всех техасских ланчпадов связка: TUSB3410 + MSP430F1612. Вродь неплохо - нацепил на выход драйвер шины RS-485 и дело в шляпе. Но при этом нужно перепрошить MSP430F1612. А есть мнение, что и в TUSB3410 нужно залезть.
Но! Если в TUSB3410 уж влезать, то зачем нам MSP430F1612? Я посмотрел описание, это программируемый МК с ядром 8052, у него нет режима 9 бит, но есть возможность прямо устанавливать бит четности - а это позволяет, в принципе, имитировать 9-битовый режим.

Вот и вопрос сложился: кто-нибудь работал с TUSB3410? Можно ли на нем построить весь шлюз USB - RS-485 с нестандартным 9-битным протоколом?
Harbinger
В общем, похоже, что F1612 оттуда можно безнаказанно выбросить. Курю вот это: http://www.ti.com/product/TUSB3410/technicaldocuments
Завтра на свежую голову посмотрю ещё ту прошивку, что драйвер MOXA Uport 1130 грузит. Там всего лишь надо вклиниться между конечной точкой USB и регистрами UART. Драйвер, если получится, может остаться моксовский.
drvlas
Цитата(Harbinger @ 17.5.2015, 17:28) *
Курю вот это:
Я тоже это курил smile.gif
Тут вот какой вопрос: чем компилить и программировать эту 3410?
Secter
Цитата(Harbinger @ 17.5.2015, 16:28) *
Драйвер, если получится, может остаться моксовский.

girl_crazy.gif Мокса не понимает 9-ый БИТ ... clapping.gif
Harbinger
Цитата(drvlas @ 17.5.2015, 17:49) *
Тут вот какой вопрос: чем компилить и программировать эту 3410?

Keil поддерживает, только что посмотрел.

Цитата(Secter @ 17.5.2015, 19:59) *
girl_crazy.gif Мокса не понимает 9-ый БИТ ... clapping.gif

Истину глаголиТЕ! Но потенциально - может. Если в её прошивке перехватывать из потока внешних данных некий признак и по нему устанавливать/сбрасывать адресный бит, и наоборот. Например, префикс - INTERCOM_MUST_DIE с CRC в конце. smile.gif
Harbinger
Разобрал по файлам SLLC139. Похоже, что под кейл придётся допиливать или иар ставить (который очень не люблю).
drvlas
Ребята, ничьо, если я тут постою рядышком? Я не буду мешать. Но и понять всю высотищу вашей дискуссии мне не дано.
Если для работы нужного мне девайса нужно хачить драйверы (неизвестной мне вааще) мохи, то это не мой путь. Или не обязательно, и вы просто увлеклись интересной возможностью?

Давайте вернемся к теме. Мне нужно "интеллектуальный" переход USB - RS-485, чтобы на стороне 485-го был МК, способный работать таким себе декодером "8бит-9бит".
Я вижу вариант выполнить это на TUSB3410, но я не представляю, какие подводные камни при этом будут с работой с TUSB3410 со стороны ПК (это вы про эти драйверы говорите?), я не знаю, является ли TUSB3410 действительно универсальным МК, который можно настроить на декодирование, я не знаю, как разработать ПО для TUSB3410 (хотя и догадываюсь).
Если в ответах на мои сомнения появляется много (для меня) загадок, то я буду рассматривать другие решения - либо на парочке FT232 - двухпортовый универсальный МК, либо на другом USB-ориентированном МК. С благодарностью приму советы и в этом направлении.

Извините за задержку с ответом, был в командировке.
Harbinger
Да ту моксу с её драйверами я вспомнил только потому, что она базируется именно на TUSB3410, потому оттуда можно что-то почерпнуть.
А на пана Secter'a не обращайте внимания - это у него такая манера общения. wink.gif
drvlas
Цитата(Secter @ 19.5.2015, 13:54) *
Я показал РЕАЛьный девайс с озвученными требуемыми характеристиками
И что? Что мне с твоей картинкой делать? Куда воткнуть? Можешь не отвечать, я знаю smile.gif
Я, кстати, не понял на ней нифига - где там USB?

ОК, ответов, понятных мне, пока нет. И на том спасибо, что попробовали.
Harbinger
Флуд слегка выпилил в 23247.
_pasha
Цитата(drvlas @ 19.5.2015, 8:45) *
Давайте вернемся к теме. Мне нужно "интеллектуальный" переход USB - RS-485, чтобы на стороне 485-го был МК, способный работать таким себе декодером "8бит-9бит".

hi.gif
я както делал такую вещь, она была на тиньке 2313 и там 9 бит слал двумя частями, длина посылки была минимально возможная - типа 5 бит скорость соответственно либо 115200 либо 230400 при опрашиваемой 19200...
Harbinger
drvlas, загляните в PM pls.
В общем-то решений вопроса много есть, но этот самый TUSB3410, кажись, оптимален (для меня). Помимо решения вопроса ТС, убивает ещё нескольких зайцев.
_pasha
А я все не разродюсь на элементарное, типа блекмажика или версалуна, только чтобы с гальаноразвязкой на адумах и чтобы spi uart MAC i2c аж летали, собако.
А, наверное еще и lpt как-то эмулировать
drvlas
Цитата(_pasha @ 19.5.2015, 17:56) *
9 бит слал двумя частями
Ну ясно, истинные джидаи умеют. Но до такого градуса мой спортивный интерес не дошел. Хочется более прагматического подхода. Двух-УАРТовые МК есть, можно выбрать.
Хотя - пока Harbinger не сказал, что с TUSB3410 не получится, продолжаю сичтать этот вариант наиболее интересным. Во-первых, потому что не нужно FT232 и ей подобных, во-вторых (а тут уже и спортивный интерес), радует возможность получить просто необычное решение - и вовсе не джидайское, а именно с использованием штатных возможностей TUSB3410, пропадающих зря в Ланчпадах.
Можно, конечно, поискать на буржуйских сайтах, мож кто и юзал TUSB3410 "по полной". Но сейчас некогда.

Цитата(_pasha @ 19.5.2015, 21:27) *
чтобы spi uart MAC i2c аж летали
Ну, не знаю, какие у тебя задачи.
Но лично со мной такая история: тоже хотел "всеобъемлющее", и так... давно хотел. Года 2 дрочил на эту мыслю. Все менял состав, функционал, исполнение... Пока не определился с конкретной задачей. Тогда эти смутные хотелки уступили место простой задаче, которую и хочу решить.
Harbinger
Пока что так: последняя версия IAR матюкается, придётся кучу всего переопределять.
<io51.h> -> <io8051.h>, sfr -> __sfr и т.п. Перетащить в кейл, наверное, не сложнее будет. Чем и займусь вечером.
_pasha
Цитата(Harbinger @ 20.5.2015, 8:11) *
Пока что так: последняя версия IAR матюкается, придётся кучу всего переопределять.
<io51.h> -> <io8051.h>, sfr -> __sfr и т.п. Перетащить в кейл, наверное, не сложнее будет. Чем и займусь вечером.

так заведите себе сразу compiler.h и переопределите дефайнами все что не лезет.
Harbinger
Так да.
Блин, у силабсов он "искаропки" идёт в любом примере ("compiler_defs.h"). А тут даже все исходники в один файл свалили, пришлось распиливать.
Harbinger
Извиняюсь за отсутствие новостей, до вторника в разъездах. Процесс идёт. По достижении промежуточного результата отпишусь.
Harbinger
Надыбал нечто очень похожее... http://fibell.com.ua/index.php/ru/
drvlas
Цитата(Harbinger @ 12.6.2015, 8:59) *
похожее
На что?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.