基于多媒体处理器VG2的智能家居控制器设计

技术分类: 嵌入式系统  | 2008-03-21
来源:单片机及嵌入式系统应用 | 作者:合肥工业大学 王建平 马宾

  RTL8019AS网络接口芯片具有16位数据总线和24位地址总线,具有曼彻斯特编码、冲突检测和重发的功能;可以与很少的外围电路一起完成数据的发送和接收,全双工,收发速率可同时达到10Mbps;内置16KB的SRAM用于数据收发的缓冲,支持跳线和免跳线,即插即用的上作模式。图4是数据传输及数据存储结构图。RTL8019AS工作在跳线方式下,IOS3~IOSO为低电平,设置其I/O基地址为Ox300,RTL8019AS只对地址为0x300~0x31F的信号产生响应;IRQS2~IRQS0为低电平,INT0被选中作为中断请求的输出,PLl、PLO为低电平.设置具有自动检测接口类型的功能。

数据传输及数据存储结构图

  3 软件设计

  本文采用μC/OS-II(v2.51)嵌入式操作系统作为家居控制器的软件平台。μC/OS-II是一个占先式多任务操作系统,可固化、可裁剪,易于移植,具有良好的可靠性和稳定性;支持多达64个任务,以及信号量、消息邮箱、消息队列等多种进程问通信机制。由于没有TCP/IP和USB协议栈,因此移植了1wIP和USB HOST协议来实现网络通信和USR数据传输。

  3.1 μC/OS-II在VG2上的移植

  采用Cygwin作为编译平台的EISC STUDIO集成开发环境,用户可以在C程序中插入汇编语言(可扩展指令集),在移植过程中修改了OS_CPU.H和OS_CPU_C.C,4个与处理器相关的函数在OS_CPU_C.C中实现。堆栈的增长方向为向下,入口宽度为32位。初始化后数据结构依次为opt,ptos,pdata,0x0,task,0x3000,0xe,0x7,0x6,Ox5,0x4,0x3,0x2,0xl,0x0。OSStartHighRdy()在OS_CPU_C.C中的实现实例如下(限于篇幅,其他函数不再一一列出):

程序

  3.2 1wIP协议在μC/OS-II上的移植

  1wIP是一个比较完备的嵌入式TCP/IP协议栈,有与操作系统接口的封装层。1wIP的移植主要包括4个方面的工作:

  ◇处理与编译器和硬件相关的include文件;

  ◇实现与操作系统相关的结构和函数;

  ◇实现lib_arch中的库函数;

  ◇实现RTL8019As驱动程序。

  RTL8019AS与Ne2k芯片兼容,可参照ethernetif.c网络驱动模板实现网络设备的驱动。

  3.3 USB主机系统的实现

  USB主机系统的实现主要是核心驱动程序(USBD)和主控制器驱动程序(HCD)的实现。HCD是协议栈最底层对主机控制器硬件和数据传输的抽象,向上为USBD提供一个软件接口(HCDI),向下管理和检测主机控制器硬件的行为。USBD是USB体系的中枢,用于检测和管理USB系统的所有活动,向上接收USB设备驱动程序和用户程序的各种命令和数据,向下把处理好的各种数据发送给HCD,并最终与设备进行通信。主机要支持设备类,就要建立特定的设备类协议,本设计实现了USB Mass Storage类,移植了ZLG/FS文件系统。

  3.4 智能家居控制器的软件设计

  软件设计采用模块化、与内核相分离的原则,可保证程序具有良好的可移植性和可重用性,主要有网络模块、USB模块、市话控制模块、显示模块、键盘模块和抄表模块等。每个模块都有相应的功能.其中一些模块还包含一些子模块,各个模块相互独立又相互联系,它们的有机组合为用户提供相应的功能。按照软件所属层次可划分为3层:内层是实时操作系统内核;中间件层主要是芯片的驱动和通信协议的移植;外层是应用层,为用户提供具体的功能应用。系统复位后,主程序首先对进行系统进行初始化,获取系统状态信息。VG2自带看门狗设置,在程序正常执行过程中每隔一段时间触发看门狗电路,进行喂狗。

  4 小结

  智能家居控制器是家庭内外信息交换和家电控制平台。本文采用ADChips公司的多媒体处理器VG2作为主控芯片,网络的接入和USB技术的应用保证了大数据量传输和存储的稳定性以及功能的可扩展性,兼顾了传统电话网络远程控制方式。智能家居控制器操作简单,使用方便,达到了预期的设计目的。

1】【2】【3
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销