Отговори на тема  [ 23 мнения ]  Отиди на страница 1, 2  Следваща
UART/FIFO controllers 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение UART/FIFO controllers
Някой ще ме светне ли какво ще рече това? Вече половин час се пуля и нямам еднозначен отговор на въпроса. UART естествено е ясно ама това FIFO .....


Пон Май 02, 2005 4:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Дек 01, 2004 12:44 am
Мнения: 2811
Местоположение: София
Мнение 
First In, First Out - FIFO
http://www.filur.net/HOME/ftdi.htm


Пон Май 02, 2005 4:37 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Аз точно с това FT2232C се боря в момента да го проумея. Ама аз ли съм тъп или ми се губи нещо дето трябва да го знам пък съм го пропуснал,а може и даташита да не е добре написан ама не проумявам точно за какво става дума.
Това FIFO някава буферна памет ли трябва да се явява в която се релизират опашки за изпращаните и приеманите данни?


Пон Май 02, 2005 5:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Да, FIFO е точно опашка. Например UART 16C550 има 16 байта буфер за предаване и 16 за приемане. Как работи напр. приемната част: При пристигане на байт обикновено CPU изпълнява прекъсване и обработва байта. Ако се забави с време, по-голямо от времето между два байта, следващият приет байт препокрива стария. При четене от регистъра за приет байт се чете новият байт, а старият е загубен. При наличие на FIFO дори забавянето на процесора с повече от няколко байта, информацията не се губи. При четене от адреса на регистъра FIFO подава първия приет байт, след това втория и т.н., докато се изпразни. След това се чете винаги само последния приет байт (докато дойдат нови). Това е в общи линии идеята за FIFO - да имаш по-редки прекъсвания и да допъскаш по-голяма латентност на ISR. Затова UART с FIFO обикновено се сетва да прекъсва при 10-14 байта запълване, а не при 1 или 16. При 1 ще те прекъсва много често, при 16 едно евентуално забавяне ще е фатално.
Дано съм те "оправил" :lol:


Пон Май 02, 2005 6:44 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Мерси,изясни ми се картинката :D.
Като гледах нарисуваната блок схема на FT2232C съм забил в грешна посока,там буферите са външни за UART/FIFO контролера и аз се зачудих кво става,и обяснеието им малко мъгляво .... ама сега като знам за кво става дума всичко ми се вижда ОК.


Пон Май 02, 2005 7:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
Готино обяснение на FIFO е "ами обратното на LILO-last in last out"
BateAz "опашка" в случая има същото значение като буфер, нали?
И втори въпрос каво става когато въпросната опашка се препълни, всичките 16 байта заминават или те се запазват, а всеки нов байт се губи?


Пон Май 02, 2005 7:40 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Дек 01, 2004 12:44 am
Мнения: 2811
Местоположение: София
Мнение 
HCL написа:
Готино обяснение на FIFO е "ами обратното на LILO-last in last out"

Е то FIFO не е ли еднозначно на LILO?
Може би имаш в предвид FILO - "First In, last out"?


Пон Май 02, 2005 8:02 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
За хората с чувство за хумор обеснявам:
FIFO - first in - first out. Нещата излизат в реда, в който са влезли. Напр. нормално функционираща храносмилателна система.
LIFO - last in - first out. Нещата излизат в ред, обратен на този, под който са влезли. Напр. претъпкан автобус - първи слизат тези, които последно са се качили. Друг пример - храносмилателна система след МНОГО тежко препиване.


Пон Май 02, 2005 8:12 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
Мерси, моя грешка. Мислех си нещо за едни мрежови устройства, но твоята корекция ми повдига нов въпрос в добавка към първия:
Има ли разлика м/у FIFO и LILO при приоритетите кой баитове да се изгубят при препълнена опашка.
Да не би при един от методите да се запазват първопристигналите байтове, а всички нови да се губят, а при другия да е обратното?


Пон Май 02, 2005 8:14 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Мар 18, 2005 4:14 pm
Мнения: 67
Местоположение: Русе.BG/Oldenburg.DE
Мнение 
LILO е bootmanager за x86 :)

Няма значение каква е опашката, ще се изгубят тези байтове, които са "последни" и в двата случая. Разликата е, че при FIFO опашката ги "вземаш" от там в права, а при FILO - в обратна последователност.


Пон Май 02, 2005 11:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
ставаше въпрос за разликата м/у FIFO и LILO, ако има такава.
А иначе LILO-то е Linux Loader, но ако си "спортист" може и само бози да си бутваш с него :lol:


Вто Май 03, 2005 12:31 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:46 am, променена общо 1 път



Вто Май 03, 2005 12:52 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
не не имах в предвид друго. Понеже 0х00 писа, че е за х86, исках да наблегна, че е писан за Линукс, но няма никакъв проблем ако ти се спортува :D да го ползваш на машина с две бози (без линукс) Иначе и аз съм 4-та година с него и съм го ползвал с различни конфигурации.


Вто Май 03, 2005 1:01 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
...


Последна промяна на Съб Яну 28, 2012 10:46 am, променена общо 1 път



Вто Май 03, 2005 1:06 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
И аз не се изразих както трябва, но щом настояваш... няма да спорим за глупости сега :D жалко само, че не пия бира, но нищо не ни пречи да го обсъдим някой път кой с бира кой с чай :D 8) :lol:
Поздрави на всички и аз съвсем забравих
Христос Воскресе, пожелавам ви всичко най-добро на всички във форума :D


Вто Май 03, 2005 1:17 am
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 23 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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