|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 10:50 am
| Автор |
Съобщение |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Странен УАРТ проблем
Имам мцу (за съжсление от Максим..), което чете един акселерометър и праща данни по спи интерфейс. Само това прави, като по уарта даже готовият пакет данни го засилвам с дма.. това на скорост от 921600 до 2.5мбода. И винаги след 2 милиона пакета почва да греши, получават се грешни символи и т.н.... Уарт към усб ползвам ftdi ft234xd, което го дават уарт до 3мбода. С два стоп бита.... Някой да се сеща от какво може да се получи това мислех си да е в ралика от кварцовете, та да се натрупва изместване ба символите... но защо първите 2 млн пакета е ок, а после почват проблемите... Ако затворя конекцията и пак я отворя(от пц пробвах и длл на фтди и като виртуален компорт все тая, и с С# и със питон) пак чете без проблеми до кум 2 млн пакета...
Бахти чудесата, не бях пипвал уарт от 7 години...
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Апр 23, 2024 4:37 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Странен УАРТ проблем
Е ти пък хептен без 3-4 символа почивка ли ги ринеш тия пакети. Ако има пауза някъде няма причина да не се синхронизират. А и без пауза да е пак няма причина да се разсинхронизират. Все пак на всеки фронт би следвало да се синхронизира приемника. Ако е неработещ заради кварц(честота), ще е неработещ още на първия символ.
|
| Вто Апр 23, 2024 4:56 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: Странен УАРТ проблем
То разлика в clock-а трябва да се изравнява от старт стоп бит т.е. на всеки символ. Ако се пращат еднакви байтове какво става примерно 0xAA ?
|
| Вто Апр 23, 2024 5:14 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Re: Странен УАРТ проблем
Ами акселерометъра има 16кхз output data rate. Бие ми прекъсване320 думи(Nx(X2byte,Y2 byte,Y2byte) на всеки 6.5 мс(или там някъде) . аз изчитам фифото, и слагам хедър и дължина на пакета , тотално са 630 байта и засилвам на дма уарт. И така до откат. Ама какво е това сакрално число дето след около 2 млн такива пакета се зацапват незнам.... План Б ми е да събирам Nна брой датасет по 2млн фрейма... като изпускам 10-20 мс да преинициализирам компорта....ама не е добре
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Апр 23, 2024 5:16 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Странен УАРТ проблем
UART-a не вдига ли някой ERR флаг?
_________________ main[-1u]={1};
|
| Вто Апр 23, 2024 5:55 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
 Re: Странен УАРТ проблем
Аз не схванах нещо постановката
1. Контролера получава прекъсване от акселерометъра на всеки 6.5 мс по жица 2. Контролера чете данните (320 думи по 6 байта) от акселерометъра по СПИ и ги записва в локална памет 3. Контролера използва вътрешно ДМА което чете събраните данни (320*6+хедър, нещо не пасва) и ги изпраща по УАРТ до ФТДИ чипа зад който стой ПЦ 4. След 2е6*(320*8+хедър) байта ПЦ-то получава единични грешни символи или всички символи, вкл. хедъра са грешни?
|
| Вто Апр 23, 2024 5:56 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: Странен УАРТ проблем
Всичко може да е. Аз бих закачил един логически анализатор да записва какво върви по серийния канал и примерно едно гпио на което да се изкара пулс като се засече грешка и по него гледаш дали всички битове и фреймове преди това са ОК. Т.е. да локализираш къде е проблема - в предавателя или в приемника. После чесане по главата. Евентуално с друг тест стесняване на локацията. И така докато не ти просветне.
Така съм гонил бъгове в блокиран УАРТ заради едновременно ползване с полиране и с прекъсване т.е. четене на статус регистъра при полиране сваля флага за прекъсване и така другата нишка която го чака това прекъсване никога не продължава. Класически дедлок. Разбира се за таймаут или лаещо куче и дума не може да става. Разбира се това ставаше в продукция. На устройство защитено от дебъгване. Дедлока се случваше веднъж на ден. Добавянето на още лог не помагаше защото разместваше във времето всичко и не се тригърваше ... мъка. От това по загубен бъг беше само с кофти възстановяване на статуса по време на изпълнение на Thumb ITE инструкция т.е. изпълняваше и IF и THEN ... трябваше да се пипа компилатора да не я генерира.
_________________ Мразя да мразя ...
|
| Вто Апр 23, 2024 6:36 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Re: Странен УАРТ проблем
Като цяло е така, само т.3 е 320*2,(толкова е фифото по точно сетнал съм го на 312 думи watermark за интеръпа ) демек 624 байта всеки ~6 мс. След това слагам отпред старт на пакета 4 байта, фрейм брояч 4 байта , брой на полезните данни 2 байта и това е, което се дава на дма-то на уарта да си го засилва към фтди чипа. И безкрайно това се върти, докат не пратя команда за стоп, или да променя накой филтър на акселерометъра... И след около 2 млн фрейма (пакета или както исскаш го наречи) почват грешки. Някой път в старт хедъра, някой път в брояча, някой път в дулжината на полезните данни, някой път в данните.... Не е като загуба на байтове като бройка са толкова около 98% приети от 2млн * 734 байта..... Хня като цяло...
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Апр 23, 2024 6:53 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Re: Странен УАРТ проблем
Проблема е че нямам лог анализер за голями масиви, само около 100мб. Друготоо е ,че няма как да клатя гпио от страна на пц-то. Иначе си го мислех нещо подобно да снифя usb-то с някой плъгин на wireshark... Като цяло ще го оставя на план Б N на брой дата сета по 2млн фрейма... Три деня гоня духове...
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Апр 23, 2024 6:58 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
 Re: Странен УАРТ проблем
Контролера ако има ресурси можеш ли да направиш някаква основна проверка на коректност на данните и от там да дадеш тригер на анализатора? Това само за дебъга
|
| Вто Апр 23, 2024 7:14 pm |
|
 |
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 11:53 pm Мнения: 4582 Местоположение: Brussels / Пловдив
|
 Re: Странен УАРТ проблем
Е, в моя случай бяха 3 месеца ... 3 дни само нищо не е  Мисля, че имаше ЛА които стриймват всичко през бърз USB3 на диска т.е. може да запишеш дни ... ти си знаеш де. Но аз не бих оставил такъв бъг т.е. докато не си го хванал защо се получава нямаш никаква гаранция, че няма да започне да се случва в продукция по често отколкото ти се иска. Можеш ли да възстановиш системата след грешка в работещо състояние? Фатално ли е ако се случи тази грешка? Имаш ли читава обработка на грешки и таймаут? Има ли куче да рестартира системата ако тотално забие? Т.е. от доста време насам фокуса ми не е толкова да правя софтуер който не крашва ами такъв който отработва грешките и продължава да работи. Така и да стане някой фал клиентите са спокойни, че няма да им блокира работата. Е, зависи какво правиш все пак ...
_________________ Мразя да мразя ...
|
| Вто Апр 23, 2024 7:19 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Странен УАРТ проблем
сега, чисто теоретично грешки трябва да имаш, защо 2 млн пакета нямаш е божа работа. 2 млн пакета по 630 байта ... доближаваш се до sign int32 ама само се доближаваш  но каква може да е връзлката идея си нихт, не би трябвало да има никаква Пращай известни данни и виж дали грешката е само в хедъра или няма и грешка в самите данни. Пишеш хедър и дължинас на пакета, като че ли нямаш CRC т.е. напълно възможно да имаш и други грешки които не виждаш.
|
| Вто Апр 23, 2024 8:08 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Странен УАРТ проблем
HCL вместо да изтрия моя двоен пост изтрих твоя ... ама невиждам как да го върна ....
|
| Вто Апр 23, 2024 8:11 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
 Re: Странен УАРТ проблем
Май не може 
|
| Вто Апр 23, 2024 8:18 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Странен УАРТ проблем
Мдааа, питах гугъл, рових ... тц ... съжалявам ..
|
| Вто Апр 23, 2024 8:23 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|