您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 2接口技术实验”创新研究型实验指导书-STM32控制接口部分
1《接口技术实验》创新研究型实验指导书(STM32控制接口部分)北京交通大学计算机学院2目录目录...........................................................................................................................................................................2一、概述...................................................................................................................................................................3二、STM32开发环境简介......................................................................................................................................3三、工作原理...........................................................................................................................................................4四、硬件设计...........................................................................................................................................................4五、软件设计...........................................................................................................................................................85.1采集模块实现.............................................................................................................................................85.2时钟控制模块实现.....................................................................................................................................95.3定时控制模块...........................................................................................................................................105.4中断模块....................................................................................................................................................11六、实验项目.........................................................................................................................................................13参考文献.................................................................................................................................................................18附录:部分源程序.................................................................................................................................................193一、概述《接口技术实验》的教学和实验还是以早期的接口芯片电路(8252、8255、8251等)和以8086汇编为语言开发仿真平台为主展开,虽然可以对接口技术的学习起到教学实践的目的,也可以完成教学任务,对学习本专业的接口技术基础知识已经足够。但缺陷是,一是实验工具陈旧,不能紧跟接口新技术的发展;二是不能结合当下运用的技术和手段,对新技术和新工具的了解、使用没有涉及。针对上述问题,结合创新实验项目的开展,我们设计研制出一个集早期接口电路(DVCC86平台)和当下最新接口技术结合的教学平台(STM32平台),既能完成教学任务,又能紧跟接口新技术和新工具的发展,开展研究型实验。该平台具有一下特点:1、运用高级C语言开发早期的接口电路,为《接口技术》研究性教学和创新实验教学提供硬件和软件环境;2、早期接口电路和当下接口最新技术结合学习,提高学生的学习能力和兴趣;3、本平台是跨课程的教学平台,涉及接口技术、嵌入式技术和C语言的教学平台,能够提高学生的综合运用知识的能力和动手开发的能力,为就业做充分的技术业务准备;4、采用的技术和工具是现在流行的,培养的学生马上可以参与产品的开发和科研项目的实际工作,具有实用性和实际意义。本项目以A/D(ADC0809)和D/A(DAC0832)采集系统为重点实现对象,将DVCC-8086J实验系统和STM32开发系统融合互补,基于嵌入式STM32F103CPU、IAR开发环境,使用C语言编程,搭建适合于《接口技术》研究性教学的开发实验平台环境,实现了由STM32CPU控制《接口技术实验》内容中关键接口芯片,为接口技术研究性教学提供紧跟接口新技术发展和学生研究性实验的合理、全方位、多渠道选题提供了平台,培养提高了学生学习兴趣,经过教学实践效果良好。二、STM32开发环境简介STM32F103是意法ST公司出品的、使用高性能的ARMCortex-M332位的RISC内核的高性能嵌入式高级接口芯片,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。芯片内包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达42个I2C和SPI、3个USART、一个USB和一个CAN。其接口类型较多,适合于小型嵌入式系统的设计,也是学习接口技术的很好的样本,尤其开发系统采用通用的IAR开发环境,更具有通用性和实用性。STM32实验平台使用介绍、IAR等相关资料,在做实验前一并拷贝给学生。三、工作原理系统平台分为两个部分独立建立开发环境,一个是将DVCC-8086J实验系统和STM32开发系统,通过总线相连,不必增加接口和外围电路,STM32接口即可控制接口芯片的编程;另外一个是由STM32单独建立开发环境,但需要增加外围接口芯片和相关的电路,如图1所示。图1中A/D采集模块是在第二种方式下的硬件连接示意图。DVCC系统总线IOWD0~7A0A1A2A3A4A5A6A7IORA8DVCC86实验平台STM32CPU外引插座PD0~7PE11PE12CBAG2AG2BG174LS138Y2Y1Y0PE5PE6PE7PE8PE9PE10DMACS8237地址SPICS8251地址T/CCS8253地址PPICS8255地址Y3A9PE5PE6PE7PE8PE9ADCCS0809地址Y4PE11PE12IORIOWPD0...PD7STM32独立开发平台A/D采集模块图1平台原理和A/D采集模块实现框图DVCC86总线四、硬件设计下图是STM32驱动接口模块的Protel图.5图2是第一种方式采用A/D和D/A模块的DVCC开发系统的互联,实现数据采集和存储。即使用STM32的中断资源,利用DVCC上的8253,8259A,ADC0809,DAC0832来完成一个基于中断方式的数据采集和数据输出系统的设计。ADC0809使用通道0,接入由8253输出的方波上,用STM32管理中断(按键),等待外界中断控制转换,用A/D连续采集并从DAC0832输出,示波器接在D/A的输出OUT上,观测D/A输出信号的变化情况。结果是,输入的是方波,经A/D转换后又递交于D/A转换,输出的仍然是方波。PE11PE12IORIOW方波输入PD0……PD7示波器IOW6图2A/D和D/A数据采集系统连接示意图图3是STM32系列芯片实现对8253的硬件连接图。其控制原理是:对8253的编程控制主要通过STM32的GPIO(通用输入输出口)来对8253各个管脚进行并行的写入,即在同一个时钟周期内对其控制管脚及数据管脚来进行数据写入,读出。实现对8253的可编程控制。IO端口PD作为8253数据口,即将PD口的管脚0-7接在8253的数据口0-7上。另外IO端口的PD口的高8位用来对8253的控制信号的写入,即PB口的管脚8-16接在8253的各个控制端口上如:CS,RD,WR,A1,A0,CLOCK,GATE等,其中CLOCK和GATE信号根据实际对计数器的需要来进行时钟输入和置位。其中8253定时器0的GATE信号由STM32的PC6控制,CLK信号由PB0产生。而8253定时器1可以通过PB1和PA1与STM32定时器互通,即STM32定时器输出信号作为8253的GATE信号。PD0....PD7PE0PE1T/CCSPC6PB0图3定时器模块实现原理图PE10PE11PA1PB1串口模块和并口模块的接口硬件设计如图4、5所示。7PD0~7PE10PE11SPICSPE0PC7PB1图4串口模块实现原理图NRSTPB13PPICSPE11PE10PE0PE1PD0~7图5并口模块实现原理图NRST接口技术实验-研究创新实验指导书(STM32控制接口部分)-8-五、软件设计程序主要由并口模块、中断模块、定时计数控制模块、采集模块,和串口模块组成。各个模块包含初始化和执行两部分,在功能命令执行之前进行初始化,执行模块实在初始化模块成功运行的基础上实现的,只有初始化成功才能进行功能执行。基于以下函数调用来实现上述模块的功能。STM32的GPIO一位及多位的置位和复位。对STM32的GPIO使用,可以借助已有的函数库来进行,其中用到的函数有:GPIO_Init()对IO口的管脚复位,GPIO_SetBits(GPIOx,GPIO_Pin)对IO指定口的指定管脚进行置位GPIO_ResetBits(GPIOx,GPIO_Pin)对IO指定口的指定管脚进行复位GPIO_Write(GPIOx)对指定的IO口进行数据写入GPIO_ReadInputData(GPIOx)从指定的IO口进行数据写入下面就主要模块做介绍。5.1采集模块实现首先对主程序的各个模块进行初始化,然后开始数据采集过程,以数字信号存储,并通过D/A转换,形成自环。以下是程序总体的实现流程图,可以采集温度,电压数据等,可以
本文标题:2接口技术实验”创新研究型实验指导书-STM32控制接口部分
链接地址:https://www.777doc.com/doc-1894937 .html