13.3.4 Programmable data width, data alignment and endiansเมื่อ PSIZE และ MSIZE ไม่เท่ากัน, the DMA จะดำเนินการจัดแนว data ดังอธิบายในตารางที่ 76.
Addressing an AHB peripheral that does not support byte or halfword write operations(การระบุแอดเดรสของ AHB peripheral ไม่รองรับการทำการเขียนแบบ byte หรือ halfword)
เมื่อ the DMA เริ่มการทำการเขียน an AHB แบบ byte หรือ halfword, the data นี้จะซ้ำไปบนเลนที่ไม่ได้ใช้ของ the HWDATA[31:0] bus. ดังนั้นเมื่อ the used AHB slave peripheral ไม่ได้รองรับการทำการเขียนแบบ byte หรือ halfword (เมื่อ HSIZE ไม่ได้ถูกใช้โดย the peripheral นั้น) และไม่ได้เกิด error ใดๆ, the DMA เขียน the 32 HWDATA bits ดังแสดงในสองตัวอย่างข้างล่างนี้ :
• ในการเขียน the halfword “0xABCD”, the DMA เซ็ต the HWDATA bus เป็น “0xABCDABCD” ด้วย HSIZE = HalfWord
• ในการเขียน the byte “0xAB”, the DMA เซ็ต the HWDATA bus เป็น “0xABABABAB” ด้วย HSIZE = Byte
ทึกทักเอาว่า the AHB/APB bridge(สะพาน) เป็น an AHB 32-bit slave peripheral จะไม่คำนึงถึง the HSIZE data, มันจะแปลง AHB byte หรือ halfword operation ใดๆลงใน a 32-bit APB operation ในลักษณะดังต่อไปนี้:
• an AHB byte write operation ของ the data “0xB0” ไปยังแอดเดรส 0x0 (หรือไปยังแอดเดรส 0x1, 0x2 or 0x3) จะถูกแปลง
เป็น an APB word write operation ของ the data “0xB0B0B0B0” ไปยังแอดเดรส 0x0
• an AHB halfword write operation ของ the data “0xB1B0” ไปยังแอดเดรส 0x0 (หรือไปยัง 0x2) จะถูกแปลงเป็น an APB
word write operation ของ the data “0xB1B0B1B0” ไปยังแอดเดรส 0x0
ตัวอย่างเช่น, ในการเขียน the APB backup registers (16-bit registers วางแนวไปเป็น a 32-bit address boundary), the memory source size (MSIZE) ต้องถูกกำหนดค่าเป็น “16-bit” และ the peripheral destination size (PSIZE) เป็น “32-bit”.