从目前单片机教学内容和实验方法来看,确实已与单片机本身的历史一样久远了。不难发现,现在高校中单片机教学的绝大多数内容仍然停留在51单片机最初进入课堂的那个年代(1984前后),例如许多现在看来早已没有什么实用价值的内容却逢课必讲,甚至是详述,如0809、0832、8255、8155、8279,以及一些过时的存储器等器件及接口技术,这导致了目前的单片机课程中学到的知识几乎很难用于对付现在的大学生电子设计竞赛中大多数赛题,当然更加无法对付在未来工程实践中出现的诸多问题了。此外,从单片机技术引入课堂至此,一直作为一门独立的,孤立的专业基础课来对待,从而将其与后来不断涌现的许多新技术新知识绝缘起来,导致学习者无法将学到的单片机知识融入到更广阔的实用工程技术领域中去。
通常,单片机有两个最重要的指标,即功能和速度。如果不考虑速度因素,配以特定的扩展模块,单片机几乎可以完成任何任务。即单片机在实现功能的多样性方面是无可挑剔的,但是一旦必须考虑高速问题的处理,传统单片机技术的劣势即刻暴露无疑。例如对于高速(包括并行和串行)ADC或DAC控制、基于多通道SPWM的电机控制、步进电机细分控制、各类调制信号发生的控制、各类高速通信协议的实现,以及不同目的的高速运算等等。通常,解决以上问题的方案可以有两种选择:方案一是针对不同功能指标要求,选择不同的单片机或处理器;例如,若需对高速的ADC或DAC进行控制,可以选择含有特定接口功能的单片机;若需对步进电机细分控制,可选择用专用DSP处理器;若需实现数字调制信号的发生和控制,则可为单片机扩展特定的DDS专用器件。然而这一途径的最大缺陷在于,对于系统设计指标和功能要求,必须找到对应的处理器和扩展模块。事实上这是一个很难实现的任务,因为还没有一款处理器或单片机拥有能适应不同高速DAC和ADC的接口形式,同时还拥有多通道的SPWM端口,以及精度、速度和通道数都可随意编辑的DDS功能。显然方案不存在一揽子解决方案。 方案二就是为单片机扩展一片FPGA。这从任何一个角度,包括功能、速度、成本、技术指标、灵活性、开发效率、系统升级可行性等等,都无疑是上佳的选择,而且还是一个一揽子解决方案。这一方案的实用领域正随着FPGA技术的深入应用而迅速扩大。 针对这一情况,清华大学出版社于2011年推出了将SOC(System Of a Chip)技术有机融入单片机教学和实验的《单片机原理与应用技术》一书(图1),作者是桂林电子科技大学和杭州电子科技大学的教授。此教材中的许多内容对传统的单片机应用理念有了明显的突破,对教学目标有了全新的拓展和延伸,特别是融入了单片机与FPGA扩展和基于单片机IP软核的片上系统SOC构建及应用的知识,从而开拓了一个将普通单片机技术、FPGA开发技术、EDA技术、片上系统应用技术有机融合、综合运用和培养自主创新能力的平台。
于是,按照此教材,单片机课程的教学和实验内容可大致分为四个层次来进行:1)传统单片机的结构和指令系统;2)单片机的传统应用方法和扩展技术;3)单片机扩展FPGA技术(教学实验内容如图2所示:为了使单片机能同时测控多个高速外设,引入了FPGA);4)基于单片机IP核的FPGA片上系统SOC开发技术(教学实验内容如图3所示:将图2的测控核心部分装入单片FPGA中,构成高效的SOC系统)。 显然,这是将传统单片机技术与EDA技术、FPGA开发技术、嵌入式处理器软核应用技术和SOC技术有机结合的课程,这些内容显然与现代电子设计技术的发展具有很好的同步性。作者学校相关专业在过去多年的单片机教学中,采用了图1教材的基本理念和核心内容,教学效果是显著的。除了在多届电子设计竞赛中不断有学生直接利用这些学到的知识获得可喜的成绩外,有不少同学在就业数年后创办了自己IC设计公司或工作室,有的业务是SOC设计,内容多集中于MP4、网络通信、数字通信器件或手机语音处理相关的SOC专用集成电路的设计;有的则是主营特定企业的专用单片机或专用集成电路的设计与销售;还有的同学甚至自主开发通用单片机,其中还包括单片机开发芯片和开发工具的研发与销售。作为本科毕业生,所有这些成就无疑都与他们于在校期间对于诸如单片机SOC技术等相关知识的学习和实践所分不开的。
与《单片机原理与应用技术》教材配套的实验开发与创新设计的设备是:
一、模块化单片机技术SOC设计综合实验系统
模块化结构给出了最好的解决方案:
通常的单片机实验系统是整体结构型的,虽也可完成多种类型实验,但由于整体结构不可变动,实验项目和类型是预先设定和固定的,很难有自主发挥的余地,如果学生的创新思想和创新设计与实验系统的结构不吻合,便无法在此平台上获得验证。根据图2结构,模块化配置给出了最好的解决方案:○ 在实验和创新实践中,能提供用于构建单片机应用系统中必须的外设接口模块,以及构建SOC充足的逻辑资源和存储器资源,丰富到足以涵盖单片机SOC系统任何逻辑规模的结构以及学生的创造力所及的任何形式的设计项目。○ 在外围接口方面,除大量丰富的接口模块,如VGA、PS2、USB、SD卡、RS232串口、语音处理、AD/DA等等现成的模块外,还提供能适应实验者随时根据自己的创新实验需要,自主安排和设计新功能模块的标准接口。○ 从涉及构建SOC级的单片机应用系统的课程性质和实验性质看,将实验硬件平台定位于大规模逻辑容量的FPGA,在硬件实现与测试,软件调试,软硬件联合测试与验证方面是十分必须的。
KX-MCU55配置如下:
一、基本平台 编号:A 主系统
☆此平台最多可同时插12 块模块板。☆ KX_USB-Blaster2型双功能编程器:(1)USB-Blaster编程下载功能(支持AS、PS、JTAG模式):1、对FPGA/CPLD进行配置或编程;2、对配置器件EPCSx编程;3、访问和编辑FPGA内部RAM;4、调试Nios2,完成SOPC设计;5、支持SignalTapII 嵌入式逻辑分析仪。(2)USB到UART串行通信转换:1、通过USB与FPGA串行通信,实现PC与FPGA的串行通信,且无需RS232电平转换;2、通过USB与单片机的串行通信,实现PC与通用单片机的UART串行通信;3、通过USB对STC等系列单片机进行直接编程开发,无需电平转换。
☆ 5功能智能逻辑笔:可显示高电平、低电平、中电平、高阻态、脉冲信号。注意有“高阻态”测试功能。
☆ 独立的标准时钟频率20个。20MHZ-0.5HZ。☆ 电源有自动保护的+5V,+12V、-12V、、+3.3V、2.5V+、1.2V。☆ 8个LED放光二级管,8个乒乓开关,扬声器。☆ DDS信号输出口及幅度、偏移调谐。
编号:B3、FPGA模块三 |
CycloneIII EP3C55F484(484脚BGA封装),内部资源极其丰富:5万6千个逻辑宏单元、240万RAM bit;4个锁相环(超宽超高锁相环输出频率:1300MHz至2kHz)。其他内部资源和技术指标好于EP3C40;接口器件有32MB SDRAM、1GB并行Flash、2M串行Flash 16M配置Flash、256KSRAM,20MHz有源晶振等,板上还有3032 CPLD,。FPGA板包含 8051/52 IP核。提供商业级全兼容MCS-51单片机IP核。利用此核,实验者可以实现传统单片机实验系统无法达到的SOC(片上系统)设计。即将单片机CPU、RAM、ROM以及其它各类接口电路模块设计在同一片FPGA中。此类技术对于对于面向高新技术企业的就业十分必要。 8088、8086 CPU IP核。 8255A IP核模块;8255A IP核(I/O接口);8253/8254 IP核(定时器);8250 IP核(UART串行通信);8237 IP核(DMA控制器);8259 IP核(可编程中断控制器),以及基于FPGA的RAM/ROM核、锁相环核等。这些IP核与8088CPU核相结合就能在单片FPGA中构成一个微机系统,从而学习到实用的SOC设计工程技术。FPGA中的8088核与MCS-31单片机核及其中的各种模块和核都能与以下各模块结合,实现不同类型的实验开发。此系统能运行完整的8086微机SOC片上系统,其内部SRAM能放下BIOS启动ROM、显示缓存、PS2缓存等,能启动MS-DOS操作系统,在VGA显示器上用PS2键盘能完成MS-DOS命令和WINDOWS及运行传统软件,如TURBO C,QBASIC等等。为SOC片上系统的学习与创新设计提供了绝好的平台。 |
编号:C21、SD+PS2+RS232+VGA显示接口模块 |
○ 基本软件:1)Quartus II 9.0/11.0;2)ModelSim;3)Synplify;4)IDE;5)8051单片机IP核;6)8088/8086 CPU IP核;7)8088/8086微机系统接口模块IP核:8253核、8237核、8259核、8255IP核和8250等IP核;8)Nios II
系统部分除EDA以外的单片机及IP核实验
注:以下实验根据系统配置来对应完成
第六章 单片机系统综合实验
6.1 单片机基本实验
实验6-1.存储器块清零程序设计
实验6-2 二进制到BCD转换程序设计
实验6-3 十六进制到ASCII码转换程序设计
实验6-4 存储块移动程序设计
实验6-5 多分支程序
实验6-6 数据排序程序设计.
实验6-7 P1口输入、输出实验
实验6-8 交通灯控制(软件延时法)
实验6-9 交通灯控制(定时器延时法)
实验6-10 计数器应用实验
实验6-11 外部中断实验
实验6-12 定时器实验1(P1口状态取反)
实验6-13 定时器输出PWM实验
实验6-14 外部中断实验
6.2 单片机扩展和接口实验与设计
实验6-15 单片机串口扩展
实验6-16 键盘与液晶显示控制
实验6-17 单片机串行通信和红外双向通信
实验6-18 单片机扩展X5045看门狗器件
实验6-19 单片机扩展DS1302时钟/日历器件
实验6-20 SPI串行DAC TLV5637与单片机的接口
实验6-21 串行精密ADC器件ADS1100与单片机的接口
实验6-22 串行高速ADC器件ADS7816与单片机的接口
实验6-23 高速微功耗串行ADC器件TLV2541与单片机的接口
实验6-24 双通道A/D转换芯片ADC0832与单片机的接口
实验6-25 高速同步10位串行A/D转换器与单片机的接口
第七章 单片机扩展FPGA综合实验与设计
实验7-1 单片机串行扩展FPGA系统设计
实验7-2 单片机数据交换FPGA扩展电路设计
实验7-3 扩展外部数据存储器的单片机与FPGA扩展系统设计
实验7-4 四通道PWM信号发生器及其单片机控制系统设计
实验7-5 移相信号发生器的FPGA与单片机扩展系统设计
实验7-6 里萨如图波形发生器的单片机与FPGA扩展系统设计
实验7-7 数字电压表FPGA单片机的系统设计
实验7-8 数字频率计与单片机串行通信接口功能设计
实验7-9 直流电机测控单片机与FPGA扩展系统设计
实验7-10 等精度频率/脉宽/占空比/相位多功能测试仪设计
第八章 基于单片机8051/8088微机原理IP核的FPGA片上系统SOC设计
实验8-1.单片机串口扩展FPGA片上系统SOC设计
实验8-2.扩展外部数据存储器的FPGA单片系统设计
实验8-3.四通道PWM信号发生器及单片系统设计
实验8-4.移相信号发生器的FPGA片上系统SOC设计
实验8-5.里萨如图波形发生器的FPGA片上系统设计
实验8-6.数字电压表FPGA单片系统SOC设计
实验8-7.数字频率计与单片机串行通信接口功能设计
实验8-8.直流电机测控FPGA单片系统设计
实验8-9.等精度频率计FPGA单片系统设计
实验8-10.基于FPGA的红外双向通信单片系统设计
实验8-11. 频率和占空比可数控方波信号发生器设计示例
实验8-12. 8052 IP核等精度频率计/GPS应用联合设计
实验8-13. 8051核控制DS18B20数字温度模块
实验8-14. 8051核驱动LCD128X64
实验8-15. 基本8088和8253核应用
实验8-16. 基本8088系统的GPS应用模块
实验8-17. 8088系统的DMA核应用
实验8-18. 8088系统UART核应用
实验8-19. 8086经典微机片上系统构建