|
Реализация протоколов TCP/IP, UDP, Нужна аппаратная реализация на ПЛИС |
|
|
|
Apr 9 2005, 14:29
|
Группа: Новичок
Сообщений: 9
Регистрация: 7-04-05
Пользователь №: 3 951

|
Помогите с аппаратной реализацией протоколов TCP/IP, UDP на ПЛИС Xilinx
|
|
|
|
|
 |
Ответов
(1 - 13)
|
Apr 9 2005, 16:34
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Цитата(Yuri Ivanov @ Apr 9 2005, 17:29) Помогите с аппаратной реализацией протоколов TCP/IP, UDP на ПЛИС Xilinx Не стоит усложнять себе жизнь "аппаратной" реализацией стека TCP/IP, так же не стоит усложнять жизнь портированием *nix и использовать только чипы со встронным PowerPC. Поставте себе EDK, там в либах лежит стек TCP/IP для Microblaze/PowerPC. На сайте Xilinx, в примерах к EDK, есть примерчик в котором на отладочной плате рожается HTML страничка с состоянием кнопок/переключателей.
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Apr 9 2005, 17:45
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Цитата(3.14 @ Apr 9 2005, 18:34) Не стоит усложнять себе жизнь "аппаратной" реализацией стека TCP/IP, так же не стоит усложнять жизнь портированием *nix и использовать только чипы со встронным PowerPC. Поставте себе EDK, там в либах лежит стек TCP/IP для Microblaze/PowerPC. На сайте Xilinx, в примерах к EDK, есть примерчик в котором на отладочной плате рожается HTML страничка с состоянием кнопок/переключателей. Speshu zametit', chto *nix portirovat' ne nado, Xilinx s etim uzhe spravilsya  A u Microblaze, po otklikam, ne slishkom horoshee bistrodeystvie - softoviy processor ved'  Esli zhe vozlozhit' zadachu polnogo formiravaniya paketov na CPU, to skorost' budet slishkom malen'kaya - tam zhe maksimal'naya rabochaya chastota sostavlyaet "vsego" 450MHz  Potomu bez DMA v visokoproizvoditel'noy sistememe ne oboytis'. Podobnoe reshenie realizovano u Andreya Fillipova, tol'ko tam ispol'zuetsya vneshniy CPU ETRAX 100LX ot Axis. A voobsche - vse zavisit ot zadachi i neobhodimoy shirini kanala. A voobsche, esli bi stoyala zadacha realizatsii isklyuchitel'no hardwernogo setevogo steka, to ya bi realizovival UDP - v molodosti svoya programnaya realizatsiya UDP zanyala menee 20KB C++ koda, da i protokol tam sravnitel'no prostoy, ne to chto TCP s ego SYN, ACK, kontrol'nimi summami, podtverzhdeniyami i t.d  (
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Apr 9 2005, 18:01
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
Я хотел сказать, не то что товарищу хватит "мягкого" процессора для формирования IP пакетов с инкапсулированными видео строками. Если он захочет реализовывать стек (скорее да же часть) аппаратно, ему нужна будет БОЛЬШАЯ FPGA. В EDK имеются корки EMAC и EMAC lite, вторая оперирует только с ethernet пакетами, а первая еще мудрут с TCP/IP (детально не разбирался). Так вот, первая корка ~20 раз больше первой весит (~2000 slices =~ Spartan3-200). <A voobsche, esli bi stoyala zadacha realizatsii isklyuchitel'no hardwernogo setevogo steka, to ya bi realizovival UDP> Если память не изменяет, UDP не гарантирует доставку пакетов  <Speshu zametit', chto *nix portirovat' ne nado, Xilinx s etim uzhe spravilsya > Где, когда?
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Apr 9 2005, 18:38
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Цитата(3.14 @ Apr 9 2005, 20:01) <A voobsche, esli bi stoyala zadacha realizatsii isklyuchitel'no hardwernogo setevogo steka, to ya bi realizovival UDP> Если память не изменяет, UDP не гарантирует доставку пакетов  Aga, no navernut' poverh nego nechto s podtvrzhdeniyami na poluchenie gorazdo prosche, nezheli postroit' polniy TCP/IP stack. Prosto v TCP/IP realizuetsya logicheskiy pipe mezhdu dvumya socket'ami, a zatrati na ego organizatsiyu i podderzhku gorazdo vishe, nezheli na prosto posilku podtverzhdeniya na poluchenie ocherednogo paketa. Na hoste zhe napisat' programmu chteniya iz TCP/IP socket'a tak zhe legko kak i napisat' programmu chteniya iz UDP socket'a s otpravkoy podtverzhdeniy na priem. Цитата(3.14 @ Apr 9 2005, 20:01) <Speshu zametit', chto *nix portirovat' ne nado, Xilinx s etim uzhe spravilsya > Где, когда? Nazivaetsya - MontaVista Linux, nam dostalsya po nasledstvu vmeste s kuplennoy platoy, po idee, mozhet bit' sgruzhen s WWW Xilinx.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Apr 9 2005, 18:56
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
<Aga, no navernut' poverh nego nechto s podtvrzhdeniyami na poluchenie gorazdo ...> Оно, конечто все правомерно, но в контексте определенных задач. В принципе, ничего не мешает, организовать "надежный" протокол и просто через ethernet пакеты, но решение получается "уникальным", и время на разработку требует. А так, прикрутил TCP и рули своим устройством через Intenet Explorer.
<Nazivaetsya - MontaVista Linux, nam dostalsya po nasledstvu vmeste s kuplennoy platoy, po idee, mozhet bit' sgruzhen s WWW Xilinx.> Очень интересно. Стыдно признаться, в первый раз слышу, можно поподробней. Какие процессоры поддерживает, сколько памяти надо. И потом просто ядром не отделаешся, нужна файловая система (соответственно устройство, с\оответствено корка для подключения), корки устройств I/O. Было бы очень здорово, если б Вы положили ее на FTP, да и пример бы не помешал.
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Apr 9 2005, 20:21
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
http://penguinppc.org/kernel/ - zdes' mozhno sgruzit' yadro Linux v ishodnikah. http://penguinppc.org/embedded/howto/x348.html - sdes' oni rasskazivayut kak sobrat' eto yadro, kakoy versii dolzhen bit' GCC i BIN-Utils, chtobi vse vmeste rabotalo normal'no. http://www.xilinx.com/publications/xcellon.../xc_linux48.htm - sdes' obsuzhdaetsya kak vse eto poimet' v predelah Virtex-2 Pro. V EDK nabor periferii bedniy, no dlya nachala vpolne dostatochniy. Tam lezhat korki i k nim drivera. Drivera lezhat v ishodnikah - v sootvetstvii s GNU GPL, korki chastichno otkriti, chastichno zakriti. Posledovatel'nost' deystviy sleduyuschaya: 1. Nahodim Linux-mashinu - pod Windami vse ochen' ploho i nenadezhno  2. Installiruem gcc pod PowerPC. Zdes' nemnogo poyasnyu: gcc vipolnyaetsya na odnoy platforme, no kompilit kod pod PowerPC. V moem sluchae gcc ispolnyaetsya na x86. 3. Raspakovivaem ishodniki Linux yadra pod PowerPC. Konfigurim yadro pod vibrannuyu periferiyu plus berem ishodniki driverov iz EDK i vkompilivaem ih v yadro. 4. Zapuskaem yadro na sborku - esli vse pravil'no, to cherez nekotoroe vremya poyavitsya file - sobstvenno nash kernel. 5. Podklyuchaem k etomu zhe hostu vibranniy nami nositel' dlya faylovoy sistemi. V moem sluchae - eto Compact Flash. Compact Flash podklyuchen cherez SystemACE k Virtex'u. Chip SystemACE vipolnyaet v sisteme dvoyakuyu rol' - vipolnyaet nachal'nuyu initsializatsiyu Virtex'a i organizovivaet dostup k CF vo vremya raboti Linux'a. Podrobnee - nado smotret' dokumentatsiyu na SystemACE. BTW, mozhno SystemACE ne ispol'zovat', t.k. yadro Linux mozhno apparatno zagruzit' v pamyat' po fiksirovannim adresam i zapustit' na nego PowerPC, a yadro mozhet soderzhat' v sebe vkompilirovannuyu kornevuyu faylovuyu sistemu. V nekotorih sluchayah etogo bolee chem dostatochno. 6. Sozdaem proshivku dlya Virtex'a v EDK. Pomnim adresa ustroystv, ukazannie v konfiguratsii Linux yadra inache pri zagruzke Linux ne obnaruzhit periferiyu. 7. EDK rezultatom svoey raboti sozdast proekt sistemi, kotoraya posle kompilyatsii ISE stanovitsya proshivkoy FPGA. Tipa vse  Esli bez oshibok, to zarabotaet srazu. Za bolee podrobnoy informatsiey nado na Xilinx, MontaVista Linux i t.d. Ob'em informatsii kotoruyu nado perevernut' dlya togo, chtobi eto zarabotalo prosto ogromniy.Obichno takoy proekt vedut dvoe - programmist i designer FPGA. Programmist podkruchivaet Linux, designer pishet FPGA. Sistema v rezul'tate poluchaetsya ochen' elegantnoy i sravnitel'no deshevoy. Linux uzhe rabotaet s 8MB RAM, esli faylovaya sistema budet v yadre, to nuzhno postavit' nemnogo bol'she. Odnako SDRAM seychas deshevaya, i 8MB - eto prakticheskiy minimum dlya chipa s shirinoy shini dannih 32 bita. Kontroller SDRAM kak i DDR SDRAM est' v EDK. Tseplyaetsya na pryamuyu na PLB, rabotaet shustro. Skorost' obmena v nashem sluchae s shirinoy shini 64 bita dostigala 50-60 MB/s.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Apr 10 2005, 08:36
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
V dannom sluchae reshenie bilo ne nashe  Dlya togo, chtobi umen'shit' vremya razrabotki i uvelichit' krutiznu krivoy obucheniya mi prosto kupili gotovuyu platu s primernim resheniem pod nee u storonney kompanii, dalee razobralis' v fizike ee raboti, a seychas menyat' to chto rabotaet na chto-to novoe net osobo bol'shogo smisla. K tomu zhe neskol'ko smestilis' prioritety - kamera dolzhna po 1 Gigabit Ethernet kidat' raw data v komp, a Linux s embedded WEB-serverom dobavim potom.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Apr 11 2005, 11:10
|
Участник

Группа: Свой
Сообщений: 25
Регистрация: 3-12-04
Пользователь №: 1 306

|
Цитата(3.14 @ Apr 9 2005, 22:56) <Nazivaetsya - MontaVista Linux, nam dostalsya po nasledstvu vmeste s kuplennoy platoy, po idee, mozhet bit' sgruzhen s WWW Xilinx.> Очень интересно. MontaVista и VxWorks идут с платами под Virtex2pro. Обе укоцанные, но насколько - сейчас не вспомню. MontaVista идет двумя образами, которые можно скачать с www.MontaVista.com.При скачивании выбирается проц (большой список). Второй образ парольный.Включает в себя графическую оболочку и поддерживает стандартную переферию.В полной версии присутствует среда для разработки драйверов дополнительной переферии (Rocket чегото там ).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|