首页 理论教育 传输计数和地址的更新方式

传输计数和地址的更新方式

时间:2023-07-02 理论教育 版权反馈
【摘要】:表3-16 EDMA单元和帧/阵列计数更新注:帧计数更新应用于1D传输;阵列计数更新应用于2D传输。地址更新是指在一个数据块的传输过程中,源/目的地址的自动修正,由EDMA控制器完成必要的地址计算。表3-17源/目的地址更新模式源和目的地址的具体更新模式与选择的数据传输类型密切相关。表3-18列出了在FS、2DS/2DD和SUM参数设置情况下的源地址更新。

传输计数和地址的更新方式

1.数据单元计数和帧及阵列的计数更新

EDMA参数RAM具有16位无符号的单元计数(ELECNT)和帧/阵列计数(FRMCNT)值。另外,它也具有16位带符号的单元索引(ELEIDX)和帧/阵列索引(FRMIDX)值。一个帧或阵列中最大单元数(对于2D传输)为65535,一个块中最大的帧数为65536。对于某个事件相关的传输,数据单元和帧的计数更新取决于传输的类型(1D或2D),以及同步方式的设置,表3-16中总结了这些不同的计数更新方式。

表3-16 EDMA单元和帧/阵列计数更新

978-7-111-37346-9-Chapter03-57.jpg

注:帧计数更新应用于1D传输;阵列计数更新应用于2D传输。如果帧/阵列计数为0(FRMCNT=0),则不会产生帧/阵列计数更新。

对于单元同步的1D传输(FS=0),存在一种单元计数重载的情形。在这种传输模式下,EDMA控制器会跟踪数据单元计数的变化,并根据SUM/DUM参数的设置,按数据大小或者数据单元的索引值对传输地址进行更新。当一帧数据传输的末尾(ELECNT=1)发生了一个单元同步事件时,EDMA控制器在响应事件发出传输请求的同时,会利用参数RAM中的数据单元计数重载位段重新加载ELECNT。数据计数重加载的条件是ELECNT=1,同时帧计数(FRMCNT)非0。

当配置传输时,如果EDMA通道计数重载/连接地址参数(RLD)中的ELERLD被使用,则ELERLD位必须设置为非0值。对于其他类型的传输,16位的数据单元计数重载位段不再有用,因为地址产生硬件会直接跟踪地址。

2.源和目的地址的更新

源和目的地址的更新,由EDMA传输参数RAM的SUM/DUM控制。地址更新是指在一个数据块的传输过程中,源/目的地址的自动修正,由EDMA控制器完成必要的地址计算。不同的地址更新模式使得用户可以创建多种数据结构,各种源/目的地址更新模式在表3-17中列出。需要明确的是,因为所有地址的更新都是发生在已经发出当前的传输请求之后,所以这一参数变化影响的是下一个事件触发的EDMA的传输地址。

表3-17 源/目的地址更新模式(www.xing528.com)

978-7-111-37346-9-Chapter03-58.jpg

源和目的地址的具体更新模式与选择的数据传输类型密切相关。例如,即使是一个从一维源地址到二维目的地址的传输,源地址仍然需要在帧的基础上(而不是在数据单元的基础上)进行更新,以便向目的地址提供2D结构的数据。表3-18列出了在FS、2DS/2DD和SUM参数设置情况下的源地址更新。

表3-18 EDMA源地址参数更新

978-7-111-37346-9-Chapter03-59.jpg

(续)

978-7-111-37346-9-Chapter03-60.jpg

表3-19为可能的目的地址更新。

表3-19 EDMA目的地址参数更新

978-7-111-37346-9-Chapter03-61.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈