Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 21.12.2017, 22:24   #1
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Скорость DMA

Приветствую, уважаемые знатоки!
У меня встала задача: присовокупить к PIC32MX внешнюю 12-ти битную АЦП с параллельным интерфейсом. Идея - подключить выходы оной к порту Д (там как раз 12 бит) и клочить переферийным клоком, выведенным наружу через соответствующий пин микроконтроллера. Ну а DMA снимает данные с порта Д и кидает в буфер.

Вроде на бумаге все складно выходит, спаял начал отлаживать. И тут обнаружил такой затык: DMA шлет данные с частотой всего около 1/8 системного клока! Т.е. при частоте клока АЦП в 24МГц, а системного клока в 96МГц имею только 12 точек на период тестовой синусоиды частотой 1МГц. Перетестив все что можно я понял, что порты и микруха АЦП не виноваты, тормозит именно DMA. А вот мне всегда казалось, что DMA трансферит синхронно с системным клоком....

В даташите я никакой инфы касательно тайминга работы модуля DMA не нашел, но в сети наткнулся на то, что КАЖДАЯ посылка по DMA требует 8 циклов! Многовато будет, ИМХО!

Так вот вопрос: так ли это? Кто-нибудь разбирался?
Буду благодарен любому ответу!

P.S. ДМА я сконфигурировал для последовательной непрерывной передачи с софтовой активацией (СFORCE), т.е. установив Cell size равный общему кол-ву байт, которые я хочу получить за время оцифровки.
DimaK вне форума   Ответить с цитированием
Старый 21.12.2017, 23:33   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,609
Вес репутации: 3188/69
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Скорость DMA

DimaK
создайте тестовую программу и посмотрите, что происходит.
подготовьте dma к работе на 60000 транзакций.
обнулите таймер ядра.
возьмите таймер ядра на 2000 двуциклов.
взведите прерывание таймера и поставьте в нем софтовый бряк.
обнулите таймер.
запустите дма транзакию.
загоните ядро спать, чтобы не мешало dma получать доступ к шине.
по в прерывании посмотрите, сколько транзакций прошло.
besogon вне форума   Ответить с цитированием
Старый 22.12.2017, 00:13   #3
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Я примерно так и сделал, чтобы выяснить про 1/8 системного клока. Вопрос в том - я сделал что-то неверно или это физическое ограничение. И можно ли его обойти...
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 09:57   #4
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/61
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от DimaK Посмотреть сообщение
КАЖДАЯ посылка по DMA требует 8 циклов! Многовато будет, ИМХО!
почему много ? имхо совсем немного. умозрительно за это время будут выполнятся примерно такие операции : арбитраж шины , чтение из ВУ , запись в ОЗУ.
igor_tgru вне форума   Ответить с цитированием
Старый 22.12.2017, 10:36   #5
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
Smile Re: Скорость DMA

Я имею ввиду - для моей задачи медленно. Понятно, жизнь канала ДМА - не сахар, работы у него много. Просто рухнули мои мечты Я был уверен, что лимитирующий фактор - скорость портов, а ДМА если и тратит время на арбитраж шины - то только в начале первого трансфера серии и в конце. Т.е. когда берет шину и когда отдает. А тут получается - на каждую транзакцию столько много рутины.....Печалька.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 10:53   #6
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/61
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от DimaK Посмотреть сообщение
ДМА если и тратит время на арбитраж шины - то только в начале первого трансфера серии и в конце. Т.е. когда берет шину и когда отдает.
я сильно упрощенно сказал сами по себе операции чтение с пина скорей всего не однотактовая операция , равно как и запись в ОЗУ .
igor_tgru вне форума   Ответить с цитированием
Старый 22.12.2017, 10:55   #7
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Вот и именно. Временные характеристики почему-то под грифом "секретно" у микрочипа. Не понятно, что с какой скоростью читается и сколько тактов тратится.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:11   #8
d-f-m
Senior Member
 
Регистрация: 09.02.2009
Адрес: Недалеко от Пятигорска
Возраст: 46
Сообщений: 610
Вес репутации: 1289/52
d-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud of
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от DimaK Посмотреть сообщение
В даташите я никакой инфы касательно тайминга работы модуля DMA не нашел, но в сети наткнулся на то, что КАЖДАЯ посылка по DMA требует 8 циклов! Многовато будет, ИМХО!
Не только Микрочип скрывает тайминги DMA.
STM тоже:
Цитата:
По даташитам скорость DMA не определишь, нужно измерять самому.
Для F4 получается 4 такта, для F0/F3 - 5, F1 - 9.
При простом софтовом копировании получается как минимум столько же,
для F1 - 6 тактов, для F3 - всего 2, если код выполнять из CCM,
для F4 самый быстрый способ копирования при помощи FPU
http://radiokot.ru/forum/viewtopic.php?f=59&t=149024
d-f-m вне форума   Ответить с цитированием
Старый 22.12.2017, 11:16   #9
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Да, я как раз в ассемблере пишу - хочу попробовать в два тика считать Вопрос просто в том, что ядро мне бы для других вещей пригодилось. Спасибо за инфу про STMы. Тоже засматриваюсь на них....
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:18   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,609
Вес репутации: 3188/69
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Скорость DMA

DimaK
я вчера искал и не нашел документа.
где-то есть документ с таймингами dma при доступе по выровненным, невыровненным и.т.д.

ну не такт sysclk на копирование точно. не помню точную цифру.

вот у Вас есть sysclk - на нем работает ядро, dma и прочее. есть pbclk - обычно 1/2 или 1/4 от системной частоты. На ней как раз и работает порт.
сколько-то там получится, но явно не 1 такт.

насколько помню, память - память по выровненным с ram waitstates 0
2 такта на передачу до 4 байт.

Порт-память в любом случае будет медленнее. если еще и ядро работает, что-то там делает - то будет еще медленнее.
besogon вне форума   Ответить с цитированием
Старый 22.12.2017, 11:23   #11
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,760
Вес репутации: 3872/102
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от d-f-m Посмотреть сообщение
Не только Микрочип скрывает тайминги DMA.
STM тоже:
http://radiokot.ru/forum/viewtopic.php?f=59&t=149024
Да ничего подобного!!! Ничего СТМ и не скрывал... латентность ДМА зависит от многих факторов... и она не может быть однозначной... поэтому нигде и не приводится... хотя апноты по этому есть... Ну так кто же их читает??? Описывать всё это в цифрах в докуиентациии - ещё больше запутывать юзера... Кому нужны цифры типа 4 -12... кому станет от них легче??? Да и сам ДМА не для скорости предназначен... а для разгрузки ядра...
И да... Источникам радиокота я бы особо не доверял...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.12.2017, 11:26   #12
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,760
Вес репутации: 3872/102
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от besogon Посмотреть сообщение
насколько помню, память - память по выровненным с ram waitstates 0
2 такта на передачу до 4 байт.
Да не надо помнить... Пишется простой тест и меряется...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.12.2017, 11:27   #13
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Ну вот пока с ДМА получилось читать порты частотой 1/8 от системного клока. Ща попробую чистым копированием добиться ускорения хотя бы в два раза
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:29   #14
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,760
Вес репутации: 3872/102
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
почему много ? имхо совсем немного. умозрительно за это время будут выполнятся примерно такие операции : арбитраж шины , чтение из ВУ , запись в ОЗУ.
Точнее примерно так... Время реакции на событие... арбитраж шины , чтение из ВУ , запись в ОЗУ, инкремент адреса...Т.е. как бы и не совсем мало...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.12.2017, 11:30   #15
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Согласен, не совсем мало. Но я губу раскатал на один к одному.....Вот обратно закатываю.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:33   #16
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,609
Вес репутации: 3188/69
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Скорость DMA

HHIMERA
для скорости можно убрать реакцию на событие.
сказать DMA просто начать выбирать блок из адреса без условия.
чтобы просто чтение с периферийной шины, запись в память.
besogon вне форума   Ответить с цитированием
Старый 22.12.2017, 11:33   #17
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,760
Вес репутации: 3872/102
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от DimaK Посмотреть сообщение
Ща попробую чистым копированием добиться ускорения хотя бы в два раза
И что... равномерность выборки вам не нужна??? Блокирующее действо вас устроит???
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.12.2017, 11:36   #18
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,760
Вес репутации: 3872/102
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от besogon Посмотреть сообщение
для скорости можно убрать реакцию на событие.
Это уже будет частный случай... я говорил в общем...
Конечно... если эвент не задействован... то будет быстрее...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.12.2017, 11:40   #19
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,609
Вес репутации: 3188/69
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Скорость DMA

И еще..
Вот в этом решении есть какой-то архитектурный изъян - у Вас есть в решении блок, у которого запаса по производительности нет вообще.
Иначе говоря, у Вас уже на раннем этапе проектировки какой-то предельный случай.

Быть может стоит уже сейчас задуматься о том, чтобы сменить архитектуру решения?

Взять решение побыстрее. Чтобы циклы не считать, когда еще время не пришло заниматься оптимизацией.

Иначе сделаете сейчас, а потом когда нужно будет наращивать функциональность упретесь в контроллер.

Есть pic32mz, есть cortex m4f решения 160+ MHz у stm того же. У них не должно возникнуть проблемы подсчета циклов.
besogon вне форума   Ответить с цитированием
Старый 22.12.2017, 11:47   #20
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от besogon Посмотреть сообщение
HHIMERA
для скорости можно убрать реакцию на событие.
сказать DMA просто начать выбирать блок из адреса без условия.
чтобы просто чтение с периферийной шины, запись в память.
Я именно так и сделал, запуск софтовый с помощью CFORCE. И никакого случая - работает отлично, синусоида тестовая восстанавливается идеально. Потому как АЦП клочится переферийным клоком, т.е. так или иначе синхронно работает с ДМА.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:50   #21
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от besogon Посмотреть сообщение
И еще..
Вот в этом решении есть какой-то архитектурный изъян - у Вас есть в решении блок, у которого запаса по производительности нет вообще.
Иначе говоря, у Вас уже на раннем этапе проектировки какой-то предельный случай.

Быть может стоит уже сейчас задуматься о том, чтобы сменить архитектуру решения?

Взять решение побыстрее. Чтобы циклы не считать, когда еще время не пришло заниматься оптимизацией.

Иначе сделаете сейчас, а потом когда нужно будет наращивать функциональность упретесь в контроллер.

Есть pic32mz, есть cortex m4f решения 160+ MHz у stm того же. У них не должно возникнуть проблемы подсчета циклов.
Да, изъян налицо. Я и хотел проверить предельный случай, для этого и тестирую. Реальный проект хочу делать на MZ. Но это даст ускорение в два раза. Задача минимум моя выполняется с некоторым запасом даже. Но в идеале хотелось бы читать со скорость около 60МГц.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 11:50   #22
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,609
Вес репутации: 3188/69
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Скорость DMA

DimaK
dma работает от sysclk. adc работает от pbclk.
в общем случае sysclk != pbclk и у microchip есть куча оговорок по режиму pbclk == sysclk.
я, вроде бы, никогда не использовал режим pbclk == sysclk, так что у меня нет опыта работы устройств в таком режиме.
besogon вне форума   Ответить с цитированием
Старый 22.12.2017, 11:57   #23
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Цитата:
Сообщение от besogon Посмотреть сообщение
DimaK
dma работает от sysclk. adc работает от pbclk.
в общем случае sysclk != pbclk и у microchip есть куча оговорок по режиму pbclk == sysclk.
я, вроде бы, никогда не использовал режим pbclk == sysclk, так что у меня нет опыта работы устройств в таком режиме.
Я использовал pbclk == sysclk Для модуля захвата в одном проекте, частота 96 МГц. Работает отлично, подводных камней не нашел.

Но тут переферийный клок я спустил в 4 раза и вывел наружу через клокаут. И этим клоком запитал внешнюю АЦП. Поэтому я и считаю, что все так или иначе привязано к системному клоку.
DimaK вне форума   Ответить с цитированием
Старый 22.12.2017, 21:21   #24
DimaK
Member
 
Регистрация: 11.04.2016
Адрес: Пфорцхайм, Германия
Возраст: 33
Сообщений: 37
Вес репутации: 165/9
DimaK has a spectacular aura aboutDimaK has a spectacular aura about
По умолчанию Re: Скорость DMA

Да, действительно - получается, что ДМА-транзакция работает за 8 системных клоков, хоть убейся. И меньше не получить видимо.
DimaK вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
появились датащиты на PIC32MZ EC Алексей Продукция MICROCHIP 154 16.03.2015 10:43
PIC32 DMA UART сбои при передаче valery1966 Продукция MICROCHIP 8 01.07.2014 17:11
АЦП с DMA dspic33fj128mc804 zhaa2 Продукция MICROCHIP 24 01.05.2013 10:26
PIC32: скорость DMA tester Продукция MICROCHIP 41 11.06.2011 18:28
DMA??? Iptash Продукция MICROCHIP 13 18.11.2009 11:38


Часовой пояс GMT +3, время: 18:40.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot