实验指导书-实验三-IO实验(共4页).doc
精选优质文档-倾情为你奉上实验二、I/O实验一、实验目的1、掌握TMS320F281x系列DSP的基本接口;2、熟悉TMS320F281x系列DSP的通用数字I/O;3、熟悉与TMS320F281x系列DSP的数字I/O相关寄存器;4、熟悉TMS320F281x系列DSP的通用数字I/O编程方法。二、实验系统原理及编程数字I/O是微处理器系统和外界联系的一种典型接口。通过数字输入可检测外部引脚的逻辑电平变化,键盘开关状态;通过设置数字输出为高电平和低电,可控制外部设备的开关状态,如电动机的启动/停止、指示灯的亮/灭等。F281x芯片提供了多大56个通用I/O引脚(GPIO),这些端口中绝大部分是功能复用的引脚,既可以用作通用I/O接口实现一般的数字信号输入/输出,也可以专门用作片内外设接口。功能分类接口名称接口定义电源接口+5v电源插座5V电源输入外设接口标准RS-232九针D型异步串口(可以和计算机直接通讯)总线接口P1扩展插座用于二次开发的34芯外扩总线P2扩展插座用于二次开发的34芯外扩总线P3扩展插座用于二次开发的34芯外扩总线P4扩展插座用于二次开发的34芯外扩总线指示灯电源指示灯接通电源后会亮用户可控指示灯共有四个辅助接口JTAG仿真接口DSP仿真器从此处接入开关用户可控开关共有四个复位按钮手动复位开关跳线设置JP1SCI复用选择JP2Can总线使能。模式跳线设置2ADREFLO12812芯片上管脚ADCLOAD参考低电压输入,默认2,3连接。ADREFIN12812芯片上管脚ADCBGREFIN,测试端,可以悬空或2,3脚连接模式跳线设置1MP/MC12812芯片上管脚XMP/MC, MP/MC工作方式选择,默认2,3连接MDXA12812芯片上管脚MDXA, 默认1,2连接。SCITXDA12812芯片上管脚SCITXDA, 默认1,2连接。SPICLKA12812芯片上管脚SPICLKA, 默认1,2连接。SPISTEA12812芯片上管脚SPISTEA, 默认1,2连接。表1 接口功能表除了外部扩展存储器之外,板上还扩展了一些数据和控制端口,这些端口用来驱动板上的其他外设。在这一节我们给出所有外扩寄存器的地址和数据信息,详细的编程分别在接下来的其他小节说明。下面是所有的外扩寄存器列表和简单的介绍:表2 外扩寄存器列表外扩寄存器地址寄存器名称有效位数读写状态上电复位状态0xC0000LEDRD3到D0有效读/写允许0000b0xC0001SWRD3到D0有效读允许-0xC0003DACTLRD0有效读/写允许1b0xC0004DATIMENRD7到D0有效读/写允许0000 0001b0xC0005DATIMCNTRD0有效写允许-0xC0006DADATLRD7到D0有效读/写允许0000 0000b0xC0007DADATHRD7到D0有效读/写允许0000 0000bF2812-A评估板提供了四位的状态显示数码管和四位可读入数字量的开关,这些接口不使用TMS的芯片管脚实现。下面是显示数码管和开关的寄存器定义和说明:7 43 0无效位LEDR3LEDR2LEDR1LEDR0R/W-0R/W-0R/W-0R/W-0图1 LEDR寄存器:地址是0xC0000图例:R读允许,W:写允许,R/W:读写允许,-0:复位值,-x没有固定值位名称说明3LEDR3四位显示数码管。向某位写“1”,点亮相应的发光管,写“0”,则使数码管熄灭。这个寄存器可读,在使用时可以通过读操作得到最后一次写操作的值。2LEDR21LEDR10LEDR0图2 LEDR寄存器说明7 43 0无效位SWR3SWR2SWR1SWR0R-xR-xR-xR-x图3 SWR寄存器: 地址是0xC0001图例:R读允许,W:写允许,R/W:读写允许,-0:复位值,-x没有固定值三、实验要求1、确定指示灯相关控制寄存器;2、控制指示灯开关,实现流水灯功能,即灯14按序点亮,且每次只有1盏灯被点亮。3、通过配置延迟,实现不同速度下的流水灯。四、实验步骤1、通过设置结构体变量来设置寄存器;2、通过不同的位置位轮流点亮指示灯;3、观察流水灯速率,调整延迟时间,实现流水灯功能。五、实验小结1、外部通用I/O引脚有几种工作模式?如何设置?F281X 芯片提供了 56 个通用 I/O 引脚 (GPIO),它们可以有数字I/O 和外设 I/O 两种工作模式,当配置为数字I/O 模式时,F281X 芯片提供了 56 个通用 I/O 引脚 (GPIO),它们可以有数字I/O 和外设 I/O 两种工作模式, .如果引脚被配置为数字I/O 且为输出模式,则可以通过寄存器GPxSET 将I/O 引 脚置1(高电平),寄存器GPxCLEAR 将I/O 置0(低电平),寄存器GPxTOGGLE 将I/O 状态在0 与1 间切换。寄存器GPxDAT 可直接设定I/O 引脚的状态。2、通用I/O寄存器有几类寄存器?各功能如何?GPxMUX 寄存器,每个I/O端口都有一个MUX(多路复用)寄存器。这个寄存器用来在每个引脚(PIN)的外设操作及I/O操作之间进行选择。复位时所有通用I/O引脚都配置成数字I/O功能。任何一个引脚都可通过16位的多路复用寄存器 GPxMUX进行外设或GPIO 功能的设置:当GPxMUX.bit = 0,相应的一个引脚配置成I/O功能;当GPxMUX.bit = 1,相应的一个引脚配置成外设功能。 GPxDIR寄存器(x=A,B,D,E,F,G),每个I/O端口都有一个方向控制寄存器。不论是将相应的I/O 引脚配置成输入还是输出,都由方向寄存器控制。复位时,所有通用I/O 引脚均配置成输入。当GPxDIR.bit = 0,引脚配置成输入;当GPxDIR.bit = 1,引脚配置成输出。 GPxDAT 寄存器,每个I/O 端口都有一个数据寄存器,它是一个读/写寄存器。读入的该寄存器的值反映了输入限制后输入引脚当前的电平,写寄存器可设置输出引脚为相应的电平。 GPxSET 寄存器,每个I/O 端口都有一个置位寄存器,它是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向置位寄存器的该位写1,将对应引脚电平拉高。写0 无效。 GPxCLEAR 寄存器,每个I/O 端口都有一个清除寄存器,它是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向清除寄存器的该位写1,将把对应引脚拉成低电平。写0 则无效 GPxTOGGLE寄存器,每个I/O端口都有一个切换寄存器,它是一个只写寄存器,读为0.如果对应的引脚配置为输出,则向切换寄存器的该位写1,将把对应引脚拉成反向电平。即如果引脚输出是低电平,对相应的切换寄存器位写1,把该引脚拉成高电平;类似的,如果引脚输出是高电平,对相应的切换寄存器位写1,把该引脚拉成低电平。写0则无效GPAQUAL 输入限制寄存器,每个I/O 端口都有一个输入限制寄存器。用于生成采样限制信号。所示,为了对信号进行限制,输入要与SYSCLKOUT同步,然后以GPxQUAL寄存器规定的周期进行采样。采样窗口为6个采样点的宽度,只有当所有6 个采样点的采样相同时,输入才会发生改变。因为输入的信号是异步的,为了同步,在限制采样窗开始之前要有一个SYSCLKOUT 的延时3、谈一下实验中延迟调整的体会。在主程序中,找到含有带参数的延时函数,改变参数的大小,通过运行,观察流水灯变化的速率,逐渐达到实验中合适的延迟速率。当延时时间过小时,LED的闪烁不明显,从视觉上看感觉是“常亮”。专心-专注-专业