- 博客(229)
- 资源 (6)
- 收藏
- 关注
转载 Cortex-M3与Cortex-M4的比较
1.内存保护单元MPU 与Cortex - M3的相同,MPU是一个Cortex - M4中用于内存保护的可选组件。处理器支持标准ARMv7内存保护系统结构模型。您可以使用在MPU执行 特权/访问 规则,或者独立的进程。这个MPU提供全面支持: ·保护区 ·重叠保护区域,提升区域优先级(7 =最高优先级,0 =最低优先级) ·访问权限 ·将存储器属性输出
2013-09-04 19:50:37 20587
原创 dB与信噪比(SNR)
信噪比(Signal-to-noise ratio,缩写为 SNR 或 S/N),也称作信杂比或讯杂比。信噪比,为有用信号功率(Power of Signal)与噪声功率(Power of Noise)的比。因此为幅度(Amplitude)比的平方:它的单位一般使用分贝,其值为十倍对数信号与噪声功率比:其中 为信号功率(P
2013-09-02 21:46:26 111064
转载 解密回声消除技术之二(应用篇)
从应用平台来看,根据笔者多年的经验,可以把回声消除分为两大类:基于DSP等实时平台的回声消除技术和基于Windows等非实时平台的回声消除技术。两者的技术难度和重点是不一样的。 三、基于DSP平台的回声消除技术回声消除技术传统的应用领域是各种嵌入式设备,包括各种电信网络设备和终端设备。网络设备比如交换机,网关等等,终端则包括移动电话终端,视频会议终端等。现代通讯产品里面大量应用了回声消
2013-09-02 21:07:06 1738
转载 解密回声消除技术之一(理论篇)
一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声
2013-09-02 21:05:21 2706
原创 嘉立创PCB制造工艺参数整理
做些小板,选择嘉立创还是不错的,嘉立创公司网址为http://www.sz-jlc.com/home/index.html通过注册就能在线下单,将制作好的Gerber文件上传,然后网上付款就OK了。一直有一个很困惑初学绘制PCB板的同学或工程师的问题,就是绘制PCB板的约束参数如何设定,根据生产PCB厂家仪器精度的不同,有不同的最小精度规格,这里根据深圳嘉立创公司网站提供的资料,对
2013-08-30 14:15:18 6906
原创 Solder Mask与Paste Mask区别
对于Solder Mask Layers 和Paste Mask layers这个两个概念,有很多初学者不太理解这两个层的概念,因为它们的确有一些相似的地方。 Solder Mask Layers: 即阻焊层,就是PCB板上焊盘(表面贴焊盘、插件焊盘、过孔)外一层涂了绿油的地方,它是为了防止在PCB过锡炉(波峰焊)的时候,不该上锡的地方上锡,所以称为阻焊层(绿油层),我想只要见过PCB板的
2013-08-30 14:05:38 38537 7
转载 成功并不像你想像的那么难
并不是因为事情难我们不敢做,而是因为我们不敢做,事情才难的。 1965年,一位韩国学生到剑桥大学主修心理学。在喝下午茶的时候,他常到学校的咖啡厅或茶座听一些成功人士聊天。这些成功人士包括诺贝尔奖获得者,某一些领域的学术权威和一些创造了经济神话的人,这些人幽默风趣,举重若轻,把自己的成功都看得非常自然和顺理成章。时间长了,他发现,在国内时,他被一些成功人士欺骗了。那些人为了让正
2013-08-29 21:17:45 1439
原创 Allegro绘制PCB流程
单位换算1mil = 0.0254 mm1mm = 39.3701 mil默认情况下我们更倾向于使用mil单位绘制PCB板。 1 新建工程,File --> New... --> [Project Directory]显示工程路径 --> [Drawing Name]工程名称,Browse...可选择工程路径 --> [Drawing Type]工
2013-08-29 17:35:24 14072 1
原创 CCS v5中烧写Flash实录:成功+失败
记于2013年08月23日环境:Win7 + CCS v5 + XDS100v2仿真器 + TMS320CF2812芯片烧写方法:将SRAM.cmd替换成FLASH.cmd。一个通用的用于F2812的 FLASH.cmd 例子为MEMORY{PAGE 0 : OTP : origin = 0x3D7800, length = 0x00080
2013-08-23 14:02:37 17522 1
原创 C语言中的回调函数
C语言中通过函数指针实现回调函数(Callback Function)====== 首先使用typedef定义回调函数类型 ====== typedef void (*event_cb_t)(const struct event *evt, void *userdata);上面的语句表示event_cb_t类型函数范围值类型为void类型。====== 定义并实现一
2013-08-21 22:06:12 9334 1
转载 C99标准和C89标准的区别
转载出处:http://blog.csdn.net/jsufcz/article/details/6051836GCC 支持C99,通过 --std = c99命令行参数开启。 例如:gcc --std = c99 test.c 1、增加restrict指针 C99中增加了适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借
2013-08-21 13:27:16 4197
转载 《西游记》倒过来看
清华教授说如果把西游记倒过来看,其实更精彩。 如来派师徒四人带上八部天书 和小白龙去东土大唐传教,在一路上遇到了各种妖怪,打来打去发现他们都是有后台的,无论怎么作恶都不受惩罚,八戒和沙僧觉得太黑暗了,无奈一个躲进了高老庄,一个钻进了流沙河,只有悟空坚持正义一路斩妖除魔护送师傅东去传教。 结果天庭对悟空实在忍无可忍就和如来达成协议——我们可以保证唐三藏平安到长安,不过你得把孙悟空这
2013-08-20 23:52:13 1967
原创 修改uCOS_II以实现“优先级+时间片”联合调度
本文在uCOS II上增加时间片任务调度的的原理:对设置为同优先级的任务使用时间片调度,不同优先级任务仍然使用uCOS II的优先级调度策略。在同优先级任务的时间片调度中,所有任务暂时时间片长度固定,时间片的调度使用FIFO(先进先出)队列。
2013-08-20 16:10:37 6072 1
原创 Cortex-M3/4的Hard Fault调试方法
1 Cortex-M3/4的Fault简介 Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址、写只读存储位置等)和非法的程序行为(比如除以0等)等造成的。常见的4种异常及产生异常的情况如下:Bus Fault:在fetch指令、数据读写、fetch中断向量或中断时存储恢复寄存器栈情况下,检测到内存访问错误则产生Bus Fault。Memory
2013-08-19 15:00:38 33844 4
原创 “人”之为人:道德+技能+创新
“人”字由3部分架着:“道德”一般大家都有的,除了坑爹的房地产中介,没道德的人要么混得特别好,要不就是连饭都吃不着的。支撑着人站起来的任一边是技能。注意是技能,不是“知识”,大学里教的,那都它妈的只是知识,不运用到实际中,就是个屁。将知识通过实际项目经验转化为技能,那才是用得着能混饭吃的。今天和一个二本学校刚毕业的同学聊天,“我的妈呀,她这是要发呀!”:她做金融业务
2013-08-18 23:27:59 1598
原创 stm32中“拔掉jlink”程序无法正确运行
Q:在调试stm32程序时,从电脑USB口拔掉jlink后开发板上程序为什么无法正确运行?断点复位后也不行。A:首先,要拔了jlink与开发板的连接(而不仅仅是其与PC的连接),因为jlink本省内部也有电路,对开发板上的程序运行有所影响; 其次,检查stm32的boot[1:0]的配置,将BOOT0配置为0才能从复位后Flash启动。BOOT的具体配置如下:
2013-08-16 21:35:15 8327
原创 uCOS II多任务调度的启动流程
创建了一个主任务MainTask,在MainTask中又创建了2个任务LED1Task和LED2Task。启动多任务调度的流程如下图。虚线流程表示函数内执行的操作。
2013-08-15 14:35:12 3963
原创 Learning with python: Chapter5~8 Fruitful functions, Iterations, Strings, Lists
Examples:# Fruitful functionsprint "===========Fruitful functions============"import mathdef area(radius): return math.pi*(radius**2)mianji=area(2);print mianjidef fibonacci(n): if not isi
2013-08-13 21:25:14 1449
原创 Learning with python: Chapter3~4 Functions,Conditionals and Recursion
>>> x=math.exp(math.log(10.0))>>> x10.000000000000002Python 2.6.6 (r266:84292, Feb 21 2013, 23:54:59) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2Type "help", "copyright", "credits"
2013-08-13 21:09:24 1444
原创 Learning with python: Chapter2 Variables, expressions and statements
20个关键词:and def exec if not return assert del finally import or try break elif for in pass while class else from is print yield continue except global lambda raise[root@CentOS python]# pyth
2013-08-13 20:49:45 1561
原创 stm32之keil开发环境搭建
只要按照下面的一步步来,绝对能从0开始建立一个STM32工程。不仅包括工程建立过程,还有Jlink设置方法。本文使用芯片为STM32F103CB。1 下载stm32F10x的官方库http://www.st.com/web/en/catalog/tools/PF257890 2 新建工程工程名设为stm32_demo,选择芯片型号为STM32F103
2013-08-13 14:28:54 55315 10
原创 现代数字信号处理——AR模型
数字信号处理功率谱估计方法分经典功率谱估计和现代功率谱估计,现代功率谱估计以参数模型功率谱估计为代表,参数功率谱模型如下: u(n) ——> H(z) ——> x(n)参数模型的基本思路是:—— 参数模型假设研究过程是由一个输入序列u(n)激励一个线性系统H(z)的输出。—— 由假设参数模型的输出x(n)或其自相关函数来估计H(z)的参数—— 由H
2013-08-11 23:01:45 48379 5
转载 关于怎样产生随机数的彻底研究
C语言/C++中怎样产生随机数C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为
2013-08-11 23:00:06 4696
原创 这些年,有这些搜索引擎
参考自http://www.csdn.net/article/2013-08-07/2816477-6-Source-Code-Search-Engines-You-Can-Use-For-Programming-Projects这里做个记录,六个搜索引擎如下:http://code.ohloh.net/http://www.krugle.com/http:
2013-08-09 20:23:21 1820
原创 C/C++源码编译警示录
近几年,国内开源越闹越火,不仅软件开源,硬件也开源。去开源中国看看,已经有专门的硬件开源专区,61ic代码工厂提供了许多的硬件(ARM、DSP等)相关的代码。在这种趋势下,从头开始写一个软件或算法已经是上个世纪的事了,我们多多少少会从开源代码中借鉴点经验,甚至好的算法或中间件都会直接拿来用,当然,工程需要付费的就需要掏money了,不过开源免费的代码却还真不少,最有名的有sourceforge,g
2013-08-09 15:19:47 4966
转载 开源协议
除了大家比较熟悉的GPL协议之外,开源界还有很多许可证,如LGPL许可证、BSD许可证等,下面就来一一介绍。目录• LGPL许可证• MPL许可证• BSD许可证• QPL许可证[显示全部]LGPL许可证编辑本段回目录 LGPL许可证是LESSER GENERAL PUBLIC LICENSE的简写,也叫LIBRARY GENERAL PUBL
2013-08-08 00:06:13 1414
转载 斯坦福大学机器学习课程讲义
教师:Andrew Nghttp://see.stanford.edu/see/courseinfo.aspx?coll=348ca38a-3a6d-4052-937d-cb017338d7b1http://www.stanford.edu/class/cs229/materials.htmlLecture notes 1 (ps) (pdf) Supervised
2013-08-06 23:08:29 2820
原创 FFT算法的完整DSP实现
傅里叶变换或者FFT的理论参考:[1] http://www.dspguide.com/ch12/2.htm The Scientist and Engineer's Guide to Digital Signal Processing, By Steven W. Smith, Ph.D.[2] http://blog.csdn.net/v_JULY_v/articl
2013-08-06 14:40:31 72328 39
原创 最小均方算法(LMS Algorithm)理论及DSP实现
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器。本文主要对LMS(Least Mean Square)算法进行简单的整理,包括内容:(1)理论上介绍基于LMS的梯度下降算法(包括BACH/STOCHASTIC),给出一个matlab的实现(2)DSP上的实现,主要使用C语言
2013-08-04 21:49:29 64135 14
原创 离散卷积运算的DSP实现
有关卷积的理论有很多,感觉http://www.dspguide.com/ch6/3.htm对卷积的讲解最清晰易懂,这里贴过来(如下)供参考。Figure 6-5 shows a simple convolution problem: a 9 point input signal,x[n], is passed through a system with a 4 point impul
2013-08-03 22:18:52 9458 7
原创 DSP TMS320C6000基础学习(7)—— Bootloader与VectorTable
本文主要简单记录C6000在启动装载过程和中断向量表的配置。1. Bootloader如上图,(1)在Device Reset阶段:设备初始化为默认状态,大部分三态输出都配置为高阻态。(2)在CPU Reset阶段:从RS上升沿处开始(这个时候,根据HD[4:3]配置启动模式,HD8配置大小端模式,CLKMODE配置输入时钟源,根据HPI_EN配置外设功能)
2013-08-02 12:42:17 14235 4
原创 DSP TMS320C6000基础学习(6)—— gel文件
什么事gel文件?gel文件能干什么?gel全称General Extended Language,即通用扩展语言文件,gel文件中由类似C语言的代码构成,gel语言是一种解释性语言,gel文件扩展名为.gel;gel文件用于(1)扩展CCS功能,比如菜单选项等,(2)通过gel可以访问目标板的存储器。1. gel基本语法——类Cgel函数和gel参数不需要在DSP程序中定
2013-07-31 22:10:18 12837
原创 博客中插入公式
有一些免费的服务器可以把公式转换为图片,前提要进入HTML编辑模式,这个博客就支持但是打开的有时候会慢点,但是毕竟公式更直观点。方法1源码是img src="http://www.shitalshah.com?$ x^2 = 25 $">img src="http://www.shitalshah.com?$ x^2 = 25 $">
2013-07-27 18:48:24 2104
原创 DSP TMS320C6000基础学习(3)——CCS v5软件开发环境搭建
DSP TMS320C6000基础学习(3)——CCS v5软件开发环境搭建
2013-07-25 20:53:37 20649 8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人