|
Микроконтроллер с двумя UART (неполными), Ищу в маленьком корпусе. |
|
|
|
Sep 21 2007, 13:25
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 25-04-07
Пользователь №: 27 301

|
Ну возьмите любой мелкий МК с одним аппаратным УАРТом, а второй реализуйте програмно.
|
|
|
|
|
Sep 21 2007, 16:09
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(shb @ Sep 21 2007, 18:51)  Да вот. Скорость нужна 115200. Не сделать програмно. Возьмите Tiny2313, кварц 9.216 МГц. Это ж целых 80 тактов сплошного удовольствия! TxD2 повесите на OCR1 Rxd2 - тоже куда-нибудь+ таймер0 (OCR0) Если мыслить ассемблерными категориями, то у Вас уйма времени
Сообщение отредактировал _Pasha - Sep 21 2007, 16:15
|
|
|
|
|
Sep 21 2007, 17:20
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(shb @ Sep 21 2007, 17:51)  Да вот. Скорость нужна 115200. Не сделать програмно. T(115200)=8.6805mks При частоте процессора 14745600 один период частоты составит 128 тактов. При правильном написании проги можно обеспечить ошибку не более 1.5%. Только оба канала необходимо делать совтовых и прерывания не применять. Такого рода программа не вызывает никаких трудностей. С этой точки зрения колличество совтовых каналов будет определятся наличием свободных линий порта. Иными словами разница в реализации для 2 USARTов и 4 составит единицы процентов загруженности процессора. Я только что реализовал на Си на 16МГц 12 программных каналов ШИМ с периодом 5кГц для управления ШД. Принципиально можно было бы сделать 24 канала (просто за раз выводится 3 порта).
|
|
|
|
|
Sep 21 2007, 20:21
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Я в понедельник-вторник нечто похожее запускаю. Данные: MEGA8/14.745600MHz/UART0=115200(Full Dpx)/UART1=9600(Full Dpx) Обязательно проверю 2-й канал на 115200. И сообщу. Цитата(SasaVitebsk @ Sep 21 2007, 21:20)  Я только что реализовал на Си на 16МГц 12 программных каналов ШИМ с периодом 5кГц для управления ШД. Принципиально можно было бы сделать 24 канала (просто за раз выводится 3 порта). 8 - разрядных?
Сообщение отредактировал _Pasha - Sep 21 2007, 20:36
|
|
|
|
|
Sep 22 2007, 10:05
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(defunct @ Sep 22 2007, 01:12)   А при чем тут ШИМ к УАРТу? Разного поля ягоды. Или УАРТ у вас только "писатель"   Я тут выпендрится хотел, а ты не даёшь. Цитата 115200 программный c пяти-тактововой синхронизацией @14.7Mhz займет все ресурсы МК. Это при том, что код будет написан на асме. 128 тактов на бит, 128/5 - 25 тактов на период, 11 из них - вход/выход в обработчик прерывания - 14 тактов остается на обработку приема/передачи, а ведь еще "байт" уровень хорошо бы обслуживать, а на него уже ничего не останется.
С трехтактовой синхронизацией будет веселей - 42 такта на период, но и вероятность ошибки значительно подскочит (допуск отклонения частоты здесь будет (100/2 - 100/3)/10 = 1.7%. Все правильно считаешь. Но сделать всё равно можно. А поработав с Си, смею утверждать, что и на Си тоже. На IAR как минимум. Очень хорошо с портами работает. А байтовый уровень придётся размазать по периоду. Конечно некрасиво, но сделать можно. Зато такую хрень можно на t2313 бомбануть. Или на м8. Меньше бакса стоимость. Если брать t2313 или m48, то можно на 18432000 работать, а это уже 160 тактов на бит. Если задачу упростить, и не заморачиваться, то лучше использовать m64. Там 2 USART и цена на неё будет ниже чем у 162 к примеру. Думаю в пределах 4$.
|
|
|
|
|
Sep 22 2007, 11:13
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(shb @ Sep 21 2007, 16:00)  От микроконтроллера требуется только два УАРТА и все буквально. На 64 ноги и более есть. Хочется о 20-24 ногах. Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое. 2UART апаратно есть в в корпусах 40/44 pin ATmega161,ATmega162; повторю defunct. (зачем усложнять программными заморочками?)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|