新闻中心

EEPW首页>消费电子>设计应用> 一种蓝牙无线显示屏系统的设计方案

一种蓝牙无线显示屏系统的设计方案

作者: 时间:2014-06-27 来源:网络 收藏

  3系统软件设计

本文引用地址://m.amcfsurvey.com/article/248952.htm

  系统软件同样分为主机部分和显示终端部分。这里主要分析显示终端部分软件的设计,主机部分与其类似。显示终端部分程序包括: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液晶屏上面。源程序带有显示字库文件,该文件通过编译并嵌入可执行代码,然后下载到显示终端文件系统。系统这里只添加了英文字库和对应的显示代码,可以正常显示英文字符。如果需要,通过添加中文字库和少量显示代码就可以很方便地实现中文字符的显示。图像部分程序则是将接收到的位图数据通过frambuffer显示接口直接显示到LCD液晶屏上面。

  为了在显示终端的Linux操作系统上使用蓝牙协议栈,需要在交叉编译嵌入式Linux内核时将所需的蓝牙支持选项选上,并将所需的Bluez蓝牙库编译安装到终端文件系统中。用户应用程序同样通过交叉编译得到可执行代码,然后下载到终端文件系统运行。

  该系统可以应用在公共信息显示屏,如大厅广告信息屏、建筑物提示标志等地方,可以避免有线连接的缺陷。系统通过扩展后还可以同移动电话、PDA、无线耳机、无线扬声器交换数据。

  4结论

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

蓝牙技术相关文章:蓝牙技术原理

上一页 1 2 下一页

关键词:蓝牙ARM9S3C2440A

评论


相关推荐

技术专区

关闭