这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » andery88的进程帖★PWM模块实现H桥直流马达驱动源代码★

共74条 1/8 1 2 3 4 5 6 ›| 跳转至

andery88的进程帖★PWM模块实现H桥直流马达驱动源代码★

助工
2012-08-01 16:03:16     打赏
一类实验
时间 内容 链接
2012年7月31日 得到开发通知建立【申请开发板】帖 [1楼]
2012年8月1日 建立【开发进程】帖 [1楼] 
2012年8月1日 拟定RL78/G13中ADC的转换性能测试方案 [2楼] 
2012年8月2日 学习RL78/G13通过串口UART的编程方法 [3楼]
2012年8月3日 学习RL78/G13开发板MCU型号及其内存分配情况 [4楼]
2012年8月4日 学习RL78/G13CPU的特殊功能寄存器(SFR)  [5楼] 
2012年8月5日     学习RL78/G13CPU的指令集  [7楼] 
2012年8月5日   拟定基于RL78/G13语音识别器的基本架构 [9楼]
2012年8月6日  选取语音识别语素的特征向量 [16楼]
2012年8月7日 改进基于RL78/G13语音识别器的基本架构  [19楼]
2012年8月13日 收到RL78/G13开发板                                                [24楼]
2012年8月20日  基于IT中断的LED闪烁灯  [26楼]
2012年8月21日  基于IT中断的8*LED流水灯  [30楼]
2012年8月22日  定时器(Timer)的使用 [32楼]
2012年8月22日  按键控制蜂鸣器  [33楼] 
2012年8月23日  LCD1602液晶驱动  [37楼] 
2012年8月24日  LCD1602液晶驱动(消除Bug的完美版)  [45楼] 
2012年8月26日  AD模数转换LCD1602显示 [47楼] 
2012年8月28日  RTC实时时钟LCD1602显示  [54楼] 
2012年9月5日 基于IICA0的EEPROM读写                             [56楼]
2012年9月7日 H桥电路工作原理及实用电路图 [60楼]
2012年9月8日  PWM模块实现H桥直流马达驱动   [61楼] 
     
     
     
     
     
     
     


楼层链接的建立方法是:在相应的论坛网址后加上“#楼层号”
例如:我的【开发进程】的首页网址为:
http://forum.eepw.com.cn/thread/218945/1
如果我想直接到达3层,我只需在此网址后加上#3即可,
具体链接如下:
http://forum.eepw.com.cn/thread/218945/1#3
不信可以点开看看。。。
开一小片田地用来放链接:
虚拟EEPROM库文件




关键词: andery88     进程     模块     实现     直流     马达         

助工
2012-08-01 16:04:40     打赏
2楼

一、 RL78/G13中ADC的转换性能测试
1.1 ADC的特点

1.1.1转换器类型:逐次逼近型AD转换器,其特点是:转换速度高,功耗低
1.1.2 AD转换器模式控制寄存器:ADM0、ADM1、ADM2,用于切换AD转换器的启动、关闭、选择转换时间和应该使用的触发方式或选择是否从贪睡模式唤醒等。
1.1.3 AD转换结果寄存器:每当产生一个新的结果,都会产生一个中断。
1.1.4 可以提供最低2.2us的转换时间,这个和芯片供电电压有关。
1.1.5 工作模式
  1)转换模式:单次转换模式和连续转换模式
单次转换模式是一次触发(trigger)使ADC开始工作,转换完成后产生一个中断,然后ADC就停止工作。

连续转换模式是一次触发(trigger)使ADC开始工作,转换完成后产生一个中断,然后ADC不停止工作,等待特定时间后或又一次新的触发再开始转换并产生中断。

  2) 通道选择模式: 选择模式和扫描模式
选择模式是从开始就选定某一个固定的通道采集模拟数据。

扫描模式是根据设定逐个扫描各个通道,扫描完成后产生一个中断,然后再继续扫描或停止。

1.1.6 触发模式
  1) 软触发模式:用软件指令启动AD转换器开始转换。
  2) 硬触发模式:先把ADC设置为操作等待模式,然后,通过实时计数器、定时定时器或一个定时组合单元启动ADC触发进行单次/连续采样。
1.1.7 窗口设定
芯片内部包含ADUL和ADLL两个8-bit寄存器,来判断转换结果在此范围或不在此范围时才产生触发信号。
1.2 依据ADC的特点,预设定的功能验证性实例
1.2.1 定时固定通道模式下AD转换(此过程不需要CPU的参与)

1.2.2 DMA-AD转换的扫描模式下AD转换

1.2.3 芯片处于贪睡模式下的AD转换

1.2.4 AD转换器的诊断功能测试

具体的AD转换器测试方案待定。。。


助工
2012-08-01 16:05:27     打赏
3楼

二、RL78/G13通过串口UART的编程方法
按照瑞萨电子的说法,RL78/G13采用的芯片的烧写方法是TypeB,由于本次RL78/G13的开发板上没有集成UART接口,只有相应的Pins,因此,给芯片用UART进行编程电路要自己搭载连接,下图就是依据相关datasheet上给出的UART-TypeB的编程方法的电路连接原理图:

这种方法在没有提供USB专用编程芯片的情况下,非常实用,值得参考。


助工
2012-08-01 16:06:22     打赏
4楼

三、RL78/G13开发板MCU型号及介绍
本开发板MCU的型号为:64引脚的R5F100LE。
因此,在看RL78/G13的Datasheet时不用全看,只需将与R5F100LE相关的部分看完即可,为了进一步方便大家快速了解RL78/G13--R5F100LE的MCU结构,现将我的学习结果写出来,与大家一起分享,大伙加油哦,共同学习。。。
3.1 CPU的内存映射图
下面列出R5F100LE对应的CPU内存映射图,大家同样可以参考RL78/G13的Datasheet的第93页。
其内部集成Flash ROM大小为64KB,用于存放编写的程序代码;内部集成数据闪存ROM(Data Flash)大小为4KB,用于存放程序运行时产生的数据,掉电后数据也不丢失;内部集成数据寄存器(RAM)大小为4KB,用于存放程序运行时产生的临时数据,掉电后数据就会丢失。
整理后的CPU内存使用分布图如下图:

      这里的RAM支持双操作,即可以以并行的方式刷新闪存,换句话说,即使是CPU正在读取RAM中的数据,同时也可以向RAM中写入数据。整个RAM区域都有奇偶校验保护,同时还允许使用RAM屏蔽功能。闪存是按照1K字节大小分隔的,因此,擦出内存时的最小单位是1K字节,但是,写入的最小单位可以只有32x8bit,即32字节,并且有ECC数据校验来保护这32字节。
      在程序存储区ROM中包含2个引导簇(Boot Cluster),每个引导簇大小为4K字节,通过引导交换来支持受保护的自编程功能。
      中断向量表(Vector table area)具有64个入口(entries)每个入口占有2个字节。


助工
2012-08-01 16:06:59     打赏
5楼

四、RL78/G13的特殊功能寄存器(SFR)
4.1 程序状态字(PSW)
其是一个8位寄存器,控制着CPU的总中断开关IE、零标志位、进位标志位、辅助进位标志位、寄存器块选择位(2位)、中断优先级选择位(2位)。其具体的结构如下图:

复位后PSW值恢复默认值:06H
4.2 程序计数器(PC)
其是一个20位寄存器,存放着程序下一步要执行的指令的地址,它会随着程序的执行而改变,其具体结构如下图:

其复位后,PC指向程序存储区的起始地址:0000H和0001H。
4.3 堆栈指针(SP)
其是一个16位寄存器,用于存放向堆栈写入或读出数据的地址,一般是在向堆栈用PUSH写入数据时,SP的地址先减2然后再向SP所指向的寄存器写入数据,相反,当从堆栈用POP读出数据时,先从SP所指向的寄存器读出数据,然后SP的值再减二。具体的结构如下图:


4.4 通用寄存器(GPR)
在该CPU中含有4个通用寄存器组,这在进行处理中断时,使得程序的跳转更加迅速。其具体结构如下图:

这些通用寄存器组存放在RAM中,也即会占用64字节的RAM空间。
4.5 程序闪存地址溢出寄存器(CS)
通用寄存器如4.4所述,最大只有16位,但却有20位PC,当采用直接寻址的方式时,需要将PC的值存入通用寄存器,这时将发生溢出,溢出的那4位数据就会自动存储至CS寄存器中,以备以后调用,具体的结构如下图:

上述情况,用框图描述如下图:

4.6 数据内存寻址寄存器(ES)
与CS相似,ES是用于寻址RAM数据寄存器,当被寻址的RAM超过64K字节时,高位数据就可以存放在ES中以备寻址,例如:MOV  A , ES : [HL] , 具体结构图如下图:

上述情况,用框图描述如下图:


4.7 ROM镜像缓存寄存器
有时程序中的常数是和程序一起存放在低64K字节ROM空间中的,当需要对其进行寻址时,需要使用ES,这就必然增加程序的执行时间,降低程序的执行效率,为此,可以将相应的ROM程序块先拷贝到高64K字节的RAM中,这样与RAM同在高64K字节的数据一样,只需使用16位的通用寄存器即可寻址,无需再使用ES,详细原理图如下图:


专家
2012-08-01 16:07:40     打赏
6楼
其实没必要盖这么多楼~

助工
2012-08-01 16:08:12     打赏
7楼

五、RL78/G13CPU指令集
在使用此款CPU之前是一定要学习其对应的指令集的,具体的指令集在RL78/G13的Datasheet的第957页到973页,总共是17页,上面详细列出了每条指令在各种情况下的使用方法,非常值得参考,在这里仅将其指令代码及其主要功能作一简单介绍:
***************8位数据传送指令*****************
MOV A, B;  8位数据传递指令
XCH A, X;  8位数据互交换指令
ONEB A;    向一个8位通用寄存器中写1
CLRB A;    向一个8位通用寄存器中写0
MOVS [HL+byte], X  串传送指令
**************************************************

****************16位数据传送指令**************
MOVW rp, #word  16位数据传送指令
XCHW AX, rp  16位数据互交换指令
ONEW AX        向一个16位通用寄存器中写1
CLRW AX        向一个16位通用寄存器中写0
**************************************************

****************8位算术运算指令****************
ADD A, #byte  8位加法运算
ADDC A, #byte 考虑进位标志CY的8位加法运算
SUB A, #byte  8位减法运算
SUBC A, #byte 考虑借位标志CY的8位减法运算


专家
2012-08-01 16:08:25     打赏
8楼
以前犯过同样的错,内容放到其他地方,链接过来就可以刻

助工
2012-08-01 16:09:43     打赏
9楼

六、基于RL78/G13语音识别器的基本架构
一个初步的基于RL78/G13语音识别器的基本架构基本形成,具体结构如下图:

其中,语音输入前端处理模块主要完成由MIC模拟输入到RL78/G13芯片A/D转换引脚直接的模拟语音预处理电路,将MIC语音信号进行低通滤波滤除4KHz语音信号以外的噪声信号,然后通过功率放大器对MIC采集到的语音信号进行放大处理,最后通过线性反馈功率控制电路将MIC语音信号限制在RL78/G13芯片A/D转换输入引脚所允许的电压范围内。
RL78/G13--16位CPU负责对MIC采集到的信号进行A/D转换,这里的A/D采样速率暂定为8KHz,在这个采样频率下既能满足对必要的语音信息采集的要求,有有利于CPU的处理,减轻CPU对语音数据的处理困难。还负责语音识别的算法,这是本设计的核心,要用到RL78/G13CPU中的多种特色单元,如:16x16位乘法器及乘法累加器、桶形移位寄存器等,这些特色为语音识别算法的实现打下了坚实的硬件基础。
模型库外扩存储器用来存储预识别的语音信息的特征向量,这些特征向量的获取是在PC机上运行相应的算法如MFCC算法、LPCC算法等从而可以得到针对每一个字符或词语所对应的特征向量,这些特征向量的分量如:倒谱系数、差分倒谱系数、能量归一化参数、差分能量系数等,然后将这些特征向量所对应的特征值依次写入模型库外扩存储器中,以备语音识别来用。
UART识别输出模块用于将识别后得到的字符串以一定的编码形式如:ASCII码、Unicode编码等以二进制串的形式从UART串口输出至其它应用终端,例如:PC上位机、手机GSM模块等以扩展语音识别器的应用。


助工
2012-08-02 09:35:21     打赏
10楼

好同学,笔记认真仔细


共74条 1/8 1 2 3 4 5 6 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]