TI中文支持网
TI专业的中文技术问题搜集分享网站

UCD3138: 485通讯出现异常

Part Number:UCD3138

用UDC3138做的一个恒流数字电源,SCI做的485通信,通过485设置输出电流,当设置的电流设置在5以下时,电源工作正常,通讯也正常,但是当电流设置在5A时,485就不通讯了,而且后面也不会通讯;

我使用了一个定时10s不通讯就复位SCI功能,也不能恢复通讯,除非在电源停止工作时,复位功能才起作用,可以恢复通讯,但是根据电源工作要求,这个方式行不通,只能用来验证,是由于电流过大造成的通讯中断;

请教有什么方法可解决此问题,或者在SCI软件配置上有什么方法可以改善?

Taeho:

你好,能看一下你使用sci做485通信的部分吗

,

Merry Liu:

是硬件干扰问题

,

Merry Liu:

电源功率小时就没问题,功率大一点就又不行了,代码是参考的例程,

MiscAnalogRegs.IOMUX.bit.JTAG_DATA_MUX_SEL = 1;//配置TDO_Pin功能为SCI_TX-0; TDI_Pin功能为SCI_RX-0 Uart0Regs.UARTCTRL3.bit.SW_RESET = 0x0;

//-UART控制寄存器0配置UARTCTRL0 —波特率57600,数据位8位,检验位无,停止位1位 Uart0Regs.UARTCTRL0.bit.ADDR_MODE = 0; Uart0Regs.UARTCTRL0.bit.DATA_SIZE = 0x07; Uart0Regs.UARTCTRL0.bit.SYNC_MODE = 0x01; Uart0Regs.UARTCTRL0.bit.PARITY_ENA = 0x0; Uart0Regs.UARTCTRL0.bit.PARITY = 0x00; Uart0Regs.UARTCTRL0.bit.STOP = 0x0;

Uart0Regs.UARTHBAUD.bit.BAUD_DIV_H = 0x0; Uart0Regs.UARTMBAUD.bit.BAUD_DIV_M = 0x0; Uart0Regs.UARTLBAUD.bit.BAUD_DIV_L = 0x21;

Uart0Regs.UARTRXST.bit.RX_ENA = 0x01; Uart0Regs.UARTTXST.bit.TX_ENA = 0x01;

//-UART中断状态寄存器UARTINTST(只读) Uart0Regs.UARTINTST.all = 0xff; Uart0Regs.UARTINTST.all = 0;

rx_byte0 = Uart0Regs.UARTRXBUF.all; //清除RXRDY标识 Uart0Regs.UARTIOCTRLTX.bit.IO_FUNC = 0x01; Uart0Regs.UARTIOCTRLRX.bit.IO_FUNC = 0x01;

Uart0Regs.UARTCTRL3.bit.CLOCK = 0x01; Uart0Regs.UARTCTRL3.bit.SW_RESET = 0x01; Uart0Regs.UARTIOCTRLSCLK.bit.IO_FUNC = 0x0; Uart0Regs.UARTTXBUF.all = '\n'; //put out a byte to get things started.

赞(0)
未经允许不得转载:TI中文支持网 » UCD3138: 485通讯出现异常
分享到: 更多 (0)