Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

UART/FIFO controllers
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=624
Страница 1 от 2

Автор:  Nikola Kirov [ Пон Май 02, 2005 4:29 pm ]
Заглавие:  UART/FIFO controllers

Някой ще ме светне ли какво ще рече това? Вече половин час се пуля и нямам еднозначен отговор на въпроса. UART естествено е ясно ама това FIFO .....

Автор:  Lupus [ Пон Май 02, 2005 4:37 pm ]
Заглавие: 

First In, First Out - FIFO
http://www.filur.net/HOME/ftdi.htm

Автор:  Nikola Kirov [ Пон Май 02, 2005 5:15 pm ]
Заглавие: 

Аз точно с това FT2232C се боря в момента да го проумея. Ама аз ли съм тъп или ми се губи нещо дето трябва да го знам пък съм го пропуснал,а може и даташита да не е добре написан ама не проумявам точно за какво става дума.
Това FIFO някава буферна памет ли трябва да се явява в която се релизират опашки за изпращаните и приеманите данни?

Автор:  bateAz [ Пон Май 02, 2005 6:44 pm ]
Заглавие: 

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

Автор:  Nikola Kirov [ Пон Май 02, 2005 7:18 pm ]
Заглавие: 

Мерси,изясни ми се картинката :D.
Като гледах нарисуваната блок схема на FT2232C съм забил в грешна посока,там буферите са външни за UART/FIFO контролера и аз се зачудих кво става,и обяснеието им малко мъгляво .... ама сега като знам за кво става дума всичко ми се вижда ОК.

Автор:  HCL [ Пон Май 02, 2005 7:40 pm ]
Заглавие: 

Готино обяснение на FIFO е "ами обратното на LILO-last in last out"
BateAz "опашка" в случая има същото значение като буфер, нали?
И втори въпрос каво става когато въпросната опашка се препълни, всичките 16 байта заминават или те се запазват, а всеки нов байт се губи?

Автор:  Lupus [ Пон Май 02, 2005 8:02 pm ]
Заглавие: 

HCL написа:
Готино обяснение на FIFO е "ами обратното на LILO-last in last out"

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

Автор:  bateAz [ Пон Май 02, 2005 8:12 pm ]
Заглавие: 

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

Автор:  HCL [ Пон Май 02, 2005 8:14 pm ]
Заглавие: 

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

Автор:  0x00 [ Пон Май 02, 2005 11:49 pm ]
Заглавие: 

LILO е bootmanager за x86 :)

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

Автор:  HCL [ Вто Май 03, 2005 12:31 am ]
Заглавие: 

ставаше въпрос за разликата м/у FIFO и LILO, ако има такава.
А иначе LILO-то е Linux Loader, но ако си "спортист" може и само бози да си бутваш с него :lol:

Автор:  [ Вто Май 03, 2005 12:52 am ]
Заглавие: 

...

Автор:  HCL [ Вто Май 03, 2005 1:01 am ]
Заглавие: 

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

Автор:  [ Вто Май 03, 2005 1:06 am ]
Заглавие: 

...

Автор:  HCL [ Вто Май 03, 2005 1:17 am ]
Заглавие: 

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

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/