ዝርዝር ሁኔታ:

ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር - 39 ደረጃዎች (ከስዕሎች ጋር)
ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር - 39 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር - 39 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር - 39 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Conected camera ov7670 to ZYBO Digilent 2024, ህዳር
Anonim
Image
Image
ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር
ZYBO OV7670 ካሜራ ከፓን/ዘንበል መቆጣጠሪያ ጋር

ባለ 2-ዘንግ servo PWM መቆጣጠሪያን በመፍጠር ላይ ለዝርዝር አንድ ደረጃን ይጀምሩ።

ለሙሉ ፕሮጀክቱ ግዙፍ የማገጃ ሥዕላዊ መግለጫ (ደረጃ 19) ይጀምሩ።

እኛ የተጠቀምንበት የካሜራ + ፓን/ዘንበል ማዋቀር

ከ Digilent የመጣው PmodCON3 አገልጋዮቹን ለማገናኘት ያገለግል ነበር።

ደረጃ 1 የ PWM ሞዱል-ምንጭ ፋይል መገንባት

ደረጃ 2 የ PWM ሞዱል መገንባት- የቪቫዶ ማዋቀር

የ PWM ሞዱል መገንባት- የቪቫዶ ማዋቀር
የ PWM ሞዱል መገንባት- የቪቫዶ ማዋቀር

በመጀመሪያ ፣ የቪቫዶ ዲዛይን Suite ን ከ Xilinx ድር ጣቢያ ያውርዱ። ቪቫዶ የሶፍትዌር ልማት ኪት (ኤስዲኬ) ን ጨምሮ ሁሉንም የንድፍ ስብስቡን ይጫኑ። ይህ ፕሮጀክት የ 2017.2 ስሪት ይጠቀማል።

ይህ በእንዲህ እንዳለ ዲጂሌንት አዴት 2 እንደ ዚቦ ቦርድ ነጂ ሆኖ መጫን አለበት።

ደረጃ 3 የ PWM ሞዱል መገንባት- የፕሮጀክት ፋይል ይፍጠሩ

የ PWM ሞዱል መገንባት- የፕሮጀክት ፋይል ይፍጠሩ
የ PWM ሞዱል መገንባት- የፕሮጀክት ፋይል ይፍጠሩ

የፕሮጀክት ፋይል ከመፍጠርዎ በፊት እዚህ እንደ አጋዥ ሥልጠና የዚቦ ፋይልን በትክክል መጫኑን ማረጋገጥ አለብዎት-

ቪቫዶ ስሪት 2015.1 እና በኋላ የቦርድ ፋይል ጭነት

ቪቫዶ 2017.2 ን ይክፈቱ። በፈጣን ጅምር ላይ ፕሮጀክት ፍጠር ላይ ጠቅ ያድርጉ -> ቀጣይ -> የፕሮጀክት ስም (የፕሮጀክትዎን ስም እዚህ ስም ይሰይሙ) -> የፕሮጀክት ዓይነት። በፕሮጀክት ዓይነት ላይ የ RTL ፕሮጀክት ይምረጡ እና “በዚህ ጊዜ ምንጮችን አይግለጹ” ላይ ምልክት ያድርጉ። በመቀጠል ፣ ለነባሪ ክፍሉ እንደ ማሳያ ስም “ቦርዶች” እና “ዚቦ” ን ይምረጡ። በመቀጠል ፕሮጀክቱን ለመጀመር ጨርስን ጠቅ ያድርጉ።

ደረጃ 4- የ PWM ሞዱል መገንባት- የዲዛይን እና የማገጃ ፋይል ቅንብር (I)

የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (I)
የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (I)

በ Flow Navigator ላይ “” ብሎክ ዲዛይን ፍጠር”ላይ ጠቅ ያድርጉ ፣ ከዚያ እሺን ይጫኑ። አስፈላጊ አይፒዎችን ለማከል የ “+” ምልክቱን ጠቅ ያድርጉ። አክል ፦

  • አንድ የ ZYNQ7 ማቀናበሪያ ስርዓት ሁለት AXI ሰዓት ቆጣሪ
  • ሁለት AXI ሰዓት ቆጣሪ

ደረጃ 5- የ PWM ሞዱል መገንባት- የዲዛይን እና የማገጃ ፋይል ቅንብር (II) አግድ

የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (II)
የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (II)

አይፒዎችን ካከሉ በኋላ አግድ አውቶማቲክ እና የግንኙነት አውቶማቲክን ያሂዱ። አውቶማቲክ አንዴ ከተጠናቀቀ ፣ “axi_timer_0” ብሎክ ላይ ፣ pwm0 -> ውጫዊ አድርግ የሚለውን በቀኝ ጠቅ ያድርጉ። Pwm0 የውጭውን ፒን እንደ pwm_Xaxis ብለው ይሰይሙ። እንዲሁም ከላይ ያለውን ሂደት በ “axi_timer_1” ብሎክ ላይ ይድገሙት እና pwm0 የውጭውን ፒን እንደ pwm_Zaxis ብለው ይሰይሙ።

ደረጃ 6- የ PWM ሞዱል መገንባት- የዲዛይን እና የማገጃ ፋይል ማቀናበር (III)

የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (III)
የ PWM ሞዱል መገንባት- የዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (III)

በቪቫዶ ውስጥ የማገጃ ዲዛይን በጨረስን ቁጥር የኤችዲኤል መጠቅለያ መፍጠር እንደሚያስፈልገን ልብ ይበሉ። ለእያንዳንዱ ፕሮጀክት የከፍተኛ ደረጃ ሞጁል ስለሚሆን።

ደረጃ 7- የ PWM ሞዱል መገንባት- ዲዛይን አግድ እና የግዴታ ፋይል ቅንብር (IV)

የ PWM ሞዱል መገንባት- የዲዛይን እና የእገዳ ፋይል ቅንብር (IV) አግድ
የ PWM ሞዱል መገንባት- የዲዛይን እና የእገዳ ፋይል ቅንብር (IV) አግድ

አሁን ፣ ከማገጃ ዲያግራማችን ጋር የተገናኙ ፒኖችን ለመመደብ የእኛን የግዴታ ፋይል ማዘጋጀት አለብን። የማገጃ ዲዛይን መስኮቱን ፣ በምንጮች ትር ላይ ፣ “ምንጮችን አክል”-> ገደቦችን ያክሉ ወይም ይፍጠሩ-> Zybo-Master.xdc ን እንደ እገዳ ፋይሎቻችን ያክሉ።

ደረጃ 8- የ PWM ሞዱል መገንባት- የዲዛይን እና የማገጃ ፋይል ቅንብር (ቪ) አግድ

የ PWM ሞዱል መገንባት- የዲዛይን እና የእገዳ ፋይል ቅንብር (ቪ) አግድ
የ PWM ሞዱል መገንባት- የዲዛይን እና የእገዳ ፋይል ቅንብር (ቪ) አግድ

የግዳጅ ፋይልን Zybo-Master.xdc ን ከግዳጅ አቃፊዎች ይክፈቱ ፣ እንደ የውጤት ምልክቶች ልንገልጽላቸው የምንፈልጋቸውን ወደቦች ያቃጥሉ እና XXXX በብሎግ ዲያግራም ውስጥ የተሰየመውን የውጭ ፒን ያመለክታል። የግዴታ ፋይል ቅንብር በስዕሉ ላይ ይታያል።

ደረጃ 9 የ PWM ሞዱል- የሃርድዌር ጭነት

የ PWM ሞዱል መገንባት- የሃርድዌር ጭነት
የ PWM ሞዱል መገንባት- የሃርድዌር ጭነት

የ servo ሞተሮችን ከ Pmod CON3 ጋር ያገናኙ። TowerPro SG90 በዚህ ፕሮጀክት ውስጥ የተጠቀምንበት የ servo ሞተር ሞዴል ነው። ለ servo ሞተር ሽቦዎች ፣ ብርቱካናማው ሽቦ በ Pmod CON3 ውስጥ ከ SIG ፒን ጋር የተገናኘውን የ PWM ምልክት ይወክላል። ቀይ ሽቦ Vcc በ Pmod CON3 ውስጥ ከ VS ፒን ጋር የተገናኘ የኃይል ሽቦ ነው። በመጨረሻም ፣ ቡናማ ሽቦው Gnd ከ GND ፒን ጋር የተገናኘ የመሬት ሽቦ ነው። በመቀጠል ዚምቦ ቦርድ ውስጥ ባለው የጄዲ ወደብ የላይኛው ረድፍ ላይ Pmod CON3 ን ያስገቡ።

ደረጃ 10 የ PWM ሞዱል መገንባት- Bitstream ን ይፍጠሩ እና ኤስዲኬን ያስጀምሩ

1. በፕሮጀክት ዳሳሽ አሳሽ ትር ውስጥ BitStream ን ይፍጠሩ።

2. ሃርድዌርን ወደ ውጭ ይላኩ-ፋይል> ወደ ውጭ ላክ> ወደ ውጭ ላክ ሃርድዌር-> “bitstream ያካትቱ” ላይ ምልክት ያድርጉ-> እሺ 3. ኤስዲኬን ያስጀምሩ-ፋይል-> ኤስዲኬን ያስጀምሩ።

ደረጃ 11 የ PWM ሞዱል መገንባት- በ Xilinx SDK ውስጥ አዲስ ትግበራ ይፍጠሩ

የ PWM ሞዱል መገንባት- በ Xilinx SDK ውስጥ አዲስ ትግበራ ይፍጠሩ
የ PWM ሞዱል መገንባት- በ Xilinx SDK ውስጥ አዲስ ትግበራ ይፍጠሩ

አዲስ መተግበሪያ ይፍጠሩ ፦

ፋይል> አዲስ> የትግበራ ፕሮጀክት -> የፕሮጀክትዎን ስም ያስገቡ -> ጨርስ

በፕሮጀክት ኤክስፕሎረር ስር ሶስት አቃፊዎች ሊኖሩ ይገባል።

በዚህ ሁኔታ ፣ “ዲዛይን_1_wrapper_hw_platform_0” ቀደም ሲል በቪቫዶ ወደ ውጭ የተላከ አቃፊ ነው። Axis_2_PWM_SDK_bsp የቦርድ ድጋፍ ጥቅል አቃፊ ነው። እና Axis_2_PWM_SDK በ SDK ውስጥ የእኛ ዋና የፕሮጀክት አቃፊ ነው። “Helloworld.c” ፋይል በ “src” አቃፊ ስር “helloworld.c” ዋናው ፋይል በሆነበት “axis_2_PWM_SDK” አቃፊ ስር ማየት ይችላሉ።

ደረጃ 12 የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (I)

የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (I)
የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (I)

በፕሮጀክት ኤክስፕሎረር ስር አንዳንድ ፋይሎችን እንፈትሽ። በመጀመሪያ በአቃፊው “ንድፍ_1_wrapper_hw_platform_0” ውስጥ “system.hdf” ን ይክፈቱ። ይህ ፋይል የአቀራረብ ካርታውን ለአቀነባባሪው ps7_cortex9 እና በእኛ ዲዛይን ውስጥ ያሉትን የአይፒ ብሎኮች ያሳያል።

ደረጃ 13 የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (II)

የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (II)
የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (II)

ከዚያ በ “Axis_2_PWM_SDK_bsp” አቃፊ ስር “ያካትቱ” እና “libsrc” ፋይልን ያረጋግጡ። የቤተ መፃህፍት ፋይሎች እዚህ “ያለመጫወት” ምዝገባዎች ከሃርድዌር መለዋወጫዎች ጋር እንድንገናኝ ያስችለናል።

ደረጃ 14 የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (III)

የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (III)
የ PWM ሞዱል መገንባት- የፕሮጀክቱ አሳሽ አጠቃላይ እይታ (III)

በቢኤስፒኤስ ሰነድ በኩል ፣ xtmrctr.h ከኤክሲአይ ሰዓት ቆጣሪ ጋር በተዛመደ የ Xilinx Timer መቆጣጠሪያ ቤተ -መጽሐፍት ሆኖ ተገኝቷል። በተለምዶ እኛ የተፈለገውን የ PWM ተግባር እዚህ ማግኘት እንችላለን። ሆኖም ፣ “tmrctr_v4_3” የሚለውን ሰነድ ካነበቡ ፣ አሽከርካሪው በአሁኑ ጊዜ የመሣሪያውን የ PWM አሠራር እንደማይደግፍ ያሳያል። በ PWM ተግባር ጉድለት ምክንያት በ xtmrctr.h እና AXI Timer v2.0 LogiCORE IP የምርት መመሪያ አማካኝነት የ PWM ተግባራችንን መጠቅለል አለብን።

ደረጃ 15 የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (I)

የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (I)
የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (I)

ወደ ዋናው ፋይል “helloworld.c” ይመለሱ ፣ የሚከተሉትን የራስጌ ፋይሎች ያካትቱ

ደረጃ 16 የ PWM ሞዱል መገንባት- የ PWM ተግባርን (II) ጠቅለል ያድርጉ

የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (II)
የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (II)

በ “xparameters.h” በኩል የሁለት AXI TImer መሰረታዊ አድራሻዎችን ይግለጹ።

ደረጃ 17 የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (III)

የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (III)
የ PWM ሞዱል መገንባት- የ PWM ተግባርን ጠቅለል (III)

የሚፈለገውን የ PWM ተግባር ይገንቡ።

Duty_val: የዲግሪ እሴቱን ወደ ግዴታ ዑደት ይለውጣል። የሰዓት ጊዜ እንዲሁ መመደብ አለበት።

PWM_START የ PWM መመዝገቢያ አድራሻውን ይመድቡ እና PWM ማመንጨት ይጀምሩ።

PWM_STOP - የ PWM መመዝገቢያ አድራሻ ይመድቡ እና PWM ማመንጨት ያቁሙ።

ቀሪው የማሳያ ኮድ በ “helloworld.c” ውስጥ በ “Axis_2_PWM_SDK” ስር ይታያል

ደረጃ 18 የ PWM ሞዱል መገንባት- እንዲሠራ ያድርጉት

1. በኤስዲኬ በኩል FPGA ን ያቅዱ

  • የ Zybo ሰሌዳውን በዩኤስቢ ወደብ ወደ ፒሲ ያገናኙ።
  • Xilinx Tools -> ፕሮግራም FPGA

2. ፕሮግራሙን ያሂዱ

በ “አሂድ” አዶ ላይ ጠቅ ያድርጉ እና ምናሌውን ይጣሉ -> እንደ አሂድ -> በሃርድዌር ላይ ያስጀምሩ

3. ኤስዲኬ ተርሚናል

  • የኤስዲኬ ተርሚናሉን ይክፈቱ -> ከ Serial Port ጋር ይገናኙ -> እሺ
  • ፕሮግራሙን ያሂዱ። የማሳያ ኮዱ በተሳካ ሁኔታ ከሄደ ፣ “ተነሳሽነት ተከናውኗል!” የሚለውን ማየት አለብዎት። በኤስዲኬ ተርሚናል ላይ።

ደረጃ 19 በ Digilent ZYBO ላይ በቪዲዮ ማቀናበር ከ OV7670 ጋር በዥረት መልቀቅ

የተሟላ የማኅደር ፋይል ተያይ attachedል።

ደረጃ 20: የተሟላ የማገጃ ሥዕል

የተሟላ የማገጃ ሥዕል
የተሟላ የማገጃ ሥዕል

ይህ በፕሮጀክቱ ውስጥ የሁሉንም ግንኙነቶች እና የአይፒ ብሎኮችን የተሟላ ንድፍ ያሳያል

ደረጃ 21: OV7670 ን ከ ZYBO ጋር ያገናኙ

OV7670 ን ከ ZYBO ጋር ያገናኙ
OV7670 ን ከ ZYBO ጋር ያገናኙ

የ ov7670 ሞጁሉን ከ ZYBO Pmods ጋር ለማገናኘት ግንኙነት ይፍጠሩ

የውሂብ Pmod Pmod D ነው

Pmod ን መቆጣጠር Pmod C ነው

በተጨማሪም ፣ በዚህ አጋዥ ስልጠና የመጀመሪያ አጋማሽ ላይ እንደተገለጸው PmodCON3 እና servos ን ያገናኙ

ደረጃ 22 አግድ ንድፍ ይፍጠሩ

አግድ ንድፍ ይፍጠሩ
አግድ ንድፍ ይፍጠሩ

በወራጅ አሳሽ ውስጥ “አግድ ንድፍ ፍጠር” ላይ ጠቅ ያድርጉ ፣ ከዚያ እሺን ይጫኑ።

ደረጃ 23 ለ OV7670 ካሜራ ቁጥጥር እና ቀረፃ የ VHDL ፋይሎችን ያክሉ

ከዚህ ደረጃ ጋር የተያያዙ የ VHDL ፋይሎችን በፕሮጀክቱ ላይ ያክሉ

ደረጃ 24: የእገዳዎች ፋይል ያክሉ

የተያያዘውን የእገዳዎች ፋይል ወደ ፕሮጀክትዎ ያክሉ።

ደረጃ 25 ለኤችኤልኤስ አይፒ የአይፒ ሬፖን ያክሉ

ለኤችኤልኤስ አይፒ የአይፒ ሬፖን ያክሉ
ለኤችኤልኤስ አይፒ የአይፒ ሬፖን ያክሉ

የተያያዘውን የዚፕ ፋይል ይውሰዱ እና በተመሳሳይ “HLS_repo” በተሰኘው አዲስ ማውጫ (አቃፊ) ውስጥ ወደተሰየመው አዲስ አቃፊ ይንቀሉት።

ወደ አይፒ ካታሎግ በመሄድ በፕሮጀክትዎ ላይ የአይፒ ማከማቻን ያክሉ እና “ማከማቻ አክል…” ን በመምረጥ በቀኝ ጠቅ ያድርጉ።

ወደ የእርስዎ «HLS_repo» ማውጫ ይሂዱ እና ይምረጡት።

እንደ አማራጭ የ HLS ቪዲዮ ማቀነባበሪያ ብሎክን ለራስዎ ይፍጠሩ!

ደረጃ 26 ሞጁሎችን እና አይፒን ያክሉ

ሞጁሎችን እና አይፒን ያክሉ
ሞጁሎችን እና አይፒን ያክሉ
ሞጁሎችን እና አይፒን ያክሉ
ሞጁሎችን እና አይፒን ያክሉ

ዳራውን በቀኝ ጠቅ በማድረግ እና “ሞዱል አክል…” ን በመምረጥ ov7670_axi_stream_capture ፣ debounce እና ov7670_controller modules ን ወደ ብሎክ ዲያግራም ያክሉ።

በተመሳሳይ ፣ አይፒዎችን ያክሉ

  • HLS_Video_Track
  • የቪዲዮ ፍሬም ቋት ይፃፉ
  • የቪዲዮ ፍሬም ቋት አንብብ
  • የቪዲዮ የጊዜ መቆጣጠሪያ
  • ቪዲዮ ወደ ውጭ ለመውጣት AXI4- ዥረት
  • 3 ከ "ቁራጭ"
  • የማያቋርጥ
  • 2 የ AXI ሰዓት ቆጣሪ

ደረጃ 27 የአይፒ ውቅረት ቅንብሮች

የአይፒ ውቅረት ቅንብሮች
የአይፒ ውቅረት ቅንብሮች
የአይፒ ውቅረት ቅንብሮች
የአይፒ ውቅረት ቅንብሮች
የአይፒ ውቅረት ቅንብሮች
የአይፒ ውቅረት ቅንብሮች

በስዕሎች ላይ እንደሚታየው

ደረጃ 28: PS IP Block ን ያክሉ እና ያዋቅሩ

PS IP አግድ ያክሉ እና ያዋቅሩ
PS IP አግድ ያክሉ እና ያዋቅሩ
PS IP አግድ ያክሉ እና ያዋቅሩ
PS IP አግድ ያክሉ እና ያዋቅሩ

ወደ የማገጃ ሥዕሉ የ ZYNQ7 ማቀነባበሪያ ስርዓትን ያክሉ

አወቃቀሩን ያርትዑ:

  • የ PS-PL ውቅር

    • ኤች.ፒ

      • ኤስ HP 0 ን ያንቁ
      • ኤስ HP 1 ን ያንቁ
  • የሰዓት አመክንዮ

    • PL የጨርቅ ሰዓቶች

      • FCLK_0 በ 100 ሜኸ
      • FCLK_1 በ 25 ሜኸ (የውጤት ሰዓት)
      • FLCK_2 በ 35 ሜኸ (<= 50 ሜኸ) (ካሜራ ሰዓት)

ደረጃ 29 ክፍል 1. ለ Servo Motors የ PWM ሞዱል መገንባት

Axi_timer_0 pwm0 ን ወደ አዲስ የውጤት ወደብ pwm_Xaxis ያውጡ

Axi_timer_1 pwm0 ን ወደ አዲስ የውጤት ወደብ pwm_Zaxis ያውጡ

ደረጃ 30: የቪዲዮ ግቤት የጎን ግንኙነቶች (aclk የደመቀ)

የቪዲዮ ግቤት የጎን ግንኙነቶች (aclk የደመቀ)
የቪዲዮ ግቤት የጎን ግንኙነቶች (aclk የደመቀ)

የቪዲዮ ግቤት ጎን የአይፒ ብሎኮችን በትክክል ያገናኙ

(* እነዚህ ግንኙነቶች በግንኙነት አውቶማቲክ ጊዜ ትክክለኛ አማራጮችን በመምረጥ መፈጠር አለባቸው) “aclk” ከ axi_stream_capture ወደሚከተለው ይሄዳል

  • ap_clk በቪዲዮ ክፈፍ ቋት ይፃፉ
  • ap_clk በ HLS ቪዲዮ ዥረት ማቀነባበሪያ እገዳ ላይ
  • *ከቪዲዮ ክፈፍ ቋት ወደ S_AXI_HP0 ፃፍ በ AXI ዘመናዊ ግንኙነት IP ላይ aclk
  • *ለኤችኤችኤስ ቪዲዮ ማቀነባበሪያ ማገጃ ለ S_AXI ሰርጦች እና የቪዲዮ ክፈፍ ቋሚው በ PS ብሎክ ላይ S_AXI_HP0_ACLK ይፃፉ ከኤክስኤ በይነ ግንኙነት አገናኝ ሰርጦች ጋር የሚዛመድ aclk።

የቪዲዮ ዥረት ምልክት በቀላሉ ከመያዣው ብሎክ ወደ ዚንክ የማስታወሻ በይነገጽ በተከታታይ ተገናኝቷል።

  • ቪዲዮው ከመያዣ ብሎክ ወደ HLS ማቀናበሪያ ብሎክ ይሄዳል።
  • ከኤች.ኤል.ኤስ ብሎክ የተሰራው ቪዲዮ ወደ ፍሬም ቋት መጻፊያ ብሎክ ይሄዳል።
  • *የፍሬም ቋት መፃፊያ ብሎክ በ Zynq PS ብሎክ ላይ ከ HP0 በይነገጽ ጋር ይገናኛል።
  • ከተያዘው የማገጃ ውፅዓት የ m_axis_tuser ምልክት በ HLS ማቀነባበሪያ ማገጃ ላይ እና በተመሳሳይ ብሎክ ላይ ለ ap_start ምልክት በሁለቱም ለቪዲዮ_ኢን_TUSER የግብዓት ምልክት በእጅ ተገናኝቷል።

የ TUSER (tuser) ምልክት የቪድዮውን ፍሬም መጀመሩን ለማመልከት በ AXI ቪዲዮ ዥረት ፕሮቶኮል ጥቅም ላይ ይውላል። AP_Start ሂደቱን ለመጀመር የ HLS ብሎኩን ይነግረዋል። ስለሆነም እያንዳንዱ ክፈፍ እንደ እሱ ለማስኬድ የ HLS ብሎክን ለማነሳሳት ጠቋሚን እንጠቀማለን። ይመጣል። የአውቶቡስን አንድ ነጠላ ምልክት ሲያገናኙ እና በዚህ መንገድ ሲከፋፈሉ የቀሪውን አውቶቡስ መደበኛውን የማቋረጫ ነጥብ ማገናኘትም አስፈላጊ ነው። ቪቫዶ ምልክቱን በእጅ የሚያገናኙ ከሆነ በተለምዶ የሚገናኝበትን ለማለያየት እንደሚፈልጉ ያስባል።

የአይፒ ብሎኮች የማዋቀር ቅንብሮች

የቪዲዮ ክፈፍ ቋት ይፃፉ

የቪዲዮ ቅርፀቶች: RGB8

1 ናሙና በሰዓት ከፍተኛ ዓምዶች 1280 (> = 640) ከፍተኛ ረድፎች 960 (> = 480) ከፍተኛ የውሂብ ስፋት 8

ደረጃ 31 ከ OV7670 ጋር ግንኙነቶች

ወደ OV7670 ግንኙነቶች
ወደ OV7670 ግንኙነቶች

በ ov7670_axi_stream_capture ብሎክ ላይ

  • ሁሉንም ግብዓቶች ውጫዊ ያድርጉ (በፒን ላይ በቀኝ ጠቅ ያድርጉ እና ከምናሌው ይምረጡ ፣ ወይም በግራ ጠቅ ያድርጉ-> ctrl+T)
  • ስሞቹን እንዳሉ ይተው

በ ov7670_controller block ላይ

  • ሁሉንም የማገጃ ውጤቶች ውጫዊ ያድርጉ
  • የተዋቀረውን ወደብ ወደ መሪ 0 ይለውጡት
  • clk ን ወደ ካሜራ ሰዓት (<= 50MHz) (FCLK_2) ያገናኙ

በዲቦክሱ ብሎክ ላይ

  • የአዝራር 1 ግቤትን btn0 ከሚባል የውጭ የግብዓት ወደብ ጋር ያገናኙ
  • በ “ov7670_controller IP block” ላይ “out1” ን ከ “ዳግም መላኪያ” መስመር ጋር ያገናኙ
  • የአዝራር 2 ግቤትን btn3 ከሚባል የውጭ የግብዓት ወደብ ጋር ያገናኙ
  • ለቪዲዮ መቅረጫ ሰዓት ጎራ በአቀነባባሪው ስርዓት ዳግም ማስጀመር IP ላይ out2n ን ወደ ext_reset_in ግብዓት ያገናኙ። (*ይህ አይፒ ከተፈጠረ በኋላ ይህ መደረግ አለበት*)
  • clk ን ወደ ካሜራ ሰዓት (<= 50MHz) (FCLK_2) ያገናኙ

ደረጃ 32 - በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች

በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች
በቪዲዮ ውጭ ጎን ላይ ያሉ ግንኙነቶች

ብሎኮች የቪዲዮ የጊዜ መቆጣጠሪያ (VTC) ፣ AXI4- ዥረት ለቪዲዮ መውጫ እና ቁርጥራጮች ግንኙነቶች

  • ለ vid_io_out_clk እና VTC clk 25MHz ሰዓት (FCLK_1) ይጠቀሙ
  • ለቪዲዮ ውፅዓት በ AXI4- ዥረት ላይ ለመደመር 100 ሜኸ ሰዓት (FCLK_0) ይጠቀሙ
  • vtiming_out to vtiming_in ውስጥ
  • የቪዲዮ ፍሬም ቋት አንብብ m_axis_video ወደ ቪዲዮ አውርድ ቪዲዮ_in ወደ AXI4-Stream ይሄዳል።
  • vtg_ce ወደ gen_clken ይሄዳል
  • VTC clken ፣ aclken ፣ vid_io_out_ce ን ወደ ቋሚ ዶት [0: 0]
  • በቅደም ተከተል vid_hsync እና vid_vsync ን ወደ ውጫዊ የውጤት ወደቦች vga_hs እና vga_vs ያውጡ። (ምስል አይደለም)

ቁርጥራጮች

  • በተያያዙ ስዕሎች ውስጥ እንደሚታየው ቁርጥራጮች መዋቀር አለባቸው

    • ብሎኮቹን ወደ slice_red ፣ slice_green እና slice_blue እንደገና ይሰይሙ
    • በማገጃው ስም በምስሎቹ ላይ እንደሚታየው የማዋቀሪያ ቁራጭ ክልሎች
    • በምስል ላይ እንደሚታየው እያንዳንዱን የተቆራረጠ ውፅዓት ከውጭ ወደብ ውፅዓት ጋር ያገናኙ።
  • vid_data [23: 0] ለእያንዳንዱ ቁራጭ ከግብዓቶች ጋር ይገናኛል (ዲን [23: 0])

ደረጃ 33 አግድ እና የግንኙነት አውቶማቲክን ያሂዱ

አግድ እና የግንኙነት አውቶማቲክን አሂድ
አግድ እና የግንኙነት አውቶማቲክን አሂድ
አግድ እና የግንኙነት አውቶማቲክን አሂድ
አግድ እና የግንኙነት አውቶማቲክን አሂድ
አግድ እና የግንኙነት አውቶማቲክን አሂድ
አግድ እና የግንኙነት አውቶማቲክን አሂድ

ነገሮችን ከ ZYNQ7 PS ብሎክ ለማገናኘት አግድ አውቶማቲክን ያሂዱ። በስዕሉ እንደሚታየው።

ሁሉንም የግንኙነት አይፒ ለመፍጠር የግንኙነት አውቶማቲክን ያሂዱ። በእያንዳንዱ ሥዕል ውስጥ ላሉት ሁሉም አማራጮች በትኩረት ይከታተሉ።

በማራገፍ እገዳው ላይ ከቪዲዮ መቅረጫ ሰዓት ጎራ የአሠራር ስርዓት ዳግም ማስጀመር ext_reset_in ግብዓት ውጭ 2n ን ያገናኙ።

ደረጃ 34 የኤችዲኤል መጠቅለያ ይፍጠሩ

የኤችዲኤል መጠቅለያ ያመንጩ
የኤችዲኤል መጠቅለያ ያመንጩ

ለእርስዎ የማገጃ ንድፍ ኤችዲኤል መጠቅለያውን ያመንጩ።

እንደ የላይኛው ሞጁል አድርገው ያዘጋጁት።

ደረጃ 35 Bitstream ን ይፍጠሩ ፣ ሃርድዌርን ወደ ኤስዲኬ ይላኩ ፣ ኤስዲኬን ከቪቫዶ ያስጀምሩ

ወደ ውጭ መላክ ውስጥ የትንሽ ፍሰት ማካተትዎን ያረጋግጡ።

የትንሽ ፍሰት ማመንጨት በጣም ረጅም ጊዜ ሊወስድ ይችላል።

ከዚያ ኤስዲኬን ያስጀምሩ

ደረጃ 36 ኤስዲኬ (FreeRTOS የለም)

ኤስዲኬ (FreeRTOS የለም)
ኤስዲኬ (FreeRTOS የለም)

ይህ ስሪት FreeRTOS ን ሳይጠቀም ሁሉንም ነገር በጥሩ ሁኔታ ኮዱን ያጣምራል።

በሃርድዌር ዲዛይን ላይ በመመስረት ራሱን የቻለ BSP ይፍጠሩ። ነባሪ አማራጮች ጥሩ መሆን አለባቸው። የ BSP ምንጮች መፈጠራቸውን ያረጋግጡ።

በስዕሉ ላይ እንደሚታየው መተግበሪያን ይፍጠሩ። (ባዶ ትግበራ)

በራስ -ሰር የተፈጠረውን ዋናውን ይሰርዙ እና የተያያዙ ፋይሎችን ያስመጡ።

ደረጃ 37 የ FreeRTOS ትግበራ

የ FreeRTOS ትግበራ
የ FreeRTOS ትግበራ

ይህ ስሪት FreeRTOS ን ይጠቀማል በሃርድዌር ዲዛይን ላይ በመመስረት FreeRTOS901 BSP ይፍጠሩ። ነባሪ አማራጮች ጥሩ መሆን አለባቸው። የ BSP ምንጮች መፈጠራቸውን ያረጋግጡ።

በስዕሉ ላይ እንደሚታየው መተግበሪያን ይፍጠሩ። (ባዶ ትግበራ)

በራስ -ሰር የተፈጠረውን ዋናውን ይሰርዙ እና የተያያዙ ፋይሎችን ያስመጡ።

ደረጃ 38 የአጠቃቀም መመሪያዎች

ይህ ፕሮጀክት ለማሄድ ትንሽ አስቸጋሪ ነው። ቅደም ተከተሎችን ይከተሉ።

የእርስዎ ZYBO ኃይል በሚነሳበት ጊዜ ማንኛውንም ነገር በራሱ የማይጭን መሆኑን ያረጋግጡ። ይህ ማለት የተከናወነው LED መብራት የለበትም ማለት ነው። ይህንን ለማድረግ አንዱ መንገድ የማስነሻ ምንጭ መዝለያውን ወደ JTAG ማዘጋጀት ነው።

ከ SDK ፕሮግራም ለማውጣት የፈለጉትን ፕሮጀክት (FreeRTOS ወይም አይደለም) ይክፈቱ

  1. የእርስዎን ZYBO ያብሩ። የተከናወነው LED መብራት የለበትም።
  2. FPGA ን ከቢት ፋይል ጋር ፕሮግራም ያድርጉ። የተከናወነው LED መብራት አለበት። Led0 መብራት የለበትም።
  3. ኮዱን ያሂዱ (ያንን ካደረጉ የመነሻ ነጥቡን ማለፍዎን ያስታውሱ)።

በዚህ ጊዜ በእርስዎ ቪጂኤ ማሳያ ላይ ውፅዓት ማግኘት አለብዎት።

እንደገና ለማስጀመር (የሚጎዳ ከሆነ ወይም ሌላ ከሆነ)-በፍጥነት የ PS-SRST አዝራሩን መታ ያድርጉ ወይም ZYBO ን ያጥፉ እና ከዚያ ያብሩት። ከደረጃ 2 ይቀጥሉ።

ማቀነባበሪያውን ከአራሚው ጋር ማቆም ካሜራው ከመንቀሳቀስ ይልቅ ቦታውን እንዲይዝ ያደርገዋል። የቪዲዮ ዥረቱ ለማንኛውም ይቀጥላል።

ደረጃ 39 ማጣቀሻዎች እና አገናኞች

የ Xilinx ማጣቀሻ መመሪያዎች እና ሰነዶች

  • PG044 - ቪዲዮን ለማውጣት AXI- ዥረት
  • PG278 - የቪዲዮ ክፈፍ ቋት አንብብ/ፃፍ

ሌሎች አገናኞች ፦

  • የሎሪ ብሎግ - የ VDMA ግብዓት
  • የላሪ ብሎግ - BVAM ን በመጠቀም OV7670 ወደ ቪጂኤ ውፅዓት
  • Hamsterworks wiki ፣ በ Mike Fields ፣ የ OV7670 ኮድ የመጀመሪያ ምንጭ
  • መሠረታዊ የጊዜ መግለጫዎችን የሚያሳይ የውሂብ ሉህ

የሚመከር: