Actel数模结合FPGA的远程控制器设计
扫描二维码
随时随地手机看文章
近年来,随着人们对生活品质的追求,每个家庭都越来越需要一个集控中心把家庭中的各种家电连接起来,并实现远程访问、控制以及自动监测报警功能。网络技术的发展使这一想法成为了现实,然而大多数管理系统都是基于功能强大的PC机。近几年,嵌入式技术迅猛发展,逐步开始成熟,尽管无法实现PC机那样强大的功能,但其低成本、低功耗、体积小等优势都是PC机无法比拟的,尤其是价格因素,更是一个便于推广的亮点。因此,嵌入式产品作为控制终端也将有机会成为发展的趋势。
1 Actel数模结合FPGA介绍
Actel公司的Fusion系列FPGA是基于ProASIC3/E的系列芯片,具有Flash架构的FPGA所有特点,如高安全性、高可靠性、单芯片、上电即行、非易失性、低功耗等;具有4 Mb的用户可用Flash、1 Kb的内部Flash、108 Kb的RAM;2个PLL最高频率可达350 MHz;支持多种I/O电平标准,其中差分的I/0标准有LVPECL、LVDS、BLVDS、M—LVDS;具有AES、FlashLock加密技术。另
外,集成了独特的模拟部分:
◆具有分辨率高达12位、采样率高达600 ksps、30个输入通道、2.56 V内部参考源的A/D转换器;
◆高达30个模拟的输入I/O,可以承受±12 V输入电压,并有10个MOSFET门驱动输出,驱动能力可调;
◆可实现电压、温度、电流检测;
◆片内集成100 MHz、精度为1%的RC振荡器;
◆外部可接32 kHz~20 MHz的晶振;
◆具有可编程的实时计数器(RTC);
◆片内具有1.5 V稳压源,可提供内核电压,实现睡眠和待机的低功耗模式。
2 实现原理及系统结构
系统采用Fusion开发平台为主控器,在片内嵌入8051软核的方式,对系统进行控制和管理。该系统内部嵌入2个8051软核,有效地将管理、控制和检测分开,其两核之间在内部通过并行I/O通信,使用“仿打印机协议”通信;在一个IP核扩展了MiniISA总线,通过并行总线扩展了32 KB SRAM、LCD接口和82C55接口,实现了打印机控制和红外遥控接收;通过电话模块CR6269A和网络模块ZNE一100T将电话信息和网络信息转成串口数据,对家电进行远程控制;模拟I2C总线接口扩展了PCF8563实时时钟芯片、E2PROM存储器AT24C256芯片以及ZLG7290串行显示器/键盘控制器,以获取准确的实时时钟、相关参数,并实现系统信息的存储、4×4键盘动态扫描控制;扩展数字温度传感器DSl8820用于对室温进行测量;在片内扩展了4路A/D,实现对家庭参数(烟雾浓度、燃气浓度、交流电压和交流电流)的测量。系统结构框图如图1所示。
3 系统硬件设计
3.1 MiniISA总线扩展板
MiniISA总线扩展板主要用于各种并行总线器件及I2C器件的扩展。其中包括:
82C55并行I/O扩展、LCD接口、ZLG7290串行键盘/显示器接口、PCF8563实时时钟接口、AT24C256接口等。Mi—niISA总线接口如图2所示。
[!--empirenews.page--]
3.1.1 外设地址选择与分配
系统通过可编程逻辑阵列器件GAL16V8实现基地址的选择与分配。MiniISA总线接口寻址空间为256字节,其中高4位(A4~A7)为板卡基地址,通过4个拨动开关进行基地址的设置;低4位为该ISA板的接口地址,A2、A3用于板上外扩芯片的地址选择,每个外设的寻址空间为4字节。板卡基地址base(高4位)由SA7、SA6、SA5、SA4决定,A3、A2对板卡上外设进行片选,地址分配如表1所列。
3.2.2板卡资源介绍
(1)82055并行I/O扩展
可编程并行接口82C55是一款具有2个8位(A口和B口)和2个4位(C口高/低4位)并行I/O端口的接口芯片,接口可编程,I/O端口控制功能强。芯片接口地址如表2所列。
该设计中82C55主要用于控制打印机的输入与输出,其接口电路如图3所示。
(2)汉字微型打印机扩展
汉字微型打印机为针式打印机。如图3所示,打印机数据线与82C55的PA口相接,PA口设置为输出;忙线(BUSY)和选通线(STB)分别与PC7、PCO相接。82C55的PC口高4位I/O口设置为输入,低4位I/O口设置为输出。
(3)串行键盘显示器控制器ZLG7290
ZLG7290是串行I2C总线的一款键盘/显示器控制器,最多可以扩展8×8键盘和64个LED。在MiniISA总线扩展板中将所有接口引出,电路如图4所示,而在本设计中只使用的4×4的键盘,用于界面操作。
(4)实时时钟芯片PCF8563
扩展PCF8563实时时钟芯片,用于获取准确时间用于时间的显示。PCF8563是Philips公司推出的一款工业级、内含I2C总线接口功能、具有极低功耗的多功能时钟/日历芯片。工作电流为O.25μA,采用O.1F电容供电;断电情况下,仍可正常工作10~13天。
(5)串行E2PROM AT240256
AT24C256是串行I2C总线的一款E2PROM,存储空间为32 KB,主要用于报警参数、密码、红外代码以及相关产品信息的存储。
3.2 电话模块CR6269A
CR6269A电话模块可实现自动电话应用所需的全部功能:电话接口、摘机电路、振铃识别、FSK来电号码接收、电话信号音识别、DTMF收发、多段数码语音、多和弦音乐和铃声、免提扩音、用户语音输入和电话语音输出、2路遥控驱动输出。所有硬件的底层控制均由模块内MCU完成,用户通过一标准RS232接口完成指令和数据通信,功能强大且应用非常简便,只需接入5V电源、电话线、串口线即可使用。
3.3 网络模块ZNT一100T
ZNT一100T网络模块是周立功公司开发的一款嵌入式网络模块。它内部集成了TCP/IP协议栈、10M以太网接口,串口TTL电平方式,波特率为300~115 200 bps,提供5个可控制I/O,可通过网页控制或TCP控制控制端口任意设定。表3为ZNE一100T接口说明。本设计中,利用该模块进行网络控制。
[!--empirenews.page--]
3.4 交流电检测电路
本设计,采用DVDI—001电压/电流互感器对交流电的电压、电流进行采样,然后通过精密整流电路进行整流,采用RC滤波,最终变为O~5 V电压进入FPGA的A/D测量端。
(1)作为电压互感器使用
DVDI—001作电压互感器使用时是一种电流型电压互感器。电压采样电路如图5所示。根据电路的实际情况,将Rr的阻值选为5 kΩ,CO选为O.1μF。因为电流的感应是1:l,所以Rr选为5 kΩ;同时也要注意不要让负载超过互感器的范围。这样,就可以安全地得到所需要的幅值范围。
(2)作为电流互感器使用
DVDI—001作电流互感器应用时,用户只需在中心孔内穿1匝母线作为输入线圈。电流采样电路如图6所示。由于电流的感应比是3 000:1,所以电路中的负载是很小的,所以根据电路的实际情况将Rr的阻值选为5 kΩ,CO选为0.22μF。这样,就可以安全地得到所需要的幅值范围(0~5 V)。
3.5 温度检测
数字温度传感器DSl8B20具有与CPU接口方便、直接数字量输出等优点,可提供12位(二进制)温度读数指示器件的温度信息。经过单线接口送入DSl8820或从DSl8B20送出,因此从主机CPU到DSl8820仅需一条线。室内温度检测采用数字温度传感器,其电路如图7所示。
4 双核通信
系统采用主从式架构,主核发送命令,从核响应,共同完成对外围设备的控制和管理。其中,COREl作为主核,外扩了32 KB的SRAM,主要通过MiniISA总线与外界通信;CORE2作为从核,通过I/O与外部通信。COREl、CORE2在结构上是相对独立的,双核采用仿打印机协议进行通信,二者以I/O口相接(并行数据线8位,控制线2位)。双核通信接口如图8所示,接口引脚定义如表4所列。
系统在每一个核中,都开辟了一个16字节的缓存,用于存储接收到的数据。其发送格式为:
从设备地址如表5所列。
5 软件设计
5.1 系统主程序流程
系统内部具有双核,每个内核单独执行程序。主程序流程如图9所示。
5.2 双核通信流程
双核通信采用读忙线发送、中断接收的方式,增强了数据发送的可靠性,如图10所示。
结 语
本文利用Actel公司最新Fusion系列数模结合的FPGA实现了远程家电控制,保证了多CPU环境下通信的协调与稳定。本文创新点:采用数模结合的FPGA,内嵌2个8051 IP软核,主核通过扩展MiniISA总线实现数据处理和系统管理,从核直接用于参数的采集和控制,且参数采集所用的A/D转换器均为12位的片内A/D。