Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tha

Pages: [1] 2 3 ... 568
1
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: Today at 07:54:31 am »
14.3.12 Sending the instruction only once

บาง Flash memories (อย่างเช่น Winbound) อาจจัดให้มี a mode โดยที่ an instruction ต้องถูกส่งเฉพาะกับ the first command sequence, ในขณะที่ subsequent commands สตาร์ทโดยตรงกับ the address. เราสามารถใช้ประโยชน์จากคุณสมบัติดังกล่าวได้โดยใช้ the SIOO bit (QUADSPI_CCR[28]).

SIOO ใช้ได้สำหรับทุก functional modes (indirect, automatic polling, and memory-mapped). ถ้า the SIOO bit ถูกเซ็ต, the instruction จะถูกส่งเฉพาะสำหรับ the first command ที่ตาม a write ไปยัง QUADSPI_CCR. Subsequent command sequences จะข้าม the instruction phase, จนกว่าจะมีเขียนถึง QUADSPI_CCR.

SIOO จะไม่มีผลอะไรเมื่อ IMODE = 00 (ไม่มี instruction).

2
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 05:41:43 pm »
Memory-mapped mode

ใน memory-mapped mode, the external Flash memory จะถูกมองเป็น internal memory แต่มีเวลาแฝงในระหว่าง accesses. เฉพาะ read operations ถูกอนุญาตให้กับ the external Flash memory ในโหมดนี้.

Memory-mapped mode ถูกเข้าสู่โดยการเซ็ต the FMODE เป็น 11 ใน the QUADSPI_CCR register.

The programmed instruction และ frame จะถูกส่งเมื่อ a master กำลังเข้าถึง the memory mapped space.

The FIFO ถูกใช้เป็น a prefetch buffer เพื่อคาดการณ์ linear reads. การเข้าถึงใดๆไปยัง QUADSPI_DR ในโหมดนี้จะส่งคืนกลับศูนย์.

The data length register (QUADSPI_DLR) ไม่มีความหมายใน memory-mapped mode.

3
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 05:29:55 pm »
Status flag polling mode

The status flag polling mode ถูกเปิดใช้งานโดยการเซ็ต the FMODE field (QUADSPI_CCR[27:26]) เป็น 10. ในโหมดนี้, the programmed frame จะถูกส่งและ the data จะถูกดึงเป็นระยะๆ.

จำนวนสูงสุดของ data ที่อ่านในแต่ละ frame คือ 4 bytes. ถ้า data ที่มากกว่านี้ถูกร้องขอใน QUADSPI_DLR, มันจะถูดเพิกเฉยและเฉพาะ 4 bytes จะถูกอ่าน.

The periodicity ถูกระบุใน the QUADSPI_PISR register.

ทันทีที่ the status data ถูกดึงแล้ว, มันสามารถถูกประมวลผลภายในเพื่อ:
•   เซ็ต the status match flag และสร้าง an interrupt ถ้าถูกเปิดใช้งาน
•   หยุดโดยอัตโนมัติการดึงเป็นระยะๆของ the status bytes

The received value สามรถถูกบังด้วย the value ที่เก็บใน the QUADSPI_PSMKR และถูก OR หรือถูก AND ด้วย the value ที่เก็บใน the QUADSPI_PSMAR.

ในกรณีของคู่ที่เหมือนกัน, the status match flag จะถูกเซ็ตและ an interrupt จะถูกสร้างถ้าเปิดใช้งาน, และ the QUADSPI สามารถถูกหยุดโดยอัตโนมัติถ้า the AMPS bit ถูกเซ็ต.

ในกรณีใดๆ, the latest retrieved value จะมีให้ใช้ประโยชน์ใน the QUADSPI_DR.

4
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 03:26:45 pm »
ถ้าไม่ทั้ง the address register (QUADSPI_AR) หรือ the data register (QUADSPI_DR) จำเป็นต้องถูกอัฟเดตสำหรับ a particular command, ดังนั้น the command sequence จะสตาร์ททันทีที่ QUADSPI_CCR ถูกเขียน. นี้เป็นกรณีเมื่อทั้ง ADMODE and DMODE เป็น 00, หรือถ้าเพียง ADMODE = 00 เมื่ออยู่ใน indirect read mode (FMODE = 01).

เมื่อ an address ถูกต้องการd (ADMODE ไม่ใช่ 00) และ the data register ไม่จำเป็ต้องถูกเขียน (เมื่อ FMODE = 01 หรือ DMODE = 00), the command sequence จะสตาร์ททันทีที่ the address ถูกอัฟเดตด้วยการเขียนไปยัง QUADSPI_AR.

ในกรณีของ data transmission (FMODE = 00 and DMODE! = 00), the communication start ถูกทริกโดยการเขียนใน the FIFO ผ่านทาง QUADSPI_DR.

5
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 03:00:37 pm »
เมื่อเขียน the communication configuration register (QUADSPI_CCR) ผู้ใช้ระบุ the following parameters:
•   The instruction byte ผ่านทาง the INSTRUCTION bits
•   วิธีที่ the instruction ต้องถูกส่งผ่านทาง the IMODE bits (1/2/4 lines)
•   วิธีที่ the address ต้องถูกส่งผ่านทาง the ADMODE bits (ไม่มี/1/2/4 lines)
•   The address size (8/16/24/32-bit) ผ่านทาง the ADSIZE bits
•   วิธีที่ the alternate bytes ต้องถูกส่งผ่านทาง the ABMODE (ไม่มี/1/2/4 lines)
•   The alternate bytes number (1/2/3/4) ผ่านทาง the ABSIZE bits
•   การมีหรือไม่มี dummy bytes ผ่านทาง the DBMODE bit
•   จำนวนของ dummy bytes ผ่านทาง the DCYC bits
•   วิธีที่ the data ต้องถูกส่ง/ถูกรับ (ไม่มี/1/2/4 lines) ผ่านทาง the DMODE bits

6
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 02:30:32 pm »
เมื่อเขียน the control register (QUADSPI_CR) ผู้ใช้ระบุการเซ็ตต่อไปนี้:
•   The enable bit (EN) ถูกเซ็ตเป็น ‘1’
•   The DMA enable bit (DMAEN) สำหรับการส่งถ่าย data ถึง/จาก RAM
•   Timeout counter enable bit (TCEN)
•   Sample shift setting (SSHIFT)
•   FIFO threshold level (FTRHES) เพื่อระบุว่าเมื่อใด the FTF flag ควรถูกเซ็ต
•   Automatic polling mode parameters: match mode และ stop mode (ใช้ได้เมื่อ FMODE = 11)
•   Clock prescaler

7
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 02:20:47 pm »
14.3.11 QUADSPI usage

The operating mode ถูกเลือกโดยใช้ FMODE[1:0] (QUADSPI_CCR[27:26]).

Indirect mode procedure

เมื่อ FMODE ถูกโปรแกรมเป็น 00, indirect write mode จะถูกเลือกและ data สามารถถูกส่งไปยัง the Flash memory. ด้วย FMODE = 01, indirect read mode จะถูกเลือกโดยที่ data สามรถถูกอ่านจาก the Flash memory.

เมื่อ the QUADSPI ถูกใช้ใน indirect mode, the frames จะถูกสร้างขึ้นในวิธีต่อไปนี้:
1.   ระบุจำนวนของ data bytes ที่จะอ่านหรือเขียนใน the QUADSPI_DLR.
2.   ระบุ the frame format, mode และ instruction code ใน the QUADSPI_CCR.
3.   ระบุ optional alternate byte ที่จะถูกส่งทันทีหลังจาก the address phase ใน the QUADSPI_ABR.
4.   ระบุ the operating mode ใน the QUADSPI_CR. ถ้า FMODE = 00 (indirect write mode) และ DMAEN = 1, ดังนั้น
      QUADSPI_AR ควรถูกระบุก่อน QUADSPI_CR, เพราะมิฉะนั้น QUADSPI_DR อาจถูกเขียนโดย the DMA ก่อน QUADSPI_AR   
      ถูกอัฟเดต (ถ้า the DMA controller ถูกเปิดใช้งานแล้ว)
5.   ระบุ the targeted address ใน the QUADSPI_AR.
6.   อ่าน/เขียน the data จาก/ถึง the FIFO ผ่านทาง the QUADSPI_DR.

8
ARM Processors / Re: STM32F7 14 Quad-SPI interface (QUADSPI)
« on: November 26, 2022, 01:37:15 pm »
14.3.10 QUADSPI configuration

The QUADSPI configuration ถูกทำในสองขั้นตอน:
•   QUADSPI IP configuration
•   QUADSPI Flash memory configuration

ทันทีที่ถูกกำหนดค่าและถูกเปิดใช้งาน, the QUADSPI สามารถถูกใช้ใน three operating modes ของมัน: indirect mode, status-polling mode, or memory-mapped mode.

QUADSPI IP configuration

The QUADSPI IP ถูกกำหนดค่าโดยใช้ the QUADSPI_CR. ผู้ใช้จะต้องกำหนดค่า the clock prescaler division factor และ the sample shifting settings สำหรับ the incoming data.

DDR mode สามารถถูกเซ็ตผ่านทาง the DDRM bit. ทันทีที่ถูกเปิดใช้งาน, the address and the alternate bytes จะถูกส่งไปบนทั้งสอง clock edges และ the data ถูกส่ง/รับบนทั้งสอง clock edges. โดยไม่คำนึงถึง the DDRM bit setting, instructions จะถูกส่งใน SDR mode เสมอ.

The DMA requests ถูกเปิดใช้งานโดยการเซ็ต the DMAEN bit. ในกรณีของ interrupt usage, respective enable bit ของพวกมันสามารถถูกเซ็ตในระหว่างขั้นตอนนี้ด้วย.

FIFO level สำหรับอย่างใดอย่างหนึ่ง DMA request generation หรือ interrupt generation จะถูกโปรแกรมใน the FTHRES bits.

ถ้า timeout counter ถูกต้องการ, the TCEN bit สามารถถูกเซ็ตและ the timeout value จะถูกโปรแกรมใน the QUADSPI_LPTR register.

Dual-flash mode สามารถถูกทำให้ทำงานโดยการเซ็ต DFM เป็น 1.

QUADSPI Flash memory configuration

The parameters ที่เกี่ยวข้องกับ the targeted external Flash memory ถูกกำหนดค่าผ่านทาง the QUADSPI_DCR register. ผู้ใช้จะต้องโปรแกรม the Flash memory size ใน the FSIZE bits, the Chip Select minimum high time ใน the CSHT bits, และ the functional mode (Mode 0 หรือ Mode 3) ใน the MODE bit.

Pages: [1] 2 3 ... 568