|
АЦП и UART |
|
|
|
Jun 30 2006, 17:58
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
Я программирую Atmega8 КАк подсчитать будет ли успевать UART передавать данные со скоростью 15200 бит/с с АЦП на ЭВМ, если известь что частота преобразования АЦП до 15 тыс. преобразований в секунду при максимальном разрешении, а время преобразования 65-260мкс. АЦП 10-ти разрядный и последовательного приближения. Сигнал принимается только на порт ADC0. КАк узнать успеет ли UART переслать все данные которые пришли с АЦП и принять новые? Как подсчитать сколько времени придётся ждать АЦП, если, всётаки UART не успеет?
|
|
|
|
|
Jun 30 2006, 18:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Элементарно: Скорость обмена делите на количество бит в посылке (для стандартного 8N1 это 10 бит). Добавляте пару процентов на накладные расходы по пересылке данных и прерывания.Получаете время передачи одного байта. Дальше смотрите с какой скоростью способно выдавать данные АЦП и будете ли вы передавать все 10 бит. Возможно стоит накапливать и паковать данные, чтобы не было незначащих бит.Времянки АЦП расписаны потактово, такчто это не проблема. Самому считать лениво. PS Цитата Для передачи по UART данных с АЦП с 15 Квыборок в секунду Вам по меньшей мере понадобиться скорость UART 230 Кбод. В принципе такая скорость ставиться на ATmege Но не на компьютере.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jun 30 2006, 18:17
|
Местный
  
Группа: Участник
Сообщений: 216
Регистрация: 26-05-06
Из: Коломна
Пользователь №: 17 479

|
Цитата(Thumper @ Jun 30 2006, 21:58)  Я программирую Atmega8 КАк подсчитать будет ли успевать UART передавать данные со скоростью 15200 бит/с с АЦП на ЭВМ, если известь что частота преобразования АЦП до 15 тыс. преобразований в секунду при максимальном разрешении, а время преобразования 65-260мкс. АЦП 10-ти разрядный и последовательного приближения. Сигнал принимается только на порт ADC0. КАк узнать успеет ли UART переслать все данные которые пришли с АЦП и принять новые? Как подсчитать сколько времени придётся ждать АЦП, если, всётаки UART не успеет? c С АЦП поток - 15000 10ти битных слов в секунду, по UART при скорости 115200 режиме 8 бит данных без бита четности 1 стоповый (посылка 10бит) можно передать 11520 восьмибитных слов в секунду. То есть, при грамотной организации передачи, где то половину времени АЦП будет простаивать (при максимальной скорости своей работы).
|
|
|
|
|
Jun 30 2006, 18:52
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 2-05-06
Из: Санкт-Петербург
Пользователь №: 16 707

|
А как насчет SPI?
|
|
|
|
|
Jun 30 2006, 19:04
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(beer_warrior @ Jun 30 2006, 22:15)  PS Цитата Для передачи по UART данных с АЦП с 15 Квыборок в секунду Вам по меньшей мере понадобиться скорость UART 230 Кбод. В принципе такая скорость ставиться на ATmege Но не на компьютере.  На компьютере ставиться до 960 Кбит. Если не совсем древний.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Jul 1 2006, 04:53
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
Извините, просто я только начал осваивать микроконтроллеры и много чего ещё не понимаю. Цитата(DS_ @ Jul 1 2006, 01:13)  Для передачи по UART данных с АЦП с 15 Квыборок в секунду Вам по меньшей мере понадобиться скорость UART 230 Кбод. В принципе такая скорость ставиться на ATmege А чтобы установить 230 кбит/с какое значение нужно записать в UBRR при частоте 7.3728МГц? Что такое 8N1? Цитата Дальше смотрите с какой скоростью способно выдавать данные АЦП и будете ли вы передавать все 10 бит. Возможно стоит накапливать и паковать данные, чтобы не было незначащих бит.Времянки АЦП расписаны потактово, такчто это не проблема. Да! Я собираюсь передавать все 10бит. Если АЦП придётся простаивать, то будет ли он простоивать при 8 битном преобразовании? Цитата c С АЦП поток - 15000 10ти битных слов в секунду, по UART при скорости 115200 режиме 8 бит данных без бита четности 1 стоповый (посылка 10бит) можно передать 11520 восьмибитных слов в секунду. То есть, при грамотной организации передачи, где то половину времени АЦП будет простаивать (при максимальной скорости своей работы). Почему 11520? Это всегда так? Цитата То есть, при грамотной организации передачи, где то половину времени АЦП будет простаивать (при максимальной скорости своей работы). Тоесть в программе необходимо написать цикл ожидания АЦП пока UART не закончит передавать данные? Цитата А как насчет SPI? Не могу! Техническое задание не позволяет. Большое всем спасибо за помощь!
|
|
|
|
|
Jul 1 2006, 05:27
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
Цитата Используйте режим ADLAR, разумеется если Вас устраивает точность АЦП не 10бит а 8. Тем паче смысла в 10-ти битном преобразовании вроде бы и не особо то много, у AVR'овского АЦП суммарная погрешность составляет 1.5LSB. Тоесть, если АЦП будет работать в 10-битном режиме, то UART не успеет передать данные. Вы предлагаете установить в ADLAR 1-цу! Большое всем спасибо за помощь! Может с вами можно связаться через ICQ? чтобы задать вопросы на прямую.
|
|
|
|
|
Jul 1 2006, 11:01
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
У меня МК работает на частоте 7,3728 МГц Я установил предделитель АЦП на 64. Получается что АЦП работает на частоте 115,2 кГц. Как найти время преобразования АЦП при такой частоте?
|
|
|
|
|
Jul 1 2006, 11:12
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
У меня МК работает на частоте 7,3728 МГц Я установил предделитель АЦП на 64. Получается что АЦП работает на частоте 115,2 кГц. Как найти время преобразования АЦП при такой частоте?
|
|
|
|
|
Jul 1 2006, 11:26
|
Группа: Новичок
Сообщений: 7
Регистрация: 30-06-06
Из: Томск
Пользователь №: 18 491

|
У меня МК работает на частоте 7,3728 МГц Я установил предделитель АЦП на 64. Получается что АЦП работает на частоте 115,2 кГц. Как найти время преобразования АЦП при такой частоте?
Сообщение отредактировал Thumper - Jul 1 2006, 11:26
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|