新闻中心

EEPW首页>模拟技术>设计应用> 基于VG2的智能家居控制器的实现

基于VG2的智能家居控制器的实现

作者: 时间:2012-05-11 来源:网络 收藏
体, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 3em; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  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在上的移植

  采用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中的实现实例如下(限于篇幅,其他函数不再一一列出):

基于VG2的智能家居控制器的实现

  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模块、市话控制模块、显



评论


相关推荐

技术专区

关闭