Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
Оцифровка аналогового сигнала
- 12-11-2003
- Den Y. Borisov
December 11, 2003, 5:05 am

Здраствуйте All,
Возникла необходимость разработать аппаратно-программный комплекс ;)
на основе персонального компьютера, на котором установлена MS Windows.
Hа компьютере должен отображаться график зависимости некоего параметра
от времени за один период.
Как это планируется:
аналоговый периодический сигнал (период от 10 до 100 мс) с датчика
подается на вход АЦП (точность большая не нужна, поэтому 8 бит хватит),
который преобразует сигнал в цифровое представление не менее 100 раз
за период (чтобы график выглядел более-менее прилично).
Затем его цифровое представление передается через RS-232
(потому что PC + Windows) в компьютер, где и обрабатывается.
Для передачи каждой выборки в компьютер в реальном времени потребуется
сокрость не меньше 115 200 бит/с.
(100 выборок / 10 мс = 10 000 выборок/с * 10 бит = 100 000 бит/c).
Hо читать COM-порт побайтово на такой скорости из под Windows не очень,
хорошо, поэтому выборки лучше складывать в буфер, и по мере возможности
его считывать.
Бывают ли АЦП с UART'ом? С буфером в 1000 байт?
Или придется ставить контроллер с АЦП, UART'ом и ОЗУ 1 кб?
Какой для этого лучше всего подходит?
С уважением, Den
Возникла необходимость разработать аппаратно-программный комплекс ;)
на основе персонального компьютера, на котором установлена MS Windows.
Hа компьютере должен отображаться график зависимости некоего параметра
от времени за один период.
Как это планируется:
аналоговый периодический сигнал (период от 10 до 100 мс) с датчика
подается на вход АЦП (точность большая не нужна, поэтому 8 бит хватит),
который преобразует сигнал в цифровое представление не менее 100 раз
за период (чтобы график выглядел более-менее прилично).
Затем его цифровое представление передается через RS-232
(потому что PC + Windows) в компьютер, где и обрабатывается.
Для передачи каждой выборки в компьютер в реальном времени потребуется
сокрость не меньше 115 200 бит/с.
(100 выборок / 10 мс = 10 000 выборок/с * 10 бит = 100 000 бит/c).
Hо читать COM-порт побайтово на такой скорости из под Windows не очень,
хорошо, поэтому выборки лучше складывать в буфер, и по мере возможности
его считывать.
Бывают ли АЦП с UART'ом? С буфером в 1000 байт?
Или придется ставить контроллер с АЦП, UART'ом и ОЗУ 1 кб?
Какой для этого лучше всего подходит?
С уважением, Den

Оцифровка аналогового сигнала
Hello, Den!
Чет Дек 11 2003, Den Y. Borisov писал к All по поводу "Оцифровка аналогового
сигнала."
DB> аналоговый периодический сигнал (период от 10 до 100 мс) с датчика
DB> подается на вход АЦП (точность большая не нужна, поэтому 8 бит
DB> хватит), который преобразует сигнал в цифровое представление не менее
DB> 100 раз за период (чтобы график выглядел более-менее прилично).
т.е. минимальное время преобразования 0.1 мс
DB> Затем его цифровое представление передается через RS-232 (потому что
DB> PC + Windows) в компьютер, где и обрабатывается. Для передачи каждой
DB> выборки в компьютер в реальном времени потребуется сокрость не меньше
DB> 115 200 бит/с.
DB> (100 выборок / 10 мс = 10 000 выборок/с * 10 бит = 100
DB> 000 бит/c).
Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
DB> Hо читать COM-порт побайтово на такой скорости из под Windows не
DB> очень, хорошо, поэтому выборки лучше складывать в буфер, и по мере
DB> возможности его считывать.
Зачем. Если у тебя период не четко 100 выборок 10-мс а не менее 100 выборок на
10мс - то надо просто непрервно делать выборки и гнать на 115200, пришем
програмный UART на 12f675. Выдаем старт, 8 бит данных, потом 1 на ножку. (стоп)
и во время этого самого стоп бита можно хватать сигнал с АЦП, чтоб не
привязыватся к времени преобразования перед началом грузим RTCC и по
переполнению снова на старт передачи. Только вот могут проблемы быть с 115200
если захочешь сэкономить на кварце. Если стоит задача сделать ровно 0.1 ms на
выборку - все то-же самое только RTCC грузим при начале передачи байта для
переполнения через 0.1ms. Если денег не жалко - берем pic с аппаратным UART+ADC
тогда программы в нем будет - кот наплакал.
DB> Бывают ли АЦП с UART'ом? С буфером в 1000 байт?
Конечно нет.
DB> Или придется ставить контроллер с АЦП, UART'ом и ОЗУ 1 кб? Какой для
DB> этого лучше всего подходит?
Hе совсем понятно зачем озу...
DB> С уважением, Den
WBR! Maxim Polyanskiy.
Чет Дек 11 2003, Den Y. Borisov писал к All по поводу "Оцифровка аналогового
сигнала."
DB> аналоговый периодический сигнал (период от 10 до 100 мс) с датчика
DB> подается на вход АЦП (точность большая не нужна, поэтому 8 бит
DB> хватит), который преобразует сигнал в цифровое представление не менее
DB> 100 раз за период (чтобы график выглядел более-менее прилично).
т.е. минимальное время преобразования 0.1 мс
DB> Затем его цифровое представление передается через RS-232 (потому что
DB> PC + Windows) в компьютер, где и обрабатывается. Для передачи каждой
DB> выборки в компьютер в реальном времени потребуется сокрость не меньше
DB> 115 200 бит/с.
DB> (100 выборок / 10 мс = 10 000 выборок/с * 10 бит = 100
DB> 000 бит/c).
Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
DB> Hо читать COM-порт побайтово на такой скорости из под Windows не
DB> очень, хорошо, поэтому выборки лучше складывать в буфер, и по мере
DB> возможности его считывать.
Зачем. Если у тебя период не четко 100 выборок 10-мс а не менее 100 выборок на
10мс - то надо просто непрервно делать выборки и гнать на 115200, пришем
програмный UART на 12f675. Выдаем старт, 8 бит данных, потом 1 на ножку. (стоп)
и во время этого самого стоп бита можно хватать сигнал с АЦП, чтоб не
привязыватся к времени преобразования перед началом грузим RTCC и по
переполнению снова на старт передачи. Только вот могут проблемы быть с 115200
если захочешь сэкономить на кварце. Если стоит задача сделать ровно 0.1 ms на
выборку - все то-же самое только RTCC грузим при начале передачи байта для
переполнения через 0.1ms. Если денег не жалко - берем pic с аппаратным UART+ADC
тогда программы в нем будет - кот наплакал.
DB> Бывают ли АЦП с UART'ом? С буфером в 1000 байт?
Конечно нет.
DB> Или придется ставить контроллер с АЦП, UART'ом и ОЗУ 1 кб? Какой для
DB> этого лучше всего подходит?
Hе совсем понятно зачем озу...
DB> С уважением, Den
WBR! Maxim Polyanskiy.

Оцифровка аналогового сигнала
Hi Maxim !
Совсем недавно 12 Dec 03 01:55, Maxim Polyanskiy писал к Den Y. Borisov:
DB>> сокрость не меньше 115 200 бит/с. (100 выборок / 10 мс = 10 000
DB>> выборок/с * 10 бит = 100 000 бит/c).
MP> Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
Это стартовый. Плюс стоповый. Плюс 8 бит байта. Итого 10.
WBRgrds
Ruslan
Совсем недавно 12 Dec 03 01:55, Maxim Polyanskiy писал к Den Y. Borisov:
DB>> сокрость не меньше 115 200 бит/с. (100 выборок / 10 мс = 10 000
DB>> выборок/с * 10 бит = 100 000 бит/c).
MP> Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
Это стартовый. Плюс стоповый. Плюс 8 бит байта. Итого 10.
WBRgrds
Ruslan

Re: Оцифровка аналогового сигнала
Здраствуйте Maxim,
*12.12.03* *1:55:36* Вы писали в *RU.EMBEDDED*
сообщение к *Den Y. Borisov*
о *"Оцифровка аналогового сигнала"*.
MP> Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
1 старт-бит, 8 бит данных, 1 стоп-бит. 1 + 8 + 1 = 10.
DB>> Hо читать COM-порт побайтово на такой скорости из под Windows не очень,
DB>> хорошо, поэтому выборки лучше складывать в буфер, и по мере возможности
DB>> его считывать.
MP> Зачем. Если у тебя период не четко 100 выборок 10-мс а не менее 100
MP> выборок на 10мс - то надо просто непрервно делать выборки и гнать на
MP> 115200, пришем програмный UART на 12f675.
Да, нужно не менее 100 выборок на период. Hо мне нужно быть уверенным,
что два байта, считанные подряд из COM-порта, относятся к рядом расположенным
выборкам, а не к отстоящим к друг от друга на полпериода.
Поэтому пусть лучше выборки складываются в кольцевой буфер по мере оцифровки,
тогда можно будет их считывать, зная ЧТО именно ты читаешь.
С уважением, Den
*12.12.03* *1:55:36* Вы писали в *RU.EMBEDDED*
сообщение к *Den Y. Borisov*
о *"Оцифровка аналогового сигнала"*.
MP> Стоповых битов 2 что-ли или еще парити будет? Так можно 9 бит сделать.
1 старт-бит, 8 бит данных, 1 стоп-бит. 1 + 8 + 1 = 10.
DB>> Hо читать COM-порт побайтово на такой скорости из под Windows не очень,
DB>> хорошо, поэтому выборки лучше складывать в буфер, и по мере возможности
DB>> его считывать.
MP> Зачем. Если у тебя период не четко 100 выборок 10-мс а не менее 100
MP> выборок на 10мс - то надо просто непрервно делать выборки и гнать на
MP> 115200, пришем програмный UART на 12f675.
Да, нужно не менее 100 выборок на период. Hо мне нужно быть уверенным,
что два байта, считанные подряд из COM-порта, относятся к рядом расположенным
выборкам, а не к отстоящим к друг от друга на полпериода.
Поэтому пусть лучше выборки складываются в кольцевой буфер по мере оцифровки,
тогда можно будет их считывать, зная ЧТО именно ты читаешь.
С уважением, Den
Site Timeline
- » Как лучше форсировать клапан?
- — Next thread in » Microcontrollers (Russian)
-
- » ADG509F
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » Drut srebrny, albo grubo posrebrzony miedziany.
- — The site's Newest Thread. Posted in » Electronics (Polish)
-