STMicroelectronics UM3469 X-CUBE-ISO1 সফটওয়্যার সম্প্রসারণ

ভূমিকা
STM32Cube-এর জন্য X-CUBE-ISO1 এক্সপেনশন সফটওয়্যার প্যাকেজটি STM32-এর উপর চলে এবং X-NUCLEO-ISO1A1-এর জন্য ফার্মওয়্যার অন্তর্ভুক্ত করে। সফটওয়্যারটি X-NUCLEO দ্বারা প্রদত্ত একটি মৌলিক PLC ডিভাইসের বিকাশের জন্য একটি সহজে ব্যবহারযোগ্য সমাধান প্রদান করে। বিভিন্ন STM32 মাইক্রোকন্ট্রোলারের মধ্যে বহনযোগ্যতা সহজ করার জন্য STM32Cube সফটওয়্যার প্রযুক্তির উপর এই এক্সপেনশন তৈরি করা হয়েছে।
এই সফটওয়্যারটি X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ডে চলমান একটি বাস্তবায়নের সাথে আসে যা একটি NUCLEO-G071RB ডেভেলপমেন্ট বোর্ডের (অথবা একটি NUCLEO-G0B1RE অথবা একটি NUCLEO-G070RB) সাথে সংযুক্ত। এখন থেকে, নথিতে সরলতার জন্য শুধুমাত্র NUCLEO-G071RB উল্লেখ করা হবে।
X-NUCLEO-ISO1A1 বোর্ডটি ইনপুট এবং আউটপুট ক্ষমতা বাড়ানোর জন্য উপযুক্ত জাম্পার সেটিংস সহ দুটি বোর্ডের স্ট্যাকিং সমর্থন করার জন্য ডিজাইন করা হয়েছে।
আদ্যক্ষরসমূহ এবং শব্দসংক্ষেপসমূহ
সারণী 1. সংক্ষিপ্ত শব্দের তালিকা
| আদ্যক্ষর | বর্ণনা |
| পিএলসি | প্রোগ্রামেবল লজিক কন্ট্রোলার |
| API | অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস |
| PWM | পালস প্রস্থ মড্যুলেশন |
| জিপিআইও | সাধারণ-উদ্দেশ্য ইনপুট/আউটপুট। |
| HAL | হার্ডওয়্যার বিমূর্ততা স্তর |
| PC | ব্যক্তিগত কম্পিউটার |
| FW | ফার্মওয়্যার |
STM32Cube কি?
STM32Cube™ STMicroelectronics উদ্যোগের প্রতিনিধিত্ব করে যা উন্নয়ন প্রচেষ্টা, সময় এবং খরচ কমিয়ে ডেভেলপারদের জীবনকে সহজ করে তোলে। STM32Cube STM32 পোর্টফোলিওকে অন্তর্ভুক্ত করে।
STM32Cube সংস্করণ 1.x-এ অন্তর্ভুক্ত রয়েছে:
- STM32CubeMX, একটি গ্রাফিক্যাল সফ্টওয়্যার কনফিগারেশন টুল যা গ্রাফিক্যাল উইজার্ড ব্যবহার করে C ইনিশিয়ালাইজেশন কোড তৈরি করতে সাহায্য করে।
- প্রতিটি সিরিজের জন্য নির্দিষ্ট একটি বিস্তৃত এমবেডেড সফ্টওয়্যার প্ল্যাটফর্ম (যেমন STM32G0 সিরিজের জন্য STM32CubeG0), যার মধ্যে রয়েছে:
- STM32Cube HAL এমবেডেড অ্যাবস্ট্রাকশন-লেয়ার সফটওয়্যার, STM32 পোর্টফোলিও জুড়ে সর্বাধিক বহনযোগ্যতা নিশ্চিত করে
- RTOS, USB, TCP/IP, এবং গ্রাফিক্সের মতো মিডলওয়্যার উপাদানগুলির একটি সুসংগত সেট
- সমস্ত এমবেডেড সফ্টওয়্যার ইউটিলিটি, এক্স এর সম্পূর্ণ সেট সহampলেস
STM32Cube স্থাপত্য
STM32Cube ফার্মওয়্যার সলিউশনটি তিনটি স্বাধীন স্তরের উপর ভিত্তি করে তৈরি করা হয়েছে যা সহজেই একে অপরের সাথে যোগাযোগ করতে পারে, যেমনটি নীচের চিত্রে বর্ণিত হয়েছে।

STM32Cube এর জন্য X-CUBE-ISO1 সফ্টওয়্যার সম্প্রসারণ
ওভারview
X-NUCLEO-ISO1A1, ইন্ডাস্ট্রিয়াল আইসোলেটেড ইনপুট/আউটপুট এক্সপেনশন বোর্ডের ফার্মওয়্যার, যা STM32 পরিবেশ এবং লাইব্রেরির আশেপাশে তৈরি, STM32 নিউক্লিও বোর্ডের উচ্চ-কার্যক্ষমতাসম্পন্ন MCU ব্যবহার করে ডিজিটাল ইনপুট, ইন্টিগ্রেটেড ডায়াগনস্টিকস সহ আউটপুট এবং গতিশীল বর্তমান সীমা পরিচালনা করে এবং PWM সিগন্যাল জেনারেশন করে। এতে ডিফল্ট এবং বিকল্প অবস্থার জন্য ফ্রেমওয়ার্ক, প্রি-স্কেলার মান নির্ধারণের জন্য ম্যাক্রো এবং GPIO পোর্ট এবং পিনের সংজ্ঞা সহ বিস্তৃত বোর্ড কনফিগারেশন এবং নিয়ন্ত্রণ রয়েছে।
এটি বিভিন্ন s সমর্থন করেampএই অ্যাপ্লিকেশনটিতে ডিজিটাল ইনপুট থেকে আউটপুট মিররিং, নিউক্লিও বোর্ডের মাধ্যমে UART যোগাযোগ, ত্রুটি সনাক্তকরণ, পরীক্ষার কেস এবং PWM জেনারেশনের মতো ব্যবহার করা যেতে পারে যা সরাসরি ব্যবহার করা যেতে পারে এবং সহজেই কাস্টমাইজ এবং প্রসারিত করা যেতে পারে।
এই API ডিজিটাল ইনপুট/আউটপুট নিয়ন্ত্রণ, ত্রুটি সনাক্তকরণ এবং বোর্ডের স্থিতি আপডেটের জন্য একটি শক্তিশালী ফাংশন সেট প্রদান করে, বিভিন্ন মোডে একসাথে দুটি বোর্ড চালানোর জন্য কনফিগারেশন সেটিংস সহ। ডিজিটাল আউটপুট চ্যানেলের জন্য PWM সিগন্যাল শুরু, শুরু, বন্ধ এবং কনফিগার করার জন্য নির্দিষ্ট API ফাংশন উপলব্ধ।
বোর্ড সাপোর্ট প্যাকেজটিতে IPS1025H-32 এর সাথে ইন্টারফেস করা GPIO পিনগুলি নিয়ন্ত্রণ এবং নিরীক্ষণ করার ফাংশন রয়েছে এবং একটি ডিজিটাল আইসোলেটরের মাধ্যমে CLT03-2Q3 এর সাথে ইন্টারফেস করা GPIO পিনের অবস্থা পড়া যায়।
কনফিগারেশন এবং ইনিশিয়ালাইজেশন STM32CubeMX এর উপর ভিত্তি করে তৈরি, যার ডেভেলপমেন্ট এবং ডিবাগিং STM32CubeIDE, IAR সিস্টেম এবং Keil® টুল দ্বারা সমর্থিত।
স্থাপত্য
X-NUCLEO-ISO1A1 এর ফার্মওয়্যারকে কয়েকটি স্বতন্ত্র কার্যকরী ব্লকে ভাগ করা যেতে পারে, প্রতিটি সিস্টেমের ক্রিয়াকলাপের বিভিন্ন দিকের জন্য দায়ী:

- বোর্ড কনফিগারেশন এবং নিয়ন্ত্রণ:
- বোর্ড_কনফিগ.এইচ file ডিফল্ট বা বিকল্প অবস্থায়, অথবা উভয় অবস্থায় চালানোর জন্য বোর্ড কনফিগার করার জন্য ম্যাক্রো রয়েছে। এতে প্রি-স্কেলার মান এবং GPIO পোর্ট এবং পিনের সংজ্ঞাও রয়েছে।
- এই ব্লকটি নিশ্চিত করে যে বোর্ডটি পছন্দসই অপারেটিং অবস্থার জন্য সঠিকভাবে সেট আপ করা হয়েছে এবং সমস্ত প্রয়োজনীয় হার্ডওয়্যার কনফিগারেশন যথাযথভাবে স্থাপন করা হয়েছে।
- অ্যাপ্লিকেশন ব্যবহারের ক্ষেত্রে:
- st_iso_app.h এবং st_iso_app.c fileবোর্ডের বিভিন্ন কার্যকারিতা পরীক্ষা করার জন্য ডিজাইন করা অ্যাপ্লিকেশন ব্যবহারের কেসগুলি রয়েছে।
- এই ব্যবহারের ক্ষেত্রে ডিজিটাল ইনপুট থেকে আউটপুট মিররিং, ফল্ট সনাক্তকরণ পরীক্ষা এবং PWM সিগন্যাল জেনারেশন অন্তর্ভুক্ত।
- Exampদুটি বোর্ড একসাথে বিভিন্ন মোডে চালানোর জন্য লে কনফিগারেশন প্রদান করা হয়েছে, যা ফার্মওয়্যারের বহুমুখীতা এবং নমনীয়তা প্রদর্শন করে।
- API ফাংশন:
- iso1a1.h এবং iso1a1.c fileবিভিন্ন কার্যকারিতা সমর্থন করার জন্য API-এর একটি বিস্তৃত সেট প্রদান করে।
- এই API গুলিতে ডিজিটাল ইনপুট/আউটপুট নিয়ন্ত্রণ, ত্রুটি সনাক্তকরণ এবং বোর্ডের স্থিতি আপডেটের ফাংশন অন্তর্ভুক্ত রয়েছে।
- এপিআইগুলি সহজ এবং স্বজ্ঞাতভাবে ডিজাইন করা হয়েছে, যা ব্যবহারকারীদের বোর্ডের সাথে যোগাযোগ করা এবং প্রয়োজনীয় ক্রিয়াকলাপ সম্পাদন করা সহজ করে তোলে।
- PWM সিগন্যাল নিয়ন্ত্রণ:
- pwm_api.h এবং pwm_api.c files-এ PWM সিগন্যাল জেনারেশন সম্পর্কিত নির্দিষ্ট API ফাংশন থাকে।
- এই ফাংশনগুলি ডিজিটাল আউটপুট চ্যানেলের জন্য PWM সংকেত শুরু, কনফিগার, শুরু এবং বন্ধ করার অনুমতি দেয়।
- PWM কার্যকারিতা ডিফল্ট পছন্দ নয়। এগুলি সক্ষম করার জন্য বোর্ড কনফিগারেশন পরিবর্তন করা হয়েছে। আরও বিস্তারিত জানার জন্য বিভাগ 3.5: API দেখুন।
- বোর্ড সাপোর্ট প্যাকেজ:
- বোর্ড সাপোর্ট প্যাকেজের মধ্যে রয়েছে fileIPS1025H-32 এর সাথে ইন্টারফেস করা GPIO পিনগুলি নিয়ন্ত্রণ এবং পর্যবেক্ষণ করার জন্য এবং CLT03-2Q3 এর সাথে ইন্টারফেস করা GPIO পিনগুলির অবস্থা পড়ার জন্য।
- ips1025h_32.h এবং ips1025h_32.c fileগুলি IPS1025H-32 এর সাথে ইন্টারফেস করা GPIO পিনগুলিতে ত্রুটি সেট, পরিষ্কার এবং সনাক্ত করার জন্য ফাংশন প্রদান করে।
- clt03_2q3.h এবং clt03_2q3.c files CLT03-2Q3 এর সাথে ইন্টারফেস করা GPIO পিনের অবস্থা পড়ার জন্য ফাংশন প্রদান করে।
ডেমোনস্ট্রেশন ফার্মওয়্যারটি সিস্টেমের ক্ষমতা প্রদর্শনের জন্য বেশ কয়েকটি সহজ ব্যবহারের কেস প্রয়োগ করে। এই ব্যবহারের কেস এবং ব্যবহারকারী API গুলি মসৃণ অপারেশন এবং সঠিক ফলাফল নিশ্চিত করার জন্য সমন্বিত পদ্ধতিতে কার্যকর করা হয়। আর্কিটেকচারটি সহজেই সম্প্রসারণযোগ্য করার জন্য ডিজাইন করা হয়েছে, যা ব্যবহারকারীদের নতুন কার্যকারিতা যুক্ত করতে এবং প্রয়োজন অনুসারে কেস ব্যবহার করতে দেয়। ডিজিটাল ইন্ডাস্ট্রিয়াল আইও সহ একটি বোর্ড চালানোর জন্য ডিফল্ট কনফিগারেশন প্রদান করা হয়েছে। টেবিল 2-এ বর্ণিত হিসাবে জাম্পার সেটিংটি ডিফল্ট মোডে থাকা প্রয়োজন। ডিজিটাল ইনপুট ডিজিটাল আউট মিররিং (DIDO) হল ডিফল্ট ফার্মওয়্যার অ্যাপ্লিকেশন ব্যবহারের কেস।
ফোল্ডার গঠন

নিম্নলিখিত ফোল্ডারগুলি সফ্টওয়্যার প্যাকেজে অন্তর্ভুক্ত করা হয়েছে:
- ডকুমেন্টেশনে একটি সংকলিত এইচটিএমএল রয়েছে file সোর্স কোড থেকে তৈরি, সফ্টওয়্যার উপাদান এবং API এর বিস্তারিত।
- ড্রাইভারের মধ্যে রয়েছে:
- STM32G0xx_HAL_Driver সাবফোল্ডারে অবস্থিত একটি STM32Cube HAL ফোল্ডার। এইগুলি fileএখানে s বর্ণনা করা হয়নি কারণ এগুলি X-CUBE-ISO1 সফ্টওয়্যারের সাথে নির্দিষ্ট নয় বরং সরাসরি STM32Cube ফ্রেমওয়ার্ক থেকে এসেছে।
- একটি CMSIS ফোল্ডার যা Cortex® মাইক্রোকন্ট্রোলার সফ্টওয়্যার ইন্টারফেস স্ট্যান্ডার্ড ধারণ করে fileআর্ম থেকে s. এইগুলো files হল Cortex®-M প্রসেসর সিরিজের জন্য বিক্রেতা-স্বাধীন হার্ডওয়্যার বিমূর্তকরণ স্তর। এই ফোল্ডারটি STM32Cube ফ্রেমওয়ার্ক থেকেও অপরিবর্তিত।
- একটি BSP ফোল্ডার যেখানে IPS1025H-32 এবং CLT03-2Q3 উপাদানগুলির কোড এবং X-NUCLEO-ISO1A1 সম্পর্কিত API গুলি রয়েছে।
- অ্যাপ্লিকেশনটিতে ব্যবহারকারী ফোল্ডার রয়েছে যার মধ্যে main.c রয়েছে file, অ্যাপ্লিকেশন ব্যবহারের ক্ষেত্রে file, st_iso_app.c এবং board_config.h file, NUCLEO-G071RB প্ল্যাটফর্মের জন্য সরবরাহ করা হয়েছে।
BSP ফোল্ডার
X-CUBE-ISO1 সফটওয়্যার দুটি ভিন্ন উপাদান ব্যবহার করে files, যা BSP/উপাদানের ভিতরে রয়েছে:
আইপিএস 1025
ips1025h_32.h এবং ips1025h_32.c fileগুলি IPS1025H-32 এর সাথে ইন্টারফেস করা GPIO পিনের জন্য একটি বিস্তৃত ড্রাইভার বাস্তবায়ন প্রদান করে, যার মধ্যে সমস্ত পিন নিয়ন্ত্রণ এবং ত্রুটি সনাক্তকরণের জন্য সম্পূর্ণ কার্যকারিতা অন্তর্ভুক্ত রয়েছে। এই fileডিভাইসটি শুরু করার জন্য, চ্যানেলের স্থিতি সেট এবং সাফ করার জন্য, ত্রুটির অবস্থা সনাক্ত করার জন্য এবং PWM কার্যকারিতা পরিচালনা করার জন্য ফাংশনগুলি বাস্তবায়ন করে। ড্রাইভারটি একাধিক ডিভাইস এবং চ্যানেল সমর্থন করে, পৃথক চ্যানেল বা একটি গোষ্ঠী উভয়ের জন্য সম্পূর্ণ ক্ষমতা সহ।
CLT03
clt03_2q3.h এবং clt03_2q3.c fileCLT03-2Q3 এর সাথে ইন্টারফেস করা GPIO পিনের জন্য একটি পূর্ণ-বৈশিষ্ট্যযুক্ত ড্রাইভার বাস্তবায়ন করে, যার সমস্ত পিন অবস্থা পড়ার সম্পূর্ণ ক্ষমতা রয়েছে। ড্রাইভারটি ডিভাইসটি শুরু করার, পৃথক চ্যানেলের অবস্থা পড়ার এবং একই সাথে সমস্ত চ্যানেলের জন্য স্থিতি তথ্য পাওয়ার জন্য ফাংশন সরবরাহ করে। এটি একাধিক ডিভাইস কনফিগারেশন সমর্থন করে এবং কার্যকর চ্যানেল পরিচালনার জন্য অভ্যন্তরীণ অবস্থা বজায় রাখে।
X-CUBE-ISO1 সফ্টওয়্যার API গুলি দুটি প্রধান উৎসে বিভক্ত files, যা ISO1A1 সাবফোল্ডারের ভিতরে রয়েছে:
ISO1A1 সম্পর্কে
ISO1A1 fileবোর্ড কনফিগারেশন, কম্পোনেন্ট ইন্টারঅ্যাকশন এবং ফল্ট ম্যানেজমেন্টের জন্য ডিজাইন করা API ফাংশনগুলির একটি বিস্তৃত সেট অন্তর্ভুক্ত করে। এই ফাংশনগুলি পঠন এবং লেখার ক্রিয়াকলাপ, ফল্ট সনাক্তকরণ এবং আপডেটগুলিকে সহজতর করে এবং প্রাথমিক API ফাংশনগুলিকে সমর্থন করার জন্য বিভিন্ন সহায়ক ইউটিলিটি অন্তর্ভুক্ত করে। অতিরিক্তভাবে, fileগুলি LED নিয়ন্ত্রণ, GPIO প্রারম্ভিককরণ, বাধা হ্যান্ডলিং এবং UART যোগাযোগের জন্য কার্যকারিতা প্রদান করে।
পিডব্লিউএম এপিআই
PWM API PWM সিগন্যাল শুরু, কনফিগার, শুরু এবং বন্ধ করার জন্য ফাংশন প্রদান করে। এটি নির্দিষ্ট টাইমার পিনের জন্য PWM ফ্রিকোয়েন্সি এবং ডিউটি সাইকেল সেট করার অনুমতি দেয়, PWM ক্রিয়াকলাপের উপর সুনির্দিষ্ট নিয়ন্ত্রণ নিশ্চিত করে।
অ্যাপ্লিকেশন ফোল্ডার
অ্যাপ্লিকেশন ফোল্ডারে প্রধানটি রয়েছে fileফার্মওয়্যারের জন্য প্রয়োজনীয় s, হেডার এবং সোর্স সহ files. নীচে এর বিস্তারিত বর্ণনা দেওয়া হল fileএই ফোল্ডারে s:
- board_config.h: বোর্ডের জন্য কনফিগারেশন ম্যাক্রো।
- main.c: প্রধান প্রোগ্রাম (প্রাক্তনের কোড)ample যা ISO1A1 এর লাইব্রেরির উপর ভিত্তি করে তৈরি)।
- st_iso_app.c: বোর্ড টেস্টিং এবং কনফিগারেশনের জন্য অ্যাপ্লিকেশন ফাংশন।
- stm32g0xx_hal_msp.c: HAL আরম্ভের রুটিন।
- stm32g0xx_it.c: ইন্টারাপ্ট হ্যান্ডলার।
- syscalls.c: সিস্টেম কল বাস্তবায়ন।
- sysmem.c: সিস্টেম মেমোরি ব্যবস্থাপনা।
- system_stm32g0xx.c: সিস্টেম আরম্ভকরণ।
সফ্টওয়্যার প্রয়োজনীয় সম্পদ
নিউক্লিও ডিভাইসটি GPIO-এর মাধ্যমে X-NUCLEO-ISO1A1 বোর্ড নিয়ন্ত্রণ এবং যোগাযোগ করে। X-NUCLEO-ISO1A1 বোর্ডে থাকা শিল্প IO ডিভাইসগুলির ইনপুট, আউটপুট এবং ত্রুটি সনাক্তকরণের জন্য এর জন্য বেশ কয়েকটি GPIO ব্যবহার করা প্রয়োজন। আরও বিশদ এবং জাম্পার কনফিগারেশনের জন্য হার্ডওয়্যার ব্যবহারকারী ম্যানুয়াল UM3483 দেখুন।
বোর্ড কনফিগারেশন (board_config.h)
বোর্ড_কনফিগ.এইচ file বোর্ড কনফিগারেশন অনুসারে সফ্টওয়্যার কনফিগার করার জন্য ব্যবহৃত রিসোর্স এবং কনফিগারেশনাল ম্যাক্রোগুলি সংজ্ঞায়িত করে। এটি দুটি বোর্ড পর্যন্ত পরিচালনা করে (যেমন দুটি বোর্ডের স্ট্যাকিং)।
সফটওয়্যার ডিফল্ট কনফিগারেশনটি X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ডের সাথে সংযুক্ত এবং এর জাম্পারগুলি ডিফল্ট অবস্থানে থাকে। X-NUCLEO-ISO1A1 এর জন্য সফটওয়্যারটি ডিফল্ট সেটিংসে কনফিগার করতে, board_config.h এ BOARD_ID_DEFAULT ম্যাক্রোটি আনকমেন্ট করুন। file.
board_config.h-এ BOARD_ID_ALTERNATE ম্যাক্রো আনকমেন্ট করে সফ্টওয়্যার ALTERNATE কনফিগারেশন সেট করা হয়। file এবং বোর্ডে জাম্পারের অবস্থান পরিবর্তন করা।
স্ট্যাক-আপ কনফিগারেশনে একসাথে দুটি বোর্ড ব্যবহার করতে, BOARD_ID_DEFAULT এবং BOARD_ID_ALTERNATE ম্যাক্রো উভয়কেই আনকমেন্ট করুন এবং নিশ্চিত করুন যে একটি বোর্ডের জাম্পার ডিফল্ট অবস্থানে এবং অন্যটি বিকল্প অবস্থানে রয়েছে। মনে রাখবেন যে উভয় বোর্ড একই কনফিগারেশনে (উভয় ডিফল্ট অবস্থায় অথবা উভয়ই বিকল্প অবস্থায়) রাখা বাঞ্ছনীয় নয় এবং এর ফলে অবাঞ্ছিত আচরণ হতে পারে।
শুধুমাত্র একটি বোর্ড চালানোর সময়, নিশ্চিত করুন যে সফ্টওয়্যারটি শুধুমাত্র একটি কনফিগারেশনের জন্য কনফিগার করা আছে এবং অন্য কনফিগারেশনের সাথে সম্পর্কিত ম্যাক্রোটি মন্তব্য করা আছে।

প্রি-স্কেলার
আমরা board_config.h-এ প্রি-স্কেলার মানগুলি কনফিগার করতে পারি যাতে PWM আউটপুটের জন্য বিভিন্ন ফ্রিকোয়েন্সি রেঞ্জ উপযুক্ত ম্যাক্রো সেট করে অর্জন করা যায়। প্রি-স্কেলার মান ব্যবহার করতে, সংশ্লিষ্ট ম্যাক্রো আনকমেন্ট করুন এবং অন্যগুলিতে মন্তব্য করুন। ডিফল্টরূপে, DEFAULT_PRESCALAR ব্যবহার করা হয়।
- প্রেসকেলার_১
- প্রেসকেলার_১
- ডিফল্ট_প্রেসকেলার
প্রি-স্কেলার মানগুলি শুধুমাত্র টাইমার ব্যবহার করার সময় ব্যবহার করা হয়, এবং কোনও মৌলিক I/O অপারেশনের জন্য এটি প্রয়োজন হয় না। প্রি-স্কেলার ম্যাক্রোগুলির মান এবং তাদের সংশ্লিষ্ট ফ্রিকোয়েন্সি রেঞ্জগুলি কোড ডকুমেন্টেশনে বা কোডেই দেখা যেতে পারে।
হার্টবিট এলইডি
NUCLEO-G071RB বোর্ডের সাথে সঠিক সংযোগের পরীক্ষা হিসেবে আমরা সবুজ ব্যবহারকারী LED, D7 কে হার্টবিট ফ্যাশনে ব্লিঙ্ক করার জন্য কনফিগার করতে পারি। মন্তব্য না করা হলে HEARTBEAT_LED ম্যাক্রো, NUCLEO-এর সাথে সংযুক্ত থাকাকালীন X-NUCLEO-ISO1A1-এর সবুজ LED ব্লিঙ্ক করে। এটি 1 সেকেন্ডের জন্য চালু থাকে এবং 2 সেকেন্ডের জন্য বন্ধ থাকে, টাইমার দ্বারা সময় নির্ধারণ করা হয়। যখন এটি ব্যবহার করা হয় না বা LED সংক্রান্ত কোনও ফাংশন কল করা হয় না, তখন ম্যাক্রোটি মন্তব্য না করা উচিত।
ইনপুট এবং আউটপুট GPIO কনফিগারেশন
প্রতিটি X-NUCLEO-ISO1A1 বোর্ড দুটি ইনপুট পোর্ট এবং দুটি আউটপুট পোর্ট দিয়ে সজ্জিত। দুটি X-NUCLEO-ISO1A1 বোর্ড একে অপরের উপরে স্ট্যাক করে বোর্ডের ক্ষমতা বৃদ্ধি করা যেতে পারে, যার ফলে চারটি ডিজিটাল ইনপুট পোর্ট এবং চারটি ডিজিটাল আউটপুট পোর্ট ব্যবহার করা সম্ভব। প্রদত্ত সফ্টওয়্যারটিতে বিস্তৃত API রয়েছে যা পোর্টগুলি পড়া, সেট করা এবং পরিষ্কার করার সুবিধা প্রদান করে। অতিরিক্তভাবে, APIগুলি সমস্ত পোর্টের একযোগে সেটিং, পড়া বা পরিষ্কার করার অনুমতি দেয়। API ফাংশন সম্পর্কে বিস্তারিত তথ্য কোড ডকুমেন্টেশনের পাশাপাশি এই নথির API বিভাগে পাওয়া যায়।

এখানে DI উপসর্গটি ডিজিটাল ইনপুট পোর্ট নির্দেশ করে এবং DO ডিজিটাল আউটপুট পোর্ট নির্দেশ করে। বিকল্প কনফিগারেশনের জন্য, সফ্টওয়্যারটি _alt প্রত্যয় সংযুক্ত করে একই নামকরণের নিয়ম ব্যবহার করে।
নিম্নলিখিত টেবিলে বিভিন্ন IO পোর্টের সাথে সম্পর্কিত সফ্টওয়্যারে সংজ্ঞায়িত GPIO ম্যাক্রোগুলির বিবরণ দেওয়া হয়েছে:
সারণি ২। ডিফল্ট এবং বিকল্প সফ্টওয়্যার কনফিগারেশনের জন্য বরাদ্দকৃত GPIO গুলি
| নাম | ফাংশন | ডিফল্ট কনফিগারেশন | বিকল্প কনফিগারেশন |
| ইনপুট পিন | ইনপুট পিন ১ | জিপিআইওসি, IA0_IN_1_PIN | জিপিআইওডি, IA0_IN_1_পিন |
| ইনপুট পিন ১ | জিপিআইওডি, IA1_IN_2_পিন | জিপিআইওসি, IA1_IN_1_PIN | |
| আউটপুট পিন | আউটপুট পিন ১ | জিপিআইওসি, QA0_CNTRL_1_PIN | জিপিআইওডি, QA0_CNTRL_1_PIN |
| আউটপুট পিন ১ | জিপিআইওসি, QA1_CNTRL_2_PIN | জিপিআইওসি, QA1_CNTRL_2_PIN | |
| ত্রুটিপূর্ণ পিন | ফল্ট পিন ১ | জিপিআইওসি, FLT1_QA0_2_OT_PIN | জিপিআইওডি, FLT1_QA0_1_OT_PIN |
| ফল্ট পিন ১ | জিপিআইওসি, FLT2_QA0_2_OL_PIN | জিপিআইওডি, FLT2_QA0_1_OL_PIN | |
| ফল্ট পিন ১ | জিপিআইওসি, FLT1_QA1_2_OT_PIN | জিপিআইওসি, FLT1_QA1_1_OT_PIN | |
| ফল্ট পিন ১ | জিপিআইওসি, FLT2_QA1_1_OL_PIN | জিপিআইওডি, FLT2_QA1_2_OL_PIN | |
| কনফিগারেশন ম্যাক্রো | বোর্ড_আইডি_ডিফল্ট | বোর্ড_আইডি_অল্টারনেট |
টাইমার এবং PWM
নির্দিষ্ট পিনের জন্য PWM সিগন্যাল তৈরি করতে X-CUBE-ISO1 ফার্মওয়্যারে টাইমার ব্যবহার করা যেতে পারে। ডিফল্টরূপে, TIM3 ছাড়া টাইমারগুলি আরম্ভ করা হয় না। PWM সিগন্যাল তৈরি করার আগে সংশ্লিষ্ট টাইমারগুলি আরম্ভ করা উচিত এবং সংশ্লিষ্ট আউটপুট পোর্টগুলি PWM মোডে আরম্ভ করা উচিত।
সাধারণ GPIO ইনপুট/আউটপুট অপারেশনের জন্য, কোনও টাইমার বা আউটপুট পোর্ট কনফিগার করার প্রয়োজন নেই, কারণ এটি ডিফল্টভাবে যত্ন নেওয়া হয়। তবে, যদি একবার আউটপুট পিনগুলি PWM মোডে সেট করা হয়, তাহলে GPIO পিন হিসাবে ব্যবহার করার জন্য আমাদের GPIO মোডে পুনরায় কনফিগার করতে হবে।
দ্রষ্টব্য: যখন PWM জেনারেশনের জন্য আউটপুট পিন ব্যবহার করা হচ্ছে, তখন GPIO আউটপুট নিষ্ক্রিয় থাকে, উভয় কার্যকারিতা একসাথে প্রয়োগ করা যায় না। PWM ব্যবহারের পরে GPIO পুনরায় সক্ষম করতে, API ফাংশন ST_ISO_BoardConfigureDefault() অথবা ST_ISO_InitGPIO() কল করে সমস্ত পোর্ট একসাথে GPIO হিসেবে কনফিগার করা যেতে পারে অথবা একটি নির্দিষ্ট GPIO পোর্ট এবং পিন দিয়ে ST_ISO_Init_GPIO() কল করা যেতে পারে।
উপরে উল্লিখিত হিসাবে, সফ্টওয়্যারটি ডিফল্টরূপে একটি টাইমার, TIM3 ব্যবহার করে, যা ব্যবহারকারীর LED টাইমিং, ঘড়ি এবং UART টাইমিং বাস্তবায়নের জন্য ব্যবহৃত হয়। এটি ডিফল্টরূপে 1 সেকেন্ডের জন্য কনফিগার করা হয়।
নিম্নলিখিত টেবিলে আমাদের কোডের প্রতিটি পিনের জন্য উপলব্ধ টাইমারগুলির বিবরণ দেওয়া হয়েছে:
টেবিল ৩। প্রতিটি পিনের জন্য টাইমার উপলব্ধ
| পিন নাম | সফ্টওয়্যার উপস্থাপনা | টাইমার | টাইমার চ্যানেল | বিকল্প ফাংশন |
| QA0_CNTRL_1_PIN সম্পর্কে | QA_0 সম্পর্কে | টিআইএম৩ | টিআইএম_চ্যানেল_৪ | জিপিআইও_এএফ২_টিআইএম২ |
| QA1_CNTRL_2_PIN সম্পর্কে | QA_1 সম্পর্কে | টিআইএম৩ | টিআইএম_চ্যানেল_৪ | জিপিআইও_এএফ২_টিআইএম২ |
| QA0_CNTRL_2_PIN সম্পর্কে | QA_0_ALT সম্পর্কে | টিআইএম৩ | টিআইএম_চ্যানেল_৪ | জিপিআইও_এএফ২_টিআইএম২ |
| QA1_CNTRL_1_PIN সম্পর্কে | QA_1_ALT সম্পর্কে | টিআইএম৩ | টিআইএম_চ্যানেল_৪ | জিপিআইও_এএফ২_টিআইএম২ |
ফার্মওয়্যারের অতিরিক্ত ইউটিলিটি
X-NUCLEO-ISO1A1 মূল্যায়ন বোর্ডের কার্যকারিতা উন্নত করার জন্য ফার্মওয়্যারটিতে অতিরিক্ত ইউটিলিটি রয়েছে। যার কয়েকটি নীচে বর্ণনা করা হল।
UART
UART যোগাযোগ বৈশিষ্ট্যটি TeraTerm, PuTTY এবং অন্যান্য অনুরূপ অ্যাপ্লিকেশনের মতো পিসি ইউটিলিটিগুলির মাধ্যমে বোর্ডের স্থিতির রিয়েল-টাইম পর্যবেক্ষণ এবং ডিবাগিং করার অনুমতি দেয়। সফ্টওয়্যারটি NUCLEO-G071RB বোর্ডে উপস্থিত UART এর মাধ্যমে UART ডেটা ট্রান্সমিশন সক্ষম করে। `ST_ISO_UART` ফাংশনটি UART-এর মাধ্যমে সিস্টেম আপটাইম, ফার্মওয়্যার কনফিগারেশন এবং ফল্ট স্ট্যাটাস সহ বিস্তারিত বোর্ড স্ট্যাটাস তথ্য পাঠায়। এই ডেটা ব্যবহার করা যেতে পারে viewTeraTerm এর মতো যেকোনো সিরিয়াল পোর্ট অ্যাপ্লিকেশন ব্যবহার করে সমর্থিত। `ST_ISO_APP_DIDOandUART` ফাংশনটি ডিজিটাল ইনপুট/আউটপুট ক্রিয়াকলাপগুলিকে UART যোগাযোগের সাথে একত্রিত করে, নির্দিষ্ট বিরতিতে সমস্ত ইনপুট এবং আউটপুট চ্যানেলের অবস্থা প্রেরণ করে। নীচে কনফিগারেশন সেটিংস এবংampTeraTerm-এ ডেটা কীভাবে প্রদর্শিত হবে তার একটি তালিকা। ব্যবহৃত সিস্টেম এবং সিরিয়াল পোর্টের উপর ভিত্তি করে পোর্টের নাম পরিবর্তিত হতে পারে।


IO পিন মোড কনফিগারেশন
IO পিন মোড কনফিগারেশন ইউটিলিটি ব্যবহারকারীদের ST_ISO_BoardConfigure() ফাংশন ব্যবহার করে বোর্ডের ইনপুট এবং আউটপুট পোর্ট সেট করতে দেয়। এই ফাংশনটি দুটি আউটপুট পোর্ট (QA0, QA1) এবং দুটি ইনপুট পোর্ট (IA0, IA1) কে ইনপুট/আউটপুট মোড, PWM আউটপুট মোড, অথবা ইন্টারাপ্ট ইনপুট মোডে কনফিগার করতে সহায়তা করে। প্যারামিটারগুলি সামঞ্জস্য করে এবং এই ফাংশনটি কল করে, ব্যবহারকারীরা নির্দিষ্ট চাহিদা পূরণের জন্য সহজেই বোর্ডের IO কনফিগারেশন কাস্টমাইজ করতে পারেন।
ইনপুট/আউটপুট মোডে, ইউটিলিটি সাধারণ-উদ্দেশ্য ডিজিটাল ক্রিয়াকলাপের জন্য GPIO পিনগুলি শুরু করে। PWM আউটপুট মোডে, এটি সুনির্দিষ্ট PWM সিগন্যাল নিয়ন্ত্রণের জন্য টাইমার সেট আপ করে। ইন্টারাপ্ট ইনপুট মোডে থাকাকালীন, ইউটিলিটি ইন্টারাপ্টগুলি পরিচালনা করার জন্য পিনগুলিকে কনফিগার করে, যা প্রতিক্রিয়াশীল ইভেন্ট-চালিত প্রোগ্রামিংয়ের অনুমতি দেয়।
ইন্টারাপ্ট হ্যান্ডলিং
FAULT সিগন্যাল পরিচালনার জন্য, সফ্টওয়্যারটি সংশ্লিষ্ট ইন্টারাপ্ট লাইনগুলিকে সক্ষম করে, যা প্রতিক্রিয়াশীল ইভেন্ট-চালিত প্রোগ্রামিংকে অনুমতি দেয়। একটি কাস্টমাইজড হ্যান্ডলার এই ইন্টারাপ্টগুলির সাথে যুক্ত করা যেতে পারে এর মাধ্যমে
API-তে সংজ্ঞায়িত HAL_GPIO_EXTI_Rising_Callback ফাংশন। সফ্টওয়্যারটিতে ST_ISO_BoardConfigure ফাংশনের মাধ্যমে ইন্টারাপ্ট মোডে GPIO পিন শুরু করার এবং EXTI IRQ হ্যান্ডলারগুলিতে নির্দিষ্ট ক্রিয়াগুলি কনফিগার করার বৈশিষ্ট্য রয়েছে। এটি ব্যবহারকারীদের বহিরাগত ইভেন্টগুলিতে বোর্ড কীভাবে প্রতিক্রিয়া জানায় তা কাস্টমাইজ করার অনুমতি দেয়, নিশ্চিত করে যে এটি বিভিন্ন ফল্ট অবস্থা এবং ট্রিগারগুলি কার্যকরভাবে পরিচালনা করতে পারে।
এপিআই
X-CUBE-ISO1 সফ্টওয়্যার API X-NUCLEO-ISO1A1 বোর্ড নিয়ন্ত্রণ এবং নিরীক্ষণের জন্য একটি বিস্তৃত ফাংশন সরবরাহ করে, যার মধ্যে PWM সিগন্যাল জেনারেশন এবং GPIO অপারেশন অন্তর্ভুক্ত। APIটি ব্যবহার করা সহজ এবং বিভিন্ন অ্যাপ্লিকেশনে সংহত করার জন্য ডিজাইন করা হয়েছে, যা বোর্ডের কার্যকারিতার উপর নমনীয়তা এবং নিয়ন্ত্রণ প্রদান করে।
X-CUBE-ISO1 সফটওয়্যার API BSP/ISO1A1 ফোল্ডারে সংজ্ঞায়িত করা হয়েছে। এর ফাংশনগুলি ST_ISO দ্বারা প্রিফিক্স করা হয়েছে। APIটি iso1a1.c এবং pwm_api.c এর মাধ্যমে অ্যাপ্লিকেশনগুলিতে দৃশ্যমান। files হলো ধ্রুবক, ডেটা স্ট্রাকচার এবং ফাংশনের সংমিশ্রণ।
Sampফার্মওয়্যার অ্যাপ্লিকেশনগুলি এই ফাংশনগুলির কিছু সম্ভাব্য ব্যবহার দেখানোর জন্য এই API গুলি ব্যবহার করে।
X-CUBE-ISO1 সফ্টওয়্যার প্যাকেজ দুটি সেট API প্রদান করে:
- ISO1A1 API
- পিডব্লিউএম এপিআই
ISO1A1 API
ISO1A1 API iso1a1.h এবং iso1a1.c-তে সংজ্ঞায়িত করা হয়েছে files. এটি ISO1A1 বোর্ড কনফিগার এবং নিয়ন্ত্রণ করার জন্য ফাংশন প্রদান করে, যার মধ্যে রয়েছে GPIO ইনপুট/আউটপুট অপারেশন এবং ত্রুটি সনাক্তকরণ।
মূল ফাংশন
- ST_ISO_BoardConfigureDefault: ডিফল্ট GPIO কনফিগারেশন সহ বোর্ডের IO পোর্টগুলি কনফিগার করে।
- ST_ISO_BoardConfigure: বোর্ডের জন্য ইনপুট এবং আউটপুট পোর্টের মোড কনফিগার করে।
- ST_ISO_BoardInit: বোর্ড হার্ডওয়্যার আরম্ভ করে।
- ST_ISO_BoardMapInit: চ্যানেল হ্যান্ডেল কনফিগারেশনের উপর ভিত্তি করে বোর্ড কার্যকারিতা শুরু করে।
- ST_ISO_GetFWVersion: বর্তমান ফার্মওয়্যার সংস্করণটি ফেরত পাঠায়।
- ST_ISO_GetChannelHandle: একটি নির্দিষ্ট চ্যানেল নামের জন্য চ্যানেল হ্যান্ডেলটি পুনরুদ্ধার করে।
- ST_ISO_InitGPIO: প্রদত্ত মডিউল আইডি দিয়ে নির্দিষ্ট GPIO পিনটি আরম্ভ করে।
- ST_ISO_InitInterrupt: প্রদত্ত মডিউল আইডি দিয়ে নির্দিষ্ট GPIO পিনটিকে একটি ইন্টারাপ্ট হিসেবে আরম্ভ করে।
- ST_ISO_EnableFaultInterrupt: ইন্টারাপ্ট মোডে ফল্ট GPIO পিনগুলি আরম্ভ করে।
- ST_ISO_SetChannelStatus: একটি নির্দিষ্ট চ্যানেলের অবস্থা সেট করে।
- ST_ISO_SetOne_DO: একটি একক ডিজিটাল আউটপুট চ্যানেল সেট করে।
- ST_ISO_ClearOne_DO: একটি একক ডিজিটাল আউটপুট চ্যানেল সাফ করে।
- ST_ISO_WriteAllChannels: সকল ডিজিটাল আউটপুট চ্যানেলে ডেটা লেখে।
- ST_ISO_GetOne_DI: একটি একক ডিজিটাল ইনপুট চ্যানেলের অবস্থা পায়।
- ST_ISO_ReadAllChannel: সমস্ত ইনপুট চ্যানেলের অবস্থা পড়ে।
- ST_ISO_ReadAllOutputChannel: সকল আউটপুট চ্যানেলের অবস্থা পড়ে।
- ST_ISO_ReadFaultStatus: সমস্ত ফল্ট সনাক্তকরণ পোর্ট থেকে ফল্ট স্ট্যাটাস পড়ে।
- ST_ISO_ReadFaultStatusPolling: পোলিং মোডে বোর্ডগুলির ত্রুটি সনাক্তকরণ পরীক্ষা করে।
- ST_ISO_DisableOutputChannel: সেই চ্যানেলের আউটপুট অক্ষম করে।
- ST_ISO_UpdateBoardStatusInfo: বোর্ডের স্থিতির তথ্য আপডেট করে।
- ST_ISO_UpdateFaultStatus: একটি নির্দিষ্ট চ্যানেলের জন্য ফল্ট স্ট্যাটাস আপডেট করে।
- ST_ISO_BlinkLed: নির্দিষ্ট বিলম্ব এবং পুনরাবৃত্তি গণনা সহ নির্দিষ্ট LED ব্লিঙ্ক করে।
- ST_ISO_UART: UART এর মাধ্যমে বোর্ডের স্থিতির তথ্য পাঠায়।
- ST_ISO_SwitchInit: সুইচ উপাদানগুলি আরম্ভ করে।
- ST_ISO_SwitchDeInit: সুইচ ইনস্ট্যান্সটি ডি-ইনিশিয়ালাইজ করে।
- ST_ISO_DigitalInputInit: ডিজিটাল ইনপুট উপাদানগুলি আরম্ভ করে।
- ST_ISO_DigitalInputDeInit: ডিজিটাল ইনপুট ইনস্ট্যান্স ডি-ইনিশিয়ালাইজ করে।
পিডব্লিউএম এপিআই
PWM API pwm_api.h এবং pwm_api.c-তে সংজ্ঞায়িত করা হয়েছে files. এটি নির্দিষ্ট পিনের জন্য PWM সিগন্যাল শুরু এবং নিয়ন্ত্রণ করার জন্য নিম্নলিখিত ফাংশনগুলি প্রদান করে।
- ST_ISO_Init_PWM_Signal: PWM সিগন্যালের জন্য টাইমার এবং নির্দিষ্ট পিন চালু করে।
- ST_ISO_Set_PWM_Frequency: নির্দিষ্ট পিনের জন্য PWM ফ্রিকোয়েন্সি সেট করে।
- ST_ISO_Set_PWM_Duty_Cycle: নির্দিষ্ট পিনের জন্য PWM ডিউটি সাইকেল সেট করে।
- ST_ISO_Start_PWM_Signal: নির্দিষ্ট পিনে PWM সিগন্যাল শুরু করে।
- ST_ISO_Stop_PWM_Signal: নির্দিষ্ট পিনে PWM সিগন্যাল বন্ধ করে।
একটি সংশ্লিষ্ট চ্যানেলে একটি PWM সিগন্যাল শুরু করতে, প্রথমে ST_ISO_Init_PWM_Signal ফাংশনটি কল করুন, তারপর ST_ISO_Set_PWM_Frequency কল করে পছন্দসই ফ্রিকোয়েন্সি এবং শুল্ক চক্র সেট করুন এবং
ST_ISO_Set_PWM_Duty_Cycle ফাংশন যথাক্রমে এবং তারপর আপনি ST_ISO_Start_PWM_Signal ফাংশনটি কল করে PWM সিগন্যাল শুরু করতে পারেন এবং ST_ISO_Stop_PWM_Signal কল করে বন্ধ করতে পারেন।
ফাংশনটি সংশ্লিষ্ট পিন নাম এবং উপলব্ধ টাইমার দিয়ে কল করতে হবে, যার বিশদ বিবরণ টেবিল 3 এ দেওয়া হয়েছে। বিভিন্ন ফ্রিকোয়েন্সি এবং ডিউটি সাইকেল সহ বিভিন্ন আউটপুট চ্যানেল সেট আপ করা যেতে পারে; ফ্রিকোয়েন্সি বা ডিউটি সাইকেল পরিবর্তন করলে অন্যটির উপর কোন প্রভাব পড়ে না, এটি একই থাকে।
ব্যবহারকারীর কাছে উপলব্ধ API সম্পর্কে বিস্তারিত প্রযুক্তিগত তথ্য একটি সংকলিত HTML এ পাওয়া যাবে file সফ্টওয়্যার প্যাকেজের "ডকুমেন্টেশন" ফোল্ডারের ভিতরে অবস্থিত যেখানে সমস্ত ফাংশন এবং পরামিতিগুলি সম্পূর্ণরূপে বর্ণনা করা হয়েছে।
আবেদনের বিবরণ
ডেমোনস্ট্রেশন অ্যাপ্লিকেশনটি বেশ কয়েকটি সহজ ব্যবহারের ক্ষেত্রে প্রয়োগ করে। st_iso_app এবং board_config fileবোর্ড এবং এর অ্যাপ্লিকেশন ফাংশন সেট আপ এবং ব্যবহারে স্টাফগুলি গুরুত্বপূর্ণ ভূমিকা পালন করে। এই ফাংশনগুলি ব্যবহার করার আগে নিশ্চিত করুন যে বোর্ড এবং সফ্টওয়্যারের কনফিগারেশন একে অপরের সাথে সুসংগত।
অ্যাপ্লিকেশন ফাংশন (st_iso_app.h এবং st_iso_app.c)
অ্যাপ্লিকেশন ফাংশনগুলির প্রিফিক্স ST_ISO_APP দ্বারা যুক্ত করা হয়; এগুলি হল ব্যবহারকারীর কাছে দৃশ্যমান শীর্ষ-স্তরের ফাংশন যা তাদের বাস্তবায়নের জন্য API ফাংশনগুলিকে কল করে। অ্যাপ্লিকেশন ফাংশনগুলিকে main.c-তে কল করা যেতে পারে। file তাদের কার্যকারিতার জন্য।
- Use Case Selection: ব্যবহারকারী st_iso_app.c-তে পছন্দসই Use Case ম্যাক্রো আনকমেন্ট করতে পারবেন। file। main.c তে ST_ISO_APP_SelectUseCaseMacro() ফাংশনটি, যাকে বলা হয়, সেই ব্যবহারের ক্ষেত্রে ইনিশিয়ালাইজ করে এবং ST_ISO_APP_SelectedFunction() ফাংশনটি main.c তে এটি বাস্তবায়ন করে। এই পদ্ধতিটি কেবলমাত্র ম্যাক্রো সংজ্ঞাগুলি পরিবর্তন করে অপারেশনাল মোডের সহজ কনফিগারেশনের অনুমতি দেয়, নিশ্চিত করে যে নির্বাচিত ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে উপযুক্ত কার্যকারিতা কার্যকর করা হয়েছে। ডিফল্টরূপে, ব্যবহারের ক্ষেত্রে DIDO নির্বাচন করা হয় এবং এটি বাস্তবায়নের জন্য ব্যবহারকারীকে কোডে কোনও পরিবর্তন করতে হয় না।
- ডিজিটাল ইনপুট থেকে ডিজিটাল আউটপুট মিররিং (ST_ISO_APP_UsecaseDIDO): এই ফাংশনটি সমস্ত ইনপুট চ্যানেলের অবস্থা পড়ে এবং সমস্ত আউটপুট চ্যানেলে একই অবস্থা লেখে। এটি ডিজিটাল ইনপুটকে ডিজিটাল আউটপুটে মিরর করার জন্য কার্যকর।
- UART (ST_ISO_APP_DIDOandUART) ব্যবহার করে ডিজিটাল ইনপুট থেকে ডিজিটাল আউটপুট মিররিং: এই ফাংশনটি ST_ISO_APP_UsecaseDIDO ফাংশনের মতো ডিজিটাল ইনপুটগুলিকে ডিজিটাল আউটপুটে মিরর করে। অতিরিক্তভাবে, এটি নিউক্লিও ডিভাইসের UART ইন্টারফেসের মাধ্যমে বোর্ডের অবস্থা প্রেরণ করে, যার ফলে অবস্থাটি viewTera Term এর মতো অ্যাপ্লিকেশন ব্যবহার করে একটি সিরিয়াল পোর্টে আপলোড করা হয়েছে।
- টেস্ট কেস ফাংশন (ST_ISO_APP_TestCase): এই ফাংশনটি বোর্ড কনফিগারেশনের উপর ভিত্তি করে একাধিক পরীক্ষা এবং ক্রিয়া সম্পাদন করে। এটি ফল্ট স্ট্যাটাস পরীক্ষা করে, দুটি ডিজিটাল ইনপুট চ্যানেলের স্ট্যাটাস পড়ে এবং তাদের মানের উপর ভিত্তি করে ক্রিয়া সম্পাদন করে। এই ফাংশনটি বোর্ডের কর্মক্ষমতা এবং কার্যকারিতা দ্রুত মূল্যায়ন করতে এবং বিভিন্ন LED প্যাটার্নের মাধ্যমে ভিজ্যুয়াল প্রতিক্রিয়া পেতে সহায়তা করে। board_config.h-এ HEARTBEAT_LED ম্যাক্রো নিশ্চিত করুন। file সঠিক LED প্যাটার্ন পর্যবেক্ষণ করার জন্য মন্তব্য করা হয়েছে।
- PWM জেনারেশন (ST_ISO_APP_PWM _OFFSET): এই ফাংশনটি উভয় আউটপুট চ্যানেলে 1 Hz ফ্রিকোয়েন্সি এবং 50% ডিউটি সাইকেল সহ PWM সিগন্যাল শুরু করে। এটি PWM সিগন্যাল শুরু করে, ফ্রিকোয়েন্সি এবং ডিউটি সাইকেল সেট করে এবং নির্দিষ্ট বোর্ড আইডির জন্য PWM সিগন্যাল শুরু করে। PWM সিগন্যাল উভয় চ্যানেলের মধ্যে একটি অফসেট দিয়ে তৈরি হয় এবং তাই তারা ফেজে থাকে না।
- ফল্ট ডিটেকশন টেস্ট (ST_ISO_APP_FaultTest): এই ফাংশনটি স্মার্ট আউটপুট মডিউল IPS1025 এর অন্তর্নির্মিত ডায়াগনস্টিক পিনগুলিকে পোলিং বা ইন্টারাপ্ট মোডে মোটর করে ফল্ট ডিটেকশন মূল্যায়ন করে। এটি ফল্ট ডিটেকশন মোড কনফিগার করে, ফল্ট ডিটেকশন শুরু করে এবং নির্বাচিত মোডের উপর ভিত্তি করে ফল্ট স্ট্যাটাস স্ট্রাকচার আপডেট করে। কার্যকরভাবে ফল্ট সনাক্তকরণ এবং পরিচালনা করে বোর্ডের নির্ভরযোগ্যতা এবং সুরক্ষা নিশ্চিত করার জন্য এই ফাংশনটি অত্যন্ত গুরুত্বপূর্ণ। যখন এটি পোলিং মোডে থাকে, তখন টাইমারের সাহায্যে ফল্ট স্ট্যাটাস প্রতি সেকেন্ডে আপডেট করা হয় এবং ডিফল্টবোর্ডফল্টস্ট্যাটাস বা অল্টারনেটবোর্ডফল্টস্ট্যাটাস স্ট্রাকচারে প্রতিফলিত হয়। যখন এটি ইন্টারাপ্ট মোডে থাকে, তখন ফল্ট স্ট্যাটাস কেবল তখনই আপডেট করা হয় যখন ফল্ট ঘটে এবং এটি সংশ্লিষ্ট আউটপুট পোর্ট সাফ করার জন্য সফ্টওয়্যারকে ট্রিগার করে।
- PWM ভেরিয়েশন টেস্ট (ST_ISO_APP_PwmVariationTest): এই ফাংশনটি বোর্ড কনফিগারেশনের উপর ভিত্তি করে বিভিন্ন আউটপুট চ্যানেলে PWM (পালস প্রস্থ মডুলেশন) সিগন্যালের ভেরিয়েশন পরীক্ষা করার জন্য ডিজাইন করা হয়েছে। এটি ডিফল্ট এবং বিকল্প বোর্ড কনফিগারেশন উভয়ের জন্য PWM সিগন্যালগুলিকে ইনিশিয়ালাইজ করে, তাদের ফ্রিকোয়েন্সি 100 Hz এবং প্রাথমিক শুল্ক চক্র 0% এ সেট করে। এরপর ফাংশনটি 5% বৃদ্ধিতে 0% থেকে 100% পর্যন্ত ডিউটি চক্র পরিবর্তন করে এবং 5% হ্রাসে 100% থেকে 0% পর্যন্ত পরিবর্তন করে, প্রতিটি ধাপের মধ্যে 2-সেকেন্ড বিলম্বের সাথে। এই নিয়ন্ত্রিত পরিবর্তনটি ডিফল্ট বোর্ডের জন্য QA_0 এবং QA_1 চ্যানেলে এবং বিকল্প বোর্ডের জন্য QA_0_ALT এবং QA_1_ALT চ্যানেলে PWM সিগন্যাল আচরণ পর্যবেক্ষণ এবং মূল্যায়নের অনুমতি দেয়।
এই কনফিগারেশনগুলি অনুসরণ করে এবং প্রদত্ত অ্যাপ্লিকেশন ফাংশনগুলি ব্যবহার করে, আপনি কার্যকরভাবে বিভিন্ন প্রদর্শনী ব্যবহারের ক্ষেত্রে X-NUCLEO-ISO1A1 বোর্ড সেট আপ এবং ব্যবহার করতে পারেন।
সিস্টেম সেটআপ গাইড
হার্ডওয়্যার বর্ণনা
STM32 নিউক্লিও প্ল্যাটফর্ম
STM32 নিউক্লিও ডেভেলপমেন্ট বোর্ড ব্যবহারকারীদের সমাধান পরীক্ষা করার এবং যেকোন STM32 মাইক্রোকন্ট্রোলার লাইনের সাথে প্রোটোটাইপ তৈরি করার জন্য একটি সাশ্রয়ী এবং নমনীয় উপায় প্রদান করে।
Arduino® কানেক্টিভিটি সাপোর্ট এবং ST morpho কানেক্টরগুলি STM32 Nucleo ওপেন ডেভেলপমেন্ট প্ল্যাটফর্মের কার্যকারিতা সম্প্রসারণ করা সহজ করে তোলে, যেখানে বিভিন্ন ধরণের বিশেষায়িত এক্সপেনশন বোর্ড বেছে নেওয়া যায়।
STM32 নিউক্লিও বোর্ডের আলাদা প্রোবের প্রয়োজন হয় না কারণ এটি ST-LINK/V2-1 ডিবাগার/প্রোগ্রামারকে একীভূত করে।
STM32 নিউক্লিও বোর্ডটি বিভিন্ন প্যাকেজ করা সফ্টওয়্যার সহ ব্যাপক STM32 সফ্টওয়্যার HAL লাইব্রেরির সাথে আসেampলেস

STM32 নিউক্লিও বোর্ড সম্পর্কিত তথ্য এখানে পাওয়া যাবে www.st.com/stm32nucleo
X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ড
X-NUCLEO-ISO1A1 হল একটি মূল্যায়ন বোর্ড যার বিচ্ছিন্ন শিল্প ইনপুট/আউটপুট STM32 নিউক্লিও বোর্ডকে প্রসারিত করার জন্য এবং মাইক্রো-PLC কার্যকারিতা প্রদানের জন্য ডিজাইন করা হয়েছে। GPIO ইন্টারফেসে দ্বন্দ্ব এড়াতে এক্সপেনশন বোর্ডে জাম্পারের উপযুক্ত নির্বাচন সহ X-NUCLEO-ISO1A1 বোর্ডগুলির মধ্যে দুটি STM32 নিউক্লিও বোর্ডের উপরে একসাথে স্ট্যাক করা যেতে পারে। UL1577 সার্টিফাইড ডিজিটাল আইসোলেটর STISO620 এবং STISO621 লজিক এবং প্রক্রিয়া পার্শ্ব উপাদানগুলির মধ্যে বিচ্ছিন্নতা প্রদান করে। প্রক্রিয়া পার্শ্ব থেকে দুটি বর্তমান সীমিত উচ্চ-পার্শ্ব ইনপুট CLT03-2Q3 এর মাধ্যমে উপলব্ধ করা হয়। CLT03-2Q3 শিল্প অবস্থার জন্য সুরক্ষা, বিচ্ছিন্নতা এবং শক্তি-হীন অবস্থা ইঙ্গিত প্রদান করে, যা IEC61000-4-2, IEC61000-4-4, এবং IEC61000-4-5 এর মতো মান পূরণ করার জন্য ডিজাইন করা হয়েছে। হাই-সাইড সুইচ IPS1025H-32/HQ-32 এর প্রতিটি 5.6 A পর্যন্ত সুরক্ষিত আউটপুট প্রদান করে ডায়াগনস্টিকস এবং স্মার্ট ড্রাইভিং বৈশিষ্ট্য সহ। এগুলি ক্যাপাসিটিভ, রেজিস্টিভ বা ইন্ডাক্টিভ লোড চালাতে পারে। X-NUCLEO-ISO1A1 X-CUBE-ISO1 সফ্টওয়্যার প্যাকেজ ব্যবহার করে অনবোর্ড আইসিগুলির দ্রুত মূল্যায়নের অনুমতি দেয়।

হার্ডওয়্যার সেটআপ
নিম্নলিখিত হার্ডওয়্যার উপাদান প্রয়োজন:
- একটি STM32 নিউক্লিও ডেভেলপমেন্ট প্ল্যাটফর্ম (প্রস্তাবিত অর্ডার কোড: NUCLEO-GO71RB)
- একটি শিল্প ডিজিটাল আউটপুট সম্প্রসারণ বোর্ড (অর্ডার কোড: X-NUCLEO-ISO1A1)
- STM32 নিউক্লিওকে পিসিতে সংযুক্ত করার জন্য একটি USB টাইপ A থেকে মাইক্রো USB কেবল
- X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ড সরবরাহের জন্য একটি বহিরাগত বিদ্যুৎ সরবরাহ (24 V) এবং সংশ্লিষ্ট তারগুলি।
সফটওয়্যার সেটআপ
X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ড দিয়ে সজ্জিত STM32 নিউক্লিওর জন্য অ্যাপ্লিকেশন তৈরির জন্য একটি উপযুক্ত ডেভেলপমেন্ট পরিবেশ স্থাপনের জন্য নিম্নলিখিত সফ্টওয়্যার উপাদানগুলির প্রয়োজন:
- X-CUBE-ISO1: STM32Cube-এর জন্য একটি সম্প্রসারণ যা অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য নিবেদিত যার জন্য X-NUCLEO-ISO1A1 বোর্ড ব্যবহার প্রয়োজন। X-CUBE-ISO1 ফার্মওয়্যার এবং সম্পর্কিত ডকুমেন্টেশন এখানে উপলব্ধ www.st.com
- ডেভেলপমেন্ট টুলচেইন এবং কম্পাইলার: STM32Cube এক্সপেনশন সফটওয়্যার নিম্নলিখিত তিনটি পরিবেশ সমর্থন করে:
- ARM® (IAR-EWARM) টুলচেইনের জন্য IAR এমবেডেড ওয়ার্কবেঞ্চ
- রিয়ালView মাইক্রোকন্ট্রোলার ডেভেলপমেন্ট কিট (MDK-ARM-STM32) টুলচেইন
- STM32CubeIDE।
বোর্ড সেটআপ
হার্ডওয়্যার ব্যবহারকারী ম্যানুয়াল (UM3483) তে উল্লেখিত যথাযথ জাম্পার সেটিংস দিয়ে বোর্ডটি কনফিগার করা আবশ্যক। সঠিক কার্যকারিতা নিশ্চিত করতে এবং সম্ভাব্য সমস্যা এড়াতে এই নির্দেশিকাগুলি সাবধানে অনুসরণ করা অপরিহার্য।
সিস্টেম সেটআপ গাইড
এই বিভাগে X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ডের সাহায্যে STM32 Nucleo, NUCLEO-G071RB বোর্ডে একটি অ্যাপ্লিকেশন তৈরি এবং কার্যকর করার আগে বিভিন্ন হার্ডওয়্যার যন্ত্রাংশ কীভাবে সেট আপ করতে হয় তা বর্ণনা করা হয়েছে।


X-CUBE-ISO1 সম্প্রসারণ প্যাকেজের জন্য সেটআপ
X-NUCLEO-ISO1A1 অবশ্যই নির্দিষ্ট জাম্পার পজিশনের সাথে কনফিগার করা উচিত যা আপনি বোর্ডটি কোন কনফিগারেশনে চালাচ্ছেন তার উপর নির্ভর করে। এর বিস্তারিত তথ্য আমরা হার্ডওয়্যার ম্যানুয়ালটিতে আরও দেখতে পারি।
- ধাপ 1। মরফোকানেক্টরগুলির মাধ্যমে STM32 নিউক্লিওর উপরে X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ডটি প্লাগ করুন।
যদি আপনি দুটি বোর্ড একে অপরের উপরে ব্যবহার করেন, তাহলে চিত্র ১১-এর মতো করে সেগুলোকে স্তূপ করে রাখুন। - ধাপ 2। বোর্ডটিকে পাওয়ার জন্য USB সংযোগকারী CN1 এর মাধ্যমে USB কেবল ব্যবহার করে STM32 নিউক্লিও বোর্ডটিকে একটি পিসিতে সংযুক্ত করুন।
- ধাপ 3। J1 কে 24V DC পাওয়ার সাপ্লাইয়ের সাথে সংযুক্ত করে X-NUCLEO-ISO1A1 এক্সপেনশন বোর্ড(গুলি) চালু করুন। যদি স্ট্যাকড বোর্ড ব্যবহার করেন, তাহলে নিশ্চিত করুন যে উভয় বোর্ডই চালিত।
- ধাপ 4। আপনার পছন্দের টুলচেইন খুলুন (Keil থেকে MDK-ARM, IAR থেকে EWARM, অথবা STM32CubeIDE)।
- ধাপ 5। সফটওয়্যার প্রজেক্টটি খুলুন এবং board_config.h-এ প্রয়োজনীয় পরিবর্তন করুন। file ব্যবহৃত বোর্ড(গুলি) এর কনফিগারেশন অনুসারে।
- ধাপ 6। st_iso_app.c-তে উপযুক্ত ব্যবহারের কেস ম্যাক্রো সেট করুন। file অথবা main.c-তে ST_ISO_APP_SelectUseCase ফাংশন ব্যবহার করে প্রয়োজনীয় ব্যবহারের ক্ষেত্রে কল করুন। file অন্য যেকোনো পছন্দসই ফাংশন সহ।
- ধাপ 7। সব কম্পাইল করার জন্য প্রকল্পটি তৈরি করুন files এবং কম্পাইল করা কোডটি STM32 নিউক্লিও বোর্ডের মেমরিতে লোড করুন।
- ধাপ 8। STM32 নিউক্লিও বোর্ডে কোডটি চালান এবং প্রত্যাশিত আচরণ যাচাই করুন।
পুনর্বিবেচনার ইতিহাস
সারণি 4. নথি সংশোধনের ইতিহাস
| তারিখ | রিভিশন | পরিবর্তন |
| 14-মে-2025 | 1 | প্রাথমিক মুক্তি। |
গুরুত্বপূর্ণ নোটিশ - সাবধানে পড়ুন
STMicroelectronics NV এবং এর অধীনস্থ সংস্থাগুলি ("ST") ST পণ্য এবং/অথবা এই নথিতে কোনো নোটিশ ছাড়াই পরিবর্তন, সংশোধন, পরিবর্ধন, পরিবর্তন এবং উন্নতি করার অধিকার সংরক্ষণ করে৷ অর্ডার দেওয়ার আগে ক্রেতাদের ST পণ্যের সাম্প্রতিক প্রাসঙ্গিক তথ্য প্রাপ্ত করা উচিত। ST পণ্যগুলি অর্ডার প্রাপ্তির সময় ST-এর শর্তাবলী অনুসারে বিক্রি করা হয়।
ক্রেতারা ST পণ্যের পছন্দ, নির্বাচন এবং ব্যবহারের জন্য সম্পূর্ণরূপে দায়ী এবং ST আবেদন সহায়তা বা ক্রেতাদের পণ্যের নকশার জন্য কোনো দায়বদ্ধতা গ্রহণ করে না।
এখানে ST দ্বারা কোনও বৌদ্ধিক সম্পত্তির অধিকারের কোনও লাইসেন্স, প্রকাশ বা উহ্য নেই।
এখানে উল্লিখিত তথ্য থেকে ভিন্ন বিধান সহ ST পণ্যের পুনঃবিক্রয় এই জাতীয় পণ্যের জন্য ST দ্বারা প্রদত্ত যে কোনও ওয়ারেন্টি বাতিল করবে।
ST এবং ST লোগো হল ST-এর ট্রেডমার্ক৷ ST ট্রেডমার্ক সম্পর্কে অতিরিক্ত তথ্যের জন্য, www.st.com/trademarks দেখুন। অন্যান্য সমস্ত পণ্য বা পরিষেবার নাম তাদের নিজ নিজ মালিকদের সম্পত্তি.
এই নথির তথ্য এই নথির পূর্ববর্তী সংস্করণে পূর্বে সরবরাহ করা তথ্যের স্থলাভিষিক্ত এবং প্রতিস্থাপন করে।
© 2025 STMicroelectronics – সর্বস্বত্ব সংরক্ষিত
দলিল/সম্পদ
![]() |
STMicroelectronics UM3469 X-CUBE-ISO1 সফটওয়্যার সম্প্রসারণ [পিডিএফ] ব্যবহারকারী ম্যানুয়াল X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 সফটওয়্যার এক্সপেনশন, UM3469, X-CUBE-ISO1 সফটওয়্যার এক্সপেনশন, সফটওয়্যার এক্সপেনশন |

