Цитата(AVR @ Aug 23 2017, 11:45)
А зачем тут PLL? Элементарный делитель на 10417...
100*10^6 / 10417 = 9599,69280983 ~ 9600
Ошибка тысячные процента, считаем идеал, stm32 прекрасно такое скушает.
Вот каждый 10417-й цикл выдвигаем бит наружу.
Реализация идеи:
uart_tx.v ( 704 байт )
Кол-во скачиваний: 66Тестбенч:
test_uart_tx.v ( 616 байт )
Кол-во скачиваний: 37Тактовая 100 МГц, на выходе почти 9600, но достаточно точно.
Данные кушаются по valid, следующая порция - когда busy снимется в 0.
Недостаток реализации: если неудачно совпадет - будем на каждый байт дополнительно терять один бит пропускной способности, но зато всё очень просто сделано - просто делитель на 10417.