Какие скорости последовательного порта, совместимые c контроллером PC можно получить при использовании встроенных средств микроконтроллера?
Ответ:
[Вернуться в категорию "Микроконтроллеры серий MB90Fxxx и MB91Fxxx Fujitsu"]
Каждый UART имеет возможность получать тактирование от одного из трех источников опорной частоты:
1. "Dedicated baud rate generator", скорость передачи можно вычислить по следующей формуле: а)F/(div * 104 * 2^n) F - основная частота процессора div - делитель с коэффициентом от 1 до 8 n - может принимать значения от 1 до 4Пример: 16000000/(2*104*2^1)=38462Разница в cкоростях в 0.16% Вас не должна пугать, этонамного меньше допустимого значения разброса частот UART(кажется 5% - не нашел где читал).б)F/(div * 2^5) {не у всех UART}в)F/(div * 2^6)
Таблицу перечисленных скоростей при основной частоте 16МГц с указанием значений, записанных в регистры (в формате XLS) можно взять здесь: http://www.fme.gsdc.de/pdf/an-baudratecalculation-sheet-v1-1.xls
2. Внутреннего перегружаемого таймера (который в свою очередь может использовать для деления основную частоту процессора или внешний генератор) F/(div timer * 16 * (n+1))F - основная частота процессораdiv timer - величина деления входной частоты для таймера (2, 8, 32)n - значение, загружаемое в таймер
Пример расчета скорости UART для контроллера F543 есть в апнотах на сайте: http://www.fme.gsdc.de/pdf/an-baudratecalculation-v1-1.pdf
3. Внешнего генератора (f<2МГц), в этом случае скорость передачи будет f/16. Пример : для скорости 57600 необходимо применить генератор с частотой 921,600 кГц.
Таким образом, если требуются более высокие скорости, чем 38400, совместимые с контроллером PC, необходимо подобрать подходящий по частоте основной генератор или использовать для тактирования UART внешний генератор.
PS: Для получения скорости 57600 при частоте процессора 16Мгц можно воспользоваться PPG (соединив его выход со входом внешнего тактирования UART) в качестве делителя на 17 - в результате скорость MCU будет 58823, больше стандартной на 2%, что допустимо. [Микроконтроллеры серий MB90Fxxx и MB91Fxxx Fujitsu]
|