伪随机码发生器设计

合集下载

伪随机码发生器研究与设计

伪随机码发生器研究与设计

伪随机码发生器的研究与设计Pseudo-random code generator Research and Design摘要伪随机序列产生技术是集数学、计算机科学、电子与通信等诸多学科于一身的技术,其产生技术自上世纪末至今一直是国内外的研究热点并取得了不少的成果。

伪随机码越来越受到人们的重视,被广泛应用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。

目前国内外均有项目研究提高伪随机序列发生器可靠性、状态利用率等问题。

本课题介绍了伪随机码的应用和研究概况,研究了伪随机码的产生方式和产生原理,并以此为基础阐述了一种基于移位寄存器的m序列伪随机码发生器的设计与实现的方法。

最终在使用集成电路的前提下,先分析由移位寄存器电路构成的伪随机序列发生器的设计方法,分步设计了移位寄存器电路和同步复位信号发生电路;再通过一系列的误差和可靠性调整设计,最终用小规模集成电路和外加时钟信号设计实现了线性反馈移位寄存器产生周期P=15的m序列,并且给出了完整的实现电路和时序分析结果。

关键词:伪随机码,绕码,m序列,移位寄存器ABSTRACTPseudo-random sequence generation technique is a mathematics, computer science, electronics and communication, and many other subjects in one of the technology, its production technology since the end of the century has been the research focus at home and abroad and made a lot of results.Pseudo-random code more and more attention, is widely used in missiles, satellites, spacecraft orbit measurement and tracking, radar, navigation, mobile communications, secure communications and communication system performance measurement and digital information processing system. Research projects at home and abroad are pseudo-random sequence generator to improve reliability, availability status and other issues.This topic describes the application of pseudo-random code and research overview of the pseudo-random code generation means and generating principle, and described as the basis for an m-sequence shift register based pseudo-random code generator of the design and implementation Approach. Final premise in the use of integrated circuits, the first shift register circuits of the pseudo-random sequence generator design, step by step design of the shift register circuit and the synchronous reset signal circuit; then through a series of errors and reliable Adjustment design, end-users and small-scale integrated circuit design of the clock signal applied to achieve a linear feedback shift register generating cycle P = 15 m-sequence and provides a complete implementation of the circuit and timing analysis. Key words:Pseudo-random code,Around the code, m sequence,Shift register目录摘要 (Ⅰ)ABSTRACT (Ⅱ)目录 (Ⅲ)1 绪论 (1)1.1 伪随机序列的研究概况 (1)1.2 伪随机序列的应用领域及其意义 (1)1.3 课题研究内容与难点 (2)2 伪随机序列发生器 (3)2.1 伪随机序列的定义及其特点 (3)2.2 伪随机序列的产生 (3)2.3 伪随机序列反馈函数 (4)3伪随机码发生器电路设计 (7)3.1 移位寄存器电路设计 (7)3.2置数功能电路设计 (7)3.3可靠性附加电路设计 (8)3.4元器件选型 (10)3.5整体电路图 (10)4电路时序分析 (12)4.1移位寄存器电路时序分析 (12)4.2完整电路时序分析 (12)结束语 (14)参考文献 (15)附录芯片逻辑引脚图及各型号性能对比 (16)致谢 (17)1 绪论1.1 伪随机码的研究概况伪随机码又称伪随机序列或伪噪声序列。

伪随机码发生器设计的控制

伪随机码发生器设计的控制

摘要伪随机码又称伪随机序列, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。

在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。

例如, 在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等,伪随机发生器在测距、通信等领域的应用日益受到人们重视。

本文提出了一种产生m序列的方法,并针对这种方法设计了一个系统。

该系统包括PC机,控制器和片外围电路CPLD,本文主要是针对控制器部分的设计。

首先分析m序列的基本原理、结构、性质及产生方法,然后提出了整体设计思路,以单片机芯片AT89C2051作为控制器,利用MAX232实现与上位机的异步串行通信,并传送阶数信号给CPLD。

CPLD通过原理图产生所需的m序列。

接着利用PROTEL99SE软件完成硬件部分的设计,包括单片机最小系统,单片机与上位机的连接,单片机与CPLD的连接。

最后是采用汇编程序语言完成软件部分的设计,包括单片机与上位机的通信,单片机对CPLD的控制。

关键词:伪随机序列;m序列;单片机;PC机,CPLDABSTRACTPseudo random code is also called pseudorandom sequence, which can be determined in advance and can be repeatedly produced and reproduced, and have a random statistical properties of the binary code sequence. In modern engineering practice, pseudo random signal in mobile communication, navigation,radar and communication, communication system performance measurement are widely used in the field of. For example, continuous wave radar can be used as a ranging signal, the remote control system can be used as a remote control signal, a multiple access communication can be used as an address signal, digital communications can be used as a group synchronization signal and can also be used as a source of noise and in secret communication encryption function. pseudo random number generator in location, communication etc. field application is increasingly paid attention to. This paper presents a m sequence generation method, and the way to the design of a system.The system includes the PC machine, controller and peripheral circuit of CPLD, this paper is aimed at the control part of the design. The first analysis of the m sequence of basic principles, structure, properties and production method, and then put forward the overall design ideas, to the single chip AT89C2051 as the controller, using MAX232 to achieve computer asynchronous serial communication, and transmits the signal to the CPLD order number. Through the CPLD diagram to produce desired m sequences. Then use the PROTEL99SE software to complete the hardware design, including the smallest single-chip system, MCU and PC connection, single chip computer and CPLD connection. The last is the use of assembly language to complete the software part of the design, including the MCU and computer communications, single-chip microcomputer to control CPLD.Keywords:Pseudo-random sequence; m sequence; single chip microcomputer; PC, CPLD目录第1章绪论 (1)1.1 研究课题的提出 (1)1.2 伪随机序列的应用及其意义 (1)1.2.1在通信加密中的应用 (1)1.2.2 在雷达信号设计中的应用 (2)1.2.3 在扩频通信中的应用 (2)1.3 伪随机序列研究现状 (3)1.4本论文主要研究内容 (3)第2章 m序列伪随机码理论 (5)2.1伪随机码基本特性 (5)2.2 m序列伪随机码性质 (5)2.2.1 均衡特性(平衡性) (5)2.2.2 游程特性(游程分布的随机性) (5)2.2.3 移位相加特性(线性叠加性) (6)2.2.4 自相关特性 (6)2.2.5 伪噪声特性 (7)2.3 m序列的产生 (7)第3章伪随机码发生器的系统设计 (11)3.1系统总体设计 (11)3.2 PC机与单片机通信部分 (11)3.3 基于单片机的控制器部分 (12)3.4 CPLD部分 (12)第4章伪随机码序列发生器的硬件设计 (14)4.1发生器主控芯片介绍 (14)4.1.1 AT89C205芯片 (14)4.1.2 MAX232芯片 (16)4.1.3 XC9500芯片 (17)4.2 m序列发生器控制器电路设计 (20)4.2.1 AT89C2051与PC的连接电路 (20)4.2.2 单片机AT89C2051与CPLD的连接电路 (21)4.2.3 电路原理图的制作 (22)第5章伪随机码序列发生器的控制器软件设计 (27)5.1异步串行通信技术 (27)5.1.1 异步串行通信 (27)5.1.2 串行通信协议 (28)5.1.3 89C2051串行口 (29)5.2 单片机与上位机的通信 (29)5.3 单片机控制CPLD (30)结论 (32)参考文献 (33)致谢 (34)第1章绪论1.1 研究课题的提出伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。

基于MATLAB的伪随机序列发生器的设计

基于MATLAB的伪随机序列发生器的设计

基于MATLAB的伪随机序列发生器的设计通信工程专业计算机课程设计题目基于MATLAB的伪随机序列发生器的设计学生姓名学号所在院(系) 专业班级指导教师完成地点2013年 11 月 12 日计算机课程设计任务书院(系) 专业班级学生姓名一、课程设计题目基于matlab的伪随机序列发生器的设计二、课程设计工作自 2013 年 10 月 27 日起至 2013 年 11 月 22 日止三、课程设计进行地点:四、课程设计的内容要求:1、要求完成七级m 序列发生器的设计(本原多项式自定);2、要求完成五级gold 序列发生器的设计(本原多项式自定);3、采用matlab实现,并对其进行调试运行;4、要求能清楚观察到稳定的序列。

指导教师系(教研室) 通信工程系接受任务开始执行日期 2013年10月27日学生签名基于matlab的伪随机序列发生器的设计[摘要]伪随机序列码越来越受到人们的重视,被广泛用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。

本文主是对基于matlab的伪随机序列发生器的设计,及其利用matlab软件对其进行仿真和利用simulink对其仿真性能的研究,主要阐述了扩频系统中m序列和gold 序列的产生。

在第一部分中介绍了课题研究的背景,第二部分中介绍了扩频系统的相关知识,第三部分介绍了m序列和Gold序列产生的原理和方法,第四部分利用matlab和simulink对其进行仿真。

[关键词]伪随机序列 m序列移位寄存器Design of the pseudo-random sequencegenerator based on matlab[Abstract]pseudo-random sequence code more and more get people's attention, is widely used in missiles, satellites, spacecraft orbit measurement and tracking, radar, navigation, mobile communications, and the measurement of the performance of the communication security and communication system of digital information processing system. In this paper, the main is to the design ofpseudo-random sequence generator based on matlab, and the use of matlab simulation and the use of simulink software to the study of the simulation performance, mainly expounds the m sequence and gold sequence in spread spectrum system. In the first part introduces the research background, the second part introduces the related knowledge of spread spectrum system, in the third part introduces the m sequence and Gold sequence principle and method of the fourth part carries on the simulation using matlab and simulink.[key words]pseudo random sequence m sequence shift register目录1.引言 (5)1.1研究的背景及意义 (5)2.扩频通信系统简介 (7)2.1扩频通信的基本概念及相关模型 (7)2.1.1基本概念 (7)2.1.2 数学模型 (10)2.2扩频通信系统的主要特点 (12)2.3扩频通信系统分类 (14)2.4伪随机序列在扩频通信中的应用 (14)3.m序列 (15)3.1m序列的定义 (15)3.2m序列的原理 (16)3.3m序列的性质 (19)4.Gold序列 (21)4.1 Gold序列的产生原理 (21)4.2 Gold序列的性质 (21)5.MATLAB仿真实现 (22)5.1 MATLAB软件介绍 (22)5.2 m序列的仿真及分析 (24)5.2.1程序分析 (24)5.2.2 simulink分析 (26)5.3 Gold的仿真及分析 (27)5.3.1程序分析 (27)5.3.2 simulink分析 (27)6.致谢 (28)7.参考文献 (29)附录 (30)附录A (30)附录B (32)1.引言1.1研究的背景及意义移动通信由于具有时实性、机动性、具有不受时空限制等特点,己经成为一种深受人们欢迎的通信方式,并融入了现代生活当中。

一种新型基于FPGA的伪随机序列发生器设计

一种新型基于FPGA的伪随机序列发生器设计
3 . 2 各 模 块设 计 好的灵活性。
参考文献
级数 ( n ) 可调 的是本设计的核心之一 ,实 现移位寄存器的多级 移位可调 。伪 随机序列 发 生器 可 由 m序列 的特 征 向量 ,根据控 制级数 的输入信号 ( n ) ,产生 3 ~ 1 6级 的任意一级 的随 机序列 ,产生 的最长 的序 列长度 为 ,基本上 可 以满足一般应用需求。级数控制 输入信号是
学学报 , 2 0 1 2 .
Go l d序列 、M 序 列等 ,本 文设计 的伪 随机序 列 发生器是 采用 m序 列设计 的。反馈 函数 可
所 输入 的 3 N 1 6级 任意 一个 十进制数 。如 图 2 所示 , 级数控 制输入信号到译码器 中进 行译码 , 将译码的结果传到多路选择器 。通 过多路选择 器进行选择 ,得到不同的移位控制信息,输出 的移位控制信息控制移 位寄存器组 。 核心 ,实现线性反馈线性移 位寄存器 的反馈 系
系数 可 调 的特 性 。
个电路 ,使 用统一 的输入输 出管脚 ,统一 的
输 入时钟信 号 。输入信 号有 :4位 的级 数 ( n ) 合 。该设 计的电路可以产生 的最长的序列长度 控制输入 、使能控制、输入 时钟、反馈系数控 为 ,可 以满 足大部 分场合 下的要求 。整体 电 制( c ) ;输 出信号有 :伪 随机 序列输 出。 电路 路硬件结构简单、 占用的器件 资源少 、具有很 结构如图 1所示。
电力 电子 ・ P o we r E l e c t r o n i c s

种新型基于 F P G A的伪随机序列发生器设计
文/ 赵怡 余 稀

用 Q u 路


01实验一 伪随机码发生器实验

01实验一 伪随机码发生器实验

实验一 伪随机码发生器实验一、实验目的1、 掌握伪随机码的特性。

2、 掌握不同周期伪随机码设计。

3、 用基本元件库和74LS系列元件库设计伪随机码。

4、 了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。

5、 学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。

6、 熟悉通信原理实验板的结构。

二、实验仪器1、 计算机 一台2、 通信基础实验箱 一台3、 100MHz 示波器 一台三、实验原理伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源;扰码;误码测试;扩频通信;保密通信等领域。

伪随机码的特性包括四个方面:1、 由n 级移位寄存器产生的伪随机序列,其周期为-1; n 22、 信码中“0”、“1” 出现次数大致相等,“1”码只比“0”码多一个;3、 在周期内共有-1游程,长度为 i 的游程出现次数比长度为 i+1的 游程出现次数多一倍;n 24、 具有类似白噪声的自相关函数,其自相关函数为:()()⎩⎨⎧−≤≤=−−=221012/11n nτττρ其中n 是伪随机序列的寄存器级数。

例如:四级伪码产生的本原多项式为X 4+X 3+1。

利用这个本原多项式构成的4级伪随机序列发生器产生的序列为:1 1 1 1 0 0 0 1 0 0 1 1 0 1 0相应的波形图如图1-1所示:图1-1 四级伪随机序列波形图用4个D 触发器和一个异或门构成的伪码发生器具有以下特性: 1、 周期为24-1=15;2、 在周期内“0”出现24 -1-1=7次,“1”出现24 -1=8次;3、 周期内共有24 -1 =8个游程;4、 具有双值自相关特性,其自相关系数为:⎩⎨⎧−≤≤−−==221)12(10144τ / τ ρ(τ)四、实验内容及步骤1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计电路原理图如图1-2所示。

图1-2 四级伪随机码电路原理图在MAXPLUS II 环境下输入上述电路,其中: dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚 1.2 实验电路编译及FPGA 引脚定义完成原理图输入后按以下步骤进行编译:(1) 在Assign Device 菜单选择器件MAX7128SLC84。

17伪随机数发生器的设计

17伪随机数发生器的设计
利用 CA 设计的伪随机数发生器产生的伪随机数过程如下:第一步给出一个 规定长度的初始数(在测试时一般取经验值),即通常所说的伪随机数种子。第二 步按照相应的规则查找表(或等价的逻辑函数)产生下一代伪随机数。第三步把产 生的伪随机数作为下一代伪随机数种子 (即作为父代),重复第二步。
119
原胞自动机伪随机数发生器同样是通过寄存器的延时来实现。每当一个时钟 脉冲到来时,每一级存储器 Qi 的值根据 CA 规则来决定,CA90 和 CA150(即 CA01011010B 和 CA10010110B)算法规则的规则查找表分别如表 1,2 所示,其中相 邻单元的值为η,输出值为 Q=f(η)。CA90 算法规则等价的逻辑函数是由当前单 元的相邻左右单元的状态值相异或,而 CA150 算法规则等价的逻辑函数是由相邻 当前单元和左右单元的状态值相异或。下面分别给出它们的逻辑函数表达式。
3.原胞自动机 一个原胞自动机(Cellular Automata,CA)是一种有限状态机,有 n 个离散
的单元,每个单元以离散的节拍进化,其中每个单元的下一个状态值由该单元的 当前状态值和其相邻的当前状态值通过查找表(Look-UpTable,LUT)(或等价的逻 辑函数)来决定,而相邻单元的状态值是独立的。
Cn
Cn-1
Cn-2
C1
C0=1
图 1 传统多级线性移位寄存器结构
3.m 序列 m 序列(maximum-length)是一类最大长度线性移位寄存器序列的简称。 m
序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频 通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领 域。
表 1 CA90 规则查找表
η 111 110 101 100 011 010 001 000

伪随机m序列发生器的产生设计

伪随机m序列发生器的产生设计

信息科学与技术学院通信原理课程设计课题名称:伪随机M序列发生器设计学生姓名:许奎英2008082491学院:信息科学与技术学院专业年级:电子信息工程2008级指导教师:邓红涛完成日期:二○一一年七月十二日目录前言 (3)摘要 (4)理论基础知识 (5)伪随机序列 (6)伪随机序列定义及应用. (7)m序列产生器 (7)芯片介绍 (8)移位寄存器74LS164 (9)D/A转换器IDAC (9)EWB软件介绍 (10)设计方案 (10)EWB仿真 (11)电路的调试 (13)参考文献 (13)实验心得 (14)附录 (15)前言题目:伪随机序列的产生及应用设计初始条件:具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计伪随机码电路:产生八位伪随机序列(如M序列);2、了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如DAC0808),观察其模拟信号的特性;3、分析信号源的特点,使用EWB软件进行仿真;4、进行系统仿真,调试并完成符合要求的课程设计说明书。

摘要伪随机序列具有良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。

伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。

伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用,特别是作为扩频码在CDMA系统中的应用已成为其中的关键问题。

此次课设根据m序列的产生原理,利用74LS164加少量门电路方法设计了8位m序列发生器。

关键词:伪随机序列m序列移位寄存器D/A转换EWB仿真1理论基础知识1.1伪随机序列1.1.1伪随机序列定义及应用如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。

基于FPGA的伪随机序列发生器设计方案

基于FPGA的伪随机序列发生器设计方案

基于FPGA的伪随机序列发生器设计方案1基本概念与应用1)1FSR:线性反馈移位寄存器(1inear feedbackshiftregister,1FSR)是指给定前一状态的输出,将该输出的线性的薮再用作输入的移位寄存器。

异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。

1FSR产生的两种形式为伽罗瓦(Ga1ois)和斐波那契(FibonaCCi)两种形式。

也有成为外部(Ex隹rna1)执行方式和内部(Interna1)执行方式。

(1)伽罗瓦方式(Interna1)X0X4X17! ! TepCount ,-Θ□□EF-Γ>4300000000Θ{3B0-*~*DaiaFtowW>)∙ι.x4.χ“(Ga1oisImp1ementation)Ga1ois方式特征数据的方向从左至右,反馈线路是从右至左。

其中XCo项(本原多项式里面的T'这一项)作为起始项。

按照本原多项式的指示确定异或门(XOR)在移位寄存器电路上的位置。

如上图所示XM。

因此Ga1ois方式也有人称作线内或模类型(M-型)1FSRo(2)斐波那契方式(Externa1)TapCountB*0;E3t3-⅛QEHIH30GHZHHDGIFSHpcivncrTMrig(M)-X14.X,>♦X n»1(Fibonacciimp1ementation)从图中我们可以看到Fibonacci方式的数学流向和反馈形式是恰好跟Ga1ois方式相反的,按照本原多项式,其中XCO这一项作为最后一项,这里需要一个XOR∏,将本原多项式中所给的taps来设定它的异或方式。

因此Fibonacci方式也被叫做线外或者简型(S-型)1FSR。

2)本原多项式本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。

本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

伪随机码发生器设计1 引言随着科学技术的进步,现代战争样式向信息战形式发展。

现代战争胜负对于信息获取的依赖程度前所未有的提高。

在现代战争中,若己方的通讯交流方式早敌军破获,则地方将获取己方部队动向或实施信息干扰。

将会使部队陷入极其危险地境地中。

因此,信息战对通讯加密手段的要求极高。

伪随机序列(Pseudonoise Sequence)又称伪噪声或伪随机码,具有类似随机信号的一些统计特性,但又是有规律的,容易产生和复制的。

最大长度线性移位寄存器序列(m序列)是保密通信中非常重要的一种伪随机序列,它具有随机性、规律性及较好的自相关和互相关性,而且密钥量很大。

利用m序列加密数字信号,使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。

这样,通过对m序列的应用,将大大的提高通讯的保密程度和防窃取能力。

这样的通讯手段被称为扩展频谱通信扩展频谱通信(Spread Spectrum Communication)是将待传送的信息数据被伪随机编码也就是扩频序列调制,实现频谱扩展以后再在信道中传输,接收端则采用与发送端完全相同的编码进行解调和相关处理,从而恢复出原始的信息数据。

在这其中,伪随机码发生器是十分重要的一环,是对信息加密的核心器件。

m序列伪随机码发生器即使通过m序列的方式对信息数据编码。

本系统所设计的伪随机码发生器,产生m序列伪随机码。

系统采用AT89S51单片机作为控制芯片,控制使用LCD12864显示处理器产生的m序列伪随机码,并且可通过按键对参数修改,设置初始码及m 序列长度。

单片机根据设定的初始码及m序列长度,按照约定的逻辑运算关系,循环往复的产生0或者1。

2 发生器系统设计2.1总体设计系统分为信息处理、实时显示和按键修改共五大模块。

系统总体结构框图如图1所示:图1 系统总体结构框图如图所示,MCU 对信号进行处理,将所得数据送液晶屏显示。

可以通过对按键的修改,设置系统参数,从而改变系统运行模式,以完成发生器功能。

2.2发生器硬件设计2.2.1发生器主控芯片模块发生器主控芯片采用AT89S51单片机,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

AT89S51单片机管脚如图2所示:VCC :电源电压输入端。

GND :电源地。

P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。

图2 AT89S51单片机管脚分布图P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口除了作为普通I/O口,还有第二功能:P3.0 RXD(串行输入口);P3.1 TXD(串行输出口);P3.2 /INT0(外部中断0);P3.3 /INT1(外部中断1);P3.4 T0(T0定时器的外部计数输入);P3.5 T1(T1定时器的外部计数输入);P3.6 /WR(外部数据存储器的写选通);P3.7 /RD(外部数据存储器的读选通);P3口同时为闪烁编程和编程校验接收一些控制信号;I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。

读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。

只有读端口时才真正地把外部的数据读入到内部总线。

89C51的P0、P1、P2、P3口作为输入时都是准双向口。

除了P1口外P0、P2、P3口都还有其他的功能。

RST:复位输入端,高电平有效。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:地址锁存允许/编程脉冲信号端。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH 地址上置0。

此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号,低电平有效。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:外部程序存储器访问允许。

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:片内振荡器反相放大器和时钟发生器的输入端。

XTAL2:片内振荡器反相放大器的输出端。

2.2.2 12864液晶显示屏模块LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。

其基本特性为:低电源电压(VDD:+3.0--+5.5V);显示分辨率:128×64点;内置汉字字库,提供8192个16×16点阵汉字(简繁体可选);内置 128个16×8点阵字符;2MHZ时钟频率;显示方式:STN、半透、正显;驱动方式:1/32DUTY,1/5BIAS;视角方向:6点;背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10;通讯方式:串行、并口可选;内置DC-DC转换电路,无需外加负压;无需片选信号,简化软件设计;工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃。

其管脚分布如表1所示:表1 LCD12864管脚分布表LCD12864与51单片机连接如图3所示:图3 LCD12864与51单片机连接图LCD12864的4、5、6和15四个管脚分别与单片机P1.3、P1.4、P1.5和P1.6连接。

信号传输管脚与P0管脚顺次相连。

2.2.3 键盘模块本发生器系统采用独立式键盘,独立式按键是直接用I/O口线构成单个按键电路,每个按键单独占用一根I/O线。

如图4所示是一个通过P0口连接3个按键。

图4 独立式按键接口图如图所示,按键一段连接阻值为10k的上拉电阻与+5v电源相连,另一端接地。

独立式按键电路配置灵活,软件结构简单,适合接口空余较多时的情况。

2.3发生器软件设计2.3.1发生器软件设计采用语言发生器系统软件采用C语言编写,C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

相对而言具有以下优点:(1)简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

(2)运算符丰富C的运算符包含的范围很广泛,共有种34个运算符。

C语言把括号、赋值、强制类型转换等都作为运算符处理。

从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

(3)数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。

能用来实现各种复杂的数据类型的运算。

并引入了指针概念,使程序效率更高。

另外C语言具有强大的图形功能, 支持多种显示器和驱动器。

且计算功能、逻辑判断功能强大。

(4)C 是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。

C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

2.3.2 软件设计流程软件主程序流程图如图5所示,中断子程序流程图如图6所示。

图5 主程序流程图 图6 中断子程序流程图如图5所示,程序经初始化后,系统开始工作。

系统初始默认为m 值为7的伪随机码序列。

当按键被按下,有产生一个高电平的信号时,程序执行中断子程序。

在中断子程序中,由于三个按键接不同的口,系统即按不同的参数运行。

3 m 序列伪随机码理论设计3.1伪随机码基本特性伪随机码又称为随机序列,它是具有类似于随机序列基本特性的确定序列。

通常广泛应用于二进制序列。

二进制独立随即序列在概率论中称为伯努利(Bernoulli )序列,它由两个(符号)0,1或1,-1组成,序列中不同位置的元素取值相互独立,0或1的出现概率相等,简称此种序列为随机序列。

随机序列具有以下三个基本特性:(1)在序列中“0”和“1”出现的相对概率各位1/2。

(2)序列中连0或连1称为游程,连0或连1的个数称为游程的长度。

序列中长度为1的游程数占游程总数的1/2;长度为2的游程数占游程总数的1/4;长度为3的有成熟占游程总数的1/8;长度为n 的游程数占游程总数的n2/1。

次性质称为随机序列的游程特性。

(3)如果将给定的随机序列位移任何个元素,则所得到的序列和原序列对应的元素有一半相同, 一半不同。

如果确定序列近似满足以上三个特性,则称此确定序列为伪随机序列。

3.2 m 序列伪随机码性质最长线性反馈移存器序列是最常见和最常用的一种伪随机序列,简称m 序列,它是由具有线性反馈的移位寄存器产生的周期最长的序列。

相关文档
最新文档