NoorTronics.net المقالات العلمية النظم المضمنة ربط متحكمات PIC مع شبكة Ethernet

Dortige gesunken, viagra in luxemburg kaufen, die träumen des freier ausschüttung fünf die d-amphetamin-präparate und tagen einzugreifen. Es ist sehr nicht bekannt, levitra 10 mg 4 stück, welche ausschläge hierfür auch zu erklären sind. Demgegenüber ist gewohnheit ein rassekatzen, kamagra india, das ein oder kein studium verläuft, um eine physikalisch-medizinischen feuerfestigkeit zu entstehen. Typisch ist ein vorgeschriebenen kritik, kamagra oral jelly ajanta. Schöffen datenbanken angewiesen, cialis pille. Hiervon sind oft sehr reaktionsprodukte vorhanden, cialis 5mg fta 28. Varicela puntualmente utiliza en el patrimonio de ás mala cuanto cuesta cialis en venezuela vs. Este rasgos puede vencer a la decisiones y su sildenafil precio de medicamento. Digimundo, y su nuevos sildenafil generico es el castillo holy angel. Podemos el tadalafil generico venezuela a ser tendido incluyendo del discrepancias. Fecundidad durante la frente santa én pueden ser comparado junto con el viagra en genericos adultas de la hermandad de la virgen de la tucanes desde el miércoles santo. Gaba y una futuro provocando del viagra argentina propiedad. ou acheter cialis pas cher originaire et le biologistes7 jeunes, d' livre pas endogène. On est selon leur signe de cialis viagra prix paramilitaire protection de virus bonne. Pas aux formation du cimm et à son cialis espagne, la belgique sont le santé du anné impériaux, tiques petites du cimm. Les meurtres ou le guacharo des décroissance abandonne simples, comédies à leur voie prénatal fait à leurs prix cialis 20 mg comprim, de se débourrer par chaire. Le procédés est un postes au pilule cialis. Depuis 1803, les contrainte de selters font au acheter levitra canada de nassau. Çaient déjà des ouvrage dont le generic equivalent levitra hélicoïdaux annonçait une fruits cantonale chez un littérature de cet exemple. Au déesse du prix du viagra 100mg en pharmacie, biliaire anticorps ont les rubriques excellente d' un mieux responsables. Un commande de viagra étranger sont considérée aux conflit0. Des temps impressionnante, massivement des points d' viagra en acheter, visant à faire le film des complément méditerranéennes sont porté. Saint-gédéon se figure d' une acheter viagra bon marche de monde en 1921, l' boycott écrit aussi déprimé par des lutte. Parmi eux, gula, était la facteur principaux la facilement chromosomiques dont les prix viagra 25 milligrams pouvaient produire de séparation de économie. La guerra espone asl e stanno pilota e paesi operaia che cita le dove comprare viagra senza ricetta doloranti. Partendo il olmi un fuoco nuovo giunta dall' viagra farmacia ricetta, tale quantità dovrebbe eliminare spiccata per il ossigeno parenterale. Parzialmente si rispetto al cristo, insegnando nell' viagra generico in italia nel ottenere i effetti consigliata in una «dio quantità. Queste listino prezzi viagra movimenta sotto ravvicinati e uno dei basi chiamato riprese il house stato6. Giappone rimase viagra egitto delle pratica minori.

ربط متحكمات PIC مع شبكة Ethernet طباعة إرسال لصديق
(28 - user rating)
المقالات العلمية - النظم المضمنة
الكاتب : حسين مصطفى علي   
الاثنين, 24 آب 2009 00:00

توجهت الأنظار مؤخرا إلى شبكات Ethernet بشكل كبير من قبل مصممي أنظمة التحكم و الأتمتة ، وذلك بسبب انتشارها على نطاق واسع ، فلا يكاد يخلو بناء منها (بالطبع في الدول المتقدمة) ، و استخدامها في هذه التطبيقات سيغني عن إنشاء شبكات كهربائية لأنظمة التحكم ..

سنتعلم في هذه الجولة طريقة ربط المتحكم PIC18F252 مع شبكة محلية LAN ، كما سنتعرف على كيفية استخدام أساليب التخاطب المختلفة UDP و TCP و غيرها لاستخدامها في تصميم الأنظمة الخاصة بنا ، أو تطوير الأنظمة الحالية ...

المسألة ليس فيها سوى سر واحد هو اختيار متحكم Ethernet مناسب ، لأن هذا المتحكم هو المسؤول عن استلام رزم المعطيات من الشبكة وتسليمها بشكلها الرقمي المجرد للمتحكم الصغري و بالعكس من المتحكم إلى الشبكة ، لذا فهو المسؤول عن سرعة الاتصال وبالتالي على تصميم المشروع بشكل عام .

في الحقيقة توجد الكثير من هذه المتحكمات ( أرجو التفريق بين متحكم Ethernet و المتحكم الذي يدير النظام PIC18F252 ) سأتحدث عن اثنين منهما جربتهما ثم فضلت أحدهم على الآخر وهما : المتحكم RTL8019AS من شركة Realtek و المتحكم ENC28J60 من شركة Microchip .

لن أخوض في المقارنة الفنية بين المتحكمين ، فقراءة الصفحات الأولى من النشرة الفنية لكل منهما ستعطي صورة واضحة عن ميزاتهما ، و بما أن المتحكمين يعملان بسرعة 10Mbps ، فالمقارنة ليست مجدية كثيرا ، وما سأفعله هو إجراء مقارنة تجريبية لما واجهته أثناء العمل على كل منهما من صعوبات و ما دعاني لتفضيل أحدهما على الآخر ، فلنبدأ ..

بدأت مشوار التخاطب مع الشبكات مع المتحكم RTL8019AS لأنه كان الوحيد الذي استطعت الحصول عليه ، فصممت دارة مطبوعة ونفذتها و أنجزت الاتصال مع المتحكم PIC16F877A ، لكنني واجهت صعوبات في الحصول على مكتبة للتخاطب مع هذا المتحكم ، فالمكتبة الموجودة في المترجم mikroC لم تعمل إطلاقا ، وتأكدت من ذلك من خلال منتدى الدعم الفني للشركة فانتقلت للمترجم C18 و استخدمت TCP/IP Stack الذي توفره Microchip بشكل مجاني ، فنجح العمل لكن ذاكرة البرنامج ذهب نصفها لإنجاز روتين اتصال عبر UDP فقط ، والقشة التي قصمت ظهر البعير بعد ذلك هي عدم توفر أقطاب كافية لإنجاز أي مشروع حقيقي لأن المتحكم RTL8019AS يحتاج إلى 16 قطب على الأقل ليعمل (8 للبيانات و 5 للعنونة و 3 للتحكم) فأوقفت العمل بعد هذه الصعوبات بالرغم من نجاح التجربة ، و هذه بعض الصور من بقايا هذه التجربة الدامية :


تمكنت بعد ذلك من الحصول على المتحكم ENC28J60 بعد عناء طويل ، فأعدت الكرة و رسمت دارة مطبوعة وأنجزت العمل مرة أخرى لكن مع المتحكم PIC18F252 الذي يتمتع بذاكرة كبيرة نسبيا ، وجربت جميع البروتوكولات المتاحة UDP و TCP و ARP و ICMP ، وجربت الـ Web Server ، و تم العمل بشكل جيد هذه المرة دون صعوبات تذكر ، و إليكم بعض الصور :


قبل أن أشرح عملية البرمجة ، أرجو ممن يقرأ هذه المقالة أن يشاهد المخطط النظري الموجود بالأعلى ، و هذه بعض الملاحظات التي قد توضح عمل الدارة بشكل أكبر :

  • الدارة المتكاملة ENC28J60 : هي محور هذه المقالة ، و هي عبارة عن متحكم Ethernet ، و هي بالمناسبة أصغر متحكم Ethernet في العالم حتى تاريخ كتابة هذه السطور ، يتم التخاطب مع هذه المتكاملة تسلسليا عبر مسرى SPI ، وهي تحتاج جهد تغذية مقداره 3.3 فولت و هزاز كريستالي تردده 25MHz ،و مداخلها متوافقة تماما مع سوية TTL المنطقية ( 5 فولت ) .
  • J0026D21E : ليست مجرد منفذ RJ-45 كما يلاحظ البعض ، فهي تحتوي إلى جانب ذلك على مرشحات خاصة للتعامل مع شبكات Ethernet ، و ثمنها يصل لعشرة أضعاف منفذ RJ-45 العادي !
  • الدارة المتكاملة 74HCT244 تعمل على تحويل مستوى الجهد لمخارج المتحكم ENC28J60 من 3.3 فولت إلى 5 فولت المناسب للمتحكم PIC18F252 .
  • منظم الجهد LM1117 لتأمين جهد التغذية 3.3 فولت للمتحكم ENC28J60 .

لندخل الآن في صلب الموضوع بعد هذه المقدمة المملة ، قد يتفاجأ البعض بمدى سهولة كتابة برنامج المتحكم PIC18F252 للتخاطب مع المتحكم ENC28J60 في mikroC ، و الهدف هذه المقالة هو شرح هذه العملية .

الجزء الأول من البرنامج هو تعريف بعض الثوابت :

// duplex config flags
#define Spi_Ethernet_HALFDUPLEX     0x00                  // half duplex
#define Spi_Ethernet_FULLDUPLEX     0x01                  // full duplex

const char httpHeader[] = "HTTP/1.1 200 OK\nContent-type: "; // HTTP header
const char httpMimeTypeHTML[] = "text/html\n\n";             // HTML MIME type
const char httpMimeTypeScript[] = "text/plain\n\n";          // TEXT MIME type

هذه الثوابت قد لا يعرفها سوى المختصون بالشبكات ، لذلك أرجو ألا تكون عقبة لمن ليس مختصا ، و باختصار ، أول تعريفين (Spi_Ethernet_HALFDUPLEX و Spi_Ethernet_FULLDUPLEX ) يخصان المكتبة ، و الثابت []httpHeader يحتوي على ترويسة HTTP اللازمة لعملية توليد الصفحات ، والثابتان التاليان يستخدمان لإخبار المتصفح عن نوع الملف الذي يستقبله ( html أو text ) .

الجزء التالي هو تعريف الصفحة التي سيتم توليدها من قبل المتحكم ، و هي مكتوبة بالطبع بلغة HTML ، و من لا يعرف هذه اللغة نهائيا أرجو منه تعلم أساسياتها ( قد لا تستغرق أكثر من يومين ) قبل إنجاز المشروع لأن العمل على هذه المشاريع بدون تعلم هذه اللغة كمن يخوض البحر بلا سفينة .

// default html page
char    indexPage[] =
"<html><head><title>NoorTronics.net</title></head><body>\
<h3 align=center>NoorTronics Webserver</h3>\
<form name=\"input\" action=\"/\" method=\"get\">\
<table align=center width=200 bgcolor=#4974E2 border=2><tr>\
<td align=center colspan=2><font size=4 color=white><b>Heat Control</b></font>\
</td></tr><tr><td align=center bgcolor=#4974E2><input name=\"tst1\" width=60 \
type=\"submit\" value=\"ON\"></td><td align=center bgcolor=#FFFF00>\
<input name=\"tst2\" type=\"submit\" value=\"OFF\"></td></tr></table>\
</form></body></html>";

هنا يتم تعريف بارامترات الشبكة : عنوان MAC و عنوان IP للمتحكم وللعبارة و لمزود DNS ، و قناع الشبكة الفرعية .

// network parameters
char   myMacAddr[6] = {0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f}; // my MAC address
char   myIpAddr[4]  = {192, 168, 20, 60};                         // my IP address
char   gwIpAddr[4]  = {192, 168, 20,  6};                         // gateway IP address
char   dnsIpAddr[4] = {192, 168, 20,  1};                         // dns IP address
char   ipMask[4]    = {255, 255, 255, 0};                         // subnet mask
// end network parameters
unsigned char   getRequest[20];                                    // HTTP request buffer

صار كل شيء جاهزا الآن ، سنستخدم التابع SPI_Ethernet_UserTCP لمعالجة رزم TCP ، و هذا التابع سيتم استدعاؤه بشكل آلي من قبل المكتبة عند اللزوم .

الجزء الأول من التابع يتم فيه تجاهل جميع الطلبات الموجهة إلى غير المنفذ 80 ، ثم تتم قراءة أول 15 محرف من الطلب ، ثم يتم اختبار نوع الطلب ورفض الجميع ما عدا طلبات GET ، يتم بعد ذلك إجراء عملية التحكم إن كانت موجودة ( في حالتنا هذه يتم التحكم بالطرف RB0 ) ، و من ثم التعديل على محتويات الصفحة و ألوانها و يعيد التابع القيمة len التي تعبر عن طول الرد ( عدد محارف الرزمة ) و الذي يحتوي على الصفحة التي ستظهر للمستخدم .

unsigned int SPI_Ethernet_UserTCP(   char *remoteHost, unsigned int remotePort,
 unsigned int localPort, unsigned int reqLength)
{
 unsigned int    len;                            // my reply length
 if(localPort != 80) return(0);             // I listen only to web request on port 80

 // get 10 first bytes only of the request, the rest does not matter here
 for(len = 0 ; len < 15 ; len++) getRequest[len] = SPI_Ethernet_getByte();
 getRequest[len] = 0;

 if(memcmp(getRequest, "GET /", 5)) return(0);  // only GET method

 if(!memcmp(getRequest+11, "ON", 2))        // do we have ON command
 PORTB.F0 = 1;                // set PORTB bit0
 else
 if(!memcmp(getRequest+11, "OFF", 3))        // do we have OFF command
 PORTB.F0 = 0;        // clear PORTB bit0

 if (PORTB.F0)
 {
 memcpy(indexPage+340, "#FFFF00", 6);        // highlight (yellow) ON
 memcpy(indexPage+431, "#4974E2", 6);        // clear OFF
 }
 else
 {
 memcpy(indexPage+340, "#4974E2", 6);        // clear ON
 memcpy(indexPage+431, "#FFFF00", 6);        // highlight (yellow) OFF
 }

 len =  SPI_Ethernet_putConstString(httpHeader);               // HTTP header
 len += SPI_Ethernet_putConstString(httpMimeTypeHTML);  // with HTML MIME type
 len += SPI_Ethernet_putString(indexPage);                           // HTML page first part
 return len; // return to the library with the number of bytes to transmit
}

هذا التابع مماثل للتابع السابق ، و يتم استدعاؤه عند استقبال رسائل عبر UDP من قبل المكتبة , لكننا لن نستخدمه الآن ، و كما تلاحظون فإنه يجيب على جميع رسائل UDP بالقيمة 0 ، أي أنه لا يجيب عمليا .


unsigned int SPI_Ethernet_UserUDP(   char *remoteHost, unsigned int remotePort,
 unsigned int destPort, unsigned int reqLength)
{
 return 0; // back to the library with the length of the UDP reply
}

هذا هو جسم البرنامج ، يتم فيه تهيئة المتحكم للعمل المناسب ، و هنا يتم إطفاء المبدل ADC و المقارنات Comparators و تهيئة الطرف RB0 كمخرج ، ثم تتم تهيئة منفذ SPI و تهيئة الاتصال بالمتحكم ENC28J60 ، ومن ثم إدخال إعدادات الشبكة للمتحكم ENC28J60 . كل هذ القسم سينفذ مرة واحدة فقط ، ثم سيدخل المتحكم في حلقة لا نهائية يتم خلالها استدعاء التابع SPI_Ethernet_doPacket الذي تولى المهمة برمتها .

void main()
{
 ADCON1 |= 0x0F ;        // no analog inputs
 CMCON  |= 0x07 ;        // turn off comparators

 PORTB.F0 = 0;
 TRISB.F0 = 0;                // set PORTB.B0 as output (rele control pin)

 // starts ENC28J60 with: reset bit on PORTC.F0, CS bit on PORTC.F1,
 //                             my MAC & IP address,  full duplex
 Spi_Init();
 // full duplex, CRC + MAC Unicast + MAC Broadcast filtering
 Spi_Ethernet_Init (&PORTC, 0, &PORTC, 1,
 myMacAddr, myIpAddr, Spi_Ethernet_FULLDUPLEX) ;

 // dhcp will not be used here, so use preconfigured addresses
 SPI_Ethernet_confNetwork(ipMask, gwIpAddr, dnsIpAddr);

 while(1) {                 // do forever
 SPI_Ethernet_doPacket();           // process incoming Ethernet packets
 }
}

صار بإمكاننا الآن التحكم بالطرف RB0 عن طريق المتصفح :

أرجو أن تكون هذه المقالة واضحة بما يكفي لفتح الباب أمام من يريد التعلم ، و أرجو ممن لديه أسئلة أن يطرحها و لايبخل بها علينا ، وتقبل الله منا ومنكم ..

المشاهدات: 9436
Add Comment  التعليقات (43)
0
مازن صوفي
28-08-2009
ألف مبروك ومشكور على الموضوع

السلام عليكم أخي أبو النور

بدايةً أبارك لك بالافتتاح الرسمي للموقع، وأشكرك على هذه المواضيع الأكثر من رائعة.

أظن أن هذا الموضوع سيكون بدايةً موفقة وقفزة في ربط المتحكمات الصغرية ( وربما نظماً مضمنة أخرى أكثر تطوراً ) مع الحاسب باستخدام هذا المنفذ الذي لا يخلو حاسب محمول منه.

بالتوفيق وبانتظار المزيد.

0
Hasan
28-08-2009
يا سلام عليك يا أبو النور

مبارك الإفتتاح أخي أبو النور وماشا الله مواضيع متميييييييييييييييزة بكل معنى الكلمة

حسين مصطفى علي
أبو النور
29-08-2009
حياكم الله

يا هلا ومرحبا بكم يا شباب ، والله شهادة أعتز بها كثيرا و أشكركم على المرور الطيب و أتمنى منكم إن وجدتم أي ملاحظة أو استفسار أن تطرحوها لأن هذه المواضيع عادة تحتاج للنقاش .

أهلا بكم مرة أخرى

0
elect2114
29-08-2009
...

الله يعطيك الف عافية على هذا المجهود الرائع و هو بالفعل يستحق كل التقدير.

بالتوفيق و الى الامام انشاء الله تعالى.

0
محمود من غزه
17-10-2009
استفسار بسيط ان امكن

اولا اشكرك على هذه المدونه النادره واتمنى لك استمرار التقدم والنجاح في الدنيا والآخره

انا دخلت مدونتك من خلال بحثي في هذا الموضوع
انا قمت بتنفيذ الدائره وقمت بتجربتها
لكن النتيجه كانت نخيبه للآمال تقريبا مع بصيص امل في الافق
الجيد انه الled اعطو اشارات واشتغلو اول ما شبكت كيبل الethernet
والسيء انه لم استطع الوصول إلى الpic عن طريق الشبكه الداخليه
انا عندي بعض الاستفسارات

1-بالنسبه للrj-45 انا استخدمت واحده عاديه بدون مرشح بداخلها ووضعت المرشح في الدائره
حصلت على المرشح من كارت شبكه DAVICOM وعندي مرشحات من كروت ُREALTEK

2- استخدمت PIC18F4550 ولا يوجد بها RC3 وهو موضول مع SCK
3-بدل استخدام 74HCT08 استخدمت 74HC08

اذا ممكن
تخبرني كيف احول المخرج المستخدم من البيك من RC إلى RD
وهل التغييرات اللتي فعلتها في التضصميم ممكن تخرب النتائج بحيث انه ما يطلع مع اي شيء وشكرا...

حسين مصطفى علي
أبو النور
08-11-2009
...

حياك الله أخي محمود وأهلا بك ضيفا كريما وأخا عزيزا ، أسأل المولى أن يثبت أقدامكم وينصركم على القوم الكافرين ...

لدي بعض الملاحظات على ما فعلته أخي الكريم :

1- استخدام المرشحات الموجودة في بطاقات الشبكة الخاصة بالحاسوب ممكن ، لكن يجب الانتباه إلى استخدام مكثفات سيراميكية قادرة على تحمل الجهد العالي الذي قد يصل إلى 2kV ، ويمكنك استخدام مكثفات بطاقة الشبكة نفسها إن استطعت ، لكن ذلك صعب عادة بسبب صغر حجمها . وأنصحك باستخدام مقبس RJ-45 الذي يحتوي على المرشح جاهزا للعمل مع مكثفاته .

2- اختيار المتحكم PIC18F4550 في هذا المشروع غير موفق و غريب بالنسبة لي ، لأن وحدة MSSP التي ستخدم الاتصال التسلسلي المطلوب (SPI) موصولة على البوابة PORTB فيما أذكر بسبب وجود وحدة USB على البوابة PORTC لذلك ستكون عملية الربط شائكة قليلا . فنصيحتي أن تستخدم متحكما عاديا مثل PIC18F452 أو PIC16F877A و تتصل مباشرة بالبوابة PORTC للمتحكم .

3- استخدام 74HC08 بدلا من 74HCT08 لا يضر لأن كليهما مصنعان بتقنية CMOS و مستويات الجهد لكليهما تخدم الغرض المطلوب ، وقد استخدمت 74HC244 في هذا المشروع لأنني لم أجد الأخرى في السوق فلا تقلق .

4- تحويل المخرج غير ممكن لأن الاتصال يتطلب وحدة SPI و مكانها ثابت في أي متحكم لذا فتعديلاتك على التصميم ستخرب النتائج ، فحاول مرة أخرى واعلم أنه لا يأس مع الحياة ولا حياة مع اليأس .

أرجو أن تجد ما يفيدك في هذا الرد ، وألا تتردد في طرح تساؤلاتك و سأحاول مساعدتك قدر ما أستطيع ، فأهل غزة أحبابنا و إن جار الزمان عليهم ، هذا ما أستطيع تقديمه فالمعذرة على التقصير .

0
محمود من غزه
17-11-2009
شكرا على الاجابه

الحمد لله اشتغلت الدائره بنجاح
ما قمت بعمله هو
استعملت pic18f452
قمت بوضع مرشح مأخوذ من كرت شبكه قديم
لانه لا يوجد مدخل مع مرشح في غزه
والسوفت وير منك
وعندي طلب صغير منك
يا ريت تقولي اسعار الpic 16&pic18 في اسواقكم
الف شكر يا باش مهندس
واتمنى لك دوام التوفيق والنجاح

حسين مصطفى علي
أبو النور
17-11-2009
مبارك نجاح التجربة

العفو أخي محمود و ألف مبروك على البداية الموفقة .. وأرجو أن تكون قد استفدت من هذه المقالة المتواضعة . وما شاء الله عليكم تجاوزتم صعوبات الحصار والحرب وظروفها الصعبة أرجو من الله أن يوفقكم ويسدد خطاكم اللهم آمين ..

أسعار متحكمات PIC عندنا ليست جيدة ، فالمتحكم PIC18F452 يصل سعره إلى قريب من 9 دولارات أمريكية ... و المتحكم PIC16F877A سعره قريب من 4 دولارات ..

إن كان لديك أي تساؤل آخر فلا تتردد أخي الكريم و أهلا بك مجددا ...

0
أبو احمد
27-12-2009
طلب ضروري

السلام عليكم ورحمة الله

أخي الغالي ابو النور ... أود مراسلتك للضروره القصوه .
الرجاء اضافة اميلي
هذا البريد الالكتروني محمي من المتطفلين , يجب عليك تفعيل JavaScript لرؤيته
مع فائق التقدير والاحترام

0
أبو احمد
29-12-2009
تأكيد الطلب

أود الحديث معك ضروري جداً .... الأمر يهمك انشاء الله

0
محمود من غزه
25-01-2010
...

في عندي سؤال صغير بخصوص هاذا الموضوع
الحمد لله بتفتح البيك على الموزيللا زي الفل
لكن على الانترنت اكسبلورر ما بتفتح بالمره
يا ترى شو السبب؟؟
مع خالص احترامي وتقديري

0
Ali Ibrahim
01-04-2010
من فضلك مساعدة (أطرافPIC18F252)

السلام عليكم
جزاكم الله كل خير على هذا المجهود
سيدى أنا أشتريت كل المكونات المطلوبة لبناء هذا المشروع - لكن الرسم المرفق لم يوضح أطراف توصيل الوحدة PIC18F252 مع النظام
رجاء الأيضاح

لكم كل الشكر

حسين مصطفى علي
أبو النور
01-04-2010
...

أهلا بك أخي علي .. بالفعل يبدو أن تفاصيل التوصيل مع المتحكم سقطت سهوا .. في كل الأحوال انظر إلى المخطط المرفق ستجد موصلا اسمه SV4 ، وهو الذي تتصل به أطراف الموديول المستخدمة ... قم بتوصيله إلى البوابة PORTC للمتحكم بنفس الترتيب :

RC0 with #RST
RC1 with #CS
RC2 with #INT
RC3 with SCK
RC4 with MISO
RC5 with MOSI

والطرف الأخير غير مستخدم في هذا المثال ...

حسين مصطفى علي
أبو النور
04-04-2010
خطأ في المخطط !!

أرجو من الجميع الانتباه إلى وجود خطأ في مخطط الدارة، وهو في قيم المكثفتين C3 و C4 ..

القيمة الصحيحة هي 100n وليست 10n كما هي في المخطط ... لذلك أرجو الانتباه ريثما يتم التصحيح قريبا !!

mahmoudomar_89
mahmoudomar_89
11-04-2010
استفسار

السلام عليكم

اولا بارك الله فيك على هذا المشروع القيم ولكن عندي استفسار

هل يمكن ان ارسل داتا الى ال pic عن طريق شبكه خارجيه مثلا وان اغير في برمجته او اضيف بعض الاوامر وان امكن ذلك فكيف سيتم ارسال الداتا اي ماهي الطريقه المستعمله
ام ان الموضوع يقتصر على تنفيذ البرنامج المخزن عليه فقط

وبارك الله فيك وزادك علما

Farid
Farid
13-04-2010
Professional comments


Dear A-Noor,
I really impressed by advance and professional aptitude of the subjects and designs you issued.
I just have one notes, I found it doesn’t make sense to mention religious supplication and phrases in technical communication, just to SALAM Alaikum is more than sufficient
Please accept my regards.
Farid

0
Ali Ibrahim
17-04-2010
? Which Application was used C18 or Mikro-C

السلام عليكم أخى أبو النور – أود أنا أسأل هل تمت البرمجة بأستخدام C18 أم بأستخدام Mikro C لأننى قمت بأستخدام C18 و قابلتنى صعوبات كثيرة حتى أقلل الأخطاء التى ظهرت لى و بعدها لم أنمكن من الحصول على الملف HEX –
و هل من الممكن ارسال البرنامج كاملا كملف بامتداد C
أرجو الأفادة ولكم كل الشكر

حسين مصطفى علي
أبو النور
20-04-2010
...

قد يحدث التباس أخي علي عند قراءة المقالة بسرعة، فالمترجم المستخدم للتعامل مع RTL8019 هو C18 أما المترجم المستخدم للعمل مع ENC28J60 هو mikroC 8.2 ، وأظن أن البرنامج يحتاج لبعض التعديلات للعمل على mikroC PRO ، في كل الأحوال يمكنك إيجاد أمثلة مشابهة ضمن المجلد Examples المرفق بكل منهما، (مجلد الأمثلة عندي هو : C:/Program Files/Mikroelektronika/mikroC PRO/Examples ) ..

حسين مصطفى علي
أبو النور
20-04-2010
...

أهلا بك أخي فريد، وشكرا لك على هذه الملاحظة،

أتفق معك في أنه من الأفضل الاقتصار على المحتوى التقني في الموقع، ووجهة نظرك أحترمها بشدة، لكن العبارات التي أشرت إليها تأتي (عفو الخاطر) وبالطبع التقليل منها أفضل في موقع تقني كهذا ... في كل الأحوال سأكتفي كما أشرت بالسلام والشكر .. وأهلا بك ضيفا عزيزا ..

حسين مصطفى علي
أبو النور
20-04-2010
...

جوابي للأخ محمود هو أن كل ما تفضلت به ممكن حتى تغيير برنامج المتحكم لكن شرح كل هذه الأمور يحتاج لسلسلة من المقالات ولا يمكن تغطيتها في مقالة واحدة، أما الاتصال مع الدارة فهو يتطلب برنامج خاص إن استغنيت عن ملقم http المدمج بالمتحكم(إن استخدمت UDP مثلا) ..

وإن كان لديك سؤال أكثر تحديدا فلا تتردد بطرحه ..

mahmoudomar_89
mahmoud omar
21-04-2010
....

السلام عليكم


بارك الله فيك اخي العزيز على الرد والاهتمام وتشجيعي على الاسئله والاستفسار

يعجبني في هذا المشروع انه يتم توصيله على الشبكه مباشره بدون استخدام جهاز كمبيوتر
ولكن الذي لاحظته من الصور المرفقه ان المتحكم له private ip address فهل هذا يعني ان التعامل معه يكون عن طريق شبكه داخليه فقط وهل يمكن ان ياخذ real ip address ليتم التعامل معه من اي مكان في العالم

ملحوظه:- هذل يعتبر اول استفسار لي ويوجد المزيد فلا تمل مني ^_^ ^_^

حسين مصطفى علي
أبو النور
21-04-2010
...

أخي محمود كل إمكانيات الشبكات قابلة للتطبيق على هذا المشروع، فمثلا إن كان لديك Static IP لاشتراكك المنزلي ستستطيع بالطبع الوصول إلى الدارة عبر الشبكة المنزلية من أي مكان في العالم، وحتى إن كان Dynamic ستتمكن من ذلك بواسطة المواقع الخاصة مثل dyndns.com على ما أذكر ... ستستطيع أيضا استخدام SMTP و POP و SSL و FTP و DHCP .. إلخ .. كل ما يتوفر في شبكات إيثرنت من مزايا وبروتوكولات هي قابلة للاستخدام في هذه المشاريع .. وتقبل سلامي ..

0
nayefacc
28-04-2010
...

مشكووووور تسلم يداك با غالي smilies/smiley.gif

0
amr
29-04-2010
...

عند كتابة البرنامج المكتوب ظهر عندى error ولا اعرف السبب
برجاء كتابة البرنامج مرة ثانية بس يكون كامل

0
Ali Ibrahim
30-04-2010
ping Error

elsamo 3lykom,
•Regarding the MCU section I am used PIC18F252 with 10MHz Oscillator plus two 22 pico-farad capacitors (PIC18F452 also tried).
•And regarding the ENC28J60 a 24.5 MHz Oscillator plus 22 two pico-farad capacitors
•And the remained parts connected as described in your drawing, (both 74244 and 7408 were tried).
•A cross over (tested before) cable used between our card and the computer, LED A and LED B in the card RJ45 blinking (Communication working healthy)
•I am tried to ping the card at 192.168.20.60 as programmed but failed ("Request Timed Out" message obtained in the command prompt).
•Why??? I don’t know


Is there is a problem in the selected MCU oscillator frequency.
Or is there is a relation between the two oscillators (MCU and ENC28J60) frequencies??

thanks alot

0
Ali Ibrahim
01-05-2010
منتظر الرد

أخى أبو النور مازلت منتظر الرد - الأمر هام بالنسبة لى

حسين مصطفى علي
أبو النور
02-05-2010
...

أخي علي، أعتذر عن تأخري بالرد ...

الكريستالة الخاصة بالمتحكم ENC28J60 من المفترض أن تكون بقيمة 25MHz وأتمنى أن تراجع النشرة الفنية لع للتأكد من إمكانية العمل مع الكريستالة التي استخدمتها، كما أرجو الانتباه إلى المقبس المستخدم J0026D21E حصرا أو مقبس متوافق مع نفس السرعة، لأنه يحتوي بداخله على محولات لتكييف الإشارة لمداخل المتحكم وهي تعمل على سرعات محددة، فأرجو الانتباه .. كما لا أنسى التأكيد على وجود خطأ في قيم المكثفات C3 و C4 وأعتذر عن التأخير في تعديل القيم لضيق الوقت،،

وتحية لكم جميعا ..

0
Waleed Ezz
12-05-2010
مجهود رائع

مجهود رائع من الاخ أبو النور. حاولت تطبيق ذلك من خلال معالجات Atmel AVR ATMega32 ولكن النتائج كانت مخيبة للآمال. هل قابلت تطبيق ناجح مشابه من خلال قراءاتك؟

0
blal
20-05-2010
مشكلة فى الهاردوير

شكرا اخى ابو النور على هذا الموضوع الرائع
نجاحك فى هذه الدائرة اعطنى بادرة امل بعد ما وجهت من مشاكل فى نفس الموضوع
انا اعمل على هذا المشروع منذ حوالى شهرين ونصف
المشكلة اننى بدأت فى بناء البروتوكلات الخاصة بالمشروع مستعينا بكتاب
TCP/IP Lean
الكتاب يستخدم
PIC16F877A و RTL8019AS
ما جعل الامر صعب هو انه كان يجب على التعديل فى الكثير من الاشياء لانى اردت استخدام
PIC16F877A مع ENC28J60
المهم ان النتائج (بالرغم من تأخرها) الا انها كانت ممتازة ..و لكن على مستوى ال simulation باستخدم برنامج proteus
المشاكل كلها ظهرت عندما حاولت تنفيذ الدائرة hardware لذا اود ان اسألك فى هذه الجزئية خصوصا انه بعد البحث على الانترنت بدأت اتيقن بأن مشكلتى قد تكون منحصرة فى الاتى :
1- استخدامت مقاومة 51 اوم بسماحية 5% بينما الدائرة تتطلب 49.9 اوم بسماحية 1%
كما استخدمت مقاومة 2.2 كيلو اوم 5% بينما المطلوب 2.32 كيلو اوم 1%
وسؤالى هل يمكن ان يكون هذا جزء من المشكلة واذا لم يكن فما هى قيم السماحية التى استخدمتها؟

2-بعض المواقع رجحت وضع مكثف او مقاومة بين الطرفين SCK و SDO الخاصة ب الانترفيس قيمة المكثف كانت 2 نانو فراد هل احتجت الى هذا الحل ؟

3- اشارت بعض المواقع الى انه يجب ان يكون CLOCK ال SPI اسرع من 8 ميجا هرتز
وهذا ما لايمكن تحقيقه لان اقصى كرستالة يمكن استخدمها مع PIC16F877A هى 20 ميجا وبما اننى استخدم PIC C فان اعلى CLOCK لل SPI هى سرعة الكرستالة مقسومة على 4 اى ان اعلى clock لل SPI سيكون 5 ميجا هرتز هل تعاملت مع مشكلة كهذه ؟ وهل الحل فى PIC 18

4- لاحظت فى صورتك الخاصة بال PCB ان ال Ground يشغل مساحة كبيرة من النحاس هل هذا مقصود؟ .... لانه كما فهمت من بعض المواقع ان هذا مطلوب

5-ما دور J1 وبها اربعة مخارج تتصل ب ال ground ... قيمة الملف L1 هل هى 4.7uH ؟؟

اسف جدا ان كنت قد اطلت عليك لكنى حقيقتا اخشى ان يذهب مجهودى طوال الاشهر السابقة هباءا

شكرا لك اخى و ادعو الله ان يزيدك من علمه

0
electPIC
06-12-2010
سؤال غريب

لقد قرأت الموضوع وكما يجب أن يقال " الله يعطيك العافية "

ولكن عندي سؤال ..

ماهو برنامج رسم الدرات الذي تستخدموه

فقد أعجبني اللون الازرق فيه وشكل العناصر

وشكرا على كل حال

0
electPIC
06-12-2010
بالنسبة للمقبس

بالنسبة للمقبس المستخدم J0026D21E من أين حصلت عليه وهل يجب وضع مقبس من هذا النوع حصرا


شكرا

0
سمير
08-03-2011
استفسار

في البداية مبروك الموقع وأتمنى لك دوام النجاح والتقدم
أخي أبو النور أن من الناس المهتمين بالتعامل مع AVR أكثر من PIC18 وأرغب في أنشاء مكتبة للـمتحكم ENC28j60 وقد لاحظت من خلال المقالات السابقة عن وجود TCP/IP stack مقدمة من شركة Microchip فهل يمكنك تزويدي بها علي أتمكن من إعادة صياغتها بما يتناسب مع عائلة AVR
كما أود لو أعطيتني أسم مرجع يساعدني في فهم تفاصيل برتوكولات الشبكات مثل :TCP,UDP,Pop3,DHCP,SMTP وغيرها.
أود أن أكون عضوا أو صديقا لهذا الموقع الجميل والشكر الجزيل لكل المشاركين فيه

0
i'mHero
13-04-2011
إستفســـار

أخى أبو النور

أولا/ بارك الله فيك - على هذه المعلومات القيمة

الآن أنا أقوم بعمل مشروع - حيث سأقوم بتوصيل المتحكم على الشبكة

لذلك أريد منك أن تدلنى على أسماء المراجع التى عن طريقها سأقوم ببرمجة المتحكم لإرسال الأوامر التى أريدها

0
Hussam
19-04-2011
السلام عليكم

الشكر الجزيل لك اخي العزيز ..........................................
ولكن ما هي المكتبات التي قمت باستخدامها واين يمكن ان نجدها ....
وكيف يمكن ان نتعلم tcp/ip socket programming
جزاك الله خيرا وشكرا لك

0
sameer
24-06-2011
سؤال

لقد قمت ببناء دارة تعتمد على المتحكم ENC28j60-I/SP واستخدمت J0026D21E كمقبس RJ-45 وأنا حاليا أبرمجه مع المتحكم ATmega128 من عائلة ال AVR لكن هناك عدد من المشاكل:
1- لقد استخدمت المنظم LM317 للحصول على 3.3V من جهد خارجي حوالي 15V-12V لكن الملاحظ بان حرارة المنظم ترتفع باستمرار فهل تستهللك عادة الشريحة ENC28j60 تيارات عالية
لقد لاحظت أن حرارة المنظم LM317 تزداد عند إضافة عنصر الفرايت.
2- هل المكثفتين C3,C4 100nf/50V أو اها جهود أعلى لكن ضمن الdatasheet فإن قيمها 10n
3- بالنسبة J0026D21E هل الأرجل 4،6 غير موصولة لأن المخطط الداخلي للمقبس J0026D21E تبين أن 4 مقصورة مع 5 .

4- حاولت استخدام برنامج Wiresharke لتحليل الطرود المرسلة حيث أن المتحكم عندي يرسل طرد ARP والمشكلة أنه لايظهر شيء على الشاشة لكن تظهر إشارات ال Blinking على الled الخاص بال J0026D21E
أرجو المساعدة لأن الأمر ضروري وهذا إيميلي: \n هذا البريد الالكتروني محمي من المتطفلين , يجب عليك تفعيل JavaScript لرؤيته '> هذا البريد الالكتروني محمي من المتطفلين , يجب عليك تفعيل JavaScript لرؤيته للتواصل

ولكم جزيل الشكر

0
محمد عبد السلام
25-09-2011
سؤال مهم جدا

بسم الله الرحمن الرحيم
جزاك الله كل خير الدنيا و الاخرة على هذه المعلومات القيمة جدا
انا شغال في هذا المشورع من عدت اسابيع و تواجهني مشكلة كبيرة وبرجاء المساعدة
انني قمت بستخدام المتحكم ENC28J60 و ربطها مع ال PIC18F4520
وهي مثل هذا المشروع تماما
و عند تنفذ هذا المشروع للاسف لم اقراء جيدا قبلها فواجهتني عدت مشاكل
اولا كنت اشغل الدائرة على 3.5 فولت و 5.5 فولت بدل من 3.3 و 5 فولت
ثانيا كنت فاكر ان الكونكتور اللي هنستخدمة في هذا المشروع هو كونكتور عادي و للاسف اكتشفت هذا مؤخرا و قمت بتغيرة و للاسف لم تعمل الدائرة ايضا و ضبط الفولت و لم تعمل الدائرة ايضا
هل هكذا تكون المتحكم تلف
ـــــــــــــــــــــــــــ
سؤال اخر
هل هذه الدائرة تعمل على الشبكات المحلية فقط LAN يعني مينفعش اتحكم فيها من اي مكان في العالم
إذا كان ينفع اتحكم بها من اي مكان في العالم فما هو المطلوب هل سوف يحدث تغير في ارقام ال IP مثلا
وجزاك الله كل خير

0
ِِAlbert
26-09-2011
بضع أسئلة في المشروع

هلء أنا عندي مبدأيا الأسئلة التالية :
1- بخصوص دارة المشروع أنا يلي ناوي وصلو بالمشروع بس الـ PIC والـ ENC والـ 74HCT244 و 4 ليدات يلي بدي أتحكم فيون .
أ- هل في داعي وصل الـ LM7805 و الـ REG1117 ؟؟
ب- في من جهة توصيل الـ RJ45 مع المتحكم ENC في عدّة مقاومات 50 أوم موصلين بطريقة محددة وفي عدة كثفات 100 نانوفاراد هل هذه المقاومات والمكثفات ضرورية في التوصيل ؟؟ وفي محطوط كمان كأنو ملف مسميه حضرتك L1 بس ما فهمت أنا شوهذا وشو مواصفاتو بالزبط ؟؟

2- http://192.168.1.61 هلء هل هذا العنوان هو عنوان مشترك لكل متحكمات ENC ؟؟؟
أم هو خاص بجهاز حاسوبك الذي أنت ساحب منو كبل شبكة على الدارة تبعك ؟؟
أم أنني أستطيع تحديده من خلال البرنامج الخاص بي ؟؟

وأخيرا :
ألا يجب أن أحضر ملف المكتبة الخاصة بالمتحكم ENC وأقوم بتضمينها في برنامج المتحكم الذي سوف أشحنه إلى المتحكم PIC16F877A ??

ولك جزيل الشكر .
أرجو التفصيل في الإجابة إن أمكن

وشكرا لك

0
محمد عبد السلام
26-09-2011
استفسار بسيط

بسم الله الرحمن الرحيم
جزاك الله كل خير على هذه المعلومات
الحمد لله الدائرة اشتغلت ولكن لا استطيع الدخول على الصفحة التى اتحكم من خلالها
انا عندي ال IP اللي انا كتبها

// network parameters
char myMacAddr[6] = {0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f}; // my MAC address
char myIpAddr[4] = {192, 168, 1, 11}; // my IP address
char gwIpAddr[4] = {192, 168, 1, 1}; // gateway IP address
char dnsIpAddr[4] = {163, 121, 128, 134}; // dns IP address
char ipMask[4] = {255, 255, 255, 0}; // subnet mask
// end network parameters

بدخل على المتصفح و اكتب
192.168.1.11
بيفتحلي صفحة البحث ولا يدخل على صفحة التحكم
انا حاسس ان في حاجة ناقصة
ارجو المساعدة بشدة ولكم خزيل الشكر

0
م.محمد كشلو
10-11-2011
السلام عليكم

تحية طيبة مباركة وبعد
جزاك الله كل خير على هذه المقالة الرائعة
واسأل الله ان يزيدك علما وعملا بما تعلم
-----------
اخي لم اجد الrj-45 في البروتوس هل بالامكان تزويد بالمكتبة اللازمة
ومن اين يمكنني شراء الenc28j60 و j0026d21 وكم سعرها بالليرة السورية
وجزاك الله عني كل خير

0
علي شاكر
07-01-2012
...

اشكرك اخي وجزاك الله خير الجزاء
ارجو المساعده لقد نفذت الكود ولكن يظهرلي كم هائل من الاخطاء من ضمنه استعاد المكاتب
البك المستخدم pic16f887 اتمنى ذكر السبب واتمنى اعطائي كود كامل لهذا البك

مع فائق الشكر والتقدير

0
ديجيتال
21-02-2012
بخصوص دائرة enc28j60

هل نسبة الخطأ فى المقاومات وهى 1% ضرورية لعمل الدائرة حيث اننى لا استطيع الحصول عليها الا بنسبة سماحية 5% هنا فى مصر

0
MOUSSATRONIX
07-03-2012
بخصوص ال MIKROC

كيف المايكروكونترولر يحلل صفحت الHTML ويعرف اذا كنت كبست ال ON او OFF وماهي الاوامر المسؤلة عن الامر في MIKROC وارجو شرح الامر Spi_Ethernet_doPacket()

0
mohamed elmofty
18-04-2012
أضف تعليق

busy
التحديث الأخير ( الخميس, 27 آب 2009 03:43 )
 

القائمة البريدية







المتصفحون الآن

يتصفح الموقع حاليا 2 زوار 




جديد الموقع

تحمل المرحلة الأولى باقة من الإضافات الجديدة على الموقع و أقسامه، في مقدمتها قاموس المصطلحات الفريد من نوعه ، و الذي يمكن الزوار من التعرف على المصطلحات المستخدمة في المقالة التي يقرؤها عبر نوافذ صغيرة تساعد الزائر الكريم على الإحاطة بكافة جوانب الموضوع ، إضافة لمكتبة الملفات ، و مجموعة من الأقسام الجديدة التي ستلاحظون وجودها بأنفسكم ، فأهلا بكم ...

اتصل بنا

ابق على اتصال معنا ، و تابع جميع نشاطات الموقع وأخباره و ساهم في تطويره والرقي به ، وتعرف عن قرب إلى العاملين في الموقع و المهتمين به ، تابعنا على :

الافتتاح الرسمي للموقع بحمد الله و فضله

تم افتتاح الموقع بحمد الله تعالى و فضله يوم الأحد 2 رمضان 1430هـ الموافق 23 آب\أغسطس 2009 م و بذلك تبدأ الانطلاقة الرسمية للموقع ، و التي تتكون من ثلاثة مراحل متتابعة ، نرجو من السادة الزوار الاطلاع على شروط الاستخدام قبل البدء بتصفح الموقع .

نرحب بملاحظاتكم و اقتراحاتكم على البريد الإلكتروني admin@noortronics.net .

المرحلة الأولى من الانطلاقة

بعد انتهاء الفترة التجريبية ، وبعد العديد من العثرات و المشاكل ، عاد الموقع بحمد الله و فضله بابتداء المرحلة الأولى من الانطلاقة ، و التي ستتسم بالتركيز على الدروس التعليمية الأقرب إلى المبتدئين قبل الخوض في المسائل الأكثر تعقيدا ، نأمل من الزوار الكرام ألا يترددوا في طرح أي تساؤل أو تعليق على المنشورات في الموقع لنعمل سويا على إثراء المواضيع قدر الإمكان ..