Отговори на тема  [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3
Странен УАРТ проблем 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Странен УАРТ проблем
HCL написа:
При достатъчно бърз овърсамплинг и достатъчно кратък старт-байт-стоп пакет решението работи защото не позволява да акумулираш грешки извън рамките на един пакет. Обаче отношенито семплиране към дължина периода на бита трябва да е цяло число, за да не бяга точката на семплиране, особено при 1 Мбпс.

Това пък защо ?
При овърсемплинг 8, средата на първият бит е 12 семпъла след началото на старт бита. Т.е. когато Rx стане low брояч се нулира и започва да брои до 12 и там е средата на старт бита. На 20 ти е средата на 2рия бит, на 28 е третият и т.н. Съответно на 84тия импулс трябва да имаш high за стоп бита. На всеки нов байт се започва да се брои на ново.
Разбира се това е моята представа за нещата...
Аз съм правил такова нещо за 6 софтуерни уарта на този принцип.
Когато правя един UART използвам метод със фазова синхронизация, но при 6 UART-a трябват 6 часовника което не е практично, затова направих тогава овърсемплинг 8 и синхронизирах по брой импулси.
При всичките случая е известен предварително baud-rate. и часовникът трбва да има достатъчно точност.

_________________
https://github.com/slav4ocom/


Сря Апр 24, 2024 2:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Странен УАРТ проблем
Mersi на отзовалите се :)

Ами да виндовс е компутера, с длл на фтди/ или стандартен достъп до виртуален компорт..
Аз по принцип исках да е етернет интерфейса, но по политическо-коректни причини се остана на уарт.

Мислех си да пробвам с някои апиринчета по платката, да кажем пулдаун/ъп ресистор на предавателната жичка...
И на мен ми се вижда че съм на ръба и статистически и теоретически на вероятността да се появят гршки.., което го доказвам практически..
Мисля да не го мисля повече, ами да си събирам дата сетове с дължина под прага на грешката.

Цялото упражнение ми е не процесора и уарта като такъв, а акселерометъра, който е част от една система за машинно здраве(превантивна диагностика) на едни турбини. Че е много нов и пререлийз го показваме на голям клиент, и искахме всичко да е супер, а стана както винаги ;)

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Сря Апр 24, 2024 3:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Странен УАРТ проблем
slav4o.com написа:
Когато правя един UART използвам метод със фазова синхронизация, но при 6 UART-a трябват 6 часовника което не е практично, затова направих тогава овърсемплинг 8 и синхронизирах по брой импулси.
При всичките случая е известен предварително baud-rate. и часовникът трбва да има достатъчно точност.


Използваш кофти термини ;-)

В хардуера "фазовата синхронизация" има малко по-различен смисъл. Да кажем имаш диференциална линия, т.е. два сигнала които винаги трябва да са диференциални. Да, ама на практика никога не са, защото колкото и да изравняваш писти и т.н. винаги има някакво разминаване. Това разминаване може да е мъничко, но като работиш на гигахерци може и да е фатално. За целта се прави т.н. синхронизация като двата сигнала се прекарват през програмируеми закъснителни линии и през фазов детектор. Тоя детектор ти казва фронта на кой сигнал изпреварва. Съответно имаш една стейт машинка, която променя закъснителните линии докато сигналите не се разминат. Като се разминат закъсненията почват да се променят в обратната посока и така до откат. В крайна сметка се получава "почти" еднаква фаза на двата сигнала.
По подобен начин работи и синхронизирането на клоци. Но въпросът е, че при всички случаи това са процеси. Синхронизирането не става за един миг. Трябват определен брой стъпки за да се синхронизира донякъде това което синхронизираш и после почва осцилиране напред-назад около оптимума.
Докато това, която описваш ти е стартиране на семплирането по фронт. Детектваш фронт, изчакваш еди-колко си време и семплираш бит, след още еди-колко си следващия бит и т.н.
Както писах вече това не може да бъде реализирано хардуерно или поне не е никак лесно. Но и да можеше няма нищо общо с "фазова синхронизация" ;-)

Знам че изпадам в детайли, но според мен са важни. Щото точно заради тия детайли може да семплираш гигахерцов сериен без овърсемплинг, а за тъп сериен дето няма и мегахерц си трябва овърсемплинг...


Сря Апр 24, 2024 4:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Странен УАРТ проблем
Ми да кажем, че имам вътрешен генератор с бауд рейт честота. Трябва да го рестартирам така, че предните фронтове на импулсите му да съвпадат със средата на битовете - там те ще се "четат" (семплират). Такива схеми има на телевизионни генератори където хоризонталните линии са от такъв генератор който се запуска по редови гасящ импулс на тв. сигнала. Гъстотата и броя линии зависи от честотата на генаратора, но те не плуват защото той се рестартира по редовия импулс. Тук генераторът обаче не е кварцов и е "гъвкав"Не съм запознат колко е сложно да се направи това хардуерно за някакъв PLL със няколко мегахерца... Явно е така, на мен просто ми е интересно как работят нещата :)
Аз го правя този "клок" софтуерно със delay() което си е реално пак някакво броене на импулси на процесора.

_________________
https://github.com/slav4ocom/


Сря Апр 24, 2024 8:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Странен УАРТ проблем
Цитат:
Ако затворя конекцията и пак я отворя(от пц пробвах и длл на фтди и като виртуален компорт все тая, и с С# и със питон) пак чете без проблеми до кум 2 млн пакета...

Реконект откъм ПЦто, а в това време МЦУто продължава ли да бълва?
Ако да - не е ли туй пряко свидетелство ,че фтдито е проблемно?


Сря Апр 24, 2024 9:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Странен УАРТ проблем
stefan63 написа:
Цитат:
Ако затворя конекцията и пак я отворя(от пц пробвах и длл на фтди и като виртуален компорт все тая, и с С# и със питон) пак чете без проблеми до кум 2 млн пакета...

Реконект откъм ПЦто, а в това време МЦУто продължава ли да бълва?
Ако да - не е ли туй пряко свидетелство ,че фтдито е проблемно?

Незнам, нагледах се и се намерих за седмици напред....
Не ща да се съмнявам във фтди, защото по принцип са кквото съм тествал с техните чипове всичко винаги работи.
Инпросто нямам време за проба с други уарт към усб чипове, не че има много избор...

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Сря Апр 24, 2024 10:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Странен УАРТ проблем
мммм фтди като цяло е първото нещо в което да се усъмниш, имал съм какви ли не проблеми с тях. Истина е, че повечето бяха свързани с драйвера им, и като че ли от едно известно време е оправено, но и аз избягвам да ги използвам.


Чет Апр 25, 2024 2:04 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

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


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

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