1 基于FPGA芯片与NIOSⅡ实现液晶模块显示万年历的设计-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA芯片与NIOSⅡ实现液晶模块显示万年历的设计

电子设计 来源:郭婷 作者:电子设计 2019-01-07 08:18 次阅读

1 引言

SOPC代表了当今电子设计的发展方向,它可以将处理器、存储器、I/O接口硬件协处理器和普通的用户逻辑等系统设计需要的功能模块都集成到一个FPGA芯片里,构建一个可编程的片上系统。它具有软硬件可重构、剪裁和编程等功能,由于同时涉及底层的硬件系统设计和相应的软件设计,在系统优化方面有了前所未有的自由度。

现在的电子万年历多数采用基于单片机的控制技术,可移植性较差,集成度较低,本文以杭州康芯电子有限公司生产的GW48-PK 系统的64×64 点阵型液晶显示模块LCD GDM12864A 为例,利用NIOSⅡ软核在Altera公司的CycloneEP1C6Q240C8 芯片中,既能实现用户定制的处理器,又能对液晶显示模块和数码管显示进行编程控制。本文在软、硬件开发过程中,通过利用SOPC技术,缩短设计开发周期,节约开发成本,优化性能和资源。

本文以万年历设计为例,使读者初步了解SOPC的开发过程。

2 系统硬件设计

在系统的硬件设计中,FPGA 内部各模块设计是本系统硬件设计的核心技术。FPGA 内部各模块是利用ALTERA 公司的Quartaus Ⅱ开发软件中的SOPC builder 工具对CPU 进行定制,包括CPU 的数据和指令Cache 的大小、CPU 寄存器数量(NIOS Ⅱ 最多可以有512 个寄存器)等。用户可以增加新的外设,新的指令,分配外设的地址等进行定义,完成SOPC 开发的集成过程。将这些设计在Quartaus Ⅱ中编译并生成sof 格式文件后,下载到FPGA 芯片中就形成了SOPC 的嵌入式系统硬件平台。

对万年历设计来说,需要将本设计所需要的外设添加到NIOS 软核中。NIOS Ⅱ自带的各种IP Core 如按键、七段数码管、LED 等可以直接添加进来。对于LCD,由于SOPC builder 自带的IP 库中并不包含LCD 配置接口模块,所以该模块需要设计者根据要配置的芯片的寄存器特点和功能要求进行专门的设计。本系统的LCD 液晶屏显示器驱动接口在设计时作为普通的外部设备PIO 进行操作,因此液晶屏显示器的数据以及读、写和片选信号等都包括在PIO 总线上。液晶屏显示器以7 个PIO 的形式添加进来,如图1 所示利用SOPC builder 开发工具创建用户定制的NIOSⅡ配置及其地址映射。

基于FPGA芯片与NIOSⅡ实现液晶模块显示万年历的设计

然后,用SOPC Builder 将定制转化成为具体的元件,即用户定制的NIOS Ⅱ处理器模块,如图2 所示。最后加入增强时钟稳定性的锁相环和复位输入端最终形成顶层结构,除此之外,SOPC builder 还根据定制的结果,自动生成针对特定硬件环境的C 语言和汇编语言的头文件以及函数库,这在软件设计中会极大的减少软件开发人员的工作量。

基于FPGA芯片与NIOSⅡ实现液晶模块显示万年历的设计

3 系统软件设计本系统的软件是在ALTERA 公司提供的软件集成开发工具NIOS Ⅱ IDE 中,以C 语言形式,在硬件抽象层(HAL )函数支持下设计的。它可完成整个软件工程的编辑、编译、调试和下载等过程,极大地提高了软件的开发效率。系统的软件设计主要包括两个部分:液晶显示模块和万年历模块。

(1)液晶显示模块

在GDM12864A 液晶屏显示器的应用时,显示屏被分为左右两个区,上下一共八页,在进行访问时,由于纵坐标不好控制,而横坐标自动加一,因此选择由page0—page7 逐行写入数据。即对于32×32 的“万年历”三个字将分4 次写入。而“作者:刘雅斌”这几个16×16 的字符将分两次写入。每个汉字在液晶屏上是以点阵字模形式显示的,每个点用一个二进制位表示。关键算法是利用NIOSⅡ函数控制液晶屏显示器写命令和写数据。写命令和写数据程序如下所示:void LCD_Write_Command(alt_u8 m_Command) // 写命令{ if (!BUSY)

{ IOWR_ALTERA_AVALON_PIO_DATA(LCD_RS_BASE, 0);// 选择命令 IOWR_ALTERA_AVALON_PIO_DATA(LCD_RW_BASE, 0); // 写信号有效 IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff); 数据总线:输出 IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, m_Command); 写命令字 IOWR_ALTERA_AVALON_PIO_DATA(LCD_E_BASE, 1); // 使能信号置1 IOWR_ALTERA_AVALON_PIO_DATA(LCD_E_BASE, 0); // 使能信号置0

}} void LCD_Write_Data(alt_u8 m_Data) //写数据{ if (!BUSY)

{ IOWR_ALTERA_AVALON_PIO_DATA(LCD_RS_BASE, 1);// 选择数据 IOWR_ALTERA_AVALON_PIO_DATA(LCD_RW_BASE, 0); // 写信号有效 IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff); // 数据总线:输出 IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE, m_Data);// 写入数据 IOWR_ALTERA_AVALON_PIO_DATA(LCD_E_BASE, 1);// 使能信号置1 IOWR_ALTERA_AVALON_PIO_DATA(LCD_E_BASE, 0);// 使能信号置0

}}

(2)万年历模块

这一部分主要实现了万年历的基本功能,即能够显示日期与时间,并具有调整日期和时间的功能。Nios 提供了关于LED、七段数码管和按键进行读写的函数,通过这些函数可以实现日期和时间的显示。例如:

在LED 上输出显示data 数据的语句格式为:

IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,data);

在七段数码管上输出显示data 数据的语句格式为:

IOWR_ALTERA_AVALON_PIO_DATA(SEVEN_SEG_PIO_BASE,data);

用变量key 读取按键BUTTON 上的数据的语句格式为:

Key=IORD_ALTERA_AVALON_PIO_DATA(BUTTON_PIO_BASE);

以上程序经过在杭州康芯公司的开发板上进行了软、硬件调试,实现了对液晶模块的万年历和作者信息等汉字字符显示,并在LED 上实现了万年历的功能,并能够进行日期和时间的调整。

3 结论

本文作者创新点是采用NIOS Ⅱ集成开发环境提供的快捷开发手段,在Cyclone 1C6Q240C8 芯片上创建了一个用户定制CPU 和外设的片上系统,同时完成对液晶显示器和LED 的编程控制。整个系统充分体现了SOPC 设计方法的灵活性,设计时只定制系统需要的外设器件接口,避免过多的外围电路和器件造成体积、功耗的增多和可靠性的下降。由于采用软核结构,方便系统的升级和扩展,而不必硬件改版,节约了成本,加快开发进度,缩短了产品的开发周期。

综上所述,万年历的设计思想新颖独特,有很多创新之处,具有良好的推广前景和广阔的应用领域.。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602955
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120224
  • 液晶模块
    +关注

    关注

    0

    文章

    82

    浏览量

    21659
收藏 人收藏

    评论

    相关推荐

    2025全球半导体八大趋势,万年芯蓄势待发

    的推动下,半导体行业正迎来新的繁荣景象。万年芯作为业内芯片封装测试知名企业,正蓄势待发,以科技产品推动国产替代,以减少对外依赖,增强国内产业的自主可控能力。八大趋势
    的头像 发表于 12-17 16:53 345次阅读
    2025<b class='flag-5'>年</b>全球半导体八大趋势,<b class='flag-5'>万年</b>芯蓄势待发

    万年芯:芯片管制再升级,国产替代已是必然

    美国芯片,对无理打压重拳回应。作为深耕行业的知名半导体企业,万年芯认为国产替代已是必然,旗下碳化硅SiC功率模块、智能压力传感器等产品优势明显,为业内提供了新思路
    的头像 发表于 12-05 17:59 435次阅读
    <b class='flag-5'>万年</b>芯:<b class='flag-5'>芯片</b>管制再升级,国产替代已是必然

    基于FPGA的LCD1602液晶显示模块驱动设计

    本文通过以LCD1602液晶显示模块为基础,介绍FPGA驱动LCD1602原理,详细介绍硬件原理图设计及FPGA驱动LCD1602软件设计,通过万年
    的头像 发表于 10-24 14:42 1071次阅读
    基于<b class='flag-5'>FPGA</b>的LCD1602<b class='flag-5'>液晶显示</b><b class='flag-5'>模块</b>驱动设计

    TG2518芯片万年历原理图

    TG2518芯片万年历原理图
    发表于 09-30 11:11 6次下载

    央企引领芯片创新,万年芯助力重点领域突破

    重点领域,央企将带头使用创新产品。在万年芯看来,这无疑为我国的科技创新注入了强大的动力。指导意见提到,在卫星导航、芯片、高端数控机床、工业机器人、先进医疗设备等科
    的头像 发表于 08-14 13:58 727次阅读
    央企引领<b class='flag-5'>芯片</b>创新,<b class='flag-5'>万年</b>芯助力重点领域突破

    用免费PCB,做了个桌面摆件!网友:怎么回事,好想复刻!

    工程名称:CC温湿度仪&时钟&万年历前言用ESP32做了个桌面小摆件!然而!让小编没想到的是,它的评论区,居然有这么多人交作业!这个开源项目,堪比一个大型训练营啊!这不得分享给创友们
    的头像 发表于 07-07 08:04 75次阅读
    用免费PCB,做了个桌面摆件!网友:怎么回事,好想复刻!

    液晶模块是什么?液晶模块液晶显示屏有什么区别?

    在电子显示技术日益发展的今天,液晶显示技术以其独特的优势占据了市场的主导地位。液晶模块液晶显示屏作为液晶显示技术的两大核心组件,虽然联系紧
    的头像 发表于 03-29 09:45 1229次阅读

    如何通过蓝牙获取手机时间同步时钟RTC万年历走ble或者edr经典蓝牙

    KT6368A支持连接手机获取手机的时间信息,可以同步时钟 无需安装任何app,直接使用系统蓝牙即可实现 走的就是edr的经典蓝牙 同时它不影响音频蓝牙,还能保持低功耗的运行 实现的方式就是手机连接好蓝牙芯片KT6368
    的头像 发表于 03-17 19:30 1115次阅读
    如何通过蓝牙获取手机时间同步时钟RTC<b class='flag-5'>万年历</b>走ble或者edr经典蓝牙

    【原创】基于51单片机的DS1302电子钟万年历(带闹钟)(Proteus仿真+C语言+原理图论文)

    电子万年历系统以AT89C52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和DS18B20温度传感器,完成时间和温度的读取,全部信息由LCD1602液晶实时显示。 日历
    发表于 03-15 16:17

    图形液晶显示模块的使用方法

    然而,当尺寸超过 QVGA 时,大多数 LCD 模块都没有内置显存。当然,3000日元的液晶不像300日元的液晶那样内置显存。因此,为了使用这种类型的LCD模块,需要外接
    发表于 02-02 16:58 448次阅读
    图形<b class='flag-5'>液晶显示</b><b class='flag-5'>模块</b>的使用方法

    字符液晶模块灰度显示

    正如STN液晶面板试玩中所解释的,STN液晶显示器的灰度显示是通过逐帧的点ON/OFF比例控制(所谓的PWM)来进行的。由于STN液晶的反应较慢,ON/OFF以平均浓度
    发表于 02-02 16:54 402次阅读
    字符<b class='flag-5'>液晶模块</b>灰度<b class='flag-5'>显示</b>

    基于51单片机的1602显示带闹钟万年历设计

    德赢Vwin官网 网站提供《基于51单片机的1602显示带闹钟万年历设计.rar》资料免费下载
    发表于 01-12 09:34 28次下载

    基于51单片机的万年历设计要求

    德赢Vwin官网 网站提供《基于51单片机的万年历设计要求.rar》资料免费下载
    发表于 01-12 09:24 7次下载

    基于51单片机的万年历设计

    德赢Vwin官网 网站提供《基于51单片机的万年历设计.rar》资料免费下载
    发表于 01-03 11:22 17次下载

    基于51单片机的1602显示带闹钟万年历设计

    德赢Vwin官网 网站提供《基于51单片机的1602显示带闹钟万年历设计.rar》资料免费下载
    发表于 01-03 11:16 4次下载