কীভাবে দক্ষতার সাথে অ-মানক সিরিয়াল সিগন্যালটি ডিকোড করবেন


11

আমি এমন একটি প্রকল্পে কাজ করা গবেষণা দলের একজন স্নাতক সদস্য যা একটি আরএফ-সংক্রমণকারী ASIC জড়িত এবং এর ওয়্যারলেস রিসিভার যা শেষ পর্যন্ত একটি পিসিতে ডেটা প্রেরণ করা উচিত।

রিসিভারটি একটি দ্রুত , ধারাবাহিক, অ্যাসিনক্রোনাস, অ-মানক সিরিয়াল সিগন্যাল (যেমন এসপিআই, আই 2 সি, ইউআরটি ইত্যাদি নয়) আউটপুট দেয় তাই আমার কাজটি কম্পিউটারে রিসিভারকে ইন্টারফেস করার জন্য মাইক্রোকন্ট্রোলার সফ্টওয়্যার লিখতে হয়। বর্তমানে আমার পদ্ধতির তথ্যটি একটি বৃত্তাকার বাফারে রাখার জন্য এজ-ট্রিগার ট্রিপস ব্যবহার করা এবং সম্পূর্ণ লুপটিতে বিট-বাই-বিট ডিকোডিং প্রক্রিয়াটি করা। মাইক্রোকন্ট্রোলারকে একই সাথে কম্পিউটারে ইউএসবি (ভার্চুয়াল কম পোর্ট) ব্যবহার করে এই ডেটা আউটপুট করতে হবে।

আমার যে সমস্যা হচ্ছে তা এখানে রয়েছে এবং যার একটি আমি প্রত্যাশা করছি:

  1. আমি যথেষ্ট শক্তিশালী 72 মেগাহার্টজ এআরএম কর্টেক্স এম 3 প্রসেসরের সাথেও আমি যথেষ্ট পরিমাণে বাফার ডেটা প্রক্রিয়া করতে পারি না। বিটরেট 400 কেবিপিএস (2.5 ইউএস / বিট)। রেফারেন্সের জন্য যা প্রতি বিট মাত্র 180 টি চক্র ছেড়ে যায় (ডিকোডিং এবং আইএসআর সহ, যেখানে ওভারহেড আউচের ~ 30 চক্র থাকে!)। এমসিইউকে অন্যান্য অনেক কাজ পরিচালনা করতে হয় যা এটি প্রধান লুপটিতে পোল করে।

  2. ইউএসবি ভার্চুয়াল কম পোর্ট ড্রাইভারটিও বাধা ভিত্তিক। এটি আমাকে প্রায় নিশ্চিত করে তোলে যে ড্রাইভারটি শেষ পর্যন্ত প্রসেসরের এতক্ষণ ব্যাঘাত ঘটাবে যে এটি 2.5 মাইক্রোসেকেন্ড (180 চক্র) উইন্ডোটি মিস করে যাতে কিছুটা সংক্রমণ হতে পারে। আমি নিশ্চিত নই যে এর মধ্যে অন্তরঙ্গ বিবাদ / দৌড়গুলি সাধারণত কীভাবে সমাধান করা হয়।

সুতরাং প্রশ্নটি সহজভাবে, এই সমস্যাগুলি সমাধান করতে কেউ কী করতে পারে বা এটি আদৌ সঠিক দৃষ্টিভঙ্গি নয়? আমিও কম সফ্টওয়্যার কেন্দ্রিক পদ্ধতির বিবেচনা করতে ইচ্ছুক। উদাহরণস্বরূপ, ডিকোডিংয়ের জন্য কোনও ধরণের হার্ডওয়্যার স্টেট মেশিনের সাথে ডেডিকেটেড ইউএসবি চিপ ব্যবহার করা, তবে এটি অপরিচিত অঞ্চল।


আমার বলতে হবে, এটি বিরল যে আমি দেখতে পাচ্ছি যে আমি পছন্দ করি এমন অনেকগুলি পরামর্শ যে তাড়াতাড়ি উত্তর দিয়েছে, আপনার প্রশ্নের পক্ষে ভাল কথা বলে। আমি ডেটা বার্ট সম্পর্কে আরও জানতে আগ্রহী হবে। এগুলি কি ফেটে যায়, হঠাৎ পুরো গতি এবং তারপরে নিম্ন ডেটার পিরিয়ড বা এটি প্রশংসনীয় যে আপনি অবিচ্ছিন্ন ডেটা সহ একটি বর্ধিত সময় যাবেন?
কর্টুক

যতক্ষণ এএসআইসি ক্ষমতা রয়েছে ততক্ষণ এটি একটানা তথ্যের প্রবাহ প্রেরণ করে। মোটেও ফেটে নেই। এটি কম্পিউটার রিডআউট সহ রিয়েল-টাইম মেডিকেল সেন্সিং অ্যাপ্লিকেশন। কোন EKG কখনও দেখেছেন?
কেগান জে

এখানে অনেক দুর্দান্ত উত্তর। আমি বিঘ্নগুলির পরিবর্তনগুলি জড়িত সমাধান এবং উত্সর্গীকৃত হার্ডওয়্যার / ডিজিটাল যুক্তিযুক্ত সমাধানগুলির মধ্যে একটি স্পষ্ট বিভাজন দেখেছি। এফপিজিএ এবং ভেরিলোগের মতো বিষয়গুলির সাথে আমি পরিচিত, তবে এখনও এটির অভিজ্ঞতা নেই তাই এর অর্থ এগুলি অবশ্যই দীর্ঘমেয়াদির জন্য সংরক্ষণ করতে হবে। স্বল্পমেয়াদী @ রকেটম্যাগনেটসে কম বাধা-ভারী পদ্ধতি ভাল fine আমি ডিজিটাল যুক্তিতে মেনিয়াল টাস্কগুলিকে উত্সর্গ করা এবং সত্যিকারের গণনার জন্য এআরএম সংরক্ষণ করার কমনীয়তা পছন্দ করি। ভবিষ্যতে এআরএমের শক্তি ওয়্যারলেস সিরিয়াল ডেটা বিশ্লেষণ এবং ফিল্টারিংয়ের জন্য ব্যবহৃত হবে।
কেগান জে

সিগন্যালটি কি সিনক্রোনাস বা অ্যাসিনক্রোনাস?
markrages

অ্যাসিঙ্ক্রোনাস। 4 টি শুরু বিট, 10 ডেটা বিট, 2 স্টপ বিট ASIC প্রকৃতির যা প্রেরণ করছে তার কারণে, এইচআই এবং এলও সময়ের চিপ থেকে চিপ পর্যন্ত খুব বেশি পরিবর্তিত হয়। বাড রেট কমানোর জন্য আমি ইতিমধ্যে একটি অ্যালগরিদম লিখেছি।
কেগান জে

উত্তর:


5

আর একটি উত্তর: বাধা ব্যবহার বন্ধ করুন।

লোক খুব সহজেই বাধা ব্যবহার করতে ঝাঁপিয়ে পড়ে। ব্যক্তিগতভাবে, আমি খুব কমই এগুলি ব্যবহার করি কারণ তারা আবিষ্কার করে যাওয়ায় তারা আসলে প্রচুর সময় নষ্ট করে।

এটি প্রায়শই একটি প্রধান লুপ লিখতে সম্ভব হয় যা এত তাড়াতাড়ি সমস্ত কিছুকে পোল করে দেয় যে এটির বিলম্বটি অনুমানের মধ্যে রয়েছে এবং খুব অল্প সময় নষ্ট হয়।

loop
{
    if (serial_bit_ready)
    {
        // shift serial bit into a byte
    }

    if (serial_byte_ready)
    {
        // decode serial data
    }

    if (enough_serial_bytes_available)
    {
        // more decoding
    }        

    if (usb_queue_not_empty)
    {
        // handle USB data
    }        
}

লুপে এমন কিছু জিনিস থাকতে পারে যা অন্যদের চেয়ে অনেক বেশি ঘটে। সম্ভবত আগত বিটগুলি উদাহরণস্বরূপ, এক্ষেত্রে সেই পরীক্ষাগুলি আরও যুক্ত করুন, যাতে আরও বেশি প্রসেসর সেই কাজের জন্য নিবেদিত থাকে।

loop
{
    if (serial_bit_ready)
    {
        // shift serial bit into a byte
    }

    if (serial_byte_ready)
    {
        // decode serial data
    }

    if (serial_bit_ready)
    {
        // shift serial bit into a byte
    }

    if (enough_serial_bytes_available)
    {
        // more decoding
    }        

    if (serial_bit_ready)
    {
        // shift serial bit into a byte
    }

    if (usb_queue_not_empty)
    {
        // handle USB data
    }        
}

কিছু ইভেন্ট থাকতে পারে যার জন্য এই পদ্ধতির বিলম্বিতা খুব বেশি। উদাহরণস্বরূপ, আপনার খুব সঠিকভাবে সময়সাপেক্ষ ইভেন্টের প্রয়োজন হতে পারে। কোন ক্ষেত্রে, ইভেন্টটি বাধাপ্রাপ্ত করুন এবং লুপের মধ্যে সমস্ত কিছু রাখুন।


আমি আপনার উত্তরটি অন্য রকেটম্যাগনেট ব্যক্তির উত্তরের চেয়ে বেশি পছন্দ করি। আপনি রকেটম্যাগনেট আরও বেশি হ্যাডওয়ার, দ্রুত হার্ডওয়্যার, আরও কিছুর পরিবর্তে পরামর্শ দিন: কম করুন, আরও ভাল, সরল করুন।

ঠিক আছে, আমি দেখেছি অনেকগুলি ক্ষেত্রে বিঘ্ন ঘটেছিল সমাধানকে আরও উন্নত করে। তারা দুর্দান্ত কাজ করে, ভাল কাঠামোগত কোড, কম বিলম্ব এবং অন্যান্য অনেক সুবিধার জন্য অনুমতি দেয় তবে আমাকে এখানে আপনার সাথে একমত হতে হবে। প্রক্রিয়াটি এতটাই তীব্র বলে মনে হচ্ছে 1 নিয়ামককে সিরিয়াল স্ট্রিম পরিচালনা করার জন্য তার প্রতিটি মনোযোগ উত্সর্গ করতে হবে। ডিজিটাল ফ্রন্ট এন্ডটি আমার কাছে আদর্শ মনে হয় তবে অনেক সময় আপনার কোনও মাইক্রো থাকে এবং কোনও স্কুল প্রকল্প হওয়ার আশেপাশে কোনও এফপিজিএ থাকে না, আমি সম্ভবত প্রথমে আমার জন্য এটি পরিচালনা করার জন্য একটি মাইক্রো উত্সর্গ করতাম এবং এটির জন্য প্রতিস্থাপনের জন্য পরে কোনও এফপিজিএতে ফিট করার চেষ্টা করতাম খরচ।
কর্টুক

এটিই সম্ভবত সমাধানটি আমি অল্প সময়ের মধ্যে যাব। আমি এটি এড়াতে আশা করছিলাম কারণ এটিতে বিদ্যমান সিরিয়াল ড্রাইভারগুলির বেশ কিছুটা পুনর্লিখন জড়িত, তবে এটি একটি মার্জিত সমাধান যা স্বল্প সময়ের মধ্যে আমার দক্ষতার মধ্যে রয়েছে।
কেগান জে

1
@ জায়েকিগান - হ্যাঁ, এটি সম্ভবত সমাধানের দ্রুততম পথ route পরবর্তী প্রকল্পের জন্য পিএসওসি এবং এফপিজিএ হতে পারে।
রকেটম্যাগনেট

6

আপনি ওয়্যারলেস ডেটাস্ট্রিমটি ডিকোড করতে এবং বাফার করতে মাইক্রোকন্ট্রোলারের পরিবর্তে একটি এফপিজিএ সম্ভবত ব্যবহার করতে পারেন। তারপরে এফএমজিএ বাফারগুলি (যেমন একটি এসপিআই ইন্টারফেস ব্যবহার করে) ফ্লাশ করার জন্য আরএম প্রসেসরটি ব্যবহার করুন এবং সামগ্রীটি ইউএসবি কম পোর্টের বাইরে প্রেরণ করুন। এটি কাজ, তবে একটি এফপিজিএ সহজেই এতক্ষণ চালিয়ে যেতে সক্ষম হওয়া উচিত যতক্ষণ না আপনি এটির হার্ডওয়্যার বাফারগুলি অতিক্রম করতে পারে না তার গ্যারান্টি দেওয়ার পক্ষে যথেষ্ট পরিমাণে (বা যদি আপনি প্রোটোকলের একটি উচ্চ স্তরে ফেলে দেওয়া ডেটা নিয়ে কাজ করতে পারেন) )।


এটি দীর্ঘকালীন একটি দুর্দান্ত সমাধান হতে পারে। আমি আশা করছিলাম যে সফ্টওয়্যার সমাধান ছাড়াও আমি প্রচুর ডিজিটাল লজিক / হার্ডওয়্যার সমাধান পেয়েছি কারণ এখন এই বিষয়গুলি সম্পর্কে আমার জানার একটি অজুহাত রয়েছে! দুর্ভাগ্যক্রমে এখনও এফপিজিএ নিয়ে আমার অভিজ্ঞতা নেই।
কেগান জে

6

সহজ: একটি PSoC5 মাইক্রোকন্ট্রোলার ব্যবহার করুন

PSoC

আপনার কাছে একটি মাইক্রোকন্ট্রোলারের ব্যবহারের সমস্ত সহজলভ্যতা রয়েছে, এছাড়াও এতে একটি সিপিএলডি রয়েছে, যাতে আপনি ভেরিলোগে নিজের হার্ডওয়্যার পেরিফেরিয়াল লিখতে পারেন। ভেরিলোগে কেবল আপনার সিরিয়াল ডেটা ডিকোডারটি লিখুন এবং এটি USB পোর্টে প্রবাহিত করতে ডিএমএ ব্যবহার করুন।

এদিকে, শক্তিশালী 32-বিট এআরএম কোর এটির থাম্ব রিক্যুডিশনগুলিকে মটকান।


ওভারভিউ পৃষ্ঠাটি ঘড়ির ফ্রিকোয়েন্সিগুলির তালিকা করে না, যা আমার সন্দেহ বাড়িয়ে তুলেছে। ডেটাশিট 40MHz বলে (আমি 6MHz এ 6mAও নোট করেছি)। ওপি এখন এটি অর্ধেক। "এমসইউকে আরও অনেকগুলি কাজ পরিচালনা করতে হবে", সুতরাং এটি ভাল ধারণা কিনা তা সেগুলির উপর নির্ভর করে।
স্টিভেনভ

তারা 67MHz পর্যন্ত যায়। সুতরাং এটি প্রায়শই ওপি'র বর্তমান প্রসেসরের মতো দ্রুতগতির, বেশিরভাগ কাজ হার্ডওয়্যারেই করা হবে, সিপিইউকে আরও অনেক ফ্রি সময় রেখে।
রকেটম্যাগনেট

1
আমি সমস্ত ডেটাশিট তাকালাম না । প্রথমটি আমি বেছে নিয়েছিলাম 40MHz।
স্টিভেনভে

@ স্টেভেনভ - তাদের বিভিন্ন গতির গ্রেড রয়েছে। পিএন-তে তৃতীয় নম্বরটি স্পিড গ্রেড। (4 = 48MHz, 6 = 67MHz)।
রকেটম্যাগনেট

1
এটিও দীর্ঘকালীন একটি দুর্দান্ত সমাধান, অনেকটা এফপিজিএ ধারণার মতো। আমি কখনও এই ধরণের চিপের কথা শুনিনি তবে এটি আমার বোর্ডের বাকী একটি চিপে অনেক কার্যকারিতা নিয়ে আসে। ভবিষ্যতে এর অর্থ পুরো রিসিভারটি থাম্ব ড্রাইভের আকারের সাথে কিছুটা ফিট করে যা আমার প্রকল্পের নেতৃত্বের দৃষ্টি। আমি পরের সেমিস্টারে ভেরিলোগ শিখব।
কেগান জে

4

আমি মনে করি আপনার কাছে তৈরি করার জন্য ক্লাসিক ইঞ্জিনিয়ারিং পছন্দ রয়েছে: দ্রুত, সস্তা, কাজ: দুটি চয়ন করুন।

@ ভিস্যাটাকুর সমাধান অবশ্যই একটি ভাল, তবে আপনি যদি এটিতে আরও হার্ডওয়ার যুক্ত করতে বা না করতে পারেন (এবং এটিতে একটি দ্রুত প্রসেসর অন্তর্ভুক্ত) তবে আপনাকে একটি পছন্দ করতে হবে। এই ক্রমিক লিঙ্কটি যদি আপনার কাছে সমস্ত বিট সংগ্রহ না করা অবধি আইএসআরে বসে থাকার চেয়ে সবচেয়ে গুরুত্বপূর্ণ হয়। বিট প্রতি 180 টি নির্দেশাবলী আসলে মোটেই খারাপ নয়, তবে সবকিছু করার চেষ্টা করবেন না। আপনি যখন কোনও স্থানান্তর শুরু শনাক্ত করেন, স্থানান্তর সম্পূর্ণ না হওয়া পর্যন্ত স্পিন করুন। ফলাফলটিকে একটি ফিফোতে স্টাফ করুন এবং তারপরে স্বাভাবিক প্রক্রিয়াজাতকরণ পুনরায় শুরু করুন।

আপনি বলবেন না যে প্রতিটি সংক্রমণটি কত দিন দীর্ঘ তবে তারা যদি সংক্ষিপ্ত এবং ফেটে যায় তবে এটি একটি কার্যকর সমাধান হবে। আমি বাজি রাখতে ইচ্ছুক যে আপনার ভার্চুয়াল সিওএম পোর্ট বাস্তবায়নের পাশাপাশি কিছু হার্ডওয়্যার বাফারিং রয়েছে, সুতরাং এটির জন্য "লেগি" বিঘ্নিত পরিষেবা খুব বেশি ঝামেলা না করে। এমসইউয়ের বাকি অংশগুলি যতটা দরকার ... আপনার কিছু ডিজাইনের সিদ্ধান্ত নিতে হবে।


এই সমাধান ধরণের বিঘ্ন ভিত্তিক ড্রাইভার সংখ্যা হ্রাস সঙ্গে রকেটম্যান এর সফ্টওয়্যার পদ্ধতির পরিপূরক। আমি উল্লেখ করেছি যে প্রধান সিরিয়াল ড্রাইভারটি বাধা-ভিত্তিক হিসাবে উল্লেখ করেছি keep আপনার উল্লেখ হিসাবে পুরো ফ্রেমটি না পড়া পর্যন্ত আমি স্পিনিংয়ের চেষ্টা করব।
কেগান জে

3

প্রথমত, আমি এখানে কিছু উত্তর ইতিমধ্যে পছন্দ করি এবং কিছু আমার ভোট পেয়েছে।

তবে কেবল অন্য সম্ভাব্য সমাধানটি ছুঁড়ে ফেলার জন্য: আপনার প্রকল্পের সীমাবদ্ধতাগুলি দেখে, দ্বিতীয় মাইক্রোকন্ট্রোলার যুক্ত করা খারাপ হবে (এতে কি অন্য বোর্ড চালানো জড়িত)? হতে পারে একটি সাধারণ 8-বিট মাইক্রোকন্ট্রোলার যা এসপিআই এর মতো দ্রুত পেরিফেরিয়ালের মাধ্যমে আপনার কর্টেক্স-এম 3 এর সাথে সংযুক্ত থাকে। আপনার পছন্দের 8-বিট কন্ট্রোলার নির্বাচিত উত্তরের মতো বিট এবং ফর্ম বাইটগুলির জন্য পোল করবে, তবে এটির বাইট থাকলে এটি স্থানান্তরিত করার জন্য এটি এসপিআই ডেটা রেজিস্টারে ফেলে দিতে পারে।

কর্টেক্স-এম 3 দিকটি প্রাপ্ত এসপিআই ডেটাতে কেবল বাধা দেয়। এটি আপনার আগের 400 কেজি হার্জ বহিরাগত প্রান্ত-ট্রিগারযুক্ত বিঘ্ন 50 কেজি হার্ট কেটে দেয়।

আমি যে কারণে দুটি পরামর্শ দিচ্ছি তা হ'ল কারণ অন্যান্য কয়েকটি পদ্ধতি (পিএসওসি বা যুক্ত এফপিজিএ) কিছুটা ব্যয়বহুল (যদিও এটি কম ভলিউমের একাডেমিক প্রকল্পের জন্য গুরুত্বপূর্ণ নয়) এবং কারণ এটি আপনাকে কয়েকটি সংরক্ষণের অনুমতি দিতে পারে আপনার বর্তমান কোড গঠন।

এগুলি বাদে, আমি মনে করি পিএসওসি ধারণাটি আপনার নিজস্ব কাস্টম পেরিফেরিয়ালটি ডিএমএর মাধ্যমে ইউএসবিতে স্থানান্তর করে দুর্দান্ত।


এটি পোস্ট করার চারদিকে আমার মনে মনে এই পরিকল্পনাটি ছিল। আমি যদি বাধা (নির্বাচিত উত্তর) এর উপর নির্ভরতা হ্রাস করে সফ্টওয়্যারটি প্রবাহিত করতে না পারি তবে অবশ্যই আমি এটি করব। তবে হ্যাঁ এটির জন্য আরও একটি বোর্ড রান প্রয়োজন হবে, সম্ভবত দুটি কারণ আমি আমার ডিজাইনগুলি প্রথমবারেই স্তন্যপান করি।
কেগান জে

@ জয়কিগান, হাহাহা ক্লাবে স্বাগতম!
জন এল

2

যদি আপনার ডেটা ফর্ম্যাটটি কোনও ইউআরটির মতো হয় তবে একটি অনির্দেশ্য-এখনও-ধারাবাহিক বাউড হারে, আমার প্রবণতা আগত তথ্যগুলির প্রতিটি শব্দকে এসপিআই বা স্ট্যান্ডার্ড-অ্যাসিঙ্ক ফর্ম্যাটে রূপান্তর করতে সিপিএলডি ব্যবহার করা হবে। আমি মনে করি না সিপিএলডি-র রাজ্যে allুকে যাওয়ার কোনও দরকার নেই। আসলে, এমনকি পৃথক যুক্তি প্রায় কার্যক্ষম হতে পারে। যদি আপনি এমন একটি ঘড়ি তৈরি করতে পারেন যা আপনার কাঙ্ক্ষিত ডেটা হারের চেয়ে 5x এর চেয়ে বেশি স্মিডগিন ছিল তবে আপনি কয়েকটি গেটের সাহায্যে ডিভাইড-বাই-ফাইভ এবং ডিভাইড-বাই -16 কাউন্টার ব্যবহার করতে পারেন। ভাগ-কে-পাঁচটি কাউন্টারটি সাজান যাতে এটি পুনরায় সেট হয়ে যায় যখনই ইনপুট নিষ্ক্রিয় থাকে এবং ডিভাইড-বাই -16 কাউন্টার শূন্য থাকে। অন্যথায় একটি এসপিআই ক্লক পালস তৈরি করুন এবং ডিভাইড-বাই-ফাইভ কাউন্টারটি হিট 2 এর সাথে যে কোনও সময় ডিভাইড-বাই -16 কাউন্টারটি ফাটিয়ে ফেলুন।

5x ঘড়ি দেওয়া, একটি 16V8 (বর্তমানে সবচেয়ে সহজ এবং সস্তায় বর্তমানে উপলব্ধ প্রোগ্রামেবল লজিক ডিভাইস) ব্যবহার করে এসপিআই ক্লক তৈরি করতে পারে। 5x ঘড়ি তৈরি করতে একটি দ্বিতীয় 16V8 বা 22V10 একটি ভগ্নাংশ রেট বিভাজক হিসাবে ব্যবহার করা যেতে পারে, বা কেউ কিছুটা বড়-চিপ (সিপিএলডি) ব্যবহার করতে পারে এবং একটিতে সবকিছু করতে পারে।

সম্পাদনা / সংযোজন

আরও কিছু বিবেচনা করার পরে, যদি কেউ সিপিএলডি ব্যবহার করতে চলেছে তবে একজন সহজেই সার্কিটটিতে কয়েকটি অতিরিক্ত বর্ধন যোগ করতে পারেন। উদাহরণস্বরূপ, স্ট্রিট স্টলটি স্টপ বিটের কমপক্ষে 1.5 বিট বার না পাওয়া পর্যন্ত, স্টার্ট বিটের 3.5 বিট বার না হওয়া পর্যন্ত কেউ মোটামুটি সহজেই যুক্তি যুক্ত করতে পারে; যদি এটি খুব স্বল্প প্রারম্ভিক বিট পায় তবে এটি স্টপ বিটের সন্ধানে ফিরে যেতে হবে। এছাড়াও, যদি কেউ এসপিআই ব্যবহার করে থাকে তবে প্রাপ্তি ডিভাইসটি সঠিকভাবে ফ্রেমযুক্ত ডেটা দেখতে পাবে তা নিশ্চিত করতে কেউ / সিএস সংকেত ব্যবহার করতে পারে। এসপিআই ডেটা গ্রহণকারী ডিভাইসটি যদি 10-বিট ফ্রেমগুলি পরিচালনা করতে পারে তবে সরাসরি কোনও এ জাতীয় ফ্রেম প্রেরণ করতে পারে। অন্যথায়, প্রতিটি দশ-বিট ফ্রেমকে 8-বিট ফ্রেম হিসাবে এলএসবি সেট (7 বিটের ডেটা) প্রেরণ করা যেতে পারে, এবং সমস্ত এলএসবির ক্লিয়ার (3 বিটের ডেটা) সহ একটি ফ্রেম পাঠানো যেতে পারে; স্টপ বিটের সময় এসপিআই ঘড়িটি ত্বরান্বিত হবে যাতে সমস্ত ডেটা প্রেরণ করা যায়।

কিছু মাইক্রোকন্ট্রোলারগুলির তুলনায় বহুমুখী পিডাব্লুএম-প্রজন্মের মডিউল রয়েছে যা কোনও বাহ্যিক সংকেতের মাধ্যমে পুনরায় সেট করার ক্ষমতা রাখার মতো জিনিসগুলি অন্তর্ভুক্ত করে এবং এ জাতীয় সংকেত প্রকাশের জন্য তাদের সময়কে সিঙ্ক্রোনাইজ করে। যদি আপনার মাইক্রোকন্ট্রোলার এটি করতে পারেন তবে তার নির্দিষ্ট বৈশিষ্ট্যগুলির উপর নির্ভর করে এটি সিপিএলডি বা সময়-প্রজন্মের সার্কিটিকে যথেষ্ট সহজ করতে পারে।

আরেকটি পদ্ধতির যা রকেটম্যাগনেট কিছুটা স্পর্শ করেছে, তার মধ্যে একটি ছোট মাইক্রো থাকবে যার একমাত্র উদ্দেশ্য সিরিয়াল ডেটা ডিকোড করা এবং এটিকে মূল মাইক্রো দ্বারা ব্যবহারযোগ্য বিন্যাসে রূপান্তর করা। আপনার 400KHz ডেটা হারটি সফ্টওয়্যার ডিকোডিংয়ের জন্য বেশ দ্রুত, তবে পিআইসি এর মতো কিছু যদি এটি একই সাথে অন্য কিছু না করতে পারে তবে এটি পরিচালনা করতে পারে। আপনি কোন ডিভাইসের সাথে পরিচিত তার উপর নির্ভর করে, এটি কোনও সিপিএলডি ব্যবহারের চেয়ে সহজ বা কঠিন হতে পারে।


ডিকোডিংয়ের জন্য ডিজিটাল লজিক ডিজাইন করার সময় এগুলি সমস্ত খুব মূল্যবান হবে। আমি সত্যিই এসপিআই হিসাবে আউটপুট হবে। আপাতত, আমি কেবল একটি স্ট্যান্ডেলোন এমসিইউ (সময় সীমাবদ্ধতা) ব্যবহার করে ডিকোডিং করছি। ধন্যবাদ!
কেগান জে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.