سؤال

لدي اتصال بيانات منخفض للغاية عبر المسلسل (RS485): 9600 باود معدل نقل البيانات الفعلي حوالي 25٪ من ذلك.

الخط التسلسل يمر عبر منطقة عالية للغاية EMR.يمكن أن تصل تقلبات الذروة إلى 3000 كيلو فولت.

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

الأفكار؟

هل كانت مفيدة؟

المحلول

p>

href="http://sites.google.com/site/ortegaalfredo/pic18dspic30reedsolomon" rel="nofollow noreferrer"> هذا الموقع يدعي لتنفيذ القصب سليمان على PIC18.لم أستخدمها أبدا بنفسي، لكن ربما قد تكون مرجعا مفيدا؟

نصائح أخرى

ابحث عن خوارزمية CRC المستخدمة في بروتوكول Modbus ASCII.

أقوم بتطوير أجهزة Pic18 واستخدام مترجم MCC18 و Picc18 حاليا. لقد لاحظت قبل أسابيع قليلة أن الرؤوس الطرفية ل PICC18 خريطة غير صحيحة () ماكرو Duse2USART () إلى TRMT بت TRMT بدلا من TRMT2 بت. هذا تسبب لي الصداع الرئيسي لفترة قصيرة قبل اكتشاف المشكلة. مثال، ناقل حركة بسيط:

giveacodicetagpre.

عندما تم تعيين ماكرو lange2usart () بشكل غير صحيح إلى TRMT بت TrMT، لم أكن أنتظر أبدا من البايتات لمغادرة سجل التحول لأنني كنت مراقبة القليل الخطأ. قبل أن أدركت ملف الرأس غير الدقيق، كانت الطريقة الوحيدة التي كنت قادرا على نقل البايت بنجاح أكثر من 485 هي الانتظار 1 مللي ثانية بين بايت. كان معدل البثادق الخاص بي 91912 والتأخير بين بايت قتل الإنتاجية الخاصة بي. أقترح أيضا تنفيذ وسيلة للكشف عن الاصطدام والخنق. المجموع الاختباري رخيصة، حتى على PIC18. إذا كنت قادرا على الاستماع إلى عمليات الإرسال الخاصة بك، ففعل ذلك، فسوف يتيح لك أن تكون على دراية بالتصادمات التي قد تنجم عن عناوين مكررة على نفس الحلقة وتوقيت غير صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top