|
|
  |
Реализация конвертора скоростей 9600 - 10400 на МК, помогите советом начинающему. |
|
|
|
Jan 5 2007, 16:24
|
Местный
  
Группа: Свой
Сообщений: 264
Регистрация: 16-07-05
Из: г. Уфа
Пользователь №: 6 851

|
Цитата(The Fresh @ Jan 5 2007, 15:15)  Есть девайс с UART'ом скорость 9600 нужен переходник на 10400 туда и обратно. 1) Берете любой МК с двумя UART или просто свой любимый, ресурсы которого позволяют организовать один (если один UART уже есть) или два software UART с нужными скоростями. 2) Особо обращаете внимание на максимальный размер массива данных, единовременно приходящего со стороны 10400. Этим определяется размер циклического буфера, который потребуется организовать для предотвращения потери данных. Если размер большой, то, возможно, понадобится внешнее ОЗУ.
--------------------
|
|
|
|
|
Jan 10 2007, 14:04
|
Участник

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777

|
10400? а не 10472? Эт я к чему - у 51-го контроллера чтобы получить скорость 9600, было необходимо поставить кварц 11,0962 МГц (11,096 тоже проходит). Если же не было неободимости в стандартной скорости, а производительность была нужна максимальная, то ставили 12 МГц, но скорость получалась 10472. Хотя это может быть и не ваш случай. Что же до переходника, то поставьте любой процессор, который позволяет формировать такую скорость, обычно в описаниях есть описание расчета, а с другой стороны микросхему приемопередатчика. По поводу МК с двумя UART ничего не могу посоветовать, т.к. сам такие не применял, но если они позволяют установить такие скорости на разных портах одновременно, то почему бы их и не использовать. Удачи.
|
|
|
|
|
Feb 8 2007, 11:18
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501

|
Цитата(The Fresh @ Jan 10 2007, 20:15)  Дело в том. что разные проги устанавливают разные скорости для ВАЗа это 10400, для машин с OBD(прога OBDtool) 10472. Опять таки как мне кажется есть некий запас по скорости при которой не будет коммуникационных ошибок. Если применять софтверный метод, то чем больше частота осцила тем меньше ошибка в получении скорости. Например для меня применяя на Attiny12 с внутренним осцил 1.2МГц можно получить скорость 10618(самая близкая которую можно получить к 10400), но как написано в даташите допускаются отклонения до 3% без коммуник. ошибок. Есть другая сторона, а в друг автожелезо не примет эту скорость т.е. скажем плюс минус ее рабочей скорости меньше чем мои 218, тогда будем ставить внешний осцил скажем на 4 МГц и получим 10389. Есть хорошие МК NEC семейства 78K0/KE2, например uPD78F0535 (4.03 Евро). У них 2 UARTа, 3 К ОЗУ, много еще чего хорошего, но для твоей задачи все остальное не важно. Если выбрать кварц 8 МГц, вполне доступный, то скорости будут 9615 и 10416, обе отличаются на 0,16% от заданных, порты программируются разными регистрами и допускают работу с разными скоростями. Подробную информацию смотри http://www.eu.necel.com/docuweb/index.php?...p;submit=Search Есть популярный Си компилятор (IAR), освоить будет не сложно. Простой программатор можно собрать самому, о нем написано http://www.eltech.spb.ru/flashprog.html Если IAR-овского симулятора не хватит и захочешь применять внутрикристальную отладку, то тогда придется взять более дорогой чип uPD78F0537D (6 Евро) и отладчик Миникуб 2 (58 Евро). По ногам и перифирии 37D и 35 совместимы, разработать можно на 37D а 35 ставить в серию. Миникуб 2 может и программировать.
|
|
|
|
|
Feb 8 2007, 15:11
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501

|
Цитата(The Fresh @ Jan 10 2007, 20:15)  Дело в том. что разные проги устанавливают разные скорости для ВАЗа это 10400, для машин с OBD(прога OBDtool) 10472. Опять таки как мне кажется есть некий запас по скорости при которой не будет коммуникационных ошибок. Если применять софтверный метод, то чем больше частота осцила тем меньше ошибка в получении скорости. Например для меня применяя на Attiny12 с внутренним осцил 1.2МГц можно получить скорость 10618(самая близкая которую можно получить к 10400), но как написано в даташите допускаются отклонения до 3% без коммуник. ошибок. Есть другая сторона, а в друг автожелезо не примет эту скорость т.е. скажем плюс минус ее рабочей скорости меньше чем мои 218, тогда будем ставить внешний осцил скажем на 4 МГц и получим 10389. Что-то я в прошлом письме слишком дорогие процы посоветовал. Смотреть надо семейство 78K0/KB2, uPD78F0500 в качестве серийного (2,02 Евро в розницу) и uPD78F0503D для отладки через OnChipDebug за 3,5 Евро. По сравнению с 78K0/KE2 у этих процов 30 выводов, 8-32К Flash, 512-1024 байт ОЗУ, остальное для твоей задачи не важно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|