How to toggle a pin on an SCB UART component?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ToVa_285016
Level 5
Level 5
100 replies posted 50 replies posted 50 questions asked

Hi,

I am trying to make a break signal by toggling the TX pin off for 100us and then on for 10us.  What is the best way to do this?  I tried this:

            // Send break

            UART_DMX_TX_tx_Write(0);

            CyDelayUs(100);

            // Make after break

            UART_DMX_TX_tx_Write(1);

            CyDelayUs(10);

It does not work, the pin remains high the whole time.

Please let me know if you have any insight into this.

Thank you,
Tom

0 Likes
1 Solution

Hi ,

Which device are you using ,Can you use UDB UART where break bit period for Tx can be set .

For SCB UART , it is not straight forward .To configure the pin signal source, the HSIOM_PORT_SELx register needs to be updated from SCB to TCPWM(if the pin supports it) or a GPIO before transmitting a break bits and then you can pull the line low by GPIO write or PWM signal for the required time and swithc back to SCB UART by writing to HSIOM register.

Please find more details in the device register manual about the HSIOM register.

View solution in original post

0 Likes
4 Replies
RyanZhao
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hi Tom, Could you try using Timer interrupt to make it? But I'm wondering about the reason why do you need this feature?

0 Likes

Hi,

I need to toggle the pin value to send a break signal to the receiving part.  The break signal and make-after-break are a 100us low signal followed by a 10us high signal.  This tells the receiving unit that a new set of data is coming.

Regards,
Tom

0 Likes

Hi ,

Which device are you using ,Can you use UDB UART where break bit period for Tx can be set .

For SCB UART , it is not straight forward .To configure the pin signal source, the HSIOM_PORT_SELx register needs to be updated from SCB to TCPWM(if the pin supports it) or a GPIO before transmitting a break bits and then you can pull the line low by GPIO write or PWM signal for the required time and swithc back to SCB UART by writing to HSIOM register.

Please find more details in the device register manual about the HSIOM register.

0 Likes

Hi,

Thank you for the response.  I cannot use UDB as the chip is a 4000S series.  I hear there is a 4000DS coming out, and will have to wait for that for the UDB use.  I have not seen this chip available yet, however.

Could I also physically route the output TX into another port, and run it through a Smart IO or MUX or something like that to change the signal to an output pin that goes to the actual UART output?

Regards,
Tom

0 Likes