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