电子信息工程专业CDIO三级项目项目设计说明书(2011/2012学年第二学期)项目名称:DSP应用系统题目:DSPICETEK—f2812B控制交通灯专业班级:电子信息工程学生姓名:学号:指导教师:设计周数:2周设计成绩:2012年7月6日目录1、项目设计目的 (2)2、项目设计正文 (2)2.1硬件设计 (2)2.1.1总体方案设计 (2)2.1.2 数码管驱动显示电路设计 (3)2.1.3交通灯亮灭控制电路设计 (3)2.2项目软件设计 (6)2.2.1软件系统分析 (6)2.2.2 软件系统设计 (7)2.2.3 软件系统实施 (7)2.2.4软件开发环境的使用 (8)3、项目设计总结 (10)4、参考文献 (12)5、附录: (11)1、项目设计目的本学期我们主要学习了DSP 硬件方面的一些基本原理,对于如何通过软件来控制DSP 从而实现我们最终的需求,还不是很了解。
本次设计的目的就是基于TMS320CF2812平台的进行C 语言编程,了解软件编程开发的基本流程,以及软硬件是如何共同协调工作从而实现最终的控制的。
熟练掌握TMS320F2812控制交通灯方法,树立正确的设计思想提高分析问题与解决具体问题的能力。
并通过此次项目设计熟练软件CCS 的操作和使用,能够实现程序的编译、运行以及烧写。
2、项目设计正文 2.1硬件设计2.1.1总体方案设计本次设计过程中主要利用了F2812的通用I/O 来实现对东西南北方向红绿黄灯亮灭的控制,以及数码管显示的控制。
而实现定时的操作主要通过通用定时器0的中断调用来实现。
硬件设计的总体框图如图1所示。
图1 硬件设计总体框图2.1.1.1 F2812 GPIO 介绍TMS320F2812 DSP 有多达56个通用数字量输入输出端口(GPIO ),其中绝大部分是通用I/O 和专用功能复用引脚。
数字量I/O 端口模块采用一种灵活配置的方法控制服用引脚功能,GPIOMUX 寄存器用来选择F2812的引脚操作模式,可以通过该寄存器独立设置每个引脚的功能。
如果选择数字量I/O 模式,可以通过GPxDIR 寄存器配置数字量I/O 的方向,并通过GPxQUAL 进一步消除数字量I/O 引脚的噪声信号。
此外,处理器提供GPxSET 和GPxCLEAR 寄存器对数字量进行置位和清零,还可以通过GPxDAT 寄存器独立读/写I/O 信号。
2.1.1.2 定时器0及其中断介绍DSPGPIOA 最 小系GPIOB统数码管驱动电路发光二极管显示电路数码管显示电路F2812器件上有3个32位的CPU 定时器(TIMER0/1/2)。
定时器1和2留给实时操作系统DSP/BIOS 使用,只有定时器0可以在应用程序中使用。
若处理器采用30MHz 的外部时钟经过锁相环10/2倍频之后,系统时钟工作在150MHz,一旦定时器被使能,定时器时钟经过与预定标计数器递减计数,预订标计数器产生下溢之后向定时器的32位计数器借位。
最后定时器产生溢出使定时器想CPU 发出中断。
每次预订标计数器产生溢出后使用分频寄存器中的值重新装载,同样32位的周期寄存器为32位的计数器提供重新装载值。
2.1.1.3 基于F2812构成的最小系统 F2812构成的最小系统如图2所示。
图2 F2812最小系统原理图F2812芯片的最小系统,由11、12号引脚接外部时钟电路,用30MHz 的晶振提供时钟周期。
用1117电平转换芯片将外部寄存的电平+5V 转换为F2812能支持的电平+3.3V ,接到15号引脚(VDD )给F2812提供电源。
F2812芯片的复位电路由14号引脚接入。
2.1.2 数码管驱动显示电路设计本次设计为了节省F2812的端口的使用采用芯片CD4511来实现数码管的驱动以及显示。
CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD 转换、消隐和锁存控制、七段译码及驱动功能的CMOS 电路能提供较大的拉电流。
可直接驱动LED 显示器。
其引脚图如图3所示。
GPIOA0_PWM11GPIOA0_PWM22GPIOA0_PWM33GPIOA0_PWM44GPIOA0_PWM55GPIOA0_PWM66GPIOB0_PWM77GPIOB0_PWM88GPIOB0_PWM99GPIOB0_PWM1010X111X212VDD15TESTSEL 13XRS14U1F2812P1P2P3P4P5P6P7P8P9P10+5VY130MHz 24p fC224p f R145.1k+C322u fS1SW-PB-4VCCVin 1G N D2Vout3U3LM1117图3 CD4511引脚电路图CD4511引脚功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入DCBA 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4为8421BCD码输入端。
a、b、c、d、e、f、g为译码输出端,输出为高电平1有效。
为了让数码管正常显示,进行引脚的焊接时BI与LT引脚接电源VCC,LE则连接地。
CD4511正常显示时用的真值表如表一:表一 CD4511真值表输入输出LE BI LI A3 A2 A1 A4 a b c d e f g 显示0 1 1 0 0 0 0 1 1 1 1 1 1 0 00 1 1 0 0 0 1 0 1 1 0 0 0 0 10 1 1 0 0 1 0 1 1 0 1 1 0 1 20 1 1 0 0 1 1 1 1 1 1 0 0 1 30 1 1 0 1 0 0 0 1 1 0 0 1 1 40 1 1 0 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 1 0 0 0 1 1 1 1 1 60 1 1 0 1 1 1 1 1 1 0 0 0 0 70 1 1 1 0 0 0 1 1 1 1 1 1 1 80 1 1 1 0 0 1 1 1 1 0 0 1 1 9电路进行连接时CD4511输出引脚a 、c 、d 、e 、f 、g 依次数码管的a 、c 、d 、e 、f 、g 引脚上即可。
另外由于数码管采用共阴的因此本次设计过程中即那个数码管的3脚与8脚接地,从而使数码管正常工作。
数码管的内部原理图以及其封装引脚如图4和图5所示。
图4 数码管内部原理图 图5 数码管封装引脚图数码管驱动现实的电路图如图6所示。
图6 数码管驱动电路图为了编写程序时与上述真值表相对应,将CD4511与DSP F2812的B 口进行连接时,应将其中,芯片CD4511引脚A4接芯片F2812的第13号引脚(GPIOB0/PWM7)、引脚A1接芯片F2812的第14号引脚(GPIOB1/PWM8)、引脚A2接芯片F2812的第15号引脚(GPIOB2/PWM9)、引脚A3接芯片F2812的第16号引脚(GPIOB3/PWM10)。
2.1.3交通灯亮灭控制电路设计由于F2812的通用I/O 口引脚输出高电平时,引脚的电压为3.3V ,而开发板上所提供的电源 电压为5V ,因此,发光二极管进行连接时只能采用共阴极。
因为当采用共阳极进行连接时,二极管阳极所接的电压为5V ,当通用I/O 口输出低电平时,发光二极管点亮。
但是,当通用I/O 口输出高电平时,电压为3.3V ,3.3V 与5V 存在1.7V 的压降,足以使发光二极管点亮。
这样就会造成,无论通用I/O 口输出低电平时,还是高电平时,发光二极管都点亮。
采用共阴极则不存在这个问题。
a bf cg d e DPY [LEDgn]1234567ab c d e fg DS1R7330ΩR8330ΩR9330ΩR10330ΩR11330ΩR12330ΩR13330ΩA11A22LT 3BI 4LE 5A36A47GND 8VCC 16f 15g 14a 13b 12c 11d 10e9U2CD4511P8P9P10P7g a b c d f ee f g a +5Vb c d +5V此次设计中为了简化地那路的连接,只将东西方向以及南北方向各一边的灯进行了设计连接。
共利用了6个通用I/O 口。
进行连接时,连接在了TMS320F2812 DSP 的GPIOA 的前六个引脚,即GPIOA0/PWM1- GPIOA5/PWM6。
总体硬件电路图如图7所示。
图7 总体硬件电路图实物图调试如图8所示。
图8 硬件实物图2.2项目软件设计12绿LED 12红LED12黄LED 12红LED12绿LED12黄LED a bf cg d e DPY [LEDgn]1234567abc d e fg DS1倒计时R1330ΩR2330ΩR3330ΩR4330ΩR5330ΩR6330ΩR7330ΩR8330ΩR9330ΩR10330ΩR11330ΩR12330ΩR13330ΩGPIOA0_PWM11GPIOA0_PWM22GPIOA0_PWM33GPIOA0_PWM44GPIOA0_PWM55GPIOA0_PWM66GPIOB0_PWM77GPIOB0_PWM88GPIOB0_PWM99GPIOB0_PWM1010X111X212VDD15TESTSEL 13XRS14U1F2812P1P2P3P4P5P6P1A11A22LT 3BI 4LE 5A36A47GND 8VCC 16f 15g 14a 13b 12c 11d 10e9U2CD4511P7P8P9P10P8P9P10P7g ab c d ee f g a b c d +5V+5VY130MHz C124pf C224pf R145.1k+C322ufS1SW-PB-4VCCVin 1G N D2Vout3U3LM1117F2812控制交通灯南北方向东西方向f2.2.1软件系统分析软件的设计主要是通过利用C 语言的编程来实现交通灯亮灭的控制,程序的设计包括初始化部分,对系统时钟的初始化、PIE 控制寄存器的初始化、中断向量表的初始化、GPIO 的初始化、定时器0的初始化。
接着就是对定时器0以及其中断周期进行配置。
最后进行中断程序的设计,中断程序的设计以及定时器中断周期的设置是本次软件设计的两块重要部分。
2.2.2 软件系统设计程序的总体流程图以及中断程序流程图如图9和图10所示。
2.2.3 软件系统实施主程序里面主要实现了对定时器0中断周期的设置,以为计时以秒为单位进行计时的,所以在进行配置时,将定时器的周期配置为1s ,在主程序的while (1)语句中每间隔1s 响应一次中断。