打印
[资料分享]

基于单片机与CPLD的无线控制系统

[复制链接]
589|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基于单片机与CPLD的无线控制系统


摘要:介绍一种基于单片机与CPLD结合的传感器网络节点的无线控制系统。节点中单片机对无线命令进行译码,并对外围子模块进行控制,CPLD扩展控制系统的并行I/O端口、SPI串行接口等,从而根据系统需要可扩展无线传感网络节点的外围功能模块。采用单片机与CPLD模块化设计方法,降低了设计成本,方便电路的多次改进,为传感器网络节点在不同场合的应用提供了一种通用的方法。


     关键词:单片机I/O端口扩展;CPLD;控制节点;SPI串行接口扩展






    0 引 言
    自单片机引入我国以来,相关产品的普及促使单片机的应用设计日益广泛。传统的单片机控制系统由单片机以及外围扩展芯片组成,但是这些外,围芯片一般具有接线重复性高、体积大等缺点。可编程逻辑宏单元或逻辑块之间的相互连线在同一封装内,受外界干扰影响小,电磁兼容(EMC)性能好。对设计者来说,CPLD器件最大的优点在于可现场编程,改变逻辑关系时,无需更改外部线路板,只需用图形语言程序或硬件描述语言程序来改变电路,生成下载编辑软件,通过下载电缆输入CPLD器件即可,非常方便,特别有利于新品试制,大大缩短了开发周期。使用CPLD和单片机结合构成其外围电路可以减少系统芯片数量,缩小系统体积,提高系统可靠性。


     1 控制系统
    该系统是一个无线传感器网络节点的控制系统,它用于控制无线模块接收主站发送过来的信息,单片机读取这些数据并译码后,根据译码结果控制各功能子模块,如无线模块控制、温度采集控制、电源管理控制、时间统一信号控制等功能,共需要28个输出控制I/O口,13个输入控制I/O口,扩展I/O端口分配8个。各外围模块通过SPI串行标准接口的扩展与单片机和CPLD进行通信,并完成数据传输控制功能。各外围模块只需接受MCU的控制命令,即可独立完成外围模块各自的功能:无线模块的收发、数据采集A/D转换、时间统一记录、电源管理等。同时预留单片机通过USART的串口输出,另外,还需要此系统具有很好的扩展性,通过扩展外围模块来增加节点不同的功能。系统设计要求如图1所示。

    根据设计要求,单片机系统要8 b的UART串行输出以及SPI串行输入输出,同时为了完成各种控制功能,单片机必须至少扩展7个I/O端口。如果使用传统的扩展方法,在输出速率要求不高的情况下,并行接口通常使用8255传统的微处理器接口芯片来扩展。
    但是,这些芯片都是40脚DIP封装,体积庞大,并且每片最多只能扩展3个8 b I/O端口,还要考虑8255中A,B,C口是作为输入口还是输出口。当需要的控制端口较多时,不得不用多个这种专用芯片。这时需重复连接多片8255的8位数据线、单片机读/写信号线、ALE,CS(片选)和A0,A1信号线,增加了单片机硬件、软件的设计难度,也就造成电路复杂、控制不便、可靠性降低,而且增大了电路的功耗、体积和重量。同时接口芯片提供的端口数未必与实际需要的端口数相等,不能根据实际情况分配I/O端口的数量,容易造成芯片部分资源的浪费。而CPLD具有丰富的可编程I/O引脚,并且由于其在系统可编程的特点,设计者能够自己定义器件的内部逻辑和管脚,扩展电路也具有可编程设计的特点,方便电路的多次改进,降低了设计成本。


    2 单片机与CPLD
    AVR单片机,采用精简指令集CPU(RISC),具有高性能,处理速度快(1 MIPS/MHz),成本低,包括FLASH程序存储器、看门狗、E2PROM、同/异步串口、SPI、ADC、定时器/计数器,众多的中断系统,集成多种功能,具有低功耗抗干扰的休眠模式。
    复杂可编程逻辑器件(Complex Programmable LogIC Device,CPLD)是一种半定制的专用集成电路(Application Specific Integrated Circuit,ASIC)。其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件。通过软件编程可以实现这些元件的连接,从而使之完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的ASIC。
    目前,最大的两家CPLD/FPGA生产厂商分别是ALTERA以及Xilinx。该系统使用的Xilinx的XC2C256属于XiIinx公司的Coolrunner2系列,包含256个宏单元,最大用户I/O管脚有100个。



使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2019-5-29 21:04 | 只看该作者
没看到无线部分的介绍

使用特权

评论回复
板凳
51xlf| | 2019-8-3 18:02 | 只看该作者
如何实现电脑通过WIFI控制单片机?   

使用特权

评论回复
地板
i1mcu| | 2019-8-3 18:02 | 只看该作者
NRF24L01吗      

使用特权

评论回复
5
pmp| | 2019-8-3 18:02 | 只看该作者
根据红外接收命令来控制IO就行了  

使用特权

评论回复
6
mmbs| | 2019-8-3 18:03 | 只看该作者
无线模块如何用单片机操作的  

使用特权

评论回复
7
1988020566| | 2019-8-3 18:03 | 只看该作者
应该是NRF24L01无线收发模块   

使用特权

评论回复
8
lzbf| | 2019-8-3 18:03 | 只看该作者
求四键无线遥控模块的单片机程序  

使用特权

评论回复
9
houjiakai| | 2019-8-3 18:03 | 只看该作者
单片机,想自己做个无线通信模块   

使用特权

评论回复
10
youtome| | 2019-8-3 18:04 | 只看该作者
如 PTR3000     

使用特权

评论回复
11
cemaj| | 2019-8-3 18:04 | 只看该作者
怎样通过单片机来实现无线传输信号到主机?  

使用特权

评论回复
12
sanfuzi| | 2019-8-3 18:04 | 只看该作者
单片机怎么和esp8266-01连接  

使用特权

评论回复
13
cemaj| | 2019-8-3 18:04 | 只看该作者
无限通信可以用不同的无线模块吗   

使用特权

评论回复
14
51xlf| | 2019-8-3 18:04 | 只看该作者
WIFI模块的源代码有吗?  

使用特权

评论回复
15
youtome| | 2019-8-3 18:04 | 只看该作者
和单片机连接比较简单 只要初始化 设置一下 就可以用单片机的串口进行网络通讯了  

使用特权

评论回复
16
i1mcu| | 2019-8-3 18:04 | 只看该作者
抗干扰能力强,特别 适合工业控制场合  

使用特权

评论回复
17
houjiakai| | 2019-8-3 18:04 | 只看该作者
都需要哪些器件呢?  

使用特权

评论回复
18
pmp| | 2019-8-3 18:04 | 只看该作者
红外接收模块程序网上很多  

使用特权

评论回复
19
lzbf| | 2019-8-3 18:04 | 只看该作者
单片机wifi无线模块怎么使用呢   

使用特权

评论回复
20
mmbs| | 2019-8-3 18:04 | 只看该作者
无线模块有scs,sck,sdio,cko,gio1,gio2,还有电源,这几个端口  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

455

主题

583

帖子

5

粉丝