以下容在任亚洲同学原稿上(V1.0)稍作修改,仅做参考,为了保证答案的正确性跟同志们的过科率,希望大家踊跃发现并改正其中的错误,如有修改请在修改完成后注明修改后的版本,合作!(本版本V1.1)。
温馨提示:X表示
1. 2812芯片:定点32位芯片。
2. 2000系列功能比较强。
3.2812 I/O口供电电压3.3V,核供电电压1.8V或1.9V。
4. 2812编译时.CMD是什么文件,.OUT是什么文件?
答:CMD是命令文件,.OUT是最终可执行成文件。
5. 2812的3个CPU定时器是多少位? DSP采用段的概念,各个段的都有什么意思?
答:32位;
已初始化的段:包含真实的指令跟数据,存放在程序储存空间。
未初始化的段:包含变量的地址空间,存放在数据存储空间。
6. 2812 时钟150M时,低速、高速外输时钟是多少?
答:低速37.5MHz,高速75MHz
7. DSP总线结构是什么样子?
答: 先进型哈弗结构。
8. 2812 CPU的中断有可屏蔽中断和不可屏蔽中断,分别是哪些?
答:可屏蔽中断:INT1~INT14 14个通用中断;DLOGINT数据标志中断;RTOSINT实时操作系统中断。
不可屏蔽中断:软件中断(INTR指令和TRAP指令);硬件中断NMI,非法指令陷阱;硬件复位中断;用户自定义中断。
9. 2812实际寻址空间是多少?
答:地址:00000~3FFFF(4M)
10. 2812一个事件管理器(EV)能够产生8路PWM波。(2路独立PWM波,3对6路互补PWM波)
11.DSP有3组地址总线,3组数据总线,分别是什么?
答:地址:程序地址总线、数据读地址总线、数据写地址总线。
数据:程序读数据总线、数据读数据总线、数据写数据总线。
12. ADC模块有多少路采样通道?8*2=16路
13. SCI和SPI口哪一个需要设置波特率?SCI
14. 把目标文件下载到实验板怎么操作?
答:File----load program
15. CAN通讯的最大带宽是多少?1M
16.字符串常量在内存中占的字节数 加上看门狗,2812部定时器一共有多少个?
答:3个CPU定时器,4个事件管理通用定时器,1个看门狗定时器,总共8个。
17. 2812DSP流水线深度为 8。
18. TI公司生产的最牛cpu是667x有8个核,320Gmac /s。 注:mac是乘法累加
19. 2812AD满量程转换时,转换寄存器的值是多少? 0xFFF0
20. 2812CPU最小系统:主芯片,电源模块,时钟电路,复位电路,JTAG电路
21. DSP生产厂家是TI公司,ADI公司,Freescale(飞思卡尔)公司。
22. TI公司的DSP芯片类型有C2000,C5000,C6000系列
23. DSP工程开发,需要编写4个文件:头文件,库文件,源文件,CMD文件。
24. 2812有2个事件管理器EVA、EVB,每一个事件管理器包含哪几个功能模块?
答:通用定时器;全比较单元;捕获单元;正交编码电路。
25. 2812定时器计数周期怎么算? T=(TDDRH:TDDR+1)*(PRDH:PRD+1) /150s
26. 2812在什么情况下工作于微处理器模式? MP/MC=0
27. 2812中断系统有一部分挂在PIE上面,这些都属于可屏蔽中断,那么能够响应中断的条件是什么?
答:INTM置0响应总中断,其他的置1响应。(INTM=0,IFR=1,IER=1,PIEIFR=1,PIEIER=1,PIEACR=1)
28. 2812在进行引导时第一条程序在什么位置?0x3FFFC0注:就是程序运行的起始地址,2^20byte=1M
29. 2812AD转换器的输入电压 0~3V。
30. 2812片flash有128k*16位。
31. 2812的OTP模块是可编程模块可以多次擦写吗? 不可以,是一次擦写。
32. 2812ROM是只读存储器,flash是可以重复擦写的存储器。
33. 2812的供电电压?
答:当时钟频率为135MHZ时,核电压1.8V,时钟频率为150MHZ时,核电压1.9V
34. memory sections是 CMD文件里面的容。
35. PIE支持多少个外部中断,实际上使用了多少个?最大支持96个,实际使用45个。
36. 看门狗是干什么的?通过软件,给看门狗计数器的密钥周期性的写明哪两个数?
答:为DSP的运行情况进行“把脉”,如果发现程序跑飞或者状态不正常,便立即使DSP复位,提高系统的可靠性;周期性写入 0x55,0xAA。
37. SPI口和SCI口是干嘛的?
答:SPI是串行外围设备接口,是一种高速的,全双工,同步的通信总线。SCI是相对于并行通信的,是双线串行异步通信技术的一种总称。SCI通信接口可以设计成rs232接口,也可以设计成rs485接口
38. 2812有多少个通用IO口? 56个
39. 2812的乘法器是多少位? 32位
40.6000系列更适合处理图像。
41. 2812下载的程序是在片外flash运行。
42. CCS用什么打开什么窗口显示存储器的数据?view-memory
43. 2812的AD的最高的采样速率是多少? 12.5MSPS
44. 2812有4种工作模式:正常模式,空闲模式,暂停模式,备用模式最省电的是暂停模式
45. 2812的DSP用 4字节空间用于存放中断服务程序的地址
46. CAN的抗通讯距离可以达到多远? 10km
47. CMD文件下面有memory sections,其中memory下面的括号要写什么?
答:PAGE0(程序空间),PAGE1(数据空间)
48. CCS建立工程到下载程序分成哪三(ji)步?
答:新建工程—添加源文件、库文件、CMD文件—编译—下载
49. 2812的DSP可以实现倍频或者分频的是什么? PLL(锁相环)最大倍频系数为5
50. 2812一个周期能算32位的乘法,16x16位能算2个,32x32位能算1个。
51. 2812的RAM多大?18Kx16位
52. 使用厂家的bootloader进行引导时MP/MC应该怎么设置? MP/MC=0
53. SCI口是串口时,地址是什么?
答:0x00007050~0x0000705F,0x00007750~0x0000775F
54. 2812的高速外部时钟是不是一定比低速外部时钟快? 不一定
55. 2812的中断向量的地址是不是不能改变? 不是,能改变
56. DSP在编程时流水线是有冲突的。如,下一条指令在用上一条指令的结果时,上一条指令还没有计算完,这就引起了流水线冲突,必须打断。C语言写程序时有流水线冲突吗?
答:C语言写的程序没有流水线冲突,汇编写程序时有流水线冲突。
57. DSP比51快,为什么?
答:因为DSP有改进型哈弗结构,多路数据总线,指令流水线,地址发生器,硬件的乘法器,零开销循环。
最后有20分是第一个实验,主要考CMD文件以及注释。
第一个实验
1.系统初始化函数
/****************************************************************************
*文件名:DSP28_SysCtrl.c
*功 能:对2812的系统控制模块进行初始化
*作 者: likyo from hellodsp
****************************************************************************/
#include "DSP28_Device.h"
/****************************************************************************
*名 称:InitSysCtrl()
*功 能:该函数对2812的系统控制寄存器进行初始化
*入口参数:无
*出口参数:无
****************************************************************************/
void InitSysCtrl(void)
{
Uint16 i;
EALLOW;
// 对于TMX产品,为了能够使得片RAM模块M0/M1/L0/L1LH0能够获得最好的性能,控制寄存器的位
// 必须使能,这些位在设备硬件仿真寄存器。TMX是TI的试验型产品
DevEmuRegs.M0RAMDFT = 0x0300;
DevEmuRegs.M1RAMDFT = 0x0300;
DevEmuRegs.L0RAMDFT = 0x0300;
DevEmuRegs.L1RAMDFT = 0x0300;
DevEmuRegs.H0RAMDFT = 0x0300;
// 禁止看门狗模块
SysCtrlRegs.WDCR= 0x0068;
// 初始化PLL模块
SysCtrlRegs.PLLCR = 0xA;
//如果外部晶振为30M,则SYSCLKOUT=30*10/2=150MHz
// 延时,使得PLL模块能够完成初始化操作
for(i= 0; i< 5000; i++){}
// 高速时钟预定标器和低速时钟预定标器,产生高速外设时钟HSPCLK和低速外设时钟LSPCLK
SysCtrlRegs.HISPCP.all = 0x0001; // HSPCLK=150/2=75MHz
SysCtrlRegs.LOSPCP.all = 0x0002; // LSPCLK=150/4=37.5MHz
// 对工程中使用到的外设进行时钟使能
// SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;
// SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;
// SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;
// SysCtrlRegs.PCLKCR.bit.SCIENCLKB=1;
EDIS;
}
2.GPIO初始化函数
/****************************************************************************
*文件名:DSP28_Gpio.c
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论