TMS320VC5509A DSP学习路线(持续更新)
step 1:芯片的数据手册(data sheet)
参考资料:sprs205k_TMS320VC5509A Fixed-Point Digital Signal Processor Data Manual(Rev. K)
此手册为TMS320C5509A定点数字信号处理器的数据手册。本手册分6章,每章的主要内容如下:
第1章介绍芯片的特征参数(片上资源),列出了该芯片上所有的设备资源;
第2章描述了该芯片的内部结构及主要特性,列举了该芯片的引脚排布和各个引脚的功能;
第3章为该芯片的功能概述,列举了该芯片的片上外设及其功能,并且针对部分外设给出了寄存器结构、配置方法及注意事项;
第4章主要介绍了该芯片的硬件仿真支持(JTAG);
第5章介绍了该芯片的电气特性,主要涉及到温度、电压等的阈值以及各种时序,此外还重点介绍了芯片的时钟电路设计时的注意事项,若用户需要设计PCB板,那么本章为必读内容;
第6章简要介绍了封装等机械参数。
除了第1、2章为必看内容(概述性的介绍,很简洁),针对不同的应用目的,可选择性阅读。如果是为了绘制PCB板,可以着重阅读4、5、6章;如果是在已有的开发板上开发应用,第3章要求相当熟悉。
在第3章中详细介绍了该处理器的存储器映射关系(3.1 Memory,3.9 Memory-Mapped Registers)、可配置外部总线(3.5 Configurable External Buses)、GPIO(General Purpose Input/Output Port)、系统寄存器(3.7 System Register)、USB时钟产生(3.8 USB Clock Generation)、外设寄存器描述(3.10 Peripheral Register Discription)、中断(3.11 Interrupts)。
step 2: TMS320C55x DSP外设概述用户指南
参考资料:TMS320C55x DSP Peripherals Overview User's Guide(spru317i)
本手册只针对TMS320C55x DSP家族的片上外设。此手册还处于不断修订当中(This manual is in transition)。许多外设的信息已经被重新修订并且从本手册的章节中移出形成单独的文档。这些单独的文档在本手册的第1章提及,那些仍然留在本手册中的外设信息正处在修改当中并且将来也会被移出去形成单独的文档。
当这些修订全部完成的时候,此手册旨在用作一个指向其他所有单独文档的概述。在有些情况下,本手册中的某些信息被移动到了特定设备(Device-Specific)的数据手册(Data Manuals)当中。
在文中并不是把所有的外设的详细信息都一一详细讲述,而更多的是提供一个相关的索引(或引导),即告诉用户这个系列的DSP包含了哪些片上外设,每一种特定的DSP含有哪些片上外设,各自有什么作用,具体的使用说明可能需要参考另外的专门针对该外设的文档或者特定设备的数据手册,所有关于GPIO引脚和系统控制寄存器的说明也都已经移动到了特定芯片的数据手册中,以上的种种都在本文中给出了说明。
除此之外,文中也针对一些初学者必须要首先知道的要点给出了详细说明,就笔者比较关心的TMS320VC5509APGE数字信号处理器而言比较重要的有:时钟发生器(DSP Clock Generator)、闲置状态配置(Idle Configurations)。其中文内容请参见笔者单独翻译的《TMS320C55x DSP Clock Generator(CN)》和《TMS320C55x DSP Idle Configurations(CN)》两篇文章。
step 3: 编写第一个测试程序
描述:结合step1和step2中学习的内容,利用DSP中的时钟发生器编写一程序,要求能够对输入时钟CLKIN进行倍频后作为CPU时钟,然后再进行分频后通过CLKOUT引脚输出,通过示波器观察CLKOUT引脚输出的信号频率是否正确。
TMS320VC5509A DSP学习路线(持续更新)的更多相关文章
- 【pwn】学pwn日记——栈学习(持续更新)
[pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pw ...
- Pig基础学习【持续更新中】
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...
- [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)
持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...
- Java同步学习(持续更新)
在需要考虑线程安全性的场合,可以考虑以下五种方式来实现线程的安全性: 1.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, ...
- Linux学习历程(持续更新整理中)
1.文件目录操作命令 (1) ls 显示文件和目录列表 a ls -l 显示文件的详细信息 b ls -a 列出当前目录的所有文件,包含隐藏文件. c stat '目录/文件' 显示指定目录 ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- Python基础学习总结(持续更新)
https://www.cnblogs.com/jin-xin/articles/7459977.html 嗯,学完一天,白天上班,眼睛要瞎了= = DAY1 1,计算机基础. CPU:相当于人的大脑 ...
- Cadence物理库 LEF 文件语法学习【持续更新】
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索. 关注公众号,拉你进"IC设计交流群". @ 目录 一.LEF简介 1.1 通用规则 1.2 管理 LEF 文件 二. ...
- [Hadoop] Hadoop学习历程 [持续更新中…]
1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...
随机推荐
- Java-Hirbernate中文乱码问题
当你从前台接收的值一直到Action 里面都没有乱码的时候,然而写入数据库的时候确实乱码的 这里有几个原因: 1.你的数据库字符编码指定出问题了 当你指定varchar类型的时候,字符集一定要指定成u ...
- javascript 中状态改变触发事件
转 有限状态机:是一个非常有用的模型,可以模拟世界上大部分事物. 它有三个特征: * 状态总数(state)是有限的. * 任一时刻,只处在一种状态之中. * 某种条件下,会从一种状态转变(trans ...
- python基础知识九
sys模块 sys模块包含系统对应的功能.我们已经学习了sys.argv列表,它包含命令行参数. 命令行参数 例14.1 使用sys.argv #!/usr/bin/python # Filename ...
- HTML基础(2) 格式标签 文本标签
格式标签: 1.<p></p> 用来显示段落 2.<br> 控制换行 3.<nobr> </nobr> 防止浏览器将过长内容自动换行显示 ...
- jQuery分析(2) - $工厂函数分析
前言 从这节进入jQuery的世界,首先从jQuery的入口函数开始了解jQuery()或$是如何运作的,这里我给出了一个最小的例子来分析. 回忆 在进入分析代码前我们回想下jQuery的使用方法有哪 ...
- ZOJ 3725 Painting Storages(DP+排列组合)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5048 Sample Input 4 3 Sample Output ...
- .net平台下socket异步通讯
1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件 using System.Net; ...
- 【原创】CMD常用命令:解决实际问题
1.查找某一目录下后缀名文某某的所有文件. 命令格式:dir *.mp3 /a -d/b/s >C:\Users\leemo\Desktop\total.txt MP3为文件后缀名.>是命 ...
- 利用toString做类型的判断
//利用toString做类型的判断 : /*var arr = []; alert( Object.prototype.toString.call(arr) == '[object Array]' ...
- javascript删除目标标签
<script> window.onload=function(){ var odiv=document.getElementById("content"); // ...