工程教育认证背景下课程案例教学改革实践*
——以《CPLD/FPGA及其应用》为例
2023-01-10李双喜张玉山张永锋孙文洋
李双喜,张玉山,张永锋,王 岳,王 磊,孙文洋
(安徽科技学院电气与电子学院,安徽 蚌埠233030)
0 引言
应用型本科高校电子信息工程专业人才培养方案中,CPLD/FPGA与MCU、DSP、ARM芯片开发是电子信息系统数字化、智能化、网络化开发四大平台,掌握CPLD/FPGA与MCU、DSP、ARM芯片工程开发实践能力对解决复杂电子信息工程问题具有重要作用。CPLD/FPGA芯片开发典型特征是基于硬件平台上的硬件语言(HDL)开发,而MCU、DSP、ARM都是侧重于基于微处理器平台上的软件开发;CPLD/FPGA芯片开发由于其硬件加速的良好性能,在高速图像、语音数据处理、通信以及实时控制、信息测量中具有十分重要的地位[1-2]。
CPLD/FPGA课程主要掌握EDA技术中的三要素—开发语言(HDL)、开发工具和芯片,课程通过一系列的数字系统工程开发实践在掌握这种高效设计技术的同时达到能够用于解决电子信息工程问题[3-4]。
为更好地促进学生在掌握CPLD/FPGA开发技术基础上,能够将该技术运用于解决实际工程问题而获得高效的工程开发实践经验体验,并能够获得“学以致用”的目的,我们设计了从简单到复杂,从模块到系统的典型案例驱动,体现CPLD/FPGA在控制、通信和信息处理中的典型工程应用,教学实践上很好地解决了从器件、技术到工程开发的需求训练,教学效果与学习兴趣得到极大提升。
以下通过一个模块案例和一个系统案例来分析案例教学的改革思考。
1 线性分组编码与解码模块设计
线性分组编码理论基础属于信息理论与编码课程中一个知识领域,本案例设计从CPLD/FPGA课程实践能力培养为出发点,有效地将本专业的数学基础(线性代数)、数字电路、信息理论与编码等课程的知识点进行有效衔接,融合贯通,服务于工程项目需求。通过线性分组编码与解码模块设计的案例教学,在加强了对CPLD/FPGA芯片内部结构的理解的同时,通过工程需求将本专业的相关课程的知识进行有效融合,使课程教学内容的相互支撑与运用体现出来。加强了学生对课本理论知识的认知,并能有效思考如何将理论问题变成可实现的技术问题。
1.1 问题提出与系统模型
在通信系统中,由于信道存在大量的噪声和干扰,使得经过信道传输的信息在接收端与发送端可能存在误码,在工程上常采用交错控制技术实现对误码率的控制,减少信息传输过程中的出错。差错码技术是在发送端的信息序列中插入相应的校验码,使原来的相关性很小的信息码之间产生一定的相关性,从而在接收端利用相关性实现对传输信息码的差错检测。
问题:设计一个(7,4)线性分组码的编译码电路。
模型:线性分组编码是采用增加校验码的差错控制方式的新的编码结果,在这种结构中每个码组(字)只与该码字的信息码元相关,即分组码。分组码内的规律是线性的,即线性分组码。
将K个信息位分成一组单独处理,按照一定的规律给每个信息组增加N-K个检验码,组成字长为N的二进制码,即(N,K)分组码,其基本的编码与解码数学关系为式(1):
C=U·G
H·CT=0T
(1)
HyT=HeT=0→表示无差错
HyT=H(H⨁e)T=HeT=sT
s=eHT
(2)
G:线性分组编码的生成矩阵,是设计编码器的关键;
H:线性分组解码的监督矩阵,是设计解码器的关键;
C:发送端的信息码字;
e:表示传输过程的差错;
y:表示接收端的码字;
s:定义为校正子,即伴随子。
1.2 问题分析与知识需求
根据(7,4)线性分组码的编译码模型,因此得到编码器关系如式(3),接收端得到的误差算子如式(4)所示。
(c0,c1,c2,c3,c4,c5,c6)=
(3)
(s0,s1,s2)=
(4)
1.3 问题解决
根据误差算子,可以得到:
c=y-e
(5)
采用VHDL语言来实现上述过程,不难写出:
通过本模块案例教学:第一,解决了如何清晰认识信息理论与编码中的7-4线性分组编解码理论规则中矩阵运算过程;第二,在通用的矩阵运算中,解决了二进制信息矩阵运算实现的数字电路关键单元-乘法器与加法器;第三,认清在bit乘法与求和中的核心数字逻辑部件是异或门(XOR);第四,更清晰认知了异或门(XOR)是CPLD/FPGA器件结构内部的重要单元的结构特点,从而更清晰地认识了CPLD/FPGA器件内部结构和特点。
图1 编码器的VHDL代码与逻辑符号
图2 解码器的VHDL代码与逻辑符号
2 异步电动机缺相保护器开发
2.1 问题提出与方案
三相异步电动机在工作过程中,由于振动、导线连接处松动等实际原因可能造成缺相故障,而缺相故障的后果往往会导致电动机过热烧毁的问题,如何解决三相异步电动机的缺相检测问题并进行保护是一个实际工程问题。
CPLD器件具有处理逻辑问题的硬件优势,相对单片机而言其处理速度和抗干扰能力在强电系统中具有明显的运用优势。
问题:设计一台三相异步电动机缺相检测仪。
模型:三相异步电动机的供电电源是三相对称交流电,其关系为式(6):
u1=Umsinωt
u2=Umsin(ωt-120°)
u3=Umsin(ωt+120°)
(6)
2.2 问题分析与知识需求
根据三相异步电动机的工作,其电源的相序只有两种可能性,一是正相序,二是逆相序。
为能够使用CPLD/FPGA器件进行工程设计,电动机系统是一个强电环境中非数字系统特征,要进行处理则需要的基本知识:
1) 三相异步电动机工作的380 V电压取样变换为信号处理的低压问题,这是电路原理课程知识问题。
2) 电网的正弦交流电是正弦变换关系,而CPLD/FPGA处理的是数字信号,需要解决模拟信号的数字化问题,这是与数字电子技术课程紧密相关的知识点。
3) CPLD/FPGA处理后的数字信号要驱动继电器等执行器对故障电动机负载进行切除,这里涉及功率驱动问题。
2.3 问题解决
根据工程设计需要,采用大电阻分压处理将380V电压转换为低压,进而通过具有正反馈的电压比较器获得TTL逻辑信号,通过获得三相逻辑信号送入CPLD器件进行逻辑处理,判断缺相故障进而驱动继电器切除故障电动机,达到保护目的。
图3 基于CPLD的电机缺相检测
图4 基于CPLD的电机缺相检测模块与实现
针对该案例的工程设计要求,运用电路、模拟电子技术、数字电子技术解决好取样电路、比较电路、功率驱动单元的设计,以CPLD器件开发为检测控制核心单元达到训练解决复杂工程问题的能力训练。
3 结论
通过案例驱动,充分考虑解决复杂工程问题的能力和素质培养要求,本课程以CPLD/FPGA技术为平台,将本专业的前期数学基础、专业基础以及专业课程知识体系和内容的内在联系与关系进行有机融合,达到“学以致用”的目的,对工程知识运用,问题分析能力、研究和解决工程问题综合素质训练将起到积极的作用,促进了课程教学目标的有效达成。