基本数据 功能说明 应用说明 注意事项 其它

功能说明

 


Question 1

HT45RM03 pwm功能如何设定?

Answer

HT45RM03提供3对pwm port,分别与PC0~PC5共享引脚。
使用pwm function设定方法如下:
1. 设定configuration option中的PWMLEV,PWMCLEV,选择pwm output mode。
2. 设定configuration option中的pwm mode,选择pwm为10bits /(9+1) bits /(8+2) bits /(7+3) bits。
3. 将pc0~5设定为output port。
3. 设定停止pwm输出方式(PWMSP0,PWMSP1)。
4. 选择pwm clock prescaler(PWMPSC0,PWMPSC1,PWMPSC2)。
5. enable pwm & pwm complementary output(PWMEN,PWMCEN)。
6. active pwm and pwm complementary output(set PWMCTRL)。
执行完以上设定后,PC缓存器置1,其对应的port即为pwm active状态 。


Question 2

查表指令如何使用,有何注意事项?

Answer

查表指令有二种,一种是TABRDC指令,此指令读取指令当前页的表格数据,另一种为TABRDL指令,此指令固定读取最后一页表格数据。 要查表时首先必需将表格的Low Address填入TBLP再执行查表指令,表格的Low Byte Data将存入指令指定的内存;表格的High Byte Data被存入TBLH中, 要注意未满16-Bit之表Data高位被补0 。


Question 3

8-Bit Timer/Counter之Timer Mode如何设定?

Answer

因Timer/Counter有3种模式,即Timer、Event Counter和Pulse Width等3种。
要执行Timer Mode要执行以下动作设定:
设定Timer/Counter为Timer Mode (TM1、TM0=10H)
依据Timer的长短选定Prescaler值 (PSC2~PSC0)
设定计数初始值 (TMR)
打开相对应中断致能旗标 (ETI和EMI)
设定 Timer ON (TMRC.4=1)
当Timer被打开后,Timer开始向上计数,若Timer OFF (TMRC.4=0),则Timer立即停止。下次Timer再ON,则从上次停留值继续往上数, 直到满位溢出00H时产生中断,同时Timer从TMR Register重新Load初始值。


Question 4

HT MCU具有LVR功能,它动作时,MCU的I/O、OSC等引脚处于何种状态?

Answer

当电压低于低电压复位电压时,此时LVR启动。
当最小工作电压<Vdd<低电压复位电压时,I/O口处于初始输入状态,OSC起振。
LVR的复位电压会因制程的不同有一定漂移,具体请参看相关的Datasheet的D.C.参数表格。


Question 5

8-Bit TMR值如何设定? 

Answer

8-Bit Timer/Counter为一向上数之计数器 (Counter),每当Counter数到255 (0FFH) 溢位0H时产生中断 (Interrupt),所以若要计数为N (N < 256);则TMR值要设定成 256-N,设定好后启动TMR; TMR即从设定值往上数到255溢位到0 (即256),故所得值即256-(256-N)=N。


Question 6

在HT45RM03A 仿真器之configuration options选项中,PWMLEV选项有两种选择方式,即可选active high 或active low,在PWMLEV选项选为active high或选为active low时,PWM调制输出有何不同?

Answer

PWMLEV选项是用来选择PWM0~PWM2,各PWM调制输出工作周期(DUTY CYCLE)的逻辑关系。
若PWMLEV选项选为active high,PWMH/PWML中的值决定了一个PWM调制周期内高准位输出宽度。
若PWMLEV选项选为active low,PWMH/PWML中的值决定了一个PWM调制周期内低准位输出宽度。
例如:
PWM工作在(9+1) bits模式, Fpwm = 8MHz时,
若PWMLEV选项选为active high,PWMH/PWML=0014H,PWM输出波形为:

若PWMLEV选项选为active low,PWMH/PWML=0014H,PWM输出波形为:


Question 7

HT45RM03A如何设置才能使得同一对PWM打开的时候同相位,关闭的时候又同时输出高?

Answer

HT45RM03A为了控制电机的需要,有时候需要实现同一对PWM打开的时候相位相同,又必须在关闭的时候同时输出高。要使得同一对PWM打开的时候相位相同,我们设置PWMLEV&PWMLCEV可以为0&1,或者1&0。它们在打开的时候PWM同相位,只是关闭的时候一高一低。

要关闭PWM只需将其PC口相应位置低,但此时PWM与对应的PWMC不会同时输出高,总是一高一低。为了同时输出高,我们只能将对应脚控制寄存器PCC又设置为输入,并且在option中选择PC脚要带上拉电阻,这样对应的PWM脚位就会输出高了。


应用说明

 


Question 1

如何用软件实现OPA校准?

Answer

依据附件之OPA内部结构和OPAC之说明,OPA软件校准步骤如下所示:
1)设置 OPAEN=1, OPA使能;
2)设置AOFM=1, S3 关闭;
3)设置ARS,选择哪个作为输入引脚的参考电压(S1或S2关闭);
4)改变AOF3-AOF0, 直到OPAOP发生改变;
5)设置AOFM=0,S3打开,为普通OPA模式.
The calibration steps are as follows:
1) Setup OPAEN = 1 - OPA enabled
2) Setup AOFM = 1 - S3 closed
3) Setup ARS, chose which input pin is the reference voltage - S1 or S2 closed
4) Adjust AOF3-AOF0 until the OPAOP changes
5) Setup AOFM = 0 – open S3 for the normal OPA mode.


Question 2

HT45RM03的PB3/AN3/OPVIN,PB2/AN2/OPOUT pin做为OP使用时,可否做为analog ADC input?

Answer

当PB3/AN3/OPVIN,PB2/AN2/OPOUT pin做为OP功能使用时,如果对应的ADC function enable,也可做为analog ADC input。


Question 3

HT45RM03 PWM工作在(9+1) bits模式时,PWM中断间隔时间如何计算?

Answer

1). HT45RM03 PWM的工作模式有:10bits模式;(9+1) bits模式;(8+2) bits模式;(7+3) bits模式;共计四种模式。不论PWM工作在那种模式下,PWM中断间隔时间均为PWM调制周期之时间。
2). HT45RM03 PWM工作在(9+1) bits模式时,PWM中断间隔时间计算方法为:
T=512/Fpwm
其中T为中断间隔时间, Fpwm为PWM时钟频率,Fpwm的大小是PWMC缓存器之bit5~bit3中的值对系统频率Fsys的分频值。

例如:若Fsys=8MHz, PWMC缓存器之bit5~bit3=001时。
则Fpwm=Fsys/2=8MHz /2=4MHz ,T=512/Fpwm=512/4MHz =128us。
即在上述条件下,PWM每间隔128us发生一次中断。


Question 4

在HT45RM03 仿真器之configuration options选项中,PWMLEV选项有两种选择方式,即可选active high 或active low,该选项的含意是什么?

Answer

PWMLEV选项是用来选择PWM0~PWM2,各PWM在On/Off状态时,PWM各引脚的输出情况。
若PWMLEV选项选为active high,则PWM0~PWM2,在On状态时,PWM各个引脚输出为PWM调制脉冲;在Off状态时,PWM各个引脚输出为低准位。
若PWMLEV选项选为active low,则PWM0~PWM2,在On状态时,PWM各个引脚输出为PWM调制脉冲;在Off状态时,PWM各个引脚输出为高准位。


Question 5

如何用HT45RM03A之Timer1进行高脉冲宽度测量?

Answer

利用HT45RM03A之Timer1进行高脉冲宽度测量方法为:
首先:要对TMR1C进行如下设置:
1. TMR1C之T1M1/T1M0 设为:11,即Timer1工作在脉冲宽度测量模式。
2. TMR1C之T1E 设为:1,即Timer1用于测量高脉冲宽度。
3. TMR1C之T1PSC2/ T1PSC1/ T1PSC0设为:111,即Timer1时钟为Fsys/128。
4. TMR1C之T1ON设为:1,即允许Timer1工作。
其次:应将TMR1 清为0 ,即Timer1 从0开始计时。
第三:经过以上设置,当TMR1输入脚有一个上升缘信号时,Timer1 开始计时。
当TMR1输入脚有一个下降缘信号时Timer1 停止计时(TMR1C之T1ON会自动被清为0)。TMR1中之值即为高脉冲宽度值。
第四:当系统频率Fsys=8Mhz时,Timer1所能测试的最大高脉冲宽度为:T=1000ms/8MHz/128/256= 4.096ms。
第五:当测量脉冲宽度大于4.096ms时,可在Timer1 溢出时,增加RAM来计时。
第六:在测量过程中,可通过判断TMR1C之T1ON是否为0,来判断高脉冲宽度是否结束。


Question 6

HT45RM03A中INT0A,INT0B,INT0C三个外部中断引脚共享一个中断旗标,如何识别是哪个引脚产生的中断呢?

Answer

当INT0A, INT0B, INT0C共享的中断旗标被置位后,要知道INT0A, INT0B, INT0C中哪个引脚产生了中断,还要根据中断前后各个中断引脚的状态来确定。由于INT0A, INT0B, INT0C都是下降缘触发产生中断,则可判断中断前后哪个引脚准位产生了变化,且中断后该引脚为低准位,则可确定此引脚产生了中断。


Question 7

如何用HT45RM03A之Timer1进行高脉冲宽度测量?

Answer

利用HT45RM03A之Timer1进行高脉冲宽度测量方法为:
首先:要对TMR1C进行如下设置:
1. TMR1C之T1M1/T1M0 设为:11,即Timer1工作在脉冲宽度测量模式。
2. TMR1C之T1E 设为:1,即Timer1用于测量高脉冲宽度。
3. TMR1C之T1PSC2/ T1PSC1/ T1PSC0设为:111,即Timer1时钟为Fsys/128。
4. TMR1C之T1ON设为:1,即允许Timer1工作。
其次:应将TMR1 清为0 ,即Timer1 从0开始计时。
第三:经过以上设置,当TMR1输入脚有一个上升缘信号时,Timer1 开始计时。
当TMR1输入脚有一个下降缘信号时Timer1 停止计时(TMR1C之T1ON会自动被清为0)。TMR1中之值即为高脉冲宽度值。
第四:当系统频率Fsys=8Mhz时,Timer1所能测试的最大高脉冲宽度为:T=1000ms/8MHz/128/256= 4.096ms。
第五:当测量脉冲宽度大于4.096ms时,可在Timer1 溢出时,增加RAM来计时。
第六:在测量过程中,可通过判断TMR1C之T1ON是否为0,来判断高脉冲宽度是否结束。


Question 8

在HT45RM03A中规格中RES电路两种接法有什么区别?

Answer

图(1)是一个一般型RC复位电路。
图 (2)是高抗干扰型RC复位电路,应用于干扰较强的环境。
注意:复位电路的布?很重要,无论采取哪种复位电路,一般要求复位电路的引线尽量的短,靠近IC 脚。


Question 9

HT45RM03A在防盗型电动车的应用中获得自身地址码的方法有那些?

Answer

在防盗型电动车中,无线钥匙会发射出一串地址码和数据码,数据码对同一类型的电动车而言所起的作用都是相同的,但对于每一套电动车而言地址码却是不同的。
这样我们就能够根据不同的地址码来区分不同的电动车。基于以上原理,在HT45RM03A应用到防盗型电动车时,我们接收到钥匙发送过来的无线信号,并译码,得到地址码并与自身的地址码相比较,如果相匹配就译码,执行数据码相关的操作,如果不匹配就不译码,不执行数据码相关的操作。那么关键是HT45RM03A要如何得到自身的地址码呢?有三种方法:
一、可以从HT45RM03A的I/O口读取。此种方法比较简单,但是要占用很多I/O资源。
二、从HT45RM03A的ROM读取。此种方法的缺点是烧录一次要在程序中改变一次地址码。但渐少了I/O的占用。
三、从EEPROM(HT24CL02)中读取。此种方法渐少了I/O的占用,并且烧录方便,还可以为滚动码的实现作铺垫。但缺点是增加了成本。
以上三种方法各有优点和缺点,我们可以根据实际应用的需要加以选择。


Question 10

HT45RM03A在互补型PWM输出中加入DEADTIME的作用是什么?

Answer

HT45RM03A在互补型PWM输出中加入DEADTIME的作用是为了避免同一组PWM(PWM和PWMC)在输出时,由于驱动器的执行速度造成同一组PWM(PWM和PWMC)的驱动器出现同时active之情况。
例如:
对于PWM0和PWM0C无DEADTIME的输出波形如下:(图1)
在上图中存在的问题是:PWM0在T1变为active而PWM0C在T1变为inactive,此时若驱动器的开起速度快而关断速度慢,则PWM0及PWM0C的驱动器会出现同时active之情况。
对于PWM0和PWM0C在含有DEADTIME的输出波形如下:(图2)
如上图对于含有DEADTIME的PWM0和PWM0C输出,在T1时 PWM0C变为inactive而PWM0 在T2变为active,这样就避免了由于驱动器关断速度慢而出现同一组驱动器皆active之情况。
在HT45RM03A中,DEADTIME之时间是可以调整的。
一方面DEADTIME时间不宜太短,太短会出现同一组驱动器皆active之情况。
另一方面DEADTIME时间不宜太长,太长会影响效率。要根据驱动器的速度调整DEADTIME之时间。


Question 11

HT45RM03A configuration options选项中RESB/PD1有两种选择方式,如果选择PD1 input pin后PD口状态会影响到系统重置吗?

Answer

在RESB/PD1 configuration option中:如果选择RESET pin则需外部接RESET重置电路,此时RESET pin低电位时产生重置,如果选择PD1 input pin时就不需要外部加重置电路,此时PD1仅作基本输入端口使用,且PD1无论是何种状态都不会影响系统内部重置电路。


Question 12

HT45RM03A当PWMH/PWML中之值为3F0H~3FFH时,PWM输出为什么不能产生中断?

Answer

1.假设PWM各个控制缓存器均设置正确,且PWM中断控制缓存器亦Enable。那么PWM输出产生中断的时刻是在每个调制周期的上升缘。
2.当PWMH/PWML中之值为3F0H~3FFH时,则各PWM输出为Full Active或Full Inactive,即PWM输出恒为高准位或恒为低准位,不再有上升缘信号产生,故PWM输出不再产生中断。


Question 13

在防盗型电动车中如何应用HT45RM03A产生警报信号?

Answer

在防盗型电动车的应用中,我们需要产生警报信号。它的原理是将频率在2KHz~4KHz间连续变化的信号(方波或正弦波)送入蜂鸣器或者喇叭,且周期为0.2s左右(时间越小警报越急促)。
基于这个原理HT45RM03A只要能产生以上波形送入蜂鸣器或者喇叭即可,于是关键在于如何应用HT45RM03A模拟这个变频的波形呢,这可以分为三步。

第一步,输出方波,这可以选择I/O、PFD来输出。输出频率为2KHz(实际可有所变化)。

第二步,变频。首先需要确定多长时间改变一次频率,基于频率需要在半个周期(0.1s)从2KHz变到4KHz,假设抽样次数为100次,可以得到变频时间为0.1s/100=1ms,即1ms改变一次频率。具体可以设置TIMER1定时时间为1ms,即每隔1ms增加(减小)一次频率。增加(减小)的幅度为(4000-2000)Hz/100=20Hz。这里的抽样次数越多,声音越细化,但变频幅度需要越小。

第三步,判断是否到达4KHz,到达则依第二步的方法减小至2KHz,否则重复第二步。

当我们产生了一个周期的波形之后,可以将其设置为子程序,循环呼叫就可以听到连续的警报声。


Question 14

HT45RM03A在电动自行车应用中,如何根据转把AD值进行速度调节?

Answer

目前电动自行车均用PWM控制无刷直流电机进行调速,速度调节方法很多,例如:PI调节等,此处给出一种逐渐逼近式调节方法,其方法如下:

1.首先,读取转把AD值,根据此AD值查表求出对应的PWM输出设定值,PWM输出设定值与速度为一一对应关系。

2.其次,在PWM中断服务程序中,每闲隔一定时闲,将现在PWM输出值与PWM设定值进行比较,若目前PWM输出值小于PWM设定值,那么增加PWM输出值;若目前PWM输出值大于PWM设定值,那么减小PWM输出值;直到输出值等于设定值。这样利用转把进行速度调节时,速度就会平滑地增加或减小。

3.总之,转把AD值决定了速度的目标值,要达到此速度,不是立刻将其对应的PWM值送出,而是在PWM中断服务程序中,逐渐增加或减小PWM输出,使速度平滑地逼近设定值。


Question 15

HT45RM03A在电动自行车的应用中如何实现E-ABS剎车?

Answer

目前市场上的电动自行车大都拥有E-ABS剎车系统,E-ABS剎车制动效果明显,并且不会消耗电能,不会损害电机。那我们应用HT45RM03A,如何实现之呢?
有两种方法:

一、短路电机至少两个相线。此时可设定HT45RM03A程序,使电机三相线短路。这时电机内部定子上的线圈将形成闭合回路,当定子转动,就会引起磁感线切割,从而产生感生磁场阻碍定子转动。

二、目前无刷电机的控制方式是三相六状态,即从3个霍尔组件产生的8个信号(120度):001、010、011、100、101、110、111、000,有两个状态为缺相:000、111。

除去缺相的两个,6个信号分别对应了电机六种位置。因此当HT45RM03A读到任何一个状态如001,我们在程序上认为它为相反的状态如110,从而控制电机反转,这样会在电机内部因磁场产生一个反方向的力,起到制动作用。


Question 16

HT45RM03A 进行A/D转换时,A/D口信号最小持续时间为多少?

Answer

在HT45RM03A的应用中,有时需要用到A/D转换去量测很短时间的信号。如果时间越短,就需要A/D转换的频率越快。但当A/D转换的频率高于1MHz之后,就有可能发生信号量测不准,换言之,准确量测信号的频率顶限是1MHz。
HT45RM03A A/D转换的频率具有八种除频,即system clock/1、system clock/2、system clock/3、system clock/4、system clock/5、system clock/6、system clock/7、system clock/8。
假设选择4MHz的系统频率,选择除频为system clock/4,此时A/D时钟频率为1MHz,则A/D时钟周期tad =1/1MHz=1us。那么,A/D转换的时间是16tad =16us,而此16us包括了开始的信号采样时间4tad =4us和16us-4us=12us的内部转换时间。
由此,HT45RM03A在系统频率为4MHz,除频为system clock/4的情况进行A/D转换时,A/D口信号最小持续时间至少需要大于4us