主权项 |
一种用于电流舵DAC的DEM编码方法,其特征在于,包括以下步骤:S100:判断所述电流舵DAC的当前周期的数字输入Input(n)与所述电流舵DAC的前一周期的数字输入Input(n‑1)的大小关系;如果Input(n)等于Input(n‑1),执行S200;如果Input(n)大于Input(n‑1),执行S300;如果Input(n)小于Input(n‑1),执行S400;S200:保持DEM模块的输出不变,保持指针Pstart和指针Pend的值不变;S300:对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针Pstart和指针Pend的值;S400:对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针Pstart和指针Pend的值;所述步骤S300具体包括步骤:S301:判断Pstart+Input(n)‑1与所述DEM模块的输出位数M的大小关系;如果Pstart+Input(n)‑1不大于M,执行S302;否则,执行S303;S302:将所述DEM模块的输出中,从所述指针Pstart的值对应的数位到Pstart+Input(n)‑1的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+Input(n)‑1;S303:将所述DEM模块的输出中,从所述指针Pstart的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+Input(n)‑1‑M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+Input(n)‑1‑M;其中,步骤S400具体包括步骤:S401:判断Pend‑Input(n)+1是否小于1,如果不小于,执行S402,否则,执行S403;S402:将所述DEM模块的输出中,从Pend‑Input(n)+1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend‑Input(n)+1;S403:将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend‑Input(n)+1+M的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend‑Input(n)+1+M;所述M为所述DEM模块的输出位数。 |