第12章数字设计实例_第1页
第12章数字设计实例_第2页
第12章数字设计实例_第3页
第12章数字设计实例_第4页
第12章数字设计实例_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1212章章 数字设计实例数字设计实例12.1 基于基于FPGA实现点阵式液晶显示控制实现点阵式液晶显示控制12.2 基于基于CPLD实现字符液晶显示控制实现字符液晶显示控制12.3 VGA彩条信号发生器彩条信号发生器12.4 VGA图像显示控制器设计图像显示控制器设计12.5 异步串行接口(异步串行接口(UART)设计)设计12.6 直接数字频率合成器(直接数字频率合成器(DDS)12.7 等精度频率计等精度频率计12.8 FIR数字滤波器数字滤波器12.9 CRC校验码校验码数字设计实例12.1 基于基于FPGA实现点阵式液晶显示控制实现点阵式液晶显示控制 GDM12864的结构及指令

2、的结构及指令 GDM12864A原理简图原理简图 “写数据写数据”时序图时序图 指令名称指令名称控制信号控制信号控制代码控制代码RSR/WD7D6D5D4D3D2D1D0显示开关设置显示开关设置000011111D显示起始行设置显示起始行设置0011L5L4L3L2L1L0页面地址设置页面地址设置0010111P2P1P0列地址设置列地址设置0001C5C4C3C2C1C0读取状态字读取状态字01busy0on/offreset0000写显示数据写显示数据10数数 据据控制指令功能表控制指令功能表 顶层设计及状态分配顶层设计及状态分配 顶层设计顶层设计 用状态机来进行设计。设置用状态机来进行设

3、计。设置5个状态,分别是空闲状态个状态,分别是空闲状态“Idle”,写页面地址状态,写页面地址状态“Xpage”,写列地址状态,写列地址状态“Yline”,写数据状态,写数据状态“Data”,显示状态,显示状态“Display”。当处于当处于Xpage状态时,状态时,rs=0,rw=0,按照前面介绍的命,按照前面介绍的命令格式令格式“1 0 1 1 1 P2 P1 P0”将页面地址送上数据总线将页面地址送上数据总线(P2 P1 P0表示页面地址表示页面地址)。当处于。当处于Yline状态时,状态时,rs=0,rw=0,将列地址,将列地址“0 1 C5 C4 C3 C2 C1 C0”送上数据总送

4、上数据总线(线(C5 C4 C3 C2 C1 C0代表代表0至至63的列地址)。当处于的列地址)。当处于Data状态时,状态时,rs=1,rw=0,依次将,依次将ROM中的显示数据中的显示数据送上数据总线。将送上数据总线。将8个页面全部扫描过一遍后,进入个页面全部扫描过一遍后,进入Display状态,状态,rs=0,rw=0,将命令,将命令“00111111”送上送上数据总线。数据总线。 液晶控制液晶控制 n字符液晶由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件装配而成,可显示数字和英文字符。字符液晶本身具有字符发生器,显示容量大,功能丰富,一般最少可显示1行8个或l行16个

5、字符,每个字符由57、58或511的一组像素点阵排列构成,每个字符间有一点的间隔,每行间也有一行的间隔 12.2 基于基于CPLD实现字符液晶显示控制实现字符液晶显示控制 CPLD与字符液晶HS162的接口典型电路 HS162读写控制读写控制 状态机设计及源代码状态机设计及源代码nHS162-4液晶模块的读写操作、屏幕和光液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的,为标的操作都是通过指令编程来实现的,为了方便控制,可以采用状态机进行设计。了方便控制,可以采用状态机进行设计。在设计中设置在设计中设置8个状态,分别是空闲状态个状态,分别是空闲状态“IDLE”,设置,设置CGRAM

6、状态状态“SETCGRAM”,工作方式设置状态,工作方式设置状态“SETFUNCTION”,输入方式设置状态,输入方式设置状态“SWITCHMODE”,光标归位状态,光标归位状态“RETURNCURSOR”,字符移位状态,字符移位状态“SHIFT”,写,写RAM状态状态“WRITERAM”。 12.3 VGA12.3 VGA彩条信号发生器彩条信号发生器 VGA显示器采用光栅扫描方式,即轰击荧光屏的电子束显示器采用光栅扫描方式,即轰击荧光屏的电子束在在CRT显示器上从左到右、从上到下做有规律的移动,其显示器上从左到右、从上到下做有规律的移动,其水平移动受水平同步信号水平移动受水平同步信号HSYN

7、C控制,垂直移动受垂直同控制,垂直移动受垂直同步信号步信号VSYNC控制。扫描方式一般分为逐行扫描和隔行扫控制。扫描方式一般分为逐行扫描和隔行扫描,这里采用逐行扫描。完成一行扫描的时间称为水平扫描,这里采用逐行扫描。完成一行扫描的时间称为水平扫描时间,其倒数称为行频率,完成一帧(整屏)扫描的时描时间,其倒数称为行频率,完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频,又称刷新率。间称为垂直扫描时间,其倒数称为场频,又称刷新率。VGA工业标准要求的时钟频率如下:工业标准要求的时钟频率如下:时钟频率(时钟频率(Clock frequency)25.175MHz(像素输出(像素输出的频率)

8、的频率)行频(行频(Line frequency)31469Hz场频(场频(Field frequency)59.94Hz颜色颜色黑黑蓝蓝绿绿品品红红青青黄黄白白R00001111G00110011B01010101颜色编码颜色编码 一个象素点可有多种颜色,由表示该象素点的二进数一个象素点可有多种颜色,由表示该象素点的二进数确定,这里每个象素点我们采用确定,这里每个象素点我们采用3位二进制数表示:分别位二进制数表示:分别为三基色信号为三基色信号R、G、B。因此只可表示。因此只可表示8种颜色,如表所种颜色,如表所示。示。颜色编码颜色编码VGA行扫描时序行扫描时序VGA场扫描时序场扫描时序VGA时

9、序时序行扫描时序要求(单位:像素,即输出一个像素行扫描时序要求(单位:像素,即输出一个像素Pixel的时间间隔)的时间间隔)场扫描时序要求(单位:行,即输出一行场扫描时序要求(单位:行,即输出一行Line的时间间隔)的时间间隔)场同步头场同步头场图像场图像场周期场周期对应位置对应位置V_TfV_TaV_TbV_TcV_TdV_TeV_Tg时间(时间(Lines)222584808525行同步头行同步头行图像行图像行周期行周期对应位置对应位置H_TfH_TaH_TbH_TcH_TdH_TeH_Tg时间(时间(Pixels)8964086408800n根据以上的行、场扫描时序要求,可设置两个根据以

10、上的行、场扫描时序要求,可设置两个计数器,一个是行扫描计数器计数器,一个是行扫描计数器hcnt,进行模,进行模800计数;另一个是场扫描计数器计数;另一个是场扫描计数器vcnt,进行,进行模模525计数。行扫描计数器的驱动时钟频率计数。行扫描计数器的驱动时钟频率(像素输出的频率)按照(像素输出的频率)按照VGA工业标准为工业标准为25.175MHz。场扫描计数器以行同步信号。场扫描计数器以行同步信号HS为驱动时钟,当为驱动时钟,当HS的下降沿到来时进行计数。的下降沿到来时进行计数。设置完计数器后,就可对行图像设置完计数器后,就可对行图像H_Td和场图和场图像像V_Td所对应的所对应的64048

11、0个点赋值。个点赋值。12.4 VGA图像显示控制器设计图像显示控制器设计VGA图像显示控制器结构框图图像显示控制器结构框图 本例在本例在VGA显示器上显示了一幅显示器上显示了一幅128128点的图像,点的图像,每个像素点依然使用每个像素点依然使用3比特量化。因此比特量化。因此ROM的存储单元的存储单元数目为数目为16384,即地址线宽度为,即地址线宽度为14比特,数据线宽度为比特,数据线宽度为3比特。增加了一个图像位置移动控制部分,使得图像在比特。增加了一个图像位置移动控制部分,使得图像在屏幕范围内成屏幕范围内成45度角移动,撞到边缘后变向,类似于屏度角移动,撞到边缘后变向,类似于屏保。保。

12、 很显然,由于量化的比特数较少,显示出的图像只能很显然,由于量化的比特数较少,显示出的图像只能看出大体的形状轮廓,若想提高图像的质量,必须增加看出大体的形状轮廓,若想提高图像的质量,必须增加对三基色对三基色R、G、B分别量化的比特数,而后再分别通过分别量化的比特数,而后再分别通过D/A转换器输出。转换器输出。三基色分别采用三基色分别采用8比特表示比特表示 三基色分别采用三基色分别采用1比特表示比特表示 VGA图像显示控制器顶层设计图像显示控制器顶层设计 12.5 异步串行接口(异步串行接口(UART)设计)设计 基本的基本的UART通信只需要两条信号线:通信只需要两条信号线:RXD和和TXD,

13、TXD是是UART的发送端的发送端, RXD是是UART的接收端,接收的接收端,接收与发送全双工工作。与发送全双工工作。 UART是异步通信方式,发送方和接收方分别有各是异步通信方式,发送方和接收方分别有各自独立的时钟,传输的速率由双方约定,使用起至式自独立的时钟,传输的速率由双方约定,使用起至式异步协议。异步协议。起止式异步协议起止式异步协议起止式异步协议的特点是一个字符一个字符地进行传输,起止式异步协议的特点是一个字符一个字符地进行传输,字符之间没有固定的时间间隔要求,每个字符都以起始字符之间没有固定的时间间隔要求,每个字符都以起始位开始,以停止符结束。每一个字符的前面都有一位起位开始,以

14、停止符结束。每一个字符的前面都有一位起始位(低电平,逻辑值始位(低电平,逻辑值0),字符本身有),字符本身有5到到8比特数据比特数据位组成,接着是一位校验位(也可以没有校验位),最位组成,接着是一位校验位(也可以没有校验位),最后是一位(或一位半、二位)停止位,停止位后面是不后是一位(或一位半、二位)停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平,这定长度的空闲位。停止位和空闲位都规定为高电平,这样就保证起始位开始处一定有一个下降沿。样就保证起始位开始处一定有一个下降沿。数据接收数据接收n数据接收:接收的首要任务是能够正确找到数数据接收:接收的首要任务是能够正确找到数据的位

15、置。这主要靠检测数据的起始位和停止据的位置。这主要靠检测数据的起始位和停止位来实现。起始位是一位位来实现。起始位是一位0,它作为联络信号附,它作为联络信号附加进发送信息,因为空闲位都为高电平,所以加进发送信息,因为空闲位都为高电平,所以当接收数据线的信号突然变为低电平时,告诉当接收数据线的信号突然变为低电平时,告诉接收端数据的到来。一个字符接收完毕后,对接收端数据的到来。一个字符接收完毕后,对数据进行校验(若数据包含奇偶校验位),最数据进行校验(若数据包含奇偶校验位),最后检测停止位,以确认数据接收完毕。后检测停止位,以确认数据接收完毕。 UART接收示意图接收示意图 由于传输中有可能会产生毛

16、刺,接收端极有可能将毛由于传输中有可能会产生毛刺,接收端极有可能将毛刺误认为是起始位,所以要对检测到的下降沿进行判别。刺误认为是起始位,所以要对检测到的下降沿进行判别。一般采用如下的方法:取接收端的时钟频率是发送频率一般采用如下的方法:取接收端的时钟频率是发送频率的的16倍频,当检测到一个下降沿后,在接下来的倍频,当检测到一个下降沿后,在接下来的16个周个周期内检测数据线上期内检测数据线上“0”的个数,若的个数,若“0”的个数超过的个数超过8个或个或者者10(根据具体情况设置),则认为是起始位到来,否(根据具体情况设置),则认为是起始位到来,否则认为起始位没有到来,继续检测传输线,等待起始位。

17、则认为起始位没有到来,继续检测传输线,等待起始位。 起始位的检测起始位的检测n数据发送:数据的发送实际上就是按照帧格式将寄存器数据发送:数据的发送实际上就是按照帧格式将寄存器中的并行数据转为串行数据,为其加上起始位和停止位,中的并行数据转为串行数据,为其加上起始位和停止位,以一定的波特率进行传输。波特率可以有多种选择,如以一定的波特率进行传输。波特率可以有多种选择,如9600bits/s,14400bits/s,19200bits/s,38400bits/s等等数据发送数据发送12.6 12.6 直接数字频率合成器直接数字频率合成器 1、DDS原理与顶层设计原理与顶层设计 DDS的基本结构如图

18、所示,主要由相位累加器、加法器、波形存储的基本结构如图所示,主要由相位累加器、加法器、波形存储ROM、D/A转换器组成。转换器组成。DDS结构图结构图 其中其中K为频率控制字,为频率控制字,P为相位控制字。设为相位控制字。设fc为参考时为参考时钟频率,钟频率,N为相位累加器的字长,为相位累加器的字长,M为为ROM数据位和数据位和D/A转换器的字长。相位累加器在时钟转换器的字长。相位累加器在时钟fc的控制下以步长的控制下以步长K累累加,输出的加,输出的N位二进制码经过处理(截断处理)后与相位位二进制码经过处理(截断处理)后与相位控制字相加,结果作为控制字相加,结果作为ROM的输入地址,对波形的输

19、入地址,对波形ROM寻寻址。址。ROM中输出的中输出的M位的幅度码经位的幅度码经D/A转换后就可得到合转换后就可得到合成波形。合成信号的波形取决于成波形。合成信号的波形取决于ROM中存储的幅度码,中存储的幅度码,因此可以用因此可以用DDS产生任意波形。产生任意波形。 DDS顶层设计顶层设计 图中加法器图中加法器add32和寄存器和寄存器reg32构成了相位累加器,构成了相位累加器,加法器加法器add12和寄存器和寄存器reg12构成了相位调制器。乘法器构成了相位调制器。乘法器mult用于调节用于调节DDS的步进频率,频率控制字和相位控制的步进频率,频率控制字和相位控制字分别由单片机控制键盘输入

20、,锁相环输出字分别由单片机控制键盘输入,锁相环输出40MHz的频的频率。波形存储器率。波形存储器sin_rom的输出和的输出和D/A转换器相连。转换器相连。2、ROM初始化数据文件生成初始化数据文件生成 初始化数据文件格式有初始化数据文件格式有2种:种:Memory Initialization File (.mif)格式文件,或格式文件,或Hexadecimal (Intel-Format) File (.hex) 格格式文件。生成初始化数据文件的方法通常有下面式文件。生成初始化数据文件的方法通常有下面几种。几种。(1)建立)建立.mif格式文件格式文件(2)建立)建立hex格式文件格式文件

21、(3)其他方法)其他方法3、宏功能模块的定制、宏功能模块的定制 选择选择ROM数据线地址线宽度数据线地址线宽度添加数据文件添加数据文件4、使用嵌入式逻辑分析仪在线测试、使用嵌入式逻辑分析仪在线测试 Quartus II软件具有软件具有SignalTap II嵌入式逻辑分析嵌入式逻辑分析仪,它提供了一种对器件进行实时测试的手段。仪,它提供了一种对器件进行实时测试的手段。SignalTap II嵌入式逻辑分析仪可以随设计文件一起下嵌入式逻辑分析仪可以随设计文件一起下载到目标芯片中,用以捕捉目标芯片中设计者感兴趣的载到目标芯片中,用以捕捉目标芯片中设计者感兴趣的信号节点处的信息,而不影响芯片的正常工

22、作。信号节点处的信息,而不影响芯片的正常工作。SignalTap II将测得的样本信号暂存于目标芯片的片内将测得的样本信号暂存于目标芯片的片内RAM(如(如ESB、M4K)中,然后通过器件的)中,然后通过器件的JTAG端口端口和和ByteBlaster II编程线将采得的信息传出,送入计算编程线将采得的信息传出,送入计算机进行分析。机进行分析。(1)新建)新建SignalTap II文件文件SignalTap II编辑窗编辑窗 (2)调入待测信号)调入待测信号 为了调入待测信号名,在下栏的空白处双击,即弹出为了调入待测信号名,在下栏的空白处双击,即弹出如图所示的如图所示的“Node Finde

23、r”对话框,根据需要在对话框,根据需要在“Filter”中选择感兴趣的类,然后单击中选择感兴趣的类,然后单击“List”按钮,即按钮,即在左栏出现与此工程相关的所有信号,可将欲查看的信号在左栏出现与此工程相关的所有信号,可将欲查看的信号调入调入SignalTap II信号观察窗口。信号观察窗口。 (3)设置信号)设置信号 单击全屏按钮和窗口左下角的单击全屏按钮和窗口左下角的“Setup”选项卡,即选项卡,即出现如图出现如图13.14所示的全屏编辑窗口。所示的全屏编辑窗口。 (4)SignalTap II文件存盘文件存盘 选择菜单选择菜单“Assignments”中的中的“Settings”,在

24、,在Category栏中选择栏中选择“SignalTap II Logic Analyzer”.在在“SignalTap II File”栏中选中已存盘的栏中选中已存盘的SignalTap II文件名,并选中文件名,并选中“Enable SignalTap II Logic Analyzer”,单击,单击“OK”按钮按钮 。(5)编译下载)编译下载 选择菜单选择菜单“Processing”中的中的“Start Compilation”,启动全程编译。编译结束后,启动全程编译。编译结束后,SignalTap II的观察窗通常会的观察窗通常会自动打开,若没有打开,可选择菜单自动打开,若没有打开,可选择菜单“Tools”中的中的“SignalTap II Logic Analyzer”打开。打开。 打开试验开发系统的电源,连接打开试验开发系统的电源,连接JTAG编程接口,设定编程接口,设定通信模式。通过通信模式。通过 “Se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论