基于裸机单核开发Demo例程演示
所有工程均位于光盘"Demo\DSP_F2837xS\NonOS\Application"文件夹内。
本章节讲述在不使用操作系统的情况下,基于创龙TL2837x-EasyEVM开发板的例程演示。具体连接CCS时芯片选型根据实际情况而定。
LED——GPIO输出LED流水灯
本例程的作用是实现GPIO输出功能。底板的4个LED:LED1、LED2、LED3、LED4和核心板的2个LED:LED1、LED2都做流水灯。
按照工程导入步骤加载LED.out文件,然后点击程序运行按钮可以看到相应的现象。
KEY_LED——GPIO输入按键中断(查询方式)
本例程的作用是实现GPIO输入功能,使用查询方式检测KEY1,KEY2和KEY3。
按照工程导入步骤加载KEY_LED.out文件,然后点击程序运行按钮。
演示现象:
KEY1控制LED1的亮灭,KEY2控制LED2的亮灭,KEY3控制LED3的亮灭。
图 57
KEY_LED_FLASH——检测按键控制LED实验(FLASH程序固化)
本例程使用查询方式检测KEY1,KEY2和KEY3。
按照工程导入步骤加载KEY_LED_FLASH.out文件,然后点击程序运行按钮。程序会自动固化到FLASH中,以便测试FLASH启动是否正常。
演示现象:
KEY1控制LED1的亮灭,KEY2控制LED2的亮灭,KEY3控制LED3的亮灭。
DC_MOT——直流电机测试
本例程的作用是通过PWM驱动直流电机,通过按键调节电机速度和方向,KEY1加速,KEY2减速。
按照工程导入步骤加载DC_MOT.out文件,然后点击程序运行按钮。
演示现象:
板上白色接线端子J3连接直流电机,通过KEY1、KEY2调节电机速度。
STEP_MOT——步进电机测试
本例程依次控制GPIO150~GPIO147分别输出高电平,步进电机逆时针转动。可以根据需要在程序中修改管脚输出电平的高低以达到旋转不同方向。
按照工程导入步骤加载STEP_MOT.out文件,然后点击程序运行按钮。
演示现象:
板上白色接线端子J4连接步进电机,程序运行后可以看到步进电机逆时针转动。
RELAY——继电器测试
本例程的作用是通过GPIO控制继电器的闭合与断开,每隔1s通断1次。
按照工程导入步骤加载RELAY.out文件,然后点击程序运行按钮。
演示现象:
运行程序后GPIO会反复控制继电器的闭合与断开,LED5相应的发生亮与灭。
SRAM——SRAM存储器测试
本例程的作用是先向sram写入0x5555,读回并校验数据;再写入0xaaaa,读回并校验数据;写入递增数据,读回并校验数据。测试结果通过串口A打印。
按照工程导入步骤加载SRAM.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到打印信息,如图所示:
图 58
NOR_FLASH——NOR FLASH存储器测试
本例程是NOR FLASH存储器读写测试,向FLASH写入100个字节再读回来,校验数据是否正确,测试结果通过串口A打印。
按照工程导入步骤加载NOR_FLASH.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到打印信息,如图所示:
图 59
EEPROM——EEPROM存储器测试
本例程是通过IIC向EEPROM的0x0~0xf地址写入0x0~0xf数据,读回并校验数据,测试结果通过串口A打印。
按照工程导入步骤加载EEPROM.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到打印信息,如图所示:
图 60
PWM_BUZZER——蜂鸣器测试
本例程的作用是通过PWM驱动蜂鸣器发声,通过按键可以调节PWM占空比,KEY1占空比增加,KEY2占空比减小。
按照工程导入步骤加载PWM_BUZZER.out文件,然后点击程序运行按钮。
演示现象:
蜂鸣器发声,按下KEY1声音频率升高,按下KEY2声音频率降低。
图 61
SCIA——串口A测试(USB转UARTA)
使用Micro USB线连接开发板接线端子CON2和PC机,打开串口调试助手,设置波特率为115200,DSP通过串口A接收到字符后,会通过串口A打印出来。
按照工程导入步骤加载SCIA.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到打印输入的字符信息,如图所示:
图 62
SCIB——串口B测试(RS232转UARTB)
使用USB转串口模块连接开发板接线端子CON3和PC机,上位机设置串口波特率为115200,DSP通过串口B接收到字符后,会通过串口B打印出来,请注意一次只能发送一个字符且不能有回车换行,否则会导致串口死机需要断电重启。
按照工程导入步骤加载SCIB.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到打印输入的字符信息,如图所示:
图 63
REMOTE——红外遥控遥控解码实验
本例程本程序演示红外遥控解码实验,解码成功得到的地址和数据,并通过串口A打印输出,LED1作为指示,亮时表明正在解码,灭时表明未在解码。
按照工程导入步骤加载REMOTE.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到按下不同的按键串口会打印输出与该按键相对应的编码,如图所示:
图 64
ADC_SOC——ADC周期触发采样实验
本例程会一直采集通道ADCINA0~ADCINA5,ADCINB0~ADCINB5,ADCIN14,ADCIN15,ADCINC2~ADCINC5,ADCIND0~ADCIND5的AD数据,并且通过串口A打印。电压值计算公式:输入模拟电压=采样值*3/4095。
按照工程导入步骤加载ADC_SOC.out文件,然后点击程序运行按钮。
演示现象:
运行程序后可在串口调试工具看到AD数据,如图所示:
图 65
ADC_SOC_DIFF——16bit差分输入模式周期触发采样实验
本例程把ADCA的所有通道配置为差分输入模式,它会一直采集通道ADCINA0-ADCINA1,ADCINA2-ADCINA3,ADCINA4-ADCINA5的AD数据,
按照工程导入步骤加载ADC_SOC.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 66
实际的电压值请在CCS窗口中查看Adca_V的值。如下图所示:
图 67
电压值计算公式:输入模拟电压=(采样值*2/65536-1)*3.0计算方法见“TMS320F2837xS Delfino Microcontrollers Technical Reference Manual”文档第1184页。
DAC——DAC输出电压实验
本例程使DACA(底板J5 A0)输出电压,默认值为1.5V,通过KEY1可以增加输出电压,通过KEY2可以减小输出电压。
按照工程导入步骤加载DAC.out文件,然后点击程序运行按钮。
演示现象:
用万用表测量DACA(底板J5 A0)的输出电压。
DAC_SIN——DAC输出正弦波实验
本例程使DACA (底板J5 A0) 输出正弦波,通过片上DAC输出正弦波。
按照工程导入步骤加载DAC_SIN.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 68
用示波器观察波形如下图所示:
图 69
EQEP_FREQCAL——频率测量
本例程使用EPWM产生输出信号,利用EQEP的计数单元和捕获单元进行频率测量,分别采用了计数法和测周法计算输入信号的频率。测量的频率值会在串口打印输出。实验时请用杜邦线连接J6-PIN1与J7-PIN1。
按照工程导入步骤加载EQEP_FREQCAL.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 70
通过按键可以改变EPWM输出信号的频率,按KEY1时频率增加,按KEY2时频率减小。
EQEP_POS_SPEED——速度测量
本例程使用EPWM产生正交输出信号,利用EQEP的计数单元和捕获单元进行速度测量,分别采用了计数法和测周法计算输入信号的频率转换为电机的速度。测量的速度值会在串口打印输出。实验时请用杜邦线连接J6-PIN1与J7-PIN1以及J6-PIN3与J7-PIN3。
按照工程导入步骤加载EQEP_POS_SPEED.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 71
通过按键可以改变EPWM输出信号的频率,按KEY1时频率增加,按KEY2时频率减小。这里我们假设电机一转输出500个脉冲,如果EPWM产生正交输出信号频率为5K,则电机的转速为5000/500=10转/秒=600转/分钟
CPU_TIMER——CPU定时器实验
本例程通过配置定时器产生中断时间,在中断函数中控制核心板的LED1。
按照工程导入步骤加载CPU_TIMER.out文件,然后点击程序运行按钮。
演示现象:
LED1循环点亮和熄灭。串口打印信息如下图所示:
图 72
SPI_LOOPBACK——SPI回环测试实验
本例程测试SPI,使用的回环模式,在芯片内部已经将主-从机连接,外部不需要硬件连接。通过收发数据,然后进行校验,根据检验结果,串口会打印出相关的提示信息(测试成功或者失败)。
按照工程导入步骤加载SPI_LOOPBACK.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 73
SPI_LOOPBACK_DMA——SPI回环实验(DMA方式)
本例程测试SPI,使用的回环模式,在芯片内部已经将主-从机连接,外部不需要硬件连接。通过收发数据,然后进行校验,根据检验结果,串口会打印出相关的提示信息(测试成功或者失败)。
按照工程导入步骤加载SPI_LOOPBACK_DMA.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 74
CLA_ADC——CLA_ADC实验
本例程会通过CLA控制ADC模块一直采集通道ADCINA0~ADCINA5,ADCINB0~ADCINB5,ADCIN14,ADCIN15,ADCINC2~ADCINC5,ADCIND0~ADCIND5的AD数据,电压值计算公式:输入模拟电压=采样值*3/4095。
SOC6将转换ADCIN14引脚的输入,SOC7将转换ADCIN15引脚的输入,把ADCIN14、ADCIN15结果存入了AdccResult[0]、AdccResult[1]。
按照工程导入步骤加载CLA_ADC.out文件,然后点击程序运行按钮。
演示现象:
在CCS窗口中观察计算得到的实际电压值Adca_V,Adcb_V,Adcc_V,Adcd_V,如下图所示:
图 75
CLA_SQRT——CLA开方运算实验
本例程演示利用CLA核进行开方运算。
按照工程导入步骤加载CLA_SQRT.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到数据,如下图所示:
图 76
ECAP_APWM——ECAP_APWM实验
本例程功能为配置ECAP为APMW模式,在GPIO5管脚可以查看到PWM波形。
按照工程导入步骤加载ECAP_APWM.out文件,然后点击程序运行按钮。
演示现象:
使用示波器观察波形如下图所示:
图 77
ECAP_CAPTURE_PWM——ECAP_CAPTURE_PWM实验
注意:实验时必须连接EPWM31/GPIO145和EPWM3A/GPIO149引脚,即用杜邦线连接J6-PIN1与J6-PIN5。使用示波器观察ePWM3A输出的波形时,也必须保持J6-PIN1与J6-PIN5的连接。
本例程演示ECAP捕获PWM输入,eCAP1使用EPWM31/GPIO145管脚,工作在双边沿捕获模式,捕获ePWM3A的输出,在捕获中断中会改变ePWM3A的频率。请在CCS窗口中观察ECap1IntCount和ECap1PassCount变量。
按照工程导入步骤加载ECAP_CAPTURE_PWM.out文件,然后点击程序运行按钮。
演示现象:
如下图所示:
图 78
实验中可使用示波器观察ePWM3A输出的波形,如下图所示:
图 79
ImageReverse——图像取反
本例程的作用是,实现图片的黑白颜色调换。
使用Micro USB线连接开发板接线端子CON2和PC机,打开串口调试助手,设置波特率为115200。
按照工程导入步骤加载ImageReverse.out文件,然后点击程序运行按钮。
演示现象:
运行程序后,可在串口调试工具看到打印输入的字符信息,如图所示:
图 80
点击"Tools->Image Analyzer",如下图所示:
图 81
在Console旁边弹出的Image窗口中右击鼠标,在弹出的菜单栏中选择"Import Properties",如下图所示:
图 82
选择in.txt配置文件,位于ImageReverse工程Image目录下,如下图所示:
图 83
选择后显示原图片,如下图所示:
图 84
在Properties属性可看到in.txt文件的设置参数,如下图所示:
图 85
新建一个Image窗口查看转换后的图片效果,点击"Tools->Image Analyzer",如下图所示:
图 86
在Console旁边弹出的Image窗口中右击鼠标,在弹出的菜单栏中选择"Import Properties",如下图所示:
图 87
选择out.txt配置文件,位于ImageReverse工程Image目录下,如下图所示:
图 88
选择后显示转换后的图片,如下图所示:
图 89
在Properties属性可看到out.txt文件的设置参数,如下图所示:
图 90
WATCHDOG——WATCHDOG看门狗实验
本例程演示了通过看门狗产生一个中断时间,中断事件每产生一次计WakeCount加一,用右键“Add Watch Expression…”,可在变量窗口查看变量的数值。
按照工程导入步骤加载WATCHDOG.out文件,然后点击程序运行按钮。
演示现象:
如下图所示:
图 91
来源:oschina
链接:https://my.oschina.net/u/4169033/blog/4467704