kendryte / k230_sdk

Kendryte K230 SDK
BSD 2-Clause "Simplified" License
165 stars 35 forks source link

[Bug]: CanMV v1.1 board doesn't seem to handle HDMI and/or primary camera properly #60

Open kelas opened 6 months ago

kelas commented 6 months ago

What happened

A vanilla canmv image built from sdk 1.4 works fine on 1.0 revision of the board (aka green pcb), but on 1.1 (brown pcb) i get a blank HDMI output (pink screen with occasional artifacts)

what am i doing wrong?

Reproduction steps

see above

Hardware board

canmv230 1.1 board (brown pcb)

Software version

1.4 (latest)

Bug frequency

No response

Anything else

I also noticed that there are now two CavMV board configs in menuconfig (one marked zero, second without suffixes) but they don't seem to make any difference in the codebase, i.e. the setting is presumably NOP in 1.4

kelas commented 6 months ago

i can confirm exact same result with the official image from https://kendryte-download.canaan-creative.com/developer/k230/k230_canmv_sdcard_v1.4_nncase_v2.8.0.img.gz

canmv 1.0 boots fine from the same image.

is my 1.1 board faulty?

kelas commented 6 months ago

fyi:

nothing seems to help. what else can i try before i send the item back?

zhaohu5188 commented 6 months ago

How did you get the v1.1 board ? Please send a frontal photo of the board,I need to make sure the version of the board is correct。 If Canmv 1.0 boots fine, then 1.1 boots fine too.

kelas commented 6 months ago

image

Here are both boards I have, hope this helps.

I can't affirm that 1.1 boots to default app at all - pink screen with horizontal jitter. I suspect either software HDMI issue or hardware fail. Should I return the item? The differences vs 1.0 seem to be minor, but nice to have - microphone is handy, love the pcb color too :) would be great to get it working, though.

Any ideas?

zhaohu5188 commented 5 months ago

Please contact the sales staff, it seems that there may be a hardware problem

jwinarske commented 4 months ago

Data point: I just tested https://kendryte-download.canaan-creative.com/developer/k230/k230_canmv_sdcard_v1.4_nncase_v2.8.0.img.gz on my V1.1 board. It boots and display camera full screen.

kelas commented 4 months ago

have traced the 1.1 PCB against 1.0 and found two pretty brutal IC layout blunders, and was able to fix both.

In the meantime, the vendor was kind enough to offer me another board at symbolic cost.

Thank you all.

By the way, while comparing the boards I couldn’t find anything that would justify revision increment to me, except a nicer PCB color and much poorer reflow job. Does anyone know what the difference actually is?

Also, do I get it right that canmv230 is the ONLY commercially available k230 board atm? If you know something I don’t, please point me in the right direction. Not that canmv is a bad board, but I need my 4-lane CSI and a few other things which are not exposed.

On that note, I still have my KD233 eval board for k210, and I absolutely love it. Now, that was an eval board alright. Good old days.

kelas commented 4 months ago

blunders

Just in case:

  1. a critical LDO was just not there
  2. in another instance, someone accidentally swapped orientation of two tiny ICs.

(happens to the best of us, as they say)

The problem ended up being not with HDMI bridge as I originally thought, but with CSI0 aka bundled frontal pinhole camera.

kelas commented 4 months ago

@zhaohu5188 since it ended up being a production line defect, which was fixable (and i also got a generous discount for another board) i guess the issue can be closed.

only I don't want to open another one with regard to my last question where to get a REAL eval board for k230 (CanMV is very cute, but is definitely not that kind of board.)

Any pointers? I can't be the only guy who's wondering about those other compilation targets which don't seem to be for sale for any kind of money anywhere.

So, are they for sale somewhere, if you're at liberty to tell?

huangzhenming commented 4 months ago

@kelas The original purpose of the CanMV K230 design was to be compatible with Raspberry Pi sensor modules. As a result, the K230 board features three single connectors, each equipped with a 2-lane MIPI interface. However, if you intend to connect the K230 board to a 4-lane sensor module, you will need to create your own adapter board that combines CSI0 and CSI1 into a single 4-lane interface.

Please refer to the attached reference picture. Unfortunately, in Version 1.1, CSI0 and CSI1 had different types of interfaces, resulting in some limitations with the combination board. However, we have addressed this issue in Version 2.0, which is scheduled for release in May. image image

kelas commented 4 months ago

Thanks for the heads up, May is right around the corner, v2.0 layout looks terrific.

(Too bad I can’t make much use of two v1.1’s I have)

Regarding the amalgamated 4-lane CSI gizmo for 1.0 board - is it available commercially, or is there a schematic I can use to conjure my own? I sort of like my 1.0.

Thanks, k.

k.

Sent from my Imperial Star Destroyer

On Thu, 25 Apr 2024 at 14:50, huangzhenming @.***> wrote:

@kelas https://github.com/kelas The original purpose of the CanMV K230 design was to be compatible with Raspberry Pi sensor modules. As a result, the K230 board features three single connectors, each equipped with a 2-lane MIPI interface. However, if you intend to connect the K230 board to a 4-lane sensor module, you will need to create your own adapter board that combines CSI0 and CSI1 into a single 4-lane interface.

Please refer to the attached reference picture. Unfortunately, in Version 1.1, CSI0 and CSI1 had different types of interfaces, resulting in some limitations with the combination board. However, we have addressed this issue in Version 2.0, which is scheduled for release in May. image.png (view on web) https://github.com/kendryte/k230_sdk/assets/20530915/18c64d7c-c51a-4540-8560-b33269cbe200 image.png (view on web) https://github.com/kendryte/k230_sdk/assets/20530915/b07d4abb-edad-4cb9-a9a4-3065d56d07d5

— Reply to this email directly, view it on GitHub https://github.com/kendryte/k230_sdk/issues/60#issuecomment-2077105481, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALVXXXZ7UYYTBIN7CA6DX3Y7D3YNAVCNFSM6AAAAABEPNGLD2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZXGEYDKNBYGE . You are receiving this because you were mentioned.Message ID: @.***>

kelas commented 3 months ago

@kelas The original purpose of the CanMV K230 design was to be compatible with Raspberry Pi sensor modules. As a result, the K230 board features three single connectors, each equipped with a 2-lane MIPI interface. However, if you intend to connect the K230 board to a 4-lane sensor module, you will need to create your own adapter board that combines CSI0 and CSI1 into a single 4-lane interface.

Please refer to the attached reference picture. Unfortunately, in Version 1.1, CSI0 and CSI1 had different types of interfaces, resulting in some limitations with the combination board. However, we have addressed this issue in Version 2.0, which is scheduled for release in May.

image

image

Hello,

Just wanted to ask how 2.0 is doing. Are you guys on track with the release? Any pointers where to look for it when it hits the shelves?

Thanks k.