测控技术自古以来就是人类生活和生产的重要组成部分。随着科技的发展,测控技术已进入了全新的时代。近年来。电子技术的快速发展,使得计算机广泛用于自动检测和自动控制系统中,以致电压、电流、温度等的监测越来越重要,现在利用数字系统处理模拟信号的情况也越来越多,但数字系统所处理的信号都是不连续的数字信号,而待测的电压、电流、温度等都是模拟量,这就需要将监测到的模拟信号转换成数字信号,最终由系统进行处理。Actel 公司出产的新型 FPGAFusion 系列解决了数/模转换及上电不可运行等一系列难题。Actel 公司宣布推出全新的 Fusion 融合技术,为解决混合式信号的方案带来真正可编程功能的崭新技术。融合技术率先将混合信号的模拟功能、FLASH 内存和 FPGA 结构集成于单片可编程系统芯片中。融合技术将可编程逻辑的优势带进应用领域中,而这些应用领域直至目前只能采用分立模拟元件和混合信号 ASIC 供应商提供的器件。与此同时,当融合技术与 Actel 的 ARM7 和以 8051 为基础的软 MCU 内核共用时,可作为终极的软处理器平台。这项新技术能发挥 Actel 以 FLASH 为基础 FPGA 的独特优势,包括高绝缘性、三井结构和支持高压晶体管的能力,以满足混合信号系统设计的严格要求。

 

1 方案选择
该系统若根据要求可有多种实现方案。

 

方案一该方案是传统的一位式模拟控制方案。选用模拟电路,用电位器设定给定值,当反馈的温度值与设定值比较后,决定加热或不回热。但它使系统受环境的影响大,不能实现复杂的控制算法,不能用数码显示,不能用键盘设定。

 

方案二该方案是传统的二位式模拟控制方案。其基本思想与方案一相同,但由于采用上、下限比较电路,所以控制精度提高。这种方法还是模拟控制方式,因此也不能实现复杂的控制算法,而使控制精度做得较高,此外仍不能用数码显示和键盘设定。

 

方案三该方案采用 CortexM1FPGA 系统来实现。系统硬件用单芯片完成多方面功能,软件编程灵活,自由度大,可用软件编程实现各种控制算法和逻辑控制,还可实现数码显示和键盘设定等多种功能,系统电路框图如图 1 所示。

 

 

方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂的控制规律,控制方案的修改也较麻烦。方案三是采用以 CortexM1 为控制核心的控制系统,尤其对温度控制,它能达到模拟控制达不到的控制效果,且可实现显示、键盘设定等多种功能,又易于扩展,大大提高了系统的智能化,也使得系统所测结果精度大大提高。故选择方案三。

 

2 器件介绍

该系统采用的处理器核为 32 位 ARMCortexM1,它是 ARM 与 Actel 合作开发,是首个专门针对 FPGA 应用而设计的 ARM 处理器。CortexM1 处理器的运行速度高达 68MHz,可用 4353 个逻辑单元(TIles)来实现。CortexM1 处理器采用三级流水线结构,其指令集使用了经典的 Thumb-2 指令集中一个子集,所以无需更改,即可利用现有的 Thumb 代码。配置的 CortexM1 处理器可以连接到先进高性能总线(AHB)上,使得设计工程师能够构建自己的子系统,并能轻易增添外设功能。

 

2.1 数据采集部分

传感器部分既可采用热敏电阻,也可采用集成的温度传感器。由于热敏电阻的精度、重复性、可靠性都比较差,为了配合开发板的需求,在此采用晶体管作为温度传感器。系统温度检测数据采集部分原理如图 2 所示。

 

 

这里温度传感器采用的是晶体管 2N3904,它是双极型晶体管,在使用中要按照图 2 所示,将其集电极与基极连接起来使用。晶体管的温度将会影响 PN 结上电流与电压的关系,这是 Fusion 器件能够实现温度监控的理论基础。送到 A/D 转换器的电压 VADC 由下面的公式可以得出:

 

 

式中:n 为晶体管的理想系数。设计中,2N3904 的 n=1.008,近似取 1。C 为模块中 ADC 的放大倍数,C=12.5;I,i 为模块中用到的两个电流源,I=100μA,i=1OμA;k 为波尔兹曼常量,k=1.3806×10-23J/K;q 为质子的电量,q=1.602×10-19C,正因为采用的 q,所以 ADC 测得温度值单位为开尔文(Kelvin);T 为系统要测量的温度,此处为传感器所测量温度。

 

2.2 键盘控制和控制电路

因为系统在运行时可以与 PC 通信,故可直接使用 PC 机设定上、下限温度值,不需要额外设计键盘电路。但是由于条件有限,对于加热和冷却系统可采用简单的模拟方式实现,通过系统给定信号驱动继电器电路,完成加热和冷却效果,并且在超出范围后进行报警。

 

2.3 数字显示

该系统采用较先进的液晶显示屏对结果进行显示,形象直观。这里采用的是有机电致发光器件(OrganicLightEmitTIngDevice。OLED)SSD1303T6。OLED 相对于液晶显示器 LCD 来说,其主要优势在于驱动电压低,功耗小,主动发光,平板超薄,响应速度快,工艺相对简单等。SSD1303 是晶门公司采用 TAB 封装的单色 OLED 模组。这种基于 CMOS 工艺的驱动 IC 集成了行、列驱动器、控制器和 SRAM,可支持的最大分辨率为 132×64,可以显示 4 色区域色,并可编程实现 256 灰度.可实现水平滚动显示。SSD1303 提供有 6800,8080,SPI 等用于与微处理器(MCU)进行通信的显示接口模式。该设计中采用 SPI 接口进行通信。由于 OLED 控制芯片中未包含字库,这里自行设计了字库,采用 8×8 点阵显示。字库设计范例如图 3 所示,其为字符“C”的字库模型。

 

 

该设计中所需字符比较简单,按照需要自行设计了字符“O~9”,“.”,“:”,“T”。由于字库较小,采用数组方式存放数据。如下程序所示。

 

{0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00},//[1]

 

{0x00,0x00,0xf1,0x91,0x91,0x8f,0x00,0x00},//[2]

 

{0x00,0x00,0x91,0x91,0x91,0xff,0x00,0x00},//[3]

 

{0x00,0x00,0x1f,0x10,0x10,0xff,0x00,0x00},//[4]

 

{0x00,0x00,0x9f,0x91,0x91,0xf1,0x00,0x00},//[5]

 

{0x00,0x00,0xff,0x91,0x91,0xf1,0x00,0x00},//[6]

 

{0x00,0x00,0x01,0x01,0x01,0xff,0x00,0x00},//[7]

 

{0x00,0x00,0xff,0x91,0x91,0xff,0x00,0x00},//[8]

 

{0x00,0x00,0x8f,0x89,0x89,0xff,0x00,0x00}.//[9]

 

{0x04,0x02,0x82,0xfe,0x82,0x02,0x04.0x00},//T[10]

 

{0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00},//。[11]

 

{0x00,0x6c,0x6c,0x00,0x00,0x00.0x00.0x00},//:[12]

 

};

 

3 系统设计

这里设计的温度测控系统采用 Actel 公司的 SoPC 解决方案,它基于嵌入式软核 CortexM1 核,在性能上 CortexM1 可满足当前大部分嵌入式产品的设计。该系统的主电路采用 Actel 公司提供的 Fusion 系列 FPGA,实现温度控制,由于加热和制冷部分条件的限制,只采用模拟方式。电路可实现温度显示,设置上、下限温度,超出范围报警以及与 PC 机通信的功能。系统测量精度和控制精度均良好。

 

3.1 硬件设计原理

系统的硬件平台大致可分为以下几个功能模块:模拟输入模块、微处理器及其外围模块、UART 模块、时钟产生模块、PWM 模块。这些功能模块都由 Actel 公司提供的知识产权核(IP 核)组成。在 Coreconsole 中,将各个模块配置,通过模块的总线接口与系统总线 AHB,APB 互联。最终的结果如图 4 所示。其中,右上角的信号连接为连接到顶层模块的信号。

 

 

如图 4 所示,其中 CortexM1 为微处理器核,负责处理采集到数据,并产生相应的控制信号给外围控制电路;CoreAHBNvm 为控制 FLASH 的软核,使系统上电即可运行,掉电不丢失;CoreAI 为模拟输入模块,负责将外围采集的模拟信号数据转换为数字信号。交由处理器处理;Coreu-ARTapb 为串口通行核,负责将处理的数据通过串口发送给 PC,使其能实时交互和控制;Core-GPIO 和 CoreGPlO_01 两个核为通用 I/O 核,分别负责 OLED 的数据通信和外围控制信号的输出。

 

系统的外围温度超过上限报警和加热模拟的电路如图 5 所示。

 

 

3.2 软件设计部分

系统主要功能是将系统采集到的模拟信号通过硬件转换成数字信号,将监测到的数据通过 UART 发送到 PC 的超级终端加以显示出来;并且可在系统运行初始阶段设置温度的上、下限值,在超出温度范围时报警,且产生相应的控制信号进行加热或者冷却。各个模块的运行由微处理器 CortexM1 进行协调。系统不断监测模拟输入端,如果模拟输入有变化,就进行 A/D 转换,并将转换后的结果发送给 CortexM1;CortexM1 再将接收到的结果在规定时间内通过 UART 发送到 PC 的超级终端显示和在系统配接的 OLED 屏上彩色显示。

 

该设计的系统应用软件是在 Actel 公司的 SoftConsole 开发平台上完成的。由于程序比较复杂,可以分为几个子程序,具体包括:对 CoreUART,CoreAI,LED 屏等的初始化配置,以及主要功能中 CortexM1.c 主程序的完成。系统流程图如图 6 所示。

 

 

4 结语

经实际调试与运行,超级终端上得到了监测到的温度值,并且能实现温度超出范围时报警和正常控制下实现加热和冷却的效果。该设计能实时测量并显示温度值,且精度高,反应快,达到了预期设计目标。