历史上的今天
返回首页

历史上的今天

今天是:2025年12月21日(星期日)

2022年12月21日 | ARM11网络终端实时通信特性分析及LCD显示实现

2022-12-21 来源:elecfans

ARM11主频为533 MHz,最高可达667 MHz,较ARM7主频提高了10倍,且拥有更丰富的片上资源,处理速度更快,功能更强。基于上述特点,ARM11可完全适应实时性较强的网络终端的设计。


在以ARM11为核心的网络终端设计中,需要LCD在终端实时显示网络通信的各项参数和设备工作状态,LCD的显示内容依靠网络传输数据中的指令来控制,而网络终端的操作数据也要通过网络传输到计算机,因此网络通信和LCD显示需要很强的实时性才能合理使用计算机和ARM11的资源,从而提高系统的运行效率。


该文以ARM11处理器S3C6410为平台,基于Linux操作系统设计了一种在ARM11内核直接控制LCD显示的方法,并采用TCP/IP协议设计了一种同时作客户端和服务器的终端工作模式。


1 ARM11网络终端实时通信特性分析

1.1 数据流分析

在计算机与ARM11通信的系统中,计算机的处理速度比ARM11快很多,如将数据处理等工作量大的任务分配给计算机去处理,则可大大减少ARM11的资源消耗,ARM11就可以更快地去响应其他操作,因此为了减少ARM11显示任务的时间,可以将ARM11要显示图片的数据处理交给计算机,计算机按照ARM11显示的数据要求处理好数据后再通过网络传到ARM11再完成LCD的显示。此外,ARM11网络终端还要向计算机传输设备工作状态信息,计算机则还要向网络终端传输一些控制命令。


1.2 通信协议分析

网络通信必然涉及到通信协议的问题,目前普遍采用的网络协议有UDP协议和TCP/IP协议。在实时性要求较高的网络通信中希望能做到想发就发,有数据就收。两个协议中UDP比较符合这个要求,但是它不能保证数据传输的有效性,当数据较多时很可能会发生严重的丢包现象,尤其是像LCD显示的图片数据这类数据较大而且传输频繁的数据,可能会严重影响液晶显示这是不能被接受的。相比之下TCP/IP协议能够保证数据传输的有效性。

在TCP/IP协议ARM11网络终端作为服务器或者客户端是不能做到随时想发就发,有数据就收的,比如作为服务器接收完来自计算机的数据后,如果计算机断开了连接,那么网络终端再想向计算机发送数据,就必须等到计算机再次作为客户端向终端发起连接才行。为了解决TCP/IP协议的这种问题,本文设计了网络终端和计算机既作客户端又作服务器的双线程工作模式,在这种工作模式下终端和计算机随时能发起和断开连接,从而做到随时想发就发,有数据就收。


2 LCD显示的软件设计

2.1 LCD的显示方法分析

(1)基于Framebuffer驱动方式。在Linux下有完善的Framebuffer驱动程序,所以可以利用ARM11集成的LCD控制器采用Framebuffer控制LCD,Framebuffer是显示设备抽象为帧缓冲区,用户通过内存映射将其映射到进程地址空间之后,就可以直接进行读写操作,而操作可以直接反应到屏幕上。该方法反应速度快、执行效率高,应用程序简单,但是底层硬件驱动复杂,硬件变更后编写难度大,不易实现。不带控制器的LCD通常采用这种方法。

(2)直接读写GPIO驱动方式。目前有很多类型的液晶屏自带LCD控制器,ARM向控制器写控制指令和数据就可以完成对LCD的初始化和内容的显示。这种显示方法软件设计相对简单,占用的代码空间小,可以通过简单的控制芯片进行驱动。针对自带控制器的LCD,本文设计了直接读写GPIO驱动LCD的方法。该方法在底层驱动向LCD控制器和LCD的应用程序提供接口,LCD控制器的读写时序全部在底层驱动中完成,底层驱动向应用程序提供初始化接口和显示数据接口。该方法应用程序和内核的交互少,程序执行效率高。


2.2 LCD显示的实现

通过上述分析,本文设计直接读写GPIO驱动带LCD控制器的液晶屏,该方法的程序结构如图1所示。

ARM11网络终端实时通信特性分析及LCD显示实现

在底层驱动中主要包括以下几个函数:

(1)初始化函数s3c6410_inTI。该函数包括2部分的初始化:一是对ARM11用于同LCD控制器相连GPIO口控制寄存器的初始化,核心语句是writel(tmp,S3C64XX_GPICON),其中writel是驱动层的写函数,tmp是写入控制寄存器的数据,S3C64XX_GPICON是S3C6410中第I组GPIO口的控制寄存器,如果采用别的GPIO口就改用别的控制寄存器宏定义;二是对LCD控制器初始化。

(2)写数据函数s3c6410_WRData和写命令函数s3c6410_WRCommand。这2个函数按照具体LCD控制寄存器的写数据时序和写命令时序,完成对LCD控制器的写数据和写命令,向GPIO写数据的函数是writel(tmp,S3C64XX_GPIDAT),writel和tmp与上述相同,S3C64XX_GPIDAT是S3C64 10中第I组GPIO口的数据寄存器。

(3)显示函数s3c6410_LCDdisplay。该函数通过调用写命令函数和写数据函数到达在液晶屏上具体位置显示具体图片或文字的效果。

(4)系统调用接口函数s3c64xx_ioctl(structfile*file,int cmd,long int data)。该函数定义s3c6410_inTI和s3c6410_LCDdisplay2个函数接口通过系统调用iotcl(fd,1,xx)和iotcl(fd,2,xx),以供应用程序调用,应用程序使用iotcl(fd,1,xx)就可初始化结晶屏,只需要向s3c6410_LCDdisplay的接口iotcl(fd,2,xx)中写数据就实现了数据的LCD显示。


3 网络通信和LCD显示的整体设计

在网络通信和LCD显示的整体设计上,从LCD显示数据的有效性和网络系统工作的实时性角度出发,本文拟采用TCP/IP协议设计服务器和客户端双线程工作模式,液晶显示用直接读写GPIO的驱动方法,显示数据由计算机处理好后发送给ARM11客户端来实现。程序设计的流程图如图2所示。软件首先通过系统调用iotcl(fd,1,xx)调用函数底层驱动的液晶屏初始化函数初始化结晶屏,然后使用pthread_create()创建服务器线程和客户端线程。当线程建立后ARM11网络终端同时进入两个线程:服务器线程将一直等待客户端发起连接,当客户端有数据要发送时只要发起连接就能保证和它连接上,接收到客户端数据后用于LCD显示或者其他处理,处理完成后再回到等待客户端连接;客户端线程则一直扫描终端状态,一旦有数据需要发送给服务器就马上发起连接发送数据,数据发送完成后继续扫描。

ARM11网络终端实时通信特性分析及LCD显示实现

主程序核心代码如下:

ARM11网络终端实时通信特性分析及LCD显示实现

4 系统运行效果分析

在系统中网络终端和计算机的服务器线程一直处于工作状态,这样就保证了任何一端随时能作为客户端发起链接并链接成功,换个角度任何一端也能够随时收到客户端发送过来的数据,这样就实现了想发就发,有数据就收,达到了实时网络通信的实时性要求。

ARM11网络终端上,将液晶显示的图片数据交由计算机处理,大大减少ARM11的处理时间,使得响应按键、开关等的速度更为迅速。LCD显示上采用直接读写GPIO,LCD控制器的读写时序全部在底层驱动中完成,应用程序和内核的交互少,试验证明内核的执行速度在数量级上大于应用程序的执行速度,程序运行效率高。


5 结语

ARM11嵌入式系统以其体积小、处理速度快、功能强的特点,能实现实时性要求较高的网络组网和网络通信,从而进一步开拓了嵌入式系统的应用前景。本文通过设计TCP/IP协议服务器客户端双线程工作模式和直接读写GPIO驱动LCD,并将显示图片由网络交给计算机处理,提高了实时网络通信的可靠性和实时性,充分利用了计算机和ARM11的资源。同时该设计可移植性强,可应用到其他网络终端的工作,对ARM11嵌入式系统的应用具有借鉴意义。


推荐阅读

史海拾趣

CIRCUITCO公司的发展小趣事

随着技术的不断进步,CIRCUITCO公司开始寻求市场拓展的机会。公司积极与国内外知名电子产品制造商建立合作关系,为其提供优质的电路板解决方案。通过与这些企业的合作,CIRCUITCO的产品逐渐渗透到各个领域,如通信、计算机、消费电子等。同时,公司也通过参加国际电子展会等方式,提升品牌知名度,进一步拓展市场份额。

BOOKLY公司的发展小趣事

BOOKLY公司非常重视人才培养和团队建设。公司不仅为员工提供优厚的福利待遇和广阔的职业发展空间,还积极开展各种培训和学习活动,提升员工的专业技能和综合素质。同时,BOOKLY还注重团队文化建设,倡导团结协作、创新进取的精神。这些举措使得BOOKLY的团队凝聚力不断增强,为公司的发展提供了有力的人才保障。

Anpec(茂达)公司的发展小趣事

为了适应全球化的市场趋势,茂达电子制定了全面的全球化战略。公司不仅加强了与国际市场的联系,还积极寻求与国际知名企业的合作机会。同时,茂达电子还加大了对海外市场的投入,通过设立海外分支机构、参加国际展会等方式,不断提升品牌知名度和市场影响力。

这五个故事只是Anpec(茂达电子)发展历程中的一部分,但它们充分展示了茂达电子在电子行业中的崛起和成就。作为一家具有创新精神和市场洞察力的企业,茂达电子将继续致力于为客户提供优质的产品和服务,推动电子行业的持续发展。

CONEXANT公司的发展小趣事

在语音通信领域,Conexant以其卓越的声卡技术赢得了市场的广泛认可。特别是在网络语音电话方面,Conexant声卡凭借其出色的性能和稳定性,成为了众多商务本和工作站的首选。惠普、联想等知名品牌的产品线中,都能看到Conexant声卡的身影。这一成功不仅源于Conexant对技术的持续投入和创新,也得益于其对市场需求的敏锐洞察和精准把握。

Fairchild公司的发展小趣事

1965年,Fairchild公司的创始人之一戈登·摩尔提出了著名的“摩尔定律”。该定律预测了集成电路上晶体管数量的增长速度,即每两年翻一番。这一预测在之后的几十年里得到了惊人的验证,并成为了电子行业的重要指导原则。摩尔定律的提出不仅推动了半导体技术的快速发展,也促进了计算机和其他电子设备的不断升级换代。

ECLIPTEK公司的发展小趣事

随着全球对环保问题的日益关注,ECLIPTEK公司积极响应环保号召,将绿色环保理念融入其产品研发和生产过程中。公司采用环保材料和清洁能源,减少生产过程中的废弃物和污染物排放。同时,ECLIPTEK还积极参与环保公益活动,推动电子行业的可持续发展。

问答坊 | AI 解惑

程序中的问题

if(i_st & D12_INT_BUSRESET) {      bus_reset();      bEPPflags.bits.bus_reset = 1;             i_st &= ~D12_INT_BUSRESET; } 就截这么一段程序不 ...…

查看全部问答>

有谁能解释下NK.ROM吗

我记得在做ARM9 S3C2410/S3C2440的BSP时,生成是NK.BIN和NK.NB0. 但现在做ARM11 tcc8900时,生成是NK.ROM. 哪位大哥能解释下吗?…

查看全部问答>

菜鸟求教,51的符号数比较大小问题

判断两个带符号数大小,我教材这样写,没看懂,帮忙解释一下啊 X-Y为正: OV=0,则X>Y OV=1,则X…

查看全部问答>

关于“PIC开发环境”

http://sanhengxing.com/xzindex.asp 的资源下载,各位兄弟有要的吗? …

查看全部问答>

一个nmake的编译错误,请问是怎么回事。谢谢。

***** COMPILING source\\pp_main.c MS-DOS C51 COMPILER V4.10 - Serial Number 83205779 Copyright (c) Franklin Software, Inc. 1991 - 1993 *** ERROR 318 IN LINE 0: can\'t open file \'SOURCE\\PP_MAIN.C\' C51 COMPILATION COMPLETE.&n ...…

查看全部问答>

除数不是2的幂资源就占用很大

如题,我想除833333,直接除的话占用大概1000多逻辑单元,如果是除1048576(2的20次幂)则资源占用很少,但这样精度不够,应该怎么解决?…

查看全部问答>

430 I/O中断疑问

#include int main(void) {   WDTCTL = WDTPW | WDTHOLD;                 // Stop watchdog timer   P1DIR |= BIT0;        &nb ...…

查看全部问答>

招聘FPGA、专利、pcb工程师

专利工程师 岗位职责: 1、进行专利技术检索,对研发人员提供专利咨询和指导。 2、对公司研发技术进行专利挖掘并对专利布局进行分析。 3、专利侵权分析,协助律师处理专利诉讼等专利法律事宜。   4、辅助技术团队进行专利编写, ...…

查看全部问答>

奇葩招聘要求:处女座的免谈 QQ25级以上的不要

看看这个招聘条件,真是奇葩了,,什么样的招聘条件都有,真是网络社会了,,找工作的亲们,,该全面发展了  有的单位对QQ等级也有要求  小王,杭州职业技术学院的毕业生,他告诉记者,自己在参加一家公司的淘宝客服招聘时,对方把QQ等级高作为 ...…

查看全部问答>