سؤال

لقد اشتريت مؤخرا mojo v3 والتي لديها بالفعل وحدة UART للتواصل مع AVR ومن AVR إلى الكمبيوتر.
مشكلتي هي: كيف يمكنني توصيل هذا مع وحدات أخرى؟ دعونا نقول أن لدي كور MD5 الذي يقبل X بايت، ما هو أفضل نهج للقراءة من الأحرف X المسلسل حتى يتم الضغط عليه الدخول ثم إرساله إلى النواة MD5؟ حسنا، أنا مبتدئ، ناهيك عن MD5، دعنا نقول أنني أريد فقط أن أجعل صدى بسيطة.
أين يجب أن تبدأ؟ باستخدام FIFO؟ تحويل السجلات؟ صفائف بسيطة؟ برام؟
هذه هي واجهة AVR (UART):

giveacodicetagpre.

أنا أستخدم هذا البرنامج التعليمي كقاعدة لمعرفة المزيد: http://embeddedmicro.com/tutorials/mojo/hello-world/
لقد صنعت بالفعل بايت صدى بايت بايت، لكن هذه ليست هذه هي النقطة. أريد فقط أن تردد السلسلة عند الضغط عند الدخول. شكرا

تحديث:
جعل مطور Mojo مثالا رائعا هنا:
http://embeddedmicro.com/forum/viewtopic.php؟f=2& ؛ T= 697 وابدأ= 10 شكرا لك.

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

المحلول

لإعادة صدى كتلة طول تعسفية، ستحتاج إلى FIFO ونوع من آلة الحالة للتحكم فيه. سيتم توصيل المدخلات FIFO بالحافلة القادمة من وحدة UART RX. سيتم توصيل إخراج FIFO بالحافلة التي تذهب إلى وحدة UART TX. يجب أن تكون هناك أيضا وسيلة "لمنع" ouptput في FIFO بحيث لن ترسل بايت. طريقة السهل للقيام بذلك هي مجرد إشارة عنصر تحكم مع الإشارة "جاهزة" تذهب إلى FIFO وإشارة "صالحة" تذهب من FIFO إلى وحدة TX UART.

ثم كل ما يجب القيام به جميع آلة الحالة هو إلقاء نظرة على البيانات على كلا الطرفين من FIFO. كلما تم استلام إدخال KeyPress، زيادة عداد. كلما تدخل KeyPress يخرج من FIFO، وتناقص العداد. عندما يكون العداد أكبر من الصفر، قم بإلغاء حظر إخراج FIFO. خلاف ذلك، منعه لذلك لا توجد بيانات الخروج.

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

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