سؤال

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

أي روابط أو مصادر على الموضوع سيكون موضع تقدير كبير.

روابط مفيدة وجدت:

TTL:

شكرا على مساعدتك.


تحرير:

إذا كان ذلك يساعد الجهاز أحاول أن واجهة هو Skyetek M1 و M1 mini.منصة/وحدة المعالجة المركزية هو الشمس البقع الشمسية.

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

المحلول

قبل TTL تعني UART (حيث الطرفية يتلقى/ يرسل المسلسل تيار تلقائيا) أو bitbanging (حيث يمكنك يدويا تعيين/إعادة تعيين/تبديل بت)?

ربما أود أن أوصي SPI.إنه من السهل نسبيا البروتوكول على الجانب ماجستير, إذا كان لديك ، يمكنك بت الانفجار.(ولكن أسهل بكثير من استخدام المدمج في SPI الأجهزة الطرفية.) SPI سيد يرسل على مدار الساعة خط (SCLK) و خط البيانات (موزي = ماستر بها العبد في) ، حيث بتات البيانات صحيحة على المعين حافة على مدار الساعة خط.يتلقى خط البيانات (ميسو = ماجستير في الرقيق) من الرقيق حيث بتات البيانات صحيحة على المعين حافة على مدار الساعة خط.إذا كان لديك العديد من العبيد الأسلوب عادة أن يكون رقاقة واحدة حدد (CS) خط لكل الرقيق ؛ إذا CS منخفضة ثم الرقيق في السؤال هو نشط ، وإلا فإنه من المفترض أن تجاهل الساعة/إشارات البيانات و لا يزعج ميسو خط.SPI بسيطة وسوف تعمل حتى مع HC594 أو HC595 إخراج سجل (التعادل موزي إلى SER, SCLK إلى SCK, CS RCK) إذا كان متحكم قصيرة على منفذ إخراج الدبابيس كنت بحاجة إلى المزيد منها.إذا كان لديك أكثر من 3 SPI الأجهزة, النظر في استخدام HC138 كما فك لإنتاج الفرد الجهاز CS خطوط من مجموعة من عنوان بت سيد رقاقة تحديد خط من المعالج.(منذ واحد فقط CS خط المفترض أن تكون منخفضة في وقت واحد)

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

أ UART يمكن أن يكون أسرع حل.SPI لديه الحد من السرعة المتصلة ذهابا وإيابا انتشار الوقت, لأن كلا الجانبين استخدام نفس إشارة على مدار الساعة.(إشارة مسار = سيد التغييرات SCLK دبوس عبد يراها و يستجيب عن طريق تغيير ميسو دبوس ، ثم الماجستير يستخدم ميسو إشارة على التالي SCLK الحافة حتى الإشارة من العبد أن تصل ثم) في UART, الواردة والصادرة عبر مستقلة ، و الكمون لا يعني الإنتاجية يتم تخفيض ما لم رفيع المستوى البروتوكول UART النهاية إلى إرسال الأوامر إلى UART نقطة النهاية ب وانتظر ب للرد ، ومن ثم إرسال الأمر التالي.سريع حقا المسلسل تيارات ينبغي النظر في استخدام LVDS للحفاظ على سلامة إشارة.ولكن تحليل UART بايت هو نوع من الألم مقارنة SPI;في SPI هناك واضح محدد الحزم ، بينما في UARTs كنت تتعامل مع undelimited المسلسل تيار وأي packetizing الذي ينبغي القيام به من تحليل البيانات نفسها.

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

نصائح أخرى

جيسون الجواب هو الكثير أكثر تفصيلا, ولكن أعتقد أنني أود أن أضيف تجربتي قصيرة.

أنا استخدم SkyTek M1 الدقيقة RFID قراءة/كتابة وحدة متصلة الطابع الأساسي على TTL.لم يكن لدي أي مشاكل ، إعداد الكثير أكثر بساطة مما كان قد اخترت I2C.

فإنه يتطلب فقط متحكم لإرسال بسيط المسلسل-TTL الأوامر التالية SkyeTek البروتوكول.كان ذلك والعمل في حوالي 5 دقائق على اللوح.

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