F2MC-16FX can we connect 2 uarts to the programmer?

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

cross mob
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear folks,

 

I have received an interesting question from my customer.

The customer is using  the FLASH MCU Programmer to program 16FX MCUs,

such as CY96F635RBPMC and CY96F685RBPMC.

 

CY96F635RBPMC や CY96F685RBPMC 等の 16FX を FLASH MCU Programmer で

プログラムしているお客様から不思議な質問をいただきました。

 

In the document of CYPRESS FLASH MCU Programmer for F2MC-16FX specification Ver1.20

Page 8, in Note it is written that "use one of the listed UART channels listed for the MCU"

 

CYPRESS FLASH MCU Programmer for F2MC-16FX 仕様書

2016年1月6日 仕様書:Ver. 1.20

の 8ページ目にある注意には

(注意) 対応品種の右に示された UART ch のうちのどれか一つを選択してご使用ください。

と記載されています。

 

But somehow the customer wants to connect 2 UART channels to the programmer,

and asks us if such usage is acceptable or what is expected problem for programming MCU

with such configuration.

 

しかし、なぜか、お客様は 2つの UART チャネルを並列に接続したいが、

この場合、デバイスのプログラム時に何か影響が発生するのか知りたい

とのことです。

 

For example if both UART0 and UART2 are connected to the FLASH programmer,

would someone teach us the followings?

(1) Is this an acceptable set up?

(2) Is/are there expected bad effect doing (1) to program the MCU?

 

例えば UART0 と UART2  の両方を FLASH Programmer に接続することについて

以下、ご教示いただけないでしょうか?

(1) このような設定は許容されるのでしょうか?

(2) (1) の設定を行った場合、デバイスへのプログラム時に何か影響(問題) が発生することが

 予想されるでしょうか?

 

Best Regards,

2-Sep-2022

Motoo Tanaka

 

 

0 Likes
1 Solution

The followings is what we have been expected, would you teach us if this is correct?

- In the Flash Writing (Bootloader) mode, all SOTx pins of USART are Hi-Z until Bootloader select and enable the particular SOTx pin.

- When MCU receives "Connection" command from the Flash Programmer, only the selected SOTx is enabled as an output.

Yes, this would be correct.

And, please connect only one UART for programming, as FLASH MCU Programmer for F2 MC-16FX Specifications mentions the following.

TakashiM_61_0-1663296388671.png

 

View solution in original post

8 Replies
zzz_3221081
Level 5
Level 5
25 solutions authored 100 sign-ins 10 likes received

First, I can't read your quotes, assuming they are Japanese. Unfortunately not a language I ever learned.

But I suppose attaching more than one UART to the target does not cause a problem.

However, I don't understand the background of this question. The Flash programmer application has a GUI item "Set Environment" that lets you choose one UART interface, and exactly one.

And second, I believe the ROM based system bootloader will stop to scan interfaces once the first attached interface is found. I suppose trying to connect with a second one will then fail.

I am just a user of the 16LX/16FX devices, and deal with them occasionally. I hope the Infineon/.../Fujitsu staff can give you a definitive answer.

 

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear zzz_3221081-san,

Thank you very much for your feedback.

Yes, the quotes are Japanese and I translated the previous English block,

so that Japanese member can read the story.

> However, I don't understand the background of this question.

To be honest, nor do I.

But I assumed that the customer would like to

connect both tx pins of UART0 and UART2 to the same (probably) rx pin of the programmer,

and both rx pins of UART0 and UART2 to the same tx pin of the programmer.

Reading your description, I suppose that if 1 UART is assigned to the programmer 

probably the device programming will work OK.

But I'm afraid that as 2 TX pins of the device will connected, in case tx of UART0 and tx of UART1 drive different level (High and Low) it could damage the port of the device.

So as you mention, I'd like to get suggestion/opinion from the Cypress/Fujitsu Engineer who knows the internal of this device.

Anyway, thank you very much for your information!

Best Regards,

2-Sep-2022

Motoo Tanaka

0 Likes

> But I'm afraid that as 2 TX pins of the device will connected, in case tx of UART0 and tx of UART1 drive different level (High and Low) it could damage the port of the device.

Hello, 

as said, I think the ROM bootloader code will stop after detecting the first UART with an ongoing connection. And further, the UART TX pin might not be enabled before detection. But those are assumptions ...

> Yes, the quotes are Japanese and I translated the previous English block, so that Japanese member can read the story.

Just as a side note ...

As fas as I know, Fujitsu was a Fuji - Siemens joint venture, and some of those MCUs were designed in Germany. Before the acquisition by Infineon, my company still had indirect contacts to the former Fujitsu designers. But that is a matter of the past.

We (which means - me) still maintain some legacy devices with Fujitsu controllers, mainly 16LX, 16FX and FR60 devices.

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear zzz_3221081-san,

 

By any chance do you know if the UART TX pin is in HI-Z before enabled?

Or I wonder what is the pins' state when the device is in the ROM Bootloader mode.

 

Best Regards,

12-Sep-2022

Motoo Tanaka

0 Likes

Unfortunately I have no insight into the ROM code, which would be helpful in many cases ...

But the default state of GPIOs is input mode (DDR = 0). In difference to the 16LX family, the 16FX has an additional "input enable" register, which defaults to zero. This means, inputs are not enabled by default, suggesting a Hi-Z state.

But as stated, I don't know any details about how the ROM code is dealing with the serial interfaces. You might inquire at Infineon directly, or via an official distributor.

I hope this knowledge is not gone. My company has still some unanswered questions about intricate FR60 details ...

 

Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

Motoo-san,

> But I'm afraid that as 2 TX pins of the device will connected, in case tx of UART0 and tx of UART1 drive different level (High and Low) it could damage the port of the device.

This would be correct.

 

And, 

> By any chance do you know if the UART TX pin is in HI-Z before enabled?

SOTx pins are set to output state in Boot programming mode.

 

regards

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear TakashiM_61-san,

 

Thank you very much for your answers!

>> But I'm afraid that as 2 TX pins of the device will connected, in case tx of UART0 and tx of UART1 drive different level (High and Low) it could damage the port of the device.>

> This would be correct.

So, I'm confident that this configuration is something we'd like to suggest.

 

>> B'y any chance do you know if the UART TX pin is in HI-Z before enabled?

> SOTx pins are set to output state in Boot programming mode.

In the AN204773,

https://www.infineon.com/dgdl/Infineon-AN204773_F_MC-16FX_MCU_Flash_Programming_and_Boot_ROM_Protoco...

there is a note 

If the connection was successful, the MCU set its USART-SOT pin from Hi-Z to "1" and sends a response byte.

001-note_from_BootRomProtocol.JPG

So, we wondered if these SOT pins are Hi-Z before the Bootloader takes control over it.

 

The followings is what we have been expected, would you teach us if this is correct?

- In the Flash Writing (Bootloader) mode, all SOTx pins of USART are Hi-Z until Bootloader select and enable the particular SOTx pin.

- When MCU receives "Connection" command from the Flash Programmer, only the selected SOTx is enabled as an output.

 

Best Regards,

15-Sep-2022

Motoo Tanaka

0 Likes

The followings is what we have been expected, would you teach us if this is correct?

- In the Flash Writing (Bootloader) mode, all SOTx pins of USART are Hi-Z until Bootloader select and enable the particular SOTx pin.

- When MCU receives "Connection" command from the Flash Programmer, only the selected SOTx is enabled as an output.

Yes, this would be correct.

And, please connect only one UART for programming, as FLASH MCU Programmer for F2 MC-16FX Specifications mentions the following.

TakashiM_61_0-1663296388671.png