English
Language : 

BH67F2470 Datasheet, PDF (174/240 Pages) Holtek Semiconductor Inc – Glucose Meter Flash MCU with LCD
BH67F2470
Glucose Meter Flash MCU with LCD
related formula described above and programming the required value in the BRGn
register, the required baud rate can be setup.
Note: Baud rate= fH / [64 × (N+1)] if BRGHn=0.
Baud rate= fH / [16 × (N+1)] if BRGHn=1.
Baud Rate Generator
To setup the speed of the serial data communication, the UARTn function contains its own dedicated
baud rate generator. The baud rate is controlled by its own internal free running 8-bit timer, the
period of which is determined by two factors. The first of these is the value placed in the baud rate
register BRGn and the second is the value of the BRGHn bit with the control register UnCR2. The
BRGHn bit decides if the baud rate generator is to be used in a high speed mode or low speed mode,
which in turn determines the formula that is used to calculate the baud rate. The value N in the
BRGn register which is used in the following baud rate calculation formula determines the division
factor. Note that N is the decimal value placed in the BRGn register and has a range of between 0
and 255.
UnCR2 BRGHn Bit
Baud Rate (BR)
0
fH / [64 (N+1)]
1
fH / [16 (N+1)]
By programming the BRGHn bit which allows selection of the related formula and programming
the required value in the BRGn register, the required baud rate can be setup. Note that because the
actual baud rate is determined using a discrete value, N, placed in the BRGn register, there will be
an error associated between the actual and requested value. The following example shows how the
BRGn register value N and the error value can be calculated.
Calculating the Baud Rate and Error Values
For a clock frequency of 4MHz, and with BRGHn cleared to zero determine the BRGn register
value N, the actual baud rate and the error value for a desired baud rate of 4800.
From the above table the desired baud rate BR = fH / [64 (N+1)]
Re-arranging this equation gives N = [fH / (BR×64)] - 1
Giving a value for N = [4000000 / (4800×64)] - 1 = 12.0208
To obtain the closest value, a decimal value of 12 should be placed into the BRGn register. This
gives an actual or calculated baud rate value of BR = 4000000 / [64 × (12+1)] = 4808
Therefore the error is equal to (4808 - 4800) / 4800 = 0.16%
UARTn Setup and Control
For data transfer, the UARTn function utilizes a non-return-to-zero, more commonly known as NRZ,
format. This is composed of one start bit, eight or nine data bits, and one or two stop bits. Parity
is supported by the UARTn hardware, and can be setup to be even, odd or no parity. For the most
common data format, 8 data bits along with no parity and one stop bit, denoted as 8, N, 1, is used
as the default setting, which is the setting at power-on. The number of data bits and stop bits, along
with the parity, are setup by programming the corresponding BNOn, PRTn, PRENn, and STOPSn
bits in the UnCR1 register. The baud rate used to transmit and receive data is setup using the internal
8-bit baud rate generator, while the data is transmitted and received LSB first. Although the UARTn
transmitter and receiver are functionally independent, they both use the same data format and baud
rate. In all cases stop bits will be used for data transmission.
Rev. 1.00
174
March 15, 2017