论文导读::随着电子计算机技术的发展,各种医疗器械的精度也越来越高,其在医疗事业的进步中起着功不可没的作用。文章以FPGA芯片为控制核心结合相关的外围器件完成了激光器功率控制系统的设计。通过FPGA控制数字电位器DS1867实现了对激光器电源内部电阻的控制,从而改变激光器发射功率等级的目的。同时系统还实现了检测激光器所在环境的温度,及高温报警、定时控制等功能。
论文关键词:FPGA,激光器,电位器,高温报警,定时控制
1 引言
激光深刻地影响着自然科学的各个领域,应用范围遍及国防军事、医疗卫生及国民经济诸多部门。激光在医学研究、临床治病方面日益显示出其优势。激光器是现代科技技术应用产生的一种新仪器。该设计采用FPGA进行对激光功率器控制,具有精确度高、稳定性好、响应速度快等特点。同时,基于FPGA的硬件系统设计方法操作简单,开发成本较低,已成为当今世界上嵌入式系统硬件开发的主流方法之一。为使激光器的工作更精确可靠,文章以FPGA芯片为控制核心结合相关的外围器件完成了激光器功率控制系统的设计。
2 系统总体设计
2.1 控制原理[1]
激光功率由数字电位器DS1867的输出电阻决定,DS1867数字电位器的输出电阻由公式(1)得出:
R=D×RWL+RW (1)
式(1)中的RW为滑臂电阻,及内部电位器电子开关电阻,通常RW≤100Ω,典型值为40Ω;RWL为数字电位器DS1867内部电子阵列中每个电阻单元的阻值;D为输入的数字量。本设计把功率等级分成10级,则输入数字量D的值如表1所示,可通过查表实现。
表1 激光器功率等级与DS1867输入数字量D的关系
等级
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
输入数字量D
|
FFH
|
D6H
|
CCH
|
B3H
|
99H
|
80H
|
66H
|
4DH
|
33H
|
1AH
|
功率由公式(2)得出:
P=U2/R (2)
式(2)中的U为激光器的电压,R为DS1867数字电位器的输出电阻,由公式(1)得出。
2.1系统功能
系统通过键盘和FPGA对数字电位器的输出电阻的控制,从而改变激光的输出功率,利用数字温度传感器进行温度的采集,用FPGA来实现对温度数据的处理,当温度超限时进行报警,同时利用显示装置将信息显示出来论文开题报告。
2.2 系统的设计框图
系统的结构框图如图1所示
 
图1 系统结构图
3 系统的硬件介绍
3.1 FPGA的选型[2]
该设计所选用的FPGA器件是Altera公司生产的Cyclone系列器件。Cyclone系列器件采用一种全新的低成本架构;可实现NiosⅡ嵌入式处理器;通过向NiosⅡ处理器指令集中增加定制指令可以加速软件算法;支持一系列串行总线接口定时控制,如SPI、I2C、IEEE1394标准和通用串行总线(USB);支持多种通信协议,如表1所示。
表1 Cyclone系列器件支持的通信协议
协议
|
E1
|
E3
|
T1
|
T3
|
STM-0
|
STM-1
|
STM-4
|
STM-16
|
最大带宽/Mbps
|
2.048
|
34.368
|
1.544
|
44.736
|
51.480
|
155.520
|
622.080
|
2 488
|
3.2 传感器选型
该系统选用DS18B20数字温度计对温度进行测量。数字温度计DS18B20是采用1-wire总线接口的数字温度计,测量温度范围为-55℃―+125℃,精度可达0.0675℃,最大转换时间为200ms。1-wire总线支持主从式结构,硬件上需外接上拉电阻。当一方完成数据通讯需要释放数据总线时,只需将总线置高电平即可;如需要获取总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获取总线控制权。
3.3 数字电位器
该系统选用的数字电位器为DS1867。DS1867包含两个256等级输出地电位器,电阻可调范围为0~10kΩ,占用I/O口少,内含E2PROM,电位器设置在掉电后能自动保护。
3.4 液晶显示屏
该系统采用较先进的有机电致发光器件(Organic Light Emitting Device。OLED)SSD1303T6对结果进行显示,形象直观。OLED相对于液晶显示器LCD来说,其主要优势在于驱动电压低,功耗小,主动发光,平板超薄,响应速度快,工艺相对简单等。 SSD1303是晶门公司采用TAB封装的单色OLED模组。这种基于CMOS工艺的驱动IC集成了行、列驱动器、控制器和SRAM,可支持的最大分辨率为132×64,可以显示4色区域色,并可编程实现256灰度,可实现水平滚动显示。
3.5键盘
在时钟控制下循环扫描键盘,根据列扫描信号和对应键盘相应信号确定键盘按键位置。用户通过4×4矩阵键盘,配合液晶显示器进行交互。
4 系统的模块设计
系统上电之后先对整个系统进行复位操作,使各个相关器件归为初始状态。
4.1分频模块[3]
分频模块的作用是产生不同频率的时钟信号,为不同的模块提供所需的时钟脉冲。分频模块的电路符号如图2所示

图2 分频模块
4.2温度测量模块
温度测量模块是与DS18B20的接口,用来控制DS18B20的操作,并获取数字温度值。此模块的电路符号如图3所示,其中,clk_1MHz是由系统时钟信号20MHz分频得到的1MHz的同步信号;dq是与DS18B20的双向接口Temp[9..0]是数字温度输出值;d端口用来向DS18B20输出控制信号;cont为三态门的使能信号当,d向dq输出控制命令时,cont=1使能,而当dq向FPGA返回信号时,cont=0,为高阻态;dq端口全程记录DS18B20的状态,向FPGA返回测量温度值时,通过此端口将数字值存储输出。[4]

图3 温度测量模块
4.2显示模块
界面采用SSD1303,用以显示功率等级、定时参数以及温度变化等参数论文开题报告。该设计中所需字符比较简单定时控制,按照需要自行设计了字符“O~9”,“.”,“:”,“T”。由于字库较小,采用数组方式存放数据。如下程序所示。
unsigned charpage[13][8]={
{0x00, 0x00, 0xff,0x81, 0x81, 0xff, 0x00, 0x00}, / / [0]
{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]
};
4.3报警及控制模块
该模块实现温度超限时报警及对数字电位器为DS1867控制。[5]该模块的部分代码如下:
process(clk100)
begin
if clk100'event and clk100='1' then
if WD>b then //温度大于b值时
bell<=1;TJie<=1; //蜂鸣器响起;调节数字电位器
end if;
end if;
end process;
5 系统软件设计
系统启动时先进行初始化,通过键盘设定参数,读取数字温度计的数据,判断温度是否超限,超限则启动报警装置并调节数字电位器,若不超限则继续检测数字温度计的数据。系统主程序流程图如图4所示。
 
图4主程序流程图
6 结束语
随着电子计算机技术的快速发展FPGA的优势越来越突出。基于FPGA的系统速度快、安全系数高、可以并行处理使得它在现在的IT行业中占据了不可替代的地位。该设计采用VHDL硬件语言进行描述,用FPGA及相关器件完成了对激光器功率的控制。经实际调试与运行,实现了各个功能。该系统还有精度高、反应快等特点,达到了预期设计目标。
参考文献
[1]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2005.
[2]徐光辉,程东旭,黄如.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社,2006.
[3]周景润,图雅,张丽敏.基于Quartus2的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社,2007.
[4]刘欲晓.EDA技术与VHDL电路开发应用实践[M].北京:电子工业出版社,2009.
[5]潘松,黄继业.EDA技术与VHDL(第2版)[M].北京:清华大学出版社,2007.
|