K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)

சில ஆண்டுகளுக்கு முன்பு மிலாண்டரில் இருந்து ரஷ்ய மைக்ரோகண்ட்ரோலர்களுடன் பழகினேன். 2013-2008 ஆம் ஆண்டிற்கான ஃபெடரல் இலக்கு திட்டத்தின் "எலக்ட்ரானிக் கூறு அடிப்படை மற்றும் ரேடியோ எலக்ட்ரானிக்ஸ் மேம்பாடு" இன் முதல் முடிவுகளை பொறியாளர்கள் தீவிரமாக விவாதித்தபோது அது 2015 இல் இருந்தது. அந்த நேரத்தில், K1986BE9x கட்டுப்படுத்தி (கார்டெக்ஸ்-எம்3 கோர்) ஏற்கனவே வெளியிடப்பட்டது, மேலும் 1986BE1T கட்டுப்படுத்தி (கார்டெக்ஸ்-எம்1 கோர்) தோன்றியது. அவர், பிளாஸ்டிக் LQFP-144 வழக்கில், ஆவணத்தில் K1986BE1QI (விமானம்) என்ற பதவியையும், சிப்பில் MDR32F1QI என்ற பதவியையும் கொண்டிருந்தார். உற்பத்தியாளரின் இணையதளத்தில், இது "காற்று" என்ற பின்னொட்டைக் கொண்டுள்ளது, ஏனெனில் இது விமானத் துறைக்கான குறிப்பிட்ட இடைமுகங்களைக் கொண்டுள்ளது (ARINC 429, MIL_STD_1553).

ஆச்சரியப்படும் விதமாக, இந்த கன்ட்ரோலர்களை விநியோகிக்கும் நேரத்தில், மிலாண்டர் நிறுவனம் பிழைத்திருத்த கருவிகள் மற்றும் உபகரணங்களுடன் பணிபுரியும் துணை நிரல்களின் நூலகத்தைத் தயாரித்தது, "ஆனால் நூலகத்தின் சரியான தன்மை குறித்த கூடுதல் உத்தரவாதங்கள் மற்றும் கடமைகள் இல்லாமல்." இந்த நூலகம் STMicroelectronics வழங்கும் நிலையான புற நூலகத்தைப் போன்றது. பொதுவாக, கார்டெக்ஸ்-எம் மையத்தில் கட்டப்பட்ட அனைத்து ARM கன்ட்ரோலர்களும் பொதுவானவை. இந்த காரணத்திற்காக, புதிய ரஷ்ய கட்டுப்பாட்டாளர்களுடன் அறிமுகம் விரைவாக சென்றது. தனியுரிம பிழைத்திருத்த கருவிகளை வாங்கியவர்களுக்கு, பயன்பாட்டின் போது தொழில்நுட்ப ஆதரவு வழங்கப்பட்டது.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
மைக்ரோகண்ட்ரோலருக்கான பிழைத்திருத்த கிட் 1986BE1T, © Milandr

இருப்பினும், காலப்போக்கில், புதிய சில்லுகள் மற்றும் நூலகங்களின் "குழந்தை பருவ நோய்கள்" தோன்றத் தொடங்கின. ஃபார்ம்வேரின் சோதனை எடுத்துக்காட்டுகள் காணக்கூடிய சிக்கல்கள் இல்லாமல் வேலை செய்தன, ஆனால் குறிப்பிடத்தக்க மாற்றங்களுடன் செயலிழப்புகள் மற்றும் பிழைகள் மழை பெய்தன. எனது நடைமுறையில் முதல் "விழுங்குதல்" CAN கட்டுப்படுத்தியில் விவரிக்க முடியாத தோல்விகள். ஒரு வருடம் கழித்து, 1986BE1T (காற்று) கட்டுப்படுத்தியின் ஆரம்ப திருத்தத்தில் தொகுதியில் ஒரு சிக்கல் கண்டறியப்பட்டது. MCIO (மல்டிப்ளக்ஸ் தகவல் பரிமாற்ற சேனல்). பொதுவாக, இந்த மைக்ரோகண்ட்ரோலர்களின் அனைத்து திருத்தங்களும் 2016 வரை வரையறுக்கப்பட்ட பயன்பாட்டில் இருந்தன. இந்த சிக்கல்களை அடையாளம் காண நிறைய நேரம் மற்றும் நரம்புகள் சென்றன, அதன் உறுதிப்படுத்தல் இப்போது காணலாம் பிழை பட்டியல்கள் (பிழை).

ஒரு விரும்பத்தகாத அம்சம் என்னவென்றால், பிழைத்திருத்த பலகைகளில் அல்ல, ஆனால் தொடர் தொழிற்சாலை உற்பத்திக்கு திட்டமிடப்பட்ட முன்மாதிரி சாதனங்களின் பலகைகளில் வேலை செய்து பிழைகளைச் சமாளிப்பது அவசியம். JTAG இணைப்பிக்கு கூடுதலாக, பொதுவாக எதுவும் இல்லை. லாஜிக் பகுப்பாய்வியுடன் இணைப்பது கடினமாகவும் சிரமமாகவும் இருந்தது, பொதுவாக எல்இடிகள் மற்றும் திரைகள் இல்லை. இந்த காரணத்திற்காக, எனது சொந்த பிழைத்திருத்த பலகையை உருவாக்கும் யோசனை என் தலையில் தோன்றியது.

ஒருபுறம், சந்தையில் பிராண்டட் பிழைத்திருத்த கருவிகள் இருந்தன, அதே போல் Zelenograd இலிருந்து LDM-Systems இன் அற்புதமான பலகைகளும் இருந்தன. மறுபுறம், இந்த தயாரிப்புகளுக்கான விலைகள் ஒருவரை மயக்கத்தில் தள்ளுகின்றன, மேலும் விரிவாக்க அட்டைகள் இல்லாத அடிப்படை செயல்பாடு எதிர்பார்ப்புகளை பூர்த்தி செய்யவில்லை. சாலிடர் கன்ட்ரோலர் மற்றும் பின் ஹெடருடன் கூடிய பலகை எனக்கு ஆர்வமில்லை. மேலும் சுவாரஸ்யமான பலகைகள் விலை உயர்ந்தவை.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
மேம்பாட்டு வாரியம் MILANDR LDM-HELPER-K1986BE1QI-FULL, © LDM அமைப்புகள்

"மிலாண்டர்" நிறுவனம் ஒரு தனித்துவமான விலைக் கொள்கை மற்றும் சந்தைப்படுத்தல் ஆகியவற்றைக் கொண்டுள்ளது. எனவே, சில மைக்ரோ சர்க்யூட்களின் மாதிரிகளை இலவசமாகப் பெறுவது சாத்தியம், ஆனால் இது சட்ட நிறுவனங்களுக்கு மட்டுமே கிடைக்கும் மற்றும் இது ஒரு அதிகாரத்துவ தேடலுடன் தொடர்புடையது. பொதுவாக, ஒரு பீங்கான்-உலோக தொகுப்பில் உள்ள மைக்ரோ சர்க்யூட்கள் நேரடி மற்றும் அடையாள அர்த்தத்தில் தங்க நிறத்தில் இருக்கும். எடுத்துக்காட்டாக, 1986BE1T கட்டுப்படுத்தி மாஸ்கோவில் 14 முதல் 24 ஆயிரம் ரூபிள் வரை செலவாகும். 1645RU6U நிலையான நினைவக சிப்பின் விலை 15000 ரூபிள் ஆகும். மேலும் இது அனைத்து பொருட்களின் விலை வரிசையாகும். இதன் விளைவாக, மாநில உத்தரவுகளைக் கொண்ட சிறப்பு ஆராய்ச்சி நிறுவனங்கள் கூட பணத்தை மிச்சப்படுத்துகின்றன மற்றும் அத்தகைய விலைகளிலிருந்து வெட்கப்படுகின்றன. பொதுமக்கள் பயன்பாட்டிற்கான ஒரு பிளாஸ்டிக் பெட்டியில் உள்ள சில்லுகள் கணிசமாக மலிவானவை, ஆனால் அவை பிரபலமான சப்ளையர்களிடமிருந்து கிடைக்கவில்லை. கூடுதலாக, ஒரு பிளாஸ்டிக் வழக்கில் சில்லுகளின் தரம், எனக்கு தோன்றுகிறது, "தங்கத்தை" விட மோசமாக உள்ளது. எடுத்துக்காட்டாக, ஃபிளாஷ் தாமத அமைப்பை அதிகரிக்காமல் K1986BE1QI கட்டுப்படுத்தியை 128MHz இல் இயக்க முடியவில்லை. அதே நேரத்தில், இந்த கட்டுப்படுத்தியின் வெப்பநிலை 40-50C ஆக உயர்ந்தது. ஆனால் 1986BE1T (“தங்கம்”) கன்ட்ரோலர் கூடுதல் அமைப்புகள் இல்லாமல் 128 மெகா ஹெர்ட்ஸ் வேகத்தில் துவங்கி குளிர்ச்சியாக இருந்தது. அவர் உண்மையிலேயே நல்லவர்.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
"தங்கம்" மைக்ரோகண்ட்ரோலர் 1986BE1T, (c) Milandr

பிளாஸ்டிக் பெட்டியில் உள்ள மைக்ரோகண்ட்ரோலரை இன்னும் எல்டிஎம் சிஸ்டம்ஸ் மூலம் சில்லறை விற்பனையில் வாங்க முடியும் என்பது எனக்கு அதிர்ஷ்டம், மேலும் அனைத்து சர்க்யூட் போர்டுகளும் இலவசமாகக் கிடைக்கும். மோசமான விஷயம் என்னவென்றால், கன்ட்ரோலரின் புகைப்படத்தில் உள்ள தளத்தில், இது 4 இன் 2014 வது திருத்தம் என்று ஒரு மார்க்கிங் தெரியும், அதாவது. குறைபாடுகளுடன். நான் நீண்ட நேரம் நினைத்தேன் - வாங்கலாமா வாங்கலாமா. அதனால் பல வருடங்கள் கடந்தன...

பிழைத்திருத்த பலகையை உருவாக்கும் யோசனை எங்கும் மறைந்துவிடவில்லை. படிப்படியாக, நான் எல்லா தேவைகளையும் உருவாக்கினேன், இதையெல்லாம் ஒரு போர்டில் எவ்வாறு வைப்பது என்று யோசித்தேன், இதனால் அது கச்சிதமாகவும் விலை உயர்ந்ததாகவும் இருக்கும். இணையாக, நான் சீனர்களிடமிருந்து காணாமல் போன கூறுகளை ஆர்டர் செய்தேன். நான் அவசரப்படவில்லை - நானே எல்லாவற்றையும் செய்தேன். சீன சப்ளையர்கள் மந்தமான தன்மைக்கு பெயர் பெற்றவர்கள் - எனக்கு தேவையான அனைத்தையும் பெற வெவ்வேறு இடங்களில் ஒரே பொருளை ஆர்டர் செய்ய வேண்டியிருந்தது. மேலும், சில மெமரி சில்லுகள் இரண்டாவது கையாக மாறியது - உடைந்த சாதனங்களிலிருந்து வெளிப்படையாக கரைக்கப்பட்டது. இது பின்னர் என்னைத் தாக்கியது.

Milandr K1986BE1QI (விமானம்) மைக்ரோகண்ட்ரோலரை வாங்குவது எளிதான காரியம் அல்ல. அதே சிப் மற்றும் டிப் ஸ்டோரில், "ஆர்டர் செய்ய வேண்டிய நிலைகள்" பிரிவில், 1986 ரூபிள்களுக்கு K92BE740QI ஐ மட்டுமே கண்டேன், ஆனால் அது எனக்கு பொருந்தவில்லை. 2000 ரூபிள்களுக்கு LDM-Systems இலிருந்து ஒரு அல்லாத புதிய திருத்தத்தை வாங்குவதே ஒரே வழி. வேறு எங்கும் மாற்று இடம் கிடைக்காததால், இருந்ததை வாங்க முடிவு செய்தேன். எனக்கு மகிழ்ச்சியளிக்கும் வகையில், அவர்கள் எனக்கு ஒரு புத்தம் புதிய டிசம்பர் 2018 வெளியீட்டு கன்ட்ரோலரை விற்றனர், திருத்தம் 6+ (1820). தளத்தில் இன்னும் பழைய புகைப்படம் உள்ளது, எழுதும் நேரத்தில் கட்டுப்படுத்தி கிடைக்கவில்லை ...

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
மைக்ரோகண்ட்ரோலர் K1986BE1QI (விமானம்) தொழில்நுட்ப பேக்கேஜிங்கில், (c) ஆசிரியரின் புகைப்படம்

எனது மேம்பாட்டு வாரியத்தின் முக்கிய தொழில்நுட்ப விவரக்குறிப்புகள் MDB1986 பின்வரும்:

  • உள்ளமைக்கப்பட்ட பிழைத்திருத்த-நிரல் J-Link மற்றும் CMSIS-DAP உடன் இணக்கமானது;
  • 4Mbit நிலையான நினைவகம் (256k x 16, 10 ns);
  • ஃபிளாஷ் மெமரி சிப் 64Mbit, Winbond 25Q64FVSIG;
  • ஆர்டிஎஸ் மற்றும் சிடிஎஸ் கோடுகளுடன் கூடிய ஆர்எஸ்-232 இன்டர்ஃபேஸ் டிரான்ஸ்ஸீவர்;
  • ஈத்தர்நெட், USB, CAN க்கான இடைமுகங்கள் மற்றும் இணைப்பிகள்;
  • 7-பிரிவு காட்சி கட்டுப்படுத்தி MAX7221;
  • MCIO (MIL_STD_1553) மற்றும் ARINC429 உடன் வேலை செய்வதற்கான பின் இணைப்பு;
  • ஃபோட்டோட்ரான்சிஸ்டர் எவர்லைட் PT17-21C;
  • ஐந்து வண்ண LEDகள், ஒரு மீட்டமை பொத்தான் மற்றும் இரண்டு பயனர் பொத்தான்கள்;
  • இது 5 வோல்ட் USB போர்ட் மூலம் இயக்கப்படுகிறது;
  • அச்சிடப்பட்ட சர்க்யூட் போர்டு பரிமாணங்கள் 100 x 80, மிமீ

STM-டிஸ்கவரி தொடரின் பலகைகளை நான் விரும்பினேன், ஏனெனில் அவற்றில் உள்ளமைக்கப்பட்ட புரோகிராமர்-டிபக்கர் - ST-Link உள்ளது. பிராண்டட் ST-Link ஆனது STMicroelectronics கன்ட்ரோலர்களுடன் மட்டுமே இயங்குகிறது, ஆனால் சில ஆண்டுகளுக்கு முன்பு ST-Link இல் உள்ள firmware ஐ புதுப்பித்து SEGGER J-Link OB (ஆன்-போர்டு) பிழைத்திருத்தியைப் பெறுவது சாத்தியமானது. சட்டப்பூர்வமாக, STMicroelectronics போர்டுகளுடன் மட்டுமே அத்தகைய பிழைத்திருத்தியைப் பயன்படுத்த ஒரு கட்டுப்பாடு உள்ளது, ஆனால் உண்மையில் சாத்தியம் குறைவாக இல்லை. எனவே, J-Link OB இருந்தால், பிழைத்திருத்த பலகையில் உள்ளமைக்கப்பட்ட புரோகிராமர்-பிழைத்திருத்தியை நீங்கள் வைத்திருக்கலாம். LDM-Systems தயாரிப்புகள் CP2102 (Usb2Uart) மாற்றியைப் பயன்படுத்துகின்றன, இது ஒளிரும்.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
STM32F103C8T6 மைக்ரோகண்ட்ரோலர்கள், உண்மையானவை மற்றும் அவ்வாறு இல்லை, (c) ஆசிரியரின் புகைப்படம்

எனவே, அசல் STM32F103C8T6 ஐ வாங்க வேண்டியது அவசியம், ஏனெனில் பிராண்டட் ஃபார்ம்வேர் குளோனுடன் சரியாக வேலை செய்யாது. இந்த ஆய்வறிக்கையை நான் சந்தேகித்தேன் மற்றும் சீன நிறுவனமான CKS இலிருந்து CS32F103C8T6 கட்டுப்படுத்தியை முயற்சிக்க முடிவு செய்தேன். கட்டுப்படுத்தியைப் பற்றி எனக்கு எந்த புகாரும் இல்லை, ஆனால் தனியுரிம ST-Link firmware அதில் வேலை செய்யவில்லை. ஜே-லிங்க் ஓரளவு வேலை செய்தது - யூ.எஸ்.பி சாதனம் கண்டறியப்பட்டது, ஆனால் புரோகிராமர் அதன் செயல்பாடுகளைச் செய்யவில்லை மற்றும் அது “குறைபாடுள்ளது” என்பதை தொடர்ந்து நினைவூட்டுகிறது.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
அசல் அல்லாத கட்டுப்படுத்தியில் பிழைத்திருத்தியை இயக்கும் போது பிழை

நான் இதைப் பற்றி அமைதியடையவில்லை, முதலில் LED ஐ ஒளிரச் செய்வதற்கான ஃபார்ம்வேரை எழுதினேன், பின்னர் JTAG நெறிமுறையைப் பயன்படுத்தி IDCODE கோரிக்கையை செயல்படுத்தினேன். டிஸ்கவரி போர்டில் நான் வைத்திருந்த ST-Link புரோகிராமர் மற்றும் ST-Link Utility நிரல் CS32F103C8T6 ஐ எந்த பிரச்சனையும் இல்லாமல் ஒளிரச் செய்தது. இதன் விளைவாக, எனது போர்டு வேலை செய்வதை உறுதிசெய்தேன். எனது மகிழ்ச்சிக்கு, இலக்குக் கட்டுப்படுத்தி K1986BE1QI (விமானப் போக்குவரத்து) TDO வரிசையில் மகிழ்ச்சியுடன் அதன் IDCODE ஐ வெளியிட்டது.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
ஐடிகோட் குறியிடப்பட்ட பதிலுடன் கூடிய TDO சிக்னல் லைனின் அலைவு வரைபடம், (c) ஆசிரியரின் புகைப்படம்

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
எனவே SWD போர்ட் பிழைத்திருத்தியை பிழைத்திருத்தம் செய்வதற்கும் IDCODE ஐ சரிபார்க்கவும் பயனுள்ளதாக இருந்தது

பிழைத்திருத்தியுடன் ஒரு விருப்பம் இருந்தது CMSIS-DAP (பிழைத்திருத்த அணுகல் போர்ட்). ARM மூலங்களிலிருந்து ஒரு திட்டத்தை உருவாக்குவது எளிதான காரியம் அல்ல, நான் திட்டத்தை எடுத்தேன் X893, பின்னர் நான் DAP42 ஐயும் முயற்சித்தேன். துரதிருஷ்டவசமாக, Keil uVision சிக்கிக்கொண்டது மற்றும் அவர்களுடன் வேலை செய்ய விரும்பவில்லை. இதன் விளைவாக, நான் பிழைத்திருத்த சிப்பை ஒரு தனியுரிம STM32F103C8T6 மூலம் மாற்றினேன், இந்தச் சிக்கலுக்கு நான் திரும்பவில்லை.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
உள்ளமைக்கப்பட்ட பிழைத்திருத்தம் J-Link STLink V2 இன் வெற்றிகரமான செயல்பாடு

எதிர்கால பிழைத்திருத்த பலகையின் அனைத்து முக்கிய கூறுகளும் கிடைக்கும்போது, ​​​​நான் ஈகிள் CAD இல் நுழைந்தேன், அவை உறுப்புகளின் நூலகத்தில் இல்லை என்பதைக் கண்டறிந்தேன். செல்ல எங்கும் இல்லை - அவற்றை நானே வரைய வேண்டியிருந்தது. அதே நேரத்தில், நான் நினைவகத்திற்கான இருக்கைகளை உருவாக்கினேன், ஈதர்நெட்டிற்கான HanRun இணைப்பான் மற்றும் மின்தடையங்கள் மற்றும் மின்தேக்கிகளுக்கான சட்டங்களைச் சேர்த்தேன். திட்டக் கோப்பு மற்றும் கூறு நூலகத்தைக் காணலாம் நான் அதை கிட்ஹப்பில் வைத்திருக்கிறேன்.

MDB1986 பிழைத்திருத்த பலகையின் திட்ட வரைபடம்K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)

யூ.எஸ்.பி போர்ட்டிலிருந்து 5 வோல்ட் டிசி மூலத்தால் போர்டு இயக்கப்படுகிறது. போர்டில் இரண்டு USB Type-B போர்ட்கள் உள்ளன. ஒன்று புரோகிராமருக்கானது, இரண்டாவது K1986BE1QI கட்டுப்படுத்திக்கானது. போர்டு இந்த ஆதாரங்களில் ஏதேனும் இருந்து அல்லது இரண்டிலும் ஒரே நேரத்தில் வேலை செய்யலாம். எளிமையான சுமை சரிசெய்தல் மற்றும் மின் இணைப்புகளின் பாதுகாப்பு D2 மற்றும் D3 (SS24) சுற்றுகளில் Schottky டையோட்களில் செயல்படுத்தப்படுகிறது. வரைபடத்தில் நீங்கள் 1mA இல் சுய-மீட்டெடுக்கும் உருகிகள் F2 மற்றும் F500 ஆகியவற்றைக் காணலாம். USB போர்ட்டின் சிக்னல் கோடுகள் USBLC6-2SC6 டையோடு அசெம்பிளி மூலம் பாதுகாக்கப்படுகின்றன.

ST-Link debugger-programmer சர்க்யூட் பலருக்குத் தெரியும், இது STM32-டிஸ்கவரி போர்டுகளுக்கான ஆவணங்கள் மற்றும் பிற ஆதாரங்களில் காணலாம். ST-Link / J-Link-OB / DAP குளோனின் முதன்மை ஃபார்ம்வேருக்கு (விரும்பினால்), SWDIO (PA13), SWCLK (PA14), GND வரிகளை நான் கொண்டு வந்துள்ளேன். பலர் ஃபார்ம்வேருக்கு UART ஐப் பயன்படுத்துகின்றனர் மற்றும் BOOT ஜம்பர்களை இழுக்க வேண்டிய கட்டாயத்தில் உள்ளனர். ஆனால் SWD எனக்கு மிகவும் வசதியானது, இந்த நெறிமுறை பிழைத்திருத்தத்தை அனுமதிக்கிறது.

குழுவின் அனைத்து கூறுகளும் 3.3 வோல்ட் மூலம் இயக்கப்படுகின்றன, அவை AMS1117-3.3 மின்னழுத்த சீராக்கியிலிருந்து வருகின்றன. மின்காந்த குறுக்கீடு மற்றும் தற்போதைய அலைகளை அடக்க, மின்தேக்கிகளிலிருந்து LC வடிப்பான்கள் மற்றும் BLM31PG தொடரின் சோக்குகள் பயன்படுத்தப்படுகின்றன.

தனித்தனியாக, MAX7 7221-பிரிவு காட்சி இயக்கியைக் குறிப்பிடுவது மதிப்பு. விவரக்குறிப்பின்படி, பரிந்துரைக்கப்பட்ட மின்சாரம் 4 முதல் 5.5 வோல்ட் வரை இருக்கும், மேலும் 3.5V ஆல் இயக்கப்படும் போது உயர் சமிக்ஞை நிலை (லாஜிக் ஒன்று) 0.7V (5 x VCC) க்கும் குறைவாக இல்லை. K1986BE1QI கட்டுப்படுத்திக்கு (விமானம்), தருக்க அலகு வெளியீடு 2.8 முதல் 3.3V வரையிலான மின்னழுத்தத்திற்கு ஒத்திருக்கிறது. வெளிப்படையாக, சாதாரண செயல்பாட்டை சீர்குலைக்கும் சமிக்ஞை நிலைகளில் பொருந்தாத தன்மை உள்ளது. MAX7221 ஐ 4V இலிருந்து இயக்கவும், சிக்னல் அளவை 2.8V (0.7 x 4 = 2.8) ஆகவும் குறைக்க முடிவு செய்தேன். இதைச் செய்ய, இயக்கி மின்சுற்றில் ஒரு டையோடு D4 (RS1A அல்லது FR103) தொடரில் நிறுவப்பட்டுள்ளது. மொத்த மின்னழுத்த வீழ்ச்சி 0.9V (0.3V ஷாட்கி டையோடு மற்றும் 0.6V டையோடு), மற்றும் எல்லாம் வேலை செய்கிறது.

K1986BE1QI மைக்ரோகண்ட்ரோலரில் உள்ள பெரும்பாலான போர்ட்கள் (விமானம்) 5V வரையிலான சிக்னல்களுடன் இணக்கமாக இருக்கும். எனவே, 2551V இலிருந்து செயல்படும் MCP5 CAN டிரான்ஸ்ஸீவரின் பயன்பாடு சிக்கல்களை ஏற்படுத்தாது. வரைபடம் MAX232 சிப்பை RS-3232 டிரான்ஸ்ஸீவராகக் காட்டுகிறது, ஆனால் உண்மையில் நான் டெக்சாஸ் இன்ஸ்ட்ரூமென்ட்ஸிலிருந்து SN65C3232D ஐப் பயன்படுத்தினேன், ஏனெனில் இது 3.3V இலிருந்து வேலை செய்கிறது மற்றும் 1Mbit/s வரை வேகத்தை வழங்குகிறது.

போர்டில் 4 குவார்ட்ஸ் ரெசனேட்டர்கள் உள்ளன - ஒன்று பிழைத்திருத்தத்திற்கு (8 மெகா ஹெர்ட்ஸ்) மற்றும் மூன்று இலக்கு மைக்ரோகண்ட்ரோலர் K1986BE1QI (விமானம்) பெயரளவு மதிப்புகள் 32.768 kHz, 16 MHz, 25 MHz. இவை தேவையான கூறுகள், ஏனெனில். உள்ளமைக்கப்பட்ட RC ஜெனரேட்டரின் அளவுருக்கள் 6 முதல் 10 MHz வரை பரந்த அளவில் உள்ளன. உள்ளமைக்கப்பட்ட ஈதர்நெட் கட்டுப்படுத்தியின் செயல்பாட்டிற்கு 25 மெகா ஹெர்ட்ஸ் அதிர்வெண் தேவைப்படுகிறது. சில காரணங்களால், மிலாண்ட்ராவின் இணையதளம் (ஒருவேளை தவறுதலாக) பிளாஸ்டிக் கேஸில் ஈதர்நெட் இல்லை என்று கூறுகிறது. ஆனால் விவரக்குறிப்புகள் மற்றும் உண்மைகளை நாங்கள் நம்புவோம்.

உங்கள் சொந்த பிழைத்திருத்த பலகையை உருவாக்குவதற்கான ஒரு முக்கிய ஊக்கமானது வெளிப்புற EBC (வெளிப்புற பஸ் கட்டுப்படுத்தி) அமைப்பு பஸ்ஸுடன் பணிபுரியும் வாய்ப்பாகும், இது அடிப்படையில் ஒரு இணையான துறைமுகமாகும். K1986BE1QI மைக்ரோகண்ட்ரோலர் (விமானம்) வெளிப்புற நினைவக சில்லுகள் மற்றும் ADC, FPGA போன்ற புற சாதனங்களுடன் இணைக்க மற்றும் வேலை செய்ய உங்களை அனுமதிக்கிறது. வெளிப்புற அமைப்பு பஸ்ஸின் சாத்தியக்கூறுகள் மிகவும் பெரியவை - நீங்கள் 8-பிட், 16-பிட் மற்றும் 32-பிட் நிலையான ரேம், ROM மற்றும் NAND ஃப்ளாஷ் ஆகியவற்றுடன் வேலை செய்யலாம். 32-பிட் தரவைப் படிக்க / எழுத, கட்டுப்படுத்தி தானாகவே 2-பிட் மைக்ரோ சர்க்யூட்களுக்கு 16 தொடர்புடைய செயல்பாடுகளையும், 8-பிட்களுக்கு 4 செயல்பாடுகளையும் செய்ய முடியும். வெளிப்படையாக, 32-பிட் I/O செயல்பாடு 32-பிட் டேட்டா பஸ்ஸுடன் மிக வேகமாக இருக்கும். குறைபாடுகளில் நிரல் 32-பிட் தரவுகளுடன் செயல்பட வேண்டியதன் அவசியத்தை உள்ளடக்கியது, மேலும் பலகை 32 தடங்களை அமைக்க வேண்டும்.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
SRAM சில்லுகள், பயன்படுத்தப்பட்டது (எது குறைபாடுள்ளது என்று யூகிக்கவும்)

16-பிட் நினைவக சில்லுகளைப் பயன்படுத்துவது ஒரு சமநிலையான தீர்வு. ஒருங்கிணைந்த சிலிக்கான் சொல்யூஷன்ஸ் இன்க். சில்லுகளுடன் முடித்தேன். (ISSI IS61LV25616AL, 16x256k, 10ns, 3.3V). நிச்சயமாக, நிறுவனம் "Milandr" அதன் சொந்த நிலையான நினைவக சில்லுகள் உள்ளது தொடர் 1645RUஆனால் அவை மிகவும் விலை உயர்ந்தவை மற்றும் கிடைக்கவில்லை. மாற்றாக, பின்-இணக்கமான Samsung K6R4016V1D உள்ளன. IC கள் பயன்படுத்தப்பட்டவை என்றும், நான் நிறுவிய நகல் 15 வது தரவு வரிசையில் ஆரம்பத்தில் தடுமாறும் மற்றும் ஒழுங்கற்றது என்றும் நான் முன்பே குறிப்பிட்டேன். வன்பொருள் பிழைகளைக் கண்டறிய பல நாட்கள் ஆனது, மேலும் சேதமடைந்த சிப்பை ஒரு வேலை செய்யும் சிப்பை மாற்றியபோது அதிக திருப்தி உணர்வு ஏற்பட்டது. அது எப்படியிருந்தாலும், வெளிப்புற நினைவகத்துடன் பணிபுரியும் வேகம் விரும்பத்தக்கதாக இருக்கும்.

வெளிப்புற பேருந்து மற்றும் தனித்தனி பயன்முறைK1986BE1QI மைக்ரோகண்ட்ரோலர் (விமானம்) ஒரு தனித்துவமான ஸ்டாண்ட்அலோன் பயன்முறையைக் கொண்டுள்ளது, இது ஈத்தர்நெட் மற்றும் MCIO கன்ட்ரோலர்களுக்கு (MIL_STD_1553) வெளிப்புற பஸ் வழியாக நேரடி வெளிப்புற அணுகலுக்காக வடிவமைக்கப்பட்டுள்ளது, அதே நேரத்தில் மையமானது மீட்டமைக்கப்பட்ட நிலையில் உள்ளது, அதாவது. பயன்படுத்துவதில்லை. ஈதர்நெட் மற்றும்/அல்லது MCIO இல்லாத செயலிகள் மற்றும் FPGA களுக்கு இந்த பயன்முறை பயனுள்ளதாக இருக்கும்.
இணைப்பு வரைபடம் பின்வருமாறு:

  • டேட்டா பஸ் MCU(D0-D15) => SRAM(I/O0-I/O15),
  • முகவரி பேருந்து MCU(A1-A18) => SRAM(A0-A17),
  • MCU கட்டுப்பாடு(nWR,nRD,PortC2) => SRAM (WE,OE,CE),
  • SRAM(UB,LB) மின்தடை மூலம் இணைக்கப்பட்டுள்ளது அல்லது தரையில் இழுக்கப்படுகிறது.

மின்தடையின் மூலம் CE லைன் சக்திக்கு இழுக்கப்படுகிறது, MCU பைட் ஃபெட்ச் பின்கள் (BE0-BE3) பயன்படுத்தப்படவில்லை. ஸ்பாய்லரின் கீழ் போர்ட்கள் மற்றும் வெளிப்புற பஸ் கன்ட்ரோலரை துவக்குவதற்கான குறியீட்டை தருகிறேன்.

துறைமுகங்கள் மற்றும் EBC கட்டுப்படுத்தி (வெளிப்புற பஸ் கட்டுப்படுத்தி) தொடங்குதல்

void SRAM_Init (void)
{
	EBC_InitTypeDef          EBC_InitStruct = { 0 };
	EBC_MemRegionInitTypeDef EBC_MemRegionInitStruct = { 0 };
	PORT_InitTypeDef         initStruct = { 0 };

	RST_CLK_PCLKcmd (RST_CLK_PCLK_EBC, ENABLE);

	PORT_StructInit (&initStruct);
	//--------------------------------------------//
	// DATA PA0..PA15 (D0..D15)                   //
	//--------------------------------------------//
	initStruct.PORT_MODE      = PORT_MODE_DIGITAL;
	initStruct.PORT_PD_SHM    = PORT_PD_SHM_ON;
	initStruct.PORT_SPEED     = PORT_SPEED_FAST;
	initStruct.PORT_FUNC      = PORT_FUNC_MAIN;
	initStruct.PORT_Pin       = PORT_Pin_All;
	PORT_Init (MDR_PORTA, &initStruct);	
	//--------------------------------------------//
	// Address PF3-PF15 (A0..A12), A0 - not used. //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_ALTER;
	initStruct.PORT_Pin       = PORT_Pin_4  | PORT_Pin_5  |
	                            PORT_Pin_6  | PORT_Pin_7  |
	                            PORT_Pin_8  | PORT_Pin_9  |
								PORT_Pin_10 | PORT_Pin_11 |
	                            PORT_Pin_12 | PORT_Pin_13 |
								PORT_Pin_14 | PORT_Pin_15;
	PORT_Init (MDR_PORTF, &initStruct);	
	//--------------------------------------------//
	// Address PD3..PD0 (A13..A16)                //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_OVERRID;
	initStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1 |
	                            PORT_Pin_2 | PORT_Pin_3;
	PORT_Init (MDR_PORTD, &initStruct);	
	//--------------------------------------------//
	// Address PE3, PE4 (A17, A18)                //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_ALTER;
	initStruct.PORT_Pin       = PORT_Pin_3 | PORT_Pin_4;
	PORT_Init (MDR_PORTE, &initStruct);	
	//--------------------------------------------//
	// Control PC0,PC1 (nWE,nOE)                  //
	//--------------------------------------------//
	initStruct.PORT_FUNC      = PORT_FUNC_MAIN;
	initStruct.PORT_Pin       = PORT_Pin_0 | PORT_Pin_1;
	PORT_Init (MDR_PORTC, &initStruct);	
	//--------------------------------------------//
	// Control PC2 (nCE)                          //
	//--------------------------------------------//
	initStruct.PORT_PD        = PORT_PD_DRIVER;
	initStruct.PORT_OE        = PORT_OE_OUT;
	initStruct.PORT_FUNC      = PORT_FUNC_PORT;
	initStruct.PORT_Pin       = MDB_SRAM_CE;
	PORT_Init (MDR_PORTC, &initStruct);	

	//--------------------------------------------//
	// Initialize EBC controler                   //
	//--------------------------------------------//
	EBC_DeInit();
	EBC_StructInit(&EBC_InitStruct);
	EBC_InitStruct.EBC_Mode             = EBC_MODE_RAM;
	EBC_InitStruct.EBC_WaitState        = EBC_WAIT_STATE_3HCLK;
	EBC_InitStruct.EBC_DataAlignment    = EBC_EBC_DATA_ALIGNMENT_16;
	EBC_Init(&EBC_InitStruct);
	
	EBC_MemRegionStructInit(&EBC_MemRegionInitStruct);
	EBC_MemRegionInitStruct.WS_Active   = 2;
	EBC_MemRegionInitStruct.WS_Setup    = EBC_WS_SETUP_CYCLE_1HCLK;
	EBC_MemRegionInitStruct.WS_Hold     = EBC_WS_HOLD_CYCLE_1HCLK;
	EBC_MemRegionInitStruct.Enable_Tune = ENABLE;
	EBC_MemRegionInit (&EBC_MemRegionInitStruct, EBC_MEM_REGION_60000000);
	EBC_MemRegionCMD(EBC_MEM_REGION_60000000, ENABLE);

	// Turn ON RAM (nCE)
	PORT_ResetBits (MDR_PORTC, MDB_SRAM_CE);
}

LQFP-144 தொகுப்பில் உள்ள மைக்ரோகண்ட்ரோலரும், TSOP-44 தொகுப்பில் உள்ள நினைவகமும் பல இணைக்கப்பட்ட பின்களைக் கொண்டுள்ளன மற்றும் அதிக PCB இடத்தை எடுத்துக் கொள்கின்றன. பொருளாதாரத் துறையில் தேர்வுமுறை சிக்கல்களைத் தீர்ப்பதில் அனுபவம் உள்ளதால், இந்த மைக்ரோ சர்க்யூட்கள் முதலில் பலகையில் வைக்கப்பட வேண்டும் என்பது எனக்குத் தெளிவாகத் தெரிந்தது. பல்வேறு ஆதாரங்களில், நான் பற்றி பாராட்டத்தக்க விமர்சனங்களை கண்டேன் CAD TopoR (டோபாலஜிகல் ரூட்டர்). நான் சோதனைப் பதிப்பைப் பதிவிறக்கம் செய்தேன், கிட்டத்தட்ட எல்லா கூறுகளையும் நீக்கியபோதுதான் ஈகிள் CAD இலிருந்து எனது திட்டத்தை ஏற்றுமதி செய்ய முடிந்தது. துரதிர்ஷ்டவசமாக, 10 கூறுகளை கூட போர்டில் வைக்க TopoR நிரல் எனக்கு உதவவில்லை. முதலில், அனைத்து கூறுகளும் ஒரு மூலையில் வைக்கப்பட்டு, பின்னர் விளிம்பில் அமைக்கப்பட்டன. இந்த விருப்பம் எனக்கு திருப்தி அளிக்கவில்லை, மேலும் பழக்கமான Eagle CAD சூழலில் பலகையை கைமுறையாக ட்ரேஸ் செய்வதில் நீண்ட நேரம் செலவிட்டேன்.

திரை அச்சிடுதல் என்பது அச்சிடப்பட்ட சர்க்யூட் போர்டில் ஒரு முக்கிய அங்கமாகும். பிழைத்திருத்த பலகையில், மின்னணு கூறுகளுக்கான கையொப்பங்கள் மட்டும் இருக்க வேண்டும், ஆனால் அனைத்து இணைப்பிகளும் கையொப்பமிடப்பட வேண்டும். போர்டின் தலைகீழ் பக்கத்தில், கட்டுப்படுத்தி துறைமுகங்களின் செயல்பாடுகளுடன் அட்டவணைகள்-நினைவூட்டல்களை வைத்தேன் (முக்கிய, மாற்று, மேலெழுதப்பட்ட, உண்மையானது). சீனாவில் நன்கு அறியப்பட்ட PCBWay அலுவலகத்தில் அச்சிடப்பட்ட சர்க்யூட் போர்டுகளை தயாரிக்க நான் உத்தரவிட்டேன். நான் பாராட்ட மாட்டேன், ஏனென்றால் தரம் நன்றாக இருக்கிறது. அவர்கள் சிறிய சகிப்புத்தன்மையுடன் சிறப்பாக செய்ய முடியும், ஆனால் கட்டணத்திற்காக.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
தயாரிக்கப்பட்ட அச்சிடப்பட்ட சர்க்யூட் பலகைகள் MDB1986, (c) ஆசிரியரின் புகைப்படம்

நான் 40-வாட் சாலிடரிங் இரும்பு மற்றும் பிஓஎஸ் -61 சாலிடருடன் "முழங்காலில்" கூறுகளை அவிழ்க்க வேண்டியிருந்தது, ஏனென்றால் நான் அரிதாகவே சாலிடர், வருடத்திற்கு 1-2 முறை, மற்றும் சாலிடர் பேஸ்ட் உலர்ந்தது. நான் சீன CS32F103 கட்டுப்படுத்தியை அசல் STM32F103 க்கு மாற்ற வேண்டியிருந்தது, பின்னர் நினைவகத்தையும் மாற்ற வேண்டியிருந்தது. பொதுவாக, இப்போது நான் RS-232 மற்றும் CAN இன் செயல்பாட்டைச் சரிபார்க்கவில்லை என்றாலும், முடிவில் நான் முழுமையாக திருப்தி அடைகிறேன்.

K1986BE1QI க்கான பிழைத்திருத்த பலகையின் உருவாக்கம் (விமானம்)
டிபக் போர்டு MDB1986 செயல்பாட்டில் உள்ளது - ஒளிர்கிறது மற்றும் வெப்பமடைகிறது, (s) ஆசிரியர் புகைப்படம்

"மிலாண்ட்ரா" தளத்தில் நீங்கள் போதுமான அளவு காணலாம் கற்றல் கட்டுப்பாட்டாளர்களுக்கான கற்றல் பொருட்கள் 1986BE9 தொடர் (கார்டெக்ஸ்-எம்3 கோர்), ஆனால் K1986BE1QI (ஏவியேஷன்) மைக்ரோகண்ட்ரோலருக்கு, நான் அங்கு எதையும் பார்க்கவில்லை. அங்கு வெளியிடப்பட்ட பொருட்கள், கையேடுகள் மற்றும் பல்கலைக்கழகங்களுக்கான ஆய்வக வேலைகளை மதிப்பாய்வு செய்த பிறகு, ரஷ்ய கட்டுப்பாட்டாளர்களுடன் பணிபுரிய நாடு முழுவதும் பணியாளர்களுக்கு பயிற்சி அளிக்கப்படுவதில் நான் மகிழ்ச்சியடைகிறேன். பெரும்பாலான பயிற்சிப் பொருட்கள் I/O போர்ட்கள், டைமர்கள், ADC, DAC, SPI, UART ஆகியவற்றுடன் வேலை செய்யத் தயாராக உள்ளன. வெவ்வேறு IDEகள் பயன்படுத்தப்படுகின்றன (Keil, IAR, CodeMaster). எங்காவது அவர்கள் CMSIS பதிவேடுகளைப் பயன்படுத்தி நிரல் செய்கிறார்கள், எங்காவது MDR நூலகத்தைப் பயன்படுத்துகிறார்கள். வளத்தைக் குறிப்பிட வேண்டும் மிலாண்டரைத் தொடங்குங்கள், இதில் பயிற்சி செய்யும் புரோகிராமர்களின் பல கட்டுரைகள் உள்ளன. மற்றும், நிச்சயமாக, நாம் மறந்துவிடக் கூடாது மன்றம் மிலன்ட்ரா.

மிலாந்திரனை நினைத்துரஷ்யாவில் மைக்ரோ எலக்ட்ரானிக்ஸ் வளர்ந்து வருகிறது, மேலும் இந்த செயல்பாட்டில் "மிலாண்டர்" நிறுவனம் குறிப்பிடத்தக்க பங்கைக் கொண்டுள்ளது. புதிய சுவாரஸ்யமான மைக்ரோகண்ட்ரோலர்கள் தோன்றும், எடுத்துக்காட்டாக, SpaceWire மற்றும் MKIO இடைமுகங்களுடன் 1986BE81T மற்றும் Elektrosila (1986BE1 மற்றும், ஒருவேளை, அதே பிரச்சனைகளுடன்) போன்றவை. ஆனால் சாதாரண மாணவர்கள், ஆசிரியர்கள் மற்றும் சிவில் இன்ஜினியர்களுக்கு, இதுபோன்ற மைக்ரோ சர்க்யூட்களை வாங்குவது யதார்த்தமாக இல்லை. இதன் பொருள் பொறியியல் சமூகம் இந்த சிப்பின் பிழைகள் மற்றும் சிக்கல்களை விரைவாக அடையாளம் காண முடியாது. முதலில் ஒரு பிளாஸ்டிக் கேஸில் மைக்ரோ சர்க்யூட்களை உருவாக்குவது, ஆர்வமுள்ள அனைத்து தரப்பினரிடையே அவற்றை விநியோகிப்பதும் அவசியம் என்று எனக்குத் தோன்றுகிறது, மேலும் அங்கீகாரத்திற்குப் பிறகுதான் (லத்தீன் ஒப்புதல், அங்கீகாரம்) வல்லுநர்கள் பீங்கான்-உலோக வழக்கில் ஒரு திருத்தத்தைத் தயாரிக்க முடியும். அனைத்து பயங்கரமான காரணிகள். எதிர்காலத்தில் கண்காட்சிகளில் அறிவிக்கப்பட்ட புதிய திட்டங்களால் நாம் அனைவரும் மகிழ்ச்சியடைவோம் என்று நம்புகிறேன்.
கல்விச் செயல்பாட்டில் நான் உருவாக்கிய பிழைத்திருத்தப் பலகையை யார் வேண்டுமானாலும் மீண்டும் செய்யலாம், மாற்றலாம் மற்றும் பயன்படுத்தலாம். முதலில், நான் எனக்காக ஒரு பலகையை உருவாக்கினேன், ஆனால் அது நன்றாக மாறியது அனைவருடனும் பகிர்ந்து கொள்ள முடிவு செய்தேன்.

K1986BE1QI (காற்று) என்பது பல்கலைக்கழகங்களில் மாணவர்களுக்கு கற்பிப்பதற்காகப் பயன்படுத்தக்கூடிய தனித்துவமான இடைமுகங்களைக் கொண்ட மிகவும் சுவாரஸ்யமான கட்டுப்படுத்தியாகும். கன்ட்ரோலரில் கண்டறியப்பட்ட பிழைகளை சரிசெய்து, சான்றிதழ் சோதனைகளில் தேர்ச்சி பெற்ற பிறகு, கட்டுப்படுத்தி வார்த்தையின் உண்மையான அர்த்தத்தில் பறக்கும் என்று நினைக்கிறேன்!

ஆதாரம்: www.habr.com

கருத்தைச் சேர்