基于MSP430单片机的晶体管图示仪的设计与实现
实验题目:基于 MSP430 单片机的晶体管图示仪的设计与实现
1. 课程简要信息
课程名称:单片机应用实践
课程学时:48
适用专业:电子信息、自动化、通信工程、物联网、电气自动化、生物医学工程等电类专业学生年级:大学三年级
2. 实验内容与任务(限 500 字)
目前实验室中广泛采用模拟式的晶体管图示仪,具有成本高、测试精度不理想、无法存储数据等缺点。本实验项目要求设计并实现一款以 MSP430单片机为控制核心的便携式晶体管图示仪,可完成对晶体管输入输出数据的测量、显示、分析、存储、打印等功能。
基本要求:
1) 以MSP430单片机为控制核心;
2) 要求系统能测量 BJT 双极结型三极管的型号、电流放大倍数;能获取 BJT 双极结型三极管的输入、输出特性曲线;能获取场效应管的输出特性曲线;
3) 对于便携式系统,要求数字化晶体管图示仪具有低功耗、体积小、精度高以及稳定性好的特点;
4) 测试数据及输入输出特性曲线能够在LCD液晶显示屏上显示;
5) 添加 PS/2 鼠标操作功能,进行人机交互,实现对 LCD 液晶显示屏上的图形化界面的操作。
扩展要求:
1)实现下位机与上位机的通信,利用计算机的软件实现对测试数据的分析、存储、打印等高级功能。
3. 实验过程及要求(限 300字)
1)学习晶体管(包括 BJT 双极结型三极管和场效应管)的工作原理,掌握晶体管型号测试、
电流放大倍数测试、输入输出特性曲线获取的原理及方法;
2)查询 MSP430 系列单片机相关的技术资料,根据低功耗、高性能、便携式等要求选择合适
的型号;
3) 设计单片机的最小系统;
4) 设计多电压供电电源模块;
5) 构思系统的信号处理与显示方式,选择合适的模/数和数/模转换方式及精度等级;
6) 设计合适的PID算法实现稳定、精准地采集晶体管三个管脚的电压或电流信号;
7) 添加 PS/2鼠标进行灵活方便的人机交互;
8) 实现下位机与上位机的通信及上位机软件对测试数据的高级处理;
9)撰写设计报告,并通过分组演讲,学习交流不同解决方案的特点。
4. 相关知识及背景(限 150 字)
该实验项目是解决工程实际问题的典型案例,结合了模拟电子技术、数字电子技术、单片机技术等多方面内容,中间涉及到信号采集、信号放大、模数信号转换、数据显示、图形显示、PID 控制、串口通信及上位机数据处理等多方面的知识与技术方法;并涉及硬件电路的设计、组装、调试及软件编程流程设计、优化等问题。
5. 教学目标与目的(限 100 字)
在实际的工程项目中引导学生掌握单片机、ADC、DAC、放大电路、液晶显示器等单元的特点及实现方法;鼓励学生根据需求寻找不同的解决方案;引导学生掌握硬件电路的设计流程及技巧,提高学生的综合设计能力和动手能力。
6. 教学设计与引导
本实验立足于工程实践,需要经历学习研究、方案选择、系统设计、软硬件调试、数据标定、设计总结等过程。在项目开展过程中,应在以下几个方面加强对学生的引导:
1) 学习了解晶体管的工作原理,掌握晶体管型号测试、电流放大倍数测试的方法;掌握获取不同型号晶体管输入输出特性曲线的方法;
2) 理解系统的性能指标要求,选择合适型号的单片机,熟悉选定单片机的特点及小系统的搭建;
3) 实验中对晶体管三个管脚采集的电压或电流信号需要选择合适的放大电路进行放大后被ADC(一般MSP430系列中包含有ADC单元)转换为数字信号;
4) 实验电路中需要多个供电电压,需要设计合适的电源电路;
5) 实验测试的数据(如型号和电流放大倍数)可直接由液晶显示器显示,输入输出特性曲线需要选择合适的曲线绘制算法,在液晶显示器或计算机中显示;
6) 可以简略地介绍 PID 反馈控制的基本原理,要求学生自学实现反馈控制的方法及参数的整定;
7) 采集数据在进行 PID 反馈控制时,需要用到 D/A 转换器,D/A 转换器的精度应该怎么选择;
8) 当硬件电路设计、制作、调试完成后,必须要用标准仪器设备进行实际测量,验证所设计系统的测试正确率与误差;
9) 在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,拓宽知识面。
在设计中,要注意学生设计的规范性;如系统结构与模块构成,模块间的接口方式与参数要求;在调试中,要注意工作电源、参考电源品质对系统指标的影响,电路工作的稳定性与可靠性;在测试分析中,要分析系统的误差来源并加以验证。
7. 实验原理及方案
(1)系统硬件结构框图
以MSP430单片机为核心构建的晶体管图示仪硬件结构框图如图 1所示,主要包括电压信号采集模块、LCD 显示模块、D/A 转换模块、PS/2 鼠标接口模块及上位机串行通信模块等。

图1 晶体管图示仪硬件结构框图
(2)各模块实现原理及方案参考
1)硬件模块设计$\textcircled{1}$ 单片机的选型
数字化晶体管图示仪要求体积小、精度高、功耗低以及稳定性好这些特点,由美国 TI公司生产的16位精简指令结构(RISC)的超低功耗单片机MSP430F436,具有以下特点:工作电压在 $1 . 8 \mathrm { V } ^ { \sim } 3 . 6 \mathrm { V }$ 之间;正常工作时功耗可控制在 $2 0 0 \mu$ A以内,低功耗模式时可控制在 $2 \mu$ A以内;内部具有硬件SPI、I2C、8通道12位高精度 $\mathrm { A } / \mathrm { D }$ 转换器、4 个串行通信口(USCI)、大量的 $\mathrm { I } / 0$ 端口及大容量的片内存储器等硬件资源,这些特点正好能满足设计的要求。
$\textcircled{2}$ 电压信号采集单元
电压信号采集模块需要将晶体管三个电极采集到的电压信号送入 $\mathrm { A } / \mathrm { D }$ 转换器。在测试端提供了4 个插槽,排布依次为 E(发射极)、B(基极)、C(集电极)、E(发射极),基本可实现对任意管脚排布的晶体管进行测量,大功率三极管可以使用转接板实现。被测晶体管测试电路采用共发射极连接形式,电压信号采集参考电路如图 2 所示。

图2 电压信号采集电路
其中,DA_OUT1、DA_OUT2、DA_OUT3 是由 3 片 $\mathrm { D } / \mathrm { A }$ 转换器输出,再经过前级运算放大器比例放大和后级甲乙类互补对称功放放大后输出的模拟电压信号,分别实现对晶体管基极、集电极和发射极的电压或电流信号进行控制,并由基极和集电极提供的变化的电压或电流信号建立测试条件。基极限流电阻取值要求在KΩ 级,保证基极电流在 uA数量级,防止晶体管输出特性曲线出现失真。三个电极获得的电压信号经过由 LM358 运放构成的电压跟随器,送到单片机内置的 3 路 A/D 转换器中进行模/数转换。
$\textcircled { 3 } \textcircled { } / \textcircled { \mathrm { A } }$ 转换模块
电压输出模块中 D/A 转换器选用 12 位电压输出的 TLV5616,该器件带有灵活的 4 线串行接口,可以无缝连接SPI、QSPI和Microwire串行口;其数字电源和模拟电源独立供电,电压范围为 $2 , 7 ^ { \sim } 5 . 5 \mathrm { V }$ ;具有 2 倍增益轨到轨(Rail-to-Rail)输出,稳定性提高并减少建立时间;输出和关电方式也适宜单电源、电池供电应用,满足便携式要求;并且可灵活地通过控制字优化建立时间和功耗比。
D/A 转换器在系统中被用来设定测试过程中的阶梯电压,12 位 D/A 理论上最小分辨率可达到1/4095级,分辨率远远高于模拟晶体管图示仪。采用 3片 D/A转换器分别给待测晶体管基极、集电极、发射极提供变化的电流或电压,其读写操作由单片机直接控制。为满足各类特性参数各异的晶体管测试,D/A 输出的电压值和电流值需根据采集电路的输出结果反馈进行自动调整,电压和电流值的大小是通过编制的PID算法设定的。
$\textcircled{4}$ 鼠标模块
晶体管图示仪采用 LCD 液晶显示图形化界面,接口采用 PS/2 鼠标进行人机交互,实现简单、操作方便、定位精度高、可靠性高、价格低廉、功耗小,实用性较强。
单片机通过PS/2协议获取鼠标移动向量,在液晶上实现精确定位。不仅能够实现菜单选择,还能够完成每个图形像素点的坐标定位,输出对应点的参数值。PS/2鼠标接口采用一种双向同步串行协议,由单片机控制鼠标的 CLOCK 和 DATA 端子。鼠标与单片机之间传送数据,鼠标的 CLOCK 接主机的外中断,鼠标的 DATA 接 UART 的接收脚 RxD 。在初始化过程中,单片机利用 CLOCK 的外中断和 RxD脚的 $\mathrm { I } / 0$ 口实现数据的传输。初始化完成后,切换到RxD功能即 UART的接收引脚功能,将鼠标设定为Stream模式的工作状态,实现主动发送数据。其电路如图3所示。

图3 PS/2鼠标接口电路
$\textcircled{5}$ 电源模块
测试系统采用 12V 电源供电,由于液晶模块需要 5V 供电,而单片机需要 3.3V 供电,因此需要设计电源电路来提供两个电压值,电源电路如图 4 所示。

图 4 电源电路
采用 7805 稳压模块将 12V 电压转换成 5V 电压为液晶显示器供电,利用 1117 稳压模块将 5V 电压再转换为3.3V给单片机供电。
$\textcircled{6}$ 串行通信模块
上位机实现对测试数据的分析、存储、打印等高级功能。上位机与下位机之间的通信选用 RS232通信协议进行数据的传递,相应的接口电路如图 5所示。

2)软件模块设计
$\textcircled{1}$ PID控制晶体管基极饱和电流
通过 PID 算法控制每根采样线的基极饱和电流值。在采样开始时,先设置一个带有裕量的集电极电压值提供足够的集电极电流使晶体管达到饱和状态,然后调用 PID 控制子程序,调节基极电流达到期望值。需要说明的是,算法使用的是离散PID算法,即以一系列的采样时刻点kT代表连续时间 t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分。其程序流程图如图6所示。

图5 上位机接口电路
图 6 PID 控制流程
$\textcircled{2}$ 采样与绘图
在饱和基极电流建立的条件下,D/A输出到基极的电压不变,A/D进行采样,每采完一个点,数据被发送到显示器。同时, $\mathrm { D } / \mathrm { A }$ 输出到集电极的电压根据被测试晶体管的类型自增或自减一个幅值,实现 Vce 的递增,从而测得一条采样线的坐标序列值。得到的序列值暂时存放在显示缓存中,当采完设置的采样点值后,显示缓存的数据逐一在显示屏描点显示。程序流程图如图 7 所示。
绘图模块实现将采样的数据在液晶上或 PC 机上进行绘图。绘图采用 Bresenham 算法实现。Bresenham 算法是计算机图形学领域使用最广泛的直线扫描转换算法。算法原理如下:各行各列象素中心构造一组虚拟网格线。按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后确定该列象素中与此交点最近的象素。采用增量计算,使得对于每一列,只要检查一个误差项的符号,就可以确定该列的所求象素。为方便计算,令 $\mathrm { e } { = } \mathrm { d } { - } 0 . 5$ ,e 的初值为-0.5,d 为交点与相邻像素点的距离。当 $\mathrm { e } \geqslant 0$ 时,取当前象素(xi,yi)的右上方象素( $\mathrm { x i + 1 }$ , $\mathrm { y i } + 1 )$ );而当 $\mathrm { e } { < } 0$ 时,更接近于右方象素(xi+1,yi)。

图 $7 ~ \mathrm { ~ A ~ } / \mathrm { D }$ 采样流程
$\textcircled{3}$ 晶体管极性智能检测
系统提供测量插槽,在晶体管极性未知的情况下也能测出其特性曲线。由于晶体管有两个 PN结,类似于二极管串联。当 PN 结上加直流偏压时,将产生一定的压降,若插槽中没有元件,则无压降。测试流程如图8所示。

图 8 晶体管极性测试示意
$\textcircled{4}$ 上位机通信模块
上位机与下位机的通信采用 $\mathrm { V C } { + + }$ /VB/LABview 等软件实现,步骤如下:
a.上位机与下位机通信的数据帧如图 9 所示。

图 9 上位机和下位机通信的数据帧
数据以字符串”beg”开始,然后是输入输出选择位,上位机根据此位判别测量模式,随后的是晶体管指示位,指示当前所测的晶体管是二极管、PNP 或 NPN 三极管还是场效应管。然后便开始了
每一条测量数据线的数值传送。一条测量数据线的数值传送结束之后,整帧以字符串“end”结束,完成了一条测量数据线的传送。
b.在每次收到图像的重绘请求时,系统都会重新调整图像的比例以便适应新增曲线的需要。每次的重绘都将会把所有的曲线重新绘制到界面上,以避免在读取数据的过程中导致数据错乱。
c.系统支持鼠标直接点选曲线,主要实现方法是:每条直线都有不同的颜色配置,鼠标点击时,上位机程序判断鼠标中心的十字交叉标志线所经过所有点的像素颜色,然后到颜色表中查找该颜色所归属的曲线索引。
3)实验结果参考

图 10 液晶上的绘图效果

图 11 上位机的绘图效果
8. 教学实施进程
《基于MSP430单片机的晶体管图示仪的设计与实现》实验系统的时间跨度较长,因此有必要设置各个实验阶段的时间节点,向学生明确每个阶段应该完成的工作任务。
具体的教学实施过程如下:
课题组对实验内容及要求的审核,确定项目的难度适中及项目的可行性;对学生进行分组,下达实验任务书;
3) 进行实验方法、实验流程、功能模块简要介绍、考核方法的课堂教学;
4) 布置针对实验任务的资料查阅、搜集汇总、整理;
5) 安排小组讨论,通过抛出初步思路,引导学生在前期整理资料的基础上,提出个人的初步实验方案,组内同学并在相互讨论过程中进行思路的碰撞,不断发现问题、思考问题、解
决问题;
- 学生进行选定方案的功能单元划分及单元电路软件仿真验证、测试;
- 学生进行电路原理图、电路 PCB板图的设计;
- 外协加工制作印制电路板;
- 学生列写BOM清单,采购或领取实验所需元器件;
- 在实验室进行电子元器件的焊接、装配;
- 通过外接实验仪器,开展实验电路软硬件系统的联合调试;注意必须采用分块调试的办法,逐单元进行故障排查、完成调试后再整机同时上电;
- 测试实验装置的功能是否达到设计任务书的要求,利用实验仪器或接口装置观察、测试相应的数据并记录在实验报告册中,尝试在现有方案的基础上进行功能的扩展。
9. 实验报告要求
1)实验需求分析:正确理解实验项目的内容和要求
2)实现方案论证:实验的蓝图,关系到实验的成败
3)理论推导计算:科学的计算分析
4)电路设计与参数选择:元器件的选型、设计方案的拟定与选择、电路参数的计算
5)电路测试方法:调试电路,修改电路的设计错误
6)实验数据记录:按一定规律记录获得的测试数据
7)数据处理分析:结果计算分析
8) 实验结果总结与心得体会:误差分析,出现的问题及解决方案,心得体会
10.考核要求与方法(限 300 字)
1) 实物验收:功能与性能指标的完成程度(如硬件设计、软件设计),完成时间。
2) 实验质量:电路方案的合理性,焊接质量、组装工艺。
3) 自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
4) 实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗。
5) 实验数据:测试数据和测量误差。
6) 实验报告:实验报告的规范性与完整性。
11.项目特色或创新(可空缺,限 150 字)
本实验是基于单片机的低功耗、高性能、低成本的数字化晶体管图形测试仪,可实现晶体管输入输出图形参数的测量、显示、分析、存储、打印等功能。制作的产品可应用于生产实践。综合了单片机、数字电路、模拟电路、硬件电路设计与调试、软件编程等多方面的知识,对提高学生的综合设计能力及动手能力有很大的促进作用。
实验案例信息表
| 案例提供单位 | 西南科技大学 | 相关专业 | 通信工程 | |||
| 设计者姓名 | 刘春梅 | 电子邮箱 | 342751544@qq.com | |||
| 移动电话 | 13990170159 | 通讯地址(含邮编) | 四川绵阳西南科技大学信息工程学院通信工程系 | |||
| 设计者姓名 | 曹文 | 电子邮箱 | 530149775@qq.com | |||
| 移动电话 | 13981163352 | 通讯地址(含邮编) | 四川绵阳西南科技大学信息工程学院电子工程系 | |||
| 设计者姓名 | 黎恒 | 电子邮箱 | 595250649@qq.com | |||
| 移动电话 | 13696257358 | 通讯地址(含邮编) | 四川绵阳西南科技大学信息工程学院电子工程系 | |||
| 相关课程名称 | 单片机应用实践 | 学生年级 | 三年级 | 学时(课内+课外) | 48 | |
| 支撑条件 | 仪器设备 | 计算机、直流稳压电源、示波器、信号发生器 | ||||
| 软件工具 | Multisiml2、Altium Designer13、proteus | |||||
| 主要器件 | MSP430F436单片机核心板、TLV5616D/A转换器、7805稳压模块、1117稳压模块、128x64液晶显示模块 | |||||