реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Микроконтроллер с двумя UART (неполными), Ищу в маленьком корпусе.
shb
сообщение Sep 21 2007, 12:00
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 425
Регистрация: 17-07-06
Из: Россия МО
Пользователь №: 18 877



От микроконтроллера требуется только два УАРТА и все буквально.
На 64 ноги и более есть. Хочется о 20-24 ногах.
Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое.
Go to the top of the page
 
+Quote Post
awtoap
сообщение Sep 21 2007, 13:25
Сообщение #2


Участник
*

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



Ну возьмите любой мелкий МК с одним аппаратным УАРТом, а второй реализуйте програмно.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 21 2007, 13:35
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(awtoap @ Sep 21 2007, 19:25) *
Ну возьмите любой мелкий МК с одним аппаратным УАРТом, а второй реализуйте програмно.

+1. Можно даже оба UART программно реализовать, если скорости небольшие. Вон г-н AVR хвастался, что делал на ATmega по-моему аж до 9 программных UART на скорости до 9600.
Go to the top of the page
 
+Quote Post
vvs157
сообщение Sep 21 2007, 14:46
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(shb @ Sep 21 2007, 16:00) *
От микроконтроллера требуется только два УАРТА и все буквально.
На 64 ноги и более есть. Хочется о 20-24 ногах.
Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое.

У Maxim есть DS83C520 и подобные, правда в DIP40
Go to the top of the page
 
+Quote Post
shb
сообщение Sep 21 2007, 14:51
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 425
Регистрация: 17-07-06
Из: Россия МО
Пользователь №: 18 877



Да вот. Скорость нужна 115200. Не сделать програмно.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 21 2007, 15:19
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(shb @ Sep 21 2007, 20:51) *
Да вот. Скорость нужна 115200. Не сделать програмно.

Полный дуплекс или полудуплекс? Если полудуплекс, то вполне реально. Для MSP430 один полудуплексный софтовый UART на 115200 даже с кварцем 3,58МГц реализуется. http://www.gaw.ru/html.cgi/txt/app/micros/msp430/slaa078.htm
На каком-нибудь 16МГц AVR два полудуплексных софтовых UART на 115200 тоже не проблема. "Я так думаю!" (с) х/ф "Мимино" smile.gif.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Sep 21 2007, 16:09
Сообщение #7


;
******

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 21 2007, 16:27
Сообщение #8


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(shb @ Sep 21 2007, 15:00) *
От микроконтроллера требуется только два УАРТА и все буквально.
На 64 ноги и более есть. Хочется о 20-24 ногах.
Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое.

Как насчет 40-ка ног. ATMega162 (40 ног DIP/ 44 TQFP), легко доставаемый.
Всяко уже не 64.
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Sep 21 2007, 16:41
Сообщение #9


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(shb @ Sep 21 2007, 16:00) *
От микроконтроллера требуется только два УАРТА и все буквально.
На 64 ноги и более есть. Хочется о 20-24 ногах.
Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое.

PIC24FJ64GA002 - 24 ноги 2 USARTа.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 21 2007, 17:20
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 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 порта).
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Sep 21 2007, 20:21
Сообщение #11


;
******

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 21 2007, 22:12
Сообщение #12


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Sep 21 2007, 20:20) *
Я только что реализовал на Си на 16МГц 12 программных каналов ШИМ с периодом 5кГц для управления ШД. Принципиально можно было бы сделать 24 канала (просто за раз выводится 3 порта).

smile.gif
А при чем тут ШИМ к УАРТу?
Разного поля ягоды. Или УАРТ у вас только "писатель" smile.gif

115200 программный c пяти-тактововой синхронизацией @14.7Mhz займет все ресурсы МК. Это при том, что код будет написан на асме. 128 тактов на бит, 128/5 - 25 тактов на период, 11 из них - вход/выход в обработчик прерывания - 14 тактов остается на обработку приема/передачи, а ведь еще "байт" уровень хорошо бы обслуживать, а на него уже ничего не останется.

С трехтактовой синхронизацией будет веселей - 42 такта на период, но и вероятность ошибки значительно подскочит (допуск отклонения частоты здесь будет (100/2 - 100/3)/10 = 1.7%.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 22 2007, 10:05
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(defunct @ Sep 22 2007, 01:12) *
smile.gif
А при чем тут ШИМ к УАРТу?
Разного поля ягоды. Или УАРТ у вас только "писатель" smile.gif

smile.gif Я тут выпендрится хотел, а ты не даёшь. smile.gif
Цитата
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$.
Go to the top of the page
 
+Quote Post
yura-w
сообщение Sep 22 2007, 11:13
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617



Цитата(shb @ Sep 21 2007, 16:00) *
От микроконтроллера требуется только два УАРТА и все буквально.
На 64 ноги и более есть. Хочется о 20-24 ногах.
Похоже таких нет? Или я ошибаюсь. Ядро может быть в принципе любое.


2UART апаратно есть в в корпусах 40/44 pin ATmega161,ATmega162; повторю defunct.
(зачем усложнять программными заморочками?)
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Sep 22 2007, 12:11
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Если количество ног важно не как количество паек, а как следствие малого размера корпуса, то 64 ноги в малом размере есть - те же упомянутые M64/128 в MLF(или QFN - не помню уж), ну или TQFP с малым шагом - MSP149F14xx, LPC2103, а у Silabs их вааще зоопарк


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th July 2025 - 22:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016