কোনও এআরএম-ভিত্তিক ডিভাইস ডিজাইন করার সময় যা রঙের এলসিডিতে সাধারণ গ্রাফিক্স প্রদর্শন করা উচিত, কোনও নির্দিষ্ট এআরএম বা এলসিডি বিক্রেতার সাথে বেঁধে না রেখে, কীভাবে দ্রুত আপডেটের অনুমতি দেওয়ার জন্য জিনিসগুলি নকশা করা উচিত? আমার বর্তমান প্রকল্পটিতে একটি কালো এবং সাদা প্রদর্শন ব্যবহার করা হয়েছে যা পিআইসির এসপিআই পোর্ট দ্বারা বজ্রপাত দ্রুত চালিত করতে পারে (1/60 সেকেন্ডের মধ্যে একটি জটিল ডিসপ্লে পুনর্নির্মাণ)। দেখে মনে হচ্ছে সাধারণ রঙের এলসিডি ডিসপ্লেগুলিতে একটি এসপিআই বন্দর রয়েছে, তবে এমনকি 160x120 এলসিডি শক্ত রঙের সাথে পূরণ করতে 30 মিমি লাগবে, এবং 320x240 কে 120 মিমি বেস্ট-কেস (10MHz শিফট ক্লক) লাগবে।
যদি কেউ কন্ট্রোলার পিনগুলি ছাড়তে পারে তবে সমান্তরাল মোডটি আরও ভাল হতে পারে তবে আমি প্রতিটি পিক্সেলের জন্য তিনটি পৃথক মেমরি-স্টোর নির্দেশাবলীর প্রয়োজন ছাড়াই সমান্তরাল ইন্টারফেসটি হুক করার কোনও পরিবার-স্বতন্ত্র উপায় সম্পর্কে জানি না (একটি ডেটা সেট করার জন্য, একটি ঘড়ির আউটপুট উচ্চতর সেট করতে এবং একটিতে এটি কম রাখুন)। কিছু এআরএম চিপগুলির মেমোরি-বাস ইন্টারফেস থাকে, তবে এগুলি প্রায়শই মাল্টিপ্লেক্স ঠিকানা এবং ডেটার মতো কাজ করতে চায় বা অপ্রাসঙ্গিক ঠিকানার বিট আউটপুট দেওয়ার জন্য অনেকগুলি পিন কমিট করতে চায় (এলসিডিতে কেবল একটি ঠিকানা বিট লাগবে)।
ILITEK দ্বারা ILI9320 বা রেনেসাসের HD66789 এর দিকে তাকানো, আকর্ষণীয় বলে মনে হচ্ছে এমন একটি পদ্ধতির মধ্যে এসপিআইকে সমান্তরাল ডেটাতে রূপান্তর করতে সিপিএলডি ব্যবহার করা হবে এবং এমন একটি মোড অন্তর্ভুক্ত করা হবে যা প্রতি পিক্সেল প্রতি বিট আউটপুট দেয়। রেনেসাস ডেটা শীটটি দেখে, পিক্সেল ব্যতীত সমস্ত কিছুর জন্য সিরিয়াল মোড ব্যবহার করে, সমান্তরাল-বন্দর ডেটা বিটগুলি ট্র্যাক করে নূন্যতম হার্ডওয়্যার (কোনও সিপিএলডি প্রয়োজন নেই) দিয়ে পিক্সেল-বি-বিট লেখার সম্ভাবনা রয়েছে might লেখেন এবং তুলনা / মুখোশ ফাংশন ব্যবহার করে যাতে অল-জিরো পিক্সেল স্বচ্ছ হয় এবং সর্বজনীন পিক্সেলগুলি জিআরএমে নির্বাচিত বিট সেট করে দেয় বা সমস্ত-পিক্সেলগুলি স্বচ্ছ হবে এবং অল-জিরো পিক্সেল নির্বাচিত বিটগুলি সাফ করবে। IKITEK ডেটা শীটের "বৈশিষ্ট্যগুলি" বিভাগটি প্রস্তাব দেয় যে এটির অনুরূপ কার্যকারিতা রয়েছে তবে নিবন্ধকৃত মানচিত্রগুলি '
কোডটি ধরে নিলে মূলত সলিড-কালার টেক্সট এবং গ্রাফিক্স প্রদর্শিত হবে, আদর্শ পদ্ধতির মাধ্যমে মনে হয় একটি সিপিএলডি ব্যবহার করে এআরএম এর এসপিআই পোর্টটিকে ডিসপ্লেটির সমান্তরাল পোর্টে ইন্টারফেস করতে হবে এবং সিপিএলডিটিকে অগ্রভাগ / পটভূমির রঙের সাহায্যে লোড করার অনুমতি দেওয়া হবে। এটি বিশেষত চমৎকার হবে যদি কারও কাছে "স্বচ্ছ" পিক্সেল লেখার উপায় থাকে। দ্বি-বর্ণের বিটম্যাপ হিসাবে একটি ফন্ট দেওয়া হয়েছে, কেউ সরাসরি এসপিআই বন্দরে ফন্টের ডেটা লোড করতে পারে; এটি প্রতি দুটি এআরএম ঘড়িতে একটি পিক্সেল হারে ফন্টের ডেটা দেখানোর অনুমতি দেবে। অন্যদিকে, এমন একটি ডিসপ্লে-কন্ট্রোল টাস্ক হ্যান্ডেল করার জন্য যথেষ্ট পরিমাণে সিপিএলডি লাগবে প্রায় $ 2 ডলার।
রঙিন এলসিডি সহ একটি এআরএম ইন্টারফেস করার সর্বোত্তম উপায়টি কী, যদি উদ্দেশ্যটি মূলত কঠিন রঙের পাঠ্য বা সাধারণ (উদাহরণস্বরূপ 16-বর্ণ বা 64-রঙ) গ্রাফিক্স দেখানো হয়?
সম্পাদন করা
আমি ক্যারেক্টার-মোড এলসিডি সহ কাস্টম 3: 1 মাল্টিপ্লেক্সড সেগমেন্ট-ভিত্তিক, বিল্ট-ইন কন্ট্রোলার সহ কালো এবং সাদা গ্রাফিক এলসিডি সহ ব্ল্যাক অ্যান্ড হোয়াইট গ্রাফিক এলসিডি সহ অনেকগুলি এলসিডি ডিসপ্লে প্রজেক্ট করেছি character - সাদা এলসিডি যার জন্য আমি নিজের সিপিএলডি ভিত্তিক নিয়ামককে একটি মাইক্রোকন্ট্রোলারের সাধারণ-উদ্দেশ্য ডিএমএ (চার স্তরের গ্রেস্কেল এমনকি প্রদান করে) এর সাথে ইন্টারফেস করার জন্য ডিজাইন করেছি। আমি ডিসপ্লে জিপি করাতে নিজেকে গর্বিত করি। গ্রাফিক নিয়ন্ত্রকদের মধ্যে একটি কুকুরের বিট ছিল যা ধ্রুবক ডেটা লেখার সময়ও পুরো পর্দা রিফ্রেশের জন্য প্রায় 1/10 সেকেন্ডের প্রয়োজন ছিল, তবে আমার বেশিরভাগ প্রদর্শনগুলি 1/50 সেকেন্ডের নীচে এমনকি বেশ জটিল চিত্রও সরবরাহ করতে পারে।
আমি যে প্রকল্পগুলি করি তা অনেকগুলি ব্যাটারি চালিত, সুতরাং বর্তমান ড্র একটি সমস্যা is ডিএমএ ভিত্তিক ডিসপ্লে নিয়ন্ত্রক আমি দুর্দান্তভাবে কাজ করেছি, তবে এটি একটি লাইন চালিত প্রকল্পের জন্য। আমি বিশ্বাস করি একটি গ্রাফিক্স এলসিডি থেকে যুক্তিসঙ্গত বর্তমান অঙ্কন পাওয়ার একমাত্র উপায় হ'ল একটি নিয়ন্ত্রণকারী ব্যবহার করা যা ডিসপ্লে বাফার এবং কলাম ড্রাইভারগুলি একত্রিত করে। প্রতিটি ফ্রেমের চিপসের মধ্যে প্রচুর প্রদর্শন পাঠানো এমনকি একক বিট-প্রতি-পিক্সেল ডিসপ্লেতে প্রচুর শক্তি নষ্ট করে দেয়; প্রতি পিক্সেল ষোল বিট সহ রঙিন ডিসপ্লেতে এটি আরও খারাপ হবে।
আমি কেবল রঙিন এলসিডি ডেটা শীটগুলি অনুসন্ধান করা শুরু করেছি; অনেকগুলি ডিসপ্লেতে ILITEK ILI9320 এর মতোই একটি নিয়ামক ব্যবহার করা হয়েছে বলে মনে হয়, যদিও আমি সাধারণ ডিজাইনের উপর ভিত্তি করে নিয়ন্ত্রণকারীদের জন্য যে সমস্ত ডেটা শীট পেয়েছি সেগুলিকে "প্রাথমিক" হিসাবে চিহ্নিত করা হয়েছে। ILITEK এর মত কেউ কেউ মুখোশ এবং স্বচ্ছতার বৈশিষ্ট্য রয়েছে বলে দাবি করে তবে তাদের জন্য কোনও রেজিস্টার তালিকাভুক্ত করে না; আমি জানি না যে আসল চিপগুলিতে এমন বৈশিষ্ট্য রয়েছে কিনা তবে "প্রাথমিক" ডেটা শিটগুলি সেগুলি অন্তর্ভুক্ত করতে অবহেলিত ছিল, বা তারা বৈশিষ্ট্যগুলি বাদ দিয়েছিল কিনা তবে সেগুলির উল্লেখ করতে ভুলে গিয়েছিল। যদি অনুশীলনে এই জাতীয় সমস্ত চিপের স্বচ্ছতা বৈশিষ্ট্য থাকে তবে তাদের জন্য নকশা করা যুক্তিসঙ্গত বলে মনে হয়; যদি না, না।
আমি প্রত্যাশা করব যে বেশিরভাগ প্রকল্পের জন্য একটি সাধারণ পর্দা নির্বিচারে-আকারের সলিড-কালার ফন্টের সংখ্যক সংখ্যায় স্বেচ্ছায় স্থান দেওয়া পাঠ্য ধারণ করে। হরফ সম্ভবত পিক্সেল বিট প্রতি ডেটা হিসাবে সংরক্ষণ করা হবে। একটি কর্টেক্স-এম 3 ব্যবহার করে, যদি আমি সমান্তরাল ডেটা সহ ডিসপ্লেটি লিখতে চাইতাম, কোডের "অভ্যন্তরীণ লুপ" দুটি পিক্সেল লিখতে সম্ভবত এমন কিছু শেষ হতে পারে:
R0, r0, # 2; কিছুটা সি তে, অন্যটি এনতে পান itcs স্ট্র্যাচসিএস আর 1, [আর 3, # ডেটাআমএস]; ডেটা লিখুন strhcc আর 2, [আর 3, # ডেটাআমএস]; ডেটা লিখুন strb r4, [r3, # CLOCK_SET_OFS]; উচ্চ ঘড়ি সেট করুন আরআরবিআর আর ৪, [আর ৩, # ক্লক_সিএলআরআরএস]; ঘড়ি কম সেট করুন itmi স্ট্রিমি আর 1, [আর 3, # ডেটাআমএস]; ডেটা লিখুন strhpl r2, [r3, # ডেটাআমএস]; ডেটা লিখুন strb r4, [r3, # CLOCK_SET_OFS]; উচ্চ ঘড়ি সেট করুন আরআরবিআর আর ৪, [আর ৩, # ক্লক_সিএলআরআরএস]; ঘড়ি কম সেট করুন
ঠিক বিশ্বের দ্রুততম জিনিস নয়। সেট / স্পষ্ট ঘড়ির নির্দেশগুলিতে লেখাগুলি সরিয়ে ফেলা সহায়তা করবে। আমার অনুমানটি হ'ল উভয় ক্লক রচনাগুলি মুছে ফেলার কোনও দুর্দান্ত আর্কিটেকচার-স্বতন্ত্র উপায় নেই, তবে একটি দুর্দান্ত সাধারণ উপায় থাকতে পারে যা একটিকে মুছে ফেলার অনুমতি দেয় (উদাহরণস্বরূপ অনেকগুলি চিপগুলিতে একটি পাল্টা / পিডাব্লুএম থাকতে পারে যা কোনও আউটপুটকে নাড়তে পারে could সংক্ষেপে একটি একক মেমরি স্টোর অপারেশন প্রতিক্রিয়া)।
এসপিআই পোর্টটি ব্যবহার করে এবং প্রতি পিক্সেল প্রতি বিটকে হার্ডওয়্যার যুক্ত করলে ডিসপ্লে অ্যাক্সেসের গতি বাড়বে। যদি মাস্কিং এবং স্বচ্ছতা ছাড়াই কোনও ডিসপ্লে ব্যবহার করা হয়, তবে সিপিএলডি একটি ঠিকানা কাউন্টার অন্তর্ভুক্ত করতে পারে এবং প্রতিটি পিক্সেলের জন্য পিক্সেল ডেটার একটি শব্দ ঘড়িতে থাকে অথবা অন্যথায় নিম্নলিখিত পিক্সেলের অবস্থানের জন্য একটি সেট-ঠিকানা কমান্ড (যার জন্য এটির জন্য কাউন্টারের প্রয়োজন হবে) )। বিপরীতে, যদি কোনও ডিসপ্লেতে মাস্কিং এবং স্বচ্ছতা থাকে, তবে আমাকে যা করতে হবে তা হ'ল সিপিএলডি এমন একটি মোড সমর্থন করতে হবে যেখানে এটি 16 বিটের মধ্যে আটকে যাওয়ার পরে, প্রতিটি অতিরিক্ত বিট প্রদর্শনের সাথে ডেটার একটি শব্দ ঘড়ির কাঁটাবে এলএসবি এসডিআই পিনটি অনুসরণ করছে (এটি একটি সিপিএলডি ব্যবহারের প্রয়োজন হতে পারে না - কেবল কয়েকটি সাধারণ লজিক চিপস)। আমি লিখতে চাই এমন রঙের স্বচ্ছতার রঙটি সেট করব তবে এলএসবি উল্টিয়ে দিলাম।
আমি এমন একটি সুন্দর নকশা নিয়ে আসতে চাই না যা মুখোশ এবং স্বচ্ছতার উপর নির্ভর করে এবং তারপরে আবিষ্কার করুন যে এই জাতীয় বৈশিষ্ট্যগুলি সহ কেবলমাত্র প্রদর্শনীতে 30-সপ্তাহের সীসা সময় রয়েছে। অন্যদিকে, যদি এই ধরণের প্রদর্শনগুলি অনেক বিক্রেতার কাছ থেকে পাওয়া যায় এবং বহুলভাবে উপলব্ধ থাকে, তবে আমি প্রাপ্যতা সম্পর্কে প্যারানোইয়াকে একটি নিকৃষ্ট নকশা ব্যবহার করতে চালিত করতে চাই না।