13.3.1 Supported memories and transactions
General transaction rules
The requested AHB transaction data size สามารถเป็น 8-, 16- or 32-bit wide ในขณะที่ the accessed external device มี a fixed data width. ซึ่งอาจนำไปสู่การส่งถ่ายที่ไม่สอดคล้องกัน.
ดังนั้น, some simple transaction rules ต้องถูกปฏิบัติตาม:
• AHB transaction size and memory data size เท่ากัน
ไม่มีปัญหาในกรณีนี้.
• AHB transaction size ใหญ่กว่า the memory size:
ในกรณีนี้, the FMC จะแบ่ง the AHB transaction เป็น smaller consecutive memory accesses เพื่อให้ตรงตาม the
external data width. The FMC chip select (FMC_NEx) จะไม่สลับระหว่าง the consecutive accesses.
• AHB transaction size เล็กกว่า the memory size:
การส่งถ่ายอาจสอดคล้องหรือไม่ขึ้นอยู่กับ the type of external device:
– เข้าถึงไปยัง devices ที่มี the byte select feature (SRAM, ROM, PSRAM, SDRAM)
ในกรณีนี้, the FMC ยอมให้ read/write transactions และเข้าถึง the right data ผ่านทาง byte lanes ของมัน NBL[3:0].
Bytes ที่จะถูกเขียนถูกระบุที่อยู่โดย NBL[3:0].
All memory bytes ถูกอ่าน (NBL[3:0] ถูกขับ low ในระหว่าง read transaction) และสิ่งที่ไร้ประโยชน์จะถูกทิ้ง.
– เข้าถึงไปยัง devices ที่ไม่มี the byte select feature (NOR and NAND Flash memories)
สถานการณ์นี้เกิดขึ้นเมื่อ a byte access ถูกร้องขอไปยัง a 16-bit wide Flash memory. เนื่องจาก the device ไม่สามารถถูก
เข้าถึงใน Byte mode (เฉพาะ 16-bit words ที่สามารถถูก read/written from/to the Flash memory), Write
transactions and Read transactions ถูกยอมให้ (the controller จะอ่าน the entire 16-bit memory word และใช้เฉพาะ
the required byte).