-
alman
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 263
-
Спасибо получено: 41
-
-
-
-
-
|
В принципе, через UART можно пустить PPP протокол, а поверх него уже всё что угодно.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Chaosorg
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 312
-
Спасибо получено: 18
-
-
-
|
alman пишет: В принципе, через UART можно пустить PPP протокол, а поверх него уже всё что угодно.
Прошу прощения, но я не понял, а это для чего?
Вот у меня внутри ПЛИС, скажем так, два проекта - J1 SoC и какой-то терминал, пусть VT100. По большому счету там даже UART лишний - нужен просто порт. Зачем еще PPP? Или другой пример - в ПЛИС только J1 SoC и больше ничего. По USB через UART подключен компьютер. У меня в компьютере программа PuTTY или обычный терминал - обе умеют работать с COM-портами.
Когда речь про Ethernet, мне понятен PPP, но когда устройства физически соединены по отдельной линии, то зачем PPP применяют?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
alman
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 263
-
Спасибо получено: 41
-
-
-
-
-
|
PPP это дешёвая замена Ethernet. PPP пришёл на смену более простому протоколу SLIP. PPP это один из самых дешёвых способов поднять TCP/IP поверх последовательных асинхронных линий связи. К примеру, прямое подключение терминала к UART позволяет подключить только один терминал. Если установить PPP/IP/TCP, то по этой же линии можно пустить сразу несколько терминальных соединений (Telnet), FTP, HTTP и даже NFS/SMB. И даже графический X-терминал. И даже несколько графических X-терминалов. Проблема лишь в том, что это будет очень медленно работать в виду ограниченной скорости UART. Тем не менее - это вполне возможно. Думаю, на скорости порта 115200 бод можно вполне комфортно работать сразу в нескольких Telnet сессиях.
Помнится, 20 лет назад умудрялся удалённо пересобирать ядро Linux, заходя на сервер через городские телефонные сети на скорости 9600 бод. Причём, приходилось с помощью AT-команд лочить модем на эту скорость, потому как даже на 19200 бод связь обрывалась через минуту. (Такая в наших краях была телефонная связь) Единственная засада - уж очень долго грузились картинки в Netscape Navigator на этой скорости. Но в то время сам факт загрузки страницы, находящейся на сервере на другом континенте, уже был чудом.
В общем, я думаю ещё рано хоронить PPP (и даже SLIP рано хоронить).
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Patison
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 27
-
Спасибо получено: 0
-
-
-
-
|
Вот только сейчас удалось в терминале через UART получить взаимодействие с интерпретатором Форта в процессоре J1. Что-то я сильно устал от бодания с фортовским кодом. Все прошедшее время боролся с ошибками и непониманием прототипа. Нужно еще много чего поправить, но что-то уже дышит и живет.
Пока имеются вот такие слова:
init quit blink .s does> evaluate refill accept char ' postpone literal abort chars char+ r@ r> >r depth io@ @ nip over drop dup swap u< < = invert or and xor
+ hex decimal unloop j i +loop loop ?do leave do recurse does> until again then begin if ahead ; exit :noname : [ ] immediate sliteral s, compile, c, , allot parse parse-name \ source 2! 2@ cmove> cmove fill >number sfind align um/mod m* *um* d2* d0= m+ s>d dabs dnegate d+ aligned /string here abs words forth tth >in state base type bounds count c! c@ max min 2over 2swap +! 2dup ?dup 2drop tuck -rot rot true false execute .x .x2 bl cr space emit key key? leds io! ! u> 0> 0< > 0<> <> cells cell+ 0= 1- 2/ 2* - negate 1+
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Patison.
|
-
Patison
-
Автор темы
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 27
-
Спасибо получено: 0
-
-
-
-
|
Я реализовал начиная с февраля месяца этого года до конца августа исправленную и модернизированную версию 16 - битного SOFT Forth процессора J1 на Марсоходе 3 на языке Verilog. Его можно легко сделать и 32 - битным или 64 - битным, поменяв одну константу в проекте. Если ориентироваться по объему требуемой RAM, то влезет в Марсоход до 10 процессоров, а если уменьшить эту память, то и значительно больше. Но пока не пробовал больше 2 процессоров размещать. Не возникало необходимости.
Долго дописывал и отлаживал язык Forth (SwapForth), который с очень большими недоработками был у автора J1. Отладил контроллеры I2C и UART, работающий на скоростях до 4 мбит. Сделал контроллер камеры OmniVision с параллельным интерфейсом. Затем подсоединил к Марсоходу камеру OV7670, переписал драйвер этой камеры на Forth из драйверов ядра Линукса. К UART подключил 3G модем SIM5360E и написал на Forth его драйвер. Еще к процессору подсоединил HDMI контроллер. Процессор сейчас стабильно работает на частоте 111 мгц, выполняя одну команду за один такт. При дальнейшей оптимизации возможно увеличение рабочей частоты.
Взаимодействие с пользователем осуществляется через UART, подсоединенный к USB. В компьютере я использую несколько видов текстовых терминалов включая самописный на Lazarus.
В итоге работает такая цепочка: С камеры в Марсоход поступает видео, которое через модем по беспроводному интернет-соединению UDP пакетами пересылается на сервер где-то в Европе. На сервере работает моя программа эхо-сервера, которая посылает UDP пакеты обратно. Мой модем их получает и пересылает в кадровый буфер HDMI, отображая на экране монитора задержанное из-за двойной пересылки по интернету видео с камеры.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Patison.
|
-
alman
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 263
-
Спасибо получено: 41
-
-
-
-
-
|
Patison пишет: Процессор сейчас стабильно работает на частоте 111 мгц, выполняя одну команду за один такт. При дальнейшей оптимизации возможно увеличение рабочей частоты.
Ого! А что говорит TimeQuest? Каков fmax?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.124 секунд