采用可编程逻辑器件设计可变通信数字信号源
时间:11-07
来源:互联网
点击:
2 系统设计原理及框图
2.1 设计原理
本设计的任务是设计一个数字信号源。要求码长可变;数据格式是可以符合任何一种建议的数据格式;码速率可调且在1~10Mbps之间。为此,在设计之初采用了以下方案,框图如图2所示,其中八分频电路,可置数的地址计数器电路及并/串转换电路由isp器件编程实现。为了实现码速在1~10Mbps之间可调,特采用DDS器件产生出1~10MHz的正弦波信号,经过整形及滤波电路而形成方波,即主控时钟CLK信号。主控时钟经过8分频电路而形成CLK0信号,它成为可置数的地址计数器的计数脉冲。同时CLK0信号经过反相成为并/串转换电路的置入(采样)脉冲信号fsa,而CLK 信号经过反相成为并/串转换电路的时钟信号fcp,这样CLK信号的速率就决定了所产生的数据码流的速率。在EPROM存储器中存放着符合一定数据格式的数据。这样由可置数的地址计数器循环地长度可变地读出EPROM中的数据(以byte为单位),经过并/串转换电路便产生了码长可变、码速可变的数字码流。
但是,考虑到EPROM编程及擦写的过程比较繁琐,数据不易改写,灵活性及通用性较差,因此,经过比较决定采用第二种方案。其框图如图3所示。
在第二种方案中,isp器件仍由编程实现八分频电路、地址译码器电路及并/串转换电路的功能。图3中,端口电路的作用主要是通过不断查询B15的状态,从而控制两片RAM的读写进程。控制电路主要包括地址线选择控制,存储器片选控制,读写及输出使能端控制以及总线驱动控制等。设计中采用两片RAM进行分时读写操作,这样做的目的是使数据信号的设计具有更大的灵活性。当微机对RAM1进行写操作的同时,由isp器件中的地址计数译码对RAM2进行读操作,读出的数据经isp内并/串转换部分而输出数据信号OUT;同样地,当微机对RAM2进行写操作的同时,由isp器件中的地址计数译码对RAM1进行读操作,读出的数据经isp内并/串转换部分而输出数字信号流OUT。如此往复循环,从而方便灵活地产生出符合设计要求的数字码流。
由于设计中采用两套地址总线进行分时读写操作,而分时读写操作的切换主要是利用ispLSI1016中地址计数译码电路的最高位—B15。在整个工作期间,两片RAM都应处于被选中的状态,即片选信号均应为低电平。当微机对一片RAM进行写操作时,要保证ispLSI1016对另一片RAM进行读操作,每一片RAM都有2个双向数据收发器74LS245与之相连接。其中一个固定为输入→输出,对应为ispLSI1016从RAM中读出数据;另外一个固定为输出→输入,对应为微机向RAM写数据。
由于写操作是通过编程由微机控制的,速度较快,而读操作是由ispLSI1016控制的,速度较慢,这就很有可能出现读写操作的混乱。为了防止这种情况的发生,在设计中增加了端口电路部分。我们可以在系统程序中增加一段不断查询端口的语句,而标志位就为B15(因为对一片RAM而言,B15信号电平的改变就意味着读写状态的改变)。当查询到标志位发生改变时,立即进行下一轮读写;当查询到标志位不变时,继续查询,直至其发生改变为止,然后进行下一轮读写。
对于ispLSI1016的时钟输入,可以使用DDS?直接数字频率合成 构造一个可变频率的正弦波产生电路,然后再进行波形变换而形成一个方波脉冲信号。但是为了简单起见,也可使用一个4MHz的晶体和基本门电路搭成一个具有一定频率稳定度的方波产生电路。
前面已经提到过ispLSI1016由编程实现八分频电路、地址计数译码电路、并/串转换电路的功能。其中八分频电路可以看作是一个3位的计数器,它的进位信号就是外部输入时钟的八分频信号;地址计数译码电路也可以看作是一个16位的地址计数器,它的低15位就是作为输出的地址信号,它的最高位B15是做为控制信号来使用的;并/串转换电路可以看作是一个八位的移位寄存器,它的移出信号就是所要产生的数据码流信号。
2.2 系统程序设计
系统程序主要完成以下功能:由微机将符合一定建议数据格式的数据写入RAM中,查询端口的状态并完成相应的操作,结束系统的工作等。系统程序流程图如图4所示。
3 isp编程设计
3.1 在系统编程原理
ispLSI器件的编程是由片内状态机控制的,状态的输入即为进入片内的五个编程接口信号。图5给出了在系统编程电路的典型结构。
图中编程信号来自专门的在系统编程控制电路。编程过程即为把JEDEC形式的熔丝图传送到器件中的过程。ispLSI器件有两种模式:正常工作模式与编程模式。器件的工作模式是由在系统编程使能信号ispEN控制的。ispLSI器件一旦进入编程模式,器件的编程操作就完全受片内isp状态机控制。在五个编程控制信号中,ispEN信号用来使能或取消其他四个编程控制信号。它们是:数据串入信号SDI、模式控制信号MODE、数据串出信号SDO和串行时钟信号SCLK。在SCLK的作用下,来自JEDEC文件的编程信息通过SDI端口串行地移入器件,同时通过SDO端口移出。SCLK同时也驱动片内状态机工作。当器件处于正常工作模式时,4个编程控制信号端口可以用作普通的直通输入端。对ispLSI器件编程有多种方法。其中最简单的是直接把isp编程引脚当作专用的编程端口。用如图5那样的并行编程结构来进行编程。
3.2 设计软件简介
如前所述,isp由编程实现八分频电路、地址计数器电路以及并/串转换电路的功能。在这里对isp编程采用原理图设计法,即先设计出满足上述功能的原理图,然后生成JEDEC形式的熔丝图,再写入isp器件中。
我们使用的绘制原理图的软件为OrCAD System公司的OrCAD/SDT IV。需要注意的是,因为要使用OrCAD Systems公司的WDOWNLD软件包进行对ispLSI1016的编程写入,所以在绘图时要采用库LSC.LIB(Lattice Semiconductor Corporation Library)中的元件。也就是说,要使用LSC库中基本逻辑门和D触发器来绘制出具有上述三种功能的isp编程原理图。
在原理图绘制完毕之后,就可以用OrCAD/SDT IV中的网络表制作功能生成网络表.EDN文件,此时还可使用OrCAD/VST进行数字电路的逻辑模拟。在电路连接网表文件生成以后,就可以使用pDS+ OrCAD Software软件包生成JEDEC形式的熔丝图文件了。有关pDS+ OrCAD Software的资料请参考文献[4]。当具有标准JEDEC格式的熔丝图文件生成以后,就可以使用WDOWNLD软件包(即DOWNLOAD for Windows)对isp器件进行编程写入了。下载电缆线是专用的ispDOWNLOAD CABLE,它的一端是25针的并行接口,另一端是一个8脚的插座。对WDOWNLOAD软件感兴趣的读者请参考相关的资料。
经过上述步骤,pLSI/ispLSI1016就成为一个具有一定功能的逻辑器件了,我们也就可以在系统电路板上使用它了。
总之,美国Lattice 公司将“在系统可编程(isp)”技术应用到高密度可编程器件中,形成既有可编程逻辑器件(PLD)的性能与特点,又有现场可编程逻辑阵列(FPGA)高密度和灵活性的在系统可编程逻辑器件。本设计就是对这种器件进行了一定的开发及应用,设计出一种通用数字信号源。有关isp器件的开发及应用还值得我们作进一步的探索
2.1 设计原理
本设计的任务是设计一个数字信号源。要求码长可变;数据格式是可以符合任何一种建议的数据格式;码速率可调且在1~10Mbps之间。为此,在设计之初采用了以下方案,框图如图2所示,其中八分频电路,可置数的地址计数器电路及并/串转换电路由isp器件编程实现。为了实现码速在1~10Mbps之间可调,特采用DDS器件产生出1~10MHz的正弦波信号,经过整形及滤波电路而形成方波,即主控时钟CLK信号。主控时钟经过8分频电路而形成CLK0信号,它成为可置数的地址计数器的计数脉冲。同时CLK0信号经过反相成为并/串转换电路的置入(采样)脉冲信号fsa,而CLK 信号经过反相成为并/串转换电路的时钟信号fcp,这样CLK信号的速率就决定了所产生的数据码流的速率。在EPROM存储器中存放着符合一定数据格式的数据。这样由可置数的地址计数器循环地长度可变地读出EPROM中的数据(以byte为单位),经过并/串转换电路便产生了码长可变、码速可变的数字码流。
但是,考虑到EPROM编程及擦写的过程比较繁琐,数据不易改写,灵活性及通用性较差,因此,经过比较决定采用第二种方案。其框图如图3所示。
在第二种方案中,isp器件仍由编程实现八分频电路、地址译码器电路及并/串转换电路的功能。图3中,端口电路的作用主要是通过不断查询B15的状态,从而控制两片RAM的读写进程。控制电路主要包括地址线选择控制,存储器片选控制,读写及输出使能端控制以及总线驱动控制等。设计中采用两片RAM进行分时读写操作,这样做的目的是使数据信号的设计具有更大的灵活性。当微机对RAM1进行写操作的同时,由isp器件中的地址计数译码对RAM2进行读操作,读出的数据经isp内并/串转换部分而输出数据信号OUT;同样地,当微机对RAM2进行写操作的同时,由isp器件中的地址计数译码对RAM1进行读操作,读出的数据经isp内并/串转换部分而输出数字信号流OUT。如此往复循环,从而方便灵活地产生出符合设计要求的数字码流。
由于设计中采用两套地址总线进行分时读写操作,而分时读写操作的切换主要是利用ispLSI1016中地址计数译码电路的最高位—B15。在整个工作期间,两片RAM都应处于被选中的状态,即片选信号均应为低电平。当微机对一片RAM进行写操作时,要保证ispLSI1016对另一片RAM进行读操作,每一片RAM都有2个双向数据收发器74LS245与之相连接。其中一个固定为输入→输出,对应为ispLSI1016从RAM中读出数据;另外一个固定为输出→输入,对应为微机向RAM写数据。
由于写操作是通过编程由微机控制的,速度较快,而读操作是由ispLSI1016控制的,速度较慢,这就很有可能出现读写操作的混乱。为了防止这种情况的发生,在设计中增加了端口电路部分。我们可以在系统程序中增加一段不断查询端口的语句,而标志位就为B15(因为对一片RAM而言,B15信号电平的改变就意味着读写状态的改变)。当查询到标志位发生改变时,立即进行下一轮读写;当查询到标志位不变时,继续查询,直至其发生改变为止,然后进行下一轮读写。
对于ispLSI1016的时钟输入,可以使用DDS?直接数字频率合成 构造一个可变频率的正弦波产生电路,然后再进行波形变换而形成一个方波脉冲信号。但是为了简单起见,也可使用一个4MHz的晶体和基本门电路搭成一个具有一定频率稳定度的方波产生电路。
前面已经提到过ispLSI1016由编程实现八分频电路、地址计数译码电路、并/串转换电路的功能。其中八分频电路可以看作是一个3位的计数器,它的进位信号就是外部输入时钟的八分频信号;地址计数译码电路也可以看作是一个16位的地址计数器,它的低15位就是作为输出的地址信号,它的最高位B15是做为控制信号来使用的;并/串转换电路可以看作是一个八位的移位寄存器,它的移出信号就是所要产生的数据码流信号。
2.2 系统程序设计
系统程序主要完成以下功能:由微机将符合一定建议数据格式的数据写入RAM中,查询端口的状态并完成相应的操作,结束系统的工作等。系统程序流程图如图4所示。
3 isp编程设计
3.1 在系统编程原理
ispLSI器件的编程是由片内状态机控制的,状态的输入即为进入片内的五个编程接口信号。图5给出了在系统编程电路的典型结构。
图中编程信号来自专门的在系统编程控制电路。编程过程即为把JEDEC形式的熔丝图传送到器件中的过程。ispLSI器件有两种模式:正常工作模式与编程模式。器件的工作模式是由在系统编程使能信号ispEN控制的。ispLSI器件一旦进入编程模式,器件的编程操作就完全受片内isp状态机控制。在五个编程控制信号中,ispEN信号用来使能或取消其他四个编程控制信号。它们是:数据串入信号SDI、模式控制信号MODE、数据串出信号SDO和串行时钟信号SCLK。在SCLK的作用下,来自JEDEC文件的编程信息通过SDI端口串行地移入器件,同时通过SDO端口移出。SCLK同时也驱动片内状态机工作。当器件处于正常工作模式时,4个编程控制信号端口可以用作普通的直通输入端。对ispLSI器件编程有多种方法。其中最简单的是直接把isp编程引脚当作专用的编程端口。用如图5那样的并行编程结构来进行编程。
3.2 设计软件简介
如前所述,isp由编程实现八分频电路、地址计数器电路以及并/串转换电路的功能。在这里对isp编程采用原理图设计法,即先设计出满足上述功能的原理图,然后生成JEDEC形式的熔丝图,再写入isp器件中。
我们使用的绘制原理图的软件为OrCAD System公司的OrCAD/SDT IV。需要注意的是,因为要使用OrCAD Systems公司的WDOWNLD软件包进行对ispLSI1016的编程写入,所以在绘图时要采用库LSC.LIB(Lattice Semiconductor Corporation Library)中的元件。也就是说,要使用LSC库中基本逻辑门和D触发器来绘制出具有上述三种功能的isp编程原理图。
在原理图绘制完毕之后,就可以用OrCAD/SDT IV中的网络表制作功能生成网络表.EDN文件,此时还可使用OrCAD/VST进行数字电路的逻辑模拟。在电路连接网表文件生成以后,就可以使用pDS+ OrCAD Software软件包生成JEDEC形式的熔丝图文件了。有关pDS+ OrCAD Software的资料请参考文献[4]。当具有标准JEDEC格式的熔丝图文件生成以后,就可以使用WDOWNLD软件包(即DOWNLOAD for Windows)对isp器件进行编程写入了。下载电缆线是专用的ispDOWNLOAD CABLE,它的一端是25针的并行接口,另一端是一个8脚的插座。对WDOWNLOAD软件感兴趣的读者请参考相关的资料。
经过上述步骤,pLSI/ispLSI1016就成为一个具有一定功能的逻辑器件了,我们也就可以在系统电路板上使用它了。
总之,美国Lattice 公司将“在系统可编程(isp)”技术应用到高密度可编程器件中,形成既有可编程逻辑器件(PLD)的性能与特点,又有现场可编程逻辑阵列(FPGA)高密度和灵活性的在系统可编程逻辑器件。本设计就是对这种器件进行了一定的开发及应用,设计出一种通用数字信号源。有关isp器件的开发及应用还值得我们作进一步的探索
CMOS 电路 总线 电子 半导体 收发器 FPGA 相关文章:
- 适用于消费性市场的nano FPGA技术(09-27)
- Virtex-5推动超宽带通信和测距的发展(01-06)
- FPGA中嵌入式存储器模块的设计(03-28)
- 基于FPGA的高速图像采集系统设计(03-30)
- 利用FPGA和CPLD数字逻辑实现ADC(06-04)
- FPGA控制CLC5958型A/D转换器高速PCI采集(06-08)