7cb7cc5334e436e5bc51501722b9510fb5865072
BOM-DAT/mosfet-dat/mos-n-dat/mos-n-dat.md
| ... | ... | @@ -18,6 +18,32 @@ |
| 18 | 18 |  |
| 19 | 19 | |
| 20 | 20 | |
| 21 | +- IRFR1205 - [[infineon-dat]] |
|
| 22 | +- IRFR5305 - [[infineon-dat]] |
|
| 23 | + |
|
| 24 | +- [[onsemi-dat]] |
|
| 25 | + |
|
| 26 | +NCE6050KA - The NCE6050KA is a 60V, 50A N-channel enhancement mode power MOSFET from NCE Power, typically available in a TO-252 (DPAK) surface-mount package. It features low on-resistance and is designed for high-current applications such as power switching, motor drivers, and industrial systems. |
|
| 27 | + |
|
| 28 | +SI2302DS |
|
| 29 | + |
|
| 30 | +SI2304 |
|
| 31 | + |
|
| 32 | +SI2306 A6SHB |
|
| 33 | + |
|
| 34 | +SI2308 A8SHB MOS管 N沟道场效应管晶体管 |
|
| 35 | + |
|
| 36 | +RQ3E080BNTB |
|
| 37 | + |
|
| 38 | +AO3400A |
|
| 39 | + |
|
| 40 | +## dual mos-N |
|
| 41 | + |
|
| 42 | +IRF8313 TRPBF |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 21 | 47 | ## DMG1012T-7 |
| 22 | 48 | |
| 23 | 49 | N-CHANNEL ENHANCEMENT MODE MOSFET |
BOM-DAT/mosfet-dat/mos-p-dat/mos-p-dat.md
| ... | ... | @@ -4,14 +4,31 @@ |
| 4 | 4 | - [[mosfet-dat]] |
| 5 | 5 | |
| 6 | 6 | |
| 7 | -- IRLML6402 TRPBF |
|
| 8 | -- SI2318 A |
|
| 7 | + |
|
| 8 | + |
|
| 9 | 9 | |
| 10 | 10 | ## control |
| 11 | 11 | |
| 12 | 12 | - [[adc-dat]] |
| 13 | 13 | |
| 14 | 14 | |
| 15 | +## parts |
|
| 16 | + |
|
| 17 | +- [[AO3401-dat]] |
|
| 18 | + |
|
| 19 | +- IRLML6402 TRPBF |
|
| 20 | +- SI2318 A |
|
| 21 | + |
|
| 22 | +- IRF4905 |
|
| 23 | +- IRF9540N |
|
| 24 | + |
|
| 25 | +SI4435 - SOIC-8 P沟道 -30V/-8.1A 贴片MOSFET |
|
| 26 | + |
|
| 27 | +SI2307 |
|
| 28 | + |
|
| 29 | +IRLML6402TRPBF |
|
| 30 | + |
|
| 31 | + |
|
| 15 | 32 | |
| 16 | 33 | |
| 17 | 34 | ## P-mosfet |
| ... | ... | @@ -37,10 +54,6 @@ Low-side drive is typically used with N-channel MOSFETs, not P-channel. |
| 37 | 54 | |
| 38 | 55 | |
| 39 | 56 | |
| 40 | -## parts |
|
| 41 | - |
|
| 42 | -- [[AO3401-dat]] |
|
| 43 | - |
|
| 44 | 57 | |
| 45 | 58 | ## ref |
| 46 | 59 |
BOM-DAT/mosfet-dat/mosfet-dat.md
| ... | ... | @@ -15,7 +15,7 @@ control by [[arduino-dat]] - [[MCU-dat]] |
| 15 | 15 | |
| 16 | 16 | - [[PWM-dat]] |
| 17 | 17 | |
| 18 | -- [[n-mosfet-control-dat]] - [[P-mos-dat]] - [[mos-n-dat]] |
|
| 18 | +- [[n-mosfet-control-dat]] - [[mos-P-dat]] - [[mos-n-dat]] |
|
| 19 | 19 | |
| 20 | 20 | - [[dual-mosfet-dat]] |
| 21 | 21 |
Chip-cn-dat/Espressif-dat/ESP32-S3-DAT/ESP32-S3-DAT.md
| ... | ... | @@ -1,7 +1,7 @@ |
| 1 | 1 | |
| 2 | 2 | # ESP32-S3-dat |
| 3 | 3 | |
| 4 | -- [[ESP32-S3-chip-DAT]] |
|
| 4 | +- [[ESP32-S3-chip-DAT]] - [[ESP32-Dat]] |
|
| 5 | 5 | |
| 6 | 6 | |
| 7 | 7 | - [[ESP32-S3-SDK-dat]] - [[ESP32-SDK-dat]] - [[ESP-SDK-dat]] |
| ... | ... | @@ -9,12 +9,15 @@ |
| 9 | 9 | |
| 10 | 10 | - [[ESP32-S3-HDK-dat]] |
| 11 | 11 | |
| 12 | +for [[ESP32-S3-dat]] - [[ESP32-dat]] - [[HDK-dat]] - [[peripherals-dat]] - [[interface-dat]] - [[ADC-dat]] - [[DAC-dat]] - [[I2C-dat]] - [[serial-dat]] - [[gpio-dat]] - [[usb-sdk-dat]] - [[SPI-dat]] - [[I2S-dat]] - [[PDM-dat]] - [[DMA-dat]] - [[ISR-dat]] - [[Interrupt-dat]] - [[RMT-dat]] - [[PWM-dat]] |
|
| 13 | + |
|
| 12 | 14 | - [[ESP32-S3-module-DAT]] - [[ESP32-S3-WROOM-1-dat]] - [[ESP32-S3-board-dat]] |
| 13 | 15 | |
| 14 | 16 | - [[ESP32-S3-app-DAT]] |
| 15 | 17 | |
| 16 | 18 | |
| 17 | 19 | |
| 20 | + |
|
| 18 | 21 | ## board |
| 19 | 22 | |
| 20 | 23 | - [[ESP32-S3-Board-DAT]] |
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-HDK-dat.md
| ... | ... | @@ -8,8 +8,13 @@ |
| 8 | 8 | |
| 9 | 9 | - [[ESP-prog-dat]] |
| 10 | 10 | |
| 11 | -- [[ESP32-ADC-dat]] - [[ESP32-DAC-dat]] - [[ESP32-I2C-dat]] - [[esp32-serial-dat]] - [[esp32-gpios-dat]] - [[esp32-usb-dat]] - [[ESP32-SPI-dat]] - [[ESP32-I2S-dat]] |
|
| 11 | +- [[ESP32-ADC-dat]] - [[ESP32-DAC-dat]] - [[ESP32-I2C-dat]] - [[esp32-serial-dat]] - [[esp32-gpios-dat]] - [[esp32-usb-dat]] - [[ESP32-SPI-dat]] - [[ESP32-I2S-dat]] - [[ESP32-PDM-dat]] |
|
| 12 | 12 | |
| 13 | +- [[ESP32-dat]] - [[HDK-dat]] - [[peripherals-dat]] - [[ADC-dat]] - [[DAC-dat]] - [[I2C-dat]] - [[serial-dat]] - [[gpio-dat]] - [[usb-sdk-dat]] - [[SPI-dat]] - [[I2S-dat]] - [[PDM-dat]] - [[DMA-dat]] - [[ISR-dat]] |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +- [[GPIO-dat]] |
|
| 13 | 18 | |
| 14 | 19 | ## hardware design guidelines |
| 15 | 20 |
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-dat.md
| ... | ... | @@ -2,6 +2,8 @@ |
| 2 | 2 | |
| 3 | 3 | # ESP32 |
| 4 | 4 | |
| 5 | + |
|
| 6 | + |
|
| 5 | 7 | ## new chip info |
| 6 | 8 | |
| 7 | 9 | - [[ESP32-S3-dat]] - [[ESP32-S2-dat]] |
| ... | ... | @@ -24,7 +26,8 @@ and more at [[espressif-dat]] |
| 24 | 26 | |
| 25 | 27 | - [[ESP-SDK-dat]] - [[ESP32-SDK-dat]] |
| 26 | 28 | |
| 27 | -- [[ESP32-HDK-dat]] - [[ESP32-serial-dat]] |
|
| 29 | +- [[ESP32-HDK-dat]] - [[ESP32-serial-dat]] - [[ESP32-ADC-dat]] - [[ESP32-DAC-dat]] - [[ESP32-I2C-dat]] - [[esp32-serial-dat]] - [[esp32-gpios-dat]] - [[esp32-usb-dat]] - [[ESP32-SPI-dat]] - [[ESP32-I2S-dat]] - [[ESP32-PDM-dat]] - [[ESP32-ISR-dat]] - [[ESP32-DMA-dat]] - [[DMA-dat]] |
|
| 30 | + |
|
| 28 | 31 | |
| 29 | 32 | - [[ESP32-modules-dat]] - [[ESP32-board-dat]] |
| 30 | 33 |
Chip-dat/Infineon-dat/Infineon-dat.md
| ... | ... | @@ -6,8 +6,14 @@ |
| 6 | 6 | |
| 7 | 7 | - [[IRF540N-dat]] - [[IRF8313-dat]] - [[F5305-dat]] |
| 8 | 8 | |
| 9 | -IRF1404 |
|
| 10 | -IRF3205 |
|
| 9 | +- IRF1404 |
|
| 10 | +- IRF3205 |
|
| 11 | +- IRFR1205 - [[infineon-dat]] |
|
| 12 | +- IRFR5305 - [[infineon-dat]] |
|
| 13 | + |
|
| 14 | +- IRF540N |
|
| 15 | + |
|
| 16 | + |
|
| 11 | 17 | |
| 12 | 18 | ## mosfet |
| 13 | 19 |
Chip-dat/OnSemi-dat/OnSemi-dat.md
| ... | ... | @@ -39,6 +39,9 @@ The Switch−mode Power Rectifier employs the Schottky Barrier principle in a la |
| 39 | 39 | |
| 40 | 40 |  |
| 41 | 41 | |
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 42 | 45 | ## ref |
| 43 | 46 | |
| 44 | 47 | - [[chip-dat]] |
| ... | ... | \ No newline at end of file |
Tech-dat/HDK-dat/HDK-dat.md
| ... | ... | @@ -1,4 +1,13 @@ |
| 1 | 1 | |
| 2 | 2 | # HDK-dat |
| 3 | 3 | |
| 4 | -- [[HDK]] |
|
| ... | ... | \ No newline at end of file |
| 0 | +- [[HDK]] |
|
| 1 | + |
|
| 2 | + |
|
| 3 | +for [[ESP32-S3-dat]] - [[ESP32-dat]] - [[HDK-dat]] - [[peripherals-dat]] - [[interface-dat]] - [[ADC-dat]] - [[DAC-dat]] - [[I2C-dat]] - [[serial-dat]] - [[gpio-dat]] - [[usb-sdk-dat]] - [[SPI-dat]] - [[I2S-dat]] - [[PDM-dat]] - [[DMA-dat]] - [[ISR-dat]] - [[Interrupt-dat]] - [[RMT-dat]] - [[PWM-dat]] |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## ref |
|
| 9 | + |
Tech-dat/HDK-dat/ISR-dat/ISR-dat.md
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# ISR-dat |
|
| 4 | + |
|
| 5 | +- [[HDK-dat]] - [[ISR-dat]] - [[interrupt-dat]] |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +An ISR is a specialized function that the ESP32 (or any MCU) executes immediately when a specific hardware event occurs. It "interrupts" the main program flow, handles the event, and then returns the CPU to exactly where it left off. |
|
| 9 | + |
|
| 10 | +### 2. THE ANALOGY: "The Kitchen Timer" |
|
| 11 | +- MAIN LOOP: You are busy chopping vegetables (the main task). |
|
| 12 | +- INTERRUPT: A timer goes off (the hardware signal). |
|
| 13 | +- ISR: You stop chopping, turn off the timer, and return to chopping. |
|
| 14 | +- RESULT: You didn't have to keep looking at the clock (no "polling"). |
|
| 15 | + |
|
| 16 | +### 3. THE "THREE GOLDEN RULES" FOR ESP32 ISRs |
|
| 17 | +To prevent system crashes or "Watchdog Timer" reboots, follow these: |
|
| 18 | + |
|
| 19 | +1. KEEP IT SHORT: |
|
| 20 | + Only toggle a flag or increment a counter. Never use `delay()`, |
|
| 21 | + `Serial.print()`, or long loops inside an ISR. |
|
| 22 | + |
|
| 23 | +2. USE IRAM_ATTR: |
|
| 24 | + The function must be decorated with `void IRAM_ATTR name()`. |
|
| 25 | + This stores the code in Internal RAM so the CPU can access it |
|
| 26 | + instantly, even if the Flash memory is busy. |
|
| 27 | + |
|
| 28 | +3. USE VOLATILE VARIABLES: |
|
| 29 | + Any variable changed inside an ISR and read in the main loop |
|
| 30 | + must be declared as `volatile` (e.g., `volatile int count;`). |
|
| 31 | + |
|
| 32 | +### 4. ISR vs. POLLING |
|
| 33 | +- POLLING: Constantly checking `if (digitalRead(pin) == LOW)`. |
|
| 34 | + (Wasteful, slow, can miss fast signals). |
|
| 35 | +- ISR: The hardware tells the CPU the moment it happens. |
|
| 36 | + (Efficient, near-instant, perfect for motor encoders). |
|
| 37 | + |
|
| 38 | +### 5. EXECUTION FLOW |
|
| 39 | +[ Signal ] -> [ CPU Pauses Loop ] -> [ ISR Runs ] -> [ CPU Resumes Loop ] |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## ref |
|
| 43 | + |
|
| 44 | + |
Tech-dat/HDK-dat/RMT-dat/RMT-dat.md
| ... | ... | @@ -0,0 +1,62 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# RMT-dat |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## RMT vs. PWM: The Pulse Comparison |
|
| 8 | + |
|
| 9 | +### 1. PWM (Pulse Width Modulation) - "The Metronome" |
|
| 10 | +- CHARACTERISTIC: Constant frequency. The "ON" time and "OFF" time stay |
|
| 11 | + the same for every cycle unless you manually change them. |
|
| 12 | +- ANALOGY: A heartbeat. Thump-thump, thump-thump. |
|
| 13 | +- BEST FOR: Dimming LEDs, controlling Motor speed (DRV8701), or Servos. |
|
| 14 | + |
|
| 15 | +### 2. RMT (Remote Control) - "The Drummer" |
|
| 16 | +- CHARACTERISTIC: Variable pulse lengths. Every single pulse in a |
|
| 17 | + sequence can have a different duration. |
|
| 18 | +- ANALOGY: Morse Code. Dot-Dash-Dot-Dot. |
|
| 19 | +- BEST FOR: Complex data (Infrared codes, Neopixel data packets). |
|
| 20 | + |
|
| 21 | +### 3. THE DIFFERENCE IN CODE |
|
| 22 | + |
|
| 23 | +| Feature | PWM (LEDC) | RMT | |
|
| 24 | +|-----------------|---------------------------------|--------------------------------| |
|
| 25 | +| Pulse Pattern | Repeating (Symmetrical) | Unique (Custom Sequence) | |
|
| 26 | +| Data Storage | 1 Duty Cycle Value | A Buffer of many pulse lengths | |
|
| 27 | +| Main Goal | Power/Speed Control | Information/Data Transfer | |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +## info |
|
| 32 | + |
|
| 33 | +RMT is a hardware-based "Pulse Generator" and "Pulse Recorder." It uses a dedicated memory buffer to store a sequence of high/low durations and then "clocks" them out to a pin with nanosecond precision. |
|
| 34 | + |
|
| 35 | +### 2. WHY IT EXISTS |
|
| 36 | +Many digital devices (like WS2812B LEDs or IR Sensors) require signals timed |
|
| 37 | +down to the microsecond. |
|
| 38 | +- Doing this with the CPU (using `delayMicroseconds`) is unreliable because |
|
| 39 | + interrupts or Wi-Fi tasks can "jitter" the timing. |
|
| 40 | +- RMT handles the timing in hardware, leaving the CPU free for other tasks. |
|
| 41 | + |
|
| 42 | +### 3. THE ANALOGY: "The Music Box" |
|
| 43 | +- THE CPU: The composer who writes the sheet music (the pulse sequence). |
|
| 44 | +- RMT BUFFER: The sheet music itself. |
|
| 45 | +- RMT PERIPHERAL: The music box mechanism that plays the notes at a |
|
| 46 | + perfect, steady rhythm without the composer being present. |
|
| 47 | + |
|
| 48 | +### 4. COMMON USE CASES |
|
| 49 | +- ADDRESSABLE LEDS: Driving WS2812B (Neopixels) with perfect timing. |
|
| 50 | +- IR REMOTES: Sending or receiving TV/AirCon remote codes (Sony, NEC, etc.). |
|
| 51 | +- STEPPER MOTORS: Generating precise pulse trains for motor drivers. |
|
| 52 | +- CUSTOM PROTOCOLS: Any 1-wire or bit-banged protocol that is timing-sensitive. |
|
| 53 | + |
|
| 54 | +### 5. RMT vs. ISR vs. DMA |
|
| 55 | +- ISR: Reacts to a signal (CPU is involved). |
|
| 56 | +- DMA: Moves bulk data (CPU is bypassed). |
|
| 57 | +- RMT: "Sculpts" a signal (Hardware handles the clock and timing). |
|
| 58 | + |
|
| 59 | +### 6. KEY SPECIFICATIONS (ESP32) |
|
| 60 | +- Channels: 8 channels (4 TX / 4 RX) on original ESP32. |
|
| 61 | +- Resolution: Based on the APB clock (usually 12.5ns per "tick"). |
|
| 62 | +- Hardware Buffer: Small RAM dedicated to storing the pulse "on/off" pattern. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/HDK-dat/interrupt-dat/interrupt-dat.md
| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# interrupt-dat |
|
| 4 | + |
|
| 5 | +- [[HDK-dat]] - [[ISR-dat]] - [[interrupt-dat]] |