0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

英创信息技术嵌入式Linux工控板EM9160介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-14 11:20 次阅读

嵌入式Linux主板EM9160主要应用之一就是可以作为智能终端的核心平台,智能终端总是带有一种显示单元。EM9160作为一种高效、低成本的产品解决方案,专门针对小型的单色LCD显示模块(分辨率通常在128×64至320×240),在嵌入式Linux下完成了LCD驱动程序,以实现对LCD屏读写操作,驱动程序可以实现直接对硬件访问、操作的功能,从而可以大大地加快了LCD屏的显示速度。

嵌入式Linux下LCD驱动简介

在嵌入式Linux环境下,LCD的驱动已自动加载,其设备文件名为“/dev/em9x60_lcd”。应用程序通过调用5个IOCTL命令来实现对于LCD屏的操作。

EM9X60_LCD_IOCTL_TYPE: 用于设置LCD屏类型。
EM9X60_LCD_IOCTL_LINE: 图形方式的操作,包括画点、画线以及画Bar条。
EM9X60_LCD_IOCTL_BLOCK:数据块显示操作,主要用于字模的显示。
EM9X60_LCD_IOCTL_CLEAR:清屏操作。
EM9X60_LCD_IOCTL_UPDATE:用于刷新LCD屏数据。

针对于画点、画线、画Bar条命令EM9X60_LCD_IOCTL_LINE需要用到以下结构:

struct lcd_line
{
unsigned int type; // = 0: point; = 1: line; = 2: bar
unsigned int x0;
unsigned int y0;
unsigned int x1;
unsigned int y1;
unsigned int color; // = 0: write '0'; = 1: write '1', = 2: xor operation
};

数据块显示操作命令EM9X60_LCD_IOCTL_BLOCK会用到struct lcd_block结构,该结构中的数据data[16]中每个data[n] 值是按照x方向排列的,x 方向的大小最多为8个bit;数据data[0] ~ data[15]是按照y方向排列的,一次最多写16个字节大小的数据。这种数据块结构可应用在写字模,或是公司专用图形LOGO上。

struct lcd_block
{
unsigned int x0;
unsigned int y0;
unsigned int xsize; // = 1 - 8; left alignment
unsigned int ysize; // = 1 - 16;
unsigned char data[16]; // block data to be copied
};

如写一个汉字字模为16X16点阵的数据,汉字模为ffont[32],可以用如下代码来实现:

LCD_WriteByteBlock( x, y, ffont, 16 );
LCD_WriteByteBlock( x+8, y, &ffont[16], 16 );

int LCD_WriteByteBlock( int x, int y, unsigned char* hfont, int NumOfBytes )
{
int rc;
unsigned int cmd;
struct lcd_block block;
int i1;

block.x0 = x;
block.y0 = y;
block.xsize = 8;
block.ysize = NumOfBytes;
for( i1=0; i1 {
block.data[i1]= hfont[i1];
}
cmd = EM9X60_LCD_IOCTL_BLOCK;

rc = ioctl(lcd_fd, cmd, &block );
if(rc < 0)
{
return rc;
}
return rc;
}

LCD应用API函数简介

为了方便客户的使用,在基于em9x60_lcd驱动基础上设计了一套通用的汉字及图形显示接口函数,这些函数均定义在LCD_API.H中。LCD_API函数提供了一系列对LCD屏进行画点、画线、画Bar条以及字符串(包括汉字和西文)显示的接口函数,一共包括了11个函数,关于各个函数的定义说明,可以参见LCD_AP.H头文件中的中文注释。其中的汉字支持为标准一级全汉字,为16×16点阵字模或12×12点阵字模,西文(字母、数字和符号)为8×14点阵字模,这两个字模文件分别为cclib、cclib12.fnt、ascii.chr,放置在EM9160工控板的根文件系统“/lib”目录中。

目前支持的LCD屏类型包括有:

LCD控制器类型 显示分辨率 简要说明
KS0108 128×64 最常用的LCD模块
T6963C 240×128 具有较大的显示窗口
SED1335 320×240
KS0108 192×64
UC1698U 160×160 电力集抄终端标准显示屏

在头文件LCD_API.H中的对应定义如下。

#define LCD_12864 1 // LCD 128×64 KS0108控制器
#define LCD_240128 2 // LCD 240×128 T6963C控制器
#define LCD_320240 3 // LCD 320×240 SED1335控制器
#define LCD_19264 4 // LCD 192×64 KS0108控制器
#define LCD_1601605 // LCD 192×64 UC1698U控制器

经过测试LCD的显示速率得到了大大的提高,以下为常用的两种LCD显示速率:

LCD控制器类型 显示分辨率 清屏速率 满屏字符显示速率
T6963C 240×128 10ms 20ms
UC1698U 160×160 9ms 12ms

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

    关注

    87

    文章

    11196

    浏览量

    208670
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6084

    浏览量

    35148
收藏 人收藏

    评论

    相关推荐

    嵌入式工控机如何使用?嵌入式工控机操作方法及注意事项

    嵌入式工控机作为现代工业自动化和控制系统中重要的硬件支持,广泛应用于生产线监控、轨道交通、电力能源等多个领域。其稳定性、可靠性以及适应恶劣环境的能力,使其成为许多行业的首选。那么,嵌入式工控
    的头像 发表于 10-18 10:02 155次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始
    的头像 发表于 09-02 09:11 334次阅读

    嵌入式linux开发怎么操作

    嵌入式Linux开发是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一
    的头像 发表于 09-02 09:09 301次阅读

    嵌入式linux开发芯片的工作原理

    嵌入式Linux开发是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。
    的头像 发表于 09-02 09:07 296次阅读

    飞凌嵌入式技术创新日(深圳站)精彩回顾

    工的分享,则更加侧重于嵌入式技术的研发和创新,为与会者提供了新的问题解决思路;最后,粤港澳大湾区国中心技术专家的温老师 介绍了openEu
    发表于 08-28 09:06

    聚徽-嵌入式工控机是如何散热的

    嵌入式工控机散热主要依赖于以下几种方式:
    的头像 发表于 08-14 09:21 288次阅读

    聚徽-嵌入式工控机在性能方面有什么优势

    嵌入式工控机,亦被称为 Box 整机或 Embedded Industrial Computer,是专为工业现场环境打造的紧凑型计算机。与普通工控机相比,嵌入式
    的头像 发表于 08-13 09:25 279次阅读

    嵌入式工控一体机的安装方法和使用注意事项?

    客户咨询嵌入式工控一体机的安装问题和维护问题,本文中为大家介绍一下嵌入式工控一体机的安装方法和使用注意事项。
    的头像 发表于 08-04 11:12 1071次阅读

    聚徽触控-嵌入式工控机与传统工控机有什么不同

    嵌入式工控机得到了飞速的发展,其应用领域也愈发广泛。在某些行业和场景中,传统的工控机已经被新型的嵌入式工控机所替代。如今,
    的头像 发表于 07-24 09:31 332次阅读

    什么是嵌入式工控机?它有哪些特点?

    随着工业自动化程度的不断提高,嵌入式工控机作为工业控制领域的重要设备,其地位和作用日益凸显。嵌入式工控机以其独特的设计理念和卓越的性能特点,在工业控制、智能制造等领域发挥着重要作用。本
    的头像 发表于 06-11 17:58 1189次阅读

    基于AMD、ARM、Intel和NVIDIA技术构建的嵌入式工控

    嵌入式工控机具有高度可定制性,可以满足所有行业的所有边缘计算任务。在AMD、ARM、Intel和NVIDIA等领先技术公司的支持下,我们拥有适用于所有工业应用的全系列经过预审的嵌入式
    的头像 发表于 05-22 17:13 485次阅读
    基于AMD、ARM、Intel和NVIDIA<b class='flag-5'>技术</b>构建的<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>机

    嵌入式工控机是什么?嵌入式工控机有哪些特点?技术特点是什么?

           嵌入式工控机是一种由工业设备生产的特殊单板计算机,就像个人计算机切片的功能一样,专门为某个行业设计。嵌入式工业计算机主要用于银行,工业智能设备和其他需要高可靠性和稳定性的领域。
    的头像 发表于 04-12 08:47 342次阅读

    嵌入式工控机性能特点 嵌入式工控机应用场景

    嵌入式工控机性能特点 嵌入式工控机应用场景 嵌入式工控机是一种专门设计用于工业控制系统的计算机设
    的头像 发表于 02-04 11:35 589次阅读

    嵌入式工控机与传统工控机的区别

    嵌入式工控机与传统工控机的区别  嵌入式工控机和传统工控机是两种不同类型的工业控制计算机设备,虽
    的头像 发表于 02-04 11:35 606次阅读

    无风扇嵌入式工控机的特征及结构

    无风扇嵌入式工控机是一种专门设计用于工业控制领域的计算机设备,其最大的特点就是采用了无风扇散热技术,不仅可以防尘、防潮、防振动等,还可实现宽温运行,具有更高的可靠性和稳定性。下面苏州研讯电子科技
    的头像 发表于 11-14 10:14 698次阅读
    无风扇<b class='flag-5'>嵌入式</b><b class='flag-5'>工控</b>机的特征及结构