餐厅顾客服务终端
递信息和完成线程的同步。利用硬件标志(device flag)来完成外设和DSP的同步。利用中断和中断嵌套来处理DMA以及突发事件。通过对每个应用程序创建一个线程,用线程的优先级和消息进行互相的调度和管理,并且,编写ADV7183,AD1836及LAN91C111等设备的驱动,用优先级管理中断服务程序,调用VDK的API函数。双核软件结构示于图2。
图2 双核软件结构
程序采用了菜单结构,上电初始化后显示主菜单,通过用户的对触摸屏的点击,开始显示二级子菜单,然后用户可以返回上级菜单和跳转到下级子菜单。程序最多有5级菜单,为用户提供了一个良好的人机交互的界面。主程序流程示于图3。
图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的国内和国外的技术支持进行了联系,最终解决了这个难题。
结语
系统充分利用双核DSP-BF561的硬件资源,使得Blackfin系列DSP的音视频处理性能得到充分的发挥。通过合理的设计了DSP外围的器件,实现了音频的采集与播放、视频的采集与显示、触摸屏的互动、SD卡和NAND flash等大容量存储器的使用。采用了VDK内核管理程序的进程,在DSP上移植了TCP/IP协议簇,实现了点餐信息的网络传输及网络点餐的功能。存储在终端的菜品的海量图片可以动态的浏览和播放。提供了强大的娱乐功能。顾客可以在用餐后通过终端对菜品进行语音评价。
采用该系统实现真正意义上的"无人智能餐厅"。
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)