SGPIO Target in PSoC 4

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable
        Hi, Many customers came to us asking if it is feasible to have an SGPIO target component in PSoC 4. The answer is "yes". SGPIO target component can fit into 4 UDBs and hence PSoC 4 (42 series) can support this component. This component is not directly available in PSoC Creator. Hence you need to import the component in your project. Here is a project which shows an example of importing and using SGPIO target component in PSoC 4. In this project, I am just sending back the data whichever the target receives. I hope it will be useful to you. Regards, Asha   
22 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Maybe you should mention that this component is about connecting SATA devices to the PSoC... (not everybody knows what SGPIO means)

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

The standard appears to be more than just SATA solutions -

   

 

   

http://en.wikipedia.org/wiki/SGPIO

   

 

   

Regards, Dana.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Here is the standard -

   

 

   

ftp://ftp.seagate.com/sff/SFF-8485.PDF

   

 

   

Hli, seems like 2.5" drives in general was motive for standard, and

   

of course SATA drives took over the 2.5" market. SAS was also

   

a motive for strandard.

   

 

   

http://www.webopedia.com/DidYouKnow/Computer_Science/2007/sas_sata.asp

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Is there a SEP module Supporting some of the SES commands available for the PSOC?

0 Likes
Anonymous
Not applicable

 Can you please provide more details of SEP Module and SCS commands? Also, please explain your requirement in detail.

0 Likes
Anonymous
Not applicable

Hi  asha;

this SGPIO code can not support 24 clocks of one data cycle, How to modify this component, let it support 24 clk。

thank you very much

0 Likes
lock attach
Attachments are accessible only for community members.

Hi,

You can refer to the attached SGPIO component. This new version can support up 24 bits per frame.

To import the component to PSoC Creator, please refer to this video:

http://www.cypress.com/resource-types/video/psoc-creator-tutorial-importing-components

0 Likes
Anonymous
Not applicable

Hi rlos;

Does this component can support 12 clk and 24 clk at the same time? thank you

0 Likes
Anonymous
Not applicable

Hi rlos;

I can not create 2 instances with this component in a project, but I can create 2 instances with SGPIO_Target_PSoC4.zip.

my psoc device is CY8C4246AZI-M445

0 Likes
Anonymous
Not applicable

Hi rlos;

I do not need Vendor Specific info. just want to get the sdataout data. the data is 12 clks or 24 clks.

0 Likes

Hi,

This component can support 12 clks or/and 24 clks. If you need to dynamically change the number of clks supported, use the SetSGPIOFrameSize() function.

In order to support 24 clks, the component requires 3 UDBs. That means you can only place one instance in the PSoC 4M part.

You could remove the Vendor Specific info to save a few resources, but it will still require 3 UDBs.

0 Likes
Anonymous
Not applicable

tx and rx FIFO buffer is not need 4x datas, or do not need tx FIFO,this can reduce one udb?

Useing SetSGPIOFrameSize to set the clk is not practical, because PSOC do not know in advance the data length.

So I think the Frame need to be set 24 clk, if the practical data is 12 clk, and the ReadRxData return 12 valid clk data, and 12 invalid data(0).

0 Likes
Anonymous
Not applicable

So this SGPIO component need a function GetSGPIOFrameSize to get current data length.

0 Likes

Hi,

Removing the TX FIFO support will not decrease the number of UDBs. It only reduces the number of PLD logic, but we still need at least 3 datapath to support 24 clks, which consumes 3 UDBs.

You could use a timer or a counter externally to the component to count the number of clocks between two consecutive rising edge of SLOAD. Once you find out that, you can call SetSGPIOFrameSize() and enable the SGPIO component.

0 Likes
David_Zhang
Level 5
Level 5
Distributor - Arrow(GC)
First like received 50 sign-ins 25 sign-ins

hi  Infineon:

    if  we need 3-4  channel SGPIO, what should we do? we check that 1 SGPIO need 4 UDB to support, is

 that right?

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Do you need all the 3-4 channels work at the same time? If not, there are ways we can do some muxing, so you can keep the number of UDBs low.

Please reach out your sales representative with more information about your project. We can help to pick a solution for your product.

0 Likes
David_Zhang
Level 5
Level 5
Distributor - Arrow(GC)
First like received 50 sign-ins 25 sign-ins

hi  Infineon:

     as we checked it again, independent  SGPIO need too much resouce,muxing SGPIO can need the request, can  you help advice the speed between SGPIO? if it‘s possible, please help provide the demo code. TKS;

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

The SGPIO runs at 100 KHz. But since it transmits the data over and over, you don't actually need to read all the time. That's why muxing might work here.

About resourcing, there are ways to use the SPI + Smart I/O to implement a SGPIO target. We have an example for PSoC 6:

https://github.com/Infineon/mtb-example-psoc6-smartio-sgpio-target

This should also work with PSoC 4.

If you contact your sales representative about your project, such as application target, production date and volume, you might able to get some resources to get this implemented for you.

0 Likes
David_Zhang
Level 5
Level 5
Distributor - Arrow(GC)
First like received 50 sign-ins 25 sign-ins

hi Infineon:

    3 muxing SGPIO, 1ch UART,3-4ch I2C, we can choose PSCO4 or PSOC6 part,  can you  help to advice it?

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Your application doesn't require too many I/Os, so a PSoC 6 might be too big.

Based on the information you provided, I think you can go with PSoC 4200L. It has 8 UDBs (for SGPIO + Muxing) and 3-4 SCBs (for UART and I2C).

If you want a demo, again, talk to your sales representative.

0 Likes
David_Zhang
Level 5
Level 5
Distributor - Arrow(GC)
First like received 50 sign-ins 25 sign-ins

Hi  Infineon:

       tks for advice, PSOC4200L is the best chooise,  can you help to provide the code example base on CY8CKIT-046 ?tks;

 

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Which company do you work for? What application is this for? How many units do you need? Is there an Infineon or distributor representative where you work? If yes, talk to them and provide all this info. They can help you to create a code example to kick off your project.

0 Likes