基于CPLD的LED点阵控制单元_第1页
基于CPLD的LED点阵控制单元_第2页
基于CPLD的LED点阵控制单元_第3页
基于CPLD的LED点阵控制单元_第4页
基于CPLD的LED点阵控制单元_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、LogoLogo基于基于CPLD的汉字的汉字LED点阵控制单元点阵控制单元报告人:汪睿报告人:汪睿 项目概述报告内容报告内容1 CPLD整体方案2 各模块功能介绍3 综合仿真 4 上电测试5项目概述项目概述 本项目要实现的主要功能是:首先,单片机通过SPI总线从字模芯片中取出汉字的编码,然后通过IIC总线将汉字编码送到CPLD芯片,CPLD通过IIC模块接收编码,然后通过解码模块进行解码,解码后的数据存储到CPLD内部RAM中,最后由显示控制模块将RAM中的数据送到LED点阵上显示。 我主要负责的是CPLD芯片的设计,包括模块划分、RTL代码编写(约700行)、综合布线、布局布线后仿真以及上电

2、调试。单片机字模芯片CPLD16*64LED点阵其它设备项目概述项目概述CPLD引脚分配图CPLD与LED点阵行、列信号联接电路整体功能整体功能 CPLD采用的是Lattice公司的LCMXO2-1200-4TG100C型,包含1280个LUT,64个宏单元,7个9Kbit的EBR以及内部时钟单元OSCI,封装方式TQFP100。 CPLD的主要功能模块有IIC通讯模块、数据解码模块、RAM以及显示控制模块,采用的内部时钟(2.08MHz)。首先,IIC通讯模块接收IIC总线上的数据,并将数据送到数据解码模块。数据解码模块对数据进行解码操作,并在LOAD信号的下降沿将解码后的数据送到RAM储存

3、起来。显示模块将RAM中的数据送到LED的行和列进行显示,显示方式采用逐行扫描(1/16)。IIC通讯模块数据解码模块SDASCLRAM显示控制模块行信号列信号CPLD整体功能框图地址管脚LOADRSTOSCICLKIIC通讯模块通讯模块 IIC通讯模块负责接收单片机送过来的汉字编码。首先,在等待状态判断IIC总线上的START信号(SCL为高,SDA出现下降沿)。检测到START后,开始接收8bit的地址数据,将接收到的地址与地址管脚对比,如果地址正确则反馈一个应答ACK,否则返回等待。然后开始持续接收数据,每接收一个字节Byte,反馈一个应答ACK,并将接收到的Byte送到解码模块。这个过

4、程一直持续到IIC总线出现STOP(SCL为高,SDA出现下降沿),则停止接收数据并返回到等待状态。整个过程通过状态机来实现。START地址匹配等待YesNoACK数据接收(Byte)送入解码应答STOPNoYes数据解码模块数据解码模块012.7byte1byte2.byte15byte16byte17byte18.byte31一个汉字显示在16*16点阵上。IIC总线按照右图顺序传送显示信息,第一个字节是第一列的0到7行,第二个字节是第二列的0到7行,.,第三十二个字节是第十五列的8到15行。所以要实现行扫描显示,必须对接收到的数据进行重构,类似于解码操作。 IIC通讯模块送过来的字节数据

5、首先按顺序存入寄存器A中,当寄存器A存满16个字节时,立刻将寄存器A中数据复制到寄存器B,然后寄存器A继续按顺序接收后面的数据。 寄存器B收到寄存器A复制的数据后,开始将每个字节的第一个bit存入Block1的地址0,将每个字节的第二个bit存入Block1的地址1,直到将寄存器B中数据全部写入Block1中。然后第二次寄存器A复制到寄存器B的数据写入到Block2中。依次下去. Block1是RAM0中地址0到15部分,Block2是RAM0中地址16到31部分,.,Block8是RAM3中地址16到31部分。RAM0到RAM3分别对应4个汉字的显示信息。数据解码模块数据解码模块012345

6、67Byte1Byte2Byte3IIC寄存器A.Byte1501234567Byte1Byte2Byte3.Byte15寄存器BBlock1Block3Block2Block4Block5Block6Block7Block8模块构成:寄存器A、寄存器B、4个16*16RAMRAM0RAM1RAM2RAM3Block10 1 2 3 4 5 6 7. 15A0A1.A7数据解码模块数据解码模块Block1Block3Block2Block4Block5Block6Block7Block8RAM0RAM1RAM2RAM30 1 2 3 . 63A0A1.A1516*64RAMLOAD 当LOAD

7、信号下降沿到来后,将RAM0到RAM3中的数据依次合并,然后写入RAM的对应地址中。例如,RAM0中地址0的数据+RAM1中地址0的数据+RAM2中地址0的数据+RAM3中地址0的数据=写入RAM地址0的数据。直到数据全部写入RAM。显示控制模块显示控制模块0 1 2 3 . 63A0A1.A1516*64RAM16*64LED点阵L0L1.L15 采用逐行扫描的方式进行显示。首先选中地址A0,然后读取RAM中地址A0的值,同时选通点阵的L0行,然后地址A0的值送到LED的列管脚,等待一段时间。选中地址A1,读取A1的值,选通L1行,将值送到LED列管脚,等待一段时间。依次循环往复,实现逐行扫描。综合仿真综合仿真 使用Synplify进行代码综合,然后编写激励文件testbench,使用ActiveHDL进行综合后仿真,仿真结果和预期一致。 使用Lattice的Diamond软件进行布

温馨提示

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

评论

0/150

提交评论