Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 30.06.2006, 18:23  
Jasper
Прохожий
 
Регистрация: 30.06.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jasper на пути к лучшему
По умолчанию АЦП и UART

Я программирую Atmega8
КАк подсчитать будет ли успевать UART передавать данные со скоростью 115200 бит/с с АЦП на ЭВМ, если известь что частота преобразования АЦП до 15 тыс. преобразований в секунду при максимальном разрешении, а время преобразования 65-260мкс. АЦП 10-ти разрядный и последовательного приближения. Сигнал принимается только на порт ADC0.
КАк узнать успеет ли UART переслать все данные которые пришли с АЦП
и принять новые?
Как подсчитать сколько времени придётся ждать АЦП, если, всётаки UART не успеет?
Реклама:
Jasper вне форума  
Непрочитано 30.06.2006, 18:44  
Prime
Прописка
 
Регистрация: 11.06.2005
Сообщений: 266
Сказал спасибо: 9
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
Prime на пути к лучшему
По умолчанию

Колян, эт ты написал?
Ну и вопросик!!!
Prime вне форума  
Непрочитано 30.06.2006, 19:10  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: АЦП и UART

Сообщение от Jasper
Я программирую Atmega8
КАк подсчитать будет ли успевать UART передавать данные со скоростью 15200 бит/с с АЦП на ЭВМ
вот так avr123.nm.ru/z4.htm как раз расчет времени передачи.

"На передачу одного символа (в формате 8N1 ... "
avr123-nm-ru вне форума  
Непрочитано 01.07.2006, 00:55  
Jasper
Прохожий
 
Регистрация: 30.06.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jasper на пути к лучшему
По умолчанию

прочитал! Извините, но я ничего не понял!
Почему 10,11,12 нужно делить на скорость UART?
Получается что если мы разделим 12 на 115200, то на передачу одного символа тратится примерно 104мкс.
А как это связать с АЦП?
ТОгда мне нужно знать сколько времени тратит АЦП на преобразование одного символа!
ТОгда у АЦП 65-260 мкс это и есть время преобразования одного символа?
Пожалуста подтвердите мои предположения. Просто я только начинаю осваивать микроконтроллеры!
Если мои предположения верны, то получается что UART успевает (104‹260)отправлять все данные с АЦП.
Буду рад любой помощи! Большое спасибо!

Возможно ли вам задать вопрос через ICQ?
Jasper вне форума  
Непрочитано 01.07.2006, 10:45  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Jasper
прочитал! Извините, но я ничего не понял!
там написано, "вы новичок и не все сразу будет понятно" и совет дан - перечитайте. И

главное записывайте вопросы и ищите ответы на них.

Сообщение от Jasper
Получается что если мы разделим 12 на 115200, то на передачу одного символа тратится

примерно 104мкс.
Верно. Значит что-то все же поняли !

На передачу 1 символа в формате 8N1 нужно 10 бод, а 12 я советую с учетом того, что МК

занимается и другими задачами - т.е. для спокойствия, с запасом.

Там это объяснено кстати !

Сообщение от Jasper
у АЦП 65-260 мкс это и есть время преобразования одного символа?
не символа а "сэмпла" т.е. одного измерения или выборки.

Это время рекомендуемое по ДШ, к нему нужно стремится устанавливая частоту тактирования

АЦП выбором коэф. деления частоты кварца (или иного источника такта) - удобно сделать это

с помощью матера начального кода - avr123.nm.ru/z1.htm

АЦП и UART ни как не связаны между собой ! Вы пишите программу которая отправляет

результат АЦП на UART.

Причем в компиляторе CVAVR вы можете читать результат АЦП из виртуального двух-байтного

регистра ADCW.


Сообщение от Jasper
Если мои предположения верны, то получается что UART успевает (104‹260)отправлять все

данные с АЦП.
Да. Если время преобразования вы сделаете больше времени на отправку одного символа и ЕСЛИ

будете использовать только 8 бит (столько в одном символе) результата АЦП.

========

Кстати 115200 не предел для МК и ПК, если поставить микруху MAX3222 (или аналог) то в 9

раз быстрее можно слать данные.


Сообщение от Jasper
Возможно ли вам задать вопрос через ICQ?
Это бесполезно - я не всезнайка! Задавайте вопросы в топике "по курсу" и вам помогут.

=========
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 01.07.2006, 13:25  
Jasper
Прохожий
 
Регистрация: 30.06.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jasper на пути к лучшему
По умолчанию

У меня МК работает на частоте 7,3728 МГц
Я установил предделитель АЦП на 64. Получается что АЦП работает на частоте 115,2 кГц.
Как найти время преобразования АЦП при такой частоте?
Jasper вне форума  
Непрочитано 01.07.2006, 16:46  
Prime
Прописка
 
Регистрация: 11.06.2005
Сообщений: 266
Сказал спасибо: 9
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
Prime на пути к лучшему
По умолчанию

Сообщение от Jasper
У меня МК работает на частоте 7,3728 МГц
Я установил предделитель АЦП на 64. Получается что АЦП работает на частоте 115,2 кГц.
Как найти время преобразования АЦП при такой частоте?
Цитирую даташит на ATmega8, у меня стр. 196:
"A normal conversion takes 13 ADC clock cycles. The first conversion after the ADC is switched on (ADEN in
ADCSRA is set) takes 25 ADC clock cycles in order to initialize the analog circuitry"
Вольный перевод:
"Обычное преобразование занимает 13 тактов АЦП. Первое преобразование после включения - 25 тактов, так как необходима инициализация АЦП"

Теперь переводя на твой случай: частота, на которой работает АЦП - 115,2 кГц. 1 такт АЦП - примерно 8,7 мкс (1/115200). Умножаешь это число на количество тактов для нормального преобразования - 13*8,7=113 мкс (примерно). Для первого преобразования - 25*8,7=217 мкс (примерно). Хочешь, чтоб быстрее шло преобразование - уменьшай значение предделителя. Но для точности 10 бит частота АЦП должна быть не выше 200 кГц.
Prime вне форума  
Непрочитано 01.07.2006, 17:58  
Jasper
Прохожий
 
Регистрация: 30.06.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jasper на пути к лучшему
По умолчанию

Сообщение от Prime
Хочешь, чтоб быстрее шло преобразование - уменьшай значение предделителя. Но для точности 10 бит частота АЦП должна быть не выше 200 кГц.
Вроде как не надо делать быстрее преобразование, потому что UART и так не успевает передать эти.
Посоветуйте что мне сделать! Установить 8битное преобразование или написать ожидание (в виде пустого цикла) АЦП пока UART не передаст все данные.

И есть ещё один вопрос. Вот кусок из моей программы:
Код:
;Инициализация UART
	ldi	 R20,0b00001000	; устанавливаем бит передачи
	out	 UCSRB,R20		; (1‹‹TXEN)
	ldi	 R20,3			;
	out	 UBRRL,R20		; скорость 115200, частота 7.3728МГц

	;Инициализация АЦП
ldi 	R20,0b11100110	; включение АЦП в непрерывном режиме
out 	ADCSRA,R20	; и поставим коэффициент деления предделителя на 64      
; (частота АЦП 115,2 кГц)
		

Main:

	sbis 	ADCSRA,ADIF	; ждем первого байта
	rjmp 	Main		
	in	R21,ADCL		; сначала считываем 8 бит из ADCL
	out	UDR,R21		; передаём сначала 8 бит по UART
	in 	R21,ADCH		; считывает биты из ADCH
	out 	UDR,R21		; передача на UART
	sbi 	ADCSRA,4
	rjmp 	Main
Вопрос заключается в следующем. Возможно ли как-нибудь передавать из ADCH не все 8 бит а только 2? Ведь это сократит время передачи UART. Или это не имеет смысла, потому что UART всё расно не будет успевать?
Возможно что где-то что-то в программе не правильно. Поправте если что не так!
Jasper вне форума  
Непрочитано 01.07.2006, 20:40  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Jasper
Вроде как не надо делать быстрее преобразование, потому что UART и так не успевает передать эти.

Посоветуйте что мне сделать! Установить 8битное преобразование или написать ожидание (в виде пустого цикла) АЦП пока UART не передаст все данные.
Еще раз повторяю - АЦП молотит не зависимо от UART. Сделайте по типу как на стр. avr123.nm.ru/05a.htm
avr123-nm-ru вне форума  
Непрочитано 02.07.2006, 07:53  
Prime
Прописка
 
Регистрация: 11.06.2005
Сообщений: 266
Сказал спасибо: 9
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
Prime на пути к лучшему
По умолчанию

"Вопрос заключается в следующем. Возможно ли как-нибудь передавать из ADCH не все 8 бит а только 2? Ведь это сократит время передачи UART. Или это не имеет смысла, потому что UART всё расно не будет успевать? "

Минимум ты можешь передавать в режиме 5 битовом. А переключаться из одного режима в другой постоянно - головная боль, не нужно это.
Не лучше ли тебе передавать данные каждый раз, когда АЦП завершит преобразование? Тебе достаточно написать прерывание, которое бы начинало передачу по UART сразу после окончания преобразования. Либо поставь все это на таймер (правда немного будет морока с подсчетом времени, но справишься, я думаю).
Prime вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Включение UART ankar Микроконтроллеры, АЦП, память и т.д 13 28.02.2008 02:11
АЦП на МК без АЦП zelanez Микроконтроллеры, АЦП, память и т.д 7 29.07.2006 09:59
Работа с UART Oleg5865 Микроконтроллеры, АЦП, память и т.д 2 01.04.2006 08:44
UART slawa Микроконтроллеры, АЦП, память и т.д 4 19.01.2006 12:44
UART xaoc Микроконтроллеры, АЦП, память и т.д 13 01.07.2005 09:31


Часовой пояс GMT +4, время: 11:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot