您尚未登录。

楼主 # 2023-02-17 17:21:06

谢图图
会员
注册时间: 2023-02-15
已发帖子: 7
积分: 2

V3S串口921600波特率使用

使用全志V3S,需要使用串口波特率921600,最后发现波特率只有750000,无法继续上调。经过学习了解到应该是uboot中时钟选择问题,按照之前大佬们的讨修改u-boot/arch/arm/macg-sunxi/clock_sun6i.c中:

void clock_init_uart(void)
{
#if CONFIG_CONS_INDEX < 5
	struct sunxi_ccm_reg *const ccm =
		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;

	/* uart clock source is apb2 */
	writel(APB2_CLK_SRC_PLL6|	//原本为APB2_CLK_SRC_OSC24M
	       APB2_CLK_RATE_N_1|
	       APB2_CLK_RATE_M(1),
	       &ccm->apb2_div);

	/* open the clock for uart */
	setbits_le32(&ccm->apb2_gate,
		     CLK_GATE_OPEN << (APB2_GATE_UART_SHIFT +
				       CONFIG_CONS_INDEX - 1));

	/* deassert uart reset */
	setbits_le32(&ccm->apb2_reset_cfg,
		     1 << (APB2_RESET_UART_SHIFT +
			   CONFIG_CONS_INDEX - 1));
#else
	/* enable R_PIO and R_UART clocks, and de-assert resets */
	prcm_apb0_enable(PRCM_APB0_GATE_PIO | PRCM_APB0_GATE_UART);
#endif
}

和/u-boot/include/configs/sunxi-common.h中的

/* Serial & console */
#define CONFIG_SYS_NS16550_SERIAL
/* ns16550 reg in the low bits of cpu reg */
#define CONFIG_SYS_NS16550_CLK		600000000   //原本为24000000
#ifndef CONFIG_DM_SERIAL
# define CONFIG_SYS_NS16550_REG_SIZE	-4
# define CONFIG_SYS_NS16550_COM1		SUNXI_UART0_BASE
# define CONFIG_SYS_NS16550_COM2		SUNXI_UART1_BASE
# define CONFIG_SYS_NS16550_COM3		SUNXI_UART2_BASE
# define CONFIG_SYS_NS16550_COM4		SUNXI_UART3_BASE
# define CONFIG_SYS_NS16550_COM5		SUNXI_R_UART_BASE
#endif

修改后串口终于能以921600波特率发送数据了,但不知道为何V3S变得十分卡顿。是否是由于修改APB时钟导致其他功能异常?有没有大佬能帮忙解答下或者有无大佬成功修改过v3s串口波特率为921600?非常需要帮助

离线

楼主 #1 2023-02-22 10:30:31

谢图图
会员
注册时间: 2023-02-15
已发帖子: 7
积分: 2

Re: V3S串口921600波特率使用

有没有大佬指点一下呢

离线

楼主 #3 2023-03-02 17:45:50

谢图图
会员
注册时间: 2023-02-15
已发帖子: 7
积分: 2

Re: V3S串口921600波特率使用

Alexey_77 说:

for 921600 baud 15MHz clock is enough....

是指设置15Mhz就够了吗?那请问需要选择哪个时钟?麻烦能告知下吗?

离线

楼主 #5 2024-05-17 12:25:04

谢图图
会员
注册时间: 2023-02-15
已发帖子: 7
积分: 2

Re: V3S串口921600波特率使用

游侠TT 说:

你有没有解决。一样的问题

没有解决,我们用来连接无人机的,这个问题解决不了换芯片了

离线

楼主 #7 2024-05-20 14:23:46

谢图图
会员
注册时间: 2023-02-15
已发帖子: 7
积分: 2

Re: V3S串口921600波特率使用

游侠TT 说:
谢图图 说:
游侠TT 说:

你有没有解决。一样的问题

没有解决,我们用来连接无人机的,这个问题解决不了换芯片了

巧了,我也是,你最后用的什么芯片

改用全志的V851SE,那个系统时钟配置后波特率921600串口能够正常使用,系统不会卡死。后面就转给其他人调了。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn