基于多媒体处理器VG2的智能家居控制器设计
扫描二维码
随时随地手机看文章
关键词 智能家居 VG2 μC/OS-II
现代社会家庭以家居的安全、舒适、便利和多元化信息的生活环境作为一个理想目标,20世纪90年代以后,网络化智能家居的出现,实现了在家庭范围内信息设备、通信设备、娱乐设备、家用电器、照明设备、家庭求助报警、家庭安防及水电气热表(四表三防)等家居设备的远、近程网络互连,为用户提供了服务和自主管理能力。本文采用多媒体处理器Virgine G2(简称“VG2”)作为主控芯片设计了一款智能家居控制器,以家庭人居习惯的音视设备为中心,以电视与遥控器为人机交互界面,实现家庭住宅的自主管理和智能化服务。
1 智能家居控制器设计
1.1 智能家居控制器总体结构
智能家居控制器采用家庭电视显示,由遥控器、面板自带键盘控制,将信息设备、通信设备、家用电器、安防系统、门禁系统、四表自动抄表系统等独立单元的家居设施跨平台地有机结合,利用网络和电话实现远、近程操作控制智能化。图1是智能家居控制器系统基本结构图。
1.2 智能家居控制器功能
智能家居控制器的没计原则以人居习惯为出发点,最大限度地方便用户使用;以控制器为核心,接口电路易于安装和扩展。
控制器提供4路音视频输入切换接口,在主控制芯片VG2的控制下,对输入信号进行切换,并可对视频输入信号进行图文叠加处理输出到电视显示器上。家居控制器以设置的红外入侵、门磁窗磁、门铃门禁和气体传感器动作信号为依据,为用户提供家庭安全防范。用户可手动设定,或远程管理家庭声光设备和控制家用电器的运行。
根据网络接入的不同,家居控制器可运行在3种模式(家庭自主系统、小区服务器网络系统和TCP/IP宽带网络系统)下,为用户提供以下功能。
①家庭理财:家庭水费、电费、煤气费和供热费的记录显示和传输;家庭日常支出的录入和显示;家庭月、季、年支出累计。
②家政服务:家庭对小区物业公司的钟点工(清洁、保姆、护理等),医护人员,水电气维修工,送饭、送货人员的预约、召唤和呼救。
③家庭安防:门禁(可视对讲)控制操作;家庭安防系统(红外入侵报警、窗玻璃碎报警等)预警设置和声光/远程报警。
④家庭电子保姆:可预置(或通过电话远程控制)电饭煲、微波炉、洗衣机、热水器等家电的开关时间。
⑤家庭信息平台:直接收看电视节目;转接播放VCD、DVD;完成数字电视接收、转换和高清晰电视处理播放;实现网络接入等。
⑥物业管理:小区发布公共信息;各户信息通告等。
1.3 接口设计
根据系统功能设计,家居控制器提供了丰富的功能接口。
音视频输入接口:接入有线电视、DVD/VCD、摄像头等信号。在模拟电子开关的控制下可根据需要进行切换控制。
音视频输出接口:通过视频利用放大器MAX4310实现4路复合视频信号的驱动功能,为电视机提供声音和视频图像信号。
网络输入/输出接口:接入网络,提供网络数据服务,采用芯片RTL8019AS,全双工,收发速率可达10 Mbps。
键盘接口:外接面板20键键盘,用户通过键盘或遥控器操作选择相应功能。
USB接口:接入优盘,提供数据存储功能、功能扩展预留;以ISPll61A1为核心,提供2路下行端口,1路上行端口,遵循USBv2.O规范。
RS485接口:接入多功能集中/远传自动抄表系统,可直接与数据采集器相连接,实现对4路基表输出的脉冲信号实时采集、自动处理和数据保存。
I/O接口:提供8路输入和8路输出,接收来自红外入侵探测器、门磁窗磁、门铃门禁和多种传感器的安防警示系统的信号,为系统报警提供依据;输出控制信号,实现家电控制、声光控制和报警控制。
市话接口:串接在外线和普通电话之间,接入市话网,接收电话控制指令,可自动拨打预设电话报警,亦可直接与110联网报警。采用MT8888负责DTMF信号的收发,使用ISD1420录入用户的地址信息。
2 关键技术及其实现方案
VG2是ADChips公司推出的一款内嵌32位微处理器的多媒体处理器,集数据、视频、音频处理为一身。内部包括1个基于3维图形算法的2维图形加速器VR0_2D,还嵌有1个32通道的8/16位音频引擎,以及视频DAC、DRAM控制器、DMA、定时器、双串口等多种外设。
家居控制器的主要功能单元包括:视频叠加、数据传输与存储、市活控制和抄表系统。其中,抄表系统采用“多用途集中远传抄表系统”,通过R8485网络与主控模块相连接,硬件上无需另行设计。
2.1 视频叠加单元
视频叠加单元实现图形文字与视频信号的叠加(如操作提示信息与电视信号的叠加等)。主控芯片VG2对图像数据进行处理,将图像数据转换成RGB信号输出;同时带有行、场等各种同步信号,为视频叠加电路提供图像RGB信号,以实现与外部视频信号的叠加。
视频叠加单元采用东芝公司的视频叠加芯片TBl238和三星公司的视频编码芯片KA2198实现视频叠加和编码。TBl238是基于I2C总线的彩色电视信号处理芯片,可以实现外部视频信号解码、同步提取、三基色信号叠加等功能;片内含有视频与色度信号处理以及扫描小信号产生电路,集成基带延迟线,以及音、视频开关电路,可单片实现PAL/NTSC制信号的解码,输出R、G、B三基色信号。视频系统的RGB编码采用KA2198单片电路,支持PAL制式和NTSC制式。KA2198包含了R-Y/B-Y矩阵、调节器、脉冲产生器、标准仪、内嵌的色度BPF(带通滤波器)和亮度延迟线、使用S-VHS系统的Y/X输出。
视频叠加采用复合视频信号彩色解码后叠加法。外部视频信号由TBl238解码为RGB三基色信号,与VG2输出的RGB信号分别叠加;得到叠加后的RGB信号,再由KA2198进行视频编码,输出含有叠加图形的复合视频信号。电路组成如图2所示。
2.2 市话控制单元
市话控制单元利用住宅电话资源,串接在外线和用户的普通电话机中间,平时不影响电话正常使用。它由外围摘挂机控制电路、振铃检测电路、DTMF收发电路、语音录放电路等构成。
采用MT8888为核心,接收和发送DTMF全部16个信号。MT8888发送部分采用信号失真小、频率稳定性高的开关电容式D/A变换器,接收部分用于完成DTMF信号的接收、分离和译码,并以4位并行二进制码的方式输出;可调整双音频模式的占空比,能自动抑制拨号音和调整信号增益,带有标准的数据总线,与TTL电平兼容。采用VG2微控制器进行编程控制,可实现通过DTMF收发电路拨出电话号码进行电话通告和报警,以及接收远端的用户指令对家庭设备进行相应的操作。
选用的数字语音芯片为ISDl420,具有先进的模拟/数字语音存储技术,音质好,无需A/D转换,可录制20 s的语音信息,可分段存储信息,地址总线与单片机接口;零功率信息存储方式,断电情况下,信息可保留10年以上;易于使用,可随意改变录音内容,录放次数达10万以上。
在本系统中,ISD1420用于存储用户的地址语音信息(住宅的地理位置),以便与110联网。电话在模拟摘机后的系统提示语音和各种警情语音信息由VG2的音频引擎输出直接耦合到通话线路中。当接收到报警信号时,系统查询系统参数,决定是否报警,采用何种方式报警(可以自动拨出用户设置的报警电话,向用户提供语音报警和现场声响;也可通过电话指令启动警号和其他执行机构),并决定主机进入布防还是撤防状态。
摘挂机电路通过控制一个电流源的通断来实现。在挂机状态下,电路上的电流可以忽略不计;摘机时的电流约为30 mA,同时可以保证电路具有较小的直流阻抗(<300Ω)和较大的交流阻抗(>600Ω)。振铃时线路上为(90±15)V、(25±3)Hz、ls送、4s断的蜂音(GB3380-1982),将线路上的电压与参考电压比较,以检测出振铃信号。
当有电话呼入时,在响铃达到殴定次数后,家居控制器接管电话,给出语音提示,提供留言或输入密码进入家电控制(若3次输入密码不正确,则家居控制器将自动挂断电话)。电话线路上的拨号音、回铃音、忙音等信号是频率为(450土25)Hz的交流电源,电平为(-10±3)dBm。置MT8888为呼叫进程处理模式.根据不同信号的计数值不同进行区分,可实现拨号音、忙音、回铃音的检测。市话控制单元结构如同3所示。
2.3 数据传输及数据存储单元
采用Realtek公司的以太网接口芯片RTL80l9AS和Philips公司的USB主从控制芯片ISP1161A1,为用户提供网络接入和数据存储功能。
ISPll6lAl是Philips公司生产的一种单片通用串行总线(USB)控制器,遵循USBv2.0规范,为USB HC提供了2个下行端口,为USB DC提供1个上行端口。每一个下行端口都有自己的过流(OC)检测输入端和电源转换控制输出端;上行端口有自己的VBUS检测输入端。内建4 KB的FIFO缓存RAM供HC使用,2 462字节的FIFO缓存RAM供DC使用。在ISP116lAl作为USB主机时,根据硬件资源的分配,其数据地址是0x015000000,命令地址为0x01500002。HC的编程接口时序最小值不超过300ns,在VG2接14.318 MHz晶振、ISP1161外接12 MHz晶振时,可以满足VG2和ISP1161协调工作的时序要求。
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技术的应用保证了大数据量传输和存储的稳定性以及功能的可扩展性,兼顾了传统电话网络远程控制方式。智能家居控制器操作简单,使用方便,达到了预期的设计目的。