Отговори на тема  [ 40 мнения ]  Отиди на страница 1, 2, 3  Следваща
PIC32MM + ENC28J60 + MLA TCP IP 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение PIC32MM + ENC28J60 + MLA TCP IP
Здравейте! Имам нужда от малко помощ. За първи път използвам това чудо ENC28J60. Схемата съм я прекопирал 1 към 1. Мисля, че хардуерно всичко е наред. Понеже контролерът е по-малък се опитвам да пригодя MLA TCPIP стека. Настроил съм SPI и имаше едно ADC. В момента програмата ми върви, но по линията нищо не се случва - дори не мигат ламБите... Как мога да разбера дали ENC-то е правилно настроено(init фукнцита минава ама...) ?! Буквално не знам къде да гледам и какво да търся...
Или направо да търся нещо из ARP протокола?! Там би трябвало да идват някакви пакети и да се обработват?! Ако трябва да пусна кача проекта казвайте. Не съм сигурен, че ще има полза понеже едва ли имате сходен хардуер под ръка...
Не трябва ли поне лампата за присъствие да светне?!
Благодаря!

ПП: Правил съм такова нещо и то доста отдавна. И с вграден модул и там имаше готови примери, които просто пренастроих... Дори не съм сигурен дали съм извикал правилно всички инициализации, защото като гледам примерите съм дал, каквото трябва, обаче по смътен спомен трябваше май да вкарам в TCP обекта IP,MAC,MASK,Gate...

_________________
www.elkran.com


Чет Окт 17, 2019 11:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Някъде из стека трябва да четат нещо от контролера - идентификатори, статуси. Виж какво се чете за да знаеш дали поне SPI работи и насрещника е жив (захранен, излязал от ресет). Не помня за него ли беше или кан-ското изчадие имаше кристал на него - той върви ли?
Сигурно имаш основателна причина в 21 век да се бориш с тая простотия...


Чет Окт 17, 2019 12:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Така! Аз бях виновен. ЛамБите светят. Имам unidentified network на компа! Нямам пинг. Имате ли някакъв примерен код какво трябваше да извикам при инициализацията на тази работа?!
Ето това съм направил за момента:
Код:
TickInit();
    HardwareUseMultiVectoredInterrupts();
    StackInit();
    while(1)
    {
        StackTask();
        StackApplications();
    }

Знам, че имаше и още неща, но не помня. А и не мога да си намеря от преди какво съм правил...
100% AppConfig трябва да заредя MAC,IP,Gate и т.н. А имаше ли още нещо...
В момента на компа не получавам никакви пакети от борда. Само пращам..

ПП:Ами причина няма. Просто имам останалата част от програмата готова за този контролер и реших, че просто ще прасна Eth интерфейса и ще използвам на готово кода. Видях, че има код за EN28J60. И толкова не съм му мислил много много...

_________________
www.elkran.com


Чет Окт 17, 2019 1:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
StackInit() ли е инициализацията на стека? Дека и е върнатата стойност, евентуално грешки нещо да рапортува?


Чет Окт 17, 2019 8:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
10x, gicho! Оправих работата. Конкретната версия на StackInit() нищо не връща.
За протокола:
--модифицира се стека, за да използва въпросния контролер + желаната интерфейсна интеграла
--модифицират се ADC и SPI, за да работят на контролера
--модифицира се Delay10us функцията
--модифицира се инициализацията на интерфейсната интеграла(липсваше ресет при старт и съответно при ресет си пази старите състояния)
Да попитам какво се използва в днешно време за LAN интерфейс? MII?!
Просто видях, че въпросното чудо (ENC28J60) е налично в БГ и за това го избрах. Знам, че е 10BaseT, ама в случая не ме бърка. Има един друг чип, който е 100BaseT пак на Microchip, ама ми се видя много карантията там, като при MII-то...

ПП: Малко танто за танто се получи - изхабих 1-2 дни с тази модификация, но да модифицирам програмата за друг контролер пак щях да изхабя толкова...

_________________
www.elkran.com


Пет Окт 18, 2019 7:34 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Какво се ползва... Първо, има много чипове с вграден етернет MAC контролер. Ако имаш такъв можеш да мислиш за "MII"-то дето споменаваш, но то е между MAC и PHY чип. Т.е. ако нямаш MAC вътре няма как да имаш MII. А ако имаш и PHY вътре не ти трябва външни чипове - само трансформатор букса, като има букси с вграден трансформатор.
Ако нямаш нищо вътре имаш две опции:
- затаковаш съответния контролер и си взимаш такъв поне с MAC; ако държиш да пише microchip на него взимаш нещо от атмел :D
- ако имаш много друг код и силно държиш да слагаш външен взимаш нещо на Wiznet - има ги в комет. Примерно W5500 е много приятна джиджавка, пак по SPI ама нищо общо с ENC-овете
Въпросът ми за StackInit() беше по-скоро риторичен - код дето няма грам диагностика сигурно се сещаш за какво става и на какво ниво е. Вярно че има други начини за рапортуване на грешки - викане на специфичен код за реакция, ексепшъни и разни други, ама скромно предполагам че и това го няма в микрочЕпския код.
Та колкото по-навреме се откачиш от тия говна и хванеш поне атмел като междинна стъпка (да запазиш доставчика и да видиш че има много цвят по тоя свят), толкова по-добре. Но това си е личен избор и е просто съвет - ако имаш трупан код от години и не си полагал грижи да не си тотално оплетен с микрочепските библиотеки или хардуер ще е голяма борба. Не че ще се отървеш от нея, все някой ден ще прогледнеш.
Доста от кода дето идва от вендорите на чиповете е калпав и е по-скоро да демонстрират, че хардуера работи. Майкрочип и ST са особено изпъкващи в тази посока. Има и добри примери, да кажем TI ми харесват постановките им. Не говоря до харесване или не, стилът на кода си е едно. Критерият ми е дали има или не недопустими простотии - липса на диагностика, липса на абстрация, алоциране в прекъсване и подобни.
Ако гледаш за мрежа просто търси дадената платформа да има поне порт на lwIP, или друг подобен - примерно cyclone tcp:
https://www.oryx-embedded.com/cyclone_tcp.html
Между другото тоя линк е удобен за да видиш какъв ти е избора от контролери с етернет.


Пет Окт 18, 2019 8:13 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Не е лошо да се знае! :)
ПП: За съжаление изборът на контролер не е винаги толкова елементарен. В случая съм сложил такъв, защото такъв имах. А такъв имах, защото ги използвам за един продукт. Просто в този ценови клас тази серия конкретно не знам да има конкуренция. А при сериозните неща, работата става още по-сложна...
ППП: Като изключим ethernet аз готови библиотеки май за нищо не използвам. И реално мога да се прехвърля, на каквото пожелая, когато пожелая. А дали искам е друга тема... От готови библиотеки не съм доволен от никого поне при специализаните неща...

_________________
www.elkran.com


Пет Окт 18, 2019 12:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
stoyanoff написа:
ППП: Като изключим ethernet аз готови библиотеки май за нищо не използвам

Не знам, като гледам кода цитиран горе язе виждам точно 5 "библиотечни" функции. Не знам кои са твои, но и петте изглеждат като мокрочепски. Това че не са отделени в репозитори или оформени като статична библиотека не променя характера им - имам предвид че това е външен (не твой) код, който ти ползваш. Минавайки на друг контролер ще имаш чуденката откъде да вземеш или как да портираш всяка една от тях.
Код:
TickInit();
    HardwareUseMultiVectoredInterrupts();
    StackInit();
    while(1)
    {
        StackTask();
        StackApplications();
    }

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


Пет Окт 18, 2019 1:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
gicho написа:
stoyanoff написа:
ППП: Като изключим ethernet аз готови библиотеки май за нищо не използвам

Не знам, като гледам кода цитиран горе язе виждам точно 5 "библиотечни" функции. Не знам кои са твои, но и петте изглеждат като мокрочепски.

Е ми да! Това всичкото е от TCP IP-то. Май само прекъсването е останало ама то трябва да си има вътре... Аз го разглеждам като една библиотека!

_________________
www.elkran.com


Пет Окт 18, 2019 1:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Добре де! Какво използваш като среда? Аз тука преди месец май ги обърнах всичките и то коя от коя по-голямо дърво... Това Еспресото въобще не ми харесва.. Една яка Java нахакана. Keil гледам не са мръднали - старата среда от 62ра година...

_________________
www.elkran.com


Пет Окт 18, 2019 7:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Какво е това еспресо?
То средата е въпрос на личен избор - еклипс е редовния заподозрян, напослед visual studio code често ползвам, но си има кусури. От скоро ползвам VisualGDB - феноменален инструмент, но платен и всъщност е добавка към голямото visual studio. Това му е и основния дерт - иска студио, което макар че е без пари не иска да върви под линукс. Затова се налага да мешам разни среди и да експериментирам.
Все повече се убеждавам че средата трябва да се ползва само като редактор и дебъгер, а билд системата се налага да е външна - примерно make, макар че той е дръвце и има доста по-добри наследници. Това ми помага да ползвам Еклипс под линукс, Visual Studio/VisualGDB под виндоус и същия проект да се билдва лесно под TeamCity. Което си е една друга тема ....


Пет Окт 18, 2019 9:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4197
Местоположение: Brussels / Пловдив
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
Аз така за да нямам ядове накрая махнах всички ИДЕ-та и дебъгери - досега не е е имало проблем който да не може да се дебъгне с принт в конзолата и зверене в сорса ...

_________________
Мразя да мразя ...


Съб Окт 19, 2019 12:15 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4723
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
stoyanoff, тва хармони сорс ли е ... микрочипци мисля че полират инт. на ENC-то

_________________
main[-1u]={1};


Съб Окт 19, 2019 6:56 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
palavrov написа:
Аз така за да нямам ядове накрая махнах всички ИДЕ-та и дебъгери - досега не е е имало проблем който да не може да се дебъгне с принт в конзолата и зверене в сорса ...

Може и да си прав - ама си мисля че инструментите са за да направят работата по-лесна, бърза, сигурна и удобна. Всичко може да се намери след няколко години код ревюта на сорса, но един брейкпоинт при достъп на адрес може да спести някой друг процент от това време. Или йерархията на виканията или типовете да може да се види лесно - ясно че може и от конзолата, но в еклипса е по-удобно. Ако си автоматизирал някой "прост" редактор да прави същото - като селектираш текст на шорткът да имаш декларацията примерно, значи изобщо не е прост редактора и си го направил IDE.
Ако щеш се хвани за думата - щом си интегрирал няколко функции в едно обкръжение (vim, emacs, пък защо не и твоят шел) значи имаш среда. Щото на моя шел няма да ги имаш тия работи (примерно), значи не е само шела.
А и принт в конзолата изисква поддръжка и от двете страни - в устройството и в работната ти станция. Скоро не ми се е налагало, но преди години имаше случаи в които флаша е толкова изстискан (2К) че няма място за една дебъг променлива да си сетна, както остава да иницилизирам сериен и да принтвам. То вярно че ембедед е широко понятие, но някой неща са си по- в единия край на понятието :) Особено ако ти се налага да се бориш с чужд и недокументиран код, основаващ цялата си работа на side effect-и - функцията връща ок ама не прави каквото трябва, а то трябвало да повикаш друг метод преди него че да му свърши нещо.


Съб Окт 19, 2019 8:39 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 12:01 pm
Мнения: 2202
Мнение Re: PIC32MM + ENC28J60 + MLA TCP IP
TheWizard написа:
stoyanoff, тва хармони сорс ли е ... микрочипци мисля че полират инт. на ENC-то

Не! MLA! Хармонито идва тежко за този контролер.

gicho, разгледах ги тези неща - не са лоши, доста неща има вкарани. Доста привлекателна ми идва опцията, че се работи в студиото и съответно като се налага да закачам нещо на Matlab, няма да се налага преработка на кода. Гледам и терминал за git има и т. н. Обаче като цяло ми се струват доста софтуерно ориентирани тези неща. Не поддържат всички процесори на деден производител. То аз предполагам, че като си поиграе човек може да си закачи, каквото му трябва. Главно са IoT ориентирани. Не видях да има подръжка за MISRA и CERT туул-ове. Главният ми проблем си остава какво ще се случи като опитам да работя със специализиран контролер - motor control примерно! Полезна информация, инсталнах си VS codе! От Еклипс не съм впечатлен
Еспресото е новото IDE на NXP. Въобще не ми хареса, свалят се някакви пакети от сайта, ръгат се вътре. Май е бая бъгаво...
Честно казано, в момента ми е по-голям дерт как изобщо ще работи продукта, а не толкова какъв контролер ще се използва и на какво е писан.
Но ако ми осигурява по-добра връзка на кода към Matlab, ще го използвам това VS code. Трябва да тествам!
Поздрави!

_________________
www.elkran.com


Съб Окт 19, 2019 10:54 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 40 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: bborisov567 и 4 госта


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

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