一种接口转换装置及转换方法转让专利

申请号 : CN201010262487.2

文献号 : CN102375795B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冷永春胡胜发

申请人 : 安凯(广州)微电子技术有限公司

摘要 :

本发明涉及一种接口转换装置及接口转换方法,该接口转换装置包括:DMA模块,与DMA接口相连,用于接收来自DMA接口的DMA信号,或向DMA接口发送转换后的DMA信号;中间处理模块,用于将所接收的来自DMA接口的DMA信号转换为TCM信号,及将所接收的来自TCM接口的TCM信号转换为DMA信号;TCM模块,与所述TCM接口相连,用于向TCM接口发送转换后的TCM信号,或接收来自TCM接口的TCM信号。实施本发明的技术方案,能实现DMA接口与TCM接口之间的数据传输。

权利要求 :

1.一种接口转换装置,用于实现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接口的上传数据。

2.根据权利要求1所述的接口转换装置,其特征在于,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。

3.一种接口转换方法,用于实现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接口的上传数据。

4.根据权利要求3所述的接口转换方法,其特征在于,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。

说明书 :

一种接口转换装置及转换方法

技术领域

[0001] 本发明涉及接口转换,更具体地说,涉及一种实现DMA接口和TCM接口之间的数据传输的接口转换装置及转换方法。

背景技术

[0002] 在众多存储访问接口中包括DMA接口、TCM接口,如图1所示,采用DMA接口的功能单元200与采用TCM接口的存储单元300由于DMA通信协议和TCM通信协议的不同,使得DMA接口与TCM接口是隔绝的,即,功能单元200无法访问存储单元300。
[0003] 下面说明DMA接口及TCM接口的通信协议:
[0004] 一、DMA接口:
[0005] dma_req:请求信号位,dma_req共1位,高有效。在时钟触发沿时刻,功能单元请求DMA数据传输时,将dma_req拉高;在时钟触发沿时刻,dma_ack为高时,功能单元将dma_req拉低。
[0006] dma_addr:起始地址位,dma_addr共32位,DMA传输起始地址信号,功能单元在拉高dma_req信号的同时,发出dma_addr信号。
[0007] dma_cnt:总字节数位,dma_cnt共16位,本次DMA传输需要传输的总字节数,功能单元在拉高dma_req信号的同时,发出dma_cnt信号。
[0008] dma_step:地址跳跃位,dma_step共32位。假定低16位值为X,高16位值为Y,DMA读取或写入X字节数据后需要在当前位置向后跳转Y字节地址再继续读取或写入X字节,如此反复,直到读取或写入完成dma_cnt字节。
[0009] dma_dir:方向信号位,dma_dir共1位,表示DMA传输的方向。0表示数据从功能单元传出,即功能单元写出数据;1表示数据传入功能单元,即功能单元读入数据。
[0010] dma_ack:响应信号位,dma_ack共1位,DMA请求响应信号,1表示功能单元的请求得到了响应;0表示未响应。
[0011] dma_udata:上传数据位,dma_udata共16位或32位,功能单元通过DMA写出的数据。
[0012] dma_urd:上传信号位,dma_urd共1位。若当前时钟触发沿时刻,dma_urd为高,则在下个时钟触发沿时刻功能单元需提供对应的dma_udata。
[0013] dma_ddata:下载数据位,dma_ddata共16或32位,功能单元通过DMA读入的数据。
[0014] dma_dwr:下载信号位,dma_dwr共1位。若当前时钟触发沿时刻dma_dwr为高,则在当前时刻功能单元可以读取对应的dma_ddata。
[0015] 二、TCM接口信号:
[0016] DRADDR:地址位,DRADDR共18位,表示读写数据的地址,以字为单位,即0对应存储单元中第一个字,1对应存储单元中第二个字。
[0017] DRCS:片选信号位,DRCS共1位,存储单元的片选信号,高有效。
[0018] DRDMAADDR:DRDMAADDR共18位,通常不使用,设为0。
[0019] DRDMAEN:DRDMAEN共1位,通常不使用,设为0。
[0020] DRDMACS:DRDMACS共1位,通常不使用,设为0。
[0021] DRIDLE:状态信号位,DRIDLE共1位,0表示数据TCM正在读写数据;1表示数据TCM空闲。
[0022] DRnRW:读写标记信号位,DRnRW共1位。DRnRW为0表示读存储单元;DRnRW为1表示写存储单元。
[0023] DRRD:读数据位,DRRD共32位。
[0024] DRSEQ:DRSEQ共1位,1表示数据TCM地址连续,0表示地址未必连续。
[0025] DRSIZE:DRSIZE共4位,表示数据TCM的大小。DRSIZE最小为3,最大为11。DRSIZE为3表示数据TCM为4K字节大小,4表示8K字节大小,5表示16K字节大小,依次类推。存储单元最小为4K字节,最大为1M字节。
[0026] DRWAIT:DRWAIT共1位,数据TCM等待信号,1代表数据TCM当前不能响应读写请求,0代表能响应。
[0027] DRWD:写数据位,DRWD共32位。
[0028] DRWBL:字节选择信号位,DRWBL共4位,数据TCM写数据时的字节选择信号,高有效。DRWBL从高到低4位分别表示DRWD从高到低4个字节的写使能。

发明内容

[0029] 本发明要解决的技术问题在于,针对现有技术的上述无法实现DMA接口与TCM接口之间数据传输的缺陷,提供一种接口转换装置,能实现DMA接口与TCM接口之间的数据传输。
[0030] 本发明解决其技术问题所采用的技术方案是:构造一种接口转换装置,用于实现DMA接口和TCM接口之间的数据传输,包括:
[0031] DMA模块,与DMA接口相连,用于接收来自DMA接口的DMA信号,或向DMA接口发送转换后的DMA信号;
[0032] 中间处理模块,用于将所接收的来自DMA接口的DMA信号转换为TCM信号,及将所接收的来自TCM接口的TCM信号转换为DMA信号;
[0033] TCM模块,与所述TCM接口相连,用于向TCM接口发送转换后的TCM信号,或接收来自TCM接口的TCM信号。
[0034] 在本发明所述的接口转换装置中,
[0035] 所述DMA模块包括:
[0036] 起始地址计算单元,与DMA接口的起始地址位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
[0037] 总字节数计算单元,与DMA接口的总字节数位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
[0038] 当前字节数计算单元,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
[0039] 响应信号计算单元,与DMA接口的响应信号位相连,用于在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
[0040] 上传信号计算单元,与DMA接口的上传信号位相连,用于当DMA接口的数据位宽为16位时,上传信号等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
[0041] 下载信号计算单元,与DMA接口的下载信号位相连,用于当DMA接口的数据位宽为16位时,下载信号等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
[0042] 下载数据计算单元,与DMA接口的下载数据位相连,用于当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
[0043] 所述中间处理模块包括:
[0044] 第一上传信号计算单元,用于在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
[0045] 第二上传信号计算单元,用于在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
[0046] 第三上传信号计算单元,用于在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
[0047] 第一下载信号计算单元,用于在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
[0048] 第二下载信号计算单元,用于在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
[0049] 第三下载信号计算单元,用于在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
[0050] TCM模块包括:
[0051] 读写标记信号计算单元,与TCM接口的读写标记位相连,用于当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
[0052] 地址计算单元,与TCM接口的地址位相连,用于令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
[0053] 片选信号计算单元,与TCM接口的片选信号位相连,用于当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为32时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
[0054] 字节选择信号计算单元,与TCM接口的字节选择信号位相连,字节选择信号的4位均等于读写标记信号;
[0055] 写数据计算单元,与TCM接口的写数据位相连,用于当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
[0056] 在本发明所述的接口转换装置中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
[0057] 本发明还构造一种接口转换方法,用于实现DMA接口和TCM接口之间的数据传输,其特征在于,包括:
[0058] 当从DMA接口向TCM接口传输数据时,进行步骤A1至A3:
[0059] A1.接收来自DMA接口的DMA信号;
[0060] A2.将所接收的来自DMA接口的DMA信号转换为TCM信号;
[0061] A3.向TCM接口发送转换后的TCM信号;
[0062] 当从TCM接口向DMA接口传输数据时,进行步骤B1至B3:
[0063] B1.接收来自TCM接口的TCM信号;
[0064] B2.将所接收的来自TCM接口的TCM信号转换为DMA信号;
[0065] B3.向DMA接口发送转换后的DMA信号。
[0066] 在本发明所述的接口转换方法中,同时进行以下步骤:
[0067] 计算起始地址:在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
[0068] 计算总字节数:在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
[0069] 计算当前字节数:在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
[0070] 计算响应信号:在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
[0071] 计算上传信号:当DMA接口的数据位宽为16位时,上传信号为等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
[0072] 计算下载信号:当DMA接口的数据位宽为16位时,下载信号为等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
[0073] 计算下载数据:当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
[0074] 计算第一上传信号:在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
[0075] 计算第二上传信号:在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
[0076] 计算第三上传信号:在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
[0077] 计算第一下载信号:在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
[0078] 计算第二下载信号:在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
[0079] 计算第三下载信号:在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
[0080] 计算读写标记信号:当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
[0081] 计算地址:令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
[0082] 计算片选信号:当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为16时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
[0083] 计算字节选择信号:字节选择信号的4位均等于读写标记信号;
[0084] 计算写数据:当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
[0085] 在本发明所述的接口转换方法中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
[0086] 实施本发明的技术方案,由于能将来自DMA接口的DMA信号转化为TCM信号及将来自TCM接口的TCM信号转换为DMA信号,所以能实现DMA接口和TCM接口之间的数据传输,进而使得,带有DMA接口的功能单元能访问带有TCM接口的存储单元。

附图说明

[0087] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0088] 图1是现有技术中带有DMA接口的功能单元与带有TCM接口的存储单元;
[0089] 图2是本发明接口转换装置实施例一的逻辑结构图;
[0090] 图3是本发明接口转换装置实施例二的逻辑结构图;
[0091] 图4A是本发明接口转换方法中从DMA接口向TCM接口传输数据实施例一的流程图;
[0092] 图4B是本发明接口转换方法中从TCM接口向DMA接口传输数据实施例一的流程图;
[0093] 图5A是本发明从DMA接口向TCM接口传输32位数据时各个信号的时序图;
[0094] 图5B是本发明从TCM接口向DMA接口传输32位数据时各个信号的时序图;
[0095] 图5C是本发明从DMA接口向TCM接口传输16位数据时各个信号的时序图;
[0096] 图5D是本发明从TCM接口向DMA接口传输16位数据时,各个信号的时序图。

具体实施方式

[0097] 如图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接口的存储单元。
[0098] 如图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。下面具体说明各个单元:
[0099] 起始地址计算单元111,与DMA接口的起始地址位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则起始地址更新为DMA接口的起始地址位所输出的起始地址的低20位;
[0100] 总字节数计算单元112,与DMA接口的总字节数位相连,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则总字节数更新为DMA接口的总字节数位所输出的总字节数;
[0101] 当前字节数计算单元113,用于在时钟触发沿时刻,若请求信号与响应信号同时为1,则将当前字节数更新为0;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第二上传信号或第二下载信号为1,则将当前字节数加4;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第一上传信号或第一下载信号为1,则将当前字节数加4;
[0102] 响应信号计算单元114,与DMA接口的响应信号位相连,用于在时钟触发沿时刻,若请求信号为1,则将响应信号更新为1;当DMA接口的数据位宽为16位时,在时钟触发沿时刻,若第三上传信号或者第三下载信号为1,且当前字节数等于总字节数,则将响应信号更新为0;当DMA接口的数据位宽为32位时,在时钟触发沿时刻,若第二上传信号或者第二下载信号为1,且当前字节数等于总字节数,则响应信号更新为0;
[0103] 上传信号计算单元115,与DMA接口的上传信号位相连,用于当DMA接口的数据位宽为16位时,上传信号等于第一上传信号与第二上传信号进行或运算的值;当DMA接口的数据位宽为32位时,上传信号等于第一上传信号;
[0104] 下载信号计算单元116,与DMA接口的下载信号位相连,用于当DMA接口的数据位宽为16位时,下载信号等于第二下载信号与第三下载信号进行或运算的值;当DMA接口的数据位宽为32位时,下载信号等于第二下载信号;
[0105] 下载数据计算单元117,与DMA接口的下载数据位相连,用于当DMA接口的数据位宽为16位时,若第二下载信号为1,则下载数据等于TCM接口的读数据位的低16位,否则下载数据等于TCM接口的读数据位的高16位;当DMA接口的数据位宽为32位时,下载数据等于TCM接口的读数据位;
[0106] 第一上传信号计算单元121,用于在时钟触发沿时刻,若请求信号和响应信号都为1,且方向信号为0,则第一上传信号更新为1;在时钟触发沿时刻,若第一上传信号为1,则第一上传信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;当DMA接口的数据位宽为
32时,在时钟触发沿时刻,若第二上传信号为1,且当前字节数小于总字节数,则第一上传信号更新为1;
[0107] 第二上传信号计算单元122,用于在时钟触发沿时刻,若第一上传信号为1,则第二上传信号更新为1;在时钟触发沿时刻,若第二上传信号为1,则第二上传信号更新为0;
[0108] 第三上传信号计算单元123,用于在时钟触发沿时刻,若第二上传信号为1,则第三上传信号更新为1;在时钟触发沿时刻,若第三上传信号为1,则第三上传信号更新为0;
[0109] 第一下载信号计算单元124,用于在时钟触发沿时刻,若请求信号、响应信号、方向信号都为1,则第一下载信号更新为1;在时钟触发沿时刻,若第一下载信号为1,则第一下载信号更新为0;当DMA接口的数据位宽为16时,在时钟触发沿时刻,若第三下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;当DMA接口的数据位宽为32时,在时钟触发沿时刻,若第二下载信号为1,且当前字节数小于总字节数,则第一下载信号更新为1;
[0110] 第二下载信号计算单元125,用于在时钟触发沿时刻,若第一下载信号为1,则第二下载信号更新为1;在时钟触发沿时刻,若第二下载信号为1,则第二下载信号更新为0;
[0111] 第三下载信号计算单元126,用于在时钟触发沿时刻,若第二下载信号为1,则第三下载信号更新为1;在时钟触发沿时刻,若第三下载信号为1,则第三下载信号更新为0;
[0112] 读写标记信号计算单元131,与TCM接口的读写标记位相连,用于当DMA接口的数据位宽为16时,读写标记信号等于第三上传信号;当DMA接口的数据位宽为32时,读写标记信号等于第二上传信号;
[0113] 地址计算单元132,与TCM接口的地址位相连,用于令当前地址等于起始地址位与当前字节数之和,则当读写标记信号为1时,地址等于当前地址的低20位右移2位再减1;当读写标记信号为0时,地址等于当前地址的低20位右移2位;
[0114] 片选信号计算单元133,与TCM接口的片选信号位相连,用于当DMA接口的数据位宽为16时,片选信号等于第三上传信号、第一下载信号、第二下载信号进行或运算的值;当DMA接口的数据位宽为32时,片选信号等于第二上传信号、第一下载信号进行或运算的值;
[0115] 字节选择信号计算单元134,与TCM接口的字节选择信号位相连,字节选择信号的4位均等于读写标记信号;
[0116] 写数据计算单元135,与TCM接口的写数据位相连,用于当DMA接口的数据位宽为16时,写数据的高16位等于DMA接口的上传数据,在时钟触发沿时刻,若第二上传信号为
1,则写数据的低16位更新为DMA接口的上传数据,其它时刻写数据的低16位值保持不变;
当DMA接口的数据位宽为32时,写数据等于DMA接口的上传数据。
[0117] 优选地,在以上的各个计算单元中,在复位信号触发沿时刻,起始地址、总字节数、当前字节数、请求信号、响应信号、上传信号、第一上传信号、第二上传信号、第三上传信号、下载信号、第一下载信号、第二下载信号、第三下载信号均复位为0。
[0118] 图4A和图4B分别是本发明接口转换方法中从DMA接口向TCM接口传输数据和从TCM接口向DMA接口传输数据实施例一的流程图,在图4A中,从DMA接口向TCM接口传输数据的方法S100包括以下步骤:
[0119] S101.接收来自DMA接口的DMA信号;
[0120] S102.将所接收的来自DMA接口的DMA信号转换为TCM信号;
[0121] S103.向TCM接口发送转换后的TCM信号;
[0122] 在图4B中,从TCM接口向DMA接口传输数据的方法S200包括以下步骤:
[0123] S201.接收来自TCM接口的TCM信号;
[0124] S202.将所接收的来自TCM接口的TCM信号转换为DMA信号;
[0125] S203.向DMA接口发送转换后的DMA信号。
[0126] 下面举例说明接口转换装置及接口转换方法是如何实现DMA接口和TCM接口的数据传输的。首先应当说明的是,出于电路复杂度的考虑,本发明在以下条件下设计:DMA接口的地址跳跃位等于总字节数位,即dma_step=dma_cnt,也即,DMA接口从起始地址开始连续读取或写入总字节数个字节;TCM接口的DRDMAADDR,DRDMAEN,DRDMACS,DRWAIT均连0;DRIDLE,DRSEQ不使用,本发明不讨论;DRSIZE根据存储单元的大小进行合理相连。
[0127] 图5A是从DMA接口向TCM接口传输32位数据时各个信号的时序图,在图5A中:
[0128] rstn为复位信号,下降沿时刻触发,在t0时刻,请求信号req、响应信号ack、上传信号dma_urd、第一上传信号urd、第二上传信号urd_d1均复位为0。
[0129] clk为时钟信号,在t1时刻,DMA接口的请求信号位发送请求信号req(高电平有效),及发送方向信号dir(为0)。
[0130] 在t2时刻,响应信号ack开始响应请求信号req。
[0131] 在t3时刻,请求信号req因响应信号ack的响应而被拉低;同时,由于请求信号req、响应信号ack为1、方向信号dir为0,所以第一上传信号urd更新为1。
[0132] 在t4时刻,由于第一上传信号urd为1,则第一上传信号urd更新为0,同时,第二上传信号urd_d1更新为1。
[0133] 而在t5时刻,由于第二上传信号urd_d1为1,则第二上传信号urd_d1更新为0,同时,在当前字数小于总字节数时,第一上传信号urd更新为1。
[0134] 上传信号dma_urd等于第一上传信号urd,即其时序图与第一上传信号urd的时序图相同。读写标记信号DRnRW等于第二上传信号urd_d1,即其时序图与第二上传信号urd_d1的时序图相同。片选信号DRCS等于第二上传信号urd_d1,即其时序图与第二上传信号urd_d1的时序图相同。字节选择信号DRWBL的4位均与读写标记信号DRnRW相同(图中未示出)。
[0135] 下面说明传输数据的地址的计算:在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,结束数据传输。
[0136] 图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,结束数据传输。
[0137] 图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,结束数据传输。
[0138] 图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,结束数据传输。
[0139] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。