![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| molton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.2.2004 Где: Волгоградская обл ., г.Волжский Репутация: нет Всего: нет |
Можно ли многократно использовать последовательный порт в AT89C51?
Мне с AT89C51 надо соединить АЦП, ЦАП, компьютер (через MAX232). Так получается, что все это можно сделать только через последовательный порт. Может есть что-то вроде "тройника" или что другое? |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 6 Всего: 11 |
Тебе надо ставить микросхему UART Советую обратить внимание на серию SCC2691(Philips). Есть одноканальные и двух канальные. Т.е. ставишь двухканальный уарт и у тебя два дополнительных последовательных порта.
-------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Очень странно...
В последовательных АЦП и ЦАП обычно не UART а SPI или I2C или другой TWI... Если АЦП и ЦАП параллельные, то вопрос естественно не имеет смысла. C компом общаемся через UART+драйвер RS-232. Любой простой поседовательный интерфейс (SPI или I2C) можно (а иногда и нужно) реализовать программно (можно использовать один аппаратный канал, если контроллер это позволяет AT89C51 позволяет). Приоритет, что программно а что аппаратно выбирается в зав-ти от того что нужно опрашивать быстрее. ...и никаких многоканальных UART не нужно... СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| molton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.2.2004 Где: Волгоградская обл ., г.Волжский Репутация: нет Всего: нет |
shedon, а класная штука SCC2691!
PILOTIK, вот пример Здесь пишут, что используют SPI-интерфейс, но занимают-то вход и выход приемопередатчика (UART), значит наверно это аппаратная реализация? Я так вроде понял, что если программно реализовывать поседовательный интерфейс (SPI или I2C), то заниматься RxD и TxD не будут, а вместо них можно использовать какой-либо из аппаратных каналов (допустим свободные порты, например P0.0-P0.7). Если все правильно понял, то, PILOTIK (или еще кто, если захочет), объясните идею реализации SPI программно. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Все правильно, это аппаратная реализация...
Для программной нужно использовать ноги внешних прерываний которые будут отлавливать клоки с мастера. Принцип такой: отловил клок - считай состояние ноги Data. сосчитал нужное количество бит, получил пакет данных. Если ты мастер (а с АЦП и ЦАМ так и бывает), то в таймере сем генерируешь клок сигнал предварительно на ногу данных выдав нужное состояние, а т.к. SPI это просто циклический регистр, то состояние следующего бита в посылке это есть следующий бит в пересылаемой структуре). Если ты мастер - ноги выбираешь сам, если слэйв - нога клок должнабыть источником внешних прерываний, а нога данных произвольна. Если ты еще не выбрал контроллер, то есть контроллер AduCx12 в котором есть АЦП и ЦАП очень неплохие. Причем АЦП многоканальный. Если не хочешь ADuC то есть AVR. В 128-ой меге есть АЦП (не такое высокоразрядное как в ADuC, но тоже многоканальное), а ЦАПа уже нет, есть высокоскоростной ШИМ (аналог ЦАП, если не нужно зловещая точность). AVR гораздо приятнее программировать, т.к. его система команд более приближена к аппаратной части контроллера и почти все команды ваполняются за один "оборот" кварца, а не за 12 как в 51-ом, значит при частоте кварца 16МГц AVR выдаст примерно 16МOPS, а 51-ый только 1.2. я 51-ый или Pic использую только тогда, когда нельзя воспользоваться больше ничем другим (например если другое дорого получается, или другое нельзя ставить (МОП-перечень), 51-ый я могу достать за 60центов, а AVR сам понимаешь дешевле 3 баксов нет). СУВ. ЗЫ. В электронике делаешь так, как тебе удобнее, если ты не скован условиями. Нравится ставить обвеску - ставишь, нравится программировать что-то, и обходиться тем, что имеешь - программируешь. Выбор за разработчиком. Но в случае уменьшения себестоимости - никакие обвески не помогут, нужно работать головой и выдумывать: как бы мне программированием избавиться от какого-нить внешнего узла. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| molton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.2.2004 Где: Волгоградская обл ., г.Волжский Репутация: нет Всего: нет |
Спасибо большое.
Пока вопросов больше нет. |
|||
|
||||
| 37750198 |
|
|||
|
Unregistered |
Вполне вероятно, что я изобретаю велосипед. Но всё же - если кто знает, подскажите готовое решение (или - сделаем вместе?!):
На входе имеем 5 Вольт (1, 10 ... не важно), на выходе хотелось бы иметь RS232C. Вероятно, это должно быть АЦП+МИКРОПРОЦЕССОРAT89C51+ИНТЕРФЕЙСНАЯМИКРОСХЕМАТИПАST232. Ну, и, разумеется, прошивка, полагаю, не сильно сложная... Вот только с микроконтроллернымассемблером не знаком, к сожалению... Представляете, сколько применений могло бы иметь подобное устройство!?!?!?!? В частности, имею желание снимать зарядно-разрядные характеристики аккумуляторов. |
|||
|
||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
2 37750198
А что из решения тебя интересует??? В принципе, ты сам все описал. Через делитель заводишь напряжение на АЦП какого - нить контроллера, замеряешь, обрабатываешь, потом через приемо-передатчик (я использую ADM232) передаешь на КОМП инфу (или через что - нить типа ADM485 на другой контроллер) и все. -------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| 37750198 |
|
|||
|
Unregistered |
Интересует, в первую очередь, - прошивка. Не знаю я этого ассемблера. Компъютерный - знаю, вирусы писАл, а этот - нет.
Разумеется, прошивка привязывается к конкретной схеме. |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 6 Всего: 11 |
Ну дак можешь на си, если асма не знаешь, что ты хочешь, чтоб тебе программу написали, полностью этого делать ни кто не будет, а с участкоми кода помогут, но опять же сначало нужна схема ? -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| Гость_Igor |
|
|||
|
Unregistered |
Пожалуйста, люди, если есть у кого-ниубдь прога - Аппаратная реализия SPI микроконтроллера ATmega128, пришлите на [email protected]
Люди сделайте добро, очень нуна!!!!! |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Ну здорово!
Есть только аппаратная реализация SPI программы. Нужна? СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |