一种接口转换装置及转换方法
技术领域
本发明涉及接口转换,更具体地说,涉及一种实现DMA接口和TCM接口之间的数据传输的接口转换装置及转换方法。
背景技术
在众多存储访问接口中包括DMA接口、TCM接口,如图1所示,采用DMA接口的功能单元200与采用TCM接口的存储单元300由于DMA通信协议和TCM通信协议的不同,使得DMA接口与TCM接口是隔绝的,即,功能单元200无法访问存储单元300。
下面说明DMA接口及TCM接口的通信协议:
一、DMA接口:
dma_req:请求信号位,dma_req共1位,高有效。在时钟触发沿时刻,功能单元请求DMA数据传输时,将dma_req拉高;在时钟触发沿时刻,dma_ack为高时,功能单元将dma_req拉低。
dma_addr:起始地址位,dma_addr共32位,DMA传输起始地址信号,功能单元在拉高dma_req信号的同时,发出dma_addr信号。
dma_cnt:总字节数位,dma_cnt共16位,本次DMA传输需要传输的总字节数,功能单元在拉高dma_req信号的同时,发出dma_cnt信号。
dma_step:地址跳跃位,dma_step共32位。假定低16位值为X,高16位值为Y,DMA读取或写入X字节数据后需要在当前位置向后跳转Y字节地址再继续读取或写入X字节,如此反复,直到读取或写入完成dma_cnt字节。
dma_dir:方向信号位,dma_dir共1位,表示DMA传输的方向。0表示数据从功能单元传出,即功能单元写出数据;1表示数据传入功能单元,即功能单元读入数据。
dma_ack:响应信号位,dma_ack共1位,DMA请求响应信号,1表示功能单元的请求得到了响应;0表示未响应。
dma_udata:上传数据位,dma_udata共16位或32位,功能单元通过DMA写出的数据。
dma_urd:上传信号位,dma_urd共1位。若当前时钟触发沿时刻,dma_urd为高,则在下个时钟触发沿时刻功能单元需提供对应的dma_udata。
dma_ddata:下载数据位,dma_ddata共16或32位,功能单元通过DMA读入的数据。
dma_dwr:下载信号位,dma_dwr共1位。若当前时钟触发沿时刻dma_dwr为高,则在当前时刻功能单元可以读取对应的dma_ddata。
二、TCM接口信号:
DRADDR:地址位,DRADDR共18位,表示读写数据的地址,以字为单位,即0对应存储单元中第一个字,1对应存储单元中第二个字。
DRCS:片选信号位,DRCS共1位,存储单元的片选信号,高有效。
DRDMAADDR:DRDMAADDR共18位,通常不使用,设为0。
DRDMAEN:DRDMAEN共1位,通常不使用,设为0。
DRDMACS:DRDMACS共1位,通常不使用,设为0。
DRIDLE:状态信号位,DRIDLE共1位,0表示数据TCM正在读写数据;1表示数据TCM空闲。
DRnRW:读写标记信号位,DRnRW共1位。DRnRW为0表示读存储单元;DRnRW为1表示写存储单元。
DRRD:读数据位,DRRD共32位。
DRSEQ:DRSEQ共1位,1表示数据TCM地址连续,0表示地址未必连续。
DRSIZE:DRSIZE共4位,表示数据TCM的大小。DRSIZE最小为3,最大为11。DRSIZE为3表示数据TCM为4K字节大小,4表示8K字节大小,5表示16K字节大小,依次类推。存储单元最小为4K字节,最大为1M字节。
DRWAIT:DRWAIT共1位,数据TCM等待信号,1代表数据TCM当前不能响应读写请求,0代表能响应。
DRWD:写数据位,DRWD共32位。
DRWBL:字节选择信号位,DRWBL共4位,数据TCM写数据时的字节选择信号,高有效。DRWBL从高到低4位分别表示DRWD从高到低4个字节的写使能。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述无法实现DMA接口与TCM接口之间数据传输的缺陷,提供一种接口转换装置,能实现DMA接口与TCM接口之间的数据传输。
本发明解决其技术问题所采用的技术方案是:构造一种接口转换装置,用于实现DMA接口和TCM接口之间的数据传输,包括:
DMA模块,与DMA接口相连,用于接收来自DMA接口的DMA信号,或向DMA接口发送转换后的DMA信号;
中间处理模块,用于将所接收的来自DMA接口的DMA信号转换为TCM信号,及将所接收的来自TCM接口的TCM信号转换为DMA信号;
TCM模块,与所述TCM接口相连,用于向TCM接口发送转换后的TCM信号,或接收来自TCM接口的TCM信号。
在本发明所述的接口转换装置中,
所述DMA模块包括:
起始地址计算单元,与DMA接口的起始地址位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
总字节数计算单元,与DMA接口的总字节数位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
当前字节数计算单元,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
响应信号计算单元,与DMA接口的响应信号位相连,用于在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
上传信号计算单元,与DMA接口的上传信号位相连,用于当DMA接口的数据位宽为16位时,上传信号等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
下载信号计算单元,与DMA接口的下载信号位相连,用于当DMA接口的数据位宽为16位时,下载信号等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
下载数据计算单元,与DMA接口的下载数据位相连,用于当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
所述中间处理模块包括:
第一上传信号计算单元,用于在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
第二上传信号计算单元,用于在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
第三上传信号计算单元,用于在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
第一下载信号计算单元,用于在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
第二下载信号计算单元,用于在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
第三下载信号计算单元,用于在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
TCM模块包括:
读写标记信号计算单元,与TCM接口的读写标记位相连,用于当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
地址计算单元,与TCM接口的地址位相连,用于令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
片选信号计算单元,与TCM接口的片选信号位相连,用于当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为32时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
字节选择信号计算单元,与TCM接口的字节选择信号位相连,字节选择信号的4位均等于读写标记信号;
写数据计算单元,与TCM接口的写数据位相连,用于当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
在本发明所述的接口转换装置中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
本发明还构造一种接口转换方法,用于实现DMA接口和TCM接口之间的数据传输,其特征在于,包括:
当从DMA接口向TCM接口传输数据时,进行步骤A1至A3:
A1.接收来自DMA接口的DMA信号;
A2.将所接收的来自DMA接口的DMA信号转换为TCM信号;
A3.向TCM接口发送转换后的TCM信号;
当从TCM接口向DMA接口传输数据时,进行步骤B1至B3:
B1.接收来自TCM接口的TCM信号;
B2.将所接收的来自TCM接口的TCM信号转换为DMA信号;
B3.向DMA接口发送转换后的DMA信号。
在本发明所述的接口转换方法中,同时进行以下步骤:
计算起始地址:在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
计算总字节数:在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
计算当前字节数:在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
计算响应信号:在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
计算上传信号:当DMA接口的数据位宽为16位时,上传信号为等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
计算下载信号:当DMA接口的数据位宽为16位时,下载信号为等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
计算下载数据:当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
计算第一上传信号:在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
计算第二上传信号:在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
计算第三上传信号:在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
计算第一下载信号:在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
计算第二下载信号:在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
计算第三下载信号:在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
计算读写标记信号:当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
计算地址:令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
计算片选信号:当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为16时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
计算字节选择信号:字节选择信号的4位均等于读写标记信号;
计算写数据:当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
在本发明所述的接口转换方法中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
实施本发明的技术方案,由于能将来自DMA接口的DMA信号转化为TCM信号及将来自TCM接口的TCM信号转换为DMA信号,所以能实现DMA接口和TCM接口之间的数据传输,进而使得,带有DMA接口的功能单元能访问带有TCM接口的存储单元。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有技术中带有DMA接口的功能单元与带有TCM接口的存储单元;
图2是本发明接口转换装置实施例一的逻辑结构图;
图3是本发明接口转换装置实施例二的逻辑结构图;
图4A是本发明接口转换方法中从DMA接口向TCM接口传输数据实施例一的流程图;
图4B是本发明接口转换方法中从TCM接口向DMA接口传输数据实施例一的流程图;
图5A是本发明从DMA接口向TCM接口传输32位数据时各个信号的时序图;
图5B是本发明从TCM接口向DMA接口传输32位数据时各个信号的时序图;
图5C是本发明从DMA接口向TCM接口传输16位数据时各个信号的时序图;
图5D是本发明从TCM接口向DMA接口传输16位数据时,各个信号的时序图。
具体实施方式
如图2所示,在本发明接口转换装置实施例一的逻辑结构图中,该接口转换装置用于实现DMA接口和TCM接口之间的数据传输,且该接口转换装置包括DMA模块110、中间处理模块120和TCM模块130。其中,DMA模块110与DMA接口(图2未示出)相连,用于接收来自DMA接口的DMA信号,或向DMA接口发送转换后的DMA信号;中间处理模块120用于将所接收的来自DMA接口的DMA信号转换为TCM信号,及将所接收的来自TCM接口TCM信号转换为DMA信号;TCM模块130与所述TCM接口(图2未示出)相连,用于向TCM接口发送转换后的TCM信号,或接收来自TCM接口的TCM信号。实施该技术方案,由于能将来自DMA接口的DMA信号转化为TCM信号,及将来自TCM接口的TCM信号转换为DMA信号,所以能实现DMA接口和TCM接口之间的数据传输,进而使得,带有DMA接口的功能单元能访问带有TCM接口的存储单元。
如图3所示,在本发明接口转换装置实施例二的逻辑结构图中,该接口转换装置包括DMA模块110、中间处理模块120和TCM模块130。其中,DMA模块110包括起始地址计算单元111、总字节数计算单元112、当前字节数计算单元113、响应信号计算单元114、上传信号计算单元115、下载信号计算单元116和下载数据计算单元117;中间处理模块120包括第一上传信号计算单元121、第二上传信号计算单元122、第三上传信号计算单元123、第一下载信号计算单元124、第二下载信号计算单元125和第三下载信号计算单元126;TCM模块130包括读写标记信号计算单元131、地址计算单元132、片选信号计算单元133、字节选择信号计算单元134和写数据计算单元135。下面具体说明各个单元:
起始地址计算单元111,与DMA接口的起始地址位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
总字节数计算单元112,与DMA接口的总字节数位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
当前字节数计算单元113,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
响应信号计算单元114,与DMA接口的响应信号位相连,用于在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
上传信号计算单元115,与DMA接口的上传信号位相连,用于当DMA接口的数据位宽为16位时,上传信号等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
下载信号计算单元116,与DMA接口的下载信号位相连,用于当DMA接口的数据位宽为16位时,下载信号等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
下载数据计算单元117,与DMA接口的下载数据位相连,用于当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
第一上传信号计算单元121,用于在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
第二上传信号计算单元122,用于在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
第三上传信号计算单元123,用于在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
第一下载信号计算单元124,用于在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
第二下载信号计算单元125,用于在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
第三下载信号计算单元126,用于在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
读写标记信号计算单元131,与TCM接口的读写标记位相连,用于当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
地址计算单元132,与TCM接口的地址位相连,用于令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
片选信号计算单元133,与TCM接口的片选信号位相连,用于当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为32时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
字节选择信号计算单元134,与TCM接口的字节选择信号位相连,字节选择信号的4位均等于读写标记信号;
写数据计算单元135,与TCM接口的写数据位相连,用于当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
优选地,在以上的各个计算单元中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
图4A和图4B分别是本发明接口转换方法中从DMA接口向TCM接口传输数据和从TCM接口向DMA接口传输数据实施例一的流程图,在图4A中,从DMA接口向TCM接口传输数据的方法S100包括以下步骤:
S101.接收来自DMA接口的DMA信号;
S102.将所接收的来自DMA接口的DMA信号转换为TCM信号;
S103.向TCM接口发送转换后的TCM信号;
在图4B中,从TCM接口向DMA接口传输数据的方法S200包括以下步骤:
S201.接收来自TCM接口的TCM信号;
S202.将所接收的来自TCM接口的TCM信号转换为DMA信号;
S203.向DMA接口发送转换后的DMA信号。
下面举例说明接口转换装置及接口转换方法是如何实现DMA接口和TCM接口的数据传输的。首先应当说明的是,出于电路复杂度的考虑,本发明在以下条件下设计:DMA接口的地址跳跃位等于总字节数位,即dma_step=dma_cnt,也即,DMA接口从起始地址开始连续读取或写入总字节数个字节;TCM接口的DRDMAADDR,DRDMAEN,DRDMACS,DRWAIT均连0;DRIDLE,DRSEQ不使用,本发明不讨论;DRSIZE根据存储单元的大小进行合理相连。
图5A是从DMA接口向TCM接口传输32位数据时各个信号的时序图,在图5A中:
rstn为复位信号,下降沿时刻触发,在t0时刻,请求信号req、响应信号ack、上传信号dma_urd、第一上传信号urd、第二上传信号urd_d1均复位为0。
clk为时钟信号,在t1时刻,DMA接口的请求信号位发送请求信号req(高电平有效),及发送方向信号dir(为0)。
在t2时刻,响应信号ack开始响应请求信号req。
在t3时刻,请求信号req因响应信号ack的响应而被拉低;同时,由于请求信号req、响应信号ack为1、方向信号dir为0,所以第一上传信号urd更新为1。
在t4时刻,由于第一上传信号urd为1,则第一上传信号urd更新为0,同时,第二上传信号urd_d1更新为1。
而在t5时刻,由于第二上传信号urd_d1为1,则第二上传信号urd_d1更新为0,同时,在当前字数小于总字节数时,第一上传信号urd更新为1。
上传信号dma_urd等于第一上传信号urd,即其时序图与第一上传信号urd的时序图相同。读写标记信号DRnRW等于第二上传信号urd_d1,即其时序图与第二上传信号urd_d1的时序图相同。片选信号DRCS等于第二上传信号urd_d1,即其时序图与第二上传信号urd_d1的时序图相同。字节选择信号DRWBL的4位均与读写标记信号DRnRW相同(图中未示出)。
下面说明传输数据的地址的计算:在t3时刻,请求信号req和响应信号ack同时为1,起始地址更新为DMA接口的起始地址位所发送的起始地址的低20位;同时,总字节数更新为DMA接口的总字节数位所发送的总字节数,且当前字节数更新为0。在t4时刻,由于第一上传信号urd为1,所以,当前字节数更新为4,则当前地址为起始地址与当前字节数(t4时刻,当前字节数更新为4)之和,由于TCM接口的地址是以字对齐的,所以将所计算的当前地址右移2位,又由于当前地址的计算是在t4时刻,而数据传输是在t5时刻,即,先执行了地址更新再进行数据传输,所以,还应将右移后的当前地址再减1,所得的值即为传输数据所对应的地址DRADDR。经过上面的计算可得知,在t5时刻,可将32位数据从DMA接口的上传数据位dma_udata传输到TCM接口的写数据位DRWD。以上仅说明了一个32位数据(4个字节)的传输,按照上述方法,逐个传输每个32位数据,直到总字节数个数据全部传输完,如,在tn时刻,第二上传信号urd_d1为1,且当前字节数等于总字节数,响应信号ack更新为0,结束数据传输。
图5B是从TCM接口向DMA接口传输32位数据时各个信号的时序图,在图5B中,复位信号rstn、请求信号req与图5A中的复位信号rstn、请求信号req的计算原理相同;另外,在t1时刻,DMA接口的方向信号位所发送方向信号dir为1,此时,响应信号ack、第一下载信号dwr、第二下载信号dwr_d1的计算原理和图5A中的响应信号ack、第一上传信号urd、第二上传信号urd_d1的计算原理相同,在此不做赘述。下载信号dma_dwr等于第二下载信号dwr_d1,即其时序图与第二下载信号dwr_d1的时序图相同。读写标记信号DRnRW等于第二上传信号urd_d1(因在下载数据时,没有用到第二上传信号urd_d1,而第二上传信号urd_d1在复位时已为0,所以读写标记信号DRnRW也为0,图中未示出)。片选信号DRCS等于第一下载信号dwr,即其时序图与第一下载信号dwr的时序图相同。字节选择信号DRWBL的4位均与读写标记信号DRnRW相同(图中未示出)。地址的计算与图5A中的地址计算大致相同,也为:先将起始地址与当前字节数(t4时刻,当前字节数更新为4)相加得到当前地址,再将当前地址右移2位,所得的值即为数据传输所对应的地址DRADDR。相比图5A中的地址计算,无需再进行减1计算,因在下载数据时,读写标记信号DRnRW为0。经过上面的计算可得知,在t4时刻,片选信号DRCS为1,该接口转换装置从TCM接口的读数据位DRRD读32位数据,在t5时刻,将所读的32位数据传输到DMA接口的下载数据位dma_ddata。以上仅说明了一个32位数据(4个字节)的传输,按照上述方法,逐个传输每个32位数据,直到总字节数个数据全部传输完,如,在tn时刻,第二下载信号dwr_d1为1,且当前字节数等于总字节数,响应信号ack更新为0,结束数据传输。
图5C是从DMA接口向TCM接口传输16位数据时各个信号的时序图,在图5C中,复位信号rstn、请求信号req、方向信号dir、响应信号ack与图5A图中的复位信号rstn、请求信号req、方向信号dir、响应信号ack的计算原理相同,在此不做赘述。在t3时刻,请求信号req、响应信号ack为1,且方向信号dir为0,则第一上传信号urd更新为1。在t4时刻,由于第一上传信号urd为1,则第二上传信号urd_d1更新为1。在t5时刻,由于第二上传信号urd_d1为1,则第三上传信号urd_d2更新为1,同时,若t6时刻当前字节数小于总字节数,则第一上传信号urd更新为1。上传信号dwr_urd等于第一上传信号urd与第二上传信号urd_d1进行或运算所得的值。读写标记信号DRnRW等于第三上传信号urd_d2。片选信号DRCS等于第三上传信号urd_d2。字节选择信号DRWBL的4位均与读写标记信号DRnRW相同(图中未示出)。下面说明传输数据的地址的计算:在t3时刻,请求信号req和响应信号ack同时为1,起始地址更新为DMA接口的起始地址位所发送的起始地址的低20位,同时,总字节数更新为DMA接口的总字节数位所发送的总字节数,且当前字节数更新为0。在t5时刻,由于第二上传信号urd_d1为1,所以当前字节数更新为4。当前地址为起始地址与当前字节数(t5时刻,当前字节数更新为4)之和,然后将所计算的当前地址右移2位,又由于读写标记信号DRnRW为1,所以将右移2位后的当前地址再减1,所得的值即为传输数据所对应的地址。另外,在t5时刻,由于第二上传信号urd_d1为1,TCM接口的写数据位DRWD的低16位更新为所传输的16位数据。在t6时刻,片选信号DRCS为1,TCM接口的写数据位DRWD的高16位等于上传数据位dma_udata所传输的16位数据。以上仅说明了一个32位(即两个16位)数据的传输过程,按照上述方法,逐个传输每个16位数据,直到总字节数个数据全部传输完。如,在tn时刻,第三上传信号urd_d2为1,且当前字节数等于总字节数,响应信号ack更新为0,结束数据传输。
图5D是从TCM接口向DMA接口传输16位数据时各个信号的时序图,在图5D中,复位信号rstn、请求信号req与图5C图中的复位信号rstn、请求信号req的计算原理相同;另外,在t1时刻,DMA接口向接口转换装置发送方向信号dir为1,此时,响应信号ack、第一下载信号dwr、第二下载信号dwr_d1、第三下载信号dwr_d2的计算原理和图5C中的响应信号ack、第一上传信号urd、第二上传信号urd_d1、第三上传信号urd_d2的计算原理相同,在此不做赘述。下载信号dma_dwr等于第二下载信号dwr_d1与第三下载信号dwr_d2进行或运算所得的值。读写标记信号DRnRW等于第三上传信号urd_d2(因在下载数据时,没有用到第三上传信号urd_d2,而第三上传信号urd_d2在复位时已为0,所以读写标记信号DRnRW也为0)。片选信号DRCS等于第一下载信号dwr与第二下载信号dwr_d1进行或运算所得的值。字节选择信号DRWBL的4位均与读写标记信号DRnRW相同。下面说明传输数据的地址的计算:在t 3时刻,请求信号req和响应信号ack同时为1,起始地址更新为DMA接口的起始地址位所发送的起始地址的低20位,同时,总字节数更新为DMA接口的总字节数位所发送的总字节数,且当前字节数更新为0。在t5时刻,由于第二下载信号dwr_d1为1,所以当前字节数更新为4。当前地址为起始地址与当前字节数(t5时刻,当前字节数更新为4)之和,然后,由于读写标记信号为0,所以将所计算的当前地址右移2位,所得的值即为传输数据所对应的地址。所以,在t5时刻,接口转换装置将TCM接口的读数据位DRRD的低16位传输到DMA接口的下载数据位dma_ddata,然后在t6时刻将TCM接口的读数据位DRRD的高16位传输到DMA接口的下载数据位dma_ddata。以上仅说明了两个16位数据(4个字节)的传输,按照上述方法,逐个传输每4个字节的数据,直到总字节数个数据全部传输完,如,在tn时刻,第三下载信号dwr_d2为1,且当前字节数等于总字节数,响应信号ack更新为0,结束数据传输。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。