食用油种类有很多种,各类食用油的检测方法不尽相同。以花生油质量检测为例,由花生油的特殊物理性质可知,花生油在0~5℃时开始结晶[1,2],其他种类的食用油都不是在这个温度下结晶,利用这一特殊物理性质,在花生油结晶状态条件下对其进行吸光度测量,花生油在不同温度的结晶度信息是不一样的,所以需要一个恒定的温度环境来确保测量精度。本文给出了一种基于ARM+FPGA的便携式免化学试剂且环境友好型花生油质量快速检测仪的设计方案。
1仪器工作原理与方案设计
食用油质量现场快速检测仪是利用信号采集模块检测样品油的吸光度,因为吸光度与样品油的物质成分有关,通过吸光度可以了解样品油的纯度。
1.1工作原理
通过ARM处理器模糊PID计算,调整FPGA产生占空比可调的脉宽调制信号PWM,驱动热电制冷器实现恒温控制,仪器工作原理如图1所示。信号采集模块由单色LED光源和光频转换器TSL230B组成,TSL230B根据透射光强的不同,输出频率不同的脉冲信号(或方波信号)。因为透射光强与吸光度有关,FPGA读取信号采集模块输入不同的脉冲信号的频率,获得吸光度的信息,FPGA再把吸光度的信息传送给ARM控制器数据处理,计算出花生油样品纯度信息并在显示器上显示。
1.2 方案设计
ARM控制器具有信息处理能力强和高集成度的特点,现在很多智能仪器都是以ARM为核心的控制系统,但随着检测技术的发展,智能仪器的功能越来越多,控制过程设计的信息也越来越多,以ARM为核心的控制系统已经不能完全满足要求。而FPGA包含有大量实现组合逻辑的资源,可以完成较大规模的组合逻辑电路设计。与此同时,它还包含有相当数量的触发器,借助这些触发器,FPGA又能完成复杂的时序逻辑功能[11]。ARM与FPGA 的综合设计主要有以下优点:
(1)可以大幅减少外部器件的使用量。
(2)可以应用于各种场合,例如过程控制。
(3)控制对象比较多,使用一片ARM芯片与一片FPGA芯片使系统结构简洁、灵活。
(4)可以使整个系统设计变得功能分明、结构紧凑、时序容易控制等。
根据系统需要的功能,设计了结构的总体框架图,如图2所示。通过键盘按键发送控制信息,检测需要在温度恒定的情况下完成,所以需要一个恒温设备(热电制冷器和温度传感器DS18B20组成)提供稳定的检测环境,光源用的是红光LED灯,红光照射到盛装食用油的比色皿上,在光的透射方向上放一个光电检测模块(光频转换器TSL230B),把光电检测模块的数据传送到CPU(ARM芯片+FPGA芯片组成),经过数据处理后送到LCD显示。
2 系统功能模块划分
在ARM与FPGA 的综合设计中,需要系统、合理地划分其功能,划分的原则是面向任务。本系统设计中,ARM作为核心器件,采用16 bit数据通信,FPGA作为ARM的扩展外设备和协处理器。
由系统的工作原理可知,根据系统任务需求,整个系统的功能划分如图3所示。
ARM功能模块功能如下:
(1)UART0:接RS232串行接口,与计算机上的专用测控软件连接,相互进行数据通信。
(2)通信模块0: 与FPGA进行串行数据通信,给FPGA发送控制指令和数据,并接收FPGA发送的数据。
(3)I/O:连接LCD显示器,显示输出信息;连接键盘按键,对系统发送控制信号;连接外部数字信号,本系统读取的是温度传感器DS18B20的数据。
FPGA功能模块功能如下:
(1)通信模块2:与ARM进行串行数据通信,接收ARM发送的控制指令和数据,并向ARM发送数据。
(2)通用逻辑:实现存储器控制功能。
(3)PWM:实现占空比可调的PWM输出。
(4)计数器:对外部脉冲量频率或方波频率检测。
(5)通信模块1:接RS232串行通信接口,与一些外部设备连接,进行数据通信。
(6)其他扩展:用于一些备用功能的扩展,当需要增加一些功能时,不需要改变硬件就可以实现。
3 电路设计
3.1主控核心电路设计
ARM芯片S3C44B0X和FPGA芯片EP2C5T114C8是系统的核心器件,由于时钟频率不同,所以它们之间采用异步串行数据通信。
3.2电源电路设计
在整个系统设计中,系统各个部分对电源要求不一样,电源设计非常重要,涉及到电源分配方案选择、电源管理与监控及电源功耗三个方面的内容。在整个系统中,ARM和FPGA电压配置如表1所示。系统需要转换成的电压有5 V、3.3 V、2.5 V和1.2 V。
所用电压转化芯片分别为AMS1117-5、AMS1117-3.3、AMS1117-2.5和AMS1117-1.2。
在本系统中,首先用电压转换芯片AMS1117-5把外部直流电源的9 V电压转换成5 V直流电压,电压转换电路如图4(a)所示,再用电压转换芯片AMS1117-3.3、AMS1117-2.5和AMS1117-1.2把5 V直流电压转换成3.3 V、2.5 V 和1.2 V直流电压,转换电路如图4(b)所示。
3.3下载配置电路设计
S3C44B0X下载配置支持的JTAG接口是4线:TMS、TCK、TDI、TDO。其中TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,用于设置JTAG接口处于某种特定的测试模式;nTRST为测试复位,输入引脚低电平有效[4] ,如图5(a)所示。
EP2C5T144C8支持JTAG接口和主动串行ASP接口下载配置,在具体设计中,可先用JTAG方式调试程序,当程序调试无误后,再使用主动串行ASP方式把程序固化到配置芯片。如图5(b)所示,JTAG为下载插座;E1为配置芯片EPCSISI8;ASP为主动串行ASP下载插座,供固化程序到配置芯片使用。
3.4 存储系统电路设计
S3C44B0X的存储系统具有以下主要特性:ARM体系结构所支持的最大寻址空间为4 GB(232 B),ARM体系结构将存储器看作是从零地址开始的字节的线性组合,从零字节到第3字节放置第1个存储的字数据,从第4个字节到第7个字节放置第2个存储的字数据,依次排列;有8个存储体,访问大小均可进行改变(8 bit/16 bit/32 bit),每个存储体可达32 MB,总共可达256 MB,Bank0~Bank5可支持ROM、SRAM存储器,Bank6~Bank7可支持ROM、SRAM和FP/ED0/SDRAM存储器;有小端格式和大端格式两种方式存储字数据,可以通过外部引脚选择存储方式,在小端存储格式中,低地址中存放字数据的低字节,高地址存放字数据的高字节,大端格式低地址中存放字数据的高字节,高地址存放字数据的低字节[4],Flash和SDRAM存储器电路如图6所示。