|
功能说明
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
|