1. 程式人生 > >allwinner-A20 uart串列埠波特率設定與輸出相差10%

allwinner-A20 uart串列埠波特率設定與輸出相差10%

問題:全志 a20的板子,設定串列埠波特率921.6kbps,實際輸出800+

核心3.4,下面看圖

uart掛接在apb1上面,也就是有三路可以選擇:32.768k,24M以及PLL6.

其中預設走的是24M。PLL6可以在sys_config.fex裡面配置。

這部分的程式碼在sys_clk.c裡面

然而程式碼裡面是有問題的。你可以看到,caes1的時候走的是aw_sys_clk_pll62。看user手冊得知這個是pll6的一半。

http://dl.linux-sunxi.org/A20/A20%20user%20manual%20v1.3%2020141010.pdf

所以就需要我們做兩部

1 通過sys_clk.c裡面的sys_clk_set_parent把parent從24M改為pll62(嘗試過直接改成pll6,結果整個系統死掉。。)

然而這個的話,實際的clk大概是37.5M,