Отговори на тема  [ 38 мнения ]  Отиди на страница Предишна  1, 2, 3
Коя е минималната скорост на SerialPort на PC? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Коя е минималната скорост на SerialPort на PC?
При спрени SMI прекъсвания се постигат точно толкова - има няколко фирми който си изкарват хляба с такива продукти. Всъщност те подменят направо HAL-а на windows-а с техен и пускат виндоуския кърнел да тича с по-нисък от тях приоритет.
Иначе около милисекундата би трябвало да стане и само с драйвер.


Нед Яну 10, 2016 7:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9635
Мнение Re: Коя е минималната скорост на SerialPort на PC?
за джитер на таймери в таско/нишки ли говорите?


Нед Яну 10, 2016 9:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Коя е минималната скорост на SerialPort на PC?
говорим за джитър в това:

asm("cli");
while(1)
{
outportb(0x378, 0x80);
outportb(0x378, 0x00);
}

_________________
Warriors of the Night, ASSEMBLER!!!


Пон Яну 11, 2016 12:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 9635
Мнение Re: Коя е минималната скорост на SerialPort на PC?
това (може би) няма да има джитер само в ХТ с ДОС 2.10 8)

CLI, в комбинация с while(1) изкючва всякаква ОС. сигурно има и изключения, но те с по-скоро екзотики като растящ салам на храст с люти чушки.
'програмни' тайминги с малък джитер могат да се правят само, ако не вървят прекъсвания.
ако има работеща ОС, то тя (би трябвало да) има механизми за правене на относително предсказуеми периоди, но ако ти трябва нещо по-точно, трябва да се опреш на хардуер.


Пон Яну 11, 2016 9:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: Коя е минималната скорост на SerialPort на PC?
Под windows или поне при по-старите джамове е НЕВЪЗМОЖНО да се постига точен тайминг в дългосрочен аспект заради това.


Пон Яну 11, 2016 9:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Коя е минималната скорост на SerialPort на PC?
Това може да е валидно за user mode. При правилната постановка хората постигат добри резултати, например:
http://www.tenasys.com/index.php/intime-timer-interrupt-latency

Проблемите са едни и същи независимо дали е виндоус или линукс, и двете са general purpose OS и искат баене за да стане по-добре. Има опити да се докара добър interrupt response без да се налага разделяне на real time задачите от останалите, но това е концептуално грешно. В линукса мъчат вече толкова години preempt_rt пача да стане хубаво и лесно, но пак са на порядък по-зле от xenomai.
Разните фирми като intervalzero и tenasys отделят техен си микрокърнел за real time задачите и гледат да доставят удобно API и инстументариум (дебъгер) за да вържеш real time домейна с general purpose задачите (графика, диск).

SMI прекъсванията са голяма проблем, но всяко PC или дъно което е мислено за индустриална употреба (kontron, advantech,...) позволява да ги спреш. Да, рискуваш нещо да гръмне (споменатите workaround-и на хардуерни бъгове) и почва да грее. Но то пак е до концепция - няма как да гониш interrupt response и да изключваш ядрата или да ги забавяш дори.
Имаше едно изследване на хендлърите за SMI в BIOS-а - идеята на чипсетите е че биос ще сложи хендлъра си и после има регистър да заключи вектора така че повече да не може да се смени. Та тия дето го проверяваха твърдяха че почти всички биос-и не правят това заключване, дали от недоглеждане или като вратичка за фиксове някакви. И така бяха направили хендлър за SMI прекъсванията в линукс кърнела.
Дали продуктите на фирмите по-горе имат и това, т.е. обработка в тях на SMI не знам - цената беше неприлично висока и не бих се учудил да са успели да го направят.

Абе исках само да кажа че ако си прави драйвер питащия ще може да постигне достатъчна точност да подкара ниския бод рейт, който му трябва. Макар че не виждам защо да не забоде едно просто ардуино да му прехвърля от 115200 на 30 бода.


Пон Яну 11, 2016 9:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Коя е минималната скорост на SerialPort на PC?
Това на tenasys само в тяхната лоборатория работи иначе в релания свят, 5-6 секунди джитър си е нещо нормално.
Ама всъщност излязохме доста от темата, на NikB му трябва само мигалка, не ми трябва реално време, не му трябва и UART на 115200 или 5 бода.

_________________
Warriors of the Night, ASSEMBLER!!!


Пон Яну 11, 2016 10:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Коя е минималната скорост на SerialPort на PC?
Аз съм го виждал вградено в доста сериозен продукт който върти доста хиляди машини (PLC) така. Имат определени изисквания към хардуера - те си продават техни PLC-та и съответно там хардуера сигурно им е подбран.Но го предлагат и като софтуерен пакет който да си инсталираш на твое индустриално ПЦ - и така си работи. Нямам обаче достъп до информация как точно са го интегрирали и какво реално прави ядрото им, както и не си спомням да съм попадал на цитата колко са постигнали като interrupt response за да го сравня с твърденията на tenasys.
А и да не излъжа, сега ме замисли дали тия немци ползваха това на тенасис, или имаше подобно на други немци - esd или нещо подобно.
Ако остане време ще си поиграя да видя какво може да се постигне в реалния свят с повечко товар по мрежа, сторидж, усб, графики.


Вто Яну 12, 2016 9:33 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 38 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

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


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

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