——ແບ່ງປັນຈາກ DWIN Froum
ການນໍາໃຊ້ຊິບ DWIN T5L1 ເປັນແກນຄວບຄຸມຂອງເຄື່ອງຈັກທັງຫມົດ, ຮັບແລະປະມວນຜົນການສໍາພັດ, ການຊື້ ADC, ຂໍ້ມູນການຄວບຄຸມ PWM, ແລະຂັບຫນ້າຈໍ LCD 3.5 ນິ້ວເພື່ອສະແດງສະຖານະໃນປະຈຸບັນໃນເວລາທີ່ແທ້ຈິງ.ສະຫນັບສະຫນູນການສໍາພັດຫ່າງໄກສອກຫຼີກການປັບຄວາມສະຫວ່າງແຫຼ່ງໄຟ LED ຜ່ານໂມດູນ WiFi, ແລະສະຫນັບສະຫນູນສຽງປຸກ.
ຄຸນນະສົມບັດຂອງໂຄງການ:
1. ຮັບຮອງເອົາຊິບ T5L ເພື່ອດໍາເນີນການໃນຄວາມຖີ່ສູງ, ການເກັບຕົວຢ່າງການປຽບທຽບ AD ມີຄວາມຫມັ້ນຄົງ, ແລະຄວາມຜິດພາດແມ່ນຂະຫນາດນ້ອຍ;
2. ສະຫນັບສະຫນູນ TYPE C ເຊື່ອມຕໍ່ໂດຍກົງກັບ PC ສໍາລັບ debugging ແລະການເຜົາໄຫມ້ໂຄງການ;
3. ສະຫນັບສະຫນູນການໂຕ້ຕອບຫຼັກ OS ຄວາມໄວສູງ, ພອດຂະຫນານ 16bit;ພອດ UI ຫຼັກ PWM, ພອດ AD ນໍາອອກ, ການອອກແບບຄໍາຮ້ອງສະຫມັກທີ່ມີລາຄາຖືກ, ບໍ່ຈໍາເປັນຕ້ອງເພີ່ມ MCU ເພີ່ມເຕີມ;
4. ສະຫນັບສະຫນູນ WiFi, Bluetooth ການຄວບຄຸມໄລຍະໄກ;
5. ສະຫນັບສະຫນູນ 5 ~ 12V DC ແຮງດັນໄຟຟ້າກ້ວາງແລະການປ້ອນຂໍ້ມູນລະດັບຄວາມກ້ວາງ
1.1 ແຜນວາດແຜນວາດ
1.2 ກະດານ PCB
1.3 ການໂຕ້ຕອບຜູ້ໃຊ້
ການນໍາສະເຫນີຄວາມອັບອາຍ:
(1) ການອອກແບບວົງຈອນຮາດແວ
1.4 T5L48320C035 ແຜນວາດວົງຈອນ
1. ການສະຫນອງພະລັງງານຕາມເຫດຜົນ MCU 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;
2. ການສະຫນອງພະລັງງານຫຼັກ MCU 1.25V: C23, C24;
3. MCU ການສະຫນອງພະລັງງານ analog 3.3V: C35 ແມ່ນການສະຫນອງພະລັງງານການປຽບທຽບສໍາລັບ MCU.ໃນເວລາທີ່ການຈັດປະເພດ, ຫຼັກ 1.25V ground ແລະດິນຕາມເຫດຜົນສາມາດຖືກລວມເຂົ້າກັນ, ແຕ່ພື້ນຖານການປຽບທຽບຕ້ອງຖືກແຍກອອກ.ດິນອະນາລັອກແລະດິນດິຈິຕອລຄວນຈະຖືກເກັບຢູ່ທີ່ຂົ້ວລົບຂອງຕົວເກັບປະຈຸຂະຫນາດໃຫຍ່ຂອງ LDO ຜົນຜະລິດ, ແລະເສົາບວກອະນາລັອກຄວນຖືກເກັບຢູ່ທີ່ຂົ້ວບວກຂອງຕົວເກັບປະຈຸຂະຫນາດໃຫຍ່ LDO, ດັ່ງນັ້ນການເກັບຕົວຢ່າງ AD ຈະມີສຽງຫນ້ອຍລົງ.
4. ວົງຈອນການໄດ້ຮັບສັນຍານອະນາລັອກ AD: CP1 ແມ່ນ AD ຕົວເກັບຮັກສາການປ້ອນຂໍ້ມູນ analog capacitor.ເພື່ອຫຼຸດຜ່ອນຄວາມຜິດພາດການເກັບຕົວຢ່າງ, ດິນອະນາລັອກແລະດິນດິຈິຕອນຂອງ MCU ຖືກແຍກອອກເປັນເອກະລາດ.ຂົ້ວລົບຂອງ CP1 ຈະຕ້ອງເຊື່ອມຕໍ່ກັບພື້ນທີ່ອະນາລັອກຂອງ MCU ທີ່ມີ impedance ຕ່ໍາສຸດ, ແລະສອງຕົວເກັບປະຈຸຂະຫນານຂອງ crystal oscillator ແມ່ນເຊື່ອມຕໍ່ກັບພື້ນທີ່ອະນາລັອກຂອງ MCU.
5. ວົງຈອນ Buzzer: C25 ແມ່ນຕົວເກັບປະຈຸພະລັງງານສໍາລັບ buzzer.buzzer ແມ່ນອຸປະກອນ inductive, ແລະຈະມີກະແສໄຟຟ້າສູງສຸດໃນລະຫວ່າງການປະຕິບັດງານ.ເພື່ອຫຼຸດຜ່ອນຈຸດສູງສຸດ, ມັນຈໍາເປັນຕ້ອງຫຼຸດຜ່ອນການຂັບເຄື່ອນ MOS ຂອງ buzzer ເພື່ອເຮັດໃຫ້ທໍ່ MOS ເຮັດວຽກຢູ່ໃນພາກພື້ນເສັ້ນ, ແລະອອກແບບວົງຈອນເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກຢູ່ໃນໂຫມດສະຫຼັບ.ໃຫ້ສັງເກດວ່າ R18 ຄວນເຊື່ອມຕໍ່ຂະຫນານຢູ່ທັງສອງສົ້ນຂອງ buzzer ເພື່ອປັບຄຸນນະພາບສຽງຂອງ buzzer ແລະເຮັດໃຫ້ buzzer ມີສຽງຄົມຊັດແລະມີຄວາມສຸກ.
6. ວົງຈອນ WiFi: ການເກັບຕົວຢ່າງຊິບ WiFi ESP32-C, ດ້ວຍ WiFi+Bluetooth+BLE.ກ່ຽວກັບສາຍໄຟ, ດິນໄຟຟ້າ RF ແລະພື້ນສັນຍານຖືກແຍກອອກ.
1.5 ການອອກແບບວົງຈອນ WiFi
ໃນຮູບຂ້າງເທິງ, ສ່ວນເທິງຂອງການເຄືອບທອງແດງແມ່ນ loop ດິນພະລັງງານ.ເສົາອາກາດ WiFi ສະທ້ອນພື້ນດິນ loop ຕ້ອງມີພື້ນທີ່ຂະຫນາດໃຫຍ່ກັບພື້ນທີ່ພະລັງງານ, ແລະຈຸດເກັບກໍາຂອງພື້ນທີ່ພະລັງງານແມ່ນຂົ້ວລົບຂອງ C6.ຕ້ອງສະໜອງກະແສໄຟຟ້າທີ່ສະທ້ອນຢູ່ລະຫວ່າງສາຍໄຟ ແລະເສົາອາກາດ WiFi, ດັ່ງນັ້ນຈຶ່ງຕ້ອງມີການເຄືອບທອງແດງພາຍໃຕ້ເສົາອາກາດ WiFi.ຄວາມຍາວຂອງການເຄືອບທອງແດງເກີນຄວາມຍາວຂອງສາຍອາກາດ WiFi, ແລະການຂະຫຍາຍຈະເພີ່ມຄວາມອ່ອນໄຫວຂອງ WiFi;ຈຸດທີ່ຂົ້ວລົບຂອງ C2.ພື້ນທີ່ຂະຫນາດໃຫຍ່ຂອງທອງແດງສາມາດປ້ອງກັນສິ່ງລົບກວນທີ່ເກີດຈາກລັງສີຂອງເສົາອາກາດ WiFi.2 ພື້ນທອງແດງຖືກແຍກອອກຈາກຊັ້ນລຸ່ມແລະລວບລວມໄປຫາແຜ່ນກາງຂອງ ESP32-C ຜ່ານທາງ.ພື້ນດິນໄຟຟ້າ RF ຕ້ອງການ impedance ຕ່ໍາກວ່າສາຍສັນຍານ, ດັ່ງນັ້ນມີ 6 ຊ່ອງຈາກພື້ນທີ່ພະລັງງານໄປຫາແຜ່ນ chip ເພື່ອຮັບປະກັນຄວາມຕ້ານທານຕ່ໍາພຽງພໍ.ວົງຮອບພື້ນຂອງ crystal oscillator ບໍ່ສາມາດມີພະລັງງານ RF ໄຫຼຜ່ານມັນ, ຖ້າບໍ່ດັ່ງນັ້ນ, crystal oscillator ຈະສ້າງຄວາມຖີ່ຄວາມຖີ່, ແລະຄວາມຖີ່ WiFi offset ຈະບໍ່ສາມາດສົ່ງແລະຮັບຂໍ້ມູນໄດ້.
7. Backlight LED ວົງຈອນການສະຫນອງພະລັງງານ: SOT23-6LED ການເກັບຕົວຢ່າງຊິບຂັບ.ການສະຫນອງພະລັງງານ DC / DC ກັບ LED ເປັນເອກະລາດປະກອບເປັນວົງ, ແລະດິນ DC / DC ແມ່ນເຊື່ອມຕໍ່ກັບດິນ 3.3V LOD.ນັບຕັ້ງແຕ່ຫຼັກພອດ PWM2 ໄດ້ຖືກຊ່ຽວຊານ, ມັນສົ່ງສັນຍານ PWM 600K, ແລະ RC ຈະຖືກເພີ່ມເພື່ອໃຊ້ຜົນຜະລິດ PWM ເປັນການຄວບຄຸມ ON / OFF.
8. ໄລຍະການປ້ອນຂໍ້ມູນແຮງດັນ: ສອງ DC/DC step-downs ໄດ້ຖືກອອກແບບ.ໃຫ້ສັງເກດວ່າຕົວຕ້ານທານ R13 ແລະ R17 ໃນວົງຈອນ DC / DC ບໍ່ສາມາດຖືກຍົກເລີກ.ສອງຊິບ DC / DC ຮອງຮັບ input ສູງສຸດ 18V, ເຊິ່ງສະດວກສໍາລັບການສະຫນອງພະລັງງານພາຍນອກ.
9. ພອດດີບັກ USB TYPE C: TYPE C ສາມາດສຽບ ແລະຖອດປລັກໄປໜ້າ ແລະຫຼັງໄດ້.Forward insertion ຕິດຕໍ່ສື່ສານກັບ WIFI chip ESP32-C ເພື່ອດໍາເນີນໂຄງການ chip WIFI;ການແຊກຊ້ອນກັນຕິດຕໍ່ສື່ສານກັບ XR21V1410IL16 ເພື່ອດໍາເນີນໂຄງການ T5L.TYPE C ຮອງຮັບການສະຫນອງພະລັງງານ 5V.
10. ການສື່ສານພອດຂະຫນານ: T5L OS core ມີພອດ IO ຟຣີຫຼາຍ, ແລະການສື່ສານພອດຂະຫນານ 16bit ສາມາດອອກແບບໄດ້.ສົມທົບກັບ ST ARM FMC ອະນຸສັນຍາພອດຂະຫນານ, ມັນສະຫນັບສະຫນູນການອ່ານແລະຂຽນ synchronous.
11. LCM RGB ການອອກແບບການໂຕ້ຕອບຄວາມໄວສູງ: ຜົນຜະລິດ T5L RGB ແມ່ນເຊື່ອມຕໍ່ໂດຍກົງກັບ LCM RGB, ແລະການຕໍ່ຕ້ານ buffer ໄດ້ຖືກເພີ່ມໃນກາງເພື່ອຫຼຸດຜ່ອນການແຊກແຊງນ້ໍາ LCM.ເມື່ອສາຍ, ຫຼຸດຜ່ອນຄວາມຍາວຂອງການເຊື່ອມຕໍ່ອິນເຕີເຟດ RGB, ໂດຍສະເພາະແມ່ນສັນຍານ PCLK, ແລະເພີ່ມ RGB interface PCLK, HS, VS, DE ຈຸດທົດສອບ;ພອດ SPI ຂອງຫນ້າຈໍແມ່ນເຊື່ອມຕໍ່ກັບພອດ P2.4 ~ P2.7 ຂອງ T5L, ເຊິ່ງສະດວກໃນການອອກແບບໄດເວີຫນ້າຈໍ.ນໍາພາຈຸດທົດສອບ RST, nCS, SDA, SCI ເພື່ອອໍານວຍຄວາມສະດວກໃນການພັດທະນາຊອບແວທີ່ຕິດພັນ.
(2) ການໂຕ້ຕອບ DGUS
1.6 ການຄວບຄຸມການສະແດງຂໍ້ມູນຕົວແປ
(3) OS
//———————————— DGUS ອ່ານ ແລະຂຽນຮູບແບບ
typedef ໂຄງສ້າງ
{
u16 addr;// UI 16bit ທີ່ຢູ່ຕົວແປ
u8 datLen;// ຄວາມຍາວຂອງຂໍ້ມູນ 8bit
u8 *pBuf;// ຕົວຊີ້ຂໍ້ມູນ 8bit
} UI_packTypeDef;// DGUS ອ່ານແລະຂຽນແພັກເກັດ
//——————————- ການຄວບຄຸມການສະແດງຂໍ້ມູນຕົວແປ
typedef ໂຄງສ້າງ
{
u16 VP;
u16 X;
u16 Y;
u16 ສີ;
u8 Lib_ID;
u8 ຂະຫນາດຕົວອັກສອນ;
u8 ການຈັດລຽງ;
u8 intNum;
u8 DecNum;
u8 ປະເພດ;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;// ໂຄງສ້າງຄໍາອະທິບາຍຕົວແປຂໍ້ມູນ
typedef ໂຄງສ້າງ
{
Number_spTypeDef sp;// ກໍານົດຕົວຊີ້ຄໍາອະທິບາຍ SP
UI_packTypeDef spPack;// ກໍານົດຕົວແປ SP DGUS ອ່ານແລະຂຽນຊຸດ
UI_packTypeDef vpPack;// ກໍານົດຕົວແປ vp DGUS ອ່ານແລະຂຽນຊຸດ
} Number_HandleTypeDef;// ໂຄງສ້າງຕົວແປຂໍ້ມູນ
ກັບຄໍານິຍາມຂອງຕົວແປຂໍ້ມູນທີ່ຜ່ານມາ.ຕໍ່ໄປ, ກໍານົດຕົວແປສໍາລັບການສະແດງຕົວຢ່າງແຮງດັນ:
Number_HandleTypeDef Hsample;
u16 voltage_sample;
ທໍາອິດ, ປະຕິບັດຫນ້າທີ່ເລີ່ມຕົ້ນ
NumberSP_Init(&Hsample,voltage_sample,0×8000);// 0 × 8000 ນີ້ແມ່ນຕົວຊີ້ຄໍາອະທິບາຍ
//——ຕົວແປຂໍ້ມູນສະແດງໂຄງສ້າງຕົວຊີ້ SP ໃນເບື້ອງຕົ້ນ——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
number->spPack.addr = numberAddr;
number->spPack.datLen = sizeof(number->sp);
number->spPack.pBuf = (u8 *)&number->sp;
Read_Dgus(&number->spPack);
number->vpPack.addr = number->sp.VP;
switch(number->sp.Type) // ຄວາມຍາວຂໍ້ມູນຂອງຕົວແປ vp ຖືກເລືອກໂດຍອັດຕະໂນມັດຕາມປະເພດຕົວແປຂໍ້ມູນທີ່ອອກແບບມາໃນການໂຕ້ຕອບ DGUS.
{
ກໍລະນີ 0:
ກໍລະນີ 5:
number->vpPack.datLen = 2;
ພັກຜ່ອນ;
ກໍລະນີ 1:
ກໍລະນີ 2:
ກໍລະນີ 3:
ກໍລະນີ 6:
number->vpPack.datLen = 4;
ກໍລະນີ 4:
number->vpPack.datLen = 8;
ພັກຜ່ອນ;
}
number->vpPack.pBuf = ຄ່າ;
}
ຫຼັງຈາກການເລີ່ມຕົ້ນ, Hsample.sp ເປັນຕົວຊີ້ບອກລາຍລະອຽດຂອງຕົວແປຂໍ້ມູນການເກັບຕົວຢ່າງແຮງດັນ;Hsample.spPack ແມ່ນຕົວຊີ້ການສື່ສານລະຫວ່າງແກນ OS ແລະຂໍ້ມູນການເກັບຕົວຢ່າງແຮງດັນຂອງ UI ໂດຍຜ່ານຟັງຊັນອິນເຕີເຟດ DGUS;Hsample.vpPack ແມ່ນຄຸນລັກສະນະຂອງການປ່ຽນແປງຕົວແປຂໍ້ມູນການເກັບຕົວຢ່າງແຮງດັນ, ເຊັ່ນ: ຕົວອັກສອນສີ, ແລະອື່ນໆ. ຍັງຖືກສົ່ງໄປຫາຫຼັກ UI ຜ່ານຟັງຊັນອິນເຕີເຟດ DGUS.Hsample.vpPack.addr ແມ່ນທີ່ຢູ່ຕົວແປຂໍ້ມູນການເກັບຕົວຢ່າງແຮງດັນ, ເຊິ່ງໄດ້ຮັບອັດຕະໂນມັດຈາກການທໍາງານເບື້ອງຕົ້ນ.ເມື່ອທ່ານປ່ຽນທີ່ຢູ່ຕົວແປຫຼືປະເພດຂໍ້ມູນຕົວແປໃນການໂຕ້ຕອບ DGUS, ບໍ່ຈໍາເປັນຕ້ອງປັບປຸງທີ່ຢູ່ຕົວແປໃນ OS core synchronously.ຫຼັງຈາກຫຼັກ OS ຄິດໄລ່ຕົວແປ voltage_sample, ມັນພຽງແຕ່ຕ້ອງການປະຕິບັດຟັງຊັນ Write_Dgus(&Hsample.vpPack) ເພື່ອອັບເດດມັນ.ບໍ່ຈໍາເປັນຕ້ອງຫຸ້ມຫໍ່ voltage_sample ສໍາລັບການສົ່ງ DGUS.
ເວລາປະກາດ: 15-06-2022