1电子科技大学通信与信息工程学院《传输与处理综合设计报告》用可编程器件GAL16V8设计可变长度的序列信号发生器班级28012010学生王东学号2801201007教师饶力2【设计名称】用GAL16V8设计可变长度序列信号发生器【设计目的】《传输与处理综合设计》是一门结合专业的独立的实践课程,是培养高年级学生在学完专业基础课后,综合所学知识进行工程设计的一项基本能力训练。设计时,在微机上用机助设计方法,以可编程逻辑器件为主要器件,设计出通信设备中各种专用部件,并在编程器上烧录后,进行硬件测试,以验证设计的正确性。要求:1.掌握伪随机序列的基本性质及伪随机序列发生器的设计方法。2.掌握从给定长度的m序列中截短为设计所给长度的设计方法。3.掌握可编程器件GAL16V8的使用方法,并学会用该器件设计可变长度序列信号发生器。4.掌握FM软件的使用方法。5.熟悉伪随机序列在通信系统中地位和用途。【设计内容】在掌握伪随机序列性质的基础上,设计给定长度的伪随机序列信号发生器,也即设计给定n后(n为移位寄存器的级数)最长线性反馈移位寄存器序列。并在给定n产生的最长序列的基础上,截短出课题给出的序列长度,并用FM软件对可编程器件GAL16V8进行编程,以实现长度不同的序列信号发生器。对可编程器件烧录完成后,为了验证设计者设计是否正确,还需将所设计的器件进行硬件测试,以便检验设计是否达满足要求。一、伪随机序列随机噪声在通信技术中首先是作为有损通信质量的因素受到人们的重视3的。信道中存在随机噪声会使模拟信号产生失真,或使数字信号解调后出现误码;同时,它还是限制信道容量的一个重要因素。因此,人们最早是企图设法消除或减小通信系统中的伪随机噪声。但是,有时人们也希望获得随机噪声。例如,在实验室中对通信设备或系统进行测试时,有时要故意加入一定的随机噪声,这时就需要产生它。随着通信理论的发展,早在20世纪40年代末,香农(Shannon)就曾指出,在某些情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。另外,为了实现高可靠性的保密通信,也希望利用随机噪声。然而,利用随机噪声的最大困难是它难以重复产生和处理。直到60年代,伪随机噪声的出现才使这一困难得到解决。伪随机噪声具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。由于它具有伪随机噪声的优点,又避免了它的缺点,因此获得了日益广泛的应用。目前广泛应用的伪随机噪声都是由数字电路产生的周期序列。在设计数字通信系统时,通常都假设信源序列是随机序列,而实际信源发出的序列不一定满足这个条件,特别是信源出现长0串时,给接收端提取定时信号带来一定困难。解决这个问题的办法,除了用码型编码的方法以外,也常用m序列对信源序列进行“加乱”处理,有时也称扰码,以使信源序列随机化。在接收端再把“加乱”了的序列,用同样的m序列“解乱”,即进行解扰,恢复原有的信源序列。从更广泛的意义上来说,扰码能使数字传输系统对各种数字信息具有透明性。这不但因为扰码能改善位定时恢复的质量,而且它还能使信号频谱分布均匀且保持稳恒,能改善有关子系统的性能。扰码的原理基于m序列的伪随机性。下面首先了解m序列的产生和性质。二、m序列的产生和性质m序列是最常用的一种伪随机序列,它是最长线性反馈移位寄存器的简称。m序列是由带线性反馈的移位寄存器产生的序列,并且具有最长周期。由n级串接的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只用模2和构成,则称为线性反馈移位寄存器;如果反馈线路中包含“与”、“或”等运算,则称为非线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器状态会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。以图1所示的4级移位寄存器为例,图中线性反馈逻辑服从以下递归关系式:443nnnaaa(1-1)图14级移位寄存器即第3级与第4级输出的模2和运算结果反馈到第1级去。假设这4级移位寄存器的初始状态为0001,即第4级为1状态,其余3级均为0状态。随着移位时钟节拍,各级移位寄存器的状态转移流程图如表1所示。表1m序列发生器状态转移流程图在第15个节拍时,移位寄存器的状态与第0拍的状态(即初始状态)相同。因而从第16拍开始必重复第1至第15拍的过程。这说明该移位寄存器的状态具有周期性,其周期长度为15。如果从末级输出,选择3个0为起点,便可得到如5下序列:0111100010011014na由上例可看出,对于n=4的移位寄存器共有24=16种不同的状态。上述序列中出现了除全0以外的所有状态,因此是可能得到的最长周期序列。只要移位寄存器的初始状态不是全0,就能得到周期长度为15的序列。其实,从任何一级寄存器所得到的序列都是周期长度为15的序列,只不过节拍不同而已,这些序列都是最长线性反馈移位寄存器序列。将图1中的线性反馈逻辑改为42nnnaaa(1-2)如图2所示。如果4级移位寄存器的初始状态仍为0001,可得末级输出序列为0001014na图2修改反馈逻辑后的4级移位寄存器其周期为6。如果将初始状态改为1011,输出序列是周期为3的循环序列,即0114na当初始状态为1111时,输出序列是周期为6的循环序列,其中一个周期为1111004na以上4种不同的输出序列说明,n级线性反馈移位寄存器的输出序列是一个周期序列,其周期长短由移位寄存器的级数。线性反馈逻辑和初始状态决定。但在产生最长线性反馈移位寄存器序列时,只要初始状态非全0即可,关键要有合适的线性反馈逻辑。n级线性反馈移位寄存器如图3所示。图中Ci表示反馈线的两种可能连接状态,Ci=1表示连接线连通,第n-i级输出加入反馈中;Ci=0表示连接线断开,第n-i级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式niininnnnaCaCaCaCa102211(mod2)(1-3)6图3n级线性反馈移位寄存器将等式左边的an移至右边,并将nnaCa0(C0=1)带入上式,则上式可改写为niiniaC00(1-4)定义一个与上式相对应的多项式niiixCxF0)((1-5)其中x的幂次表示元素相应的位置。式(1-5)称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切的关系。可以证明,当)(xF满足下列3个条件时,就一定能产生m序列:(1))(xF是不可约的,即不能再分解因式;(2))(xF可整除1px,这里12np;(3))(xF不能整除1qx,这里pq。满足上述条件的多项式称为本原多项式。这样,产生m序列的充要条件就变成如何找本原多项式。以前面提到的4级移位寄存器为例。4级移位寄存器所能产生的m序列,其周期为p=24-1=15,其特征多项式)(xF应能整除115x。将115x进行因式分解,有)1)(1)(1)(1)(1(1223434415xxxxxxxxxxxx以上共得到5个不可约因式,其中有3个4阶多项式,而1234xxxx可整除15x,即7)1)(1(12345xxxxxx故不是本原多项式。其余2个是本原多项式,而且是互逆多项式,只要找到其中的一个,另一个就可以写出。例如1)(341xxxF就是图1对应的特征多项式,另一个是1)(42xxxF。寻求本原多项式是一件繁琐的工作,由计算得到的结果已列成表。表2给出其中部分结果,每个n只给出一个本原多项式。为了使m序列发生器尽量简单,常用的是只有3项的本原多项式,此时发生器只需要一个模2加法器。但对于某些n值,不存在3项的本原多项式。表中列出的本原多项式都是项数最少的,为简便起见,用八进制数字记载本原多项式的系数。由系数写出本原多项式非常方便。例如n=4时,本原多项式系数的八进制表示为23,将23写成二进制码010与011,从左向右第一个1对应于C0,按系数可写出)(1xF;从右向左的第一个1对应于C0,按系数可写出)(2xF,其过程如下:表2本原多项式系数表823010011C0C1C2C3C41)(341xxxFC4C3C2C1C01)(42xxxF)(1xF和)(2xF为互逆多项式,即10011与11001互为逆码。所以在表2中每一本原多项式可以组成两种m序列发生器。m序列有如下性质(1)由n级移位寄存器产生的m序列,其周期为2n-1。(2)除全0状态外,n级移位寄存器可能出现的各种不同状态都在m序列的一个周期内出现,而且只出现一次。因此,m序列中1和0的出现概率大致相同,1码只比0码多一个。(3)在一个序列中连续出现的相同码称为一个游程,连码的个数称为游程的长度。m序列中共有2n-1个游程。例如:0111100010011014na在其一个周期(m个元素)中,共有8个游程,其中长度为4的游程有一个,即“1111”;长度为3的游程有一个,即“000”;长度为2的游程有两个,即“11”与“00”;长度为1的游程有四个,即两个“1”和两个“0”。m序列中共有2n-1个游程,其中长度为1的游程占1/2,长度为2的游程占1/4,长度为3的游程占1/8,以此类推,长度为k的游程占2-k。其中最长的游程是n个连1码,次长的游程是n-1个连0码。五、通用阵列逻辑器件GAL简介1.什么是GAL器件可编程逻辑器件PLD(ProgrammableLogicDevice)是一种专用集成电路,具有结构灵活,集成度高、处理速度快、可靠性好的特点。PLD的器件类型很多,通用阵列逻辑GAL(GenericArrayLogic)器件是其中的一种高性能的PLD产品。GAL器件采用灵活的可编程I/O结构,在几十纳秒内可完成芯片的编程或擦除,可反复改写数据100次,数据可保持20年。GAL美国Lattice半导体公司生产的E2CMOS可编程器件的专用商标。92.GAL产品分类GAL产品分为普通型、通用型、异步型、FPLA型和在线可编程型5个系列,如表3所示,其中主要参数也列在表内。其正常工作条件和极限工作条件,分别列在表4中。(1)普通型GAL器件包括输入缓冲器,输出三态缓冲器,输出反馈/输入缓冲器,输出逻辑宏单元和时钟及输出使能信号缓冲器。(2)通用型GAL器件通用型GAL器件采用的工艺和基本结构与普通型GAL器件相同,通用型器件在普通型器件基础上,简化了输出逻辑宏单元的结构,增加了阵列的规模,还向用户提供了两个专用乘积项(异步复位AR乘积项和同步置位SP乘积项),因此在设计组合逻辑和时序逻辑时,使用通用型GAL器件带来了更强的灵活性。(3)异步型GAL器件不论是普通型还是通用型GAL器件,都只有一个时钟输入脚,所有输出寄存器都在同一时钟下工作。这类器件难以实现在不同时钟下工作的异步时序逻辑,异步型GAL器件就是针对这一问题特别研制出来的。(4)FPLA型器件这类器件在芯片内部集成了两个可编程的门阵列————与门阵列和或门阵列。由于有两个可编程的门阵列,在设计状态机时就非常灵活了。(5)在线可编程GAL器件这类器件具有在线可编程和诊断能力,其内部集成了一个功能模块,这一模块只需要应用系统中+5V电源电压,就能够提供编程,诊断所必须的电压和控制信号,因此,它可以不用专门的编程器即可完成在线编程,使用更加灵活方便。GAL器件的命名方法如图13所示。10器件名称中的两个数字也有一定的含意,第一数字指的是与门阵列的输入量,这个数字也表示器件的最大输入数;第二个数字指的是输出逻辑宏单元OLMC总数,这个数字也表示器件最大输出数。图13GAL器件的命名方法表3GAL产品简介表4GAL极限工作条件和正常工作条件11表3-2GAL器件的极限工作条件与正常工作条件3.普通型GAL器件普通型GAL器件包括GAL16V8、GAL16V8A、GAL16V8B、GAL20V8、GAL20V8A、GAL16V8B等6种型号。其中GAL16V8、GAL16V8A、GAL16V8B在结