基于FPGA的具有数字显示的水温测控系统
2.3 数字显示
该系统采用较先进的液晶显示屏对结果进行显示,形象直观。这里采用的是有机电致发光器件(Organic Light Emitting Device。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”的字库模型。本文引用地址:https://www.eepw.com.cn/article/191770.htm
该设计中所需字符比较简单,按照需要自行设计了字符“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机通信的功能。系统测量精度和控制精度均良好。
评论