Отговори на тема  [ 21 мнения ]  Отиди на страница 1, 2  Следваща
PIC32MX CAN bus 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение PIC32MX CAN bus
Наложи ми се да започна нещо, което от единия край ще има CAN, наложен ми е pic32mx като платформа. Знам, или поне си мислех, че знам, че някога имаше библиотека за работа с техния CAN, която микрочеп даваха за тази серия. Сега не я откривам? За сметка на това в xc32 виждам, че има някакви функции, не и стек, само фукции, които обаче дори хелп файла им ги крие и изглеждат все едно ще отпаднат скоро (по форумите видях такива забележки). После направих "откритие" - harmony??? Това вече ми се видя странно, но явно на тук са се задвижили от микрочеп за времето, в което нямах досег с техни продукти.
Тъй като съм нов в CAN-а: може ли да ми подадете насока от къде да го започна, ако трябва да работя с pic32mx? В смисъл да го разписвам от дъното - надали има защо да го правя, да ползвам фукциите в xc32-то - сякаш скоро няма да са достъпни по този начин, а harmony-то изглежда недорасло - дори 1.0 не е, но пък като че хвърлят усилия по него. Обаче на мен ми трябва сега да правя нещо - кой е правилния начин с pic-a? Пък ако има външна библиотека или поне пример от където да започна ще бъде прекрасно. Все още чета каквото мога да открия из нета, докато не съм захванал писането, време има да реша, но преди да скоча с главата надолу ще се радвам на насока.


Пон Юли 21, 2014 4:44 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Окт 02, 2008 10:24 pm
Мнения: 105
Мнение Re: PIC32MX CAN bus
в plib_examples на c32 има 4 примера за CAN,
..\Microchip\MPLAB C32 Suite\examples\plib_examples\can


Пон Юли 21, 2014 6:12 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: PIC32MX CAN bus
http://ww1.microchip.com/downloads/en/D ... 61154C.pdf


Пон Юли 21, 2014 10:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: PIC32MX CAN bus
head_up написа:
Обаче на мен ми трябва сега да правя нещо - кой е правилния начин с pic-a?


Правилният с пика, и не само е този:

http://www.mikroe.com/download/eng/documents/compilers/mikroc/pro/pic32/help/can_library.htm?TB_iframe=true&height=740&width=970

Ако решиш да ползваш това, мога да помогна доста, а и като цяло за CAN мога да ти помогна без оглед на средата.


Вто Юли 22, 2014 1:05 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение Re: PIC32MX CAN bus
@CarBeta, искаш да кажеш да го почвам от нулата? Бе, може и да си прав, поне няма да съм зависим от нечий мазаници, което най ме плаши. Ще отнеме повече време, а то май ще ме натискат да стане много бързо. За това се надявах на нещо да стъпя отгоре му.
@relsys, няма да ползвам платен продукт, ако съм забравил да спомена - иска се да ползвам MPLAB-X + xc32 да могат да не са зависими от лицензи хората, което ми напомня, че (тъй като не съм сигурен вече кое какво) c32 е извън употреба, май?
А какви са тези библиотеки, които е имало някога, а сега ги няма? Може би това за което говори Cino - ползвам xc32 1.32, линукс, а вътре не откривам такива примери, вероятно идват само с c32, уиндоус?


Вто Юли 22, 2014 9:58 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: PIC32MX CAN bus
@head_up:

249$ преполагам е по-малко от седмичната ти заплата. За lifetime лиценз с толкова много екстри, при това работещи... е, не виждам защо някой трябва да се скръндзи. Освен това, при PIC32 означава, че проекта не е толкова малък, значи....

Иначе, като казваш, че не познаваш CAN-a имай предвид, че читав драйвер за по малко от година няма да спретнеш...


Вто Юли 22, 2014 6:31 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: PIC32MX CAN bus
Приложил съм ти проект, който съм правил на USB-CAN преходник. Ползвай каквото и както ти скимне. Не е в много завършен вид, обаче, особено откъм PC частта. Все като ми потрябва го подкарвам колкото да ми свърши работа, и толкоз. За XC32 e, дано ти е от полза.

Прикачени файлове:
USB-CAN.rar [6.33 MiB]
294 пъти


ПП: За C32 e, мама му! :) Заблудих се по това че е проекта е за MPLAB X.


Сря Юли 23, 2014 1:41 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение Re: PIC32MX CAN bus
@sparkybg, благодаря, че споделяш труда си :) Ще го прегледам обезателно. Обаче в c32 нещата са били различни, усетил си го ;) Все си мисля, че трябва да открадна микрочепския код от harmony-то и да си счупя главата да го направя самостоятелна библиотека, което би било все едно да си го напиша на ново :D

Edit: леле, майко, циганска работа това harmony, сега се загледах в него... всичко е темплейти на функции наблъскани в хедърни файлове за периферията :? Дорева ми се... кой болен мозък в микрочеп е решил, че така ще станат нещата?! Изобщо за има-няма година и половина назад търкалях някакви линукси и FPGA-ата основно и да си призная бях изостанал от тренда в деградацията на малките микроконтролери. Сега изведнъж се почувствах все едно никога не съм знаеш нищо - какви са тия глупости от микрочеп?! Какви са тези глупости от NXP и тяхното LPxpresso, шантавите им "библиотеки"? Защо всеки се надпреварва да ти даде "работещ" фреймуърк, в който само да викаш не добре написани фукции и да се чудиш защо нещо не работи и дори по някога да не можеш да го пипнеш/дебъгнеш? Имаше времена когато нещото си идваше app note + src code. Самостоятелен код. Можеш да си мажеш сам лютеницата. Сега направо пакетирано - ядеш и не питаш какво ще изсе**ш. Извинявайте за натурализма, в момента ми иде да псувам селската... :evil:


Сря Юли 23, 2014 10:10 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: PIC32MX CAN bus
CAN-а на PIC32 е достатъчно прост за да можеш да си напишеш функциите четейки чаршафа сравнително лесно. Тогава ползвах C32, защото ми беше първия проект с CAN и не бях наясно с много неща. Имам следващи (пак недовършени) проекти дето вече не е на C32, обаче не са документирани никак и мазалото вътре е пълно. По времето, коагато правих това, MPLAB X и XC32, бяха съвсем пресни, не можах да намеря информация как се прави bootloader под XC32, и имах и проблеми с USB библиотеките на икрочеп. Беше ми и първия USB проект, та мазалото съвсем беше пълно, и трябваше да използвам примери поне докато го подкарам.


Сря Юли 23, 2014 11:25 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: PIC32MX CAN bus
Виж от това дали ще ти свърши работа нещо:
http://www.digilentinc.com/Agreement.cfm?DocID=DSD-0000318


Сря Юли 23, 2014 1:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: PIC32MX CAN bus
head_up написа:
@sparkybg, благодаря, че споделяш труда си :) Ще го прегледам обезателно. Обаче в c32 нещата са били различни, усетил си го ;) Все си мисля, че трябва да открадна микрочепския код от harmony-то и да си счупя главата да го направя самостоятелна библиотека, което би било все едно да си го напиша на ново :D

Edit: леле, майко, циганска работа това harmony, сега се загледах в него... всичко е темплейти на функции наблъскани в хедърни файлове за периферията :? Дорева ми се... кой болен мозък в микрочеп е решил, че така ще станат нещата?! Изобщо за има-няма година и половина назад търкалях някакви линукси и FPGA-ата основно и да си призная бях изостанал от тренда в деградацията на малките микроконтролери. Сега изведнъж се почувствах все едно никога не съм знаеш нищо - какви са тия глупости от микрочеп?! Какви са тези глупости от NXP и тяхното LPxpresso, шантавите им "библиотеки"? Защо всеки се надпреварва да ти даде "работещ" фреймуърк, в който само да викаш не добре написани фукции и да се чудиш защо нещо не работи и дори по някога да не можеш да го пипнеш/дебъгнеш? Имаше времена когато нещото си идваше app note + src code. Самостоятелен код. Можеш да си мажеш сам лютеницата. Сега направо пакетирано - ядеш и не питаш какво ще изсе**ш. Извинявайте за натурализма, в момента ми иде да псувам селската... :evil:


Ти да не падаш от луната? Стандартния фреимуърк е това ниво при всички производители. Общо взето сравнително добър, когато се касае за сетване на регистрите... и до там. Опреш ли до една идея по висока абстракция... става мазало, всичко е писано на коляно, просто да светне светодиода и това е. Важи за всичко - USB стекове, SPI/UART/CAN драйвери и т.н.

По лошото е, че една голяма част от платения мидълуер май е така... абе покитайчване ли е, поиндийчване ли е... ба ли му мамата, ама е страшно.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Юли 23, 2014 1:32 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение Re: PIC32MX CAN bus
Ми... явно падам от луната. От тъмната й страна, да сме по-точни. Нали това казвам: от година и половина не съм пипал малък контролер (изключая една драсканица покрай един проект, беше за час работа) и сега отново ми ги завряха да ги работя. И ... страшно е меко казано! Ама много меко! То ако спра да пиша за пикове още година и накрая ще получа графична среда в стил "drag & drop". За къв х*й оср*ха цялото удоволствие от програмирането... Те децата сега сигурно ще се учат да програмират направо от фреймуърка нагоре, какво става от долу кой го е еня?! :(

Edit:
@sparkybg, ще излезеш златен накрая. Твоят код ще да се окаже добра основа (щом казваш, че работи), а функциите които ползваш ги намерих и си направих библиотека :) Добро начало даваш на нищо не знаещия от CAN. Мерси, пусна ли го се обади за бира - намерих място в Пловдив със Столично Вайс наливна - е, няма такава бира, честно :partyman:


Последна промяна head_up на Сря Юли 23, 2014 3:11 pm, променена общо 1 път



Сря Юли 23, 2014 2:54 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение Re: PIC32MX CAN bus
head_up, много се превземаш според мен :D . Досега да го беше направил тоя CAN стек от нулата, вместо да се вайкаш няколко дена тук из форума колко смотани били индийците/китайците :) . Имай на предвид също, че без някакъв сорт CAN адаптер и софтуер за РС ще си удължиш времето за правене на стека многократно. Ако ПИК-а не е твърдо изискване мини на някой контролер от Фрискейл и ползвайки безплатния Code Warrior с Processor expert ще си готов с CAN стека за няколко часа (обикновено около час е достатъчен) :D . Другия вариант е да не се циганите и да си платите за готови библиотеки.


Сря Юли 23, 2014 3:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение Re: PIC32MX CAN bus
Dimitar написа:
head_up, много се превземаш според мен :D . Досега да го беше направил тоя CAN стек от нулата, вместо да се вайкаш няколко дена тук из форума колко смотани били индийците/китайците :)

Може, може. Още хвърлям пяна, като спра ще преценя до колко съм се превземал.


Сря Юли 23, 2014 3:15 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Re: PIC32MX CAN bus
Код:
           CANSetOperatingMode( CAN1, CAN_CONFIGURATION );
   while( CANGetOperatingMode( CAN1 ) != CAN_CONFIGURATION );

   /// Configure CAN filter according received configuration
   CANEnableFilter( module, filter, FALSE );   // Disables the filter: needed for configuration !
   while( FALSE == CANIsFilterDisabled( module, filter) );
   /// Configure a message acceptance filter
   CANConfigureFilter( module, filter, filterId, filterType );
   /// Configure a message acceptance filter mask
   CANConfigureFilterMask( module, mask, maskId, filterType, maskType );
   /// The filter and mask must together be linked to a channel:
   CANLinkFilterToChannel( module, filter, mask, channel );
   /// Enable filter in order to be able to process messages:
   CANEnableFilter( module, filter, TRUE );   

           CANSetOperatingMode( CAN1, CAN_NORMAL_OPERATION );
   while( CANGetOperatingMode( CAN1 ) != CAN_NORMAL_OPERATION );


Има си всичко готово, само трябва да прочетеш кое за какво е и да го използваш. Кодът по-горе е примерно за настройка на филтрите. На PIC32MX на CAN единственото, което съм забелязал като неудобство ( то всъщност си е проблем, но е описано в документацията, така че го приемам за неудобство ), е че ако асоциираш поне един филтър към дадена маска и след това решиш да модифицираш маската трябва да превключиш целия модул в режим на конфигурация и тогава да променяш маската. Забраната на филтъра няма ефект. Две седмици копане може да ди спести 2-3 часа четене. Избора е твой :-)

Функциите по-горе са от MPLAB C v2.01, има ги и в сорс код. Ако евентуално тази библиотека отпадне от XC32, то можеш да си копнеш сорс кода в твоя проект и пак да си го използваш в XC32.

А за CAN стек не съм чувал. Виждал съм CANOpen, J1939 и т.н.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Сря Юли 23, 2014 7:42 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 21 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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