STM32F1 SDIO

Started by tha, March 09, 2022, 08:34:02 AM

Previous topic - Next topic

tha

22.9.11 SDIO status register (SDIO_STA)

Address offset: 0x34
Reset value: 0x0000 0000

The SDIO_STA register เป็น a read-only register. มันบรรจุ two types of flag:
•   Static flags (bits [23:22,10:0]): บิตเหล่านี้ยังคงยืนยันจนกระทั่งพวกมันถูกเคลียร์โดยการเขียนไปยัง the SDIO Interrupt Clear
     register (see SDIO_ICR)
•   Dynamic flags (bits [21:11]): บิตเหล่านี้เปลี่ยนสถานะขึ้นอยู่กับ the state of the underlying logic (ตัวอย่างเช่น, FIFO full
     and empty flags ถูกยืนยันและถูกยกเลิกการยืนยันตาม data ขณะเขียนไปยัง the FIFO)


tha

Bits 31:24 Reserved, must be kept at reset value.
Bit 23 CEATAEND: CE-ATA command completion signal ที่รับสำหรับ CMD61
Bit 22 SDIOIT: SDIO interrupt ที่รับ
Bit 21 RXDAVL: Data มีให้ใช้ใน receive FIFO
Bit 20 TXDAVL: Data มีให้ใช้ใน transmit FIFO
Bit 19 RXFIFOE: Receive FIFO ว่างเปล่า
Bit 18 TXFIFOE: Transmit FIFO ว่างเปล่า
     เมื่อ HW Flow Control ถูกเปิดการใช้งาน, TXFIFOE signals กลายมาเป็น activated เมื่อ the FIFO บรรจุ 2 words.
Bit 17 RXFIFOF: Receive FIFO เต็ม
     เมื่อ HW Flow Control ถูกเปิดการใช้งาน, RXFIFOF signals กลายมาเป็น activated 2 words ก่อน the FIFO จะเต็ม.
Bit 16 TXFIFOF: Transmit FIFO เต็ม

tha

Bit 15 RXFIFOHF: Receive FIFO half full: มีอย่างน้อย 8 words ใน the FIFO
Bit 14 TXFIFOHE: Transmit FIFO half empty: อย่างน้อย 8 words สามารถถูกเขียนลงใน the FIFO
Bit 13 RXACT: Data receive กำลังดำเนินการ
Bit 12 TXACT: Data transmit กำลังดำเนินการ
Bit 11 CMDACT: Command transfer กำลังดำเนินการ


tha

Bit 10 DBCKEND: Data block ที่ส่ง/ที่รับ (CRC check ผ่าน)
Bit 9 STBITERR: Start bit ไม่ถูกตรวจพบบน all data signals ใน wide bus mode
Bit 8 DATAEND: Data end (data counter, SDIDCOUNT, เป็นศูนย์)
Bit 7 CMDSENT: Command sent (no response ถูกต้องการ)
Bit 6 CMDREND: Command response ที่รับ (CRC check ผ่าน)
Bit 5 RXOVERR: Received FIFO overrun error

tha

Bit 4 TXUNDERR: Transmit FIFO underrun error
Bit 3 DTIMEOUT: Data timeout
Bit 2 CTIMEOUT: Command response timeout
     The Command TimeOut period มีค่าคงที่ 64 SDIO_CK clock periods.
Bit 1 DCRCFAIL: Data block ที่ส่ง/ที่รับ (CRC check ล้มเหลว)
Bit 0 CCRCFAIL: Command response ที่รับ (CRC check ล้มเหลว)

tha

22.9.12 SDIO interrupt clear register (SDIO_ICR)

Address offset: 0x38
Reset value: 0x0000 0000

The SDIO_ICR register เป็น a write-only register. การเขียน a bit ด้วย 1b จะเคลียร์บิตที่ตรงกันใน the SDIO_STA Status register.



Bits 31:24 Reserved, must be kept at reset value.

Bit 23 CEATAENDC: CEATAEND flag clear bit
     เซ็ตโดย software เพื่อเคลียร์ the CEATAEND flag.
     0: CEATAEND ไม่ถูกเคลียร์
     1: CEATAEND ถูกเคลียร์

Bit 22 SDIOITC: SDIOIT flag clear bit
     Set by software to clear the SDIOIT flag.
     0: SDIOIT not cleared
     1: SDIOIT cleared

Bits 21:11 Reserved, must be kept at reset value.

Bit 10 DBCKENDC: DBCKEND flag clear bit
     Set by software to clear the DBCKEND flag.
     0: DBCKEND not cleared
     1: DBCKEND cleared

Bit 9 STBITERRC: STBITERR flag clear bit
     Set by software to clear the STBITERR flag.
     0: STBITERR not cleared
     1: STBITERR cleared

Bit 8 DATAENDC: DATAEND flag clear bit
     Set by software to clear the DATAEND flag.
     0: DATAEND not cleared
     1: DATAEND cleared

Bit 7 CMDSENTC: CMDSENT flag clear bit
     Set by software to clear the CMDSENT flag.
     0: CMDSENT not cleared
     1: CMDSENT cleared

Bit 6 CMDRENDC: CMDREND flag clear bit
     Set by software to clear the CMDREND flag.
     0: CMDREND not cleared
     1: CMDREND cleared

Bit 5 RXOVERRC: RXOVERR flag clear bit
     Set by software to clear the RXOVERR flag.
     0: RXOVERR not cleared
     1: RXOVERR cleared

Bit 4 TXUNDERRC: TXUNDERR flag clear bit
     Set by software to clear TXUNDERR flag.
     0: TXUNDERR not cleared
     1: TXUNDERR cleared

Bit 3 DTIMEOUTC: DTIMEOUT flag clear bit
     Set by software to clear the DTIMEOUT flag.
     0: DTIMEOUT not cleared
     1: DTIMEOUT cleared

Bit 2 CTIMEOUTC: CTIMEOUT flag clear bit
     Set by software to clear the CTIMEOUT flag.
     0: CTIMEOUT not cleared
     1: CTIMEOUT cleared

Bit 1 DCRCFAILC: DCRCFAIL flag clear bit
     Set by software to clear the DCRCFAIL flag.
     0: DCRCFAIL not cleared
     1: DCRCFAIL cleared

Bit 0 CCRCFAILC: CCRCFAIL flag clear bit
     Set by software to clear the CCRCFAIL flag.
     0: CCRCFAIL not cleared
     1: CCRCFAIL cleared

tha

22.9.13 SDIO mask register (SDIO_MASK)

Address offset: 0x3C
Reset value: 0x0000 0000

The interrupt mask register กำหนดว่า status flags ใดสร้าง an interrupt request โดยการเซ็ตบิตที่ตรงกันเป็น 1b.



Bits 31:24 Reserved, must be kept at reset value.

Bit 23 CEATAENDIE: CE-ATA command completion signal received interrupt enable
      เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่สร้างขึ้นเมื่อรับ the CE-ATA command
      completion signal.
     0: CE-ATA command completion signal received interrupt ถูกปิดการใช้งาน
     1: CE-ATA command completion signal received interrupt ถูกเปิดการใช้งาน

Bit 22 SDIOITIE: SDIO mode interrupt received interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่สร้างขึ้นเมื่อรับ the SDIO mode interrupt.
     0: SDIO Mode Interrupt Received interrupt ถูกปิดการใช้งาน
     1: SDIO Mode Interrupt Received interrupt ถูกเปิดการใช้งาน

Bit 21 RXDAVLIE: Data available in Rx FIFO interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่สร้างขึ้นโดยการมีอยู่ของ data มีให้ใช้ใน Rx FIFO.
     0: Data available in Rx FIFO interrupt ถูกปิดการใช้งาน
     1: Data available in Rx FIFO interrupt ถูกเปิดการใช้งาน

Bit 20 TXDAVLIE: Data available in Tx FIFO interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่สร้างขึ้นโดยการมีอยู่ของ data มีให้ใช้ใน Tx FIFO.
     0: Data available in Tx FIFO interrupt ถูกปิดการใช้งาน
     1: Data available in Tx FIFO interrupt ถูกเปิดการใช้งาน

Bit 19 RXFIFOEIE: Rx FIFO empty interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Rx FIFO empty.
     0: Rx FIFO empty interrupt disabled
     1: Rx FIFO empty interrupt enabled

Bit 18 TXFIFOEIE: Tx FIFO empty interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Tx FIFO empty.
     0: Tx FIFO empty interrupt disabled
     1: Tx FIFO empty interrupt enabled

Bit 17 RXFIFOFIE: Rx FIFO full interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Rx FIFO full.
     0: Rx FIFO full interrupt disabled
     1: Rx FIFO full interrupt enabled

tha

Bit 16 TXFIFOFIE: Tx FIFO full interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Tx FIFO full.
     0: Tx FIFO full interrupt disabled
     1: Tx FIFO full interrupt enabled

Bit 15 RXFIFOHFIE: Rx FIFO half full interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Rx FIFO half full.
     0: Rx FIFO half full interrupt disabled
     1: Rx FIFO half full interrupt enabled

Bit 14 TXFIFOHEIE: Tx FIFO half empty interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก Tx FIFO half empty.
     0: Tx FIFO half empty interrupt disabled
     1: Tx FIFO half empty interrupt enabled

Bit 13 RXACTIE: Data receive acting interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก data กำลังถูกรับ (data receive acting).
     0: Data receive acting interrupt disabled
     1: Data receive acting interrupt enabled

Bit 12 TXACTIE: Data transmit acting interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก data กำลังถูกส่งถ่าย (data transmit
     acting).
     0: Data transmit acting interrupt disabled
     1: Data transmit acting interrupt enabled

Bit 11 CMDACTIE: Command acting interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก a command กำลังถูกส่งถ่าย (command
     acting).
     0: Command acting interrupt disabled
     1: Command acting interrupt enabled

Bit 10 DBCKENDIE: Data block end interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก data block end.
     0: Data block end interrupt disabled
     1: Data block end interrupt enabled

Bit 9 STBITERRIE: Start bit error interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก start bit error.
     0: Start bit error interrupt disabled
     1: Start bit error interrupt enabled

Bit 8 DATAENDIE: Data end interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก data end.
     0: Data end interrupt disabled
     1: Data end interrupt enabled

Bit 7 CMDSENTIE: Command sent interrupt enable
     เซ็ตและเคลียร์โดย software เพื่อ เปิดการใช้งาน/ปิดการใช้งาน the interrupt ที่เหตุจาก sending command.
     0: Command sent interrupt disabled
     1: Command sent interrupt enabled