娱乐功能:终端提供了强大的娱乐功能,包括:听音乐、阅读电子书、观看菜品制作过程视频等等。顾客在等餐的过程中,可以通过触摸屏选择这些娱乐功能,缓解等餐过程中焦急的心情,也达到了放心愉快用餐的目的。
语音留言和播放:顾客在用餐结束后,对餐厅的反馈意见可以通过语音的形式,由麦克风输送给音频解码芯片AD1836,经过音频A/D采样、量化、解码后,存储在SDRAM中,之后通过存储在NAND Flash中,实现用户意见的保存。餐厅经营者可以通过菜单把用户的语音留言播放出来,根据用户的意见。
网络功能:系统扩展了LAN91C111作为网络主控芯片。在软件上,在VDK内核的基础上移植了LWIP作为网络主要结构,实现了TCP/IP在ADSP-BF561上的移植[4],完成了C-S(客户端-服务器)模型下的网络Socket的建立、连接、传输、断开等功能。并且,在标准的TCP/IP的基础上,开发了应用层协议,实现了点餐终端与上位机电脑直接的数据的传输。
软件设计
ADSP-BF561上实现的软件通过采用VDK创建线程,线程之间通过信号量(semaphore)和消息(message)来传递信息和完成线程的同步。利用硬件标志(device flag)来完成外设和DSP的同步。利用中断和中断嵌套来处理DMA以及突发事件。通过对每个应用程序创建一个线程,用线程的优先级和消息进行互相的调度和管理,并且,编写ADV7183,AD1836及LAN91C111等设备的驱动,用优先级管理中断服务程序,调用VDK的API函数。双核软件结构示于图2。
程序采用了菜单结构,上电初始化后显示主菜单,通过用户的对触摸屏的点击,开始显示二级子菜单,然后用户可以返回上级菜单和跳转到下级子菜单。程序最多有5级菜单,为用户提供了一个良好的人机交互的界面。主程序流程示于图3。
在网络传输点餐信息方面,DSP端程序主要是在VDK内核上通过LWIP移植了TCP/IP协议簇。VDK作为一个同Visual DSP++一起发售的内核,很好地集成到了 VisualDSP++中。在VDK的基础上,通过开发Socket服务器程序,实现了点餐信息的网络传输及网络点餐的功能。
程序的加载是指把程序固化在FLASH中,在上电后,程序能脱离开仿真器独立的加载和运行,这一步是任何一个产品开发过程中必须做到的工作。ADSP-BF561的加载过程非常的复杂,主要分为:1、简单程序的加载;2、单核程序的加载;3、双核程序的加载;4、复杂的程序(双核,程序运行在外存中)加载。VDK内核下的LWIP程序,以及音视频的采集、编解码等等,巨大的程序量使程序必须在外存中运行,而且必须采用双核处理器来增加处理性能,本设计的程序加载属于最复杂的第4类加载。在程序的加载过程中,我们从简单的程序开始反复的试验,逐步的了解ADSP-BF561的加载过程,通过阅读大量的资料,与ADI的国内和国外的技术支持进行了联系,最终解决了这个难题。
上一页 [1] [2]