imx6ull ecspi作salve端,数据传输异常

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6ull ecspi作salve端,数据传输异常

Jump to solution
1,164 Views
fhwy
Contributor III

选择imx6ull ecspi1作为slave端,主端spi的传输位宽为8。linux版本为5.4.47

当bits_per_word=32时,主端接收数据正常;但是当bits_per_word=8时,主端接收数据异常;

从端发送

01 02 03 04 05 06 07 08 09

主端接收

01 00 00 00 05 00 00 00

跟踪到控制器代码,写入寄存器都是正确的。

0 Kudos
Reply
1 Solution
1,055 Views
fhwy
Contributor III
我这边测试验证效果imx作为slave,rx接收端接收4字节,解析没有问题。问题是出在tx端,控制器写入tx_data的数据是正常的,但是从tx寄存器往外出数据时,默认只能4字节出,不受BURST_LENGTH控制。请问下这个有什么排查方向吗

View solution in original post

0 Kudos
Reply
5 Replies
1,095 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi @fhwy 

Please refer the below document. ERR009535 eCSPI: Burst completion by SS signal in slave mode is not functional

https://www.nxp.com/docs/en/errata/IMX6ULLCE.pdf

B.R

0 Kudos
Reply
1,091 Views
fhwy
Contributor III
您的意思是在slave模式下,BURST_LENGTH就是无法设置的吗,设置了也不能生效;目前测试看,默认就是4字节,也就是我这边只能让主端改成4字节接收!
0 Kudos
Reply
1,056 Views
fhwy
Contributor III
我这边测试验证效果imx作为slave,rx接收端接收4字节,解析没有问题。问题是出在tx端,控制器写入tx_data的数据是正常的,但是从tx寄存器往外出数据时,默认只能4字节出,不受BURST_LENGTH控制。请问下这个有什么排查方向吗
0 Kudos
Reply
1,027 Views
fhwy
Contributor III
这边已经修改OK了,将ss_ctl设置成0,然后BURST_LENGTH就可以生效了。谢谢支持
0 Kudos
Reply
1,131 Views
fhwy
Contributor III

目前跟踪到控制器代码,发现是我将Bits_per_word设置成8后,但是从寄存器往外出数据还是按照4字节在走,出数据时设置不生效;这个是芯片不支持,还是其他限制

从发出数据:

len:10 tx:0x6c 0x11 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0x55

主接收数据:

00> <info> app: Received:
00>
00> <info> app: 6C 00 00 00 00 00 00 00|l.......
00>
00> <info> app: 33 00 00 00 44 00 00 00|3...D...
00>
00> <info> app: 55 00 00 00 66 00 00 00|U...f...
00>
00> <info> app: 77 00 00 00 88 00 00 00|w.......
00>
00> <info> app: 99 00 00 00 55 00 00 00|....U...

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2204301%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Eimx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2204301%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%80%89%E6%8B%A9imx6ull%20ecspi1%E4%BD%9C%E4%B8%BAslave%E7%AB%AF%EF%BC%8C%E4%B8%BB%E7%AB%AFspi%E7%9A%84%E4%BC%A0%E8%BE%93%E4%BD%8D%E5%AE%BD%E4%B8%BA8%E3%80%82linux%E7%89%88%E6%9C%AC%E4%B8%BA5.4.47%3C%2FP%3E%3CP%3E%E5%BD%93bits_per_word%3D32%E6%97%B6%EF%BC%8C%E4%B8%BB%E7%AB%AF%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E6%AD%A3%E5%B8%B8%EF%BC%9B%E4%BD%86%E6%98%AF%E5%BD%93bits_per_word%3D8%E6%97%B6%EF%BC%8C%E4%B8%BB%E7%AB%AF%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E5%BC%82%E5%B8%B8%EF%BC%9B%3C%2FP%3E%3CP%3E%E4%BB%8E%E7%AB%AF%E5%8F%91%E9%80%81%3C%2FP%3E%3CP%3E01%2002%2003%2004%2005%2006%2007%2008%2009%3C%2FP%3E%3CP%3E%E4%B8%BB%E7%AB%AF%E6%8E%A5%E6%94%B6%3C%2FP%3E%3CP%3E01%2000%2000%2000%2005%2000%2000%2000%3C%2FP%3E%3CP%3E%E8%B7%9F%E8%B8%AA%E5%88%B0%E6%8E%A7%E5%88%B6%E5%99%A8%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%86%99%E5%85%A5%E5%AF%84%E5%AD%98%E5%99%A8%E9%83%BD%E6%98%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2206790%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2206790%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3EThis%20side%20has%20been%20modified%20OK%2C%20set%20ss_ctl%20to%200%20and%20then%20BURST_LENGTH%20will%20take%20effect.%20Thank%20you%20for%20your%20support!%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2206320%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2206320%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3EI%20tested%20and%20verified%20the%20effect%20on%20my%20side%20imx%20as%20slave%2C%20rx%20receiving%20side%20receives%204%20bytes%20and%20parsing%20is%20not%20a%20problem.%20The%20problem%20is%20on%20the%20tx%20side%2C%20the%20controller%20writes%20data%20to%20tx_data%20normally%2C%20but%20when%20writing%20data%20out%20of%20the%20tx%20register%2C%20by%20default%20it%20can%20only%20be%204%20bytes%20out%2C%20which%20is%20not%20controlled%20by%20BURST_LENGTH.%20Is%20there%20any%20direction%20to%20troubleshoot%20this%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205976%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205976%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3EWhat%20you%20mean%20is%20that%20in%20slave%20mode%2C%20BURST_LENGTH%20just%20can't%20be%20set%2C%20and%20it%20can't%20take%20effect%20even%20if%20it's%20set%3B%20the%20current%20test%20shows%20that%20it's%204%20bytes%20by%20default%2C%20which%20means%20that%20I%20can%20only%20let%20the%20master%20change%20to%204%20bytes%20to%20receive%20it!%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205939%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20imx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205939%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256842%22%20target%3D%22_blank%22%3E%40fhwy%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EPlease%20refer%20the%20below%20document.%26nbsp%3B%3CSTRONG%3EERR009535%3C%2FSTRONG%3E%20%3CSTRONG%3EeCSPI%3A%20Burst%20completion%20by%20SS%20signal%20in%20slave%20mode%20is%20not%20functional%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Ferrata%2FIMX6ULLCE.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Ferrata%2FIMX6ULLCE.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EB.R%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2204836%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%20imx6ull%20ecspi%E4%BD%9Csalve%E7%AB%AF%EF%BC%8C%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%BC%82%E5%B8%B8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2204836%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3ECurrently%20traced%20to%20the%20controller%20code%2C%20found%20that%20I%20set%20the%20Bits_per_word%20to%208%2C%20but%20from%20the%20register%20to%20the%20outgoing%20data%20is%20still%20in%20accordance%20with%20the%204%20bytes%20in%20the%20walk%2C%20out%20of%20the%20data%20when%20the%20setting%20does%20not%20take%20effect%3B%20this%20is%20the%20chip%20does%20not%20support%2C%20or%20other%20limitations%3C%2FP%3E%3CP%3EFrom%20sending%20out%20data%3A%3C%2FP%3E%3CP%3Elen%3A10%20tx%3A0x6c%200x11%200x33%200x44%200x55%200x66%200x77%200x88%200x99%200x55%3C%2FP%3E%3CP%3EMaster%20receive%20data%3A%3C%2FP%3E%3CP%3E00%20%26gt%3B%20%3CINFO%3E%20app%3A%20Received%3A%20%3CBR%20%2F%3E00%20%26gt%3B%3CBR%20%2F%3E%2000%20%26gt%3B%20%3CINFO%3E%20app%3A%206C%2000%2000%2000%2000%2000%2000%2000%2000%2000%7Cl......%20.%20%3CBR%20%2F%3E00%20%26gt%3B%3CBR%20%2F%3E%2000%20%26gt%3B%20%3CINFO%3E%20app%3A%2033%2000%2000%2000%2000%2044%2000%2000%2000%2000%7C3....%20.D..%20.%20%3CBR%20%2F%3E00%20%26gt%3B%3CBR%20%2F%3E%2000%20%26gt%3B%20%3CINFO%3E%20app%3A%2055%2000%2000%2000%2066%2000%2000%2000%2000%7CU....%20.f..%20.%20%3CBR%20%2F%3E00%20%26gt%3B%3CBR%20%2F%3E%2000%20%26gt%3B%20%3CINFO%3E%20app%3A%2077%2000%2000%2000%2088%2000%2000%2000%7Cw......%20.%20%3CBR%20%2F%3E00%20%26gt%3B%3CBR%20%2F%3E%2000%20%26gt%3B%20%3CINFO%3E%20app%3A%2099%2000%2000%2000%2055%2000%2000%2000%7C...%20.u...%3C%2FINFO%3E%3C%2FINFO%3E%3C%2FINFO%3E%3C%2FINFO%3E%3C%2FINFO%3E%3C%2FINFO%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E