当前位置:首页 > 通信技术 > 通信技术
[导读] 摘要:描述蓝牙技术在嵌入式显示屏终端上的应用,详细介绍蓝牙无线显示屏系统主机和显示终端的软硬件设计。该系统的显示终端以ARM9芯片为控制核心,无线收发部分采用BlueCore4蓝牙模块。在Linux操作系统的Bluez蓝牙


    主机部分由装有Linux操作系统的PC机和BlueCore4蓝牙模块通过USB接口连接组成。
    显示终端由以ARM9微控制器S3C2440A为核心的嵌入式Linux平台加上BlueCore4蓝牙模块以及LCD液晶显示屏组成。Linux操作系统安装在NAND Flash中,并连接了64 MB的外扩RAM。由于S3C2440A接口比较丰富,所以系统硬件具有较好的扩展性能。
    系统通过蓝牙协议栈的RFCOMM协议层进行通信。RFCOMM协议提供串行数据传输,并能在2台蓝牙设备之间同时维持多达60个连接,可以同时支持遗留串行端口应用程序以及其他应用程序中的OBEX协议。蓝牙协议栈的结构框图如图2所示。


    系统的工作过程为:系统初始化以后,主机和显示终端建立蓝牙连接。连接成功以后,主机应用程序通过蓝牙模块向显示终端发送显示的命令,显示终端根据对应命令进行接收图像数据或者字符数据等操作,然后通过LCD控制器将数据发送到LCD液晶显示屏。系统连接成功以后,显示终端可以根据收到的数据实时地显示不同的图像和字符数据,直到主机发出退出命令系统后结束通信。

2 系统硬件设计
    主机端和显示终端都使用了CSR公司BlueCore4-ROM芯片组成的蓝牙无线收发模块。BlueCore4系列符合2.0版蓝牙标准,并与现有1.1版和1.2版蓝牙设备完全兼容。这里采用的BlueCore4-ROM芯片具有很高的集成度,需要很少的外围元件。它提供了UART、USB2.O等主机接口,并且提供了PC2M音频接口以及SPI接口。具有支持微微网和散射网,低功耗,和手机良好兼容,可以和802.11协议共存等优点。BlueCore4蓝牙模块结构如图3所示。


    PC主机使用USB接口和BlueCore4蓝牙模块连接,对应的蓝牙模块同样通过USB接口和S3C2440A的USB-HOST接口进行连接。USB接口具有即插即用的优点。通过Linux操作系统的支持,该模块还可以使用通用的USB蓝牙适配器替代。Bluecore4蓝牙模块部分参考电路原理如图4所示。


    LCD液晶屏和S3C2440A微控制器之间通过S3C2440A内建的LCD控制器接口进行连接。LCD液晶屏这里采用了3.5 in的L35T32,该液晶屏显示像素为240×320,可显示16位色彩,并可以方便地扩展为更大尺寸的液晶屏。S3C2440A的USB-HOST接口和LCD控制器接口部分参考电路原理如图5所示。LCD控制器接口连线主要包括:VDO到VD23(R、G、B三色分色信息),VCLK(数据传输时钟),HSYNC(行同步信号),VSYNC(场同步信号),VDEN(数据使能),LCD_PWREN(显示使能)。


3 系统软件设计
    系统软件同样分为主机部分和显示终端部分。这里主要分析显示终端部分软件的设计,主机部分与其类似。显示终端部分程序包括:LCD液晶屏初始化,蓝牙设备的初始化,蓝牙连接的建立和图像字符数据的传输显示等几个部分。程序流程如图6所示。


    用户程序以Linux操作系统上的Bluez蓝牙协议栈为平台进行开发。主机应用程序采用GCC编译器进行编译,显示终端应用程序采用arm-linux-gcc编译器进行交叉编译。
3.1蓝牙部分程序设计
    该部分采用了蓝牙socket编程。通过建立蓝牙RFCOMM协议层的socket进行连接。连接建立成功之后可以调用函数recv或者read读取主机发来的数据,主机端则对应地采用函数send或者write发送数据。通信结束之后可以调用函数close结束连接。
    主机和显示终端蓝牙模块都有固定的蓝牙地址,主机端直接和固定蓝牙地址的显示终端设备进行连接。一台主机可以和多个显示终端进行通信,在不同的显示终端上显示图像和字符。
    蓝牙初始化部分参考程序如下:

3.2 LCD液晶屏部分程序设计
    LCD液晶屏部分程序采用了Linux内核驱动程序的framebuffer编程接口。framebuffer为图像硬件设备提供了一种抽象化处理,允许应用程序通过定义明确的界面来访问图像硬件设备。软件无须了解任何涉及硬件底层驱动的东西。通过framebuffer,应用程序可以用mmap函数把显存映射到应用程序虚拟地址空间,将要显示的数据写入内存空间就可以在屏幕上显示出来。LCD显示屏初始化和清屏部分参考程序如下:


    LCD液晶屏初始化和蓝牙socket初始化连接完成以后,便可以通过蓝牙发送图像和字符数据。蓝牙接收显示图像和字符两个部分的程序类似,都是通过调用函数recv或者read读取主机发来的命令,经过程序判断然后以相同的方式接收数据。字符部分数据接收和显示参考程序如下:


    该段程序利用接收到的字符数据得到对应的显示字库数据,然后通过frambuffer显示接口显示到LCD液晶屏上面。源程序带有显示字库文件,该文件通过编译并嵌入可执行代码,然后下载到显示终端文件系统。系统这里只添加了英文字库和对应的显示代码,可以正常显示英文字符。如果需要,通过添加中文字库和少量显示代码就可以很方便地实现中文字符的显示。图像部分程序则是将接收到的位图数据通过fram-buffer显示接口直接显示到LCD液晶屏上面。
    为了在显示终端的Linux操作系统上使用蓝牙协议栈,需要在交叉编译嵌入式Linux内核时将所需的蓝牙支持选项选上,并将所需的Bluez蓝牙库编译安装到终端文件系统中。用户应用程序同样通过交叉编译得到可执行代码,然后下载到终端文件系统运行。
    该系统可以应用在公共信息显示屏,如大厅广告信息屏、建筑物提示标志等地方,可以避免有线连接的缺陷。系统通过扩展后还可以同移动电话、PDA、无线耳机、无线扬声器交换数据。

4 结论
    在嵌入式Linux操作系统上通过已有的蓝牙协议栈进行蓝牙开发,通过蓝牙协议层无线收发数据,可以不用关心蓝牙底层驱动的实现。用户可以通过各种上层协议进行更复杂的通信,通过蓝牙SCO协议层还可以发送音频数据。因此嵌入式Linux操作系统平台上进行蓝牙无线显示屏系统的开发较为方便,并且具有扩展性能好的优点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭