- 博客(145)
- 收藏
- 关注
原创 电机参数之齿槽转矩
1:齿槽转矩(cogging torque)有谁产生?通常电枢铁芯为了安放定子绕组,会存在齿和槽,由于齿槽的存在引起气隙磁场不均匀,一个齿距的磁通相对集中在齿部。转子的永磁体磁场和定子的齿槽相互作用产生。齿槽转矩是永磁电机特有的问题之一,齿槽转矩是永磁电机绕组不通电时永磁体和定子铁心之间相互作用产生的转矩,是由永磁体与电枢齿之间相互作用力的切向分量引起的。2:齿槽转矩方向?在圆周方向产
2017-02-22 18:31:38
18906
1
原创 DSP的InitSysCtrl()函数详谈
void InitSysCtrl(void){ DisableDog();//关闭看门狗 InitPll(0xA);//初始化PLL时钟 InitPeripheralClocks();//初始化外设时钟}void InitPll(Uint16 val)//初始化PLL时钟{ volatile Uint16 iVol;
2017-02-09 15:59:56
13828
原创 CCS保存工程报错
CCS4中导入CCS3.3程序,导入成功后编译可通过,但程序改动后编译出现Save problem.具体内容如下:Save problemSave could not be completed .Try file>save as..if the problem persists.Some characters cannot be mapped using"GBK" character
2017-02-09 15:50:48
4513
1
原创 SPI-Flash
1.不同的SPIFLASH芯片可能会提供的擦除方式:扇区擦除(4KBytes),半块擦除(32KBytes),块擦除(64KBytes),片擦除。2.不同的SPIFLASH芯片可能会提供的编程方式(也就是写数据):页编程(256Bytes),扇区编程(4KBytes)。3.SPIFLASH如果擦除过,在往里面写0xFF这样的数据意义不大,因为它的特性就是擦除后数据就是0xFF。4.写入
2016-05-26 16:17:04
2785
原创 UCOSII归纳四
一.OSQPost以FIFO(先进先出的方式)组织消息队列。OSQPostFront以LIFO(后进先出的方式)组织消息队列。二.信号量定义,创建,使用简例。 1.信号量的定义 OS_EVENT *SEM1; 2.信号量的创建 SEM1=OSSemCreate(0); 3.等待一个信号量 INT8U err; OSSemPend(SEM1,0,&err); 4.
2016-05-17 17:18:45
373
原创 UCOSII归纳三
1.OS_TCB任务控制块全部驻留在RAM中,这是值得注意的,特别是在RAM缺乏的时候。2.任务的管理: 1:建立和删除任务。(注意:任务删除要考虑任务资源的释放。) 2:请求删除任务:如果任务A运行一段时间已经拥有了一些资源,而任务B想删除它,要是强制删除,这些资源可能没有释放。 3:改变任务优先级。 4:挂起和恢复任务。3.信号量由两部分组成:信号量的计数值和等
2016-05-13 16:22:36
360
原创 UCOSII归纳二
1.在UCOS中创建任务时,要注意堆栈的增长方式不要搞错。2.0x12345678的存储大端格式:低地址高地址3.0x12345678的存储小端格式:低地址高地址4.MIPS/MHZ就是说每1MHZ频率能产生多大的MIPS。以前计算机大部分都是单线程,就是说1秒钟如果振荡周期是1MHZ的话,取指,译码,操作只能串行进行,计算机1秒钟处理的指令也不会超过1M条。而现在计算机都在使
2016-05-13 15:55:53
395
原创 SPI FLASH存储设计一
SPI FLASH的优点就是相对EEPRom的存储容量更大,相对于大容量的SD卡和U盘,价格有优势,但其缺点是每次写入的数据空间都要是没有写过的,否则可能都要去擦除一次扇区,在去写入数据,在擦除扇区之前还要对这个扇区之前的数据进行保存,擦除完成后,再将老数据和新数据一起写入。好的器件擦个十几万次可能都没问题,不好的器件可能几万次都扛不住。如何解决这样的缺点?针对不同的系统可能有不同的方案。因为
2015-11-23 16:39:01
4807
原创 UCOSII学习归纳一
在熟悉UCOSIII应用的同时,对之前应用的UCOSII做一些归纳,供以后回顾。1.UCOSII的任务如何分类? 1)用户创建的任务:用户最多可以创建63个任务,优先级0~62,0是最高优先级任务。 2)系统创建的任务:空闲任务和统计任务(计算在运行所有应用程序时,CPU的使用效率)。在使用UCOSII前,必须调用OSInit(),OSInit()可以建立了空闲任务和统计任务。
2015-11-19 18:35:09
820
2
原创 CAN通讯总结2
1.CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。2. 典型应用协议有: SAE J1939/ISO11783、 CANOpen、 CANaerosp
2015-11-07 13:11:36
2364
原创 电源调试记录六
1.DCDC按功能分为:升压变换器;降压变换器;反向器,将电压极性改变的电路,如正电源变为负电源。2.功率密度是指燃料电池能输出最大的功率除以整个燃料电池系统的重量或体积(或面积),单位是瓦/公斤或瓦/升。对于电池来说,一般是W/Inch3, 即每立方英寸平均输出功率。3.同名端指变压器的初级线圈和次级线圈的正负相同的两端,交流电的正负指的是正负半周,4.线性电源的效率通常在35%~5
2015-11-07 12:57:42
693
原创 电源调试记录五
1.比较器的输出是OC集电极输出,所以要接上拉电阻。2.红外传感器就是红外发射管和对应的红外接收管,红外接收管接收到红外光照射的时候,电阻就会降低,红外光越强,电阻就越小;红外接收管没有接收到红外光照射的时候,电阻就会很大,3.input bias currents就是输入偏置电流。input offset currents是输入失调电流.如果运放两个输入端上的电压均为0v,则输出端电压也
2015-11-07 12:54:27
632
原创 如何计算一段代码的运行时间
1.用指令周期,51系列单片机指令周期是晶振周期的12倍,比如12M晶振,指令周期是1us,每条指令的指令周期是不一样的。或者不嫌麻烦的话可以去数指令。注意:现在的很多MCU是多级流水线,其实这样计算是不太合适的。2.用编程软件直接看,设置断点 然后调试 编译器可以看到用的时间是多少。注意:用软件仿真,软件的相关配置一定要正确。3.用示波器,测试电平翻转速度。注意:IO口本身就有一个最大翻
2015-11-07 11:22:34
4677
转载 解读x86、ARM和MIPS三种主流芯片架构
指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分,代表架构分别是x86、ARM和MIPS。 ARMRISC是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一个时钟周期里完成多条指令。相较复杂指令集CISC而言,以RISC为架构体系的ARM指令集的指令格式统一、种类少、寻址方式少,简单的指令意味着相应硬件线路可以尽量做到最佳化,从而提高执行速率。因为指
2015-09-15 08:37:40
833
原创 MCU相关基础知识
1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也
2015-09-14 11:23:19
957
原创 CAN通讯的总结
1.CAN通讯有2套国际标准,2套协议版本,3种故障状态,4种数据帧类型,5种总线错误类型。2.CAN的国际标准有两种ISO11898和ISO11519。3.CAN2.0协议分为A版和B版两种,A版协议仅支持11位标识符(称为标准帧),B版协议兼容11位,向上扩展到19位标识符(称为扩展帧)。4.CAN总线中,任何一个节点发生了错误,那么这个节点可能处于3种故障状态:错误主动状态,错误
2015-07-21 11:01:58
3109
原创 开关电源调试四
1.Error signal 偏差信号 Control plant 控制对象 Interaction 扰动2.如果我手头分别有一个220V的交流电机和直流电机,在负载不重的情况下,体积没有太多要求时,设计电路时还是优选选择交流电机,这样可以省去直流电机所需要的AC-DC的电源转换的成本。3.电路中常用的开关有继电器,晶体管,MOSFET,IGBT,GTO(晶闸管)。4
2015-06-27 17:53:00
983
原创 开关电源调试记录三
1.电解电容的容值受温度的影响是比较大的。有的产品要求能工作在高温100度以上,低温30度以下时,是不考虑用电解电容的。多是用薄膜电容,钽电容等。2.多通道隔离示波器的通道之间是不共地的,通道之间影响比较小;有些多通道示波器的通道之间是不隔离的,这样各通道在测量时的地一定要是同一个地,否则各通道的信号可能是相互影响,并且可能损坏示波器。3.1000v电压差理论空气耐压距离为1mm,实际上1
2015-06-18 21:15:36
1454
原创 开关电源调试记录二
1.安全电压为36V。2.市电220v,指的是有效值;峰值为1.414*220为311v。平均值为0.9*220。3.任意一种电源,如果它们的放电方向一致,那么电压就会叠加。4.电解电容的精度都比较差,如-+30%的误差,100uf的电容在70~130uf的容值都是正常的。5.RN 排阻;PW电源;6.电阻的编码表或是代码表常见的标准有E12,E24,E96。7.电容容
2015-06-15 20:24:22
1446
原创 调试记录一
1.数据显示有问题,不是自己想要的? 1).数据定义的数据类型有问题,数据已经溢出。 2).数据之间的转换,交互过程有问题。 3).全局变量同时在另一个函数中被操作了。 4).看门狗复位,数据有些也被复位。2.看门狗复位的原因? 1).程序跑飞。 2).喂狗时间太短。 3).晶振有问题。(如内部晶振的不稳定引起)。3.搭锡桥,烙铁温度相对要低;拉锡
2015-06-06 10:37:59
877
原创 简译
2 Comparator BlockThe comparator module described in this reference guide is a true analog voltage comparator in the VDDA domain. The analog portion of the block include the comparator, its inputs a
2015-05-30 10:49:31
682
原创 做技术三年的体会
1.每一次让你痛苦的过程,都是一次让你变得强大的机会。2.能力第一,学历第二,但这个社会有时候没有相对应的学历,很难获得展现能力的机会。3.三年的时间不是让自己知道积累了多少,而是让自己知道了还有很多技术不知道。4.靠技术吃饭的,要求待遇好,必然压力大,除非你是真真的大牛了,可能就没啥压力了。5.无论你做硬件开发,还是软件开发,只要坚持,都是光明的。6.现在的市场对做技术的要求
2015-05-30 10:41:58
868
2
原创 CAN通讯二
1.CAN标准:ISO11898(高速应用)和ISO11519(低速应用)2.CAN特点: 1)多主机方式,不分主从。 2)节点可分为不同的优先级,满足不同的实时性需要。 3)采用非破坏性位冲裁总线结构机制,多节点同时向总线传输数据时,低优先级的节点主动停止数据发送。 4)实现点对点,一对多和全局广播的方式进行通讯。 5)节点数实际可达到110个。 6)短帧结构。
2015-05-09 13:37:33
1272
原创 TMS320F28035学习记录七
1.一种处理器可以利用其外设(也可以认为是功能模块)去实现某种功能。具有相同功能的外设一般不止一个,如两个串口外设或6个ePWM外设等。但具有相同功能的外设,其寄存器组分配形式往往是很相似的,我们可以用位域结构体共用体结构体的方式去定义一个功能寄存器组类型,然后用这个自定义类型去定义一个外设。2.定义每一个寄存器的位域结构体类型,然后用这个位域结构体类型结合整型定义一个共用体类型。用这种方式定
2015-04-29 14:39:03
2687
1
原创 TMS320F28035学习记录六
1.TMS320F28035的引脚绝对不能输入5V的电压,当引脚内部上拉或下拉时,会产生100uA的电流,这个参数在低功耗设计中会很有用,说明上拉下拉设置是不好随便来的。所有具有输出功能的引脚,其输出缓冲器驱动能力的典型值是4mA,这样是比51或M3内核的控制器的引脚驱动能力弱很多的。2.TMS320F28035工作电压分为两部分:3.3V的Flash电压和1.8V的内核电压。3.在AD采
2015-04-29 13:55:22
3671
原创 TMS320F28035学习记录五
IQMath lib的使用参考手册《IQmath_Quickstart.pdf》 版本V1.6.0存放路径:C:\ti\controlSUITE\libs\math\IQmath\v160\doc1.TMS320F28035是TI公司推出的32位定点DSP芯片,其硬件本身不支持浮点数运算,在用C语言编程时用到的浮点运算是在软件层面上完成的,并非TMS320F28035具备浮点运算能力。
2015-04-29 11:41:58
9618
原创 TMS320F28035学习记录四
1、F28035_Device.h此文件是常用的宏的定义,里面定义了数据类型,包含了必要的头文件,还有所使用器件的定义.如果使用其它器件,可以在这里更改。2、F 28035_Examples.h它是为了设置PLL,系统时钟,而定义的常数。3、F28035_CodeStartBranch.asm控制启动时转向的。它关闭看门狗并转向程序入口。4、F28035_DefaultIs
2015-04-29 11:38:30
4936
原创 TMS320F28035学习记录三
1.调用TI的官方延时函数DELAY_US()的步骤,在DSP2803x_Examples.h头文件中。使用TI定义的DELAY_US()函数步骤: 1). 工程添加 DSP2803x_usDelay.asm文件 2).声明extern Uint16 RamfuncsLoadSize,(RamfuncsRunStart RamfuncsLoadStart在DSP2803x_
2015-04-23 17:03:54
4950
原创 TMS320F28035学习记录二
1.TI处理器命名规则TMS代表合格产品;TMX代表实验产品;TMP代表模型产品。320 代表DSP产品系列;430 代表单片机产品系列;470 代表ARM产品系列。F 代表内部存储器为Flash;C 代表内部存储器为ROM。28035 代表产品型号。2.CCS5的标准C文件以及TI自己扩展的一些头文件在C:/ti/ccsv5/tools/compiler/c200
2015-04-23 16:55:05
6844
原创 TMS320F28035学习记录一
1.拿到一款不熟悉的处理器来研发产品时,我们首先要了解的那些问题? 1).这款处理器属于哪一个公司?这个公司有那些处理器系列? 2).开发平台是什么?开发平台的版本历史和一些联系?最新版本? 3).基于库开发还是寄存器操作?库的版本? 4).处理器的位数?处理器的内核?内部存储器结构?处理器的工作频率? 5).处理器有哪些外设?下载程序方式?能否在线仿真?仿真接口? 6).
2015-04-23 16:49:13
5489
原创 操作系统之分段式内存管理1
1.分页操作系统的缺点? 1)页表太大,我们用多级页表克服了。 2)多级页表速度慢,我们用TLB翻译快表解决了绝大部分。 3)页面来回更换所带来的缺页中断的问题,我们用各类页面更换算法解决了大部分。 4)内部碎片相对于交换系统的外部碎片,还是可以忍受的。最大的缺陷是:共享困难。2.分段管理系统?3.逻辑分段的优缺点
2015-03-10 14:50:21
1227
原创 操作系统之分页式内存管理2
1.分页的内存管理克服了交换系统的缺点:外部碎片,程序不能大于物理内存等。但付出的代价是页面更换。在交换系统下,一个程序作为一个整体加载到内存,这样,在程序运行时,无须在从磁盘上加载任何东西,而分页系统下,一个程序的所有页面不一定都在内存中,所以可能会产生缺页中断,缺页中断的服务程序负责把位于磁盘上的数据加载到物理内存中来,如果物理内存中有空闲的页面,那就直接使用空闲的页面,但如果物理内存已满,就
2015-03-10 14:00:43
907
原创 操作系统之分页式内存管理1
1.分页内存管理的核心就是:页面的翻译。对于任何一个虚拟页面,系统要知道该页面是否在物理内存中?如果在的话,对应的物理页面是哪一个?如果不在,就会产生一个缺页中断,并将该虚页从磁盘转到内存,然后将分配给它的物理页面号返回。虚拟页面到物理页面的映射,这个翻译过程由内存管理单元MMU完成。MMU接收CPU发出的虚拟地址,将其翻译为物理地址后发给内存。MMU对虚拟地址的翻译只是对页面号的翻译,而对于
2015-03-10 10:27:33
1488
原创 操作系统之内存管理2
1.常见的内存管理办法,固定加载地址的内存管理,固定分区的内存管理,非固定分区的内存管理和交换内存管理。第一种只适合单道编程,后三种适合多道编程,这3种适合多道编程的内存管理方式均使用同一种实现机制:基址和极限,并且以交换内存管理最为灵活和先进,但是交换内存管理存在的问题是空间浪费和程序大小受限。2.什么是外部碎片? 随着程序在内存和磁盘间的交换,内存将变得越来越碎片化,即内存将被不同的
2015-03-09 13:44:01
674
原创 操作系统之内存管理1
1.2.内存管理需要达到的目的? 1)地址保护:多道程序之间互不干扰,一个进程不能随便访问另外一个进程的地址空间。 2)地址独立:程序发出的地址与具体机器的物理主存地址是独立的。3.为什么提出了虚拟内存? 在计算机中,一个程序要运行,必须加载到物理主存中,但是物理主存的容量是非常有限的,因此我们要把一个程序全部加载到主存,我们的每一个程序大小就要限制。另外,即使我们编写
2015-03-09 11:14:24
802
原创 操作系统之线程篇3死锁
1.死锁发生的根本原来就是对资源的竞争。这里的资源包括了硬件资源和软件资源。资源其实也可以分为可抢占的和不可抢占的,可抢占的资源是可以从持有者手中强行抢夺过来的资源,且不会发生系统运行的紊乱;不可抢占的资源是不能从持有者手中强行抢夺过来的资源,否则会发生系统运行的紊乱。2.线程使用资源的顺序是怎样的? 1)请求资源。线程在资源请求没有批准的情况下必须等待。这种等待有两种方式:一
2015-03-06 12:53:54
789
原创 摄像头相关知识1
1.OV7670感光整列656*488个像素,其中640*480个有效。2.OV7670的图像输出格式:VGA,即分辨率为640*480的输出模式;QVGA,即分辨率为320*240的输出模式;QQVGA,即分辨率为160*120的输出模式。3.PCLK即像素时钟,一个PCLK时钟输出一个像素。VSYNC,即帧同步信号。HREF/HSYNC即行同步信号。OV7670的一帧的像素字节为640
2015-03-05 17:10:31
1078
原创 图像编解码相关知识1
1.图片压缩分为有损压缩和无损压缩:无损压缩就是不破坏图像信息,或者所有图像信息都可通过一定算法恢复的压缩方式,无损压缩并不能减少图像的内存占用量,如果要减少图像占用内存的容量,就要用有损压缩。有损压缩 2.常用图片格式:1)2)GIF是图形交换格式(Graphics Interchange Format),特点是压缩比高,磁盘占用空间少,静态标准有GIF87a,和
2015-03-05 14:40:07
2065
原创 操作系统之线程篇2
1. 出现上面的问题是基于两个原因:errno是线程之间共享的全局变量;线程之间的相互执行顺序是不确定的。消除第一个原因的办法就是限制全局变量,给每一个线程一个私有的errno,但是这在一定范围内是违背了线程设计的初衷,就是资源的共享,提高资源的利用率。消除第二个原因的办法就是让线程之间的相对执行顺序在需要的时候可以确定。引入线程的一个最具大的问题其实就是多线程的执行结果可能是不确定的,
2015-03-05 14:08:32
510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人