ዝርዝር ሁኔታ:

ከ FPGA ውስጥ ማንኛውንም ዳሳሽ ያድርጉ - 4 ደረጃዎች
ከ FPGA ውስጥ ማንኛውንም ዳሳሽ ያድርጉ - 4 ደረጃዎች

ቪዲዮ: ከ FPGA ውስጥ ማንኛውንም ዳሳሽ ያድርጉ - 4 ደረጃዎች

ቪዲዮ: ከ FPGA ውስጥ ማንኛውንም ዳሳሽ ያድርጉ - 4 ደረጃዎች
ቪዲዮ: የ EPROM / EEPROM ውሂብ እንዴት እንደሚነበብ 2024, ሀምሌ
Anonim
Image
Image
ኤፍ.ፒ.ጂ
ኤፍ.ፒ.ጂ

አብዛኛዎቹ ሰሪዎች በሕይወታቸው ውስጥ ቢያንስ አንድ ጊዜ ቴርሞሜትር ለመገንባት ሞክረዋል ፣ ምናልባት በቤት ውስጥ ያለው በቂ ብልጥ አይደለም ፣ ወይም ምናልባት ቀጣዩን NEST መገንባት ይችላሉ ብለው ያስባሉ። የሆነ ሆኖ ፣ በተወሰነ ደረጃ ከዘመናዊ ሶፍትዌራቸው ጋር የሙቀት መቆጣጠሪያ ዳሳሽ (እና ምናልባትም ሌሎች አነፍናፊዎች ግፊት ፣ ብርሃን) ጋር ተገናኝተው ማይክሮ መቆጣጠሪያ አላቸው። እስከ አሁን ድረስ ሁሉም ነገር ፍጹም ነው ፣ ሶፍትዌሩ እየሰራ ነው እና ዳሳሽ እያስተዋለ ነው። እንፈትነው!

እምም… ምናልባት የፀጉር ማድረቂያውን በመጠቀም አነፍናፊውን ማሞቅ እና በረዶን በመጠቀም ማቀዝቀዝ አለበት ፣ ለጊዜው ይሠራል። ግን ሙያዊ አይመስልም ፣ አነፍናፊው እሳቱን ካሞቁ በፍጥነት ይለውጣል ፣ ከሁለት ዲግሪዎች አይበልጥም። ፕሮጀክቱ የተበላሸ ነው! ግን ስልተ ቀመር አዲስ ነው ፣ ብዙ ነገሮችን ግምት ውስጥ ያስገባል ፣ በዚህ ሞኝ ጥቃቅን ነገር ላይ ተጣብቆ መቆየቱ እንዴት የሚያሳፍር ነው።

የእኔ መፍትሔ ይህ ነው-ከፒሲ (ወይም በማህደረ ትውስታ ውስጥ የተከማቸ ፣ ወይም በ FPGA ውስጥ ማስታወቂያ-ሆክ የተፈጠረ) እሴቶችን የያዘ የ FPGA እንደ አነፍናፊ ያድርጉ። ስለዚህ ለእርስዎ ውድ MCU FPGA እንደ ዳሳሽ ይመስላል ፣ ግን ማንኛውም አነፍናፊ አይደለም - የትኛውን ዳሳሽ ይወዳሉ። ምናልባት ከተጠበቀው በላይ ብዙ የመፍትሄ ወይም ፈጣን የምላሽ ጊዜ እንደሚፈልጉ ይወስናሉ ፣ ዳሳሹን መለወጥ አለብዎት። በመስመር ላይ ይዘዙት ፣ በሁለት ቀናት ውስጥ ይመጣል ፣ ከሁለት ወራት በኋላ ፣ ማን ያውቃል። የእርስዎን ፒሲቢ እንደገና ይድገሙት ወይም ከአዲሱ ዳሳሽ ጋር ሞጁሉን ያዝዙ። ወይም… ሁለት ጠቅታዎች እና ኤፍፒጂኤ እንደ የእርስዎ አዲስ አነፍናፊ ሆኖ የተዋቀረ ሲሆን ትክክለኛውን የውስጥ ውቅር ሊኮርጅ ይችላል።

ይህንን በሚጽፍበት ቅጽበት ፣ FPGA በብራም (በ FPGA ላይ) ከተከማቸ የሙቀት መረጃ ጋር እንደ LM75 ሆኖ ሊያገለግል ይችላል።

ደረጃ 1 - MCU

የእኔ ምርጫ MCU በ LPCXpresso ላይ LPC4337 ነው። በላዩ ላይ ማሳያ እና እውነተኛ የኤል ኤም 75 ዳሳሽ ያለው ጋሻ (ኤል.ሲ.ሲ አጠቃላይ ዓላማ ጋሻ) አለኝ። LPC4337 በ 200 ሜኸ እና አነስ ያለ ኮርቴክስ ኤም 0 (እዚህ ጥቅም ላይ ያልዋለ) የሚሠራ ARM Cortex M4 ነው። እውነተኛው ዳሳሽ ከ I2C1 ዳርቻ ጋር ተገናኝቷል እናም የእኛ ምናባዊ ከ I2C0 ጋር ይገናኛል። ምንጩ በእኔ GitHub ላይ ይገኛል።

እንዴት ይገንቡት? LPCXpresso IDE ን ከ LPCOpen ቤተ -መጽሐፍት ጋር ያውርዱ። ያንን ቤተ -መጽሐፍት ወደ IDE ያስመጡ እና እንዲሁም ፕሮጀክቱን ከ GitHub ይክፈቱ። ሁሉም ነገር መዋቀር አለበት እና ከታች በግራ ጥግ ላይ “አርም” ላይ ጠቅ ማድረግ ይችላሉ።

ጠቅላላው ፕሮጀክት በአንደኛው የ NXP ምሳሌዎች ላይ የተመሠረተ ነው (የእኔ ፕሮጀክት እውነተኛ ዳሳሽ አስመስሎ ለማሳየት እና በ MCU በኩል ልዩ ኮድ እንደማያስፈልገው ለማሳየት)። በዋናው ፋይል (iox_sensor.cpp ተብሎ ይጠራል) ይህ ኮድ ይገኝበታል

#SENSORS_ON_SHIELD ን ይግለጹ

#ከተገለጸ (SENSORS_ON_SHIELD) #መግለፅ SHIELD_I2C I2C1 #ኤሊፍ ተገለጸ (SENSORS_ON_FPGA) #defiine SHIELD_I2C I2C0 #endif

SENSOR_ON_SHIELD ን እና SENSOR_OR_FPGA ን በመለወጥ ተጠቃሚው በተለያዩ የ I2C ፒኖች ላይ እንዳሉ ወደ የትኛው አነፍናፊ ፣ እውነተኛው ወይም ምናባዊው እንደሚነጋገር በማጠናቀር ጊዜ መቀየር ይችላል።

ደረጃ 2 FPGA

የእኔ የ FPGA ቦርድ በዲጂሊንት የተሰራ አርኪክስ 7 ነው ፣ Xilinx Arty 7. ሁለት የ PMod አያያ usedች ጥቅም ላይ ይውላሉ ፣ አንዱ ለማረም እና አንዱ ለእውነተኛ የክፍያ ጭነት ፣ ከ MCU ቦርድ ጋር ያለው ግንኙነት።

እንደገና ፣ የ FPGA ምንጭ ኮድ በእኔ GitHub (fpgaSide አቃፊ) ላይ ይገኛል።

እንዴት ይገንቡት? Xilinx Vivado IDE ን ያውርዱ ፣ ይግዙ ወይም ይክፈቱ። የፕሮጀክት ፋይሎችን ከ GitHub ያስመጡ። ከፋይሎቹ አንዱ (content.coe) ወደ ሐሰተኛ አነፍናፊ የሚለቀቀው በጥሬ ቅርጸት ያለው የሙቀት መጠን መረጃ ነው። የሰው ሊነበብ የሚችል የሙቀት መረጃን ወደ ጥሬ LM75 ውሂብ ለመለወጥ የሚረዳ ተመሳሳይ ስም ያለው የ Excel ፋይልም አለ። በጃቫ በተፃፈው ሶፍትዌር ቁራጭ ይህንን ወደ አውቶማቲክ ሂደት ለመቀየር አቅጃለሁ ግን እስከዚያ ድረስ ይህ መፍትሔ ይሠራል። ውህደት እና ኢምፕላይዜሽን ትንሽ ጊዜ ሊወስድ ይገባል ፣ ይህንን ግምት ውስጥ ያስገቡ።

ደረጃ 3: እንዴት ይሠራል?

እንዴት ነው የሚሰራው?
እንዴት ነው የሚሰራው?
እንዴት ነው የሚሰራው?
እንዴት ነው የሚሰራው?

እኔ እንደተናገርኩት ፣ ለ MCU ፣ ኤፍ.ፒ.ጂ ዳሳሽ ይመስላል ፣ በትክክል I2C ዳሳሽ ይመስላል። የ I2C ተጓዳኝ ውፅዓት ከ FPGA ግብዓት ጋር ተገናኝቷል። በ FPGA ውስጥ 3 ዋና ዋና ክፍሎች አሉ-- I2C Controller- I2C Device- Data የ I2C ተቆጣጣሪው የ I2C መረጃን ከ FPGA ፒኖች ተቀብሎ ወደ ቀሪው FPGA ይልካል እና በተቃራኒው ቅደም ተከተል ተመሳሳይ ያደርጋል። ለ I2C ፕሮቶኮል የውስጥ ግዛት ማሽንን ይይዛል (በነገራችን ላይ ለእሱ ሰነዶች እዚህ አሉ)። ይህ አካል ወደ I2C መሣሪያ ምን ይልካል? በአሁኑ ጊዜ የተቀበለው ባይት ፣ አሁን ባለው የግንኙነት ውስጥ የዚያ ባይት አቀማመጥ እና ኤም.ሲ.ኤፍ ከ FPGA እየፃፈ ወይም እያነበበ ነው። የ I2C መሣሪያ የተላከውን ባይት ይቀበላል እና የአነፍናፊውን አስመስሎ ውስጣዊ መዋቅር ያዘምናል። የመመዝገቢያ ጠቋሚውን ማዘመን ወይም ከመረጃ ምንጭ አዲስ ውሂብ ሊጠይቅ ይችላል። የውሂብ ክፍሉ አዲስ የውሂብ ነጥቦችን ያሰራጫል። በአሁኑ ጊዜ አድራሻቸው (በግምት) በሰከንድ ሁለት ጊዜ የጨመረ የሮማ ማህደረ ትውስታ ብቻ ነው።

የመጨረሻ ግቤ ምንድነው? በሁለተኛው ሥዕል ላይ ይታያል። ያ ማለት - ተጨማሪ የ I2C መሣሪያዎች (ዳሳሾች እና ሌሎች) በ FPGA ውስጥ በተመሳሳይ ጊዜ ማስመሰል እንዲቻል ያድርጉ። በ FPGA ውስጥ የተሸጎጠ እና ከፒሲ በዩኤስቢ ወይም በኤተርኔት የሚለቀቀው በአነፍናፊው ጀርባ ላይ ያለው መረጃ። የበለጠ የላቁ ዳሳሾችን እና ሌሎች የ I2C መሳሪያዎችን (ማህደረ ትውስታ ፣ የ LED ነጂዎች ወዘተ) ይደግፉ።

ደረጃ 4 - ሁሉንም በአንድ ላይ ማዋሃድ

ሁሉንም በአንድ ላይ ማዋሃድ
ሁሉንም በአንድ ላይ ማዋሃድ
ሁሉንም በአንድ ላይ ማዋሃድ
ሁሉንም በአንድ ላይ ማዋሃድ

ሁሉንም ነገር ከአጋጣሚ ጋር ለማገናኘት ጊዜው አሁን ነው። በንድፈ ሀሳብ ፣ ቀላል ነው - የ mcu ቦርድ የ PMod አያያዥ (I2C0 እና SSP0 (እንደ SPI ሊሠራ ይችላል)) አለው። የአርክቲክስ ቦርድ በፈለጉት መንገድ ጥቅም ላይ ሊውሉ የሚችሉ 4 PMod አያያ hasች አሉት። ከሎጂክ ተንታኝዬ ጋር ለመገናኘት ከ MCU እና አገናኝ ቢ ጋር ለመነጋገር አገናኝ D ን እመርጣለሁ።

ማስጠንቀቂያ

ልክ እንደዚያ ሁለቱን ሰሌዳዎች አንድ ላይ ማገናኘት አይችሉም። እንዴት? PMod የተገነባው የማስተር/አስተናጋጅ ቦርድ (ኃይልን የሚሰጥ) ከባሪያ/ዳሳሽ ቦርድ (ኃይልን ለሚቀበል) ግንኙነት ለማቃለል ነው። ግን በዚህ ፕሮጀክት ውስጥ ሁለቱም ቦርዶች ኃይል ይሰጣሉ እና የ 3.3V ውፅአትን ከአንድ ሰሌዳ ወደ 3.3 ቪ ውፅዓት ከሌላ ቦርድ መጥፎ ነገሮች ሊከሰቱ ይችላሉ። ግን እነሱ ላይሆኑ ይችላሉ እና እርስዎ የ FPGA የኃይል ሀዲዶችን መለኪያዎች መለወጥ ይችላሉ (እነሱ በጣም በጥንቃቄ የተነደፉ ናቸው)። ስለዚህ ይህንን አደጋ አይውሰዱ እና ከላይ ባሉት ሥዕሎች ላይ እንደሚታየው አገናኙን አንድ ፒን ወደ ግራ (እንዲሁም የ FPGA ሰሌዳውን ያንሸራትቱ)። እዚህ የ PMod ዝርዝር መግለጫ ነው ፣ እሱን ማጥናት አይችሉም ፣ በአጭሩ ያደረግሁት የሁለቱ ሰሌዳዎች ቪሲሲዎችን አለማገናኘት ነው።

የሚመከር: