基于dsp交通信号灯详细设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.
交通灯分为红绿三色,东、南、两、北各一组,用灯光信号实现对交通的控制:绿灯信号表示通行,红灯禁止通行,灯光闪烁表示信号即将改变。正常的交通控制信号顺序如下:
(1)南北方向绿灯,东两红灯(20秒)
(2)南北方向绿灯闪烁
(3)南北方向红灯
(4)东西方向绿灯(20秒)
(5)东西方向绿灯闪烁
(6)返回(1)循环控制
功能特性:
⑴开放式集成化的设计管理体系
⑵超强功能的、修改与编辑功能
⑶强大的设计自动化功能
CCS软件
CCS软件简介CCS(Code Composer Studio)代码调试器是一种合成开发环境。它是一种针对标准TMS320调试器接口的交互式方法。CCS目前有CCS1.1,CCS1.2和CCS2.0等三个不同时期的版本,又有CC2000 (针对C2XX ),CCS5000 (针对C54XX )和CCS6000 (针对C6X )三个不同的型号。我们所使用的是CCS50002.0的版本。CCS5000具有以下特性:
表2-1 CD4511真值表
Protel 99 SE软件
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟ቤተ መጻሕፍቲ ባይዱ能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。
PLL_config(&myConfig);
/*确定方向为输出*/
GPIO_RSET(IODIR,0xFF);//1为输出
INTR_init();
TIMER_init();
while(1)
{
if ( nTimeCount<nStatusNSGreenEWRed )nNowStatus=statusNSGreenEWRed;
⑽技术状态观察窗口:
CCS5000的可视窗口允许用户进入C表达式及相关变量。结构、数组、指针都能很简单地递归扩展和减少,以便进入复杂结构。
⑾代数分解窗口
允许用户选择查看写成代数表达式的C格式,提高可读性。
⑿目标DSP上的帮助:
DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。
⒀用户扩展:
扩展语言(GEL)使得用户可以将自己的菜单项加到CCS5000的菜单栏中。
⑴TI编译器的完全集成的环境:CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows环境中。
⑵对C和DSP汇编文件的目标管理:目标编辑器保持对所有文件及相关内容的跟踪。它只对最近一次编译中改变过的文件重新编译,以节省编译时间。
⑶高集成的编辑器调整C和DSP汇编代码:CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示。使用户能很容易地阅读代码和当场发现语法错误。
其特点:
1其低功耗设计,比上一代C54XX器件功耗低30%左右;
2处理速度更快,双核结构,处理速度400MIPS;
3软件程序兼容C54XXDSP;
4片内存贮空间128K×16Bit;
5大容量SDRAM设计:4M×16Bit;
62路10bit片上A/D接口;
78Mbit扩展FLASH,存储大量固化程序和数据;
CCS5000允许用户从PC机读或写信号流。而不是实时的读信号,这就可以用已知的例子来仿真算法。
⑻图形分析:
CCS5000的图形分析能力在其环境中是集成的。
⑼在后台(系统命令)执行用户的DOS程序:
用户可以执行CCS5000中的DOS程序,并将其输出以流水方式送到CCS5000的输出
窗口。且允许用户将应用程序集成到CCS5000。
6在任何算法点观察信号的图形窗口探针:
图形显示窗口使用户能够观察时域或频域内的信号。对于频域图,FFT在主机内执行这样就可以观察所感兴趣的部分而无须改变它的DSP代码。图显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。
⑺文件探针在算法处通过文件提取或加入信号或数据:
(2)定时器的设定,VC5509A定时器是由一个4位的预定标值PSC和一个16位的减法计数的计数器TIM组成。在实际工作中首先是每经过一个周期PSC值减1,一直减到0后TIM开始减1,直到减到0后的第一个周期,计数器会向CPU发出中断请求。
(3)突发事件设置在实际交通过程中会出现突发状况,比如说有救护车或者110紧急车要通过,此时就可以通过小键盘进行突发状况模拟。通过按键进入到中断服务子程序,相当于原来先要通过的车辆在突发状况来了以后就要先让紧急车辆通过。
表4-1元器件表
元器件名称
数量
规格
红色LED灯
2个
黄色LED灯
2个
绿色LED灯
2个
电阻
13个
500欧姆
CD4511
1个
基座一个
共阴数码管
1个
万用板
1块
杜邦线
20根
不同颜色
排插
一排
利用电烙铁焊接,实际设计实物如图4-5
图4-5焊接电路图
代码设计
#include <csl.h>
#include <csl_pll.h>
程序流程图如图4-1,图4-2和图4-3所示:
图4-2定时中断图4-3外部中断
图4-1交通灯流程图
5.
通过外部可控开关设置外部中断,如图4-3
4-3键盘原理图
硬件原理图
使用protel 99 SE绘制原理图,如图4-4,双电源见图4-5
图4-4主原理图图4-5双电源原理图
硬件设计
通过原理图然后选择元器件,统计元器件并记录,如表4-1
#include <csl_chip.h>
#include <csl_gpio.h>
#include "C5509.h"
#define nStatusNSGreenEWRed 140//南北绿灯7s
#define nStatusNSFlashEWRed 200//南北闪烁3s
#define nStatusNSRedEWGreen 340//南北红灯7s
#define statusHold 4
#define LBDS (*((unsigned int *)0x400001))//定义LBDS的地址
#define DIPS (*(unsigned int *)0x400002)//定义拨码按键的地址
void delay(Uint32 z);
void LEDFlash(int num1,int num2);
//(PLL in bypass mode, if PLL multiply value is set to 1)
};
unsigned int nTimeCount,nTimeMS,nLed,nLedMS,nOldTimeCount;
main()
{
int nNowStatus;
ioport unsigned int *tcr0;
tcr0 = (unsigned int *)0x1002;
nTimeCount=nTimeMS=nLedMS=nLed=0;
nNowStatus=0; nOldTimeCount=0;
/*初始化CSL库*/
CSL_init();
SDRAM_init();//初始化EMIF接口
/*设置系统的运行速度为60MHz*/
紧急情况处理:当重要车队通过、急救车通过时,交通警察手动控制:
(1)当任意方向通行剩余时间多于1秒,将时间改或10秒
(2)正常变换到四面红灯(20秒)
(3)直接返回正常信号倾序的下一个通行信号(跳过闪烁绿灯)
4.
(1)根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制,对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。
信息与电气工程学院
DSP应用系统(三级)项目
设计说明书
(2013/2014学年第二学期)
题目:基于DSP设计的交通信号灯
专业班级:
学生姓名:
学号:
指导教师:
设计周数:2周
设计成绩:
2014年7月11日
1.
随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。如何采用合适的控制方法,最大限嚏利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规刘部门亟待解决的主要问题。而DSP是伴随着微电子学、数字信号处理技术和计算机技术等学科的发展而产生的,是体现这三个学科综合科研成果的器件。由于它特殊的结构设计,可以把数宁信号处理中的一些理论和算法实时实现,并逐步进入了控制器市场,而在计算机应用领域中得到了广泛的使用。所以本文提出了基于DSP的交通灯综合控制系统的设计。
//sequence
10, //PLL multiply value; multiply 10 times
1 //Divide by 2 PLL divide value; it can be either PLL divide value
//(when PLL is enabled), or Bypass-mode divide value
//before the idle mode was entered
1, //IOB: If the PLL indicates a break in the phase lock,
//it switches to its bypass mode and restarts the PLL phase-locking
⑷编辑和调试时的后台编辑:用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。在其窗口中,错误会加亮显示只要双击错误就可以直接到达出错处。
⑸在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器CCS5000在Windows95和Windows-me中支持多处理。PDM允许将命令传播给所有的或所选择的处理器。
2.
芯片选择
本系统所采用的是TI公司的TMS320VC5509A,TMS320VC5509A是TI公司推出的定点数字信号处理器C5000系列中的一种,TMS320VC5509A通过增加乘累加MAC单元,增强了DSP的运算能力,而且性能更好,功耗更低,是目前TMS320家族中最省电的芯片。该芯片上的资源有:16Mbitflash196k*16bitSRAM2500gateCPLD模块上留有JTAG插口,用户可以通过仿真器和CCS下载程序和进行实验;
void LEDShow(int num);
void INTR_init( void );
void TIMER_init(void);
void LEDBuf(int num);
/*锁相环的设置*/
PLL_Config myConfig = {
0, //IAI: the PLL locks using the same process that was underway
#define nStatusNSRedEWFlash 400//东西闪烁3s
#define nTotalTime 380
#define statusNSGreenEWRed0
#define statusNSFlashEWRed1
#define statusNSRedEWGreen2
#define statusNSRedEWFlash3
8设计有用户可以测试指示灯;
9DSP扩展总线,包括数据、地址、I/O、控制;
104组标准扩展连接器,为用户进行二次开发提供条件;
11具有IEEE1149.1相兼容的逻辑扫描电路,该电路仅用于测试和仿真;+5V电源输入,内部+3.3V、+1.6V电源管理;
12高保真语音接口设计,双路语音采集,每路48K/S;USB2.0接口设计;本实验实验使用实验箱上外围控制接口P0的GPIO(通用输入输出脚)来实现功能,同时使用U4四路用户可控状态开关来实现中断功能。
七段码译码器
具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动共阴LED数码管。其引脚图如图2-1,真值表如表2-1;
图2-1 CD4511引脚图
引脚功能:A0~A3:二进制数据输入端:/BI:输出消隐控制端:LE:数据锁定控制端;/LT:灯测试端;Ya~Yg:数据输出端。
交通灯分为红绿三色,东、南、两、北各一组,用灯光信号实现对交通的控制:绿灯信号表示通行,红灯禁止通行,灯光闪烁表示信号即将改变。正常的交通控制信号顺序如下:
(1)南北方向绿灯,东两红灯(20秒)
(2)南北方向绿灯闪烁
(3)南北方向红灯
(4)东西方向绿灯(20秒)
(5)东西方向绿灯闪烁
(6)返回(1)循环控制
功能特性:
⑴开放式集成化的设计管理体系
⑵超强功能的、修改与编辑功能
⑶强大的设计自动化功能
CCS软件
CCS软件简介CCS(Code Composer Studio)代码调试器是一种合成开发环境。它是一种针对标准TMS320调试器接口的交互式方法。CCS目前有CCS1.1,CCS1.2和CCS2.0等三个不同时期的版本,又有CC2000 (针对C2XX ),CCS5000 (针对C54XX )和CCS6000 (针对C6X )三个不同的型号。我们所使用的是CCS50002.0的版本。CCS5000具有以下特性:
表2-1 CD4511真值表
Protel 99 SE软件
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟ቤተ መጻሕፍቲ ባይዱ能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。
PLL_config(&myConfig);
/*确定方向为输出*/
GPIO_RSET(IODIR,0xFF);//1为输出
INTR_init();
TIMER_init();
while(1)
{
if ( nTimeCount<nStatusNSGreenEWRed )nNowStatus=statusNSGreenEWRed;
⑽技术状态观察窗口:
CCS5000的可视窗口允许用户进入C表达式及相关变量。结构、数组、指针都能很简单地递归扩展和减少,以便进入复杂结构。
⑾代数分解窗口
允许用户选择查看写成代数表达式的C格式,提高可读性。
⑿目标DSP上的帮助:
DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。
⒀用户扩展:
扩展语言(GEL)使得用户可以将自己的菜单项加到CCS5000的菜单栏中。
⑴TI编译器的完全集成的环境:CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows环境中。
⑵对C和DSP汇编文件的目标管理:目标编辑器保持对所有文件及相关内容的跟踪。它只对最近一次编译中改变过的文件重新编译,以节省编译时间。
⑶高集成的编辑器调整C和DSP汇编代码:CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示。使用户能很容易地阅读代码和当场发现语法错误。
其特点:
1其低功耗设计,比上一代C54XX器件功耗低30%左右;
2处理速度更快,双核结构,处理速度400MIPS;
3软件程序兼容C54XXDSP;
4片内存贮空间128K×16Bit;
5大容量SDRAM设计:4M×16Bit;
62路10bit片上A/D接口;
78Mbit扩展FLASH,存储大量固化程序和数据;
CCS5000允许用户从PC机读或写信号流。而不是实时的读信号,这就可以用已知的例子来仿真算法。
⑻图形分析:
CCS5000的图形分析能力在其环境中是集成的。
⑼在后台(系统命令)执行用户的DOS程序:
用户可以执行CCS5000中的DOS程序,并将其输出以流水方式送到CCS5000的输出
窗口。且允许用户将应用程序集成到CCS5000。
6在任何算法点观察信号的图形窗口探针:
图形显示窗口使用户能够观察时域或频域内的信号。对于频域图,FFT在主机内执行这样就可以观察所感兴趣的部分而无须改变它的DSP代码。图显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。
⑺文件探针在算法处通过文件提取或加入信号或数据:
(2)定时器的设定,VC5509A定时器是由一个4位的预定标值PSC和一个16位的减法计数的计数器TIM组成。在实际工作中首先是每经过一个周期PSC值减1,一直减到0后TIM开始减1,直到减到0后的第一个周期,计数器会向CPU发出中断请求。
(3)突发事件设置在实际交通过程中会出现突发状况,比如说有救护车或者110紧急车要通过,此时就可以通过小键盘进行突发状况模拟。通过按键进入到中断服务子程序,相当于原来先要通过的车辆在突发状况来了以后就要先让紧急车辆通过。
表4-1元器件表
元器件名称
数量
规格
红色LED灯
2个
黄色LED灯
2个
绿色LED灯
2个
电阻
13个
500欧姆
CD4511
1个
基座一个
共阴数码管
1个
万用板
1块
杜邦线
20根
不同颜色
排插
一排
利用电烙铁焊接,实际设计实物如图4-5
图4-5焊接电路图
代码设计
#include <csl.h>
#include <csl_pll.h>
程序流程图如图4-1,图4-2和图4-3所示:
图4-2定时中断图4-3外部中断
图4-1交通灯流程图
5.
通过外部可控开关设置外部中断,如图4-3
4-3键盘原理图
硬件原理图
使用protel 99 SE绘制原理图,如图4-4,双电源见图4-5
图4-4主原理图图4-5双电源原理图
硬件设计
通过原理图然后选择元器件,统计元器件并记录,如表4-1
#include <csl_chip.h>
#include <csl_gpio.h>
#include "C5509.h"
#define nStatusNSGreenEWRed 140//南北绿灯7s
#define nStatusNSFlashEWRed 200//南北闪烁3s
#define nStatusNSRedEWGreen 340//南北红灯7s
#define statusHold 4
#define LBDS (*((unsigned int *)0x400001))//定义LBDS的地址
#define DIPS (*(unsigned int *)0x400002)//定义拨码按键的地址
void delay(Uint32 z);
void LEDFlash(int num1,int num2);
//(PLL in bypass mode, if PLL multiply value is set to 1)
};
unsigned int nTimeCount,nTimeMS,nLed,nLedMS,nOldTimeCount;
main()
{
int nNowStatus;
ioport unsigned int *tcr0;
tcr0 = (unsigned int *)0x1002;
nTimeCount=nTimeMS=nLedMS=nLed=0;
nNowStatus=0; nOldTimeCount=0;
/*初始化CSL库*/
CSL_init();
SDRAM_init();//初始化EMIF接口
/*设置系统的运行速度为60MHz*/
紧急情况处理:当重要车队通过、急救车通过时,交通警察手动控制:
(1)当任意方向通行剩余时间多于1秒,将时间改或10秒
(2)正常变换到四面红灯(20秒)
(3)直接返回正常信号倾序的下一个通行信号(跳过闪烁绿灯)
4.
(1)根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制,对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。
信息与电气工程学院
DSP应用系统(三级)项目
设计说明书
(2013/2014学年第二学期)
题目:基于DSP设计的交通信号灯
专业班级:
学生姓名:
学号:
指导教师:
设计周数:2周
设计成绩:
2014年7月11日
1.
随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。如何采用合适的控制方法,最大限嚏利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规刘部门亟待解决的主要问题。而DSP是伴随着微电子学、数字信号处理技术和计算机技术等学科的发展而产生的,是体现这三个学科综合科研成果的器件。由于它特殊的结构设计,可以把数宁信号处理中的一些理论和算法实时实现,并逐步进入了控制器市场,而在计算机应用领域中得到了广泛的使用。所以本文提出了基于DSP的交通灯综合控制系统的设计。
//sequence
10, //PLL multiply value; multiply 10 times
1 //Divide by 2 PLL divide value; it can be either PLL divide value
//(when PLL is enabled), or Bypass-mode divide value
//before the idle mode was entered
1, //IOB: If the PLL indicates a break in the phase lock,
//it switches to its bypass mode and restarts the PLL phase-locking
⑷编辑和调试时的后台编辑:用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。在其窗口中,错误会加亮显示只要双击错误就可以直接到达出错处。
⑸在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器CCS5000在Windows95和Windows-me中支持多处理。PDM允许将命令传播给所有的或所选择的处理器。
2.
芯片选择
本系统所采用的是TI公司的TMS320VC5509A,TMS320VC5509A是TI公司推出的定点数字信号处理器C5000系列中的一种,TMS320VC5509A通过增加乘累加MAC单元,增强了DSP的运算能力,而且性能更好,功耗更低,是目前TMS320家族中最省电的芯片。该芯片上的资源有:16Mbitflash196k*16bitSRAM2500gateCPLD模块上留有JTAG插口,用户可以通过仿真器和CCS下载程序和进行实验;
void LEDShow(int num);
void INTR_init( void );
void TIMER_init(void);
void LEDBuf(int num);
/*锁相环的设置*/
PLL_Config myConfig = {
0, //IAI: the PLL locks using the same process that was underway
#define nStatusNSRedEWFlash 400//东西闪烁3s
#define nTotalTime 380
#define statusNSGreenEWRed0
#define statusNSFlashEWRed1
#define statusNSRedEWGreen2
#define statusNSRedEWFlash3
8设计有用户可以测试指示灯;
9DSP扩展总线,包括数据、地址、I/O、控制;
104组标准扩展连接器,为用户进行二次开发提供条件;
11具有IEEE1149.1相兼容的逻辑扫描电路,该电路仅用于测试和仿真;+5V电源输入,内部+3.3V、+1.6V电源管理;
12高保真语音接口设计,双路语音采集,每路48K/S;USB2.0接口设计;本实验实验使用实验箱上外围控制接口P0的GPIO(通用输入输出脚)来实现功能,同时使用U4四路用户可控状态开关来实现中断功能。
七段码译码器
具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动共阴LED数码管。其引脚图如图2-1,真值表如表2-1;
图2-1 CD4511引脚图
引脚功能:A0~A3:二进制数据输入端:/BI:输出消隐控制端:LE:数据锁定控制端;/LT:灯测试端;Ya~Yg:数据输出端。