এফপিজিএর মাধ্যমে পিআইসি প্রোগ্রামিং


9

আমি জানতে চাই যে কোনও এফপিজিএ কার্ডের মাধ্যমে প্রথমবারের মতো কোনও পিক প্রোগ্রাম করার জন্য (ফ্ল্যাশে লিখুন) কোনও উপায় আছে কিনা I

পিআইসি ইতিমধ্যে এফপিজিএকে সোনারড করেছে এবং আমি এটি সরাতে পারছি না। পিআইসিতে কোনও বুটলোডার বিদ্যমান নেই। সুতরাং আমাকে এটি বুটলোডার সহ ইউএসআর্ট / এসপিআই / আই 2 সি মোডে প্রোগ্রাম করার দরকার যাতে এটি এফপিজিএ থেকে ডেটা পেতে পারে।

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

আমি এমপিএলবি দিয়ে বুটলোডার উত্পন্ন করতে পারি, যা একটি। হেক্স ফাইল, তবে আমি কীভাবে এফপিজিএ এবং তারপরে পিপিকে এফপিজিএ পিনগুলির মাধ্যমে স্থানান্তর করতে পারি?

ব্যবহৃত পিক হ'ল মাইক্রোচিপ PIC12F1822।


2
কেবল যাচাই করা হচ্ছে: আপনি এফপিজিএ পুনরায় প্রোগ্রাম করতে পারবেন (যেমন আপনার কাছে এটি করার জন্য প্রয়োজনীয় সমস্ত সরঞ্জাম রয়েছে)?
pjc50

এই একধরনের উন্নয়ন বোর্ড?
ম্যাট ইয়ং

হ্যাঁ, এফপিজিএ পুনরায় প্রোগ্রাম করার জন্য প্রয়োজনীয় সমস্ত সরঞ্জাম আমার কাছে রয়েছে (এটি স্ট্যান্ডার্ড ইউএসবির মাধ্যমে কম্পিউটারের সাথে সংযুক্ত)।
মাইস্ট

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

2
আপনি কোনও বহিরাগত প্রোগ্রামার এর মাধ্যমে প্রোগ্রাম করার জন্য পিআইসি তে কিছু জাম্পারের তারের ট্রেস বা পিনের সলডার করার কোনও উপায় নেই? এফপিজিএর মাধ্যমে এটি করার চেষ্টা করা স্নাতক থিসিস প্রকল্পের মতো মনে হচ্ছে।
হোর্টা

উত্তর:


10

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

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

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

উচ্চ ভোল্টেজ প্রোগ্রামিং সম্পর্কে যোগ করা হয়েছে

এই ধরণের পিআইসিগুলির প্রোগ্রামিং মোড, উচ্চ ভোল্টেজ (এইচভিপি) এবং লো ভোল্টেজ (এলভিপি) প্রবেশের দুটি উপায় রয়েছে। উচ্চ ভোল্টেজ পদ্ধতিতে এমসিএলআর 8 থেকে 9 ভোল্টের মধ্যে বাড়ানো এবং প্রোগ্রামিংয়ের সময় এটি রাখা প্রয়োজন requires এই পদ্ধতিটি সর্বদা কাজ করে, পিআইসিতে কোনও সম্ভাব্য ডেটা প্রোগ্রাম নির্বিশেষে।

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

কম ভোল্টেজ পদ্ধতিটি কনফিগার বিটগুলির একটিতে অক্ষম করা যায়। যাইহোক, কনফিগার বিটের মুছে ফেলা স্থিতি কম ভোল্টেজ প্রোগ্রামিংয়ের অনুমতি দেয়, এটি ফ্যাক্টরি থেকে সেভাবেই প্রেরণ করা হয়, এবং উচ্চতর ভোল্টেজ পদ্ধতিতে প্রোগ্রামিং প্রবেশ করানো হলে এই কনফিগার বিটটি কেবলমাত্র LVP বর্জন করার জন্য সেট করা যেতে পারে। অতএব, এলভিপি সক্ষম না করার জন্য, নিম্নলিখিত সমস্তটি সত্য হতে হবে:

  1. পিআইসি সর্বশেষে এইচভিপি-সক্ষম প্রোগ্রামার দিয়ে প্রোগ্রাম হয়েছিল এবং এইচভিপি প্রোগ্রামের এন্ট্রি মোড ব্যবহার করা হয়েছিল।

  2. পিআইসিতে প্রোগ্রাম করা এইচএক্স ফাইলটি ইচ্ছাকৃতভাবে কনফিগার শব্দ 2 -তে এলভিপি বিটকে অ-মুছে ফেলা অবস্থায় সেট করে।

যেহেতু LVP নিষ্ক্রিয় করার জন্য একটি ইচ্ছাকৃত ক্রিয়া এবং সঠিক প্রোগ্রামার প্রয়োজন, এটি সম্ভবত এখনও সক্ষম হয়। এটি যদি কোনও অদ্ভুত কারণে ইচ্ছাকৃতভাবে অক্ষম করা হয়, তবে আপনাকে পিআইসিকে প্রোগ্রামিং মোডে কমপক্ষে দীর্ঘ পরিমাণে মুছতে (যা এলভিপিকে পুনরায় সক্ষম করে তোলে) পাওয়ার জন্য এমসিএলআরতে 8-9 ভি সরবরাহ করতে হবে।


3

পিআইসি প্রোগ্রামিংয়ের জন্য উচ্চ ভোল্টেজের প্রয়োজন। হ্যাঁ, একটি পিআইসি "এলভিপি", বা লো-ভোল্টেজ প্রোগ্রামিং মোডে স্যুইচ করা সম্ভব তবে এটি করার জন্য আপনার একটি উচ্চ ভোল্টেজ প্রোগ্রামার প্রয়োজন।

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

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

বেশিরভাগ পিআইসি প্রোগ্রামারগুলিতে ভোল্টেজ নিয়ন্ত্রণ নিয়ন্ত্রণের জন্য পিআইসি অন বোর্ড ব্যবহার করে প্রদত্ত 5V পর্যন্ত 10V পর্যন্ত নিতে একটি ছোট বুস্ট রেগুলেটর (ভোল্টেজ ডাবলার) অন্তর্ভুক্ত থাকে। তারা প্রায়শই পিআইসি থেকে পিডাব্লুএমএম এবং পিআইসিতে একটি এডিসি ইনপুটকে সাধারণ উত্সাহী নিয়ন্ত্রক হিসাবে ব্যবহার করে।

আপনার সর্বজনীনভাবে উপলব্ধ PICkit2 স্কিমেটিকাগুলি একবার দেখে নেওয়া উচিত।


1
না, সম্ভবত উচ্চ হাই ভোল্টেজের প্রয়োজন নেই। 12F1xxx / 16F1xxx সিরিজের সমস্ত সহ আরও বেশিরভাগ নতুন অংশ প্রোগ্রামিং মোডে প্রবেশের জন্য একটি মূল সিকোয়েন্স ব্যবহার করতে পারে। এই ক্রমটির জন্য উচ্চ ভোল্টেজের প্রয়োজন নেই। এটি কনফিগারেশনে অক্ষম করা যেতে পারে, তবে অংশটি মূল পদ্ধতিটি সক্ষম করে ফ্যাক্টরি থেকে আসে। কেউ ইচ্ছাকৃতভাবে কী সিকোয়েন্স প্রোগ্রাম মোড এন্ট্রি অক্ষম না করা সত্ত্বেও এটি উপলব্ধ থাকা উচিত। যদি এটি অক্ষম থাকে, তবে হ্যাঁ, আপনাকে প্রোগ্রামিং মোডে যেতে এমসিএলআর 8-9 ভি পর্যন্ত বাড়িয়ে তুলতে হবে।
অলিন ল্যাথ্রপ

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

সুতরাং এলভিপি মোডে প্রোগ্রাম করার জন্য, আমার কিছু "ডিজিটাল" পিআইসি প্রোগ্রামার (ভিএইচডিএল) আমার এফপিজিএতে প্রয়োগ করতে হবে? আমি সত্যিই এটি করার কোনও উপায় ভাবতে পারি না। আপনি এটি তৈরি করতে আমাকে সাহায্য করতে পারেন?
Myst

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

ঠিক আছে ধন্যবাদ. প্রথমত, আমি পিকটিটি 3 সরাসরি পিকের সাথে প্রোগ্রাম করার চেষ্টা করতে যাচ্ছি। পিকিট সম্পর্কিত (যেটি আমার ফার্মটি কিনে নিয়েছে) সম্পর্কে, আমি এটিকে সরাসরি পিকের পিনের সাথে সংযুক্ত করতে ভয় পাচ্ছি যেহেতু এগুলি রয়েছে এছাড়াও এফপিজিএর সাথে সংযুক্ত। আমি উদ্বিগ্ন যে কিছু ভোল্টেজ বন্ধ এফপিজিএ দিয়ে যেতে পারে এবং কিছু ক্ষতি করতে পারে। এটা কি ন্যায়সঙ্গত উদ্বেগ?
Myst
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.