Отговори на тема  [ 12 мнения ] 
Проблем (може би) със серийния порт? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение Проблем (може би) със серийния порт?
Здравейте.От отдавна ми отлежава в главата една идея и чак вчера имах време да потествам малко концепцията,ама ударих на камък.Идеята ми е да си направя нещо като малък осцилоскоп -някъде до към 20-30кХц.Вчера за проба надрасках набързо на една мега8-ца код който през 10 микросекунди генерира случайно число между 0 и 255 и го праща на серийния порт на компа.Всичко си бачка ток,обаче се оказва,че повече от 170 проби за 1 секунда не мога да приема,я трябва да са хиляди :? .Въпроса ми е от какво идва това ограничение-хардуерно или софтуерно е според вас и как мога да го избегна?.Чипа е Мега8 на 4Мхц,праща с 19200 бода/с,софта на компа го писах на VB и използвам MScomm контрола за да разчитам порта.Някакви съвети? :)


Вто Дек 07, 2010 2:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение 
Пробвай първо с loopback от програмата ти колко символа можеш да предадеш и да приемеш. След това пробвай с мегата да изпращаш само $55 и $АА и виж каква скорост достигаш.

_________________
Warriors of the Night, ASSEMBLER!!!


Вто Дек 07, 2010 3:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 9:39 pm
Мнения: 2283
Мнение 
Сметни при дадената скорост (19200), колко време трябва за предаването на 1 байт :!:


Вто Дек 07, 2010 5:19 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение 
Ако не ми е грешно инфото (ако е грешно,моля за поправка :) ) би трябвало нещата да изглеждат така:
При положение,че съм задал 19200 бод/с,8 дата битове и 1 стоп ,например ако искам да предам числото 1,двоичния му вид е 110001 т.е 6 бита+ стоп и старт бита станаха 8 и реално скоростта е 2400 бит/с т.е 1 бит се предава за грубо 400 микросекунди.С повече информация за предаване,скоростта пада-така ли са нещата или съм в грешка нещо?


Вто Дек 07, 2010 6:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Дек 19, 2004 6:26 pm
Мнения: 1628
Местоположение: Сливен
Мнение 
Май грешиш - 1 старт+8 данни +1 четност + 2 стопови = 12 бита/байт
а има и паузи между тях - не бълваш от хардуерен стек

//ако нямаш четност и само 1 стопов = 10 бита/байт

ако софтуерно смяташ нещо и после пращаш - никой не знае каква скорост ще получиш
между 2 байта няма начин да нямаш някакво забавяне

//и нещо май има гнило с двоичен и аски код на числото


Вто Дек 07, 2010 6:40 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение 
Явно аз съм бил в грешка :oops: .Тогава при 10 бита ,се получават 1920 бит/с нал тъй?.Малко поправка в инфото-единя таймер (таймер1,16 битовия) съм настроил да се препълва на 20 микросекунди т.е генерира по 50 000 числа т.е байта в секунда (или поне теоритично трябва да е толкова).В случай,че имам 1 стоп бит и без parity битове,както спомена Wise по-надолу се получават 10 бита/байт .В такъв случай ще ми трябва 50 000*10 = 500 кб/с и от там идва проблема,така ли да разбирам,или се омотах съвсем ? :)


Вто Дек 07, 2010 8:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9123
Местоположение: Разград
Мнение 
Ставаш ... за готвач.


Вто Дек 07, 2010 9:15 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение 
Translation please-нищо ли не съм разбрал? :oops:


Вто Дек 07, 2010 9:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9123
Местоположение: Разград
Мнение 
Виж огледай се за някой подобен проект (има един даже с 8 пинов атмел). А най-добре ползвай някой PC осцилоскоп със звуковата карта. Zellscope например е добър избор. По ком-порта можеш да постигнеш (принципно) до към 10kb (115kbaud) безпроблемно. Друг е върпоса дали ще може чипа да мери и праща с такива скорости.

Едно време като рових за някакви отворени проекти за скоп, най-смисленото коеот намерих беше с FPGA и 2 бр. 1MS/s паралелни АЦП + някаква бърза паралелна SRAM. С пикче беше реализиран само трансфера на рамта към РС-то (по USB) и зареждането на фърмуеъра на FPGA-то. Сещай се от там на сетне.


Вто Дек 07, 2010 10:22 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение 
Демек да забравя за тая идея :).Одеве направих едно малко тестче-в първия случай таймера настроих на 1 секунда.Докато той не се препълни,мегата си семплираше АДЦ-то и при всеки семпъл увеличаваше броя на една променлива.Като се препълни таймера,пращаше стойността на променливата през UART-а.Резултата беше 27450 семпъла за секунда.Повторих същата процедура при изпращане директно към RS232-то т.е за 1 секунда мегата праща директно през UART-a към PC-то и резултата беше почти същия ,като преди-около 180 семпъла.Явно наистина си трябва скорост :)


Вто Дек 07, 2010 11:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9123
Местоположение: Разград
Мнение 
Ами с тая скорост може до към 2,7 kHz да видиш. Може примерно първо да семплираш, после да сриваш данните в РС-то. Ама рамчицата до никъде няма да стигне, а за да успяваш да изпратиш толкова данни ти трябва някакъв по-бърз интерфейс - USB примерно. Другия вариант е да имаш мноооого рам, да семплираш по-голям прозорец и полсе да го пращаш, ама пак ще имаш 1 кадър за 5-6 сек. и то пак някаква много ниска честота.


Сря Дек 08, 2010 8:57 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Сеп 16, 2009 7:30 pm
Мнения: 28
Мнение 
Одеве видях в нета едно решение -LPT scope се зове :D .Пича използва директно едно АЦП 0820 (1Msps),което праща данните на принтерския порт и нататъка всичко е софтуерно.При 1Msps,теоритично до към 100кХц би трябвало да получавам добра форма на сигнала :)


Сря Дек 08, 2010 11:28 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни