STMicroelectronics UM3469 X-CUBE-ISO1 સોફ્ટવેર વિસ્તરણ

પરિચય
STM1Cube માટે X-CUBE-ISO32 વિસ્તરણ સોફ્ટવેર પેકેજ STM32 પર ચાલે છે અને તેમાં X-NUCLEO-ISO1A1 માટે ફર્મવેરનો સમાવેશ થાય છે. આ સોફ્ટવેર X-NUCLEO દ્વારા પૂરા પાડવામાં આવેલ મૂળભૂત PLC ઉપકરણના વિકાસ માટે ઉપયોગમાં સરળ ઉકેલ પૂરો પાડે છે. આ વિસ્તરણ STM32Cube સોફ્ટવેર ટેકનોલોજી પર બનાવવામાં આવ્યું છે જેથી વિવિધ STM32 માઇક્રોકન્ટ્રોલર્સમાં પોર્ટેબિલિટી સરળ બને.
આ સોફ્ટવેર X-NUCLEO-ISO1A1 વિસ્તરણ બોર્ડ પર ચાલતું અમલીકરણ સાથે આવે છે જે NUCLEO-G071RB ડેવલપમેન્ટ બોર્ડ (અથવા NUCLEO-G0B1RE અથવા NUCLEO-G070RB) સાથે જોડાયેલ છે. હવેથી, દસ્તાવેજમાં સરળતા માટે ફક્ત NUCLEO-G071RB નો ઉલ્લેખ કરવામાં આવશે.
X-NUCLEO-ISO1A1 બોર્ડ ઇનપુટ અને આઉટપુટ ક્ષમતાઓને વિસ્તૃત કરવા માટે યોગ્ય જમ્પર સેટિંગ્સ સાથે બે બોર્ડના સ્ટેકીંગને ટેકો આપવા માટે રચાયેલ છે.
સંક્ષિપ્ત શબ્દો અને સંક્ષિપ્ત શબ્દો
કોષ્ટક 1. સંક્ષિપ્ત શબ્દોની સૂચિ
| ટૂંકાક્ષર | વર્ણન |
| પીએલસી | પ્રોગ્રામેબલ લોજિક કંટ્રોલર |
| API | એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ |
| PWM | પલ્સ પહોળાઈ મોડ્યુલેશન |
| GPIO | સામાન્ય હેતુ ઇનપુટ/આઉટપુટ. |
| 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 ફર્મવેર સોલ્યુશન ત્રણ સ્વતંત્ર સ્તરોની આસપાસ બનેલ છે જે સરળતાથી એકબીજા સાથે ક્રિયાપ્રતિક્રિયા કરી શકે છે, જેમ કે નીચેના આકૃતિમાં વર્ણવેલ છે.

STM1Cube માટે X-CUBE-ISO32 સોફ્ટવેર વિસ્તરણ
ઉપરview
X-NUCLEO-ISO1A1, ઔદ્યોગિક અલગ ઇનપુટ/આઉટપુટ વિસ્તરણ બોર્ડ માટેનું ફર્મવેર, જે STM32 વાતાવરણ અને લાઇબ્રેરીઓની આસપાસ વિકસાવવામાં આવ્યું છે, તે STM32 ન્યુક્લિયો બોર્ડના ઉચ્ચ-પ્રદર્શન MCU નો ઉપયોગ કરીને ડિજિટલ ઇનપુટ્સ, ડાયનેમિક કરંટ મર્યાદા સાથે સંકલિત ડાયગ્નોસ્ટિક્સ સાથે આઉટપુટ અને PWM સિગ્નલ જનરેશનનું સંચાલન કરે છે. તેમાં વ્યાપક બોર્ડ ગોઠવણી અને નિયંત્રણનો સમાવેશ થાય છે, જેમાં ડિફોલ્ટ અને વૈકલ્પિક પરિસ્થિતિઓ માટે ફ્રેમવર્ક, પ્રી-સ્કેલર મૂલ્યો સેટ કરવા માટે મેક્રો અને GPIO પોર્ટ અને પિન માટે વ્યાખ્યાઓનો સમાવેશ થાય છે.
તે વિવિધ એસને સપોર્ટ કરે છે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 files વિવિધ કાર્યક્ષમતાઓને સમર્થન આપવા માટે API નો વ્યાપક સમૂહ પૂરો પાડે છે.
- આ API માં ડિજિટલ ઇનપુટ/આઉટપુટ નિયંત્રણ, ફોલ્ટ શોધ અને બોર્ડ સ્ટેટસ અપડેટ્સ માટેના કાર્યોનો સમાવેશ થાય છે.
- API ને સરળ અને સાહજિક બનાવવા માટે ડિઝાઇન કરવામાં આવ્યા છે, જે વપરાશકર્તાઓ માટે બોર્ડ સાથે ક્રિયાપ્રતિક્રિયા કરવાનું અને જરૂરી કામગીરી કરવાનું સરળ બનાવે છે.
- PWM સિગ્નલ નિયંત્રણ:
- pwm_api.h અને pwm_api.c files માં PWM સિગ્નલ જનરેશન સંબંધિત ચોક્કસ API ફંક્શન્સ હોય છે.
- આ કાર્યો ડિજિટલ આઉટપુટ ચેનલો માટે PWM સિગ્નલોને પ્રારંભ કરવા, ગોઠવવા, શરૂ કરવા અને બંધ કરવાની મંજૂરી આપે છે.
- PWM કાર્યક્ષમતા ડિફોલ્ટ પસંદગી નથી. આને સક્ષમ કરવા માટે બોર્ડ ગોઠવણીમાં ફેરફાર કરવામાં આવ્યા છે. વધુ વિગતો માટે વિભાગ 3.5: API નો સંદર્ભ લો.
- બોર્ડ સપોર્ટ પેકેજ:
- બોર્ડ સપોર્ટ પેકેજમાં શામેલ છે fileIPS1025H-32 સાથે ઇન્ટરફેસ કરેલા GPIO પિનને નિયંત્રિત અને મોનિટર કરવા અને CLT03-2Q3 સાથે ઇન્ટરફેસ કરેલા GPIO પિનની સ્થિતિ વાંચવા માટે s.
- ips1025h_32.h અને ips1025h_32.c files IPS1025H-32 સાથે જોડાયેલા GPIO પિન પર ખામીઓ સેટ કરવા, સાફ કરવા અને શોધવા માટે કાર્યો પૂરા પાડે છે.
- clt03_2q3.h અને clt03_2q3.c files CLT03-2Q3 સાથે જોડાયેલા GPIO પિનની સ્થિતિ વાંચવા માટે ફંક્શન પૂરા પાડે છે.
ડેમોન્સ્ટ્રેશન ફર્મવેર સિસ્ટમની ક્ષમતાઓ દર્શાવવા માટે ઘણા સરળ ઉપયોગ કેસોનો અમલ કરે છે. આ ઉપયોગ કેસ અને વપરાશકર્તા API ને સરળ કામગીરી અને સચોટ પરિણામો સુનિશ્ચિત કરવા માટે સંકલિત રીતે ચલાવવામાં આવે છે. આર્કિટેક્ચર સરળતાથી વિસ્તૃત કરવા માટે ડિઝાઇન કરવામાં આવ્યું છે, જે વપરાશકર્તાઓને નવી કાર્યક્ષમતા ઉમેરવા અને જરૂર મુજબ કેસોનો ઉપયોગ કરવાની મંજૂરી આપે છે. ડિજિટલ ઔદ્યોગિક IO સાથે એક બોર્ડ ચલાવવા માટે ડિફોલ્ટ ગોઠવણી પ્રદાન કરવામાં આવી છે. કોષ્ટક 2 માં વર્ણવ્યા મુજબ જમ્પર સેટિંગ ડિફોલ્ટ મોડમાં હોવું પણ જરૂરી છે. ડિજિટલ ઇનપુટ ડિજિટલ આઉટ મિરરિંગ (DIDO) એ ડિફોલ્ટ ફર્મવેર એપ્લિકેશન યુઝકેસ છે.
ફોલ્ડર માળખું

નીચેના ફોલ્ડર્સ સોફ્ટવેર પેકેજમાં સમાવવામાં આવેલ છે:
- દસ્તાવેજીકરણમાં સંકલિત HTML છે file સોફ્ટવેર ઘટકો અને API ની વિગત આપતા સોર્સ કોડમાંથી બનાવેલ.
- ડ્રાઇવરો સમાવે છે:
- STM32G32xx_HAL_Driver સબફોલ્ડરમાં સ્થિત STM0Cube HAL ફોલ્ડર. આ files નું અહીં વર્ણન કરવામાં આવ્યું નથી કારણ કે તે 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/ઘટકોની અંદર છે:
IPS1025
ips1025h_32.h અને ips1025h_32.c files IPS1025H-32 સાથે જોડાયેલા GPIO પિન માટે વ્યાપક ડ્રાઇવર અમલીકરણ પૂરું પાડે છે, જેમાં તમામ પિનને નિયંત્રિત કરવા અને ખામીઓ શોધવા માટે સંપૂર્ણ કાર્યક્ષમતાનો સમાવેશ થાય છે. આ fileઉપકરણને શરૂ કરવા, ચેનલ સ્થિતિ સેટ કરવા અને સાફ કરવા, ખામીની સ્થિતિ શોધવા અને PWM કાર્યક્ષમતાનું સંચાલન કરવા માટે s અમલીકરણ કાર્યો. ડ્રાઇવર બહુવિધ ઉપકરણો અને ચેનલોને સપોર્ટ કરે છે, જેમાં વ્યક્તિગત ચેનલ અથવા જૂથ બંને માટે સંપૂર્ણ ક્ષમતાઓ છે.
CLT03
clt03_2q3.h અને clt03_2q3.c files CLT03-2Q3 સાથે જોડાયેલા GPIO પિન માટે સંપૂર્ણ સુવિધાયુક્ત ડ્રાઇવર લાગુ કરે છે, જેમાં બધી પિન સ્થિતિઓ વાંચવાની સંપૂર્ણ ક્ષમતાઓ છે. ડ્રાઇવર ઉપકરણને પ્રારંભ કરવા, વ્યક્તિગત ચેનલ સ્થિતિ વાંચવા અને એકસાથે બધી ચેનલો માટે સ્થિતિ માહિતી મેળવવા માટે કાર્યો પૂરા પાડે છે. તે બહુવિધ ઉપકરણ ગોઠવણીઓને સપોર્ટ કરે છે અને અસરકારક ચેનલ સંચાલન માટે આંતરિક સ્થિતિ જાળવી રાખે છે.
X-CUBE-ISO1 સોફ્ટવેર API ને બે મુખ્ય સ્ત્રોતમાં વિભાજિત કરવામાં આવ્યા છે files, જે ISO1A1 સબફોલ્ડરની અંદર છે:
ISO1A1
ISO1A1 fileબોર્ડ રૂપરેખાંકન, ઘટક ક્રિયાપ્રતિક્રિયા અને ફોલ્ટ મેનેજમેન્ટ માટે રચાયેલ API ફંક્શનનો વ્યાપક સમૂહ સમાવે છે. આ ફંક્શન વાંચન અને લેખન કામગીરી, ફોલ્ટ શોધ અને અપડેટ્સને સરળ બનાવે છે, અને પ્રાથમિક API ફંક્શન્સને ટેકો આપવા માટે વિવિધ સહાયક ઉપયોગિતાઓ શામેલ કરે છે. વધુમાં, files 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: સિસ્ટમ આરંભ.
સોફ્ટવેર જરૂરી સંસાધનો
ન્યુક્લિયો ડિવાઇસ GPIOs દ્વારા X-NUCLEO-ISO1A1 બોર્ડને નિયંત્રિત કરે છે અને તેની સાથે વાતચીત કરે છે. આ માટે X-NUCLEO-ISO1A1 બોર્ડમાં સમાવિષ્ટ ઔદ્યોગિક IO ઉપકરણોના ઇનપુટ, આઉટપુટ અને ફોલ્ટ શોધ માટે ઘણા GPIOsનો ઉપયોગ જરૂરી છે. વધુ વિગતો અને જમ્પર ગોઠવણી માટે હાર્ડવેર વપરાશકર્તા માર્ગદર્શિકા UM3483 નો સંદર્ભ લો.
બોર્ડ રૂપરેખાંકન (board_config.h)
બોર્ડ_કોન્ફિગ.એચ file બોર્ડ રૂપરેખાંકન અનુસાર સોફ્ટવેરને ગોઠવવા માટે ઉપયોગમાં લેવાતા સંસાધનો અને રૂપરેખાંકન મેક્રો વ્યાખ્યાયિત કરે છે. તે બે બોર્ડ સુધી સંભાળે છે (જેમ કે બે બોર્ડનું સ્ટેકીંગ).
સોફ્ટવેર DEFAULT રૂપરેખાંકન 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 બંને મેક્રોને અનકોમેન્ટ કરો અને ખાતરી કરો કે એક બોર્ડના જમ્પર્સ ડિફોલ્ટ સ્થિતિમાં છે અને બીજો વૈકલ્પિક સ્થિતિમાં છે. નોંધ કરો કે બંને બોર્ડ સમાન રૂપરેખાંકનમાં રાખવાની ભલામણ કરવામાં આવતી નથી (બંને ડિફોલ્ટમાં અથવા બંને વૈકલ્પિક રીતે) અને તેના પરિણામે અનિચ્છનીય વર્તન થઈ શકે છે.
ફક્ત એક જ બોર્ડ ચલાવતી વખતે, ખાતરી કરો કે સોફ્ટવેર ફક્ત એક જ રૂપરેખાંકન માટે ગોઠવાયેલ છે અને બીજા રૂપરેખાંકનને અનુરૂપ મેક્રો ટિપ્પણી કરેલ છે.

પ્રી-સ્કેલર્સ
યોગ્ય મેક્રો સેટ કરીને PWM આઉટપુટ માટે વિવિધ ફ્રીક્વન્સી રેન્જ પ્રાપ્ત કરવા માટે આપણે board_config.h માં પ્રી-સ્કેલર મૂલ્યોને ગોઠવી શકીએ છીએ. પ્રી-સ્કેલર મૂલ્યનો ઉપયોગ કરવા માટે, સંબંધિત મેક્રોને અનકોમેન્ટ કરો અને અન્યને ટિપ્પણી કરો. ડિફૉલ્ટ રૂપે, DEFAULT_PRESCALAR નો ઉપયોગ થાય છે.
- પ્રેસ્કેલર_1
- પ્રેસ્કેલર_2
- ડિફોલ્ટ_પ્રેસકેલર
પ્રીસ્કેલર મૂલ્યોનો ઉપયોગ ફક્ત ત્યારે જ થાય છે જ્યારે ટાઈમરનો ઉપયોગ થઈ રહ્યો હોય, અને કોઈપણ મૂળભૂત I/O કામગીરી માટે તે જરૂરી નથી. પ્રી-સ્કેલર મેક્રો અને તેમની અનુરૂપ આવર્તન શ્રેણીઓના મૂલ્યો કોડ દસ્તાવેજીકરણમાં અથવા કોડમાં જ જોઈ શકાય છે.
હૃદયના ધબકારા LED
NUCLEO-G7RB બોર્ડ સાથે યોગ્ય જોડાણ માટે પરીક્ષણ તરીકે, આપણે લીલા વપરાશકર્તા LED, D071 ને હૃદયના ધબકારામાં ઝબકવા માટે ગોઠવી શકીએ છીએ. જ્યારે ટિપ્પણી ન કરવામાં આવે ત્યારે મેક્રો, 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 મેક્રોની વિગતો આપે છે:
કોષ્ટક 2. ડિફોલ્ટ અને વૈકલ્પિક સોફ્ટવેર રૂપરેખાંકનો માટે ફાળવેલ GPIOs
| નામ | કાર્ય | ડિફૉલ્ટ રૂપરેખાંકન | વૈકલ્પિક રૂપરેખાંકન |
| ઇનપુટ પિન | ઇનપુટ પિન ૧ | GPIOC, IA0_IN_1_PIN | GPIOD, IA0_IN_1_PIN |
| ઇનપુટ પિન ૧ | GPIOD, IA1_IN_2_PIN | GPIOC, IA1_IN_1_PIN | |
| આઉટપુટ પિન | આઉટપુટ પિન ૧ | GPIOC, QA0_CNTRL_1_PIN | જીપીઆઈઓડી, QA0_CNTRL_1_પિન |
| આઉટપુટ પિન ૧ | GPIOC, QA1_CNTRL_2_PIN | GPIOC, 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
X-CUBE-ISO1 ફર્મવેરમાં ટાઈમર્સનો ઉપયોગ ચોક્કસ પિન માટે PWM સિગ્નલ જનરેટ કરવા માટે થઈ શકે છે. ડિફૉલ્ટ રૂપે, TIM3 સિવાય ટાઈમર્સ શરૂ થતા નથી. PWM સિગ્નલ જનરેટ કરતા પહેલા સંબંધિત ટાઈમર્સ શરૂ કરવા જોઈએ અને સંબંધિત આઉટપુટ પોર્ટ્સ PWM મોડમાં શરૂ કરવા જોઈએ.
સામાન્ય GPIO ઇનપુટ/આઉટપુટ કામગીરી માટે, કોઈપણ ટાઈમર અથવા આઉટપુટ પોર્ટને ગોઠવવાની જરૂર નથી, કારણ કે તે ડિફોલ્ટ રૂપે સંભાળવામાં આવે છે. જો કે, જો એકવાર આઉટપુટ પિન PWM મોડમાં સેટ થઈ જાય, તો આપણે તેમને GPIO મોડમાં ફરીથી ગોઠવવાની જરૂર છે જેથી તેનો ઉપયોગ GPIO પિન તરીકે થઈ શકે.
નોંધ: જ્યારે PWM જનરેશન માટે આઉટપુટ પિનનો ઉપયોગ કરવામાં આવી રહ્યો હોય, ત્યારે GPIO આઉટપુટ અક્ષમ હોય છે, બંને કાર્યક્ષમતા એકસાથે લાગુ કરી શકાતી નથી. PWM ઉપયોગ પછી GPIO ને ફરીથી સક્ષમ કરવા માટે, બધા પોર્ટ્સને એકસાથે GPIO તરીકે ગોઠવવા માટે API ફંક્શન ST_ISO_BoardConfigureDefault() અથવા ST_ISO_InitGPIO() અથવા ચોક્કસ GPIO પોર્ટ અને પિન સાથે ST_ISO_Init_GPIO() ને કૉલ કરી શકાય છે.
ઉપર જણાવ્યા મુજબ, સોફ્ટવેર ડિફોલ્ટ રૂપે એક ટાઈમર, TIM3 નો પણ ઉપયોગ કરે છે, જેનો ઉપયોગ યુઝર LED ટાઈમિંગ, ક્લોક અને UART ટાઈમિંગ અમલીકરણ માટે થાય છે. તે ડિફોલ્ટ રૂપે 1 સેકન્ડના સમયગાળા માટે ગોઠવેલ છે.
નીચે આપેલ કોષ્ટક અમારા કોડમાં દરેક પિન માટે ઉપલબ્ધ ટાઈમરની વિગતો આપે છે:
કોષ્ટક 3. દરેક પિન માટે ઉપલબ્ધ ટાઈમર
| પિન નામ | સોફ્ટવેર પ્રતિનિધિત્વ | ટાઈમર | ટાઈમર ચેનલ | વૈકલ્પિક કાર્ય |
| QA0_CNTRL_1_PIN | QA_0 | TIM2 | ટિમ_ચેનલ_4 | GPIO_AF2_TIM2 |
| QA1_CNTRL_2_PIN | QA_1 | TIM1 | ટિમ_ચેનલ_3 | GPIO_AF2_TIM1 |
| QA0_CNTRL_2_PIN | QA_0_ALT | TIM1 | ટિમ_ચેનલ_4 | GPIO_AF2_TIM1 |
| QA1_CNTRL_1_PIN | QA_1_ALT | TIM17 | ટિમ_ચેનલ_1 | GPIO_AF2_TIM17 |
ફર્મવેરની વધારાની ઉપયોગિતાઓ
ફર્મવેરમાં X-NUCLEO-ISO1A1 મૂલ્યાંકન બોર્ડની કાર્યક્ષમતા વધારવા માટે વધારાની ઉપયોગિતાઓ શામેલ છે. જેમાંથી કેટલાક નીચે વર્ણવેલ છે.
UART
UART કોમ્યુનિકેશન ફીચર, TeraTerm, PuTTY અને અન્ય સમાન એપ્લિકેશનો જેવી PC ઉપયોગિતાઓ દ્વારા બોર્ડ સ્ટેટસનું રીઅલ-ટાઇમ મોનિટરિંગ અને ડિબગીંગ કરવાની મંજૂરી આપે છે. સોફ્ટવેર NUCLEO-G071RB બોર્ડમાં હાજર UART દ્વારા UART ડેટા ટ્રાન્સમિશનને સક્ષમ કરે છે. `ST_ISO_UART` ફંક્શન UART પર વિગતવાર બોર્ડ સ્ટેટસ માહિતી મોકલે છે, જેમાં સિસ્ટમ અપટાઇમ, ફર્મવેર ગોઠવણી અને ફોલ્ટ સ્ટેટસનો સમાવેશ થાય છે. આ ડેટા viewટેરાટર્મ જેવા કોઈપણ સીરીયલ પોર્ટ એપ્લિકેશનનો ઉપયોગ કરીને સપોર્ટેડ. `ST_ISO_APP_DIDOandUART` ફંક્શન ડિજિટલ ઇનપુટ/આઉટપુટ કામગીરીને UART કમ્યુનિકેશન સાથે જોડે છે, જે ચોક્કસ અંતરાલો પર તમામ ઇનપુટ અને આઉટપુટ ચેનલોની સ્થિતિ ટ્રાન્સમિટ કરે છે. નીચે રૂપરેખાંકન સેટિંગ્સ અનેampટેરાટર્મમાં ડેટા કેવી રીતે દેખાય છે તેની માહિતી. ઉપયોગમાં લેવાતી સિસ્ટમ અને સીરીયલ પોર્ટના આધારે પોર્ટનું નામ બદલાઈ શકે છે.


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 હેન્ડલર્સમાં ચોક્કસ ક્રિયાઓ ગોઠવવા માટેની સુવિધાઓ શામેલ છે. આ વપરાશકર્તાઓને બાહ્ય ઘટનાઓ પર બોર્ડ કેવી રીતે પ્રતિક્રિયા આપે છે તે કસ્ટમાઇઝ કરવાની મંજૂરી આપે છે, ખાતરી કરે છે કે તે વિવિધ ફોલ્ટ પરિસ્થિતિઓ અને ટ્રિગર્સને અસરકારક રીતે સંચાલિત કરી શકે છે.
API
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: આપેલ મોડ્યુલ ID સાથે ઉલ્લેખિત GPIO પિન શરૂ કરે છે.
- ST_ISO_InitInterrupt: આપેલ મોડ્યુલ ID સાથે ઉલ્લેખિત 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બોર્ડ અને તેના એપ્લિકેશન ફંક્શન્સને સેટ કરવામાં અને ઉપયોગમાં લેવા માટે, s મહત્વપૂર્ણ ભૂમિકા ભજવે છે. આ ફંક્શનનો ઉપયોગ કરતા પહેલા ખાતરી કરો કે બોર્ડ અને સોફ્ટવેરનું રૂપરેખાંકન એકબીજા સાથે સુમેળમાં છે.
એપ્લિકેશન કાર્યો (st_iso_app.h અને st_iso_app.c)
એપ્લિકેશન ફંક્શન્સ ST_ISO_APP દ્વારા પ્રીફિક્સ કરેલા હોય છે; તે વપરાશકર્તાને દૃશ્યમાન ઉચ્ચ-સ્તરના ફંક્શન્સ છે જે તેમના અમલીકરણ માટે API ફંક્શન્સને કૉલ કરે છે. એપ્લિકેશન ફંક્શન્સને main.c માં કૉલ કરી શકાય છે. file તેમની કામગીરી માટે.
- ઉપયોગ કેસ પસંદગી: વપરાશકર્તા st_iso_app.c માં ઇચ્છિત ઉપયોગ કેસ મેક્રોને અનકોમેન્ટ કરી શકે છે. 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 ઇન્ટરફેસ દ્વારા બોર્ડ સ્ટેટસ ટ્રાન્સમિટ કરે છે, જેનાથી સ્ટેટસ viewટેરા ટર્મ જેવી એપ્લિકેશનોનો ઉપયોગ કરીને સીરીયલ પોર્ટ પર સપોર્ટેડ.
- ટેસ્ટ કેસ ફંક્શન (ST_ISO_APP_TestCase): આ ફંક્શન બોર્ડ કન્ફિગરેશનના આધારે શ્રેણીબદ્ધ પરીક્ષણો અને ક્રિયાઓ કરે છે. તે ફોલ્ટ સ્ટેટસ તપાસે છે, બે ડિજિટલ ઇનપુટ ચેનલોની સ્ટેટસ વાંચે છે અને તેમના મૂલ્યોના આધારે ક્રિયાઓ કરે છે. આ ફંક્શન બોર્ડના પ્રદર્શન અને કાર્યક્ષમતાનું ઝડપથી મૂલ્યાંકન કરવામાં અને વિવિધ LED પેટર્ન દ્વારા વિઝ્યુઅલ પ્રતિસાદ મેળવવામાં મદદ કરે છે. board_config.h માં HEARTBEAT_LED મેક્રોની ખાતરી કરો. file યોગ્ય LED પેટર્નનું અવલોકન કરવા માટે ટિપ્પણી કરવામાં આવી છે.
- PWM જનરેશન (ST_ISO_APP_PWM _OFFSET): આ ફંક્શન બંને આઉટપુટ ચેનલો પર 1 Hz ની આવર્તન અને 50% ડ્યુટી ચક્ર સાથે PWM સિગ્નલ શરૂ કરે છે. તે PWM સિગ્નલને શરૂ કરે છે, ફ્રીક્વન્સી અને ડ્યુટી ચક્ર સેટ કરે છે, અને ઉલ્લેખિત બોર્ડ ID માટે PWM સિગ્નલ શરૂ કરે છે. PWM સિગ્નલ બંને ચેનલો વચ્ચે ઓફસેટ સાથે જનરેટ થાય છે અને તેથી તે તબક્કામાં નથી.
- ફોલ્ટ ડિટેક્શન ટેસ્ટ (ST_ISO_APP_FaultTest): આ ફંક્શન સ્માર્ટ આઉટપુટ મોડ્યુલ IPS1025 ના ઇનબિલ્ટ ડાયગ્નોસ્ટિક પિનને પોલિંગ અથવા ઇન્ટરપ્ટ મોડમાં મોટરિંગ કરીને ફોલ્ટ ડિટેક્શનનું મૂલ્યાંકન કરે છે. તે ફોલ્ટ ડિટેક્શન મોડને ગોઠવે છે, ફોલ્ટ ડિટેક્શન શરૂ કરે છે અને પસંદ કરેલા મોડના આધારે ફોલ્ટ સ્ટેટસ સ્ટ્રક્ચરને અપડેટ કરે છે. આ ફંક્શન બોર્ડની વિશ્વસનીયતા અને સલામતી સુનિશ્ચિત કરવા માટે મહત્વપૂર્ણ છે, ફોલ્ટને અસરકારક રીતે શોધી અને હેન્ડલ કરીને. જ્યારે તે પોલિંગ મોડમાં હોય છે, ત્યારે ટાઈમરની મદદથી ફોલ્ટ સ્ટેટસ દર સેકન્ડે અપડેટ થાય છે અને તે ડિફોલ્ટબોર્ડફોલ્ટસ્ટેટસ અથવા અલ્ટરનેટબોર્ડફોલ્ટસ્ટેટસ સ્ટ્રક્ચરમાં પ્રતિબિંબિત થાય છે. જ્યારે તે ઇન્ટરપ્ટ મોડમાં હોય છે, ત્યારે ફોલ્ટ સ્ટેટસ ફક્ત ત્યારે જ અપડેટ થાય છે જ્યારે ફોલ્ટ થાય છે, અને તે સંબંધિત આઉટપુટ પોર્ટને સાફ કરવા માટે સોફ્ટવેરને ટ્રિગર કરે છે.
- PWM ભિન્નતા પરીક્ષણ (ST_ISO_APP_PwmVariationTest): આ ફંક્શન બોર્ડ ગોઠવણીના આધારે વિવિધ આઉટપુટ ચેનલો પર PWM (પલ્સ વિડ્થ મોડ્યુલેશન) સિગ્નલોના ભિન્નતાને ચકાસવા માટે રચાયેલ છે. તે ડિફોલ્ટ અને વૈકલ્પિક બોર્ડ ગોઠવણી બંને માટે PWM સિગ્નલોને પ્રારંભ કરે છે, તેમની આવર્તન 100 Hz અને પ્રારંભિક ફરજ ચક્રને 0% પર સેટ કરે છે. ત્યારબાદ કાર્ય 0% ના વધારામાં 100% થી 5% સુધી ડ્યુટી ચક્રને બદલે છે, અને 100% ના ઘટાડામાં 0% થી 5% સુધી પાછું ફેરવે છે, દરેક પગલા વચ્ચે 2-સેકન્ડ વિલંબ સાથે. આ નિયંત્રિત ભિન્નતા ડિફોલ્ટ બોર્ડ માટે QA_0 અને QA_1 ચેનલો પર અને વૈકલ્પિક બોર્ડ માટે QA_0_ALT અને QA_1_ALT પર PWM સિગ્નલ વર્તણૂકનું નિરીક્ષણ અને મૂલ્યાંકન કરવાની મંજૂરી આપે છે.
આ રૂપરેખાંકનોને અનુસરીને અને પ્રદાન કરેલ એપ્લિકેશન કાર્યોનો ઉપયોગ કરીને, તમે વિવિધ નિદર્શન ઉપયોગના કેસોમાં X-NUCLEO-ISO1A1 બોર્ડને અસરકારક રીતે સેટ કરી શકો છો અને તેનો ઉપયોગ કરી શકો છો.
સિસ્ટમ સેટઅપ માર્ગદર્શિકા
હાર્ડવેર વર્ણન
STM32 ન્યુક્લિયો પ્લેટફોર્મ
STM32 ન્યુક્લિયો ડેવલપમેન્ટ બોર્ડ વપરાશકર્તાઓને કોઈપણ STM32 માઇક્રોકન્ટ્રોલર લાઇન સાથે ઉકેલો ચકાસવા અને પ્રોટોટાઇપ બનાવવા માટે એક સસ્તું અને લવચીક રીત પ્રદાન કરે છે.
Arduino® કનેક્ટિવિટી સપોર્ટ અને ST મોર્ફો કનેક્ટર્સ STM32 ન્યુક્લિયો ઓપન ડેવલપમેન્ટ પ્લેટફોર્મની કાર્યક્ષમતાને વિસ્તૃત કરવાનું સરળ બનાવે છે જેમાં પસંદગી માટે વિશિષ્ટ વિસ્તરણ બોર્ડની વિશાળ શ્રેણીનો સમાવેશ થાય છે.
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 સોફ્ટવેર પેકેજનો ઉપયોગ કરીને ઓનબોર્ડ IC નું ઝડપી મૂલ્યાંકન કરવાની મંજૂરી આપે છે.

હાર્ડવેર સેટઅપ
નીચેના હાર્ડવેર ઘટકોની જરૂર છે:
- એક STM32 ન્યુક્લિયો ડેવલપમેન્ટ પ્લેટફોર્મ (સૂચવેલ ઓર્ડર કોડ: NUCLEO-GO71RB)
- એક ઔદ્યોગિક ડિજિટલ આઉટપુટ વિસ્તરણ બોર્ડ (ઓર્ડર કોડ: X-NUCLEO-ISO1A1)
- STM32 ન્યુક્લિયોને PC સાથે કનેક્ટ કરવા માટે એક USB ટાઇપ A થી માઇક્રો USB કેબલ
- X-NUCLEO-ISO24A1 વિસ્તરણ બોર્ડને સપ્લાય કરવા માટે બાહ્ય વીજ પુરવઠો (1 V) અને સંકળાયેલ વાયર.
સોફ્ટવેર સેટઅપ
X-NUCLEO-ISO32A1 વિસ્તરણ બોર્ડથી સજ્જ STM1 ન્યુક્લિયો માટે એપ્લિકેશન બનાવવા માટે યોગ્ય વિકાસ વાતાવરણ સેટ કરવા માટે નીચેના સોફ્ટવેર ઘટકો જરૂરી છે:
- 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-ISO32A071 વિસ્તરણ બોર્ડ સાથે STM1 Nucleo, NUCLEO-G1RB બોર્ડ પર એપ્લિકેશન વિકસાવવા અને ચલાવવા પહેલાં વિવિધ હાર્ડવેર ભાગો કેવી રીતે સેટ કરવા તેનું વર્ણન કરે છે.


X-CUBE-ISO1 વિસ્તરણ પેકેજ માટે સેટઅપ
X-NUCLEO-ISO1A1 ને તમે બોર્ડ કઈ ગોઠવણીમાં ચલાવી રહ્યા છો તેના આધારે ચોક્કસ જમ્પર પોઝિશન સાથે ગોઠવેલું હોવું જોઈએ. જેની વિગતો આપણે હાર્ડવેર મેન્યુઅલમાં વધુ જોઈ શકીએ છીએ.
- પગલું 1. મોર્ફોકનેક્ટર્સ દ્વારા STM1 ન્યુક્લિયોની ટોચ પર X-NUCLEO-ISO1A32 વિસ્તરણ બોર્ડ પ્લગ કરો.
જો તમે એકબીજાની ઉપર બે બોર્ડ વાપરી રહ્યા છો, તો તેમને આકૃતિ 11 માં બતાવ્યા પ્રમાણે સ્ટેક કરો. - પગલું 2. બોર્ડને પાવર આપવા માટે USB કનેક્ટર CN32 દ્વારા USB કેબલનો ઉપયોગ કરીને STM1 ન્યુક્લિયો બોર્ડને PC સાથે કનેક્ટ કરો.
- પગલું 3. J1 ને 1V DC પાવર સપ્લાય સાથે જોડીને X-NUCLEO-ISO1A24 એક્સપાન્શન બોર્ડ(ઓ) ને પાવર આપો. જો સ્ટેક્ડ બોર્ડનો ઉપયોગ કરી રહ્યા છો, તો ખાતરી કરો કે બંને બોર્ડ પાવરથી ચાલે છે.
- પગલું 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 ટ્રેડમાર્ક વિશે વધારાની માહિતી માટે, www.st.com/trademarks નો સંદર્ભ લો. અન્ય તમામ ઉત્પાદન અથવા સેવાના નામો તેમના સંબંધિત માલિકોની મિલકત છે.
આ દસ્તાવેજમાંની માહિતી આ દસ્તાવેજના કોઈપણ અગાઉના સંસ્કરણોમાં અગાઉ પૂરા પાડવામાં આવેલ માહિતીને બદલે છે અને બદલે છે.
© 2025 STMicroelectronics – સર્વાધિકાર આરક્ષિત
દસ્તાવેજો / સંસાધનો
![]() |
STMicroelectronics UM3469 X-CUBE-ISO1 સોફ્ટવેર વિસ્તરણ [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 સોફ્ટવેર વિસ્તરણ, UM3469, X-CUBE-ISO1 સોફ્ટવેર વિસ્તરણ, સોફ્ટવેર વિસ્તરણ |

