আমি এমন একটি প্রকল্পে কাজ করা গবেষণা দলের একজন স্নাতক সদস্য যা একটি আরএফ-সংক্রমণকারী ASIC জড়িত এবং এর ওয়্যারলেস রিসিভার যা শেষ পর্যন্ত একটি পিসিতে ডেটা প্রেরণ করা উচিত।
রিসিভারটি একটি দ্রুত , ধারাবাহিক, অ্যাসিনক্রোনাস, অ-মানক সিরিয়াল সিগন্যাল (যেমন এসপিআই, আই 2 সি, ইউআরটি ইত্যাদি নয়) আউটপুট দেয় তাই আমার কাজটি কম্পিউটারে রিসিভারকে ইন্টারফেস করার জন্য মাইক্রোকন্ট্রোলার সফ্টওয়্যার লিখতে হয়। বর্তমানে আমার পদ্ধতির তথ্যটি একটি বৃত্তাকার বাফারে রাখার জন্য এজ-ট্রিগার ট্রিপস ব্যবহার করা এবং সম্পূর্ণ লুপটিতে বিট-বাই-বিট ডিকোডিং প্রক্রিয়াটি করা। মাইক্রোকন্ট্রোলারকে একই সাথে কম্পিউটারে ইউএসবি (ভার্চুয়াল কম পোর্ট) ব্যবহার করে এই ডেটা আউটপুট করতে হবে।
আমার যে সমস্যা হচ্ছে তা এখানে রয়েছে এবং যার একটি আমি প্রত্যাশা করছি:
আমি যথেষ্ট শক্তিশালী 72 মেগাহার্টজ এআরএম কর্টেক্স এম 3 প্রসেসরের সাথেও আমি যথেষ্ট পরিমাণে বাফার ডেটা প্রক্রিয়া করতে পারি না। বিটরেট 400 কেবিপিএস (2.5 ইউএস / বিট)। রেফারেন্সের জন্য যা প্রতি বিট মাত্র 180 টি চক্র ছেড়ে যায় (ডিকোডিং এবং আইএসআর সহ, যেখানে ওভারহেড আউচের ~ 30 চক্র থাকে!)। এমসিইউকে অন্যান্য অনেক কাজ পরিচালনা করতে হয় যা এটি প্রধান লুপটিতে পোল করে।
ইউএসবি ভার্চুয়াল কম পোর্ট ড্রাইভারটিও বাধা ভিত্তিক। এটি আমাকে প্রায় নিশ্চিত করে তোলে যে ড্রাইভারটি শেষ পর্যন্ত প্রসেসরের এতক্ষণ ব্যাঘাত ঘটাবে যে এটি 2.5 মাইক্রোসেকেন্ড (180 চক্র) উইন্ডোটি মিস করে যাতে কিছুটা সংক্রমণ হতে পারে। আমি নিশ্চিত নই যে এর মধ্যে অন্তরঙ্গ বিবাদ / দৌড়গুলি সাধারণত কীভাবে সমাধান করা হয়।
সুতরাং প্রশ্নটি সহজভাবে, এই সমস্যাগুলি সমাধান করতে কেউ কী করতে পারে বা এটি আদৌ সঠিক দৃষ্টিভঙ্গি নয়? আমিও কম সফ্টওয়্যার কেন্দ্রিক পদ্ধতির বিবেচনা করতে ইচ্ছুক। উদাহরণস্বরূপ, ডিকোডিংয়ের জন্য কোনও ধরণের হার্ডওয়্যার স্টেট মেশিনের সাথে ডেডিকেটেড ইউএসবি চিপ ব্যবহার করা, তবে এটি অপরিচিত অঞ্চল।