可编程控制器件(精选7篇)
可编程控制器件 篇1
在现代的通信及基于FPGA[2]的图像数据处理系统中,经常要用到大容量、高速度的存储器。而在各种的随机存储器件中,SDRAM的价格低,体积小,速度快,容量大等优点而获得大家的青睐。但是SDRAM的控制逻辑比较复杂,对时序的要求也比较严格,使用很不方便,这就要求有一个专门的控制器,使用户能方便的操作SDRAM。该文中提出了一种基于FPGA的通用SDRAM控制器[1]的设计,通过verilog来实现。在FPGA的内部采用状态机的方式来实现状态的转换,采用主状态机控制多个次级状态机的形式。且每个状态机的状态数控制在10个以下,保证了内部状态转换的速度。
1 SDRAM简介
在本次设计中,采用ISSI的IS42S16160B作为控制的目标。它支持166、133、100MHZ三种时钟频率。采用了54引脚的TSOP封装,工作电压为3.3V。采用同步接口的方式,所有的信号都是在时钟的上升沿触发。具有16位的数据总线和13位的地址总线,其中地址总线是时分复用的。A0-A12是行总线,在需要列地址的时候,A0-A8提供列地址。它的主要引脚还有CLK(时钟信号)、CKE(时钟使能信号)、/CS(片选信号)、/RAS(行地址选通信号)、/CAS(列地址选通信号)、/WE(写使能信号)、BA(bank选择信号)、DQM等。
通常一个SDRAM会有多个bank,每一个bank的行地址和列地址都是通过地址总线输入的,通过BA的值来控制最后要选通的bank,在对bank进行读写前,必须激活行选通信号。换页读写的时候要对关闭的行进行预充电,然后再激活新的行进行读写。在对SDRAM进行正常的操作之前要对它进行初始化。
2 SDRAM控制器的设计
SDRAM控制器内部由接口模块、命令解析模块、命令响应模块和数据通道共四部分组成,其模块图如图1所示。
控制器内部的各个功能模块之间的转换是由一个主状态机控制多个次级状态机来控制实现的,为了更加快捷的进行状态转换和保证控制器的时序满足要求。每个状态机的状态数都保持在10个以下。控制器的状态流程图如图2所示。
IS42S16160B型SDRAM芯片是由4个bank组成,每个bank由8192行512列的16位存储阵列构成。芯片上电以后需要200μs的稳定时间,然后需要对所有的bank进行一次预充电,充电完成之后要进行至少8个周期的刷新,刷新完成后进行模式寄存器的设置,在模式寄存器设置完成后就进入了正常的工作模式、即转入idle状态。此时用户可以对SDRAM进行正常的读写。
2.1 SDRAM控制器接口模块
在对SDRAM进行完初始化工作后,用户可以通过控制器的接口模块来输入指令来控制SDRAM数据的读写。数据接口模块的主要功能是连接控制器内部寄存器与外部接口,根据不同的数据类型定义合适的寄存器。保存用户输入进控制器的指令码、地址、读写数据等信息。例如:cmd_r<=cmd:同时将指令码交与命令解析模块解析。为命令响应模块提供可靠的地址信息和写入数据。此模块直接与外界连接,可以通过它来与控制器内部进行数据交换。同时还提供控制器内部全局时钟信号,设计将控制器的内部时钟信号与外部信号反相,这样在外部时钟的信号的上升沿将数据输入之后,在经过半个周期之后就可以被内部时钟信号控制采样。与采用同一个时钟信号相比能够节省半个时钟周期的时间。并且存取数据时可以有一定的时序余量,提供足够的建立时间和保持时间,避免时序冲突,出现不稳定状态。
2.2 SDRAM控制器命令解析模块
命令解析模块对输入进去的cmd等命令进行解析,输出相应的指令给命令响应模块。例如当cmd为001的时候,解析出为读命令。这是主状态机就会跳转到读状态进而控制读状态内部次状态机来进行读数据操作。此外在命令解析模块还包含对SDRAM模式寄存器的设置,可以设置SDRAM的突发读写长度和预充电周期。寄存器设置值是在SDRAM初始化的时候通过接口模块输入,也可以在idle状态输入。
2.3 SDRAM控制器命令响应模块
该模块的作用是根据命令解析模块解析出来的操作指令,做出符合SDRAM读写规范的操作动作。对SDRAM的操作是通过控制FPGA与SDRAM相连接引脚的高低电平来实现的。读、写、自动预充电读、自动预充电写和预充电命令等都是通过此模块作用于SDRAM。在带自动预充电的突发读写模式中,使用小的状态机来控制数据的读写顺序和读写状态,保证读写数据的正确性。在此模式下,每一个时钟周期都可以进行数据读写,不需要再等待行消隐和列消隐,节省读写时间。带自动预充电的读写模式可以连续的对数据进行读写,在前一个突发长度结束之后可以接着进行数据读写,这样就可以节省掉单独进行预充电所需要消耗的时间。
2.4 SDRAM控制器数据通道模块
数据通路的工作比较简单,主要就是保证控制器读、写数据信号线和从SDRAM得到的数据之间能畅通连接。但是需要注意的是SDRAM的数据输入输出引脚是双向的。所以在定义接口是要用wire型,同时用assign语句赋值,尽量减少数据传送的时间延迟。如:assign sdr_dq=(r_w==1)?sdr_dq_reg:16'bz。
3 SDRAM控制器的功能验证
3.1 SDRAM控制器的软件仿真验证
本设计中功能仿真是在quartus ii 9.0[3]的环境中用verilog编写testbench的方法,以modelsim作为仿真工具,通过检查波形来完成。
SDRAM控制器控制SDRAM进行写读操作的仿真图如图3所示。clk0是内部时钟,它与系统时钟反相,内部信号的传递、状态机的转换等都是在内部时钟的上升沿触发。在图中可以看到在行激活后两个周期将写命令和数据同时给SDRAM,因为这里设置的是长度为4的突发长度,所以将连续写入4个数据,其列地址是自动变化的。上面已经介绍,在SDRAM进行读写的时候可以被其他的读写操作中断,在进行写操作时,命令变成读,这时就会执行突发的读操作,且不用消耗等待预充电的时间,只需经过一个列消隐时间就可以从给定的地址中读出数据。
3.2 SDRAM控制器的FPGA验证
Signal Tap II[4]嵌入式逻辑分析仪提供了一种对器件进行实时测试的方法,它可以随设计文件一起下载到目标芯片中,用以捕捉目标芯片中有关信号节点处的信息,而不影响芯片的正常工作。Signal Tap II将测试得到的信号暂存于目标器件的片内RAM中,再通过器件的JTAG端口和USB Blaster II编程线将采得的信号传出,以供计算机进行分析。
控制器在ALTERA公司的Cyclone-II系列EP2C70F896芯片上实现验证。综合后共使用了615个逻辑单元,占用资源<<0.1%;使用了105个引脚,占用资源17%;使用了一个PLL,占用资源25%。经片上调试后,完全可以控制SDRAM进行数据的读写。通过逻辑分析仪采集回来的读写信号如图4所示。sdr_dq信号是SDRAM的读写信号线,上面的小间隔不是毛刺,而是时间单位变大之后无法显示原来数据宽度所致。放大后的读信号如图5所示。数据显示SDRAM控制器可以很好的控制SDRAM进行读写,且读写转换之间不需要再等待更多的时间进行预充电。突发读写数据时序良好,没有出现不稳定状态。
4 结束语
用硬件描述语言进行电路与系统的设计是当前EDA技术的一个重要特征。用高级语言进行电路设计,可以灵活的修改参数,增加电路的可移植性。该文在详细研究了SDRAM的主要原理、结构和时序的基础上,针对目前内存技术的迅猛发展及其应用日益广泛的趋势,研究了一种基于verilog hdl的SDRAM控制器,并在通过一系列的逻辑仿真、综合、FGPA硬件验证后得以实现。结果表明控制器对SDRAM的读写操作可靠稳定,读写时序满足SDRAM的需要,读写数据转换及突发读写所需的时间也比较少,能方便快捷的控制高速。
参考文献
[1]Ying Xu,Aabhas S.Agarwal,Brain T.Davis.Prediction in Dynamic SDRAM Controller Policies[J].Lecture Notes in ComputerScience,2009,56:128-138.
[2]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008:67-72.
[3]郑亚民,董晓舟.可编程逻辑器件开发软件Quartus II[M].北京:国防工业出版社,2006:125-130.
[4]吴继华,王诚.Altera FPGA/CPLD设计(高级篇)[M].北京:人民邮电出版社,2005:245-254.
可编程控制器件 篇2
关键词:PSoc技术,嵌入技术,PSoc Designer,PSoc Express
现代电子技术系统设计,应站在基础面向未来。随时掌握新型的设计方法和设计理念。可编程逻辑器件,主要是指CPLD和FPGA,能应用在高科技研发领域,如数字电路设计、微处理器系统、DSP、电信、可重构计算机及ACIC设计。从上世纪70年代,可编程逻辑器件经历了从PROM(Programmable Read Only Memory)、PLA(Progammable Logic Array)、PAL(Progammable Array Logic)、可重复编程的GAL(Generic Array Logic),到上世纪90年代末采用大规模集成电路技术的CPLD,直至CPLDHE FPGA的发展过程。
1. PSoc技术
PSoc技术是一种全新的嵌入式设计,即设计简单,把设计人员从繁琐地低水平编程中解脱出来,容易掌握无需太多培训,软件可以提供丰富的器件及功能库,提高设计效率,缩短设计周期,加速样机成型;节约时间用于创新;灵活性好,客户需求发生改变时很快能修改设计,新产品更新换代无需太多变化;集成度高,多种功能集于一身,便于研发,采购和生产;降低成本,降低设计人员入行门槛,降低研发人员成本。
PSoc技术特点
PSoc是一种可编程的半导体器件,与现场可编程门阵列FPGA(Field Programmable Gate Array)和在系统可编程模拟器件ispPAC(In-Syetem Programmable Analog Circuit)相比,具有如下特点:
1.1 PSoc综合FPGA和ispPAC的功能为一体,既具有FPGA的可编程数字阵列,又具有ispPAC的可编程模拟阵列,既具有处理数字和模拟两种信号的能力。此外,PSoc所具有的A/D、D/A用户模块解决了两个阵列的接口问题。
1.2 PSoc有一个8位微控制器,因而可以方便地实现系统设计。尽管FPGA可以通过设计实现一个软核微控制器或微处理器,但是增加了系统设计的难度。
1.3 与ispPAC相同,PSoc不需要编辑器,能够在系统运行过程中编程,以修改和重构电子系统,因而使用灵活方便。PSoc的以上特点使其在小型系统设计方面正在得到越来越广泛的应用。
2. PSoc器件结构
PSoc可编程片上系统系列可以替代许多基于单片微处理器并有内置可编程逻辑需求的系统。PSoc微处理在芯片内部具有一个高速内核、快速闪存和SRAM数据内存,以及设计者可配置的模拟模块和数字模块。
PSoc器件的基本平台由下列部分构筑而成:
●一个8位CPU内核。
●通用型数字用户模块。
●具有通信能力的通用型数字用户模块。
●连续时间模拟用户模块。
●开关电容模拟用户模块。
●确定各种信号输入和输出接口电路的能力。
为了使该器件具有最大的灵活性和可编程能力,许多附加部件都可在现场配置。
2.1 PSoc内核(微处理器部分)
PSoc内核包括:CPU内核、SRAM、SROM、Flash存储器、中断控制器(Interrupt Controller)、睡眠和看门狗(Sleep and Watchdog)、一组时钟源。
2.2 数字信号处理系统
(1)数字系统由模块阵列里的4行数字模块、全局数字连接、列数字连接与行数字连接组成。数字模块可以通过全局总线与任何一个GPI/O进行连接,全局总线也可以连接任何信号到任一引脚上并且允许信号的多路复用。
(2)可编程数字模块由定时器和计数器功能模块(Timer)、数字脉冲调制模块(PWM)、串行通信端口(SPI)、串行通信端口(UART)、EEPROM模块和DigBuf模块组成,用户可以根据需要对相应的模块进行编程。
2.3 模拟信号处理系统
(1)模拟系统由模块阵列里的4列模拟模块及其周围的模拟参考电压(AnalogReference)、模拟输入多路选择(AIM)和一个模拟驱动(Analog Drivers)组成。模拟系统最多可以有12个模拟模块,其数量取决于具体的器件。每个可配置的模拟模块由一个可以产生复杂模拟信号的运算放大器组成。每个模块列包含一个B类型的连续时间模块(CT)、一个C类型的开关电容模块(SC)和一个D类型的开关电容模块(SC)。模拟系统由全局模拟互连(GAI)、PSoc基本模拟模块列、模拟信号基准电压发生器和模拟信号输入多路选择器等组成。
(2)可编程模拟模块由6位摸/数转换器SAR8、12位摸/数转换器ADCINC12功能模块、8位模/数转换器DELSG8功能模块、8位模/数转换器ADC8功能模块、8位数/模转换器DAC8功能模块、增益可编程放大器PGA功能模块、基准电压可编程比较器CMPRG功能模块、双极点带通滤波器BPF2功能模块和双极点低通滤波器LPF2功能模块组成,用户可以根据需要对相应的模块进行编程。
2.4 系统资源
系统资源提供了PSoc其它的一些功能,具体功能取决于所选的PSoc器件,其系统资源包括:
●增加PSoc混合信号阵列数字时钟;
●提供一个快速8位乘法运算和32位加法运算的4个乘法加法器;
●用于信号处理应用的两个采样采样器;
●主从执行I2C设备的I2C接口;
●产生一个值为1.3V的内部参考电压;
●在电池供电的情况下,可产生一个正常操作电压的电压泵;
●允许每个I/O引脚连接到一个普通内部模拟总线的加强型模拟多路复用器;
●一个速率达到12Mb/s的全速USB接口;
●M8C支持的多种系统复位。
3. PSoc设计方法
3.1 设计语言
为了更好地在PSoc器件上完成各种系统设计工作。Cypress半导体公司特为PSoc器件提供了两种设计语言:汇编语言和C语言。汇编语言包括M8C内部寄存器和寻址空间、指令集、指令格式、寻址模式、伪指令。C语言的详细使用请参考文献[1,2]
3.2 设计环境
Cypress半导体公司在推出PSoc器件同时针对不同的用户需求提供了多种开发工具。其软件工具有:PSoc Designer、PSoc Express和PSoc Programmer。
PSoc器件的设计开发流程是通过五个部分实现的,他们是:工程创建和设置、设备编辑器子系统、应用程序编辑器子系统、调试器子系统及编程下载子系统。
(1)PSoc Designer设计软件
PSoc Designer是一款高集成度开发工具套件,用于PSoc芯片开发的集成开发环境(IDE)。它还与嵌入式PSoc汇编器、C编译器、全硬件电路内仿真器及器件编程器(电路内编程和ZIF插座编程)实现了无缝连接。在PSoc Designer的设计平台上,用户可以采用C语言和汇编语言编写程序,还可用事件触发器和多断点等先进的特性对设计进行调试,同时还可以采用C语言、汇编语言或两者的结合,通过代码实现单步操作。
PSoc Designer套件是一个集成化开发工具,它将完成所有设计过程,从程序库中选择用户模块一直到最终的电路内仿真和器件编程。该工具中还嵌入了器件数据表、滤波器设计工作表及其它有用信息的菜单入口。设计一旦完成,PSoc Designer随后便能够生成一个与设计相适合的定制数据表。该数据表将说明设计指定引脚的配置及设计引脚编号和用户模块名称,另外还将说明用于整个器件和所有用户模块的每个寄存器设定值。
(2)PSoc Express设计软件
PSoc Express是一款Cypress半导体公司研制并提供支持的可视化嵌入式设计工具,不用写入任何代码便能完成设计工作,生成原理图、BOM和项目报告。设计者只需要直接和目标应用打交道即可,例如LED、Switch、Sensor、Fane等该开发工具能够显著简化嵌入式系统的设计工作,进而提高设计效率。此外,该工具还增加了众多新型设备驱动,这样设计人员能够选择所需设备驱动器并在PSoc器件中轻松自如地设置诸如7段显示器、热电偶、加速计、PC远程监控设备、远程传感器及环境光传感器等有关功能。
利用PSoc Express,设计人员仅需在其应用专业知识领域内工作,他们通过从目录中选择输入和输出器件来定义定制的解决方案,随后将其进行逻辑连接,从而定义系统行为。
4. PSoc技术应用领域
PSoc可支持的功能:环境检测方面应用、触摸感应应用、风扇/电机控制、通讯接口、电源控制及其他(LCD和LED控制)等。
PSoc技术主要应用在如下主流市场:计算机、工业控制、消费电子、通信、白色家电及汽车等领域。
参考文献
[1]曾繁泰等编著《可编程器件应用导轮》清华大学出版社2001.4第一版.
[2]潘松,黄继业编著《EDA技术与VHDL》清华大学出版社2005.7第一版.
[3]叶朝辉,华成英.编著《可编程片上系统(PSoc)原理及实训》清华大学出版社2008.5第一版.
可编程控制器件 篇3
关键词:教学实践,课程建设,可编程逻辑器件,Verilog HDL语言
1 课程背景
CPLD/FPGA的应用开发是电子类和计算机工程类专业的一门重要的工具类专业课程。通过本课程的学习, 使学生在了解CPLD/FPGA内部结构原理的基础上, 掌握利用硬件描述语言Verilog HDL进行数字系统设计的方法, 掌握使用常用开发工具进行硬件电子电路系统的设计开发过程, 以适应现代电子技术发展需求, 提高学生对数字系统的研发能力。
通过该课程建设, 旨在研究并建立适应计算机工程专业方向这门课程的软硬件教学环境, 使学生在掌握Verilog硬件描述语言理论知识的同时, 更注重在实践中的应用。同时将业界最新的知识和技巧融入到教学过程中, 侧重知识的先进性和实用性, 使学生掌握当前嵌入式软件开发的精髓和开发调试技巧, 提高学生对数字系统的研发能力, 达到我校应用型人才培养的办学目标。
课程建设前的教学情况, 教学大纲比较陈旧, 不符合业界新的知识和技巧, 不能授于学生先进和实用的知识;缺乏合适实践环节的训练, 使学生难以将理论知识和实践相结合, 动手能力得不到锻炼;课件比较死板沉闷, 难以调动学生上课积极性和学知识的兴趣性。
2 教学内容设计
2.1 开发平台选择
Quartus II是Altera公司的综合性PLD/FPGA开发软件, 它支持原理图、VHDL、Verilog HDL等多种设计输入形式, 软件还内嵌有综合器以及仿真器, 这些都可以完成从设计输入到硬件配置的完整PLD设计流程。
Verilog HDL (HDL:Hardware Description Language) 语言是一种以文本形式来描述数字电路和系统硬件结构和功能行为的高级编程语言, 用它可以表示逻辑电路图、逻辑表达式, 还可以表示数字逻辑系统所完成的逻辑功能行为。使用Verilog HDL描述硬件的基本设计单元是模块 (module) 。一个模块相当于一个实际的电路元件。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言, 都是在20世纪80年代中期开发出来的。两种HDL均为IEEE标准。其中Verilog起源于C语言, 易学易用, 编程风格灵活、简洁, 易掌握, 而VHDL起源于ADA语言, 格式严谨, 不易学习。
如图1所示为课程实验和课程设计所用到的FPGA实验箱。
FPGA教学实验箱把分离的模块全部整合到一块FPGA教学实验箱底板上, 以该底板为基础, 充分采用模块化设计思想。该实验箱箱底板采用标准的IDC插针, 它可以可将FPGA核心模块、I/O模块、A/D模块、D/A模块通过插针连接到实验箱底板上。实验箱底板上专门开辟了一块用户自定义区域, 包括了三相D/A模块、单片机&外设接口模块、多路线性电源模块等, 极大的方便了设计者的使用。
结合本校学生特点, 本门课程实验装置采用FPGA教学实验箱, 编程语言采用类似于C语言的Verilog HDL, Quartus II软件作为开发工具软件。
2.2 教学内容规划
可编程逻辑器件应用课程教材采用北京航空航天大学出版社的《Verilog数字系统设计教程》, 要求学生在了解CPLD/FPGA内部结构原理的基础上, 掌握利用硬件描述语言Verilog HDL进行数字系统设计的方法, 掌握使用常用开发工具Quartus II软件进行电子系统的设计开发过程, 以适应现代电子技术发展需求, 提高学生对数字系统的研发能力。总学时为48学时, 其中理论课32学时, 实验16学时。理论课学时分配如下:
1) Verilog的基本知识2学时, 讲述硬件描述语言HDL概念及其分类;Verilog HDL语言的历史, 应用情况和设计方法;FPGA芯片内部结构基本原理。
2) Verilog语法的基本概念讲述2学时, 先举几个简单的例子, 引申出Verilog模块的基本概念和编程方法要求;再讲述验证Verilog模块功能正确与否的测试模块的编写。
3) Verilog语法基础知识4学时, 对Verilog语言的模块结构、数据类型、各类运算符及表达式等方面做讲解。
4) 各类语句知识8学时, 主要对条件语句、case语句、循环语句、顺序块语句、并行块语句、生成语句、结构说明语句及常用系统任务等做了讲解, 并在最后举例解释说明。
5) Verilog HDL模型的不同抽象级别2学时, 分别从门级结构和行为描述级进行举例说明, 给Verilog HDL模型的不同抽象级别建模的过程和方法,
6) 编写和验证简单的纯组合逻辑模块2学时, 主要对加法器、乘法器、比较器、多路器等几个常见的纯组合逻辑模块进行建模和验证。
7) 同步状态机的原理、结构和设计6学时, 主要讲述状态的概念和结构;Mealy状态机和Moore状态机的不同点;重点举例讲述如何用Verilog来描述可综合的状态机, 该部分是本课程的重点知识, 通过举例同学生息息相关的现实问题引申出如何描述可综合的状态机。
8) 深入理解阻塞和非阻塞赋值的不同4学时, 主要讲授阻塞和非阻塞赋值的异同、Verilog模块编程要点、Verilog层次化事件队列、阻塞赋值及一些简单的例子。
课程实验设计与学时分配如表1所示:
3 课程教学具体实施方案
1) 教学内容建设
在理论教学方面, 本课程紧密跟踪学科前沿, 及时充实教学内容, 形成教学科研互促互动。依据本课程在教学计划中的地位和课程的特点, 形成一套以应用能力培养为主的教学素材库, 主要有:
教学指导文件包括:理论课教学大纲、课程设计教学大纲、教学计划。
教材包括:理论教材和实训教材。
教与学的媒体包括:教学教案、教学课件、课程作业、教学案例、实验内容。
并建立课程重要内容的习题库和试题库, 以及进行实际应用系统的毕业设计。
2) 教学方法的改革
以现代化教学手段为依托, 以充分利用多功能教室、多媒体教室、校园网等综合应用的现代化教学手段, 实行启发式、项目式、研讨式等多种教学方法灵活应用的教学方法, 形成一套能够使抽象的内容形象化、深奥的内容通俗化的课程教学模式。
3) 加强实践环节
在课程建设中注重学生实践能力的培养。教学团队在理论课开设的同时, 利用现有实验环境, 调研行业嵌入式硬件开发要求和最新技术, 建立紧密配合理论教学内容的硬件实验环境, 并编写配套实验指导书和课程设计指导书;使学生的理论和实践相结合, 激发学生学习兴趣和实践能力的培养。
4 课程教学效果
1) 课程教学对教学质量的促进
通过该课教学, 特别利用生动的课件, 贴近实际应用的案例分析, 及灵活多变的实验教学, 使学生提高了学习《可编程逻辑器件应用》课程的兴趣, 充分了解该课在嵌入式系统设计的重要性。另一方面, 通过课程的教学使学生拓宽了视野, 学到一种全新的基于硬件电路的设计方法。大大增强了学生独立学习的能力, 学生不再满足于老师的被动教学方式, 开始主动学习, 学习效果大大提高, 学习成绩逐年提高。
2) 综合实践能力提高
课程教学打破传统的教学方式, 先举简单例子, 引申出需讲解知识点, 再综合实际应用实例讲解。整个教学过程采用实例贯穿式教学, 由浅入深, 逐步引出知识点的运用与实现。学生在学习知识点过程中这种跟实际应用实例相结合的方式, 能更好理解理论知识。另课程采用多媒体教室授课、实验室验证实验与课后习题复习相结合, 使学生的理论知识进一步与实践实验相结合, 激发学生学习兴趣和实践能力的培养。最后利用一周时间, 让每个学生在FPGA实验箱上设计一个较大型、综合性的可编程逻辑控制器, 加深学生对本课程专业知识和理论知识的认识和理解, 提升学生应用本课程知识体系, 进行应用系统硬件、软件开发的能力, 培养了学生的综合实践开发能力。
5 结语
本课程是计算机工程方向专业学生的重要的专业必修课。通过本课程的学习, 使学生在了解CPLD/FPGA内部结构原理的基础上, 掌握利用硬件描述语言Verilog HDL进行数字系统设计的方法, 掌握使用常用开发工具Quartus II软件进行电子系统的设计开发过程, 以适应现代电子技术发展需求, 提高学生对数字系统的研发能力。本课程教学主要内容涵盖Verilog HDL语言的编程规则和方法, 对硬件电路中的组合逻辑模块和时序逻辑模块从不同抽象级别进行建模和验证, 及利用Verilog HDL语言描述可综合的状态机。教学方式采用多媒体教室授课、实验室验证实验与课后习题复习相结合, 由浅入深, 使学生的理论知识与实践实验相结合, 激发学生学习兴趣和实践能力的培养, 达到良好的教学效果。
参考文献
[1]王金明.数字系统设计与Verilog HDL (第4版) .北京:电子工业出版社, 2011
[2]周润景.基于Quartus II的FPGA/CPLD数字系统设计实例 (第2版) .北京:电子工业出版社, 2013
可编程控制器件 篇4
1 系统硬件设计
该系统采用视频同步分离芯片LM1881, 将读入的PAL制式 (也可以是NTSC制式) 的视频图像的行、场同步脉冲分离出来。CPLD将根据行、场的同步脉冲来控制A/D转换器TLC5510视频图像信号进行转换, 并将A/D转换后的数据通过边缘检测算法进行处理。系统框图如图1所示。
1.1 视频同步分离电路
因为模拟摄像头输出的是将图像信号, 同步信号, 行、场消隐信号这几种信号组合起来的信号。本方案中, 通过专用的视频分离芯片LM1881将行、场同步脉冲信号从图像信号中分离出来。CPLD器件将通过这两个同步脉冲信号, 控制A/D转换器的工作。
1.2 A/D转换电路
系统中使用了低功耗8位的A/D转换芯片T L C 5 5 1 0, 它的最高采样速率高达40MSPS。采用高速A/D转换芯片, 能使系统实时处理高速运动中的图像, 而不至于出现漏拍、误检的现象。
1.3 可编程逻辑器件电路
EPM7064为系统中的主处理芯片, 通过JTAG口可对它进行程序的下载。电路中采用有源晶振为EPM7064提供时钟信号。EPM7064利用2个IO脚分别接LM1881输出的行同步与场同步脉冲, 再分配8个IO脚作为数据传输端口。
2 系统软件设计
系统通过VHDL语言对CPLD器件进行编程配置。软件实现过程主要根据图像的边缘检测原理, 对拍摄好的图像进行处理。所谓的边缘是指其周围像素灰度有跳跃变化的那些像素的集合, 而物体的边缘是以图像局部特征的不连续性的形式出现。例如对于黑白图像就是以灰度值的变化, 彩色图像以颜色的突变等。本系统中采用的是黑白摄像机拍摄的灰度图像。软件流程如图2所示。
软件中通过三个进程与一条信号代入语句并行工作实现图像处理的要求。其中进程1主要功能是若有场脉冲信号到来, 则将Flag2信号量置‘1’, 以此信号量控制进程2的启动。进程2中, 根据进程1中对Flag2的赋值与行脉冲的正跳变来计数, 并对图像数据进行处理, 处理后将‘1’赋值给Flag信号量。进程3中将根据信号量Flag的值来送判断的输出结果。
3 结语
本文中所提到的利用可编程逻辑器件对图像进行处理的方案, 不仅能对高速运动中的灰度图像进行实时检测, 而且还能够扩展到对彩色图像的边缘提取中。利用可编程逻辑器件, 可根据现场的不同情况做出不同的处理方法, 灵活方便。因为可编程逻辑器件属于硬件实现方案, 所以在速度和性能上能得到进一步的提高, 对软件内容已固化在芯片内部的DSP芯片是一种理想的替代方案。
摘要:介绍了以CPLD为核心器件的高速图像处理方案, 系统通过视频分离芯片LM1881, 将视频信号中的行同步信号与场同步信号分离出来, 以此控制转换速率高达40MSPS的A/D转换芯片TLC5510, 将视频信号转换成数字信号, 最终CPLD器件根据A/D转换的数据进行实时处理。
关键词:摄像机,可编程逻辑器件,图像处理
参考文献
[1]潘松, 王国栋.基于EDA技术的CPLD/FPGA应用前景[M].电子与自动化出版社, 1999.
[2]冯志辉.用计算机CPLD设计数字电子系统[M].新技术新工艺出版社, 2002.
[3]虞卫峰, 唐慧明.一种用CPLD实现视频信号运动检测的方法[J].电子技术应用, 2007.
[4]刘禾.数字图像处理及应用[M].中国电力出版社, 2006.
可编程控制器件 篇5
1课程现状
本课程已经连续开设了多届,目前的教学设计方案是实践服务于理论,整个课程以理论为主线,学生做实验是为了更好的理解课堂上的理论知识或者方法,对于大部分的章节都有配套的基础实验。显然,当前的课程教学方法和设计方案在一定程度上起到了加深理解可编程逻辑器件相关原理、设计方法的作用,然而鉴于高职学生的特点,如缺少学习枯燥理论的耐性、传统授课注意力难以集中、与单纯听讲理论相比,更多地喜欢实践操作等。另一方面,电子类课程的学习离不开对当前社会电子产业发展的现状的了解,以及社会对电子类专业的需求。因此,该课程还需要进行适当改革,以找到适合当前授课对象和社会需求的教学模式和方法。本文将“产学研”联动模式与《可编程逻辑器件及应用》课程相结合,以激发学生的求知欲和对专业课程的学习热情,相信可以进一步促进良好学风的形成。
2传统实验辅助型研究模式
根据教学大纲,学生通过掌握FPGA专业知识的基础上,应该达到以下的能力目标:
(1)基本组合逻辑电路和时序逻辑电路的VHDL描述。
(2)简单数字电路的设计,如7段数码显示译码器设计、简易分频器设计等。
(3)能设计简单有限状态机,如交通信号灯控制器设计等。
(4)对于简单的数字系统能迅速得出其需求分析表,列出其硬件组成和软件构思等。
(5)能够借助Quartus Ⅱ开发平台完成一些简单的SOPC嵌入式系统的设计,包括Nios系统基础实验(流水灯实验,JTAG UART通信实验、按键中断实验、计数显示实验)和综合实验(电子乐器实验)。
(6)培养学生软件和硬件协同开发的能力以及团队合作精神。
传统的实验辅助型教学方法,是教师为了实现以上的教学目标,以某本教材为指导,将整个教学过程分为若干个章节,分章分节来讲授。为了使得学生易于掌握和验证所学的知识,多数章节配套有相应地实验,如图1所示。显然,相对于纯粹的理论授课,该方法在一定的程度上起到了辅助教学的作用,使得所学知识更加直观,一定程度上也引起了学生的兴趣和学习热情。
但随着电子技术的迅速发展,原有的电子类人才培养方案落后,教学方法、培养模式都比较单一,学术型人才已经很难满足需要了。因此综合性人才如何培养,培养模式单一的状况如何改变,成了迫切需要解决的问题。
3产学研联动模式下的研究模式
所谓产学研,即产业、学校、科研机构等相互配合,发挥各自优势,形成强大的研究、开发、生产一体化的先进系统并在运行过程中体现出综合优势。产学研合作是指企业、科研院所和高等学校之间的合作,通常指以企业为技术需求方,与以科研院所或高等学校为技术供给方之间的合作,其实质是促进技术创新所需各种生产要素的有效组合。
在这样的社会背景下,本课程的教学设计可作如下调整:
首先,专业教师和企业工程师共同研讨,制定适合的教学案例, 并以案例为主导,融入专业知识。《可编程逻辑器件》课程,根据其课程内容以及目标,通过企业、任课教师共同商讨可以基于FPGA的智能小车作为贯穿整个课程的教学实物。
课程的第一堂课,就是给学生演示类似图2所示的智能小车,详细说明操作要领及其功能,主要说明各功能对应的的基本原理框架。这样,从课程的开始就吸引学生的眼球,并引起学生浓厚的兴趣,但也从一开始就给学生一点点渗透课程的基本内容,既生动又不失深度,区别于纯粹的只讲操作不讲原理的实践操作类课程。此课程导入的方式远比,用图3所示的框图要效果好得多。
接着,将智能小车系统的各个模块展开成图4所示的硬件结构。 并在讲述每个功能的实现过程中渗入课程相关的理论知识, 如FPGA系统开发流程、Avalon总线、Nios常用外设编程知识。
如此,在企业工程师的协助下,以系统工程开发为主线,在实现功能的过程中穿插理论知识的讲解,既能提高学生的学习兴趣,同时也使得校内所学的技能是以解决实际问题为目标。
与此同时,教师和学生都应该到有合作的企业中去锻炼和学习,这样可进一步提升二者的社会实践能力。学生在求学期间的实习,对于企业来说,属于性价比较高的劳动力,企业的有些功能模块可以直接拿进校园来完成,这也是校企合作中,企业能够有效且可长期配合的动力。
校企共建研发、实习基地,校企共同制定人才培养计划,通过密切的产、学和研的结合,能将整个链条有机组合,将人才培养、科技研究、企业发展等多个环节融为一体。做到产业、学校、科研有机结合,人才、智力、经济、科技的紧密衔接。
4结语
本文从实验辅助型教学方法的缺点触发,引入新的创新课程研究模式-产学研联动模式,并具体说明该模式在本课程中的具体实施,指出该模式下企业、高校、科研机构的有机结合,才能实现可编程逻辑器件学习的终极目标。
摘要:可编程逻辑器件作为电子领域的重要硬件,该技术的研究及学习除了传统的实验辅助方法外,还应结合当前电子市场的需求,以及借助企业工程实践的力量,共同开发出适合高职学生的课程设计策略和课程内容。本文在实验辅助型技术研究的基础上引入新的创新的研究模式-产学研联动模式,指出该模式下企业、高校、科研机构缺一不可,整个链条有机结合,才能做到人才、智力、经济、科技的紧密衔接,才能实现可编程逻辑器件学习的终极目标。
关键词:产学研,电子,可编程逻辑
参考文献
[1]巫红,刘勇,接柏皓.产学研合作共建通信电子类专业改革实践[J].科学实践,2014.7-8:38-39.
[2]万智萍,王凤,邱泽敏.电子信息人才在产学研模式下的“学研”实践培养.电子设计工程,2012,20(2):167-170.
[3]陶丹,何宾.从电子设计竞赛谈电子信息教学水平提高.电气电子教学学报,2012,34(3):74-76.
[4]李霜,谢宁昌,曹飞,黄和,应汉杰.产学研联动模式下的微生物课程学习及延伸.化工高等教育,2010,2:52-54
可编程控制器件 篇6
在发展进入新常态阶段, 职业教育肩负着“为全面提升人力资本整体素质增强培养能力”和“为实现‘两个一百年’奋斗目标和中华民族伟大复兴的中国梦提供坚实的人才保障”的艰巨历史使命。我国技术转化能力相对落后, 成为影响中国竞争力的最短板。分析我国技术转化能力不高的原因, 其中至关重要的一点, 就是我国尚未形成一支能够熟练进行技术转化的“技术技能人才”队伍。要做好技术转化, 必须有能够将图纸转化为现实产品的一线技能人才, 以及综合应用各种技术知识解决生产现场一些不确定的实际技术问题、进行生产现场管理和监督等工作的中高端技术技能人才, 他们发挥着科研设计人员不可替代的作用。进行开放型实验教学是培养高技能人才的重要手段。通过合理的配置仪器设备、采用恰当的教学模式和方法将极大地影响素质教育的质量, 影响创新能力的培养。我们必须充分认识实验教学的重要地位, 高度重视实验教学的革新。
可编程逻辑器件的开放型实验项目是基于开放型项目教学的基础上、根据开放型实验项目的特征构建而来的。开放型实验项目的重要特征应当是鼓励冒险、创造性、革新及发散性思维, 应当是富于挑战性的。我们按此原则进行项目的设计。可编程逻辑器件主要包括FPGA和CPLD, 本校教学实践中主要采用FPGA。FPGA的全称为Field-Programmable Gate Array, 即现场可编程门阵列, 它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。作为专用集成电路 (ASIC) 领域中的一种半定制电路而出现的, FPGA既解决了定制电路的不足, 又克服了原有可编程器件门电路数有限的缺点, 在现代电子设计中, 是不可或缺的重要元素之一, 同时, 对于学生全面深入理解数字电子技术有重要意义, 对今后在电子技术领域的发展有深远影响。掌握可编程逻辑器件的应用方法是当代电子设计工程师必修内容, 也是在校电子信息类大学生所要具备的一项基本的技能。因此, 可编程逻辑器件的实践教学在电类专业实践教学中的地位日益凸显, 如何开展好可编程逻辑器件的实践教学是当前教学中的一个主要问题。
二、实验过程设计
在实际教学中译码器的设计是非常重要的一个教学模块, 在单元教学中, 通过学习要求学生掌握相关Verilog语法知识, 理解译码的思想, 练习Modelsim仿真测试技能。为此我们精心进行了实验设计。
译码器是一种具有“翻译”功能的多输入多输出组合逻辑电路器件, 这种电路能将输入二进制代码的各种状态, 按照其原意翻译成对应的输出信号。译码器类型可以有变量译码、显示译码、指令译码等等。变量译码器有n线-2^n线译码和8421BCD码译码等等;显示译码器用来将二进制数转换成对应的七段码, 一般其可分为驱动LED和驱动LCD两类;指令译码器 (Instruction Decoder, ID) 是CPU中的主要部件之一。计算机能且只能执行“指令”。指令由操作码和地址码组成。操作码表示要执行的操作性质, 即执行什么操作, 或做什么。计算机执行一条指定的指令时, 必须首先分析这条指令的操作码是什么, 以决定操作的性质和方法, 然后才能控制计算机其他各部件协同完成指令表达的功能, 这个分析工作由指令译码器来完成。
在实验中我们提出按三步走的方式进行实验。
1.进行基本的3-8译码器设计;
2.进行8421BCD显示译码器设计;
3.进行指令译码器设计。
在进行基本的3-8译码器设计时按照如下规划开展:
1.给出3-8译码器的真值表, 由学生小组讨论其功能;
2.给出该设计代码, 老师进行代码讲解, 学生小组讨论Verilog语法知识。学生自行开展仿真测试代码的编写, 然后进行Modelsim时序仿真, 学生小组讨论分析仿真结果。
在后续两个译码器的设计为开放性实验课题, 老师的工作重点转为引导阐述译码器功能, 学生自行完成设计及仿真分析。遵循的原则是既要让学生掌握Verilog的编程技能, 也要让学生理解现代微处理器的一些设计思想, 进而引导学生开创性的思考自己如何设计微处理器。具体实行按照如下规划进行引导:
1.提出数码管显示编码的问题, 引导学生讨论用何种编码机制、怎样进行动态显示;
2.阐述微机原理中ALU逻辑运算单元与指令译码的概念, 引导学生讨论指令译码的实现机制;
3.给出设计指标, 学生在讨论的基础上开展设计工作。
整个实验课时设计为8个课时。为了确保实验教学质量, 我们严格设计了考评指标, 具体如表1所示。
为确保开放式实验教学模式的顺利开展, 我们为全开放实验室采用现代化的视频监控设备, 配备我们自己设计的门禁及考勤系统, 为学生开放式学习、主动实践提供了条件。
针对创新应用型实验, 我们在全开放实验室中集中设置元器件柜, 存放常用电阻、电容、电感、通用的半导体器件、接插件, 标准数字器件, 学生自由取用。
三、效果分析及总结
实验室实行开放式实验教学有利于组织和引导学生系统地开展课内课外实验活动, 培养学生观察、思考、分析和解决问题的能力, 特别是培养学生实际动手能力和科技创新能力。开展多方位的可编程逻辑器件设计的实验教学是符合技术发展的潮流, 采取开放式的实践教学模式亦是实验教学的发展趋势所在。我们通过开展开放式实验教学, 在一定程度上激发了学生的学习兴趣, 提高了学习效率和效果。
开放型实验项目的教学组织要更为繁杂, 需要老师付出较多时间精力进行安排, 教学的有效性很大程度上取决于教师准备工作是否充分, 如果准备充分则能为学生提供良好的教学环境。我们在开放型实验的设计与建设上总结了经验, 今后将在主要在以下几方面开展工作:继续深入开展实验项目的设计工作, 丰富教学内容和手段;完善评价考核体系, 建立实用科学, 方便可行的评价标准;研究实验课程的进一步展开, 探索引入更多资源;进一步摸索实验环境的建设、实验器材的管理工作。
摘要:针对目前高职教育培养技能型人才的要求, 借鉴项目教学经验并结合多年来的教学工作实践, 在已经开展的项目教学研究与实践的基础上, 对应用电子技术专业中可编程逻辑器件课程实验引入开放型实验模式, 就其内容、特点及实践成果作了阐述。对开放型实验项目的教学组织、教学环境, 和开放型实验项目教学的有效性问题进行了研究。
关键词:电子技术专业,开放型实验,高职教育
参考文献
[1]许江.高校开放实验室管理模式探索[J].西华师范大学学报 (自然科学版) , 2006, (02) .
[2]魏艳.高校开放实验室建设的几点探讨意见[J].科技信息, 2009, (03) .
可编程控制器件 篇7
1系统设计
1.1设计概述
图1是接口转换模块的通用应用场所, 符合G.703协议的硬件设备。G.703设备通过转换模块与以太网交换机输出的以太网数据进行数据转换, 极大地方便了用户在不同网络之间的数据传输。针对市场中现有的转换模块基于微处理器实现转换功能, 具有稳定性高、功能丰富的优点。与此同时, 也带来了相当多的弊端, 如产品开发周期长, 成本难以控制, 产品升级维护难度增大, 降低产品的市场竞争力。为克服上述技术问题, 本文选择可编程逻辑器件实现, 利用可编程逻辑器件的硬件并行优势性能、较短的开发周期、低廉的开发成本、较强的稳定性以及升级维护的便利性等优点[4], 大幅度提升该转换模块的市场竞争力。
1.2硬件设计
该转换模块主要采用以太网芯片、可编程逻辑器件和G.703接口芯片为主的硬件架构, 实现多路G.703数据和以太网数据的转换处理。该转换模块的硬件结构如图2所示, 包括核心处理单元、以太网业务单元、G.703业务数据单元、电源单元、时钟单元和复位单元。
选取可编程逻辑器件FPGA作为核心控制单元。其中, Altera和Xilinx是提供可编程逻辑器件的器件公司, 可提供多个层级的芯片进行选择, 由于Altera公司的Quartus II开发界面友好[4], 选择Altera的Cyclone III喜乐的EP3C55芯片作为FPGA数据处理芯片。该芯片具备55 856个逻辑单元、2 396个RAM以及156个嵌入式18×18乘法器。选取美信半导体公司的低功耗的G.703芯片DS21348, 支持实现T1、J1线路接口。该芯片具有多种工作模式, 可充分满足多种设计需求[5]。选择博通公司的以太网业务芯片BCM5228, 实现以太网业务的处理。作为数字电路必不可少的电源模块和时钟模块, 性能稳定、技术成熟是选择芯片的主要参考, 基于以上原因选取LT1640芯片作为电源芯片及ICS83081的时钟芯片。采用全球最大的电子设计技术、程序方法和服务供应商提供的EDA软件——Cadence进行硬件电路设计, Cadence17.0是cadence公司推出的能够跨IC、封装及印制板系统设计高性能互联。由于该转换单元中的FPGA及以太网业务芯片属于BGA封装, 考虑到产品的信号完整性, 设计多层印制板进而实现更好的信号处理效果, 而Cadence17.0可以满足具备多层印制板的工具需求, 是设计该转换器印制板的首选EDA[6]。
1.3逻辑设计
QuartusⅡ提供了完全集成且与电路结构无关的开发包环境, 具有数字逻辑设计的全部特性, 包括可利用原理图、结构框图、Verilog HDL、AHDL和VHDL完成电路描述, 并将其保存为设计实体文件;芯片 (电路) 平面布局连线编辑;Logic Lock增量设计方法, 用户可建立并优化系统, 然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具。Verilog的设计初衷是成为一种基本语法与C语言相近的硬件描述语言[7]。本文的逻辑处理部分选择让电路设计人员更容易学习和接受的Verilog作为开发语言。基本逻辑处理流程如图3所示, 为了更为高效地实现数据转换, 选择自定义的G.703数据包格式包括包前导码、起始码、目的地址、数据源地址、数据长度及帧校验位。
G.703转换以太网数据包的逻辑处理过程为:接收G.703接口数据, 判断数据包是否同步, 如果该数据同步则对其安装标准以太网数据格式进行打包, 其中包括添加数据包头、包类型及计算循环冗余码等处理。其中, 数据包同步的处理过程如下:首先定义表示数据同步的标识码以及对端失步标识, 对数据包头进行搜索, 判断该包头是否具有同步标识码, 如果具备该标识, 则说明收发双向均为同步, 则进行包头锁定, 添加同步时间间隙, 稳定同步状态。部分Verilog代码如下:
以太网转换G.703数据包的逻辑处理过程为:接收以太网数据, 对该数据进行线路标识去除处理, 进行串行数据转换至并行数据, 验证处理后的以太网数据的目的地址及循环校验是否正确, 将正确数据进行同步处理发送至G.703数据接收端, 将错误数据进行丢弃, 对代码编译仿真后进行单板调试。调试结果发现该转换单元转换效果明显优于现有产品。
2结语
该G.703接口与以太网数据转换模块, 通过Cadenc公司的高效EDA开发工具进行多层印制板的设计, 在保证信号完整性的前提下, 最大程度地缩减了产品尺寸, 根据Altera公司的可编程逻辑开发软件实现了数据业务的高效相互转换, 缩短了开发周期, 同时大大提升了系统升级维护的便利性。与此同时, 随着可编程逻辑器件的进一步发展以及印制板生产工艺的提升, 该转换器还有进一步提升的开发空间。
参考文献
[1]王廷尧.以太网技术与应用[M].北京:人民邮电出版社, 2005:1-25.
[2]雷祖康.10Base-T以太网数据到G.703E1的转换[J].产品与市场, 2002 (3) :108-109.
[3]徐荣, 龚倩, 邓春胜.电信级以太网[M].北京:人民邮电出版社, 2009:1-26.
[4]周孟然.CPLD/FPGA的开发与应用[M].徐州:中国矿业大学出版社, 2007.
[5]MAXIM-IC.Application Note 324:T1/E1 Net-work interface Design[R].MAXIM-IC, 2004.
[6]Howard W.Johnson, Martin Graham.High-Speed Digital Design:A Handbook Of Black[J].Prentice-Hall Inc., 1993 (5) :42-50.
【可编程控制器件】推荐阅读:
可编程逻辑控制器件10-29
可编程控制理论08-05
可编程控制技术10-31
可编程控制系统08-25
《可编程控制器》课程06-01
可编程控制器网络06-05
机床可编程控制器10-10
可编程控制原理及应用10-31
可编程控制器及应用08-26
可编程控制器维修论文09-20