基于NIOSⅡ处理器的智能家居控制系统设计
本文设计的智能家居控制系统采用基于NIOSⅡ的SoPC技术,结合NIOSⅡ软核处理器和CycloneⅡ开发套件实现。整个硬件系统包括核心的FPGA芯片,外部扩展的SDRAM,FLASH、各种输入/输出电路以及SMSC公司的LAN91C111以太网接口芯片等。
2 系统设计
设计首先在FPGA上搭建主要的系统架构,然后在FPGA外围搭建系统扩展电路,包括SDRAM,FLASH以太网接口电路,其次利用Visual Basic编写桌面控制软件通过以太网来控制系统,实现对于系统电路的远程控制。同时,可以通过系统的输入按钮向远程客户端发送信息,通过桌面软件接收信息并显示,实现两端的消息通讯。由于系统利用以太网来进行数据的传输和处理,将智能家居控制系统和目前功能日益强大的计算机以及广泛应用的互联网紧密结合在一起,具有更强大的功能性以及使用的方便性。
3 系统硬件电路设计
Altera的NIOSⅡ处理器设计突出优点表现在他的灵活性和可裁减性上,系统提供了大量IP,设计者可以任意对IP进行选择,同时,用户也可以根据需要定制自己的IP,实现自己所需要的功能。图1表示本系统设计中CycloneⅡ芯片的内部配置情况以及与外围设备的连接情况。
在本系统设计中,主要使用了如下的Altera IP,并对其进行相应设置:
(1)NiosⅡProcessor:该IP是系统处理器模块,作为整个系统运行的控制处理核心;
(2)FLASH Memory(CFI):该IP是外部存储器FLASH控制接口模块,完成对FLASH的时序控制;
(3)DDR SDRAM Controller:该IP是外部存储器DDR SDRAM的接口控制模块,完成对DDR SDRAM的时序控制;
(4)JTAG UART:该IP完成在主机PC和SoPCBuilder系统之间的字符流传输,进行程序的下载,以及硬件软件的在线调试;
(5)LAN91C111 Interface:该IP是外部以太网芯片接口模块,完成NIOSⅡ系统对外部LAN91C111网卡芯片的控制,进而实现系统的以太网数据传输;
(6)Character LCD:该IP是外部LCD的接口控制模块,完成对外部液晶模块显示的控制;
(7)PIO:该IP是通用I/O控制模块,用来控制外部的输入输出;
(8)Interval timer:该IP是系统的定时器模块,完成对系统时间的处理。
 
4 系统的软件程序设计
在系统中主要设计了4个自定义任务,分别为:
(1)系统初始化管理任务:用来初始化操作系统的数据结构和创建其他任务。该任务在初始化完成后自动删除。
(2)网络DHCP服务管理任务:主要用来检查DHCP服务是否成功,即系统是否成功分配到IP。该任务在完成后也自动删除。任务流程图如图2所示:
(3)远程控制管理任务:主要用来在服务器和客户端之间建立Socket连接,在服务器端接收从客户端发送来的控制命令,并判断这些命令来进行相应操作。任务流程图如图3所示:
(4)服务器端中断管理任务:主要在服务器端处理用户产生的各种中断,然后向客户端发送相应命令执行对应操作。任务流程图如图4所示。
 
设计的软件界面如图5所示:
6 系统性能分析和功能验证
利用QuartusⅡ软件对设计的系统进行综合分析后可以知道,采用CycloneⅡEP2C35F672C6型号的FPGA设计的系统占用整个FPGA的资源是比较少的,使用3 658个逻辑单元,占总资源的11%,使用了52 224 b存储单元,占总存储量的10%,显示了FPGA的强大功能,利用剩余的资源可以进行后续高级功能的扩展。
在系统功能验证中,设计2组外围电路来验证系统的功能。设计外部发光二极管LED电路验证“开灯1”按钮功能,模拟系统对灯具的控制作用;设计外部红外信号发射与接收电路来(包括1对红外发光二极管和红外接收二极管电路)验证“开家电1”按钮功能,模拟系统对红外家电的控制作用。在实际测试中,电路工作良好,利用FPGA引脚输出3.3 V电压作为外部电路的电源。当通过本地的桌面软件建立本地计算机和智能家居控制系统间的网络连接后,可以利用软件上的操作按钮方便地远程控制LED电路和红外发射接收电路,同时可以利用智能家居控制系统的输入按钮向客户端发送消息,并显示在客户端软件上,实现两端的相互通讯。
7 结 语
相关阅读
征稿:
为了更好的发挥CPS中安网资讯平台价值,促进诸位自身发展以及业务拓展,更好地为企业及个人提供服务,中安网诚征各类稿件,欢迎有实力安防企业、机构、研究员、行业分析师。投稿邮箱: cps-tougao@cps.com.cn(查看征稿详细)